@edifice.io/react 2.0.0-develop-rc.7 → 2.0.0-develop-rc.10

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 (614) hide show
  1. package/dist/audience.js +15 -14
  2. package/dist/audience.js.map +1 -0
  3. package/dist/components/ActionBar/ActionBar.js +8 -7
  4. package/dist/components/ActionBar/ActionBar.js.map +1 -0
  5. package/dist/components/Alert/Alert.js +60 -59
  6. package/dist/components/Alert/Alert.js.map +1 -0
  7. package/dist/components/AppHeader/AppHeader.js +19 -18
  8. package/dist/components/AppHeader/AppHeader.js.map +1 -0
  9. package/dist/components/AppIcon/AppIcon.d.ts +1 -1
  10. package/dist/components/AppIcon/AppIcon.js +45 -44
  11. package/dist/components/AppIcon/AppIcon.js.map +1 -0
  12. package/dist/components/Attachment/Attachment.js +14 -13
  13. package/dist/components/Attachment/Attachment.js.map +1 -0
  14. package/dist/components/Avatar/Avatar.js +28 -27
  15. package/dist/components/Avatar/Avatar.js.map +1 -0
  16. package/dist/components/Badge/Badge.js +21 -20
  17. package/dist/components/Badge/Badge.js.map +1 -0
  18. package/dist/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  19. package/dist/components/Breadcrumb/Breadcrumb.js +24 -23
  20. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -0
  21. package/dist/components/Breadcrumb/BreadcrumbItem.js +12 -11
  22. package/dist/components/Breadcrumb/BreadcrumbItem.js.map +1 -0
  23. package/dist/components/Breadcrumb/BreadcrumbList.js +11 -10
  24. package/dist/components/Breadcrumb/BreadcrumbList.js.map +1 -0
  25. package/dist/components/Breadcrumb/BreadcrumbNav.d.ts +1 -1
  26. package/dist/components/Breadcrumb/BreadcrumbNav.js +16 -15
  27. package/dist/components/Breadcrumb/BreadcrumbNav.js.map +1 -0
  28. package/dist/components/Button/Button.js +33 -32
  29. package/dist/components/Button/Button.js.map +1 -0
  30. package/dist/components/Button/IconButton.js +16 -15
  31. package/dist/components/Button/IconButton.js.map +1 -0
  32. package/dist/components/Button/SearchButton.js +16 -15
  33. package/dist/components/Button/SearchButton.js.map +1 -0
  34. package/dist/components/Card/Card.d.ts +1 -1
  35. package/dist/components/Card/Card.js +48 -47
  36. package/dist/components/Card/Card.js.map +1 -0
  37. package/dist/components/Card/CardBody.js +14 -13
  38. package/dist/components/Card/CardBody.js.map +1 -0
  39. package/dist/components/Card/CardContext.d.ts +1 -1
  40. package/dist/components/Card/CardContext.js +8 -7
  41. package/dist/components/Card/CardContext.js.map +1 -0
  42. package/dist/components/Card/CardFooter.js +6 -5
  43. package/dist/components/Card/CardFooter.js.map +1 -0
  44. package/dist/components/Card/CardHeader.js +15 -14
  45. package/dist/components/Card/CardHeader.js.map +1 -0
  46. package/dist/components/Card/CardImage.js +14 -13
  47. package/dist/components/Card/CardImage.js.map +1 -0
  48. package/dist/components/Card/CardText.js +9 -8
  49. package/dist/components/Card/CardText.js.map +1 -0
  50. package/dist/components/Card/CardTitle.js +9 -8
  51. package/dist/components/Card/CardTitle.js.map +1 -0
  52. package/dist/components/Card/CardUser.js +9 -8
  53. package/dist/components/Card/CardUser.js.map +1 -0
  54. package/dist/components/Checkbox/Checkbox.js +31 -30
  55. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  56. package/dist/components/ColorPicker/ColorPalette.js +5 -4
  57. package/dist/components/ColorPicker/ColorPalette.js.map +1 -0
  58. package/dist/components/ColorPicker/ColorPicker.js +29 -28
  59. package/dist/components/ColorPicker/ColorPicker.js.map +1 -0
  60. package/dist/components/ColorPicker/ColorPickerItem.js +12 -11
  61. package/dist/components/ColorPicker/ColorPickerItem.js.map +1 -0
  62. package/dist/components/Combobox/Combobox.js +36 -35
  63. package/dist/components/Combobox/Combobox.js.map +1 -0
  64. package/dist/components/Combobox/ComboboxTrigger.js +22 -21
  65. package/dist/components/Combobox/ComboboxTrigger.js.map +1 -0
  66. package/dist/components/Dropdown/Dropdown.js +56 -55
  67. package/dist/components/Dropdown/Dropdown.js.map +1 -0
  68. package/dist/components/Dropdown/DropdownCheckboxItem.js +27 -26
  69. package/dist/components/Dropdown/DropdownCheckboxItem.js.map +1 -0
  70. package/dist/components/Dropdown/DropdownContext.js +8 -7
  71. package/dist/components/Dropdown/DropdownContext.js.map +1 -0
  72. package/dist/components/Dropdown/DropdownItem.js +28 -27
  73. package/dist/components/Dropdown/DropdownItem.js.map +1 -0
  74. package/dist/components/Dropdown/DropdownMenu.js +22 -21
  75. package/dist/components/Dropdown/DropdownMenu.js.map +1 -0
  76. package/dist/components/Dropdown/DropdownMenuGroup.js +10 -9
  77. package/dist/components/Dropdown/DropdownMenuGroup.js.map +1 -0
  78. package/dist/components/Dropdown/DropdownRadioItem.js +27 -26
  79. package/dist/components/Dropdown/DropdownRadioItem.js.map +1 -0
  80. package/dist/components/Dropdown/DropdownSeparator.js +4 -3
  81. package/dist/components/Dropdown/DropdownSeparator.js.map +1 -0
  82. package/dist/components/Dropdown/DropdownTrigger.js +29 -28
  83. package/dist/components/Dropdown/DropdownTrigger.js.map +1 -0
  84. package/dist/components/Dropzone/Dropzone.js +48 -47
  85. package/dist/components/Dropzone/Dropzone.js.map +1 -0
  86. package/dist/components/Dropzone/DropzoneContext.js +9 -8
  87. package/dist/components/Dropzone/DropzoneContext.js.map +1 -0
  88. package/dist/components/Dropzone/DropzoneDrag.js +8 -7
  89. package/dist/components/Dropzone/DropzoneDrag.js.map +1 -0
  90. package/dist/components/Dropzone/DropzoneFile.js +26 -25
  91. package/dist/components/Dropzone/DropzoneFile.js.map +1 -0
  92. package/dist/components/Dropzone/DropzoneImport.js +21 -20
  93. package/dist/components/Dropzone/DropzoneImport.js.map +1 -0
  94. package/dist/components/EmptyScreen/EmptyScreen.js +17 -16
  95. package/dist/components/EmptyScreen/EmptyScreen.js.map +1 -0
  96. package/dist/components/FileCard/FileCard.d.ts +1 -1
  97. package/dist/components/FileCard/FileCard.js +38 -37
  98. package/dist/components/FileCard/FileCard.js.map +1 -0
  99. package/dist/components/FileCard/FileIcon.d.ts +1 -1
  100. package/dist/components/FileCard/FileIcon.js +12 -11
  101. package/dist/components/FileCard/FileIcon.js.map +1 -0
  102. package/dist/components/Form/FormContext.js +8 -7
  103. package/dist/components/Form/FormContext.js.map +1 -0
  104. package/dist/components/Form/FormControl.js +31 -30
  105. package/dist/components/Form/FormControl.js.map +1 -0
  106. package/dist/components/Form/FormText.js +13 -12
  107. package/dist/components/Form/FormText.js.map +1 -0
  108. package/dist/components/Grid/Grid.js +28 -27
  109. package/dist/components/Grid/Grid.js.map +1 -0
  110. package/dist/components/Heading/Heading.js +15 -14
  111. package/dist/components/Heading/Heading.js.map +1 -0
  112. package/dist/components/Icon/Icon.js +9 -8
  113. package/dist/components/Icon/Icon.js.map +1 -0
  114. package/dist/components/Image/Image.js +40 -39
  115. package/dist/components/Image/Image.js.map +1 -0
  116. package/dist/components/ImagePicker/ImagePicker.d.ts +1 -1
  117. package/dist/components/ImagePicker/ImagePicker.js +52 -51
  118. package/dist/components/ImagePicker/ImagePicker.js.map +1 -0
  119. package/dist/components/Input/Input.js +29 -28
  120. package/dist/components/Input/Input.js.map +1 -0
  121. package/dist/components/Label/Label.js +31 -30
  122. package/dist/components/Label/Label.js.map +1 -0
  123. package/dist/components/Loading/Loading.js +24 -23
  124. package/dist/components/Loading/Loading.js.map +1 -0
  125. package/dist/components/LoadingScreen/LoadingScreen.js +21 -20
  126. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -0
  127. package/dist/components/Logo/Logo.js +13 -12
  128. package/dist/components/Logo/Logo.js.map +1 -0
  129. package/dist/components/Menu/Menu.js +40 -39
  130. package/dist/components/Menu/Menu.js.map +1 -0
  131. package/dist/components/Menu/MenuButton.js +18 -17
  132. package/dist/components/Menu/MenuButton.js.map +1 -0
  133. package/dist/components/Menu/MenuContext.js +9 -8
  134. package/dist/components/Menu/MenuContext.js.map +1 -0
  135. package/dist/components/Menu/MenuItem.js +15 -14
  136. package/dist/components/Menu/MenuItem.js.map +1 -0
  137. package/dist/components/Modal/Modal.js +50 -49
  138. package/dist/components/Modal/Modal.js.map +1 -0
  139. package/dist/components/Modal/ModalBody.js +12 -11
  140. package/dist/components/Modal/ModalBody.js.map +1 -0
  141. package/dist/components/Modal/ModalContext.js +9 -8
  142. package/dist/components/Modal/ModalContext.js.map +1 -0
  143. package/dist/components/Modal/ModalFooter.js +4 -3
  144. package/dist/components/Modal/ModalFooter.js.map +1 -0
  145. package/dist/components/Modal/ModalHeader.js +23 -22
  146. package/dist/components/Modal/ModalHeader.js.map +1 -0
  147. package/dist/components/Modal/ModalSubtitle.js +4 -3
  148. package/dist/components/Modal/ModalSubtitle.js.map +1 -0
  149. package/dist/components/Popover/Popover.js +34 -33
  150. package/dist/components/Popover/Popover.js.map +1 -0
  151. package/dist/components/Radio/Radio.js +27 -26
  152. package/dist/components/Radio/Radio.js.map +1 -0
  153. package/dist/components/SearchBar/SearchBar.js +30 -29
  154. package/dist/components/SearchBar/SearchBar.js.map +1 -0
  155. package/dist/components/Select/Select.js +32 -31
  156. package/dist/components/Select/Select.js.map +1 -0
  157. package/dist/components/Select/SelectTrigger.js +5 -4
  158. package/dist/components/Select/SelectTrigger.js.map +1 -0
  159. package/dist/components/Table/TableExplorer.js +8 -7
  160. package/dist/components/Table/TableExplorer.js.map +1 -0
  161. package/dist/components/Tabs/Tabs.js +59 -58
  162. package/dist/components/Tabs/Tabs.js.map +1 -0
  163. package/dist/components/Tabs/TabsContext.js +9 -8
  164. package/dist/components/Tabs/TabsContext.js.map +1 -0
  165. package/dist/components/Tabs/TabsItem.js +21 -20
  166. package/dist/components/Tabs/TabsItem.js.map +1 -0
  167. package/dist/components/Tabs/TabsList.js +19 -18
  168. package/dist/components/Tabs/TabsList.js.map +1 -0
  169. package/dist/components/Tabs/TabsPanel.js +10 -9
  170. package/dist/components/Tabs/TabsPanel.js.map +1 -0
  171. package/dist/components/TextArea/TextArea.js +32 -31
  172. package/dist/components/TextArea/TextArea.js.map +1 -0
  173. package/dist/components/TextArea/TextareaCounter.js +7 -6
  174. package/dist/components/TextArea/TextareaCounter.js.map +1 -0
  175. package/dist/components/Toolbar/Toolbar.js +61 -60
  176. package/dist/components/Toolbar/Toolbar.js.map +1 -0
  177. package/dist/components/Tooltip/Tooltip.js +29 -28
  178. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  179. package/dist/components/TreeView/TreeItem.js +47 -46
  180. package/dist/components/TreeView/TreeItem.js.map +1 -0
  181. package/dist/components/TreeView/TreeView.js +34 -33
  182. package/dist/components/TreeView/TreeView.js.map +1 -0
  183. package/dist/components/TreeView/hooks/useTreeItemEvents.js +19 -18
  184. package/dist/components/TreeView/hooks/useTreeItemEvents.js.map +1 -0
  185. package/dist/components/UploadCard/UploadCard.js +53 -52
  186. package/dist/components/UploadCard/UploadCard.js.map +1 -0
  187. package/dist/components/VisuallyHidden/VisuallyHidden.js +8 -7
  188. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  189. package/dist/core/OdeClientProvider/OdeClientProvider.d.ts +1 -1
  190. package/dist/core/OdeClientProvider/OdeClientProvider.js +45 -44
  191. package/dist/core/OdeClientProvider/OdeClientProvider.js.map +1 -0
  192. package/dist/core/ThemeProvider/ThemeProvider.d.ts +1 -1
  193. package/dist/core/ThemeProvider/ThemeProvider.js +36 -35
  194. package/dist/core/ThemeProvider/ThemeProvider.js.map +1 -0
  195. package/dist/core/useAvatar/useAvatar.d.ts +1 -1
  196. package/dist/core/useAvatar/useAvatar.js +22 -21
  197. package/dist/core/useAvatar/useAvatar.js.map +1 -0
  198. package/dist/core/useBookmark/useBookmark.d.ts +1 -1
  199. package/dist/core/useBookmark/useBookmark.js +10 -9
  200. package/dist/core/useBookmark/useBookmark.js.map +1 -0
  201. package/dist/core/useConf/useConf.d.ts +1 -1
  202. package/dist/core/useConf/useConf.js +8 -7
  203. package/dist/core/useConf/useConf.js.map +1 -0
  204. package/dist/core/useConversation/useConversation.js +29 -28
  205. package/dist/core/useConversation/useConversation.js.map +1 -0
  206. package/dist/core/useCookiesConsent/useCookiesConsent.js +17 -16
  207. package/dist/core/useCookiesConsent/useCookiesConsent.js.map +1 -0
  208. package/dist/core/useDate/useDate.js +36 -35
  209. package/dist/core/useDate/useDate.js.map +1 -0
  210. package/dist/core/useHasWorkflow/useHasWorkflow.js +15 -14
  211. package/dist/core/useHasWorkflow/useHasWorkflow.js.map +1 -0
  212. package/dist/core/useHeader/useHeader.d.ts +1 -1
  213. package/dist/core/useHeader/useHeader.js +42 -41
  214. package/dist/core/useHeader/useHeader.js.map +1 -0
  215. package/dist/core/useHttpErrorToast/useHttpErrorToast.js +18 -17
  216. package/dist/core/useHttpErrorToast/useHttpErrorToast.js.map +1 -0
  217. package/dist/core/useIsAdml/useIsAdml.js +12 -11
  218. package/dist/core/useIsAdml/useIsAdml.js.map +1 -0
  219. package/dist/core/useLibraryUrl/useLibraryUrl.js +16 -15
  220. package/dist/core/useLibraryUrl/useLibraryUrl.js.map +1 -0
  221. package/dist/core/useMediaLibrary/useMediaLibrary.d.ts +1 -1
  222. package/dist/core/useMediaLibrary/useMediaLibrary.js +32 -31
  223. package/dist/core/useMediaLibrary/useMediaLibrary.js.map +1 -0
  224. package/dist/core/useOdeIcons/useOdeIcons.d.ts +1 -1
  225. package/dist/core/useOdeIcons/useOdeIcons.js +38 -37
  226. package/dist/core/useOdeIcons/useOdeIcons.js.map +1 -0
  227. package/dist/core/usePaths/usePaths.js +3 -2
  228. package/dist/core/usePaths/usePaths.js.map +1 -0
  229. package/dist/core/usePreferences/usePreferences.js +6 -5
  230. package/dist/core/usePreferences/usePreferences.js.map +1 -0
  231. package/dist/core/useResource/useResource.d.ts +1 -0
  232. package/dist/core/useResource/useResource.js +15 -14
  233. package/dist/core/useResource/useResource.js.map +1 -0
  234. package/dist/core/useResourceSearch/useResourceSearch.d.ts +1 -1
  235. package/dist/core/useResourceSearch/useResourceSearch.js +23 -22
  236. package/dist/core/useResourceSearch/useResourceSearch.js.map +1 -0
  237. package/dist/core/useSession/useSession.js +7 -6
  238. package/dist/core/useSession/useSession.js.map +1 -0
  239. package/dist/core/useTrashedResource/useTrashedResource.js +18 -17
  240. package/dist/core/useTrashedResource/useTrashedResource.js.map +1 -0
  241. package/dist/core/useUpload/useUpload.d.ts +5 -4
  242. package/dist/core/useUpload/useUpload.js +69 -68
  243. package/dist/core/useUpload/useUpload.js.map +1 -0
  244. package/dist/core/useUploadFiles/useUploadFiles.d.ts +6 -6
  245. package/dist/core/useUploadFiles/useUploadFiles.js +82 -81
  246. package/dist/core/useUploadFiles/useUploadFiles.js.map +1 -0
  247. package/dist/core/useUser/useUser.d.ts +1 -1
  248. package/dist/core/useUser/useUser.js +16 -15
  249. package/dist/core/useUser/useUser.js.map +1 -0
  250. package/dist/core/useWorkspaceFile/useWorkspaceFile.d.ts +5 -5
  251. package/dist/core/useWorkspaceFile/useWorkspaceFile.js +31 -30
  252. package/dist/core/useWorkspaceFile/useWorkspaceFile.js.map +1 -0
  253. package/dist/core/useWorkspaceSearch/useWorkspaceSearch.d.ts +2 -2
  254. package/dist/core/useWorkspaceSearch/useWorkspaceSearch.js +42 -41
  255. package/dist/core/useWorkspaceSearch/useWorkspaceSearch.js.map +1 -0
  256. package/dist/core/useXitiTrackPageLoad/useXitiTrackPageLoad.js +18 -17
  257. package/dist/core/useXitiTrackPageLoad/useXitiTrackPageLoad.js.map +1 -0
  258. package/dist/core/useZendeskGuide/useZendeskGuide.js +47 -46
  259. package/dist/core/useZendeskGuide/useZendeskGuide.js.map +1 -0
  260. package/dist/editor.js +57 -56
  261. package/dist/editor.js.map +1 -0
  262. package/dist/hooks/useBrowserInfo/useBrowserInfo.js +12 -11
  263. package/dist/hooks/useBrowserInfo/useBrowserInfo.js.map +1 -0
  264. package/dist/hooks/useClickOutside/useClickOutside.js +19 -18
  265. package/dist/hooks/useClickOutside/useClickOutside.js.map +1 -0
  266. package/dist/hooks/useDebounce/useDebounce.js +11 -10
  267. package/dist/hooks/useDebounce/useDebounce.js.map +1 -0
  268. package/dist/hooks/useDropdown/useDropdown.js +96 -95
  269. package/dist/hooks/useDropdown/useDropdown.js.map +1 -0
  270. package/dist/hooks/useDropzone/useDropzone.js +53 -52
  271. package/dist/hooks/useDropzone/useDropzone.js.map +1 -0
  272. package/dist/hooks/useHover/useHover.js +15 -14
  273. package/dist/hooks/useHover/useHover.js.map +1 -0
  274. package/dist/hooks/useImage/useImage.js +14 -13
  275. package/dist/hooks/useImage/useImage.js.map +1 -0
  276. package/dist/hooks/useImageResizer/useImageResizer.js +32 -31
  277. package/dist/hooks/useImageResizer/useImageResizer.js.map +1 -0
  278. package/dist/hooks/useKeyPress/useKeyPress.js +11 -10
  279. package/dist/hooks/useKeyPress/useKeyPress.js.map +1 -0
  280. package/dist/hooks/useScrollToTop/useScrollToTop.js +5 -4
  281. package/dist/hooks/useScrollToTop/useScrollToTop.js.map +1 -0
  282. package/dist/hooks/useThumbnail/useThumbnail.js +22 -21
  283. package/dist/hooks/useThumbnail/useThumbnail.js.map +1 -0
  284. package/dist/hooks/useTitle/useTitle.js +8 -7
  285. package/dist/hooks/useTitle/useTitle.js.map +1 -0
  286. package/dist/hooks/useToast/useToast.js +26 -25
  287. package/dist/hooks/useToast/useToast.js.map +1 -0
  288. package/dist/hooks/useToggle/useToggle.js +7 -6
  289. package/dist/hooks/useToggle/useToggle.js.map +1 -0
  290. package/dist/hooks/useTrapFocus/useTrapFocus.js +12 -11
  291. package/dist/hooks/useTrapFocus/useTrapFocus.js.map +1 -0
  292. package/dist/index.js +226 -225
  293. package/dist/index.js.map +1 -0
  294. package/dist/modals.js +15 -14
  295. package/dist/modals.js.map +1 -0
  296. package/dist/modules/audience/ReactionChoice.d.ts +1 -1
  297. package/dist/modules/audience/ReactionChoice.js +24 -23
  298. package/dist/modules/audience/ReactionChoice.js.map +1 -0
  299. package/dist/modules/audience/ReactionModal.Card.d.ts +1 -1
  300. package/dist/modules/audience/ReactionModal.Card.js +26 -25
  301. package/dist/modules/audience/ReactionModal.Card.js.map +1 -0
  302. package/dist/modules/audience/ReactionModal.d.ts +1 -1
  303. package/dist/modules/audience/ReactionModal.js +59 -58
  304. package/dist/modules/audience/ReactionModal.js.map +1 -0
  305. package/dist/modules/audience/ReactionSummary.d.ts +1 -1
  306. package/dist/modules/audience/ReactionSummary.js +19 -18
  307. package/dist/modules/audience/ReactionSummary.js.map +1 -0
  308. package/dist/modules/audience/ViewsByProfileCard.d.ts +1 -1
  309. package/dist/modules/audience/ViewsByProfileCard.js +23 -22
  310. package/dist/modules/audience/ViewsByProfileCard.js.map +1 -0
  311. package/dist/modules/audience/ViewsCounter.js +14 -13
  312. package/dist/modules/audience/ViewsCounter.js.map +1 -0
  313. package/dist/modules/audience/ViewsModal.d.ts +1 -1
  314. package/dist/modules/audience/ViewsModal.js +32 -31
  315. package/dist/modules/audience/ViewsModal.js.map +1 -0
  316. package/dist/modules/audience/hooks/useReactionIcons.d.ts +1 -1
  317. package/dist/modules/audience/hooks/useReactionIcons.js +14 -13
  318. package/dist/modules/audience/hooks/useReactionIcons.js.map +1 -0
  319. package/dist/modules/audience/hooks/useReactions.d.ts +6 -4
  320. package/dist/modules/audience/hooks/useReactions.js +25 -24
  321. package/dist/modules/audience/hooks/useReactions.js.map +1 -0
  322. package/dist/modules/audience/hooks/useViews.d.ts +3 -3
  323. package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js +59 -58
  324. package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js.map +1 -0
  325. package/dist/modules/editor/components/Editor/Editor.d.ts +1 -1
  326. package/dist/modules/editor/components/Editor/Editor.js +70 -69
  327. package/dist/modules/editor/components/Editor/Editor.js.map +1 -0
  328. package/dist/modules/editor/components/Editor/MathsModal.js +38 -37
  329. package/dist/modules/editor/components/Editor/MathsModal.js.map +1 -0
  330. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.js +15 -14
  331. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.js.map +1 -0
  332. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.js +38 -37
  333. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.js.map +1 -0
  334. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.js +34 -33
  335. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.js.map +1 -0
  336. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.js +13 -12
  337. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.js.map +1 -0
  338. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.js +37 -36
  339. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.js.map +1 -0
  340. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.js +36 -35
  341. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.js.map +1 -0
  342. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.js +31 -30
  343. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.js.map +1 -0
  344. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +96 -95
  345. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js.map +1 -0
  346. package/dist/modules/editor/components/NodeView/AttachmentNodeView.js +6 -5
  347. package/dist/modules/editor/components/NodeView/AttachmentNodeView.js.map +1 -0
  348. package/dist/modules/editor/components/NodeView/AudioNodeView.js +6 -5
  349. package/dist/modules/editor/components/NodeView/AudioNodeView.js.map +1 -0
  350. package/dist/modules/editor/components/NodeView/ImageNodeView.js +6 -5
  351. package/dist/modules/editor/components/NodeView/ImageNodeView.js.map +1 -0
  352. package/dist/modules/editor/components/NodeView/LinkerNodeView.js +6 -5
  353. package/dist/modules/editor/components/NodeView/LinkerNodeView.js.map +1 -0
  354. package/dist/modules/editor/components/NodeView/VideoNodeView.js +6 -5
  355. package/dist/modules/editor/components/NodeView/VideoNodeView.js.map +1 -0
  356. package/dist/modules/editor/components/Renderer/AttachmentRenderer.js +25 -24
  357. package/dist/modules/editor/components/Renderer/AttachmentRenderer.js.map +1 -0
  358. package/dist/modules/editor/components/Renderer/AudioRenderer.js +8 -7
  359. package/dist/modules/editor/components/Renderer/AudioRenderer.js.map +1 -0
  360. package/dist/modules/editor/components/Renderer/LinkerRenderer.js +27 -26
  361. package/dist/modules/editor/components/Renderer/LinkerRenderer.js.map +1 -0
  362. package/dist/modules/editor/components/Renderer/MediaRenderer.js +38 -37
  363. package/dist/modules/editor/components/Renderer/MediaRenderer.js.map +1 -0
  364. package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.js +3 -2
  365. package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.js.map +1 -0
  366. package/dist/modules/editor/components/Toolbar/LinkToolbar.js +32 -31
  367. package/dist/modules/editor/components/Toolbar/LinkToolbar.js.map +1 -0
  368. package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.js +22 -21
  369. package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.js.map +1 -0
  370. package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.js +31 -30
  371. package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.js.map +1 -0
  372. package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.js +21 -20
  373. package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.js.map +1 -0
  374. package/dist/modules/editor/components/Toolbar/TableToolbar.js +40 -39
  375. package/dist/modules/editor/components/Toolbar/TableToolbar.js.map +1 -0
  376. package/dist/modules/editor/hooks/useActionOptions.js +48 -47
  377. package/dist/modules/editor/hooks/useActionOptions.js.map +1 -0
  378. package/dist/modules/editor/hooks/useCommentEditor.js +28 -27
  379. package/dist/modules/editor/hooks/useCommentEditor.js.map +1 -0
  380. package/dist/modules/editor/hooks/useEditorContext.js +9 -8
  381. package/dist/modules/editor/hooks/useEditorContext.js.map +1 -0
  382. package/dist/modules/editor/hooks/useImageModal.d.ts +2 -1
  383. package/dist/modules/editor/hooks/useImageModal.js +33 -32
  384. package/dist/modules/editor/hooks/useImageModal.js.map +1 -0
  385. package/dist/modules/editor/hooks/useImageSelection.js +32 -31
  386. package/dist/modules/editor/hooks/useImageSelection.js.map +1 -0
  387. package/dist/modules/editor/hooks/useLinkToolbar.js +25 -24
  388. package/dist/modules/editor/hooks/useLinkToolbar.js.map +1 -0
  389. package/dist/modules/editor/hooks/useMathsModal.js +10 -9
  390. package/dist/modules/editor/hooks/useMathsModal.js.map +1 -0
  391. package/dist/modules/editor/hooks/useMathsStyles.js +14 -13
  392. package/dist/modules/editor/hooks/useMathsStyles.js.map +1 -0
  393. package/dist/modules/editor/hooks/useMediaLibraryEditor.d.ts +1 -1
  394. package/dist/modules/editor/hooks/useMediaLibraryEditor.js +97 -96
  395. package/dist/modules/editor/hooks/useMediaLibraryEditor.js.map +1 -0
  396. package/dist/modules/editor/hooks/useResizeMedia.js +32 -31
  397. package/dist/modules/editor/hooks/useResizeMedia.js.map +1 -0
  398. package/dist/modules/editor/hooks/useSpeechRecognition.js +13 -12
  399. package/dist/modules/editor/hooks/useSpeechRecognition.js.map +1 -0
  400. package/dist/modules/editor/hooks/useSpeechSynthetisis.js +14 -13
  401. package/dist/modules/editor/hooks/useSpeechSynthetisis.js.map +1 -0
  402. package/dist/modules/editor/hooks/useTipTapEditor.js +58 -57
  403. package/dist/modules/editor/hooks/useTipTapEditor.js.map +1 -0
  404. package/dist/modules/editor/utils/has-extension.js +3 -2
  405. package/dist/modules/editor/utils/has-extension.js.map +1 -0
  406. package/dist/modules/editor/utils/has-mark.js +3 -2
  407. package/dist/modules/editor/utils/has-mark.js.map +1 -0
  408. package/dist/modules/editor/utils/has-text-style.js +4 -3
  409. package/dist/modules/editor/utils/has-text-style.js.map +1 -0
  410. package/dist/modules/modals/OnboardingModal/OnboardingModal.js +49 -48
  411. package/dist/modules/modals/OnboardingModal/OnboardingModal.js.map +1 -0
  412. package/dist/modules/modals/OnboardingModal/useOnboardingModal.js +19 -18
  413. package/dist/modules/modals/OnboardingModal/useOnboardingModal.js.map +1 -0
  414. package/dist/modules/modals/PublishModal/PublishModal.d.ts +1 -1
  415. package/dist/modules/modals/PublishModal/PublishModal.js +98 -97
  416. package/dist/modules/modals/PublishModal/PublishModal.js.map +1 -0
  417. package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.js +20 -19
  418. package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.js.map +1 -0
  419. package/dist/modules/modals/PublishModal/components/AgeSelect.js +15 -14
  420. package/dist/modules/modals/PublishModal/components/AgeSelect.js.map +1 -0
  421. package/dist/modules/modals/PublishModal/components/LangSelect.js +12 -11
  422. package/dist/modules/modals/PublishModal/components/LangSelect.js.map +1 -0
  423. package/dist/modules/modals/PublishModal/components/PublishModalFooter.js +17 -16
  424. package/dist/modules/modals/PublishModal/components/PublishModalFooter.js.map +1 -0
  425. package/dist/modules/modals/PublishModal/components/SubjectsDropdown.js +20 -19
  426. package/dist/modules/modals/PublishModal/components/SubjectsDropdown.js.map +1 -0
  427. package/dist/modules/modals/PublishModal/components/ToastError.js +18 -17
  428. package/dist/modules/modals/PublishModal/components/ToastError.js.map +1 -0
  429. package/dist/modules/modals/PublishModal/components/ToastSuccess.d.ts +1 -1
  430. package/dist/modules/modals/PublishModal/components/ToastSuccess.js +13 -12
  431. package/dist/modules/modals/PublishModal/components/ToastSuccess.js.map +1 -0
  432. package/dist/modules/modals/PublishModal/constants/ageOptions.js +3 -2
  433. package/dist/modules/modals/PublishModal/constants/ageOptions.js.map +1 -0
  434. package/dist/modules/modals/PublishModal/hooks/useActivitiesOptions.js +5 -4
  435. package/dist/modules/modals/PublishModal/hooks/useActivitiesOptions.js.map +1 -0
  436. package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.js +17 -16
  437. package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.js.map +1 -0
  438. package/dist/modules/modals/PublishModal/hooks/usePublishModal.d.ts +1 -1
  439. package/dist/modules/modals/PublishModal/hooks/usePublishModal.js +80 -79
  440. package/dist/modules/modals/PublishModal/hooks/usePublishModal.js.map +1 -0
  441. package/dist/modules/modals/PublishModal/hooks/useSubjectsOptions.js +42 -41
  442. package/dist/modules/modals/PublishModal/hooks/useSubjectsOptions.js.map +1 -0
  443. package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +1 -1
  444. package/dist/modules/modals/ResourceModal/ResourceModal.js +116 -115
  445. package/dist/modules/modals/ResourceModal/ResourceModal.js.map +1 -0
  446. package/dist/modules/modals/ResourceModal/apps/BlogPublic.d.ts +1 -1
  447. package/dist/modules/modals/ResourceModal/apps/BlogPublic.js +48 -47
  448. package/dist/modules/modals/ResourceModal/apps/BlogPublic.js.map +1 -0
  449. package/dist/modules/modals/ResourceModal/hooks/useSlug.d.ts +1 -1
  450. package/dist/modules/modals/ResourceModal/hooks/useSlug.js +33 -32
  451. package/dist/modules/modals/ResourceModal/hooks/useSlug.js.map +1 -0
  452. package/dist/modules/modals/ResourceModal/hooks/useThumb.d.ts +1 -1
  453. package/dist/modules/modals/ResourceModal/hooks/useThumb.js +13 -12
  454. package/dist/modules/modals/ResourceModal/hooks/useThumb.js.map +1 -0
  455. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.d.ts +1 -1
  456. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.js +11 -10
  457. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.js.map +1 -0
  458. package/dist/modules/modals/ShareModal/ShareBookmarkLine.d.ts +2 -2
  459. package/dist/modules/modals/ShareModal/ShareModal.d.ts +1 -1
  460. package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +1 -1
  461. package/dist/modules/modals/ShareModal/apps/ShareBlog.js +34 -33
  462. package/dist/modules/modals/ShareModal/apps/ShareBlog.js.map +1 -0
  463. package/dist/modules/modals/ShareModal/hooks/useSearch.d.ts +1 -1
  464. package/dist/modules/modals/ShareModal/hooks/useShare.d.ts +2 -2
  465. package/dist/modules/modals/ShareModal/hooks/useShareBookmark.d.ts +1 -1
  466. package/dist/modules/modals/ShareModal/hooks/useShareMutation.d.ts +1 -1
  467. package/dist/modules/modals/ShareModal/hooks/useShareMutation.js +13 -12
  468. package/dist/modules/modals/ShareModal/hooks/useShareMutation.js.map +1 -0
  469. package/dist/modules/modals/ShareModal/utils/hasRight.d.ts +1 -0
  470. package/dist/modules/modals/ShareModal/utils/showShareRightLine.d.ts +1 -0
  471. package/dist/modules/multimedia/AudioRecorder/AudioRecorder.d.ts +1 -1
  472. package/dist/modules/multimedia/AudioRecorder/AudioRecorder.js +43 -42
  473. package/dist/modules/multimedia/AudioRecorder/AudioRecorder.js.map +1 -0
  474. package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.js +19 -18
  475. package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.js.map +1 -0
  476. package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.d.ts +1 -1
  477. package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.js +158 -157
  478. package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.js.map +1 -0
  479. package/dist/modules/multimedia/Embed/Embed.js +22 -21
  480. package/dist/modules/multimedia/Embed/Embed.js.map +1 -0
  481. package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js +79 -78
  482. package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js.map +1 -0
  483. package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.js +38 -37
  484. package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.js.map +1 -0
  485. package/dist/modules/multimedia/ImageEditor/effects/blur.js +50 -49
  486. package/dist/modules/multimedia/ImageEditor/effects/blur.js.map +1 -0
  487. package/dist/modules/multimedia/ImageEditor/effects/crop.js +100 -99
  488. package/dist/modules/multimedia/ImageEditor/effects/crop.js.map +1 -0
  489. package/dist/modules/multimedia/ImageEditor/effects/misc.js +108 -107
  490. package/dist/modules/multimedia/ImageEditor/effects/misc.js.map +1 -0
  491. package/dist/modules/multimedia/ImageEditor/effects/resize.js +97 -96
  492. package/dist/modules/multimedia/ImageEditor/effects/resize.js.map +1 -0
  493. package/dist/modules/multimedia/ImageEditor/effects/rotate.js +26 -25
  494. package/dist/modules/multimedia/ImageEditor/effects/rotate.js.map +1 -0
  495. package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js +39 -38
  496. package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js.map +1 -0
  497. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js +57 -56
  498. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js.map +1 -0
  499. package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js +29 -28
  500. package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js.map +1 -0
  501. package/dist/modules/multimedia/ImageEditor/utils/aggregate.js +10 -9
  502. package/dist/modules/multimedia/ImageEditor/utils/aggregate.js.map +1 -0
  503. package/dist/modules/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.d.ts +1 -1
  504. package/dist/modules/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.js +34 -33
  505. package/dist/modules/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.js.map +1 -0
  506. package/dist/modules/multimedia/Linker/ExternalLinker.js +35 -34
  507. package/dist/modules/multimedia/Linker/ExternalLinker.js.map +1 -0
  508. package/dist/modules/multimedia/Linker/InternalLinker.d.ts +1 -1
  509. package/dist/modules/multimedia/Linker/InternalLinker.js +88 -87
  510. package/dist/modules/multimedia/Linker/InternalLinker.js.map +1 -0
  511. package/dist/modules/multimedia/LinkerCard/LinkerCard.d.ts +1 -1
  512. package/dist/modules/multimedia/LinkerCard/LinkerCard.js +32 -31
  513. package/dist/modules/multimedia/LinkerCard/LinkerCard.js.map +1 -0
  514. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.d.ts +1 -1
  515. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +119 -118
  516. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js.map +1 -0
  517. package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.d.ts +4 -4
  518. package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.js +9 -8
  519. package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.js.map +1 -0
  520. package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.js +16 -15
  521. package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.js.map +1 -0
  522. package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.js +13 -12
  523. package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.js.map +1 -0
  524. package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.js +10 -9
  525. package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.js.map +1 -0
  526. package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.d.ts +1 -1
  527. package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.js +29 -28
  528. package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.js.map +1 -0
  529. package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.js +23 -22
  530. package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.js.map +1 -0
  531. package/dist/modules/multimedia/MediaLibrary/innertabs/Video.js +18 -17
  532. package/dist/modules/multimedia/MediaLibrary/innertabs/Video.js.map +1 -0
  533. package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.js +10 -9
  534. package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.js.map +1 -0
  535. package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.js +17 -16
  536. package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.js.map +1 -0
  537. package/dist/modules/multimedia/MediaLibrary/innertabs/index.js +19 -18
  538. package/dist/modules/multimedia/MediaLibrary/innertabs/index.js.map +1 -0
  539. package/dist/modules/multimedia/UploadFiles/UploadFiles.d.ts +2 -2
  540. package/dist/modules/multimedia/UploadFiles/UploadFiles.js +42 -41
  541. package/dist/modules/multimedia/UploadFiles/UploadFiles.js.map +1 -0
  542. package/dist/modules/multimedia/VideoEmbed/VideoEmbed.js +60 -59
  543. package/dist/modules/multimedia/VideoEmbed/VideoEmbed.js.map +1 -0
  544. package/dist/modules/multimedia/VideoRecorder/VideoRecorder.d.ts +1 -1
  545. package/dist/modules/multimedia/VideoRecorder/VideoRecorder.js +153 -152
  546. package/dist/modules/multimedia/VideoRecorder/VideoRecorder.js.map +1 -0
  547. package/dist/modules/multimedia/Workspace/Workspace.d.ts +1 -1
  548. package/dist/modules/multimedia/Workspace/Workspace.js +110 -109
  549. package/dist/modules/multimedia/Workspace/Workspace.js.map +1 -0
  550. package/dist/multimedia.js +19 -18
  551. package/dist/multimedia.js.map +1 -0
  552. package/dist/portal/Header/Badge.js +6 -5
  553. package/dist/portal/Header/Badge.js.map +1 -0
  554. package/dist/portal/Header/Header.js +138 -137
  555. package/dist/portal/Header/Header.js.map +1 -0
  556. package/dist/portal/Header/NavItem.js +12 -11
  557. package/dist/portal/Header/NavItem.js.map +1 -0
  558. package/dist/portal/Header/NavLink.js +15 -14
  559. package/dist/portal/Header/NavLink.js.map +1 -0
  560. package/dist/portal/Header/Navbar.js +10 -9
  561. package/dist/portal/Header/Navbar.js.map +1 -0
  562. package/dist/portal/Header/NavbarNav.js +10 -9
  563. package/dist/portal/Header/NavbarNav.js.map +1 -0
  564. package/dist/portal/Header/WidgetApps.d.ts +1 -1
  565. package/dist/portal/Header/WidgetApps.js +17 -16
  566. package/dist/portal/Header/WidgetApps.js.map +1 -0
  567. package/dist/portal/Help/Help.js +19 -18
  568. package/dist/portal/Help/Help.js.map +1 -0
  569. package/dist/portal/Help/hooks/useHelp.js +64 -63
  570. package/dist/portal/Help/hooks/useHelp.js.map +1 -0
  571. package/dist/portal/Layout/Layout.js +35 -34
  572. package/dist/portal/Layout/Layout.js.map +1 -0
  573. package/dist/portal/SearchEngine/SearchEngine.js +26 -25
  574. package/dist/portal/SearchEngine/SearchEngine.js.map +1 -0
  575. package/dist/utils/MockedDataProvider/MockedDataProvider.d.ts +1 -1
  576. package/dist/utils/MockedDataProvider/MockedDataProvider.js +22 -21
  577. package/dist/utils/MockedDataProvider/MockedDataProvider.js.map +1 -0
  578. package/dist/utils/StringUtils.js +9 -8
  579. package/dist/utils/StringUtils.js.map +1 -0
  580. package/dist/utils/addTimestampToUrl.js +5 -4
  581. package/dist/utils/addTimestampToUrl.js.map +1 -0
  582. package/dist/utils/blob.js +10 -9
  583. package/dist/utils/blob.js.map +1 -0
  584. package/dist/utils/checkUserRight.d.ts +1 -1
  585. package/dist/utils/checkUserRight.js +28 -27
  586. package/dist/utils/checkUserRight.js.map +1 -0
  587. package/dist/utils/fileSize.js +6 -5
  588. package/dist/utils/fileSize.js.map +1 -0
  589. package/dist/utils/findTreeNode.js +8 -7
  590. package/dist/utils/findTreeNode.js.map +1 -0
  591. package/dist/utils/isActionAvailable.d.ts +1 -1
  592. package/dist/utils/isActionAvailable.js +5 -4
  593. package/dist/utils/isActionAvailable.js.map +1 -0
  594. package/dist/utils/libraryMaps.js +3 -2
  595. package/dist/utils/libraryMaps.js.map +1 -0
  596. package/dist/utils/noop.js +3 -2
  597. package/dist/utils/noop.js.map +1 -0
  598. package/dist/utils/ref.js +9 -8
  599. package/dist/utils/ref.js.map +1 -0
  600. package/dist/utils/thumbnail.js +4 -3
  601. package/dist/utils/thumbnail.js.map +1 -0
  602. package/dist/utils/time.js +8 -7
  603. package/dist/utils/time.js.map +1 -0
  604. package/dist/utils/treeview.d.ts +1 -1
  605. package/dist/utils/treeview.js +97 -96
  606. package/dist/utils/treeview.js.map +1 -0
  607. package/dist/utils/video.js +3 -2
  608. package/dist/utils/video.js.map +1 -0
  609. package/dist/widgets/BookmarkedApps/BookmarkedApps.d.ts +1 -1
  610. package/dist/widgets/BookmarkedApps/BookmarkedApps.js +7 -6
  611. package/dist/widgets/BookmarkedApps/BookmarkedApps.js.map +1 -0
  612. package/dist/widgets/Widget/Widget.js +19 -18
  613. package/dist/widgets/Widget/Widget.js.map +1 -0
  614. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoRecorder.js","sources":["../../../../src/modules/multimedia/VideoRecorder/VideoRecorder.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\n\nimport { WorkspaceElement, odeServices } from '@edifice.io/ts-client';\nimport { useTranslation } from 'react-i18next';\n\nimport {\n FormControl,\n Icon,\n Label,\n LoadingScreen,\n OptionsType,\n Select,\n} from '../../../components';\nimport { Toolbar, ToolbarItem } from '../../../components/Toolbar';\nimport { useUpload } from '../../../core/useUpload';\nimport useBrowserInfo from '../../../hooks/useBrowserInfo/useBrowserInfo';\nimport { convertMsToMS, getBestSupportedMimeType } from '../../../utils';\n\nexport interface VideoRecorderProps {\n appCode: string;\n caption?: string;\n onSuccess?: (res: WorkspaceElement[]) => void;\n onError: (error: string) => void;\n onRecordUpdated?: (recordURL?: string) => void;\n hideSaveAction?: boolean;\n}\n\nconst VIDEO_HEIGHT = 9;\nconst VIDEO_WIDTH = 16;\n\nexport interface VideoRecorderRef {\n save: () => Promise<WorkspaceElement | undefined>;\n}\n\nconst VideoRecorder = forwardRef(\n (\n {\n appCode,\n caption,\n onSuccess,\n onError,\n onRecordUpdated,\n hideSaveAction = false,\n }: VideoRecorderProps,\n ref,\n ) => {\n const [maxDuration, setMaxDuration] = useState<number>(180000);\n const [inputDevices, setInputDevices] = useState<MediaDeviceInfo[]>([]);\n\n const [recording, setRecording] = useState<boolean>(false);\n const [recorded, setRecorded] = useState<boolean>(false);\n const [playing, setPlaying] = useState<boolean>(false);\n const [saving, setSaving] = useState<boolean>(false);\n const [saved, setSaved] = useState<boolean>(false);\n\n const [mediaStreamConstraints, setMediaStreamConstraints] =\n useState<MediaStreamConstraints>({\n audio: true,\n video: {\n facingMode: 'environment',\n aspectRatio: VIDEO_WIDTH / VIDEO_HEIGHT,\n },\n });\n const [stream, setStream] = useState<MediaStream>();\n const [mimeType, setMimeType] = useState<string>('');\n\n const [recordedChunks, setRecordedChunks] = useState<Blob[]>([]);\n const [recordedVideo, setRecordedVideo] = useState<Blob>();\n\n const [recordedTime, setRecordedTime] = useState<number>(0);\n const [playedTime, setPlayedTime] = useState<number>(0);\n\n const videoRef = useRef<HTMLVideoElement>(null);\n const recorderRef = useRef<MediaRecorder | null>(null);\n\n const { uploadBlob } = useUpload(undefined, appCode);\n\n const { device } = useBrowserInfo(navigator.userAgent);\n\n // We add one methods to handle save action from parent component\n useImperativeHandle(ref, () => ({\n save: handleSave,\n }));\n\n const { t } = useTranslation();\n\n /**\n * Get max duration from Conf and input devices list.\n */\n useEffect(() => {\n initMaxDuration();\n initInputDevices();\n }, []);\n\n /**\n * Enable video stream and stop streaming on clean up.\n */\n useEffect(() => {\n if (!stream) {\n enableStream(mediaStreamConstraints);\n }\n return () => {\n if (stream) {\n stream.getTracks().forEach((track) => track.stop());\n }\n };\n }, [stream]);\n\n /**\n * Get last updated recorded chunk and set the recorded video as source for user to watch it.\n */\n useEffect(() => {\n if (recordedChunks.length && !recording && videoRef.current) {\n const finalVideo: Blob = new Blob(recordedChunks, { type: mimeType });\n setRecordedVideo(finalVideo);\n\n if (onRecordUpdated) {\n const videoUrl = window.URL.createObjectURL(finalVideo);\n onRecordUpdated(videoUrl);\n }\n videoRef.current.autoplay = false;\n videoRef.current.srcObject = null;\n videoRef.current.src = window.URL.createObjectURL(finalVideo);\n }\n }, [recording, recordedChunks]);\n\n /**\n * Handle recording countup.\n * Recording cannot be paused.\n */\n useEffect(() => {\n if (recording) {\n // Get the start timestamp.\n const startedAt = Date.now();\n const timer = window.setInterval(\n // Compute exact elapsed time by diffing the start time.\n () => setRecordedTime(Date.now() - startedAt),\n 500,\n );\n\n return () => {\n window.clearInterval(timer);\n };\n }\n }, [recording]);\n\n /**\n * Handle playing countup.\n * Playing can be paused and resumed.\n */\n useEffect(() => {\n if (playing) {\n // Compute an approximative elapsed time by cumulating small inaccurate values.\n const timer = window.setInterval(\n () => setPlayedTime((prev) => prev + 500),\n 500,\n );\n\n return () => {\n window.clearInterval(timer);\n };\n }\n }, [playing]);\n\n const initMaxDuration = async () => {\n const videoConfResponse = await odeServices.video().getVideoConf();\n setMaxDuration((videoConfResponse.maxDuration ?? 3) * 60 * 1000);\n };\n\n const initInputDevices = async () => {\n const devices = await navigator.mediaDevices.enumerateDevices();\n const videoDevices = devices.filter(\n (device) => device.kind === 'videoinput',\n );\n // console, mobile, tablet, smarttv, wearable, embedded\n switch (device.type) {\n case 'mobile':\n case 'tablet': {\n const backCamera = {\n deviceId: 'environment',\n label: t('video.back.camera'),\n groupId: '',\n kind: 'videoinput',\n } as MediaDeviceInfo;\n const frontCamera = {\n deviceId: 'user',\n label: t('video.front.camera'),\n groupId: '',\n kind: 'videoinput',\n } as MediaDeviceInfo;\n\n if (videoDevices?.length > 1) {\n // mobile/tablet has more than 1 camera\n setInputDevices([backCamera, frontCamera]);\n } else {\n // else we let the system use the only one that exists (or none)\n setInputDevices([backCamera]);\n }\n break;\n }\n default:\n // \"Desktop\" or other future types => list all cameras without distinction.\n setInputDevices(videoDevices);\n break;\n }\n };\n\n const enableStream = async (\n mediaStreamConstraints: MediaStreamConstraints,\n ) => {\n try {\n const mediaStream: MediaStream =\n await navigator.mediaDevices.getUserMedia(mediaStreamConstraints);\n setStream(mediaStream);\n\n if (videoRef.current) {\n if (videoRef.current.src) {\n window.URL.revokeObjectURL(videoRef.current.src);\n videoRef.current.src = '';\n }\n videoRef.current.srcObject = mediaStream;\n videoRef.current.autoplay = true;\n videoRef.current.volume = 1;\n videoRef.current.muted = true;\n }\n } catch (err) {\n console.error(err);\n }\n };\n\n const handleRecord = useCallback(() => {\n setRecording(true);\n\n if (videoRef && videoRef.current) {\n videoRef.current.muted = true;\n }\n\n const mimeType = getBestSupportedMimeType();\n setMimeType(mimeType);\n\n if (stream) {\n recorderRef.current = new MediaRecorder(stream, { mimeType });\n recorderRef.current.ondataavailable = ({ data }: BlobEvent) => {\n if (data.size > 0) {\n setRecordedChunks((prev) => [...prev, data]);\n }\n };\n recorderRef.current.onerror = (event) => console.error(event);\n recorderRef.current.start(1000); // collect 1000ms of data\n }\n }, [stream]);\n\n const handleStop = useCallback(() => {\n setRecording(false);\n setRecorded(true);\n\n if (recorderRef.current?.state === 'recording') {\n recorderRef.current.requestData();\n recorderRef.current.stop();\n }\n }, [recorderRef]);\n\n const handlePlayPause = useCallback(() => {\n if (videoRef && videoRef.current) {\n videoRef.current.muted = false;\n }\n\n if (!playing) {\n videoRef?.current?.play();\n setPlaying(true);\n } else {\n videoRef?.current?.pause();\n setPlaying(false);\n }\n }, [playing]);\n\n const handleReset = () => {\n setRecorded(false);\n setRecording(false);\n setPlaying(false);\n setSaved(false);\n setRecordedTime(0);\n setRecordedChunks([]);\n setRecordedVideo(undefined);\n enableStream(mediaStreamConstraints);\n\n if (onRecordUpdated) {\n onRecordUpdated();\n }\n };\n\n const handleSave = async () => {\n setSaving(true);\n if (!recordedVideo) {\n console.error('Error while saving video: recorded video is undefined.');\n return;\n }\n\n const resVideo = await uploadBlob(recordedVideo, {\n duration: recordedTime,\n });\n\n if (resVideo != null) {\n onSuccess?.([resVideo]);\n setSaving(false);\n setSaved(true);\n return [resVideo];\n } else {\n onError('Error while uploading video');\n setSaving(false);\n setSaved(true);\n }\n };\n\n const handleEnded = () => {\n setPlaying(false);\n setPlayedTime(0);\n if (videoRef.current) {\n videoRef.current.currentTime = 0;\n }\n };\n\n const handleInputDeviceChange = (option: OptionsType | string) => {\n const selectedDevice = inputDevices.find(\n (inputDevice) => inputDevice.label === option,\n );\n\n let mediaStreamConstraints: MediaStreamConstraints = {};\n if (selectedDevice?.deviceId) {\n if (\n selectedDevice?.deviceId === 'environment' ||\n selectedDevice?.deviceId === 'user'\n ) {\n mediaStreamConstraints = {\n audio: true,\n video: {\n aspectRatio: VIDEO_WIDTH / VIDEO_HEIGHT,\n facingMode: selectedDevice?.deviceId,\n },\n };\n } else {\n mediaStreamConstraints = {\n audio: true,\n video: {\n aspectRatio: VIDEO_WIDTH / VIDEO_HEIGHT,\n deviceId: selectedDevice.deviceId,\n },\n };\n }\n\n setMediaStreamConstraints(mediaStreamConstraints);\n\n if (stream) {\n if (recorderRef.current?.state === 'recording') {\n recorderRef.current.requestData();\n recorderRef.current.stop();\n }\n stream.getTracks().forEach((track) => track.stop());\n setStream(undefined);\n }\n enableStream(mediaStreamConstraints);\n } else {\n console.error('Selected input device id is null');\n }\n };\n\n /**\n * Auto-stop recording when max allowed duration is reached.\n */\n useEffect(() => {\n if (recordedTime >= maxDuration) {\n handleStop();\n }\n }, [recordedTime, handleStop]);\n\n const toolbarItems: ToolbarItem[] = [\n {\n type: 'icon',\n name: 'record',\n props: {\n icon: (\n <Icon name=\"record\" color={recording || recorded ? '' : 'red'} />\n ),\n color: 'danger',\n disabled: recording || recorded || saving,\n onClick: handleRecord,\n 'aria-label': t('bbm.video.record.start'),\n },\n tooltip: t('bbm.video.record.start'),\n },\n {\n type: 'icon',\n name: 'stop',\n props: {\n icon: <Icon name=\"record-stop\" />,\n disabled: !recording || recorded || saving,\n onClick: handleStop,\n 'aria-label': t('bbm.video.record.stop'),\n },\n tooltip: t('bbm.video.record.stop'),\n },\n {\n type: 'icon',\n name: 'play',\n visibility: !playing ? 'show' : 'hide',\n props: {\n icon: <Icon name=\"play-filled\" />,\n disabled: !recorded || saving,\n onClick: handlePlayPause,\n 'aria-label': t('bbm.video.play.start'),\n },\n tooltip: t('bbm.video.play.start'),\n },\n {\n type: 'icon',\n name: 'pause',\n visibility: playing ? 'show' : 'hide',\n props: {\n icon: <Icon name=\"pause\" />,\n disabled: !recorded || saving,\n onClick: handlePlayPause,\n 'aria-label': t('bbm.video.play.pause'),\n },\n tooltip: t('bbm.video.play.pause'),\n },\n { type: 'divider' },\n {\n type: 'icon',\n name: 'reset',\n props: {\n icon: <Icon name=\"refresh\" />,\n disabled: !recorded || saving,\n onClick: handleReset,\n 'aria-label': t('bbm.video.record.reset'),\n },\n tooltip: t('bbm.video.record.reset'),\n },\n {\n type: 'icon',\n name: 'save',\n visibility: hideSaveAction ? 'hide' : 'show',\n props: {\n icon: <Icon name=\"save\" />,\n disabled: !recorded || saving || saved,\n onClick: handleSave,\n 'aria-label': t('bbm.video.record.save'),\n },\n tooltip: t('bbm.video.record.save'),\n },\n ];\n\n return (\n <div className=\"video-recorder d-flex flex-fill flex-column align-items-center pb-8\">\n <div className=\"video-recorder-caption d-none d-md-block\">\n {caption}\n </div>\n {inputDevices.length > 1 && (\n <div className=\"video-recorder-devices mb-12\">\n <FormControl id=\"selectInputDevice\">\n <Label className=\"d-none d-md-block\">\n {t('bbm.video.record.select.devices.label')}\n </Label>\n <Select\n placeholderOption={t(\n 'bbm.video.record.select.devices.placeholder',\n )}\n options={inputDevices.map(\n (videoInputDevice) => videoInputDevice.label,\n )}\n onValueChange={handleInputDeviceChange}\n />\n </FormControl>\n </div>\n )}\n\n <div className=\"video-recorder-video-container position-relative align-self-stretch\">\n <video\n ref={videoRef}\n playsInline={true}\n autoPlay={true}\n controls={false}\n muted={true}\n onEnded={handleEnded}\n className=\"rounded\"\n >\n <track default kind=\"captions\" srcLang=\"fr\" src=\"\"></track>\n </video>\n {(recording || recorded) && (\n <div className=\"video-recorder-time d-flex align-items-center font-monospace fs-6 text-bg-dark rounded\">\n {recording && (\n <>\n <Icon name=\"record\" size=\"12\" color=\"red\" className=\"me-4\" />\n <span>\n {convertMsToMS(recordedTime)}/{convertMsToMS(maxDuration)}\n </span>\n </>\n )}\n {recorded && (\n <>\n <Icon name=\"record-video\" size=\"14\" className=\"me-4\" />\n <span>\n {convertMsToMS(playedTime)}/{convertMsToMS(recordedTime)}\n </span>\n </>\n )}\n </div>\n )}\n {stream && (\n <Toolbar\n items={toolbarItems}\n className=\"position-absolute bottom-0 start-50 bg-white\"\n />\n )}\n </div>\n {saving && (\n <LoadingScreen\n position={false}\n caption={t('bbm.video.save.loader.caption')}\n />\n )}\n </div>\n );\n },\n);\n\nexport default VideoRecorder;\n"],"names":["VIDEO_HEIGHT","VIDEO_WIDTH","VideoRecorder","appCode","caption","onSuccess","onError","onRecordUpdated","hideSaveAction","ref","maxDuration","setMaxDuration","useState","inputDevices","setInputDevices","recording","setRecording","recorded","setRecorded","playing","setPlaying","saving","setSaving","saved","setSaved","mediaStreamConstraints","setMediaStreamConstraints","audio","video","facingMode","aspectRatio","stream","setStream","mimeType","setMimeType","recordedChunks","setRecordedChunks","recordedVideo","setRecordedVideo","recordedTime","setRecordedTime","playedTime","setPlayedTime","videoRef","useRef","recorderRef","uploadBlob","useUpload","undefined","device","useBrowserInfo","navigator","userAgent","useImperativeHandle","save","handleSave","t","useTranslation","useEffect","initMaxDuration","initInputDevices","enableStream","getTracks","forEach","track","stop","length","current","finalVideo","Blob","type","videoUrl","window","URL","createObjectURL","autoplay","srcObject","src","startedAt","Date","now","timer","setInterval","clearInterval","prev","videoConfResponse","odeServices","getVideoConf","videoDevices","mediaDevices","enumerateDevices","filter","kind","backCamera","deviceId","label","groupId","frontCamera","mediaStream","getUserMedia","revokeObjectURL","volume","muted","err","console","error","handleRecord","useCallback","getBestSupportedMimeType","MediaRecorder","ondataavailable","data","size","onerror","event","start","handleStop","state","requestData","handlePlayPause","pause","play","handleReset","resVideo","duration","handleEnded","currentTime","handleInputDeviceChange","option","selectedDevice","find","inputDevice","toolbarItems","name","props","icon","Icon","color","disabled","onClick","tooltip","jsx","visibility","jsxs","FormControl","Label","Select","map","videoInputDevice","Fragment","convertMsToMS","Toolbar","LoadingScreen"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Role, WorkspaceElement, WorkspaceSearchFilter } from 'edifice-ts-client';
1
+ import { Role, WorkspaceElement, WorkspaceSearchFilter } from '@edifice.io/ts-client';
2
2
  /**
3
3
  * MediaLibrary component properties
4
4
  */
@@ -1,169 +1,170 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useRef, useState, useCallback, useEffect } from "react";
3
- import clsx from "clsx";
4
- import { useTranslation } from "react-i18next";
5
- import useWorkspaceSearch from "../../../core/useWorkspaceSearch/useWorkspaceSearch.js";
6
- import { Grid } from "../../../components/Grid/Grid.js";
7
- import { TreeView } from "../../../components/TreeView/TreeView.js";
8
- import { FileCard } from "../../../components/FileCard/FileCard.js";
9
- import { SearchBar } from "../../../components/SearchBar/SearchBar.js";
10
- import { Dropdown } from "../../../components/Dropdown/Dropdown.js";
11
- import { Icon } from "../../../components/Icon/Icon.js";
12
- import { LoadingScreen } from "../../../components/LoadingScreen/LoadingScreen.js";
13
- import { EmptyScreen } from "../../../components/EmptyScreen/EmptyScreen.js";
14
- import { findTreeNode } from "../../../utils/findTreeNode.js";
15
- const Workspace = ({
16
- roles,
17
- onSelect,
18
- multiple = !0,
19
- className,
20
- defaultFolder,
21
- showPublicFolder
1
+ import { jsxs as d, jsx as r } from "react/jsx-runtime";
2
+ import { useRef as N, useState as m, useCallback as j, useEffect as L } from "react";
3
+ import oe from "clsx";
4
+ import { useTranslation as ne } from "react-i18next";
5
+ import R from "../../../core/useWorkspaceSearch/useWorkspaceSearch.js";
6
+ import { Grid as p } from "../../../components/Grid/Grid.js";
7
+ import { TreeView as y } from "../../../components/TreeView/TreeView.js";
8
+ import { FileCard as se } from "../../../components/FileCard/FileCard.js";
9
+ import { SearchBar as ce } from "../../../components/SearchBar/SearchBar.js";
10
+ import { Dropdown as f } from "../../../components/Dropdown/Dropdown.js";
11
+ import { Icon as _ } from "../../../components/Icon/Icon.js";
12
+ import { LoadingScreen as ae } from "../../../components/LoadingScreen/LoadingScreen.js";
13
+ import { EmptyScreen as ie } from "../../../components/EmptyScreen/EmptyScreen.js";
14
+ import { findTreeNode as de } from "../../../utils/findTreeNode.js";
15
+ const Ne = ({
16
+ roles: x,
17
+ onSelect: K,
18
+ multiple: P = !0,
19
+ className: Q,
20
+ defaultFolder: s,
21
+ showPublicFolder: I
22
22
  }) => {
23
23
  const {
24
- t
25
- } = useTranslation(), {
26
- root: ownerRoot,
27
- loadContent: loadOwnerDocs
28
- } = useWorkspaceSearch("root", t("workspace.tree.owner"), "owner", roles), {
29
- root: sharedRoot,
30
- loadContent: loadSharedDocs
31
- } = useWorkspaceSearch("root", t("workspace.tree.shared"), "shared", roles), {
32
- root: protectRoot,
33
- loadContent: loadProtectedDocs
34
- } = useWorkspaceSearch("root", t("workspace.tree.protected"), "protected", roles), {
35
- root: publicRoot,
36
- loadContent: loadPublicDocs
37
- } = useWorkspaceSearch("root", t("workspace.tree.public"), "public", roles), ownerRef = useRef(null), sharedRef = useRef(null), protectRef = useRef(null), publicRef = useRef(null), [currentFilter, setCurrentFilter] = useState(() => defaultFolder === "public" ? showPublicFolder ? defaultFolder : "protected" : defaultFolder === "protected" || defaultFolder === "shared" ? defaultFolder : "owner"), [currentNode, setCurrentNode] = useState(() => defaultFolder === "public" ? showPublicFolder ? publicRoot : protectRoot : defaultFolder === "protected" ? protectRoot : defaultFolder === "shared" ? sharedRoot : ownerRoot), [documents, setDocuments] = useState(), [searchTerm, setSearchTerm] = useState(null), [sortOrder, setSortOrder] = useState(["modified", "desc"]), [selectedDocuments, setSelectedDocuments] = useState([]), rootNodeFor = useCallback((filter) => {
38
- switch (filter) {
24
+ t: o
25
+ } = ne(), {
26
+ root: u,
27
+ loadContent: A
28
+ } = R("root", o("workspace.tree.owner"), "owner", x), {
29
+ root: h,
30
+ loadContent: V
31
+ } = R("root", o("workspace.tree.shared"), "shared", x), {
32
+ root: l,
33
+ loadContent: W
34
+ } = R("root", o("workspace.tree.protected"), "protected", x), {
35
+ root: w,
36
+ loadContent: z
37
+ } = R("root", o("workspace.tree.public"), "public", x), k = N(null), g = N(null), b = N(null), C = N(null), [T, X] = m(() => s === "public" ? I ? s : "protected" : s === "protected" || s === "shared" ? s : "owner"), [c, Y] = m(() => s === "public" ? I ? w : l : s === "protected" ? l : s === "shared" ? h : u), [D, B] = m(), [v, G] = m(null), [S, E] = m(["modified", "desc"]), [M, Z] = m([]), $ = j((e) => {
38
+ switch (e) {
39
39
  case "owner":
40
40
  return {
41
- root: ownerRoot,
42
- othersRef: [sharedRef, protectRef, publicRef]
41
+ root: u,
42
+ othersRef: [g, b, C]
43
43
  };
44
44
  case "shared":
45
45
  return {
46
- root: sharedRoot,
47
- othersRef: [ownerRef, protectRef, publicRef]
46
+ root: h,
47
+ othersRef: [k, b, C]
48
48
  };
49
49
  case "protected":
50
50
  return {
51
- root: protectRoot,
52
- othersRef: [ownerRef, sharedRef, publicRef]
51
+ root: l,
52
+ othersRef: [k, g, C]
53
53
  };
54
54
  case "public":
55
55
  return {
56
- root: publicRoot,
57
- othersRef: [ownerRef, sharedRef, protectRef]
56
+ root: w,
57
+ othersRef: [k, g, b]
58
58
  };
59
59
  default:
60
60
  throw new Error("no.root.node");
61
61
  }
62
- }, [ownerRoot, sharedRoot, protectRoot, publicRoot]), loadContent = useCallback(() => {
63
- switch (currentFilter) {
62
+ }, [u, h, l, w]), q = j(() => {
63
+ switch (T) {
64
64
  case "owner":
65
- loadOwnerDocs(currentNode.id);
65
+ A(c.id);
66
66
  break;
67
67
  case "shared":
68
- loadSharedDocs(currentNode.id);
68
+ V(c.id);
69
69
  break;
70
70
  case "protected":
71
- loadProtectedDocs(currentNode.id);
71
+ W(c.id);
72
72
  break;
73
73
  case "public":
74
- loadPublicDocs(currentNode.id);
74
+ z(c.id);
75
75
  break;
76
76
  default:
77
77
  throw new Error("no.way");
78
78
  }
79
- }, [currentFilter, currentNode.id, loadOwnerDocs, loadProtectedDocs, loadPublicDocs, loadSharedDocs]);
80
- function selectAndLoadContent(filter, nodeId) {
81
- setCurrentFilter(filter);
79
+ }, [T, c.id, A, W, z, V]);
80
+ function a(e, t) {
81
+ X(e);
82
82
  const {
83
- root,
84
- othersRef
85
- } = rootNodeFor(filter), targetNode = findTreeNode(root, (node) => node.id === nodeId);
86
- targetNode && (setCurrentNode(targetNode), othersRef.forEach((otherRef) => {
87
- var _a;
88
- return (_a = otherRef.current) == null ? void 0 : _a.unselectAll();
83
+ root: n,
84
+ othersRef: i
85
+ } = $(e), H = de(n, (U) => U.id === t);
86
+ H && (Y(H), i.forEach((U) => {
87
+ var J;
88
+ return (J = U.current) == null ? void 0 : J.unselectAll();
89
89
  }));
90
90
  }
91
- useEffect(() => {
92
- var _a;
93
- let ref;
94
- switch (currentFilter) {
91
+ L(() => {
92
+ var t;
93
+ let e;
94
+ switch (T) {
95
95
  case "owner":
96
- ref = ownerRef;
96
+ e = k;
97
97
  break;
98
98
  case "shared":
99
- ref = sharedRef;
99
+ e = g;
100
100
  break;
101
101
  case "protected":
102
- ref = protectRef;
102
+ e = b;
103
103
  break;
104
104
  case "public":
105
- ref = publicRef;
105
+ e = C;
106
106
  break;
107
107
  default:
108
108
  return;
109
109
  }
110
- (_a = ref == null ? void 0 : ref.current) == null || _a.select("root");
111
- }, [currentFilter]), useEffect(loadContent, [loadContent]), useEffect(() => {
112
- if (currentNode.files) {
113
- let list = [].concat(currentNode.files);
114
- searchTerm && (list = list.filter((f) => f.name.indexOf(searchTerm) >= 0));
115
- const sortFunction = sortOrder[0] === "name" ? sortOrder[1] === "asc" ? (a, b) => compare(a.name, b.name) : (a, b) => compare(b.name, a.name) : (a, b) => compare(b.modified, a.modified);
116
- setDocuments(() => list.sort(sortFunction));
110
+ (t = e == null ? void 0 : e.current) == null || t.select("root");
111
+ }, [T]), L(q, [q]), L(() => {
112
+ if (c.files) {
113
+ let e = [].concat(c.files);
114
+ v && (e = e.filter((n) => n.name.indexOf(v) >= 0));
115
+ const t = S[0] === "name" ? S[1] === "asc" ? (n, i) => O(n.name, i.name) : (n, i) => O(i.name, n.name) : (n, i) => O(i.modified, n.modified);
116
+ B(() => e.sort(t));
117
117
  } else
118
- setDocuments(void 0);
119
- }, [currentNode, ownerRoot, protectRoot, sharedRoot, publicRoot, searchTerm, sortOrder]);
120
- const handleSearchChange = useCallback((e) => {
121
- setSearchTerm(e.target.value);
122
- }, [setSearchTerm]);
123
- function compare(a, b) {
124
- return a ? b ? a.localeCompare(b) : 1 : -1;
118
+ B(void 0);
119
+ }, [c, u, l, h, w, v, S]);
120
+ const F = j((e) => {
121
+ G(e.target.value);
122
+ }, [G]);
123
+ function O(e, t) {
124
+ return e ? t ? e.localeCompare(t) : 1 : -1;
125
125
  }
126
- function getSortOrderLabel() {
127
- return sortOrder[0] === "name" ? sortOrder[1] === "asc" ? t("sort.order.alpha.asc") : t("sort.order.alpha.desc") : t("sort.order.modify.desc");
126
+ function ee() {
127
+ return S[0] === "name" ? S[1] === "asc" ? o("sort.order.alpha.asc") : o("sort.order.alpha.desc") : o("sort.order.modify.desc");
128
128
  }
129
- function handleSelectDoc(doc) {
130
- let currentDocuments = [...selectedDocuments];
131
- multiple ? currentDocuments.includes(doc) ? currentDocuments = currentDocuments.filter((selectedDocument) => selectedDocument._id !== doc._id) : currentDocuments = [...currentDocuments, doc] : currentDocuments = [doc], setSelectedDocuments(currentDocuments), onSelect(currentDocuments);
129
+ function re(e) {
130
+ let t = [...M];
131
+ P ? t.includes(e) ? t = t.filter((n) => n._id !== e._id) : t = [...t, e] : t = [e], Z(t), K(t);
132
132
  }
133
- const workspace = clsx("workspace flex-grow-1 gap-0", className);
134
- return /* @__PURE__ */ jsxs(Grid, { className: workspace, children: [
135
- /* @__PURE__ */ jsx(Grid.Col, { sm: "12", md: "3", xl: "4", className: "workspace-folders p-12 pt-0 gap-12", children: /* @__PURE__ */ jsxs("div", { style: {
133
+ const te = oe("workspace flex-grow-1 gap-0", Q);
134
+ return /* @__PURE__ */ d(p, { className: te, children: [
135
+ /* @__PURE__ */ r(p.Col, { sm: "12", md: "3", xl: "4", className: "workspace-folders p-12 pt-0 gap-12", children: /* @__PURE__ */ d("div", { style: {
136
136
  position: "sticky",
137
137
  top: 0,
138
138
  paddingTop: "1.2rem"
139
139
  }, children: [
140
- /* @__PURE__ */ jsx(TreeView, { ref: ownerRef, data: ownerRoot, onTreeItemSelect: (nodeId) => selectAndLoadContent("owner", nodeId), onTreeItemUnfold: (nodeId) => selectAndLoadContent("owner", nodeId) }),
141
- /* @__PURE__ */ jsx(TreeView, { ref: sharedRef, data: sharedRoot, onTreeItemSelect: (nodeId) => selectAndLoadContent("shared", nodeId), onTreeItemUnfold: (nodeId) => selectAndLoadContent("shared", nodeId) }),
142
- /* @__PURE__ */ jsx(TreeView, { ref: protectRef, data: protectRoot, onTreeItemSelect: (nodeId) => selectAndLoadContent("protected", nodeId), onTreeItemUnfold: (nodeId) => selectAndLoadContent("protected", nodeId) }),
143
- showPublicFolder && /* @__PURE__ */ jsx(TreeView, { ref: publicRef, data: publicRoot, onTreeItemSelect: (nodeId) => selectAndLoadContent("public", nodeId), onTreeItemUnfold: (nodeId) => selectAndLoadContent("public", nodeId) })
140
+ /* @__PURE__ */ r(y, { ref: k, data: u, onTreeItemSelect: (e) => a("owner", e), onTreeItemUnfold: (e) => a("owner", e) }),
141
+ /* @__PURE__ */ r(y, { ref: g, data: h, onTreeItemSelect: (e) => a("shared", e), onTreeItemUnfold: (e) => a("shared", e) }),
142
+ /* @__PURE__ */ r(y, { ref: b, data: l, onTreeItemSelect: (e) => a("protected", e), onTreeItemUnfold: (e) => a("protected", e) }),
143
+ I && /* @__PURE__ */ r(y, { ref: C, data: w, onTreeItemSelect: (e) => a("public", e), onTreeItemUnfold: (e) => a("public", e) })
144
144
  ] }) }),
145
- /* @__PURE__ */ jsx(Grid.Col, { sm: "12", md: "5", xl: "8", children: /* @__PURE__ */ jsxs(Grid, { className: "flex-grow-1 gap-0", children: [
146
- /* @__PURE__ */ jsxs(Grid.Col, { sm: "4", md: "8", xl: "12", children: [
147
- /* @__PURE__ */ jsx("div", { className: "workspace-search px-16 py-8 ", children: /* @__PURE__ */ jsx(SearchBar, { isVariant: !0, className: "gap-16", onChange: handleSearchChange }) }),
148
- /* @__PURE__ */ jsxs("div", { className: "d-flex align-items-center justify-content-end px-8 py-4", children: [
149
- /* @__PURE__ */ jsx("small", { className: "text-muted", children: t("workspace.search.order") }),
150
- /* @__PURE__ */ jsxs(Dropdown, { children: [
151
- /* @__PURE__ */ jsx(Dropdown.Trigger, { size: "sm", label: getSortOrderLabel(), variant: "ghost" }),
152
- /* @__PURE__ */ jsxs(Dropdown.Menu, { children: [
153
- /* @__PURE__ */ jsx(Dropdown.Item, { icon: /* @__PURE__ */ jsx(Icon, { name: "sort-time" }), onClick: () => setSortOrder(["modified", "desc"]), children: t("sort.order.modify.desc") }),
154
- /* @__PURE__ */ jsx(Dropdown.Item, { icon: /* @__PURE__ */ jsx(Icon, { name: "sort-ascending-letters" }), onClick: () => setSortOrder(["name", "asc"]), children: t("sort.order.alpha.asc") }),
155
- /* @__PURE__ */ jsx(Dropdown.Item, { icon: /* @__PURE__ */ jsx(Icon, { name: "sort-descending-letters" }), onClick: () => setSortOrder(["name", "desc"]), children: t("sort.order.alpha.desc") })
145
+ /* @__PURE__ */ r(p.Col, { sm: "12", md: "5", xl: "8", children: /* @__PURE__ */ d(p, { className: "flex-grow-1 gap-0", children: [
146
+ /* @__PURE__ */ d(p.Col, { sm: "4", md: "8", xl: "12", children: [
147
+ /* @__PURE__ */ r("div", { className: "workspace-search px-16 py-8 ", children: /* @__PURE__ */ r(ce, { isVariant: !0, className: "gap-16", onChange: F }) }),
148
+ /* @__PURE__ */ d("div", { className: "d-flex align-items-center justify-content-end px-8 py-4", children: [
149
+ /* @__PURE__ */ r("small", { className: "text-muted", children: o("workspace.search.order") }),
150
+ /* @__PURE__ */ d(f, { children: [
151
+ /* @__PURE__ */ r(f.Trigger, { size: "sm", label: ee(), variant: "ghost" }),
152
+ /* @__PURE__ */ d(f.Menu, { children: [
153
+ /* @__PURE__ */ r(f.Item, { icon: /* @__PURE__ */ r(_, { name: "sort-time" }), onClick: () => E(["modified", "desc"]), children: o("sort.order.modify.desc") }),
154
+ /* @__PURE__ */ r(f.Item, { icon: /* @__PURE__ */ r(_, { name: "sort-ascending-letters" }), onClick: () => E(["name", "asc"]), children: o("sort.order.alpha.asc") }),
155
+ /* @__PURE__ */ r(f.Item, { icon: /* @__PURE__ */ r(_, { name: "sort-descending-letters" }), onClick: () => E(["name", "desc"]), children: o("sort.order.alpha.desc") })
156
156
  ] })
157
157
  ] })
158
158
  ] })
159
159
  ] }),
160
- /* @__PURE__ */ jsx(Grid.Col, { sm: "4", md: "8", xl: "12", className: "p-8 gap-8", children: documents ? documents.length !== 0 ? /* @__PURE__ */ jsx("div", { className: "grid grid-workspace", children: documents.map((doc) => {
161
- const isSelected = selectedDocuments.includes(doc);
162
- return /* @__PURE__ */ jsx(FileCard, { doc, isSelected, onClick: () => handleSelectDoc(doc) }, doc._id);
163
- }) }) : /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: "/assets/themes/edifice-bootstrap/images/emptyscreen/illu-trash.svg", text: t("workspace.empty.docSpace"), title: t("explorer.emptyScreen.trash.title") }) : /* @__PURE__ */ jsx(LoadingScreen, {}) })
160
+ /* @__PURE__ */ r(p.Col, { sm: "4", md: "8", xl: "12", className: "p-8 gap-8", children: D ? D.length !== 0 ? /* @__PURE__ */ r("div", { className: "grid grid-workspace", children: D.map((e) => {
161
+ const t = M.includes(e);
162
+ return /* @__PURE__ */ r(se, { doc: e, isSelected: t, onClick: () => re(e) }, e._id);
163
+ }) }) : /* @__PURE__ */ r(ie, { imageSrc: "/assets/themes/edifice-bootstrap/images/emptyscreen/illu-trash.svg", text: o("workspace.empty.docSpace"), title: o("explorer.emptyScreen.trash.title") }) : /* @__PURE__ */ r(ae, {}) })
164
164
  ] }) })
165
165
  ] });
166
166
  };
167
167
  export {
168
- Workspace as default
168
+ Ne as default
169
169
  };
170
+ //# sourceMappingURL=Workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Workspace.js","sources":["../../../../src/modules/multimedia/Workspace/Workspace.tsx"],"sourcesContent":["import { ChangeEvent, useCallback, useEffect, useRef, useState } from 'react';\n\nimport {\n Role,\n WorkspaceElement,\n WorkspaceSearchFilter,\n} from '@edifice.io/ts-client';\nimport clsx from 'clsx';\nimport { useTranslation } from 'react-i18next';\n\nimport {\n Dropdown,\n EmptyScreen,\n FileCard,\n Grid,\n Icon,\n LoadingScreen,\n SearchBar,\n TreeView,\n TreeViewHandlers,\n} from '../../../components';\nimport { useWorkspaceSearch } from '../../../core';\nimport { FolderNode } from '../../../core/useWorkspaceSearch/useWorkspaceSearch';\nimport { findTreeNode } from '../../../utils';\n\n/**\n * MediaLibrary component properties\n */\nexport interface WorkspaceProps {\n /**\n * Only display media elements having this role[s] (=generic file format).\n * Set to null to display all medias.\n */\n roles: Role | Role[] | null;\n /**\n * If defined, try to auto-select the folder dedicated to this filter.\n */\n defaultFolder?: WorkspaceSearchFilter;\n /**\n * Allow selecting public documents.\n */\n showPublicFolder?: boolean;\n /**\n * Notify parent when media elements are successfully selected.\n */\n onSelect: (result: WorkspaceElement[]) => void;\n /**\n * Boolean to know if we can select 1 or many files.\n */\n multiple?: boolean | undefined;\n /**\n * Optional class for styling purpose\n */\n className?: string;\n}\n\nconst Workspace = ({\n roles,\n onSelect,\n multiple = true,\n className,\n defaultFolder,\n showPublicFolder,\n}: WorkspaceProps) => {\n const { t } = useTranslation();\n\n const { root: ownerRoot, loadContent: loadOwnerDocs } = useWorkspaceSearch(\n 'root',\n t('workspace.tree.owner'),\n 'owner',\n roles,\n );\n const { root: sharedRoot, loadContent: loadSharedDocs } = useWorkspaceSearch(\n 'root',\n t('workspace.tree.shared'),\n 'shared',\n roles,\n );\n const { root: protectRoot, loadContent: loadProtectedDocs } =\n useWorkspaceSearch(\n 'root',\n t('workspace.tree.protected'),\n 'protected',\n roles,\n );\n const { root: publicRoot, loadContent: loadPublicDocs } = useWorkspaceSearch(\n 'root',\n t('workspace.tree.public'),\n 'public',\n roles,\n );\n\n const ownerRef = useRef<TreeViewHandlers>(null);\n const sharedRef = useRef<TreeViewHandlers>(null);\n const protectRef = useRef<TreeViewHandlers>(null);\n const publicRef = useRef<TreeViewHandlers>(null);\n\n const [currentFilter, setCurrentFilter] = useState<WorkspaceSearchFilter>(\n () => {\n // Determine which root folder to load at first.\n if ('public' === defaultFolder) {\n return showPublicFolder ? defaultFolder : 'protected';\n }\n if ('protected' === defaultFolder || 'shared' === defaultFolder)\n return defaultFolder;\n return 'owner';\n },\n );\n\n const [currentNode, setCurrentNode] = useState<FolderNode>(() => {\n // Determine which root folder to load at first.\n if ('public' === defaultFolder) {\n return showPublicFolder ? publicRoot : protectRoot;\n }\n if ('protected' === defaultFolder) return protectRoot;\n if ('shared' === defaultFolder) return sharedRoot;\n return ownerRoot;\n });\n\n const [documents, setDocuments] = useState<WorkspaceElement[] | undefined>();\n\n const [searchTerm, setSearchTerm] = useState<string | undefined>(null!);\n\n const [sortOrder, setSortOrder] = useState<[string, string]>([\n 'modified',\n 'desc',\n ]);\n\n const [selectedDocuments, setSelectedDocuments] = useState<\n WorkspaceElement[]\n >([]);\n\n /**\n * Retrieve the stateful TreeNode matching a WorkspaceSearchFilter value\n */\n const rootNodeFor: (filter: WorkspaceSearchFilter) => {\n root: FolderNode;\n othersRef: React.RefObject<TreeViewHandlers>[];\n } = useCallback(\n (filter: WorkspaceSearchFilter) => {\n switch (filter) {\n case 'owner':\n return {\n root: ownerRoot,\n othersRef: [sharedRef, protectRef, publicRef],\n };\n case 'shared':\n return {\n root: sharedRoot,\n othersRef: [ownerRef, protectRef, publicRef],\n };\n case 'protected':\n return {\n root: protectRoot,\n othersRef: [ownerRef, sharedRef, publicRef],\n };\n case 'public':\n return {\n root: publicRoot,\n othersRef: [ownerRef, sharedRef, protectRef],\n };\n default:\n throw new Error('no.root.node');\n }\n },\n [ownerRoot, sharedRoot, protectRoot, publicRoot],\n );\n\n /**\n * Load current node children (folders and files)\n */\n const loadContent = useCallback(() => {\n switch (currentFilter) {\n case 'owner':\n loadOwnerDocs(currentNode.id);\n break;\n case 'shared':\n loadSharedDocs(currentNode.id);\n break;\n case 'protected':\n loadProtectedDocs(currentNode.id);\n break;\n case 'public':\n loadPublicDocs(currentNode.id);\n break;\n default:\n throw new Error('no.way');\n }\n }, [\n currentFilter,\n currentNode.id,\n loadOwnerDocs,\n loadProtectedDocs,\n loadPublicDocs,\n loadSharedDocs,\n ]);\n\n function selectAndLoadContent(filter: WorkspaceSearchFilter, nodeId: string) {\n // Apply filters and nodeId, and send a command to the node's Tree\n setCurrentFilter(filter);\n const { root, othersRef } = rootNodeFor(filter);\n const targetNode = findTreeNode(root, (node) => node.id === nodeId);\n if (targetNode) {\n setCurrentNode(targetNode);\n // Reset others current selection, if any\n othersRef.forEach((otherRef) => otherRef.current?.unselectAll());\n }\n }\n\n /** Select a tree node */\n useEffect(() => {\n let ref;\n switch (currentFilter) {\n case 'owner':\n ref = ownerRef;\n break;\n case 'shared':\n ref = sharedRef;\n break;\n case 'protected':\n ref = protectRef;\n break;\n case 'public':\n ref = publicRef;\n break;\n default:\n return;\n }\n // Selecting a tree node here will trigger a selectAndLoadContent()\n ref?.current?.select('root');\n }, [currentFilter]);\n\n /** Load content when the callback is updated. */\n useEffect(loadContent, [loadContent]);\n\n /** Display documents when currentNode or searchTerm or sortOrder changes */\n useEffect(() => {\n if (currentNode.files) {\n let list = ([] as WorkspaceElement[]).concat(currentNode.files);\n // Apply search terms\n if (searchTerm) {\n list = list.filter((f) => f.name.indexOf(searchTerm) >= 0);\n }\n // Apply sort order\n const sortFunction: (a: any, b: any) => number =\n sortOrder[0] === 'name'\n ? sortOrder[1] === 'asc'\n ? (a, b) => compare(a.name, b.name)\n : (a, b) => compare(b.name, a.name)\n : (a, b) => compare(b.modified, a.modified);\n\n setDocuments(() => list.sort(sortFunction));\n } else {\n setDocuments(undefined);\n }\n }, [\n currentNode,\n ownerRoot,\n protectRoot,\n sharedRoot,\n publicRoot,\n searchTerm,\n sortOrder,\n ]);\n\n const handleSearchChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n setSearchTerm(e.target.value);\n },\n [setSearchTerm],\n );\n\n function compare(a: string, b: string) {\n if (!a) return -1;\n if (!b) return 1;\n return a.localeCompare(b);\n }\n\n function getSortOrderLabel() {\n return sortOrder[0] === 'name'\n ? sortOrder[1] === 'asc'\n ? t('sort.order.alpha.asc')\n : t('sort.order.alpha.desc')\n : t('sort.order.modify.desc');\n }\n\n function handleSelectDoc(doc: WorkspaceElement) {\n let currentDocuments = [...selectedDocuments];\n if (!multiple) {\n currentDocuments = [doc];\n } else if (currentDocuments.includes(doc)) {\n currentDocuments = currentDocuments.filter(\n (selectedDocument) => selectedDocument._id !== doc._id,\n );\n } else {\n currentDocuments = [...currentDocuments, doc];\n }\n setSelectedDocuments(currentDocuments);\n onSelect(currentDocuments);\n }\n\n const workspace = clsx('workspace flex-grow-1 gap-0', className);\n\n return (\n <Grid className={workspace}>\n <Grid.Col\n sm=\"12\"\n md=\"3\"\n xl=\"4\"\n className=\"workspace-folders p-12 pt-0 gap-12\"\n >\n <div style={{ position: 'sticky', top: 0, paddingTop: '1.2rem' }}>\n <TreeView\n ref={ownerRef}\n data={ownerRoot}\n onTreeItemSelect={(nodeId) => selectAndLoadContent('owner', nodeId)}\n onTreeItemUnfold={(nodeId) => selectAndLoadContent('owner', nodeId)}\n />\n <TreeView\n ref={sharedRef}\n data={sharedRoot}\n onTreeItemSelect={(nodeId) =>\n selectAndLoadContent('shared', nodeId)\n }\n onTreeItemUnfold={(nodeId) =>\n selectAndLoadContent('shared', nodeId)\n }\n />\n <TreeView\n ref={protectRef}\n data={protectRoot}\n onTreeItemSelect={(nodeId) =>\n selectAndLoadContent('protected', nodeId)\n }\n onTreeItemUnfold={(nodeId) =>\n selectAndLoadContent('protected', nodeId)\n }\n />\n {showPublicFolder && (\n <TreeView\n ref={publicRef}\n data={publicRoot}\n onTreeItemSelect={(nodeId) =>\n selectAndLoadContent('public', nodeId)\n }\n onTreeItemUnfold={(nodeId) =>\n selectAndLoadContent('public', nodeId)\n }\n />\n )}\n </div>\n </Grid.Col>\n <Grid.Col sm=\"12\" md=\"5\" xl=\"8\">\n <Grid className=\"flex-grow-1 gap-0\">\n <Grid.Col sm=\"4\" md=\"8\" xl=\"12\">\n <div className=\"workspace-search px-16 py-8 \">\n <SearchBar\n isVariant={true}\n className=\"gap-16\"\n onChange={handleSearchChange}\n />\n </div>\n <div className=\"d-flex align-items-center justify-content-end px-8 py-4\">\n <small className=\"text-muted\">\n {t('workspace.search.order')}\n </small>\n <Dropdown>\n <Dropdown.Trigger\n size=\"sm\"\n label={getSortOrderLabel()}\n variant=\"ghost\"\n />\n <Dropdown.Menu>\n <Dropdown.Item\n icon={<Icon name=\"sort-time\" />}\n onClick={() => setSortOrder(['modified', 'desc'])}\n >\n {t('sort.order.modify.desc')}\n </Dropdown.Item>\n <Dropdown.Item\n icon={<Icon name=\"sort-ascending-letters\" />}\n onClick={() => setSortOrder(['name', 'asc'])}\n >\n {t('sort.order.alpha.asc')}\n </Dropdown.Item>\n <Dropdown.Item\n icon={<Icon name=\"sort-descending-letters\" />}\n onClick={() => setSortOrder(['name', 'desc'])}\n >\n {t('sort.order.alpha.desc')}\n </Dropdown.Item>\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </Grid.Col>\n <Grid.Col sm=\"4\" md=\"8\" xl=\"12\" className=\"p-8 gap-8\">\n {!documents ? (\n <LoadingScreen />\n ) : documents.length !== 0 ? (\n <div className=\"grid grid-workspace\">\n {documents.map((doc) => {\n const isSelected = selectedDocuments.includes(doc);\n return (\n <FileCard\n key={doc._id}\n doc={doc}\n isSelected={isSelected}\n onClick={() => handleSelectDoc(doc)}\n />\n );\n })}\n </div>\n ) : (\n <EmptyScreen\n imageSrc=\"/assets/themes/edifice-bootstrap/images/emptyscreen/illu-trash.svg\"\n text={t('workspace.empty.docSpace')}\n title={t('explorer.emptyScreen.trash.title')}\n />\n )}\n </Grid.Col>\n </Grid>\n </Grid.Col>\n </Grid>\n );\n};\nexport default Workspace;\n"],"names":["Workspace","roles","onSelect","multiple","className","defaultFolder","showPublicFolder","t","useTranslation","root","ownerRoot","loadContent","loadOwnerDocs","useWorkspaceSearch","sharedRoot","loadSharedDocs","protectRoot","loadProtectedDocs","publicRoot","loadPublicDocs","ownerRef","useRef","sharedRef","protectRef","publicRef","currentFilter","setCurrentFilter","useState","currentNode","setCurrentNode","documents","setDocuments","searchTerm","setSearchTerm","sortOrder","setSortOrder","selectedDocuments","setSelectedDocuments","rootNodeFor","useCallback","filter","othersRef","Error","id","selectAndLoadContent","nodeId","targetNode","findTreeNode","node","forEach","otherRef","current","unselectAll","useEffect","ref","select","files","list","concat","f","name","indexOf","sortFunction","a","b","compare","modified","sort","undefined","handleSearchChange","e","target","value","localeCompare","getSortOrderLabel","handleSelectDoc","doc","currentDocuments","includes","selectedDocument","_id","workspace","clsx","jsxs","Grid","jsx","position","top","paddingTop","TreeView","SearchBar","Dropdown","Icon","length","map","isSelected","FileCard","EmptyScreen","LoadingScreen"],"mappings":"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"}
@@ -1,20 +1,21 @@
1
- import { default as default2 } from "./modules/multimedia/Workspace/Workspace.js";
2
- import { default as default3 } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
3
- import { default as default4 } from "./modules/multimedia/Linker/InternalLinker.js";
4
- import { default as default5 } from "./modules/multimedia/Linker/ExternalLinker.js";
5
- import { default as default6 } from "./modules/multimedia/AudioRecorder/AudioRecorder.js";
6
- import { default as default7 } from "./modules/multimedia/Embed/Embed.js";
7
- import { default as default8 } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
8
- import { default as default9 } from "./modules/multimedia/MediaLibrary/MediaLibrary.js";
9
- import { LinkerCard } from "./modules/multimedia/LinkerCard/LinkerCard.js";
1
+ import { default as o } from "./modules/multimedia/Workspace/Workspace.js";
2
+ import { default as t } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
3
+ import { default as d } from "./modules/multimedia/Linker/InternalLinker.js";
4
+ import { default as l } from "./modules/multimedia/Linker/ExternalLinker.js";
5
+ import { default as x } from "./modules/multimedia/AudioRecorder/AudioRecorder.js";
6
+ import { default as u } from "./modules/multimedia/Embed/Embed.js";
7
+ import { default as n } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
8
+ import { default as L } from "./modules/multimedia/MediaLibrary/MediaLibrary.js";
9
+ import { LinkerCard as E } from "./modules/multimedia/LinkerCard/LinkerCard.js";
10
10
  export {
11
- default6 as AudioRecorder,
12
- default7 as Embed,
13
- default5 as ExternalLinker,
14
- default8 as ImageEditor,
15
- default4 as InternalLinker,
16
- LinkerCard,
17
- default9 as MediaLibrary,
18
- default3 as VideoRecorder,
19
- default2 as Workspace
11
+ x as AudioRecorder,
12
+ u as Embed,
13
+ l as ExternalLinker,
14
+ n as ImageEditor,
15
+ d as InternalLinker,
16
+ E as LinkerCard,
17
+ L as MediaLibrary,
18
+ t as VideoRecorder,
19
+ o as Workspace
20
20
  };
21
+ //# sourceMappingURL=multimedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multimedia.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,9 +1,10 @@
1
- import { jsx } from "react/jsx-runtime";
2
- function Badge({
3
- children
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ function e({
3
+ children: n
4
4
  }) {
5
- return /* @__PURE__ */ jsx("span", { className: "position-absolute badge rounded-pill bg-warning", children });
5
+ return /* @__PURE__ */ o("span", { className: "position-absolute badge rounded-pill bg-warning", children: n });
6
6
  }
7
7
  export {
8
- Badge
8
+ e as Badge
9
9
  };
10
+ //# sourceMappingURL=Badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.js","sources":["../../../src/portal/Header/Badge.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nexport interface BadgeProps {\n children: ReactNode;\n}\n\nexport function Badge({ children }: BadgeProps) {\n return (\n <span className=\"position-absolute badge rounded-pill bg-warning\">\n {children}\n </span>\n );\n}\n"],"names":["Badge","children","jsx"],"mappings":";AAMO,SAASA,EAAM;AAAA,EAAEC,UAAAA;AAAqB,GAAG;AAC9C,SACG,gBAAAC,EAAA,QAAA,EAAK,WAAU,mDACbD,UAAAA,EACH,CAAA;AAEJ;"}