@edifice.io/react 2.0.0-develop-rc.22 → 2.0.0-develop-rc.24

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 (211) hide show
  1. package/dist/components/Alert/Alert.d.ts +3 -3
  2. package/dist/components/AppHeader/AppHeader.d.ts +1 -1
  3. package/dist/components/AppIcon/AppIcon.d.ts +6 -6
  4. package/dist/components/AppIcon/AppIcon.js +14 -14
  5. package/dist/components/Attachment/Attachment.d.ts +1 -1
  6. package/dist/components/Avatar/Avatar.d.ts +3 -3
  7. package/dist/components/Avatar/Avatar.js +2 -2
  8. package/dist/components/Badge/Badge.d.ts +8 -8
  9. package/dist/components/Breadcrumb/BreadcrumbItem.d.ts +1 -1
  10. package/dist/components/Breadcrumb/BreadcrumbNav.d.ts +1 -1
  11. package/dist/components/Button/Button.d.ts +5 -5
  12. package/dist/components/Button/IconButton.d.ts +1 -1
  13. package/dist/components/Button/SearchButton.d.ts +1 -1
  14. package/dist/components/Card/CardContext.d.ts +1 -1
  15. package/dist/components/ColorPicker/ColorPalette.d.ts +1 -1
  16. package/dist/components/ColorPicker/ColorPicker.d.ts +1 -1
  17. package/dist/components/Combobox/ComboboxTrigger.d.ts +1 -1
  18. package/dist/components/Dropdown/Dropdown.d.ts +1 -1
  19. package/dist/components/Dropdown/DropdownContext.d.ts +1 -1
  20. package/dist/components/Dropdown/DropdownItem.d.ts +1 -1
  21. package/dist/components/Dropdown/DropdownMenu.d.ts +2 -2
  22. package/dist/components/Dropdown/DropdownTrigger.d.ts +3 -3
  23. package/dist/components/Form/FormContext.d.ts +1 -1
  24. package/dist/components/Form/FormControl.d.ts +2 -2
  25. package/dist/components/Grid/Grid.d.ts +1 -1
  26. package/dist/components/Heading/Heading.d.ts +1 -1
  27. package/dist/components/Image/Image.d.ts +3 -3
  28. package/dist/components/Image/Image.js +2 -2
  29. package/dist/components/Input/Input.d.ts +2 -2
  30. package/dist/components/Label/Label.d.ts +2 -2
  31. package/dist/components/Layout/components/Main.d.ts +1 -1
  32. package/dist/components/Layout/components/NavItem.d.ts +1 -1
  33. package/dist/components/Layout/components/NavbarNav.d.ts +1 -1
  34. package/dist/components/Loading/Loading.d.ts +1 -1
  35. package/dist/components/LoadingScreen/LoadingScreen.js +3 -3
  36. package/dist/components/Menu/components/MenuButton.d.ts +1 -1
  37. package/dist/components/Menu/hooks/useMenu.d.ts +1 -1
  38. package/dist/components/Modal/Modal.d.ts +1 -1
  39. package/dist/components/SearchBar/SearchBar.d.ts +1 -1
  40. package/dist/components/Select/Select.d.ts +1 -1
  41. package/dist/components/TextArea/TextArea.d.ts +2 -2
  42. package/dist/components/Toolbar/Toolbar.d.ts +9 -9
  43. package/dist/components/Tooltip/Tooltip.d.ts +2 -2
  44. package/dist/components/Tree/index.d.ts +1 -0
  45. package/dist/components/Tree/types/index.d.ts +1 -1
  46. package/dist/components/Tree/utilities/tree-sortable.js +14 -0
  47. package/dist/hooks/index.d.ts +0 -1
  48. package/dist/hooks/useDate/useDate.js +4 -4
  49. package/dist/hooks/useUpload/useUpload.js +4 -4
  50. package/dist/index.js +77 -66
  51. package/dist/modules/audience/ReactionModal.Card.d.ts +1 -1
  52. package/dist/modules/comments/hooks/useComments.js +4 -4
  53. package/dist/modules/comments/types.d.ts +3 -3
  54. package/dist/modules/editor/components/Editor/Editor.d.ts +4 -4
  55. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.d.ts +1 -1
  56. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.d.ts +1 -1
  57. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.d.ts +1 -1
  58. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.d.ts +1 -1
  59. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.d.ts +1 -1
  60. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.d.ts +1 -1
  61. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.d.ts +1 -1
  62. package/dist/modules/editor/components/Renderer/MediaRenderer.js +1 -4
  63. package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.d.ts +1 -1
  64. package/dist/modules/editor/hooks/useActionOptions.d.ts +1 -1
  65. package/dist/modules/icons/components/apps/IconAccount.js +1 -1
  66. package/dist/modules/icons/components/apps/IconActualites.js +1 -1
  67. package/dist/modules/icons/components/apps/IconAdmin.js +1 -1
  68. package/dist/modules/icons/components/apps/IconAdminPortal.js +1 -1
  69. package/dist/modules/icons/components/apps/IconAdmissionPostBac.js +1 -1
  70. package/dist/modules/icons/components/apps/IconAgenda.js +1 -1
  71. package/dist/modules/icons/components/apps/IconArchive.js +1 -1
  72. package/dist/modules/icons/components/apps/IconAssistance.js +1 -1
  73. package/dist/modules/icons/components/apps/IconAssr.js +1 -1
  74. package/dist/modules/icons/components/apps/IconAward.js +1 -1
  75. package/dist/modules/icons/components/apps/IconBanquesavoir.js +1 -1
  76. package/dist/modules/icons/components/apps/IconBcdi.js +1 -1
  77. package/dist/modules/icons/components/apps/IconBiblionisep.js +1 -1
  78. package/dist/modules/icons/components/apps/IconBlog.js +1 -1
  79. package/dist/modules/icons/components/apps/IconBookmarkEmpty.js +1 -1
  80. package/dist/modules/icons/components/apps/IconCahierDeTexte.js +1 -1
  81. package/dist/modules/icons/components/apps/IconCahierTextes.js +1 -1
  82. package/dist/modules/icons/components/apps/IconCalendar.js +1 -1
  83. package/dist/modules/icons/components/apps/IconCanalNumerique.js +1 -1
  84. package/dist/modules/icons/components/apps/IconCcn.js +1 -1
  85. package/dist/modules/icons/components/apps/IconCerise.js +1 -1
  86. package/dist/modules/icons/components/apps/IconCervoprint.js +1 -1
  87. package/dist/modules/icons/components/apps/IconCharlemagne.js +1 -1
  88. package/dist/modules/icons/components/apps/IconCharte.js +1 -1
  89. package/dist/modules/icons/components/apps/IconChat.js +1 -1
  90. package/dist/modules/icons/components/apps/IconCidj.js +1 -1
  91. package/dist/modules/icons/components/apps/IconCns.js +1 -1
  92. package/dist/modules/icons/components/apps/IconCollaborativeWall.js +1 -1
  93. package/dist/modules/icons/components/apps/IconCompetences.js +1 -1
  94. package/dist/modules/icons/components/apps/IconConnecteurGenerique1.js +1 -1
  95. package/dist/modules/icons/components/apps/IconConnecteurGenerique2.js +1 -1
  96. package/dist/modules/icons/components/apps/IconConversation.js +1 -1
  97. package/dist/modules/icons/components/apps/IconDirectory.js +1 -1
  98. package/dist/modules/icons/components/apps/IconEducagri.js +1 -1
  99. package/dist/modules/icons/components/apps/IconEdumedia.js +1 -1
  100. package/dist/modules/icons/components/apps/IconEdumoov.js +1 -1
  101. package/dist/modules/icons/components/apps/IconEdutheque.js +1 -1
  102. package/dist/modules/icons/components/apps/IconElectron.js +1 -1
  103. package/dist/modules/icons/components/apps/IconElyceepicardie.js +1 -1
  104. package/dist/modules/icons/components/apps/IconEsidoc.js +1 -1
  105. package/dist/modules/icons/components/apps/IconEuropress.js +1 -1
  106. package/dist/modules/icons/components/apps/IconExercizer.js +1 -1
  107. package/dist/modules/icons/components/apps/IconForum.js +1 -1
  108. package/dist/modules/icons/components/apps/IconGepi.js +1 -1
  109. package/dist/modules/icons/components/apps/IconGlpi.js +1 -1
  110. package/dist/modules/icons/components/apps/IconHiboutheque.js +1 -1
  111. package/dist/modules/icons/components/apps/IconItopstore.js +1 -1
  112. package/dist/modules/icons/components/apps/IconKne.js +1 -1
  113. package/dist/modules/icons/components/apps/IconLeSiteTv.js +1 -1
  114. package/dist/modules/icons/components/apps/IconLemonde.js +1 -1
  115. package/dist/modules/icons/components/apps/IconLesechos.js +1 -1
  116. package/dist/modules/icons/components/apps/IconLibrary.js +1 -1
  117. package/dist/modules/icons/components/apps/IconLsu.js +1 -1
  118. package/dist/modules/icons/components/apps/IconMadmagz.js +1 -1
  119. package/dist/modules/icons/components/apps/IconMatholycee.js +1 -1
  120. package/dist/modules/icons/components/apps/IconMaxicours.js +1 -1
  121. package/dist/modules/icons/components/apps/IconMediacentre.js +1 -1
  122. package/dist/modules/icons/components/apps/IconMindmap.js +1 -1
  123. package/dist/modules/icons/components/apps/IconMonorientationenligne.js +1 -1
  124. package/dist/modules/icons/components/apps/IconMonstageenligne.js +1 -1
  125. package/dist/modules/icons/components/apps/IconMoodle.js +1 -1
  126. package/dist/modules/icons/components/apps/IconMuseefrancaisphoto.js +1 -1
  127. package/dist/modules/icons/components/apps/IconMyNetwork.js +1 -1
  128. package/dist/modules/icons/components/apps/IconNetvibes.js +1 -1
  129. package/dist/modules/icons/components/apps/IconNote.js +1 -1
  130. package/dist/modules/icons/components/apps/IconNotebook.js +1 -1
  131. package/dist/modules/icons/components/apps/IconNotes.js +1 -1
  132. package/dist/modules/icons/components/apps/IconOnisep.js +1 -1
  133. package/dist/modules/icons/components/apps/IconOnisep2.js +1 -1
  134. package/dist/modules/icons/components/apps/IconPad.js +1 -1
  135. package/dist/modules/icons/components/apps/IconPages.js +1 -1
  136. package/dist/modules/icons/components/apps/IconParametrage.js +1 -1
  137. package/dist/modules/icons/components/apps/IconParametrages.js +1 -1
  138. package/dist/modules/icons/components/apps/IconParaschool.js +1 -1
  139. package/dist/modules/icons/components/apps/IconParcours.js +1 -1
  140. package/dist/modules/icons/components/apps/IconPearltrees.js +1 -1
  141. package/dist/modules/icons/components/apps/IconPicardieCursus.js +1 -1
  142. package/dist/modules/icons/components/apps/IconPoll.js +1 -1
  143. package/dist/modules/icons/components/apps/IconProeps.js +1 -1
  144. package/dist/modules/icons/components/apps/IconPronote.js +1 -1
  145. package/dist/modules/icons/components/apps/IconPublic.js +1 -1
  146. package/dist/modules/icons/components/apps/IconQwant.js +1 -1
  147. package/dist/modules/icons/components/apps/IconQwantJunior.js +1 -1
  148. package/dist/modules/icons/components/apps/IconRack.js +1 -1
  149. package/dist/modules/icons/components/apps/IconRbs.js +1 -1
  150. package/dist/modules/icons/components/apps/IconResidenceArtiste.js +1 -1
  151. package/dist/modules/icons/components/apps/IconRessourcesdepartementale91.js +1 -1
  152. package/dist/modules/icons/components/apps/IconSacoche.js +1 -1
  153. package/dist/modules/icons/components/apps/IconSchoolbook.js +1 -1
  154. package/dist/modules/icons/components/apps/IconScolinfo.js +1 -1
  155. package/dist/modules/icons/components/apps/IconScrapbook.js +1 -1
  156. package/dist/modules/icons/components/apps/IconSearchengine.js +1 -1
  157. package/dist/modules/icons/components/apps/IconSettingsClass.js +1 -1
  158. package/dist/modules/icons/components/apps/IconSharebigfiles.js +1 -1
  159. package/dist/modules/icons/components/apps/IconStatistics.js +1 -1
  160. package/dist/modules/icons/components/apps/IconStats.js +1 -1
  161. package/dist/modules/icons/components/apps/IconSuitcase.js +1 -1
  162. package/dist/modules/icons/components/apps/IconSupport.js +1 -1
  163. package/dist/modules/icons/components/apps/IconTimeline.js +1 -1
  164. package/dist/modules/icons/components/apps/IconTimelinegenerator.js +1 -1
  165. package/dist/modules/icons/components/apps/IconTurboself.js +1 -1
  166. package/dist/modules/icons/components/apps/IconUniversalis.js +1 -1
  167. package/dist/modules/icons/components/apps/IconUnstagepourtous.js +1 -1
  168. package/dist/modules/icons/components/apps/IconUserbook.js +1 -1
  169. package/dist/modules/icons/components/apps/IconVideo.js +1 -1
  170. package/dist/modules/icons/components/apps/IconVieScolaire.js +1 -1
  171. package/dist/modules/icons/components/apps/IconVisioconf.js +1 -1
  172. package/dist/modules/icons/components/apps/IconWebclasseur.js +1 -1
  173. package/dist/modules/icons/components/apps/IconWebsite.js +1 -1
  174. package/dist/modules/icons/components/apps/IconWiki.js +2 -2
  175. package/dist/modules/icons/components/apps/IconWorkspace.js +1 -1
  176. package/dist/modules/modals/OnboardingModal/OnboardingModal.js +2 -3
  177. package/dist/modules/modals/PublishModal/components/PublishModalFooter.js +3 -3
  178. package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +2 -2
  179. package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +1 -1
  180. package/dist/modules/modals/ShareModal/hooks/useShare.d.ts +8 -8
  181. package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.d.ts +2 -2
  182. package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.d.ts +1 -1
  183. package/dist/modules/multimedia/ImageEditor/effects/blur.d.ts +1 -1
  184. package/dist/modules/multimedia/ImageEditor/effects/crop.d.ts +2 -2
  185. package/dist/modules/multimedia/ImageEditor/effects/misc.d.ts +1 -1
  186. package/dist/modules/multimedia/ImageEditor/effects/resize.d.ts +1 -1
  187. package/dist/modules/multimedia/ImageEditor/effects/rotate.d.ts +1 -1
  188. package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.d.ts +1 -1
  189. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.d.ts +1 -1
  190. package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.d.ts +1 -1
  191. package/dist/modules/multimedia/ImagePicker/ImagePicker.d.ts +1 -1
  192. package/dist/modules/multimedia/Linker/ExternalLinker/ExternalLinker.d.ts +2 -2
  193. package/dist/modules/multimedia/Linker/InternalLinker/InternalLinker.js +4 -4
  194. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.d.ts +7 -7
  195. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +1 -1
  196. package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.d.ts +2 -2
  197. package/dist/modules/multimedia/UploadCard/UploadCard.js +5 -5
  198. package/dist/modules/multimedia/VideoEmbed/VideoEmbed.d.ts +1 -1
  199. package/dist/modules/multimedia/VideoEmbed/VideoEmbed.js +3 -3
  200. package/dist/modules/multimedia/Workspace/Workspace.js +3 -3
  201. package/dist/providers/EdificeThemeProvider/EdificeThemeProvider.context.d.ts +1 -1
  202. package/dist/types/size.d.ts +1 -1
  203. package/dist/types/status.d.ts +1 -1
  204. package/dist/utilities/emptyscreen-mapping/emptyscreen-mapping.d.ts +6 -0
  205. package/dist/utilities/emptyscreen-mapping/emptyscreen-mapping.js +49 -0
  206. package/dist/utilities/emptyscreen-mapping/index.d.ts +1 -0
  207. package/dist/utilities/index.d.ts +1 -0
  208. package/package.json +15 -8
  209. package/dist/hooks/usePaths/index.d.ts +0 -1
  210. package/dist/hooks/usePaths/usePaths.d.ts +0 -1
  211. package/dist/hooks/usePaths/usePaths.js +0 -7
