@edifice.io/react 2.2.2-develop-b2school.20250404111401 → 2.2.2-develop-b2school.20250407165159

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.
@@ -1,11 +1,11 @@
1
1
  import { ChangeEvent, ReactNode } from 'react';
2
2
  export interface ComboboxProps extends React.InputHTMLAttributes<HTMLInputElement> {
3
- onSearchResultsChange: (model: (string | number)[]) => void;
4
3
  onSearchInputChange: (event: ChangeEvent<HTMLInputElement>) => void;
5
4
  options: OptionListItemType[];
6
5
  value: string;
7
6
  isLoading: boolean;
8
7
  noResult: boolean;
8
+ onSearchResultsChange?: (model: (string | number)[]) => void;
9
9
  searchMinLength?: number;
10
10
  placeholder?: string;
11
11
  variant?: 'outline' | 'ghost';
@@ -24,7 +24,7 @@ const Combobox = ({
24
24
  t
25
25
  } = useTranslation(), [localValue, setLocalValue] = useState([]);
26
26
  useEffect(() => {
27
- onSearchResultsChange(localValue);
27
+ onSearchResultsChange == null || onSearchResultsChange(localValue);
28
28
  }, [localValue]);
29
29
  const handleOptionClick = (value2) => {
30
30
  setLocalValue([value2]);
@@ -20,7 +20,7 @@ const ComboboxTrigger = ({
20
20
  setVisible
21
21
  } = useDropdownContext(), containerProps = {
22
22
  ...triggerProps,
23
- className: clsx("d-flex align-items-center flex-wrap combobox-trigger", renderInputGroup ? "input-group" : "", triggerProps.className),
23
+ className: clsx("d-flex combobox-trigger", renderInputGroup ? "input-group flex-nowrap align-items-start" : "flex-wrap align-items-center", triggerProps.className),
24
24
  onClick: (event) => {
25
25
  event.stopPropagation();
26
26
  }
@@ -33,13 +33,15 @@ const ComboboxTrigger = ({
33
33
  const input = event.target;
34
34
  setVisible(input.value.length >= searchMinLength || !!hasDefault), input.focus();
35
35
  }
36
- }, classNameVariant = variant === "ghost" ? " border-0" : "", classNameInput = clsx(classNameVariant, renderSelectedItems ? " w-auto " : "");
36
+ }, classNameVariant = variant === "ghost" ? " border-0" : "", classNameInput = clsx(classNameVariant, renderSelectedItems ? "flex-fill w-auto " : "");
37
37
  return useEffect(() => {
38
38
  setVisible(value.length >= searchMinLength);
39
39
  }, [value, searchMinLength]), /* @__PURE__ */ jsxs(FormControl, { id: "search", ...containerProps, children: [
40
40
  !!renderInputGroup && /* @__PURE__ */ jsx("span", { className: "input-group-text pe-0" + classNameVariant, children: renderInputGroup }),
41
- renderSelectedItems,
42
- /* @__PURE__ */ jsx(Input, { ...inputProps, className: classNameInput, noValidationIcon: !0, placeholder, size: "md", type: "search", onKeyDown: itemProps.onMenuItemKeyDown })
41
+ /* @__PURE__ */ jsxs("div", { className: "d-flex align-items-center flex-wrap flex-fill", children: [
42
+ renderSelectedItems,
43
+ /* @__PURE__ */ jsx(Input, { ...inputProps, className: classNameInput, noValidationIcon: !0, placeholder, size: "md", type: "search", onKeyDown: itemProps.onMenuItemKeyDown })
44
+ ] })
43
45
  ] });
44
46
  };
45
47
  export {
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './components';
2
2
  export * from './hooks';
3
3
  export * from './modules/modals';
4
+ export * from './modules/multimedia';
4
5
  export * from './providers';
5
6
  export * from './types';
6
7
  export * from './utilities';
package/dist/index.js CHANGED
@@ -72,15 +72,23 @@ import { default as default71 } from "./hooks/useWorkspaceFolders/useWorkspaceFo
72
72
  import { default as default72 } from "./hooks/useWorkspaceSearch/useWorkspaceSearch.js";
73
73
  import { default as default73 } from "./hooks/useXitiTrackPageLoad/useXitiTrackPageLoad.js";
74
74
  import { default as default74 } from "./hooks/useZendeskGuide/useZendeskGuide.js";
75
- import { default as default75 } from "./modules/modals/AddAttachmentToWorkspaceModal/AddAttachmentToWorkspaceModal.js";
76
- import { default as default76 } from "./modules/modals/ConfirmModal/ConfirmModal.js";
77
- import { default as default77 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
78
- import { default as default78 } from "./modules/modals/PublishModal/PublishModal.js";
79
- import { default as default79 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
80
- import { default as default80 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
81
- import { default as default81 } from "./modules/modals/ShareModal/ShareModal.js";
82
- import { default as default82 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
83
- import { default as default83 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
75
+ import { default as default75 } from "./modules/modals/ConfirmModal/ConfirmModal.js";
76
+ import { default as default76 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
77
+ import { default as default77 } from "./modules/modals/PublishModal/PublishModal.js";
78
+ import { default as default78 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
79
+ import { default as default79 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
80
+ import { default as default80 } from "./modules/modals/ShareModal/ShareModal.js";
81
+ import { default as default81 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
82
+ import { default as default82 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
83
+ import { default as default83 } from "./modules/multimedia/AudioRecorder/AudioRecorder.js";
84
+ import { default as default84 } from "./modules/multimedia/Embed/Embed.js";
85
+ import { default as default85 } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
86
+ import { default as default86 } from "./modules/multimedia/ImagePicker/ImagePicker.js";
87
+ import { default as default87 } from "./modules/multimedia/MediaLibrary/MediaLibrary.js";
88
+ import { default as default88 } from "./modules/multimedia/VideoEmbed/VideoEmbed.js";
89
+ import { default as default89 } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
90
+ import { default as default90 } from "./modules/multimedia/Workspace/Workspace.js";
91
+ import { default as default91 } from "./modules/multimedia/WorkspaceFolders/WorkspaceFolders.js";
84
92
  import { AccessiblePalette, DefaultPalette } from "./components/ColorPicker/ColorPalette.js";
85
93
  import { DropzoneContext, useDropzoneContext } from "./components/Dropzone/DropzoneContext.js";
86
94
  import { Column, Grid } from "./components/Grid/Grid.js";
@@ -97,6 +105,8 @@ import { TreeNode } from "./components/TreeView/TreeNode.js";
97
105
  import { TreeNodeFolderWrapper, addNode, arrayUnique, deleteNode, findNodeById, findParentNode, findPathById, findTreeNode, getAncestors, hasChildren, modifyNode, moveNode, updateNode, wrapTreeNode } from "./components/TreeView/utilities/treeview.js";
98
106
  import { useCheckable } from "./hooks/useCheckable/useCheckable.js";
99
107
  import { ResourceModal } from "./modules/modals/ResourceModal/ResourceModal.js";
108
+ import { ExternalLinker } from "./modules/multimedia/Linker/ExternalLinker/ExternalLinker.js";
109
+ import { InternalLinker } from "./modules/multimedia/Linker/InternalLinker/InternalLinker.js";
100
110
  import { EdificeClientProvider } from "./providers/EdificeClientProvider/EdificeClientProvider.js";
101
111
  import { EdificeClientContext } from "./providers/EdificeClientProvider/EdificeClientProvider.context.js";
102
112
  import { useEdificeClient } from "./providers/EdificeClientProvider/EdificeClientProvider.hook.js";
@@ -110,14 +120,14 @@ import { mergeRefs, setRef } from "./utilities/refs/ref.js";
110
120
  export {
111
121
  AccessiblePalette,
112
122
  default2 as ActionBar,
113
- default75 as AddAttachmentToWorkspaceModal,
114
123
  default3 as Alert,
115
124
  default4 as AppHeader,
116
125
  default5 as AppIcon,
117
126
  default6 as Attachment,
127
+ default83 as AudioRecorder,
118
128
  default7 as Avatar,
119
129
  default8 as Badge,
120
- default79 as BlogPublic,
130
+ default78 as BlogPublic,
121
131
  default9 as Breadcrumb,
122
132
  default10 as Button,
123
133
  default13 as Card,
@@ -126,7 +136,7 @@ export {
126
136
  default16 as ColorPickerItem,
127
137
  Column,
128
138
  default17 as Combobox,
129
- default76 as ConfirmModal,
139
+ default75 as ConfirmModal,
130
140
  DefaultPalette,
131
141
  DndTree,
132
142
  default18 as Dropdown,
@@ -136,36 +146,42 @@ export {
136
146
  EdificeClientProvider,
137
147
  EdificeThemeContext,
138
148
  EdificeThemeProvider,
149
+ default84 as Embed,
139
150
  default20 as EmptyScreen,
151
+ ExternalLinker,
140
152
  default22 as FormControl,
141
153
  default21 as FormText,
142
154
  Grid,
143
155
  default23 as Heading,
144
156
  default11 as IconButton,
145
157
  default24 as Image,
158
+ default85 as ImageEditor,
159
+ default86 as ImagePicker,
146
160
  default25 as Input,
161
+ InternalLinker,
147
162
  default26 as Label,
148
163
  Layout,
149
164
  List,
150
165
  default27 as Loading,
151
166
  default28 as LoadingScreen,
152
167
  default29 as Logo,
168
+ default87 as MediaLibrary,
153
169
  Menu,
154
170
  MockedProvider,
155
171
  default30 as Modal,
156
- default77 as OnboardingModal,
172
+ default76 as OnboardingModal,
157
173
  Popover,
158
174
  PopoverBody,
159
175
  PopoverFooter,
160
176
  PopoverHeader,
161
- default78 as PublishModal,
177
+ default77 as PublishModal,
162
178
  default31 as Radio,
163
179
  ResourceModal,
164
180
  default32 as SearchBar,
165
181
  default12 as SearchButton,
166
182
  default33 as Select,
167
- default82 as ShareBlog,
168
- default81 as ShareModal,
183
+ default81 as ShareBlog,
184
+ default80 as ShareModal,
169
185
  default37 as SortableTree,
170
186
  default34 as Table,
171
187
  Tabs,
@@ -176,7 +192,11 @@ export {
176
192
  TreeNode,
177
193
  TreeNodeFolderWrapper,
178
194
  default39 as TreeView,
195
+ default88 as VideoEmbed,
196
+ default89 as VideoRecorder,
179
197
  default40 as VisuallyHidden,
198
+ default90 as Workspace,
199
+ default91 as WorkspaceFolders,
180
200
  addNode,
181
201
  arrayUnique,
182
202
  buildTree,
@@ -229,7 +249,7 @@ export {
229
249
  default59 as useLibraryUrl,
230
250
  default60 as useMediaLibrary,
231
251
  default61 as useScrollToTop,
232
- default83 as useShareMutation,
252
+ default82 as useShareMutation,
233
253
  default62 as useTitle,
234
254
  default63 as useToast,
235
255
  default64 as useToggle,
@@ -237,7 +257,7 @@ export {
237
257
  default66 as useTrashedResource,
238
258
  useTreeSortable,
239
259
  useTreeView,
240
- default80 as useUpdateMutation,
260
+ default79 as useUpdateMutation,
241
261
  default67 as useUpload,
242
262
  default68 as useUploadFiles,
243
263
  default69 as useUser,
package/dist/modals.js CHANGED
@@ -1,22 +1,20 @@
1
- import { default as default2 } from "./modules/modals/AddAttachmentToWorkspaceModal/AddAttachmentToWorkspaceModal.js";
2
- import { default as default3 } from "./modules/modals/ConfirmModal/ConfirmModal.js";
3
- import { default as default4 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
4
- import { default as default5 } from "./modules/modals/PublishModal/PublishModal.js";
5
- import { default as default6 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
6
- import { default as default7 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
7
- import { default as default8 } from "./modules/modals/ShareModal/ShareModal.js";
8
- import { default as default9 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
9
- import { default as default10 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
1
+ import { default as default2 } from "./modules/modals/ConfirmModal/ConfirmModal.js";
2
+ import { default as default3 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
3
+ import { default as default4 } from "./modules/modals/PublishModal/PublishModal.js";
4
+ import { default as default5 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
5
+ import { default as default6 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
6
+ import { default as default7 } from "./modules/modals/ShareModal/ShareModal.js";
7
+ import { default as default8 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
8
+ import { default as default9 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
10
9
  import { ResourceModal } from "./modules/modals/ResourceModal/ResourceModal.js";
11
10
  export {
12
- default2 as AddAttachmentToWorkspaceModal,
13
- default6 as BlogPublic,
14
- default3 as ConfirmModal,
15
- default4 as OnboardingModal,
16
- default5 as PublishModal,
11
+ default5 as BlogPublic,
12
+ default2 as ConfirmModal,
13
+ default3 as OnboardingModal,
14
+ default4 as PublishModal,
17
15
  ResourceModal,
18
- default9 as ShareBlog,
19
- default8 as ShareModal,
20
- default10 as useShareMutation,
21
- default7 as useUpdateMutation
16
+ default8 as ShareBlog,
17
+ default7 as ShareModal,
18
+ default9 as useShareMutation,
19
+ default6 as useUpdateMutation
22
20
  };
@@ -1,4 +1,3 @@
1
- export * from './AddAttachmentToWorkspaceModal';
2
1
  export * from './ConfirmModal';
3
2
  export * from './OnboardingModal';
4
3
  export * from './PublishModal';
@@ -0,0 +1,8 @@
1
+ interface WorkspaceFoldersProps {
2
+ /**
3
+ * Function called when a folder is selected
4
+ */
5
+ onFolderSelected: (folderId: string) => void;
6
+ }
7
+ export default function WorkspaceFolders({ onFolderSelected, }: WorkspaceFoldersProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useTranslation } from "react-i18next";
3
- import useWorkspaceFolders from "../../../../hooks/useWorkspaceFolders/useWorkspaceFolders.js";
4
- import Tree from "../../../../components/Tree/components/Tree.js";
5
- function WorkspaceFoldersTree({
3
+ import useWorkspaceFolders from "../../../hooks/useWorkspaceFolders/useWorkspaceFolders.js";
4
+ import Tree from "../../../components/Tree/components/Tree.js";
5
+ function WorkspaceFolders({
6
6
  onFolderSelected
7
7
  }) {
8
8
  const {
@@ -12,9 +12,9 @@ function WorkspaceFoldersTree({
12
12
  } = useWorkspaceFolders();
13
13
  return /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column gap-12", children: [
14
14
  /* @__PURE__ */ jsx("p", { children: t("attachments.add.to.folder.modal.description") }),
15
- /* @__PURE__ */ jsx("div", { className: "border border-gray-400 rounded", children: /* @__PURE__ */ jsx("div", { className: "p-12", children: /* @__PURE__ */ jsx(Tree, { nodes: folderTree, onTreeItemClick: onFolderSelected, shouldExpandAllNodes: !0 }) }) })
15
+ /* @__PURE__ */ jsx("div", { className: "border border-gray-400 rounded", children: /* @__PURE__ */ jsx("div", { className: "p-12", children: /* @__PURE__ */ jsx(Tree, { nodes: folderTree, onTreeItemClick: onFolderSelected }) }) })
16
16
  ] });
17
17
  }
18
18
  export {
19
- WorkspaceFoldersTree as default
19
+ WorkspaceFolders as default
20
20
  };
@@ -0,0 +1 @@
1
+ export { default as WorkspaceFolders } from './WorkspaceFolders';
@@ -7,3 +7,4 @@ export * from './MediaLibrary';
7
7
  export * from './VideoEmbed';
8
8
  export * from './VideoRecorder';
9
9
  export * from './Workspace';
10
+ export * from './WorkspaceFolders';
@@ -6,6 +6,7 @@ import { default as default6 } from "./modules/multimedia/MediaLibrary/MediaLibr
6
6
  import { default as default7 } from "./modules/multimedia/VideoEmbed/VideoEmbed.js";
7
7
  import { default as default8 } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
8
8
  import { default as default9 } from "./modules/multimedia/Workspace/Workspace.js";
9
+ import { default as default10 } from "./modules/multimedia/WorkspaceFolders/WorkspaceFolders.js";
9
10
  import { ExternalLinker } from "./modules/multimedia/Linker/ExternalLinker/ExternalLinker.js";
10
11
  import { InternalLinker } from "./modules/multimedia/Linker/InternalLinker/InternalLinker.js";
11
12
  export {
@@ -18,5 +19,6 @@ export {
18
19
  default6 as MediaLibrary,
19
20
  default7 as VideoEmbed,
20
21
  default8 as VideoRecorder,
21
- default9 as Workspace
22
+ default9 as Workspace,
23
+ default10 as WorkspaceFolders
22
24
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edifice.io/react",
3
- "version": "2.2.2-develop-b2school.20250404111401",
3
+ "version": "2.2.2-develop-b2school.20250407165159",
4
4
  "description": "Edifice React Library",
5
5
  "keywords": [
6
6
  "react",
@@ -118,9 +118,9 @@
118
118
  "react-slugify": "^3.0.3",
119
119
  "swiper": "^10.1.0",
120
120
  "ua-parser-js": "^1.0.36",
121
- "@edifice.io/bootstrap": "2.2.2-develop-b2school.20250404111401",
122
- "@edifice.io/tiptap-extensions": "2.2.2-develop-b2school.20250404111401",
123
- "@edifice.io/utilities": "2.2.2-develop-b2school.20250404111401"
121
+ "@edifice.io/bootstrap": "2.2.2-develop-b2school.20250407165159",
122
+ "@edifice.io/tiptap-extensions": "2.2.2-develop-b2school.20250407165159",
123
+ "@edifice.io/utilities": "2.2.2-develop-b2school.20250407165159"
124
124
  },
125
125
  "devDependencies": {
126
126
  "@babel/plugin-transform-react-pure-annotations": "^7.23.3",
@@ -151,8 +151,8 @@
151
151
  "vite": "^5.4.11",
152
152
  "vite-plugin-dts": "^4.1.0",
153
153
  "vite-tsconfig-paths": "^5.0.1",
154
- "@edifice.io/client": "2.2.2-develop-b2school.20250404111401",
155
- "@edifice.io/config": "2.2.2-develop-b2school.20250404111401"
154
+ "@edifice.io/client": "2.2.2-develop-b2school.20250407165159",
155
+ "@edifice.io/config": "2.2.2-develop-b2school.20250407165159"
156
156
  },
157
157
  "peerDependencies": {
158
158
  "@react-spring/web": "^9.7.5",
@@ -1,20 +0,0 @@
1
- interface AddAttachmentToWorkspaceModalProps {
2
- /**
3
- * Modal id (useful when multiple modal on the same page)
4
- */
5
- id?: string;
6
- /**
7
- * Is Modal Open
8
- */
9
- isOpen?: boolean;
10
- /**
11
- * Function to call when success button proceed
12
- */
13
- onSuccess?: () => void;
14
- /**
15
- * Function to call when closing modal
16
- */
17
- onCancel?: () => void;
18
- }
19
- export default function AddAttachmentToWorkspaceModal({ id, isOpen, onSuccess, onCancel, }: AddAttachmentToWorkspaceModalProps): import("react/jsx-runtime").JSX.Element;
20
- export {};
@@ -1,31 +0,0 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useTranslation } from "react-i18next";
3
- import WorkspaceFoldersTree from "./components/WorkspaceFoldersTree.js";
4
- import { useState, useEffect } from "react";
5
- import Modal from "../../../components/Modal/Modal.js";
6
- import Button from "../../../components/Button/Button.js";
7
- function AddAttachmentToWorkspaceModal({
8
- id = "add-attachment-to-workspace-modal",
9
- isOpen = !1,
10
- onSuccess = () => ({}),
11
- onCancel = () => ({})
12
- }) {
13
- const {
14
- t
15
- } = useTranslation(), [selectedFolderId, setSelectedFolderId] = useState(), [disabled, setDisabled] = useState(!1), handleFolderSelected = (folderId) => {
16
- setSelectedFolderId(folderId);
17
- };
18
- return useEffect(() => {
19
- setDisabled(!selectedFolderId);
20
- }, [selectedFolderId]), /* @__PURE__ */ jsxs(Modal, { isOpen, onModalClose: onCancel, id, size: "md", children: [
21
- /* @__PURE__ */ jsx(Modal.Header, { onModalClose: onCancel, children: t("attachments.add.to.folder.modal") }),
22
- /* @__PURE__ */ jsx(Modal.Body, { children: /* @__PURE__ */ jsx(WorkspaceFoldersTree, { onFolderSelected: handleFolderSelected }) }),
23
- /* @__PURE__ */ jsxs(Modal.Footer, { children: [
24
- /* @__PURE__ */ jsx(Button, { type: "button", color: "tertiary", variant: "ghost", onClick: onCancel, children: t("cancel") }),
25
- /* @__PURE__ */ jsx(Button, { type: "submit", color: "primary", variant: "filled", onClick: onSuccess, disabled, children: t("add") })
26
- ] })
27
- ] });
28
- }
29
- export {
30
- AddAttachmentToWorkspaceModal as default
31
- };
@@ -1,5 +0,0 @@
1
- type Props = {
2
- onFolderSelected: (folderId: string) => void;
3
- };
4
- export default function WorkspaceFoldersTree({ onFolderSelected }: Props): import("react/jsx-runtime").JSX.Element;
5
- export {};
@@ -1 +0,0 @@
1
- export { default as AddAttachmentToWorkspaceModal } from './AddAttachmentToWorkspaceModal';