@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":"useMediaLibraryEditor.js","sources":["../../../../src/modules/editor/hooks/useMediaLibraryEditor.ts"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\nimport { WorkspaceElement } from '@edifice.io/ts-client';\nimport { Editor } from '@tiptap/react';\nimport {\n TabsItemProps,\n addTimestampToImageUrl,\n useWorkspaceFile,\n} from '../../..';\nimport {\n IExternalLink,\n InternalLinkTabResult,\n MediaLibraryRef,\n MediaLibraryResult,\n MediaLibraryType,\n} from '../../multimedia';\n\n/**\n * Custom hook to manage MediaLibrary events in an editor.\n * @param editor an instance\n * @returns {\n * `ref`: a reference to a MediaLibrary instance,\n * `onCancel`: Cancel event handler,\n * `onSuccess`: Success event handler (adds a formula to the editor content),\n * }\n */\nexport const useMediaLibraryEditor = (editor: Editor | null) => {\n const { remove } = useWorkspaceFile();\n\n /**\n * Convert the result of a successful action in MediaLibrary\n * - to a call to the editor's dedicated command,\n * or\n * - to an HTML fragment of rich content + insert it.\n *\n * The inital result depends on the MediaLibrary type.\n */\n const appendResult = useCallback(\n (type: MediaLibraryType, result: MediaLibraryResult) => {\n if (!type || !editor) return;\n\n switch (type) {\n // Image type => result is of type WorkspaceElement[]\n case 'image': {\n const images = result as WorkspaceElement[];\n const imagesSize = images.length - 1;\n\n images.forEach((image, index) => {\n const url = `/workspace/${image.public ? 'pub/' : ''}document/${\n image._id\n }`;\n\n editor\n ?.chain()\n .focus()\n .setNewImage({\n /**\n * WB-3053: addTimestampToImageUrl to update correctly image in tiptap-image-extension\n */\n src: addTimestampToImageUrl(url),\n alt: image.alt,\n title: image.title,\n })\n .run();\n // Deselect the image, so that next images are added afterward. Select only the last image.\n if (index < imagesSize) {\n editor?.commands.setTextSelection(editor.state.selection.to);\n }\n });\n break;\n }\n\n // Audio type => result is of type WorkspaceElement[]\n case 'audio': {\n const sounds = Array.isArray(result)\n ? (result as WorkspaceElement[])\n : [result];\n // The setAudio() command does not auto-select the inserted audio.\n // => reset the cursor position after inserting\n const { from } = editor.state.selection;\n sounds.reverse().forEach((sound: WorkspaceElement) => {\n editor?.commands.setAudio(\n sound._id || '',\n `/workspace/${sound.public ? 'pub/' : ''}document/${sound._id}`,\n );\n editor?.commands.setTextSelection(from);\n });\n break;\n }\n\n // Video type => result is of type WorkspaceElement[] or string\n case 'video': {\n if (typeof result === 'string') {\n // This is a video Embedded code (iframe from trusted media provider)\n editor?.commands.insertContentAt(\n editor.view.state.selection,\n result,\n );\n } else {\n const videos = result as WorkspaceElement[];\n // The setVideo() command does not auto-select the inserted video.\n // => reset the cursor position after inserting\n const { from } = editor.state.selection;\n videos.reverse().forEach((video) => {\n editor?.commands.setVideo(\n video._id || '',\n `/workspace/${video.public ? 'pub/' : ''}document/${video._id}`,\n true,\n );\n editor?.commands.setTextSelection(from);\n });\n }\n break;\n }\n\n case 'attachment': {\n let innerHtml = '';\n for (let i = 0; i < result.length; i++) {\n const link = (result as WorkspaceElement[])[i];\n innerHtml += `<a href=\"/workspace/${\n link.public ? 'pub/' : ''\n }document/${link._id}\">${link.name}\n </a>`;\n }\n const richContent = `<div class=\"attachments\">\n ${innerHtml}\n </div>`;\n editor?.commands.insertContentAt(\n editor.view.state.selection,\n richContent,\n );\n editor?.commands.enter();\n break;\n }\n\n case 'hyperlink': {\n const resourceTabResult = result as InternalLinkTabResult;\n // Cancel any pre-selected link\n if (editor?.isActive('linker')) editor.commands.unsetLinker();\n if (editor?.isActive('hyperlink'))\n editor.commands.toggleMark('hyperlink');\n\n // Manage new links\n editor?.commands.focus();\n if (\n editor.state.selection.empty &&\n Array.isArray(resourceTabResult.resources)\n ) {\n // One or more internal link(s) are rendered as a Badge.\n resourceTabResult.resources.forEach((link) => {\n editor?.commands.setLinker({\n href: link.path,\n 'data-app-prefix': link.application,\n 'data-id': link.assetId,\n target: resourceTabResult.target ?? null,\n title: link.name,\n });\n // Add next links afterward.\n if (\n resourceTabResult &&\n resourceTabResult.resources &&\n resourceTabResult.resources.length > 1\n ) {\n editor.commands.enter();\n }\n });\n } else {\n // Links are rendered as Hyperlinks\n // Utility function\n const insertAndSelectText = (name?: string) => {\n if (!name) return;\n const from = editor.state.selection.head;\n const to = from + name.length;\n editor\n ?.chain()\n .insertContent(name)\n .setTextSelection({ from, to })\n .run();\n };\n\n // *** Case of internal links ***\n if (Array.isArray(resourceTabResult.resources)) {\n resourceTabResult.resources.forEach((link) => {\n if (editor.state.selection.empty) {\n // No text is currently selected.\n // => Insert the name of the first link and select it.\n insertAndSelectText(link.name);\n }\n // Add a hyperlink to the selection.\n editor?.commands.setLink({\n href: link.path,\n target: resourceTabResult.target ?? null,\n });\n // Cancel selection, so that next links are added afterward.\n const newPosition = editor.state.selection.head;\n editor.commands.setTextSelection({\n from: newPosition,\n to: newPosition,\n });\n // Newline needed, unless it is the last link.\n if (\n resourceTabResult?.resources &&\n resourceTabResult?.resources?.length > 1\n ) {\n editor.commands.enter();\n }\n });\n } else {\n // *** Case of external link ***\n const { url, target, text } = result as IExternalLink;\n if (editor.state.selection.empty) {\n // No text is currently selected.\n // => Insert the name of the link and select it.\n insertAndSelectText(text);\n } else {\n const { selection } = editor.view.state;\n const { from, to } = selection;\n if (\n text &&\n selection.content().content.child(0).textContent !== text\n ) {\n editor\n .chain()\n .focus()\n .insertContentAt(\n {\n from,\n to,\n },\n text,\n )\n .setTextSelection({\n from,\n to: from + text.length,\n })\n .run();\n }\n }\n editor?.commands.setLink({\n href: url,\n title: '',\n target,\n });\n }\n }\n break;\n }\n\n case 'embedder': {\n editor?.commands.insertContentAt(editor.view.state.selection, result);\n editor?.commands.enter();\n break;\n }\n\n default:\n return `<div>[useMediaLibraryEditor/onSuccess] Le contenu de type \"${type}\" n'est pas convertissable pour l'instant !</div>`;\n }\n },\n [editor],\n );\n\n const mediaLibraryRef = useRef<MediaLibraryRef>(null);\n\n //----- Handlers\n const onCancel = async (uploads?: WorkspaceElement[]) => {\n if (mediaLibraryRef.current?.type && uploads && uploads.length > 0) {\n await remove(uploads);\n }\n mediaLibraryRef.current?.hide();\n };\n const onSuccess = (result: MediaLibraryResult) => {\n if (mediaLibraryRef.current?.type) {\n // Inject the MediaLibrary result into the editor, and close the modal.\n appendResult(mediaLibraryRef.current.type, result);\n mediaLibraryRef.current?.hide();\n }\n };\n const onTabChange = async (\n _tab: TabsItemProps,\n uploads?: WorkspaceElement[],\n ) => {\n if (mediaLibraryRef.current?.type && uploads && uploads.length > 0) {\n await remove(uploads);\n }\n };\n\n return {\n ref: mediaLibraryRef,\n onCancel,\n onSuccess,\n onTabChange,\n };\n};\n"],"names":["useMediaLibraryEditor","editor","remove","useWorkspaceFile","appendResult","useCallback","type","result","images","imagesSize","length","forEach","image","index","url","public","_id","chain","focus","setNewImage","src","addTimestampToImageUrl","alt","title","run","commands","setTextSelection","state","selection","to","sounds","Array","isArray","from","reverse","sound","setAudio","insertContentAt","view","videos","video","setVideo","innerHtml","i","link","name","richContent","enter","resourceTabResult","isActive","unsetLinker","toggleMark","empty","resources","setLinker","href","path","application","assetId","target","insertAndSelectText","head","insertContent","setLink","newPosition","text","content","child","textContent","mediaLibraryRef","useRef","ref","onCancel","uploads","current","hide","onSuccess","onTabChange","_tab"],"mappings":";;;AA0BaA,MAAAA,IAAwBA,CAACC,MAA0B;AACxD,QAAA;AAAA,IAAEC,QAAAA;AAAAA,MAAWC,EAAiB,GAU9BC,IAAeC,EACnB,CAACC,GAAwBC,MAA+B;AAClD,QAAA,GAACD,KAAQ,CAACL;AAEd,cAAQK,GAAI;AAAA,QAEV,KAAK,SAAS;AACZ,gBAAME,IAASD,GACTE,IAAaD,EAAOE,SAAS;AAE5BC,UAAAA,EAAAA,QAAQ,CAACC,GAAOC,MAAU;AACzBC,kBAAAA,IAAM,cAAcF,EAAMG,SAAS,SAAS,EAAE,YAClDH,EAAMI,GAAG;AAGXf,YAAAA,KAAAA,QAAAA,EACIgB,QACDC,QACAC,YAAY;AAAA;AAAA;AAAA;AAAA,cAIXC,KAAKC,EAAuBP,CAAG;AAAA,cAC/BQ,KAAKV,EAAMU;AAAAA,cACXC,OAAOX,EAAMW;AAAAA,YAAAA,GAEdC,OAECX,IAAQJ,MACVR,KAAAA,QAAAA,EAAQwB,SAASC,iBAAiBzB,EAAO0B,MAAMC,UAAUC;AAAAA,UAC3D,CACD;AACD;AAAA,QACF;AAAA,QAGA,KAAK,SAAS;AACZ,gBAAMC,IAASC,MAAMC,QAAQzB,CAAM,IAC9BA,IACD,CAACA,CAAM,GAGL;AAAA,YAAE0B,MAAAA;AAAAA,UAAAA,IAAShC,EAAO0B,MAAMC;AAC9BE,UAAAA,EAAOI,QAAQ,EAAEvB,QAAQ,CAACwB,MAA4B;AACpDlC,YAAAA,KAAAA,QAAAA,EAAQwB,SAASW,SACfD,EAAMnB,OAAO,IACb,cAAcmB,EAAMpB,SAAS,SAAS,EAAE,YAAYoB,EAAMnB,GAAG,KAEvDS,KAAAA,QAAAA,EAAAA,SAASC,iBAAiBO;AAAAA,UAAI,CACvC;AACD;AAAA,QACF;AAAA,QAGA,KAAK,SAAS;AACR,cAAA,OAAO1B,KAAW;AAEpBN,YAAAA,KAAAA,QAAAA,EAAQwB,SAASY,gBACfpC,EAAOqC,KAAKX,MAAMC,WAClBrB;AAAAA,eAEG;AACL,kBAAMgC,IAAShC,GAGT;AAAA,cAAE0B,MAAAA;AAAAA,YAAAA,IAAShC,EAAO0B,MAAMC;AACvBM,YAAAA,EAAAA,QAAAA,EAAUvB,QAAS6B,CAAUA,MAAA;AAClCvC,cAAAA,KAAAA,QAAAA,EAAQwB,SAASgB,SACfD,EAAMxB,OAAO,IACb,cAAcwB,EAAMzB,SAAS,SAAS,EAAE,YAAYyB,EAAMxB,GAAG,IAC7D,KAEMS,KAAAA,QAAAA,EAAAA,SAASC,iBAAiBO;AAAAA,YAAI,CACvC;AAAA,UACH;AACA;AAAA,QACF;AAAA,QAEA,KAAK,cAAc;AACjB,cAAIS,IAAY;AAChB,mBAASC,IAAI,GAAGA,IAAIpC,EAAOG,QAAQiC,KAAK;AAChCC,kBAAAA,IAAQrC,EAA8BoC,CAAC;AAChC,YAAAD,KAAA,uBACXE,EAAK7B,SAAS,SAAS,EAAE,YACf6B,EAAK5B,GAAG,KAAK4B,EAAKC,IAAI;AAAA;AAAA,UAEpC;AACA,gBAAMC,IAAc;AAAA,cAChBJ,CAAS;AAAA;AAEbzC,UAAAA,KAAAA,QAAAA,EAAQwB,SAASY,gBACfpC,EAAOqC,KAAKX,MAAMC,WAClBkB,IAEF7C,KAAAA,QAAAA,EAAQwB,SAASsB;AACjB;AAAA,QACF;AAAA,QAEA,KAAK,aAAa;AAChB,gBAAMC,IAAoBzC;AASxBN,cAPEA,KAAAA,QAAAA,EAAQgD,SAAS,aAAWhD,EAAOwB,SAASyB,eAC5CjD,KAAAA,QAAAA,EAAQgD,SAAS,gBACZxB,EAAAA,SAAS0B,WAAW,WAAW,GAGxClD,KAAAA,QAAAA,EAAQwB,SAASP,SAEfjB,EAAO0B,MAAMC,UAAUwB,SACvBrB,MAAMC,QAAQgB,EAAkBK,SAAS;AAGvBA,YAAAA,EAAAA,UAAU1C,QAASiC,CAASA,MAAA;AAC5C3C,cAAAA,KAAAA,QAAAA,EAAQwB,SAAS6B,UAAU;AAAA,gBACzBC,MAAMX,EAAKY;AAAAA,gBACX,mBAAmBZ,EAAKa;AAAAA,gBACxB,WAAWb,EAAKc;AAAAA,gBAChBC,QAAQX,EAAkBW,UAAU;AAAA,gBACpCpC,OAAOqB,EAAKC;AAAAA,cAAAA,IAIZG,KACAA,EAAkBK,aAClBL,EAAkBK,UAAU3C,SAAS,KAErCT,EAAOwB,SAASsB;YAClB,CACD;AAAA,eACI;AAGCa,kBAAAA,IAAsBA,CAACf,MAAkB;AAC7C,kBAAI,CAACA,EAAM;AACLZ,oBAAAA,IAAOhC,EAAO0B,MAAMC,UAAUiC,MAC9BhC,IAAKI,IAAOY,EAAKnC;AACvBT,cAAAA,KAAAA,QAAAA,EACIgB,QACD6C,cAAcjB,GACdnB,iBAAiB;AAAA,gBAAEO,MAAAA;AAAAA,gBAAMJ,IAAAA;AAAAA,cAAAA,GACzBL;AAAAA,YAAI;AAIT,gBAAIO,MAAMC,QAAQgB,EAAkBK,SAAS;AACzBA,cAAAA,EAAAA,UAAU1C,QAASiC,CAASA,MAAA;;AACxC3C,gBAAAA,EAAO0B,MAAMC,UAAUwB,SAGzBQ,EAAoBhB,EAAKC,IAAI,GAG/B5C,KAAAA,QAAAA,EAAQwB,SAASsC,QAAQ;AAAA,kBACvBR,MAAMX,EAAKY;AAAAA,kBACXG,QAAQX,EAAkBW,UAAU;AAAA,gBAAA;AAGhCK,sBAAAA,IAAc/D,EAAO0B,MAAMC,UAAUiC;AAC3C5D,gBAAAA,EAAOwB,SAASC,iBAAiB;AAAA,kBAC/BO,MAAM+B;AAAAA,kBACNnC,IAAImC;AAAAA,gBAAAA,CACL,GAGChB,KAAAA,QAAAA,EAAmBK,eACnBL,IAAAA,KAAAA,gBAAAA,EAAmBK,cAAnBL,gBAAAA,EAA8BtC,UAAS,KAEvCT,EAAOwB,SAASsB;cAClB,CACD;AAAA,iBACI;AAEC,oBAAA;AAAA,gBAAEjC,KAAAA;AAAAA,gBAAK6C,QAAAA;AAAAA,gBAAQM,MAAAA;AAAAA,cAAS1D,IAAAA;AAC1BN,kBAAAA,EAAO0B,MAAMC,UAAUwB;AAGzBQ,gBAAAA,EAAoBK,CAAI;AAAA,mBACnB;AACC,sBAAA;AAAA,kBAAErC,WAAAA;AAAAA,gBAAAA,IAAc3B,EAAOqC,KAAKX,OAC5B;AAAA,kBAAEM,MAAAA;AAAAA,kBAAMJ,IAAAA;AAAAA,gBAAOD,IAAAA;AAEnBqC,gBAAAA,KACArC,EAAUsC,UAAUA,QAAQC,MAAM,CAAC,EAAEC,gBAAgBH,KAErDhE,EACGgB,MAAM,EACNC,MAAM,EACNmB,gBACC;AAAA,kBACEJ,MAAAA;AAAAA,kBACAJ,IAAAA;AAAAA,gBAAAA,GAEFoC,CACF,EACCvC,iBAAiB;AAAA,kBAChBO,MAAAA;AAAAA,kBACAJ,IAAII,IAAOgC,EAAKvD;AAAAA,gBAAAA,CACjB,EACAc,IAAI;AAAA,cAEX;AACAvB,cAAAA,KAAAA,QAAAA,EAAQwB,SAASsC,QAAQ;AAAA,gBACvBR,MAAMzC;AAAAA,gBACNS,OAAO;AAAA,gBACPoC,QAAAA;AAAAA,cAAAA;AAAAA,YAEJ;AAAA,UACF;AACA;AAAA,QACF;AAAA,QAEA,KAAK,YAAY;AACf1D,UAAAA,KAAAA,QAAAA,EAAQwB,SAASY,gBAAgBpC,EAAOqC,KAAKX,MAAMC,WAAWrB,IAC9DN,KAAAA,QAAAA,EAAQwB,SAASsB;AACjB;AAAA,QACF;AAAA,QAEA;AACE,iBAAO,8DAA8DzC,CAAI;AAAA,MAC7E;AAAA,EAAA,GAEF,CAACL,CAAM,CACT,GAEMoE,IAAkBC,EAAwB,IAAI;AAyB7C,SAAA;AAAA,IACLC,KAAKF;AAAAA,IACLG,UAxBe,OAAOC,MAAiC;;AACvD,OAAIJ,IAAAA,EAAgBK,YAAhBL,QAAAA,EAAyB/D,QAAQmE,KAAWA,EAAQ/D,SAAS,KAC/D,MAAMR,EAAOuE,CAAO,IAEtBJ,IAAAA,EAAgBK,YAAhBL,QAAAA,EAAyBM;AAAAA,IAAK;AAAA,IAqB9BC,WAnBgBA,CAACrE,MAA+B;;AAC5C8D,OAAAA,IAAAA,EAAgBK,YAAhBL,QAAAA,EAAyB/D,SAEd+D,EAAAA,EAAgBK,QAAQpE,MAAMC,CAAM,IACjD8D,IAAAA,EAAgBK,YAAhBL,QAAAA,EAAyBM;AAAAA,IAC3B;AAAA,IAeAE,aAbkB,OAClBC,GACAL,MACG;;AACH,OAAIJ,IAAAA,EAAgBK,YAAhBL,QAAAA,EAAyB/D,QAAQmE,KAAWA,EAAQ/D,SAAS,KAC/D,MAAMR,EAAOuE,CAAO;AAAA,IACtB;AAAA,EAOAI;AAEJ;"}
@@ -1,47 +1,48 @@
1
- import { useRef, useEffect } from "react";
2
- const MIN_WIDTH = 80, useResizeMedia = (props, refResizable) => {
3
- const aspectRatio = useRef(0), lastCursorX = useRef(-1), isVerticalResizeActive = useRef(!1), proseMirrorContainerWidth = useRef(0), limitWidthOrHeight = (width) => width < MIN_WIDTH;
4
- useEffect(() => {
5
- const proseMirrorContainerDiv = document.querySelector(".ProseMirror");
6
- proseMirrorContainerDiv && (proseMirrorContainerWidth.current = proseMirrorContainerDiv == null ? void 0 : proseMirrorContainerDiv.clientWidth), refResizable && (aspectRatio.current = 1.5);
1
+ import { useRef as c, useEffect as g } from "react";
2
+ const f = 80, V = (w, i) => {
3
+ const h = c(0), o = c(-1), s = c(!1), u = c(0), M = (t) => t < f;
4
+ g(() => {
5
+ const t = document.querySelector(".ProseMirror");
6
+ t && (u.current = t == null ? void 0 : t.clientWidth), i && (h.current = 1.5);
7
7
  }, []);
8
- const onVerticalResize = (directionOfMouseMove, diff) => {
9
- var _a, _b;
10
- if (!refResizable) {
8
+ const v = (t, n) => {
9
+ var m, l;
10
+ if (!i) {
11
11
  console.error("Media ref is undefined|null", {
12
- refResizable
12
+ refResizable: i
13
13
  });
14
14
  return;
15
15
  }
16
- const currentMediaDimensions = {
17
- width: (_a = refResizable.current) == null ? void 0 : _a.width,
18
- height: (_b = refResizable.current) == null ? void 0 : _b.height
19
- }, newMediaDimensions = {
16
+ const r = {
17
+ width: (m = i.current) == null ? void 0 : m.width,
18
+ height: (l = i.current) == null ? void 0 : l.height
19
+ }, e = {
20
20
  width: -1,
21
21
  height: -1
22
22
  };
23
- currentMediaDimensions.width && (directionOfMouseMove === "left" ? newMediaDimensions.width = currentMediaDimensions.width - Math.abs(diff) : newMediaDimensions.width = currentMediaDimensions.width + Math.abs(diff)), newMediaDimensions.width > proseMirrorContainerWidth.current && (newMediaDimensions.width = proseMirrorContainerWidth.current), diff !== 0 && limitWidthOrHeight(newMediaDimensions.width) && (newMediaDimensions.width = MIN_WIDTH), newMediaDimensions.height = newMediaDimensions.width / aspectRatio.current, setTimeout(() => {
24
- props.updateAttributes(newMediaDimensions);
23
+ r.width && (t === "left" ? e.width = r.width - Math.abs(n) : e.width = r.width + Math.abs(n)), e.width > u.current && (e.width = u.current), n !== 0 && M(e.width) && (e.width = f), e.height = e.width / h.current, setTimeout(() => {
24
+ w.updateAttributes(e);
25
25
  });
26
- }, onVerticalMouseMove = (event) => {
27
- if (!isVerticalResizeActive.current) return;
26
+ }, a = (t) => {
27
+ if (!s.current) return;
28
28
  const {
29
- clientX
30
- } = event, diff = lastCursorX.current - clientX;
31
- if (lastCursorX.current = clientX, diff === 0) return;
32
- const directionOfMouseMove = diff > 0 ? "left" : "right";
33
- onVerticalResize(directionOfMouseMove, Math.abs(diff));
34
- }, startVerticalResize = (event) => {
35
- isVerticalResizeActive.current = !0, lastCursorX.current = event.clientX, document.addEventListener("mousemove", onVerticalMouseMove), document.addEventListener("mouseup", stopVerticalResize);
36
- }, stopVerticalResize = () => {
37
- isVerticalResizeActive.current = !1, lastCursorX.current = -1, document.removeEventListener("mousemove", onVerticalMouseMove), document.removeEventListener("mouseup", stopVerticalResize);
29
+ clientX: n
30
+ } = t, r = o.current - n;
31
+ if (o.current = n, r === 0) return;
32
+ const e = r > 0 ? "left" : "right";
33
+ v(e, Math.abs(r));
34
+ }, p = (t) => {
35
+ s.current = !0, o.current = t.clientX, document.addEventListener("mousemove", a), document.addEventListener("mouseup", d);
36
+ }, d = () => {
37
+ s.current = !1, o.current = -1, document.removeEventListener("mousemove", a), document.removeEventListener("mouseup", d);
38
38
  };
39
39
  return {
40
- startVerticalResize,
41
- stopVerticalResize,
42
- isVerticalResizeActive
40
+ startVerticalResize: p,
41
+ stopVerticalResize: d,
42
+ isVerticalResizeActive: s
43
43
  };
44
44
  };
45
45
  export {
46
- useResizeMedia
46
+ V as useResizeMedia
47
47
  };
48
+ //# sourceMappingURL=useResizeMedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResizeMedia.js","sources":["../../../../src/modules/editor/hooks/useResizeMedia.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { Editor } from '@tiptap/react';\n\nexport interface MediaResizeProps {\n editor: Editor;\n [x: string]: any;\n}\n\nconst MIN_WIDTH = 80;\n\nexport const useResizeMedia = (\n props: MediaResizeProps,\n refResizable: React.RefObject<HTMLImageElement | HTMLVideoElement>,\n) => {\n const aspectRatio = useRef(0);\n\n const lastCursorX = useRef(-1);\n\n const isVerticalResizeActive = useRef(false);\n\n const proseMirrorContainerWidth = useRef(0);\n\n const limitWidthOrHeight = (width: number) => width < MIN_WIDTH;\n\n useEffect(() => {\n const proseMirrorContainerDiv = document.querySelector('.ProseMirror');\n\n if (proseMirrorContainerDiv)\n proseMirrorContainerWidth.current = proseMirrorContainerDiv?.clientWidth;\n\n if (!refResizable) return;\n aspectRatio.current = 1.5;\n\n // comment first call of onVerticalResize because re-render and actives undo/redo\n // onVerticalResize(\"left\", 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const onVerticalResize = (\n directionOfMouseMove: 'right' | 'left',\n diff: number,\n ) => {\n if (!refResizable) {\n console.error('Media ref is undefined|null', {\n refResizable: refResizable,\n });\n return;\n }\n\n const currentMediaDimensions = {\n width: refResizable.current?.width,\n height: refResizable.current?.height,\n };\n\n const newMediaDimensions = {\n width: -1,\n height: -1,\n };\n\n if (currentMediaDimensions.width) {\n if (directionOfMouseMove === 'left') {\n newMediaDimensions.width =\n currentMediaDimensions.width - Math.abs(diff);\n } else {\n newMediaDimensions.width =\n currentMediaDimensions.width + Math.abs(diff);\n }\n }\n\n if (newMediaDimensions.width > proseMirrorContainerWidth.current)\n newMediaDimensions.width = proseMirrorContainerWidth.current;\n\n if (diff !== 0 && limitWidthOrHeight(newMediaDimensions.width)) {\n newMediaDimensions.width = MIN_WIDTH;\n }\n\n newMediaDimensions.height = newMediaDimensions.width / aspectRatio.current;\n\n setTimeout(() => {\n props.updateAttributes(newMediaDimensions);\n });\n };\n\n const onVerticalMouseMove = (event: MouseEvent) => {\n if (!isVerticalResizeActive.current) return;\n\n const { clientX } = event;\n\n const diff = lastCursorX.current - clientX;\n\n lastCursorX.current = clientX;\n\n if (diff === 0) return;\n\n const directionOfMouseMove: 'left' | 'right' = diff > 0 ? 'left' : 'right';\n\n onVerticalResize(directionOfMouseMove, Math.abs(diff));\n };\n\n const startVerticalResize = (\n event: React.MouseEvent<HTMLDivElement, MouseEvent>,\n ): void => {\n isVerticalResizeActive.current = true;\n lastCursorX.current = event.clientX;\n\n document.addEventListener('mousemove', onVerticalMouseMove);\n document.addEventListener('mouseup', stopVerticalResize);\n };\n\n const stopVerticalResize = () => {\n isVerticalResizeActive.current = false;\n lastCursorX.current = -1;\n\n document.removeEventListener('mousemove', onVerticalMouseMove);\n document.removeEventListener('mouseup', stopVerticalResize);\n };\n\n return {\n startVerticalResize,\n stopVerticalResize,\n isVerticalResizeActive,\n };\n};\n"],"names":["MIN_WIDTH","useResizeMedia","props","refResizable","aspectRatio","useRef","lastCursorX","isVerticalResizeActive","proseMirrorContainerWidth","limitWidthOrHeight","width","useEffect","proseMirrorContainerDiv","document","querySelector","current","clientWidth","onVerticalResize","directionOfMouseMove","diff","console","error","currentMediaDimensions","height","newMediaDimensions","Math","abs","setTimeout","updateAttributes","onVerticalMouseMove","event","clientX","startVerticalResize","addEventListener","stopVerticalResize","removeEventListener"],"mappings":";AASA,MAAMA,IAAY,IAELC,IAAiBA,CAC5BC,GACAC,MACG;AACGC,QAAAA,IAAcC,EAAO,CAAC,GAEtBC,IAAcD,EAAO,EAAE,GAEvBE,IAAyBF,EAAO,EAAK,GAErCG,IAA4BH,EAAO,CAAC,GAEpCI,IAAqBA,CAACC,MAAkBA,IAAQV;AAEtDW,EAAAA,EAAU,MAAM;AACRC,UAAAA,IAA0BC,SAASC,cAAc,cAAc;AAKrE,IAHIF,MACwBG,EAAAA,UAAUH,KAAAA,gBAAAA,EAAyBI,cAE1Db,MACLC,EAAYW,UAAU;AAAA,EAKxB,GAAG,CAAE,CAAA;AAECE,QAAAA,IAAmBA,CACvBC,GACAC,MACG;;AACH,QAAI,CAAChB,GAAc;AACjBiB,cAAQC,MAAM,+BAA+B;AAAA,QAC3ClB,cAAAA;AAAAA,MAAAA,CACD;AACD;AAAA,IACF;AAEA,UAAMmB,IAAyB;AAAA,MAC7BZ,QAAOP,IAAAA,EAAaY,YAAbZ,gBAAAA,EAAsBO;AAAAA,MAC7Ba,SAAQpB,IAAAA,EAAaY,YAAbZ,gBAAAA,EAAsBoB;AAAAA,IAAAA,GAG1BC,IAAqB;AAAA,MACzBd,OAAO;AAAA,MACPa,QAAQ;AAAA,IAAA;AAGV,IAAID,EAAuBZ,UACrBQ,MAAyB,SAC3BM,EAAmBd,QACjBY,EAAuBZ,QAAQe,KAAKC,IAAIP,CAAI,IAE9CK,EAAmBd,QACjBY,EAAuBZ,QAAQe,KAAKC,IAAIP,CAAI,IAI9CK,EAAmBd,QAAQF,EAA0BO,YACvDS,EAAmBd,QAAQF,EAA0BO,UAEnDI,MAAS,KAAKV,EAAmBe,EAAmBd,KAAK,MAC3Dc,EAAmBd,QAAQV,IAGVuB,EAAAA,SAASC,EAAmBd,QAAQN,EAAYW,SAEnEY,WAAW,MAAM;AACfzB,MAAAA,EAAM0B,iBAAiBJ,CAAkB;AAAA,IAAA,CAC1C;AAAA,EAAA,GAGGK,IAAsBA,CAACC,MAAsB;AAC7C,QAAA,CAACvB,EAAuBQ,QAAS;AAE/B,UAAA;AAAA,MAAEgB,SAAAA;AAAAA,IAAYD,IAAAA,GAEdX,IAAOb,EAAYS,UAAUgB;AAInC,QAFAzB,EAAYS,UAAUgB,GAElBZ,MAAS,EAAG;AAEVD,UAAAA,IAAyCC,IAAO,IAAI,SAAS;AAEnEF,IAAAA,EAAiBC,GAAsBO,KAAKC,IAAIP,CAAI,CAAC;AAAA,EAAA,GAGjDa,IAAsBA,CAC1BF,MACS;AACTvB,IAAAA,EAAuBQ,UAAU,IACjCT,EAAYS,UAAUe,EAAMC,SAEnBE,SAAAA,iBAAiB,aAAaJ,CAAmB,GACjDI,SAAAA,iBAAiB,WAAWC,CAAkB;AAAA,EAAA,GAGnDA,IAAqBA,MAAM;AAC/B3B,IAAAA,EAAuBQ,UAAU,IACjCT,EAAYS,UAAU,IAEboB,SAAAA,oBAAoB,aAAaN,CAAmB,GACpDM,SAAAA,oBAAoB,WAAWD,CAAkB;AAAA,EAAA;AAGrD,SAAA;AAAA,IACLF,qBAAAA;AAAAA,IACAE,oBAAAA;AAAAA,IACA3B,wBAAAA;AAAAA,EAAAA;AAEJ;"}
@@ -1,21 +1,22 @@
1
- import { useState } from "react";
2
- import { odeServices } from "edifice-ts-client";
3
- const useSpeechRecognition = (editor) => {
4
- const [isActive, setActive] = useState(!1), toggle = () => {
5
- if (isActive)
6
- editor == null || editor.commands.stopSpeechRecognition(), setActive(!1);
1
+ import { useState as o } from "react";
2
+ import { odeServices as a } from "@edifice.io/ts-client";
3
+ const S = (e) => {
4
+ const [c, s] = o(!1), n = () => {
5
+ if (c)
6
+ e == null || e.commands.stopSpeechRecognition(), s(!1);
7
7
  else {
8
- odeServices.data().trackSpeechAndText("STT");
9
- const started = (editor == null ? void 0 : editor.commands.startSpeechRecognition()) || !1;
10
- setActive(started);
8
+ a.data().trackSpeechAndText("STT");
9
+ const t = (e == null ? void 0 : e.commands.startSpeechRecognition()) || !1;
10
+ s(t);
11
11
  }
12
12
  };
13
13
  return {
14
14
  isAvailable: !!(window.SpeechRecognition || window.webkitSpeechRecognition),
15
- isActive,
16
- toggle
15
+ isActive: c,
16
+ toggle: n
17
17
  };
18
18
  };
19
19
  export {
20
- useSpeechRecognition
20
+ S as useSpeechRecognition
21
21
  };
22
+ //# sourceMappingURL=useSpeechRecognition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSpeechRecognition.js","sources":["../../../../src/modules/editor/hooks/useSpeechRecognition.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { odeServices } from '@edifice.io/ts-client';\nimport { Editor } from '@tiptap/react';\n\nexport const useSpeechRecognition = (editor: Editor | null) => {\n const [isActive, setActive] = useState(false);\n\n const toggle = () => {\n if (isActive) {\n editor?.commands.stopSpeechRecognition();\n setActive(false);\n } else {\n odeServices.data().trackSpeechAndText('STT');\n const started = editor?.commands.startSpeechRecognition() || false;\n setActive(started);\n }\n };\n\n const isAvailable =\n (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition\n ? true\n : false;\n\n return { isAvailable, isActive, toggle };\n};\n"],"names":["useSpeechRecognition","editor","isActive","setActive","useState","toggle","commands","stopSpeechRecognition","data","trackSpeechAndText","started","startSpeechRecognition","isAvailable","window","SpeechRecognition","webkitSpeechRecognition"],"mappings":";;AAKaA,MAAAA,IAAuBA,CAACC,MAA0B;AAC7D,QAAM,CAACC,GAAUC,CAAS,IAAIC,EAAS,EAAK,GAEtCC,IAASA,MAAM;AACnB,QAAIH;AACFD,MAAAA,KAAAA,QAAAA,EAAQK,SAASC,yBACjBJ,EAAU,EAAK;AAAA,SACV;AACOK,MAAAA,EAAAA,KAAAA,EAAOC,mBAAmB,KAAK;AAC3C,YAAMC,KAAUT,KAAAA,gBAAAA,EAAQK,SAASK,6BAA4B;AAC7DR,MAAAA,EAAUO,CAAO;AAAA,IACnB;AAAA,EAAA;AAQK,SAAA;AAAA,IAAEE,aAJNC,UAAeC,qBAAsBD,OAAeE;AAAAA,IAIjCb,UAAAA;AAAAA,IAAUG,QAAAA;AAAAA,EAAAA;AAClC;"}
@@ -1,20 +1,21 @@
1
- import { useState, useCallback } from "react";
2
- import { odeServices } from "edifice-ts-client";
3
- const useSpeechSynthetisis = (editor) => {
4
- const [isActivated, setActivated] = useState(!1), toggle = useCallback(() => {
5
- if (isActivated)
6
- return editor == null || editor.commands.stopSpeechSynthesis(), setActivated(!1), !1;
1
+ import { useState as t, useCallback as m } from "react";
2
+ import { odeServices as S } from "@edifice.io/ts-client";
3
+ const l = (s) => {
4
+ const [e, c] = t(!1), n = m(() => {
5
+ if (e)
6
+ return s == null || s.commands.stopSpeechSynthesis(), c(!1), !1;
7
7
  {
8
- odeServices.data().trackSpeechAndText("TTS");
9
- const speech = (editor == null ? void 0 : editor.commands.startSpeechSynthesis()) || !1;
10
- return setActivated(speech), speech;
8
+ S.data().trackSpeechAndText("TTS");
9
+ const a = (s == null ? void 0 : s.commands.startSpeechSynthesis()) || !1;
10
+ return c(a), a;
11
11
  }
12
- }, [editor == null ? void 0 : editor.commands, isActivated]);
12
+ }, [s == null ? void 0 : s.commands, e]);
13
13
  return {
14
- isActivated,
15
- toggle
14
+ isActivated: e,
15
+ toggle: n
16
16
  };
17
17
  };
18
18
  export {
19
- useSpeechSynthetisis
19
+ l as useSpeechSynthetisis
20
20
  };
21
+ //# sourceMappingURL=useSpeechSynthetisis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSpeechSynthetisis.js","sources":["../../../../src/modules/editor/hooks/useSpeechSynthetisis.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n\nimport { odeServices } from '@edifice.io/ts-client';\nimport { Editor } from '@tiptap/react';\n\n/**\n * Custom hook to manage speech synthetisis.\n * @returns {\n * `isActivated`: truthy boolean when speech synthetisis is activated,\n * `toggle`: an imperative function to toggle the `isActivated` value,\n * }\n */\nexport const useSpeechSynthetisis = (editor: Editor | null) => {\n const [isActivated, setActivated] = useState<boolean>(false);\n\n const toggle = useCallback(() => {\n if (isActivated) {\n editor?.commands.stopSpeechSynthesis();\n setActivated(false);\n return false;\n } else {\n odeServices.data().trackSpeechAndText('TTS');\n const speech = editor?.commands.startSpeechSynthesis() || false;\n setActivated(speech);\n return speech;\n }\n }, [editor?.commands, isActivated]);\n\n return {\n isActivated,\n toggle,\n };\n};\n"],"names":["useSpeechSynthetisis","editor","isActivated","setActivated","useState","toggle","useCallback","commands","stopSpeechSynthesis","data","trackSpeechAndText","speech","startSpeechSynthesis"],"mappings":";;AAYaA,MAAAA,IAAuBA,CAACC,MAA0B;AAC7D,QAAM,CAACC,GAAaC,CAAY,IAAIC,EAAkB,EAAK,GAErDC,IAASC,EAAY,MAAM;AAC/B,QAAIJ;AACFD,aAAAA,KAAAA,QAAAA,EAAQM,SAASC,uBACjBL,EAAa,EAAK,GACX;AACF;AACOM,MAAAA,EAAAA,KAAAA,EAAOC,mBAAmB,KAAK;AAC3C,YAAMC,KAASV,KAAAA,gBAAAA,EAAQM,SAASK,2BAA0B;AAC1DT,aAAAA,EAAaQ,CAAM,GACZA;AAAAA,IACT;AAAA,EACC,GAAA,CAACV,KAAAA,gBAAAA,EAAQM,UAAUL,CAAW,CAAC;AAE3B,SAAA;AAAA,IACLA,aAAAA;AAAAA,IACAG,QAAAA;AAAAA,EAAAA;AAEJ;"}
@@ -1,75 +1,76 @@
1
- import { useEffect } from "react";
2
- import { CustomHighlight, TableCell, CustomHeading, FontSize, SpeechRecognition, SpeechSynthesis, Iframe, Hyperlink, Alert } from "@edifice.io/tiptap-extensions";
3
- import { Mathematics } from "@tiptap-pro/extension-mathematics";
4
- import Color from "@tiptap/extension-color";
5
- import Focus from "@tiptap/extension-focus";
6
- import FontFamily from "@tiptap/extension-font-family";
7
- import Placeholder from "@tiptap/extension-placeholder";
8
- import Subscript from "@tiptap/extension-subscript";
9
- import Superscript from "@tiptap/extension-superscript";
10
- import Table from "@tiptap/extension-table";
11
- import TableHeader from "@tiptap/extension-table-header";
12
- import TableRow from "@tiptap/extension-table-row";
13
- import TextAlign from "@tiptap/extension-text-align";
14
- import TextStyle from "@tiptap/extension-text-style";
15
- import Typography from "@tiptap/extension-typography";
16
- import Underline from "@tiptap/extension-underline";
17
- import { useEditor } from "@tiptap/react";
18
- import StarterKit from "@tiptap/starter-kit";
19
- import { useTranslation } from "react-i18next";
20
- import VideoNodeView from "../components/NodeView/VideoNodeView.js";
21
- import { MediaRenderer } from "../components/Renderer/MediaRenderer.js";
22
- import AudioNodeView from "../components/NodeView/AudioNodeView.js";
23
- import { AudioRenderer } from "../components/Renderer/AudioRenderer.js";
24
- import LinkerNodeView from "../components/NodeView/LinkerNodeView.js";
25
- import { LinkerRenderer } from "../components/Renderer/LinkerRenderer.js";
26
- import ImageNodeView from "../components/NodeView/ImageNodeView.js";
27
- import AttachmentNodeView from "../components/NodeView/AttachmentNodeView.js";
28
- import { AttachmentRenderer } from "../components/Renderer/AttachmentRenderer.js";
29
- import { useOdeClient } from "../../../core/OdeClientProvider/OdeClientProvider.js";
30
- const useTipTapEditor = (editable, content, focus, placeholder, onContentChange) => {
1
+ import { useEffect as t } from "react";
2
+ import { CustomHighlight as s, TableCell as l, CustomHeading as c, FontSize as u, SpeechRecognition as d, SpeechSynthesis as g, Iframe as h, Hyperlink as T, Alert as S } from "@edifice.io/tiptap-extensions";
3
+ import { Mathematics as y } from "@tiptap-pro/extension-mathematics";
4
+ import R from "@tiptap/extension-color";
5
+ import w from "@tiptap/extension-focus";
6
+ import A from "@tiptap/extension-font-family";
7
+ import N from "@tiptap/extension-placeholder";
8
+ import V from "@tiptap/extension-subscript";
9
+ import b from "@tiptap/extension-superscript";
10
+ import C from "@tiptap/extension-table";
11
+ import F from "@tiptap/extension-table-header";
12
+ import x from "@tiptap/extension-table-row";
13
+ import E from "@tiptap/extension-text-align";
14
+ import H from "@tiptap/extension-text-style";
15
+ import k from "@tiptap/extension-typography";
16
+ import U from "@tiptap/extension-underline";
17
+ import { useEditor as v } from "@tiptap/react";
18
+ import z from "@tiptap/starter-kit";
19
+ import { useTranslation as I } from "react-i18next";
20
+ import M from "../components/NodeView/VideoNodeView.js";
21
+ import { MediaRenderer as f } from "../components/Renderer/MediaRenderer.js";
22
+ import $ from "../components/NodeView/AudioNodeView.js";
23
+ import { AudioRenderer as K } from "../components/Renderer/AudioRenderer.js";
24
+ import L from "../components/NodeView/LinkerNodeView.js";
25
+ import { LinkerRenderer as O } from "../components/Renderer/LinkerRenderer.js";
26
+ import P from "../components/NodeView/ImageNodeView.js";
27
+ import j from "../components/NodeView/AttachmentNodeView.js";
28
+ import { AttachmentRenderer as q } from "../components/Renderer/AttachmentRenderer.js";
29
+ import { useOdeClient as B } from "../../../core/OdeClientProvider/OdeClientProvider.js";
30
+ const Rr = (e, m, i, a, p) => {
31
31
  const {
32
- currentLanguage
33
- } = useOdeClient(), {
34
- t
35
- } = useTranslation(), editor = useEditor({
32
+ currentLanguage: o
33
+ } = B(), {
34
+ t: n
35
+ } = I(), r = v({
36
36
  // fix WB-2534
37
37
  // TipTap editor must be instantiated in editable mode for table columns to be resizable.
38
38
  // It will then be set in the correct editable mode, by a useEffect below.
39
39
  editable: !0,
40
- extensions: [StarterKit, Focus.configure({
40
+ extensions: [z, w.configure({
41
41
  className: "has-focus",
42
42
  mode: "all"
43
- }), Placeholder.configure({
44
- placeholder: t(placeholder || "tiptap.placeholder")
45
- }), CustomHighlight.configure({
43
+ }), N.configure({
44
+ placeholder: n(a || "tiptap.placeholder")
45
+ }), s.configure({
46
46
  multicolor: !0
47
- }), Underline, TextStyle, Color, Subscript, Superscript, Table.configure({
47
+ }), U, H, R, V, b, C.configure({
48
48
  resizable: !0
49
- }), TableRow, TableHeader, TableCell, TextAlign.configure({
49
+ }), x, F, l, E.configure({
50
50
  types: ["heading", "paragraph", "custom-image", "video"]
51
- }), CustomHeading.configure({
51
+ }), c.configure({
52
52
  levels: [1, 2]
53
- }), Typography, FontSize, SpeechRecognition, SpeechSynthesis.configure({
54
- lang: (currentLanguage == null ? void 0 : currentLanguage.length) === 2 ? `${currentLanguage}-${currentLanguage.toUpperCase()}` : "fr-FR"
55
- }), Iframe, Hyperlink, FontFamily, Mathematics, Alert, VideoNodeView(MediaRenderer), AudioNodeView(AudioRenderer), LinkerNodeView(LinkerRenderer), ImageNodeView(MediaRenderer), AttachmentNodeView(AttachmentRenderer)],
56
- content,
53
+ }), k, u, d, g.configure({
54
+ lang: (o == null ? void 0 : o.length) === 2 ? `${o}-${o.toUpperCase()}` : "fr-FR"
55
+ }), h, T, A, y, S, M(f), $(K), L(O), P(f), j(q)],
56
+ content: m,
57
57
  // If the onContentChange callback is provided, we call it on every content change.
58
- ...onContentChange ? {
59
- onUpdate: onContentChange
58
+ ...p ? {
59
+ onUpdate: p
60
60
  } : {}
61
61
  });
62
- return useEffect(() => {
63
- editor == null || editor.setEditable(editable);
64
- }, [editor, editable]), useEffect(() => {
65
- editor == null || editor.commands.setContent(content);
66
- }, [content]), useEffect(() => {
67
- focus && (editor == null || editor.commands.focus(focus));
68
- }, [editor, focus, editable]), {
69
- editor,
70
- editable
62
+ return t(() => {
63
+ r == null || r.setEditable(e);
64
+ }, [r, e]), t(() => {
65
+ r == null || r.commands.setContent(m);
66
+ }, [m]), t(() => {
67
+ i && (r == null || r.commands.focus(i));
68
+ }, [r, i, e]), {
69
+ editor: r,
70
+ editable: e
71
71
  };
72
72
  };
73
73
  export {
74
- useTipTapEditor
74
+ Rr as useTipTapEditor
75
75
  };
76
+ //# sourceMappingURL=useTipTapEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTipTapEditor.js","sources":["../../../../src/modules/editor/hooks/useTipTapEditor.ts"],"sourcesContent":["import { useEffect } from 'react';\n\n// Import TipTap module overloaded typings (custom commands)\nimport '@edifice.io/tiptap-extensions';\n\nimport {\n Alert,\n CustomHeading,\n CustomHighlight,\n FontSize,\n Hyperlink,\n Iframe,\n SpeechRecognition,\n SpeechSynthesis,\n TableCell,\n} from '@edifice.io/tiptap-extensions';\nimport { Mathematics } from '@tiptap-pro/extension-mathematics';\nimport Color from '@tiptap/extension-color';\nimport Focus from '@tiptap/extension-focus';\nimport FontFamily from '@tiptap/extension-font-family';\nimport Placeholder from '@tiptap/extension-placeholder';\nimport Subscript from '@tiptap/extension-subscript';\nimport Superscript from '@tiptap/extension-superscript';\nimport Table from '@tiptap/extension-table';\nimport TableHeader from '@tiptap/extension-table-header';\nimport TableRow from '@tiptap/extension-table-row';\nimport TextAlign from '@tiptap/extension-text-align';\nimport TextStyle from '@tiptap/extension-text-style';\nimport Typography from '@tiptap/extension-typography';\nimport Underline from '@tiptap/extension-underline';\nimport { Content, FocusPosition, useEditor } from '@tiptap/react';\nimport StarterKit from '@tiptap/starter-kit';\nimport { useTranslation } from 'react-i18next';\n\nimport { useOdeClient } from '../../../core/OdeClientProvider';\nimport {\n AttachmentNodeView,\n AttachmentRenderer,\n AudioNodeView,\n AudioRenderer,\n ImageNodeView,\n LinkerNodeView,\n LinkerRenderer,\n MediaRenderer,\n VideoNodeView,\n} from '../components';\n\n/**\n * Hook that creates a tiptap editor instance.\n *\n * @param editable truthy if the editor content should be editable\n * @param content default rich content\n * @param focus set focus position to the editor\n * @param placeholder editor placeholder content\n */\nexport const useTipTapEditor = (\n editable: boolean,\n content: Content,\n focus?: FocusPosition,\n placeholder?: string,\n onContentChange?: ({ editor }: { editor: any }) => void,\n) => {\n const { currentLanguage } = useOdeClient();\n const { t } = useTranslation();\n\n const editor = useEditor({\n // fix WB-2534\n // TipTap editor must be instantiated in editable mode for table columns to be resizable.\n // It will then be set in the correct editable mode, by a useEffect below.\n editable: true,\n extensions: [\n StarterKit,\n Focus.configure({\n className: 'has-focus',\n mode: 'all',\n }),\n Placeholder.configure({\n placeholder: t(placeholder || 'tiptap.placeholder'),\n }),\n CustomHighlight.configure({\n multicolor: true,\n }),\n Underline,\n TextStyle,\n Color,\n Subscript,\n Superscript,\n Table.configure({\n resizable: true,\n }),\n TableRow,\n TableHeader,\n TableCell,\n TextAlign.configure({\n types: ['heading', 'paragraph', 'custom-image', 'video'],\n }),\n CustomHeading.configure({\n levels: [1, 2],\n }),\n Typography,\n FontSize,\n SpeechRecognition,\n SpeechSynthesis.configure({\n lang:\n currentLanguage?.length === 2\n ? `${currentLanguage}-${currentLanguage.toUpperCase()}` // FIXME very dirty hack for demo\n : 'fr-FR',\n }),\n Iframe,\n Hyperlink,\n FontFamily,\n Mathematics,\n Alert,\n VideoNodeView(MediaRenderer),\n AudioNodeView(AudioRenderer),\n LinkerNodeView(LinkerRenderer),\n ImageNodeView(MediaRenderer),\n AttachmentNodeView(AttachmentRenderer),\n ],\n content,\n // If the onContentChange callback is provided, we call it on every content change.\n ...(onContentChange\n ? {\n onUpdate: onContentChange,\n }\n : {}),\n });\n\n useEffect(() => {\n editor?.setEditable(editable);\n }, [editor, editable]);\n\n useEffect(() => {\n editor?.commands.setContent(content);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [content]);\n\n useEffect(() => {\n focus && editor?.commands.focus(focus);\n }, [editor, focus, editable]);\n\n return { editor, editable };\n};\n"],"names":["useTipTapEditor","editable","content","focus","placeholder","onContentChange","currentLanguage","useOdeClient","t","useTranslation","editor","useEditor","extensions","StarterKit","Focus","configure","className","mode","Placeholder","CustomHighlight","multicolor","Underline","TextStyle","Color","Subscript","Superscript","Table","resizable","TableRow","TableHeader","TableCell","TextAlign","types","CustomHeading","levels","Typography","FontSize","SpeechRecognition","SpeechSynthesis","lang","length","toUpperCase","Iframe","Hyperlink","FontFamily","Mathematics","Alert","VideoNodeView","MediaRenderer","AudioNodeView","AudioRenderer","LinkerNodeView","LinkerRenderer","ImageNodeView","AttachmentNodeView","AttachmentRenderer","onUpdate","useEffect","setEditable","commands","setContent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDO,MAAMA,KAAkBA,CAC7BC,GACAC,GACAC,GACAC,GACAC,MACG;AACG,QAAA;AAAA,IAAEC,iBAAAA;AAAAA,MAAoBC,EAAa,GACnC;AAAA,IAAEC,GAAAA;AAAAA,MAAMC,EAAe,GAEvBC,IAASC,EAAU;AAAA;AAAA;AAAA;AAAA,IAIvBV,UAAU;AAAA,IACVW,YAAY,CACVC,GACAC,EAAMC,UAAU;AAAA,MACdC,WAAW;AAAA,MACXC,MAAM;AAAA,IAAA,CACP,GACDC,EAAYH,UAAU;AAAA,MACpBX,aAAaI,EAAEJ,KAAe,oBAAoB;AAAA,IAAA,CACnD,GACDe,EAAgBJ,UAAU;AAAA,MACxBK,YAAY;AAAA,IAAA,CACb,GACDC,GACAC,GACAC,GACAC,GACAC,GACAC,EAAMX,UAAU;AAAA,MACdY,WAAW;AAAA,IACZ,CAAA,GACDC,GACAC,GACAC,GACAC,EAAUhB,UAAU;AAAA,MAClBiB,OAAO,CAAC,WAAW,aAAa,gBAAgB,OAAO;AAAA,IAAA,CACxD,GACDC,EAAclB,UAAU;AAAA,MACtBmB,QAAQ,CAAC,GAAG,CAAC;AAAA,IACd,CAAA,GACDC,GACAC,GACAC,GACAC,EAAgBvB,UAAU;AAAA,MACxBwB,OACEjC,KAAAA,gBAAAA,EAAiBkC,YAAW,IACxB,GAAGlC,CAAe,IAAIA,EAAgBmC,YAAa,CAAA,KACnD;AAAA,IAAA,CACP,GACDC,GACAC,GACAC,GACAC,GACAC,GACAC,EAAcC,CAAa,GAC3BC,EAAcC,CAAa,GAC3BC,EAAeC,CAAc,GAC7BC,EAAcL,CAAa,GAC3BM,EAAmBC,CAAkB,CAAC;AAAA,IAExCrD,SAAAA;AAAAA;AAAAA,IAEA,GAAIG,IACA;AAAA,MACEmD,UAAUnD;AAAAA,IAAAA,IAEZ,CAAC;AAAA,EAAA,CACN;AAEDoD,SAAAA,EAAU,MAAM;AACd/C,IAAAA,KAAAA,QAAAA,EAAQgD,YAAYzD;AAAAA,EAAQ,GAC3B,CAACS,GAAQT,CAAQ,CAAC,GAErBwD,EAAU,MAAM;AACNE,IAAAA,KAAAA,QAAAA,EAAAA,SAASC,WAAW1D;AAAAA,EAAO,GAElC,CAACA,CAAO,CAAC,GAEZuD,EAAU,MAAM;AACL/C,IAAAA,MAAAA,KAAAA,QAAAA,EAAQiD,SAASxD,MAAMA;AAAAA,EAC/B,GAAA,CAACO,GAAQP,GAAOF,CAAQ,CAAC,GAErB;AAAA,IAAES,QAAAA;AAAAA,IAAQT,UAAAA;AAAAA,EAAAA;AACnB;"}
@@ -1,4 +1,5 @@
1
- const hasExtension = (extensionName, editor) => !!(editor != null && editor.extensionManager.extensions.find((item) => item.name === extensionName));
1
+ const e = (s, n) => !!(n != null && n.extensionManager.extensions.find((a) => a.name === s));
2
2
  export {
3
- hasExtension
3
+ e as hasExtension
4
4
  };
5
+ //# sourceMappingURL=has-extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"has-extension.js","sources":["../../../../src/modules/editor/utils/has-extension.ts"],"sourcesContent":["import { Editor } from '@tiptap/react';\n\nexport const hasExtension = (extensionName: string, editor: Editor | null) =>\n !!editor?.extensionManager.extensions.find(\n (item) => item.name === extensionName,\n );\n"],"names":["hasExtension","extensionName","editor","extensionManager","extensions","find","item","name"],"mappings":"AAEO,MAAMA,IAAeA,CAACC,GAAuBC,MAClD,CAAC,EAACA,KAAAA,QAAAA,EAAQC,iBAAiBC,WAAWC,KACnCC,CAASA,MAAAA,EAAKC,SAASN;"}
@@ -1,4 +1,5 @@
1
- const hasMark = (extensionName, editor) => !!(editor != null && editor.extensionManager.splittableMarks.includes(extensionName));
1
+ const n = (s, a) => !!(a != null && a.extensionManager.splittableMarks.includes(s));
2
2
  export {
3
- hasMark
3
+ n as hasMark
4
4
  };
5
+ //# sourceMappingURL=has-mark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"has-mark.js","sources":["../../../../src/modules/editor/utils/has-mark.ts"],"sourcesContent":["import { Editor } from '@tiptap/react';\n\nexport const hasMark = (extensionName: string, editor: Editor | null) =>\n !!editor?.extensionManager.splittableMarks.includes(extensionName);\n"],"names":["hasMark","extensionName","editor","extensionManager","splittableMarks","includes"],"mappings":"AAEaA,MAAAA,IAAUA,CAACC,GAAuBC,MAC7C,CAAC,EAACA,KAAAA,QAAAA,EAAQC,iBAAiBC,gBAAgBC,SAASJ;"}
@@ -1,5 +1,6 @@
1
- import { hasMark } from "./has-mark.js";
2
- const hasTextStyle = (styleName, editor) => editor == null ? void 0 : editor.extensionManager.extensions.find((item) => item.name === styleName && hasMark("textStyle", editor));
1
+ import { hasMark as s } from "./has-mark.js";
2
+ const x = (a, n) => n == null ? void 0 : n.extensionManager.extensions.find((e) => e.name === a && s("textStyle", n));
3
3
  export {
4
- hasTextStyle
4
+ x as hasTextStyle
5
5
  };
6
+ //# sourceMappingURL=has-text-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"has-text-style.js","sources":["../../../../src/modules/editor/utils/has-text-style.ts"],"sourcesContent":["import { Editor } from '@tiptap/react';\n\nimport { hasMark } from './has-mark';\n\nexport const hasTextStyle = (styleName: string, editor: Editor | null) =>\n editor?.extensionManager.extensions.find(\n (item) => item.name === styleName && hasMark('textStyle', editor),\n );\n"],"names":["hasTextStyle","styleName","editor","extensionManager","extensions","find","item","name","hasMark"],"mappings":";AAIO,MAAMA,IAAeA,CAACC,GAAmBC,MAC9CA,KAAAA,gBAAAA,EAAQC,iBAAiBC,WAAWC,KACjCC,CAAAA,MAASA,EAAKC,SAASN,KAAaO,EAAQ,aAAaN,CAAM;"}
@@ -1,59 +1,60 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useState, useEffect } from "react";
3
- import { createPortal } from "react-dom";
4
- import { useTranslation } from "react-i18next";
5
- import { Pagination } from "swiper/modules";
6
- import { Swiper, SwiperSlide } from "swiper/react";
7
- import { useOnboardingModal } from "./useOnboardingModal.js";
8
- import usePaths from "../../../core/usePaths/usePaths.js";
9
- import { Modal } from "../../../components/Modal/Modal.js";
10
- import { Image } from "../../../components/Image/Image.js";
11
- import { Button } from "../../../components/Button/Button.js";
12
- const OnboardingModal = ({
13
- id,
14
- items,
15
- modalOptions
1
+ import { jsxs as a, jsx as r } from "react/jsx-runtime";
2
+ import { useState as d, useEffect as I } from "react";
3
+ import { createPortal as k } from "react-dom";
4
+ import { useTranslation as P } from "react-i18next";
5
+ import { Pagination as B } from "swiper/modules";
6
+ import { Swiper as M, SwiperSlide as O } from "swiper/react";
7
+ import { useOnboardingModal as T } from "./useOnboardingModal.js";
8
+ import j from "../../../core/usePaths/usePaths.js";
9
+ import { Modal as t } from "../../../components/Modal/Modal.js";
10
+ import { Image as E } from "../../../components/Image/Image.js";
11
+ import { Button as n } from "../../../components/Button/Button.js";
12
+ const L = ({
13
+ id: c,
14
+ items: p,
15
+ modalOptions: m
16
16
  }) => {
17
- const [imagePath] = usePaths(), [swiperInstance, setSwiperInstance] = useState(), [swiperProgress, setSwiperprogress] = useState(0), {
18
- isOpen,
19
- isOnboarding,
20
- setIsOpen,
21
- handleSavePreference
22
- } = useOnboardingModal(id);
23
- useEffect(() => {
24
- const link = document.createElement("link");
25
- return link.href = "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css", link.rel = "stylesheet", link.type = "text/css", document.head.appendChild(link), () => {
26
- document.head.removeChild(link);
17
+ const [h] = j(), [s, u] = d(), [i, f] = d(0), {
18
+ isOpen: g,
19
+ isOnboarding: x,
20
+ setIsOpen: l,
21
+ handleSavePreference: b
22
+ } = T(c);
23
+ I(() => {
24
+ const e = document.createElement("link");
25
+ return e.href = "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css", e.rel = "stylesheet", e.type = "text/css", document.head.appendChild(e), () => {
26
+ document.head.removeChild(e);
27
27
  };
28
28
  }, []);
29
29
  const {
30
- t
31
- } = useTranslation(), {
32
- title,
33
- prevText,
34
- closeText,
35
- nextText
36
- } = modalOptions;
37
- return isOnboarding ? /* @__PURE__ */ createPortal(/* @__PURE__ */ jsxs(Modal, { id: "onboarding-modal", size: "md", isOpen, focusId: "nextButtonId", onModalClose: () => setIsOpen(!1), children: [
38
- /* @__PURE__ */ jsx(Modal.Header, { onModalClose: () => setIsOpen(!1), children: t(title || "explorer.modal.onboarding.trash.title") }),
39
- /* @__PURE__ */ jsx(Modal.Body, { children: /* @__PURE__ */ jsx(Swiper, { modules: [Pagination], onSwiper: (swiper) => {
40
- setSwiperInstance(swiper);
41
- }, onSlideChange: (swiper) => {
42
- setSwiperprogress(swiper.progress);
30
+ t: o
31
+ } = P(), {
32
+ title: y,
33
+ prevText: v,
34
+ closeText: w,
35
+ nextText: C
36
+ } = m;
37
+ return x ? /* @__PURE__ */ k(/* @__PURE__ */ a(t, { id: "onboarding-modal", size: "md", isOpen: g, focusId: "nextButtonId", onModalClose: () => l(!1), children: [
38
+ /* @__PURE__ */ r(t.Header, { onModalClose: () => l(!1), children: o(y || "explorer.modal.onboarding.trash.title") }),
39
+ /* @__PURE__ */ r(t.Body, { children: /* @__PURE__ */ r(M, { modules: [B], onSwiper: (e) => {
40
+ u(e);
41
+ }, onSlideChange: (e) => {
42
+ f(e.progress);
43
43
  }, pagination: {
44
44
  clickable: !0
45
- }, children: items.map((item, index) => /* @__PURE__ */ jsxs(SwiperSlide, { children: [
46
- /* @__PURE__ */ jsx(Image, { width: "270", height: "140", className: "mx-auto my-12", loading: "lazy", src: `${imagePath}/${item.src}`, alt: t(item.alt) }),
47
- /* @__PURE__ */ jsx("p", { children: t(item.text) })
48
- ] }, index)) }) }),
49
- /* @__PURE__ */ jsxs(Modal.Footer, { children: [
50
- /* @__PURE__ */ jsx(Button, { type: "button", color: "tertiary", variant: "ghost", onClick: () => setIsOpen(!1), children: t("explorer.modal.onboarding.trash.later") }),
51
- swiperProgress > 0 && /* @__PURE__ */ jsx(Button, { type: "button", color: "primary", variant: "outline", onClick: () => swiperInstance.slidePrev(), children: t(prevText || "explorer.modal.onboarding.trash.prev") }),
52
- swiperProgress < 1 && /* @__PURE__ */ jsx(Button, { id: "nextButtonId", type: "button", color: "primary", variant: "filled", onClick: () => swiperInstance.slideNext(), children: t(nextText || "explorer.modal.onboarding.trash.next") }),
53
- swiperProgress === 1 && /* @__PURE__ */ jsx(Button, { type: "button", color: "primary", variant: "filled", onClick: handleSavePreference, children: t(closeText || "explorer.modal.onboarding.trash.close") })
45
+ }, children: p.map((e, S) => /* @__PURE__ */ a(O, { children: [
46
+ /* @__PURE__ */ r(E, { width: "270", height: "140", className: "mx-auto my-12", loading: "lazy", src: `${h}/${e.src}`, alt: o(e.alt) }),
47
+ /* @__PURE__ */ r("p", { children: o(e.text) })
48
+ ] }, S)) }) }),
49
+ /* @__PURE__ */ a(t.Footer, { children: [
50
+ /* @__PURE__ */ r(n, { type: "button", color: "tertiary", variant: "ghost", onClick: () => l(!1), children: o("explorer.modal.onboarding.trash.later") }),
51
+ i > 0 && /* @__PURE__ */ r(n, { type: "button", color: "primary", variant: "outline", onClick: () => s.slidePrev(), children: o(v || "explorer.modal.onboarding.trash.prev") }),
52
+ i < 1 && /* @__PURE__ */ r(n, { id: "nextButtonId", type: "button", color: "primary", variant: "filled", onClick: () => s.slideNext(), children: o(C || "explorer.modal.onboarding.trash.next") }),
53
+ i === 1 && /* @__PURE__ */ r(n, { type: "button", color: "primary", variant: "filled", onClick: b, children: o(w || "explorer.modal.onboarding.trash.close") })
54
54
  ] })
55
55
  ] }), document.getElementById("portal")) : null;
56
56
  };
57
57
  export {
58
- OnboardingModal as default
58
+ L as default
59
59
  };
60
+ //# sourceMappingURL=OnboardingModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnboardingModal.js","sources":["../../../../src/modules/modals/OnboardingModal/OnboardingModal.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { createPortal } from 'react-dom';\nimport { useTranslation } from 'react-i18next';\nimport { Pagination } from 'swiper/modules';\nimport { Swiper, SwiperSlide } from 'swiper/react';\n\nimport { Button, Image, Modal, usePaths } from '../../..';\nimport { useOnboardingModal } from './useOnboardingModal';\n\ninterface ModalItemsProps {\n /**\n * /onboarding/*.svg\n */\n src: string;\n /**\n * Image Companion text\n */\n alt: string;\n /**\n * Text below image\n */\n text: string;\n}\n\ninterface ModalOptionsProps {\n /**\n * Modal title\n */\n title: string;\n /**\n * Prev button text\n */\n prevText: string;\n /**\n * Next button text\n */\n nextText: string;\n /**\n * Close button text\n */\n closeText: string;\n}\ninterface OnboardingProps {\n id: string;\n items: ModalItemsProps[];\n modalOptions: ModalOptionsProps;\n}\n\nconst OnboardingModal = ({ id, items, modalOptions }: OnboardingProps) => {\n const [imagePath] = usePaths();\n const [swiperInstance, setSwiperInstance] = useState<any>();\n const [swiperProgress, setSwiperprogress] = useState<number>(0);\n\n const { isOpen, isOnboarding, setIsOpen, handleSavePreference } =\n useOnboardingModal(id);\n\n useEffect(() => {\n const link = document.createElement('link');\n link.href = 'https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css';\n link.rel = 'stylesheet';\n link.type = 'text/css';\n\n document.head.appendChild(link);\n\n return () => {\n document.head.removeChild(link);\n };\n }, []);\n\n const { t } = useTranslation();\n\n const { title, prevText, closeText, nextText } = modalOptions;\n\n return isOnboarding\n ? createPortal(\n <Modal\n id=\"onboarding-modal\"\n size=\"md\"\n isOpen={isOpen}\n focusId=\"nextButtonId\"\n onModalClose={() => setIsOpen(false)}\n >\n <Modal.Header onModalClose={() => setIsOpen(false)}>\n {t(title || 'explorer.modal.onboarding.trash.title')}\n </Modal.Header>\n <Modal.Body>\n <Swiper\n modules={[Pagination]}\n onSwiper={(swiper) => {\n setSwiperInstance(swiper);\n }}\n onSlideChange={(swiper) => {\n setSwiperprogress(swiper.progress);\n }}\n pagination={{\n clickable: true,\n }}\n >\n {items.map((item, index) => {\n return (\n <SwiperSlide key={index}>\n <Image\n width=\"270\"\n height=\"140\"\n className=\"mx-auto my-12\"\n loading=\"lazy\"\n src={`${imagePath}/${item.src}`}\n alt={t(item.alt)}\n />\n <p>{t(item.text)}</p>\n </SwiperSlide>\n );\n })}\n </Swiper>\n </Modal.Body>\n <Modal.Footer>\n <Button\n type=\"button\"\n color=\"tertiary\"\n variant=\"ghost\"\n onClick={() => setIsOpen(false)}\n >\n {t('explorer.modal.onboarding.trash.later')}\n </Button>\n\n {swiperProgress > 0 && (\n <Button\n type=\"button\"\n color=\"primary\"\n variant=\"outline\"\n onClick={() => swiperInstance.slidePrev()}\n >\n {t(prevText || 'explorer.modal.onboarding.trash.prev')}\n </Button>\n )}\n {swiperProgress < 1 && (\n <Button\n id=\"nextButtonId\"\n type=\"button\"\n color=\"primary\"\n variant=\"filled\"\n onClick={() => swiperInstance.slideNext()}\n >\n {t(nextText || 'explorer.modal.onboarding.trash.next')}\n </Button>\n )}\n {swiperProgress === 1 && (\n <Button\n type=\"button\"\n color=\"primary\"\n variant=\"filled\"\n onClick={handleSavePreference}\n >\n {t(closeText || 'explorer.modal.onboarding.trash.close')}\n </Button>\n )}\n </Modal.Footer>\n </Modal>,\n document.getElementById('portal') as HTMLElement,\n )\n : null;\n};\n\nOnboardingModal.displayName = 'OnboardingModal';\n\nexport default OnboardingModal;\n"],"names":["OnboardingModal","id","items","modalOptions","imagePath","usePaths","swiperInstance","setSwiperInstance","useState","swiperProgress","setSwiperprogress","isOpen","isOnboarding","setIsOpen","handleSavePreference","useOnboardingModal","useEffect","link","document","createElement","href","rel","type","head","appendChild","removeChild","t","useTranslation","title","prevText","closeText","nextText","createPortal","jsxs","Modal","jsx","Swiper","Pagination","swiper","progress","clickable","map","item","index","SwiperSlide","Image","src","alt","text","Button","slidePrev","slideNext","getElementById"],"mappings":"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"}