@@ -7,7 +7,7 @@ export interface IExternalLink {
7
7
  /** Link text for the llink display */
8
8
  text?: string;
9
9
  /** Link target (default: _blank) */
10
- target?: "_blank";
10
+ target?: '_blank';
11
11
  }
12
12
  /**
13
13
  * Properties for the ExternalLinker react component.
@@ -20,7 +20,7 @@ export type ExternalLinkerProps = {
20
20
  */
21
21
  multiNodeSelected?: boolean;
22
22
  /** Target */
23
- target?: "_blank";
23
+ target?: '_blank';
24
24
  /** Notify when the user change any link information */
25
25
  onChange?: (link?: IExternalLink) => void;
26
26
  };
@@ -11,7 +11,7 @@ import AppIcon from "../../../../components/AppIcon/AppIcon.js";
11
11
  import Dropdown from "../../../../components/Dropdown/Dropdown.js";
12
12
  import SearchBar from "../../../../components/SearchBar/SearchBar.js";
13
13
  import EmptyScreen from "../../../../components/EmptyScreen/EmptyScreen.js";
14
- import usePaths from "../../../../hooks/usePaths/usePaths.js";
14
+ import { emptyScreenMapping } from "../../../../utilities/emptyscreen-mapping/emptyscreen-mapping.js";
15
15
  const InternalLinker = ({
16
16
  appCode,
17
17
  defaultAppCode,
@@ -27,7 +27,7 @@ const InternalLinker = ({
27
27
  t
28
28
  } = useTranslation(), {
29
29
  theme
30
- } = useEdificeTheme(), [imagePath] = usePaths(), {
30
+ } = useEdificeTheme(), {
31
31
  resourceApplications,
32
32
  loadResources
33
33
  } = useResourceSearch(appCode), [options, setOptions] = useState(), [selectedApplication, setSelectedApplication] = useState(), [searchTerms, setSearchTerms] = useState(), debounceSearch = useDebounce(searchTerms || "", 500), [resources, setResources] = useState([]), filterResources = useCallback((resource, search) => {
@@ -119,8 +119,8 @@ const InternalLinker = ({
119
119
  const isSelected = selectedDocuments.findIndex((doc) => doc.assetId === resource.assetId) >= 0;
120
120
  return /* @__PURE__ */ jsx(LinkerCard, { doc: resource, isSelected, onClick: () => toggleResourceSelection(resource) }, resource.path);
121
121
  }) }),
122
- selectedApplication && resources && resources.length <= 0 && /* @__PURE__ */ jsx("div", { className: "d-flex justify-content-center mt-16", children: /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: `${imagePath}/${theme == null ? void 0 : theme.bootstrapVersion}/illu-empty-search-${selectedApplication.application}.svg`, text: t("bbm.linker.int.notfound"), className: "mt-16" }) }),
123
- !selectedApplication && /* @__PURE__ */ jsx("div", { className: "d-flex justify-content-center mt-32", children: /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: `${imagePath}/${theme == null ? void 0 : theme.bootstrapVersion}/illu-empty-search.svg`, text: t("bbm.linker.int.empty"), className: "mt-32" }) })
122
+ selectedApplication && resources && resources.length <= 0 && /* @__PURE__ */ jsx("div", { className: "d-flex justify-content-center mt-16", children: /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: emptyScreenMapping[(theme == null ? void 0 : theme.bootstrapVersion) ?? "one"][selectedApplication == null ? void 0 : selectedApplication.application], text: t("bbm.linker.int.notfound"), className: "mt-16" }) }),
123
+ !selectedApplication && /* @__PURE__ */ jsx("div", { className: "d-flex justify-content-center mt-32", children: /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: emptyScreenMapping[(theme == null ? void 0 : theme.bootstrapVersion) ?? "one"].empty, text: t("bbm.linker.int.empty"), className: "mt-32" }) })
124
124
  ] })
125
125
  ] });
126
126
  };
@@ -15,7 +15,7 @@ export type MediaLibraryTabProps = {
15
15
  * Media Library types where this tab should be displayed.
16
16
  * "*" for all types.
17
17
  */
18
- availableFor: Array<MediaLibraryType | "*" | null>;
18
+ availableFor: Array<MediaLibraryType | '*' | null>;
19
19
  /** Required checks before using this feature. */
20
20
  isEnable: null | (() => boolean);
21
21
  };
@@ -25,17 +25,17 @@ export type MediaLibraryTabProps = {
25
25
  */
26
26
  export type MediaLibraryType =
27
27
  /** Audio files */
28
- "audio"
28
+ 'audio'
29
29
  /** Video files / streams / links */
30
- | "video"
30
+ | 'video'
31
31
  /** Image files */
32
- | "image"
32
+ | 'image'
33
33
  /** Attached files */
34
- | "attachment"
34
+ | 'attachment'
35
35
  /** Embedded websites */
36
- | "embedder"
36
+ | 'embedder'
37
37
  /** Hyperlinks */
38
- | "hyperlink";
38
+ | 'hyperlink';
39
39
  export interface MediaLibraryRef {
40
40
  /** Open the Media Library on given type. */
41
41
  show: (type: MediaLibraryType) => void;
@@ -166,7 +166,7 @@ const orderedTabs = [
166
166
  }, hide = () => {
167
167
  setType(null);
168
168
  }, showLink = (props) => {
169
- linkTabProps.current = props, !("resourceId" in props || "appPrefix" in props) && setDefaultTabId("external-link"), setType("hyperlink");
169
+ linkTabProps.current = props, "resourceId" in props || "appPrefix" in props || setDefaultTabId("external-link"), setType("hyperlink");
170
170
  };
171
171
  useEffect(() => {
172
172
  var _a2, _b;
@@ -1,11 +1,11 @@
1
1
  import { ILinkedResource } from '@edifice.io/ts-client';
2
2
  export type InternalLinkTabProps = {
3
- target?: "_blank" | null;
3
+ target?: '_blank' | null;
4
4
  appPrefix?: string | null;
5
5
  resourceId?: string | null;
6
6
  };
7
7
  export type InternalLinkTabResult = {
8
- target?: "_blank";
8
+ target?: '_blank';
9
9
  resources?: ILinkedResource[];
10
10
  };
11
11
  export declare const InternalLink: ({ target, resourceId, appPrefix, }: InternalLinkTabProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
+ import commonPlaceholder from "@edifice.io/bootstrap/dist/images/common/image-placeholder.png";
2
3
  import { useTranslation } from "react-i18next";
3
4
  import SvgIconClose from "../../icons/components/IconClose.js";
4
5
  import SvgIconReset from "../../icons/components/IconReset.js";
@@ -10,7 +11,6 @@ import Tooltip from "../../../components/Tooltip/Tooltip.js";
10
11
  import Loading from "../../../components/Loading/Loading.js";
11
12
  import Card from "../../../components/Card/Card.js";
12
13
  import IconButton from "../../../components/Button/IconButton.js";
13
- import usePaths from "../../../hooks/usePaths/usePaths.js";
14
14
  const UploadCard = ({
15
15
  item,
16
16
  status = "idle",
@@ -20,21 +20,21 @@ const UploadCard = ({
20
20
  onEdit,
21
21
  onRetry
22
22
  }) => {
23
- const [imagePath] = usePaths(), {
23
+ const {
24
24
  t
25
25
  } = useTranslation(), {
26
26
  src,
27
27
  name,
28
28
  info
29
- } = item, isIdle = status === "idle", isLoading = status === "loading", isSuccess = status === "success", isTypeImage = info == null ? void 0 : info.type.startsWith("image"), imgPlaceholder = `${imagePath}/common/image-placeholder.png`, defaultMapping = {
29
+ } = item, isIdle = status === "idle", isLoading = status === "loading", isSuccess = status === "success", isTypeImage = info == null ? void 0 : info.type.startsWith("image"), defaultMapping = {
30
30
  text: "",
31
31
  context: null,
32
- image: /* @__PURE__ */ jsx("img", { src: imgPlaceholder, alt: "", width: "48", height: "48" })
32
+ image: /* @__PURE__ */ jsx("img", { src: commonPlaceholder, alt: "", width: "48", height: "48" })
33
33
  }, mapping = {
34
34
  error: {
35
35
  text: /* @__PURE__ */ jsx("strong", { children: /* @__PURE__ */ jsx("small", { className: "text-danger caption", children: t("tiptap.upload.error") }) }),
36
36
  context: /* @__PURE__ */ jsx(Button, { leftIcon: /* @__PURE__ */ jsx(SvgIconReset, {}), variant: "ghost", color: "tertiary", onClick: onRetry, children: t("tiptap.upload.retry") }),
37
- image: /* @__PURE__ */ jsx(Image, { alt: "", src: `${imagePath}/common/image-status-error.svg`, objectFit: "cover" })
37
+ image: /* @__PURE__ */ jsx(Image, { alt: "", src: `${commonPlaceholder}/common/image-status-error.svg`, objectFit: "cover" })
38
38
  },
39
39
  idle: defaultMapping,
40
40
  loading: {
@@ -1,5 +1,5 @@
1
1
  export interface VideoEmbedProps {
2
- switchType?: (type: "embedder") => void;
2
+ switchType?: (type: 'embedder') => void;
3
3
  onSuccess: (resource?: string) => void;
4
4
  }
5
5
  declare const VideoEmbed: ({ switchType, onSuccess }: VideoEmbedProps) => import("react/jsx-runtime").JSX.Element;
@@ -5,19 +5,19 @@ import { useDebounce } from "@uidotdev/usehooks";
5
5
  import { useTranslation } from "react-i18next";
6
6
  import SvgIconArrowRight from "../../icons/components/IconArrowRight.js";
7
7
  import SvgIconGlobe from "../../icons/components/IconGlobe.js";
8
+ import illuError from "@edifice.io/bootstrap/dist/images/emptyscreen/illu-error.svg";
8
9
  import FormControl from "../../../components/Form/FormControl.js";
9
10
  import Input from "../../../components/Input/Input.js";
10
11
  import Image from "../../../components/Image/Image.js";
11
12
  import EmptyScreen from "../../../components/EmptyScreen/EmptyScreen.js";
12
13
  import Button from "../../../components/Button/Button.js";
13
- import usePaths from "../../../hooks/usePaths/usePaths.js";
14
14
  const VideoEmbed = ({
15
15
  switchType,
16
16
  onSuccess
17
17
  }) => {
18
18
  const {
19
19
  t
20
- } = useTranslation(), [url, setUrl] = useState(), [embedVideo, setEmbedVideo] = useState(), [embedder, setEmbedder] = useState(void 0), [whiteListProvider, setWhiteListProvider] = useState(), debounceChangeUrl = useDebounce(url || "", 300), formControlId = useId(), [imagePath] = usePaths();
20
+ } = useTranslation(), [url, setUrl] = useState(), [embedVideo, setEmbedVideo] = useState(), [embedder, setEmbedder] = useState(void 0), [whiteListProvider, setWhiteListProvider] = useState(), debounceChangeUrl = useDebounce(url || "", 300), formControlId = useId();
21
21
  useEffect(() => {
22
22
  initWhiteListProvider();
23
23
  }, []), useEffect(() => {
@@ -51,7 +51,7 @@ const VideoEmbed = ({
51
51
  __html: embedVideo
52
52
  } })
53
53
  ] }) : /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column align-items-center m-16", children: [
54
- /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: `${imagePath}/emptyscreen/illu-error.svg`, title: t("bbm.video.previewError.title"), text: t("bbm.video.previewError.text") }),
54
+ /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: illuError, title: t("bbm.video.previewError.title"), text: t("bbm.video.previewError.text") }),
55
55
  switchType && /* @__PURE__ */ jsxs(Button, { variant: "ghost", color: "primary", onClick: handleSwitchToEmbedderClick, className: "align-items-start mt-16", children: [
56
56
  t("bbm.video.useEmbedCode"),
57
57
  " ",
@@ -5,6 +5,7 @@ import { useTranslation } from "react-i18next";
5
5
  import SvgIconSortAscendingLetters from "../../icons/components/IconSortAscendingLetters.js";
6
6
  import SvgIconSortDescendingLetters from "../../icons/components/IconSortDescendingLetters.js";
7
7
  import SvgIconSortTime from "../../icons/components/IconSortTime.js";
8
+ import illuTrash from "@edifice.io/bootstrap/dist/images/emptyscreen/illu-trash.svg";
8
9
  import useWorkspaceSearch from "../../../hooks/useWorkspaceSearch/useWorkspaceSearch.js";
9
10
  import { Grid } from "../../../components/Grid/Grid.js";
10
11
  import TreeView from "../../../components/TreeView/TreeView.js";
@@ -13,7 +14,6 @@ import Dropdown from "../../../components/Dropdown/Dropdown.js";
13
14
  import LoadingScreen from "../../../components/LoadingScreen/LoadingScreen.js";
14
15
  import FileCard from "../FileCard/FileCard.js";
15
16
  import EmptyScreen from "../../../components/EmptyScreen/EmptyScreen.js";
16
- import usePaths from "../../../hooks/usePaths/usePaths.js";
17
17
  import { findTreeNode } from "../../../components/TreeView/utilities/treeview.js";
18
18
  const Workspace = ({
19
19
  roles,
@@ -23,7 +23,7 @@ const Workspace = ({
23
23
  defaultFolder,
24
24
  showPublicFolder
25
25
  }) => {
26
- const [imagePath] = usePaths(), {
26
+ const {
27
27
  t
28
28
  } = useTranslation(), {
29
29
  root: ownerRoot,
@@ -163,7 +163,7 @@ const Workspace = ({
163
163
  /* @__PURE__ */ jsx(Grid.Col, { sm: "4", md: "8", xl: "12", className: "p-8 gap-8", children: documents ? documents.length !== 0 ? /* @__PURE__ */ jsx("div", { className: "grid grid-workspace", children: documents.map((doc) => {
164
164
  const isSelected = selectedDocuments.includes(doc);
165
165
  return /* @__PURE__ */ jsx(FileCard, { doc, isSelected, onClick: () => handleSelectDoc(doc) }, doc._id);
166
- }) }) : /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: `${imagePath}/emptyscreen/illu-trash.svg`, text: t("workspace.empty.docSpace"), title: t("explorer.emptyScreen.trash.title") }) : /* @__PURE__ */ jsx(LoadingScreen, {}) })
166
+ }) }) : /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: illuTrash, text: t("workspace.empty.docSpace"), title: t("explorer.emptyScreen.trash.title") }) : /* @__PURE__ */ jsx(LoadingScreen, {}) })
167
167
  ] }) })
168
168
  ] });
169
169
  };
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
2
2
  import { IOdeTheme } from '@edifice.io/ts-client';
3
3
  export interface EdificeThemeProps {
4
4
  children: ReactNode;
5
- defaultTheme?: "one" | "neo" | "none";
5
+ defaultTheme?: 'one' | 'neo' | 'none';
6
6
  }
7
7
  export interface EdificeThemeContextProps {
8
8
  theme: IOdeTheme | undefined;
@@ -1 +1 @@
1
- export type Size = "sm" | "md" | "lg";
1
+ export type Size = 'sm' | 'md' | 'lg';
@@ -1 +1 @@
1
- export type Status = "idle" | "loading" | "warning" | "success" | "error";
1
+ export type Status = 'idle' | 'loading' | 'warning' | 'success' | 'error';
@@ -0,0 +1,6 @@
1
+ export type AppKeys = 'blog' | 'wiki' | 'empty' | 'collaborative-wall' | 'community' | 'exercizer' | 'formulaire' | 'forum' | 'homeworks' | 'magneto';
2
+ export interface ThemeMapping {
3
+ one: Record<AppKeys, string>;
4
+ neo: Record<AppKeys, string>;
5
+ }
6
+ export declare const emptyScreenMapping: ThemeMapping;
@@ -0,0 +1,49 @@
1
+ import illuOneBlog from "@edifice.io/bootstrap/dist/images/one/illu-empty-search-blog.svg";
2
+ import illuOneCollaborativeWall from "@edifice.io/bootstrap/dist/images/one/illu-empty-search-collaborativewall.svg";
3
+ import illuOneCommunity from "@edifice.io/bootstrap/dist/images/one/illu-empty-search-community.svg";
4
+ import illuOneExercizer from "@edifice.io/bootstrap/dist/images/one/illu-empty-search-exercizer.svg";
5
+ import illuOneFormulaire from "@edifice.io/bootstrap/dist/images/one/illu-empty-search-formulaire.svg";
6
+ import illuOneForum from "@edifice.io/bootstrap/dist/images/one/illu-empty-search-forum.svg";
7
+ import illuOneHomeworks from "@edifice.io/bootstrap/dist/images/one/illu-empty-search-homeworks.svg";
8
+ import illuOneMagneto from "@edifice.io/bootstrap/dist/images/one/illu-empty-search-magneto.svg";
9
+ import illuOneWiki from "@edifice.io/bootstrap/dist/images/one/illu-empty-search-wiki.svg";
10
+ import illuOneEmpty from "@edifice.io/bootstrap/dist/images/one/illu-empty-search.svg";
11
+ import illuNeoBlog from "@edifice.io/bootstrap/dist/images/neo/illu-empty-search-blog.svg";
12
+ import illuNeoCollaborativeWall from "@edifice.io/bootstrap/dist/images/neo/illu-empty-search-collaborativewall.svg";
13
+ import illuNeoCommunity from "@edifice.io/bootstrap/dist/images/neo/illu-empty-search-community.svg";
14
+ import illuNeoExercizer from "@edifice.io/bootstrap/dist/images/neo/illu-empty-search-exercizer.svg";
15
+ import illuNeoFormulaire from "@edifice.io/bootstrap/dist/images/neo/illu-empty-search-formulaire.svg";
16
+ import illuNeoForum from "@edifice.io/bootstrap/dist/images/neo/illu-empty-search-forum.svg";
17
+ import illuNeoHomeworks from "@edifice.io/bootstrap/dist/images/neo/illu-empty-search-homeworks.svg";
18
+ import illuNeoMagneto from "@edifice.io/bootstrap/dist/images/neo/illu-empty-search-magneto.svg";
19
+ import illuNeoWiki from "@edifice.io/bootstrap/dist/images/neo/illu-empty-search-wiki.svg";
20
+ import illuNeoEmpty from "@edifice.io/bootstrap/dist/images/neo/illu-empty-search.svg";
21
+ const emptyScreenMapping = {
22
+ one: {
23
+ blog: illuOneBlog,
24
+ wiki: illuOneWiki,
25
+ empty: illuOneEmpty,
26
+ "collaborative-wall": illuOneCollaborativeWall,
27
+ community: illuOneCommunity,
28
+ exercizer: illuOneExercizer,
29
+ formulaire: illuOneFormulaire,
30
+ forum: illuOneForum,
31
+ homeworks: illuOneHomeworks,
32
+ magneto: illuOneMagneto
33
+ },
34
+ neo: {
35
+ blog: illuNeoBlog,
36
+ wiki: illuNeoWiki,
37
+ empty: illuNeoEmpty,
38
+ "collaborative-wall": illuNeoCollaborativeWall,
39
+ community: illuNeoCommunity,
40
+ exercizer: illuNeoExercizer,
41
+ formulaire: illuNeoFormulaire,
42
+ forum: illuNeoForum,
43
+ homeworks: illuNeoHomeworks,
44
+ magneto: illuNeoMagneto
45
+ }
46
+ };
47
+ export {
48
+ emptyScreenMapping
49
+ };
@@ -0,0 +1 @@
1
+ export * from './emptyscreen-mapping';
@@ -1,2 +1,3 @@
1
1
  export * from './check-user-rights';
2
+ export * from './emptyscreen-mapping';
2
3
  export * from './refs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edifice.io/react",
3
- "version": "2.0.0-develop-rc.22",
3
+ "version": "2.0.0-develop-rc.24",
4
4
  "description": "Edifice React Library",
5
5
  "keywords": [
6
6
  "react",
@@ -108,6 +108,7 @@
108
108
  "clsx": "^2.1.1",
109
109
  "dayjs": "1.11.10",
110
110
  "emoji-picker-react": "4.5.2",
111
+ "globals": "^15.11.0",
111
112
  "html-react-parser": "4.2.1",
112
113
  "ohash": "1.1.3",
113
114
  "pako": "2.1.0",
@@ -118,14 +119,13 @@
118
119
  "react-slugify": "^3.0.3",
119
120
  "swiper": "^10.1.0",
120
121
  "ua-parser-js": "^1.0.36",
121
- "@edifice.io/utilities": "2.0.0-develop-rc.22",
122
- "@edifice.io/tiptap-extensions": "2.0.0-develop-rc.22"
123
- },
124
- "optionalDependencies": {
125
- "@tiptap-pro/extension-mathematics": "2.2.1"
122
+ "@edifice.io/bootstrap": "2.0.0-develop-rc.24",
123
+ "@edifice.io/utilities": "2.0.0-develop-rc.24",
124
+ "@edifice.io/tiptap-extensions": "2.0.0-develop-rc.24"
126
125
  },
127
126
  "devDependencies": {
128
127
  "@babel/plugin-transform-react-pure-annotations": "^7.23.3",
128
+ "@eslint/js": "^9.12.0",
129
129
  "@react-spring/web": "^9.7.5",
130
130
  "@svgr/cli": "^8.1.0",
131
131
  "@tanstack/react-query": "^5.59.13",
@@ -135,15 +135,19 @@
135
135
  "@types/react-dom": "^18.2.14",
136
136
  "@types/ua-parser-js": "^0.7.37",
137
137
  "@vitejs/plugin-react": "^4.3.2",
138
+ "eslint": "^9.12.0",
139
+ "eslint-plugin-react-hooks": "5.1.0-rc.0",
140
+ "eslint-plugin-react-refresh": "^0.4.12",
138
141
  "react": "^18.3.1",
139
142
  "react-dom": "^18.3.1",
140
143
  "react-hook-form": "^7.53.0",
141
144
  "react-i18next": "^14.1.0",
142
145
  "rollup-plugin-pure": "^0.2.1",
143
146
  "rollup-plugin-visualizer": "5.12.0",
147
+ "typescript-eslint": "^8.8.1",
144
148
  "vite": "^5.4.11",
145
149
  "vite-plugin-dts": "^4.1.0",
146
- "@edifice.io/ts-client": "2.0.0-develop-rc.22"
150
+ "@edifice.io/ts-client": "2.0.0-develop-rc.24"
147
151
  },
148
152
  "peerDependencies": {
149
153
  "@react-spring/web": "^9.7.5",
@@ -153,6 +157,9 @@
153
157
  "react-hook-form": "^7.53.0",
154
158
  "react-i18next": "^14.1.0"
155
159
  },
160
+ "optionalDependencies": {
161
+ "@tiptap-pro/extension-mathematics": "2.2.1"
162
+ },
156
163
  "publishConfig": {
157
164
  "access": "public"
158
165
  },
@@ -164,7 +171,7 @@
164
171
  "format": "pnpm run format:write && pnpm run format:check",
165
172
  "format:check": "npx prettier --check .",
166
173
  "format:write": "npx prettier --write .",
167
- "lint": "eslint \"**/*.{ts,tsx}\"",
174
+ "lint": "eslint .",
168
175
  "test": "vitest"
169
176
  }
170
177
  }
@@ -1 +0,0 @@
1
- export { default as usePaths } from './usePaths';
@@ -1 +0,0 @@
1
- export default function usePaths(): string[];
@@ -1,7 +0,0 @@
1
- function usePaths() {
2
- const base = "/", imagePath = `${base}assets/themes/edifice-bootstrap/images`, iconPath = `${base}assets/themes/edifice-bootstrap/icons`, fontPath = `${base}assets/themes/edifice-bootstrap/fonts`;
3
- return [imagePath, iconPath, fontPath];
4
- }
5
- export {
6
- usePaths as default
7
- };