@edifice.io/react 2.3.0-develop-pedago.20250904120912 → 2.3.0-develop-integration.20250905105851
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.
- package/dist/components/Avatar/Avatar.d.ts +0 -5
- package/dist/components/Avatar/Avatar.js +2 -8
- package/dist/components/AvatarGroup/AvatarGroup.d.ts +0 -10
- package/dist/components/AvatarGroup/AvatarGroup.js +5 -5
- package/dist/components/Dropdown/Dropdown.d.ts +4 -10
- package/dist/components/Dropdown/Dropdown.js +8 -24
- package/dist/components/Flex/Flex.d.ts +0 -1
- package/dist/components/Flex/Flex.js +2 -3
- package/dist/components/Layout/Layout.d.ts +1 -5
- package/dist/components/Layout/Layout.js +2 -5
- package/dist/components/StackedGroup/StackedGroup.d.ts +0 -5
- package/dist/components/StackedGroup/StackedGroup.js +8 -10
- package/dist/components/Tabs/components/Tabs.d.ts +3 -27
- package/dist/components/Tabs/components/Tabs.js +3 -9
- package/dist/components/Tabs/components/TabsList.d.ts +1 -15
- package/dist/components/Tabs/components/TabsList.js +5 -15
- package/dist/components/Tabs/components/TabsPanel.d.ts +1 -9
- package/dist/components/Tabs/components/TabsPanel.js +3 -8
- package/dist/hooks/useDropdown/useDropdown.d.ts +0 -2
- package/dist/hooks/useDropdown/useDropdown.js +0 -2
- package/dist/hooks/useEdificeIcons/useEdificeIcons.js +0 -3
- package/dist/icons-apps.js +192 -188
- package/dist/icons.js +184 -190
- package/dist/index.js +10 -12
- package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.js +1 -1
- package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.js +1 -1
- package/dist/modules/icons/components/apps/IconCommunities.d.ts +7 -0
- package/dist/modules/icons/components/apps/IconCommunities.js +12 -0
- package/dist/modules/icons/components/apps/IconLool.d.ts +7 -0
- package/dist/modules/icons/components/apps/IconLool.js +15 -0
- package/dist/modules/icons/components/apps/IconPronote.js +1 -1
- package/dist/modules/icons/components/apps/index.d.ts +2 -0
- package/dist/modules/icons/components/index.d.ts +0 -3
- package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +2 -57
- package/dist/modules/modals/ResourceModal/ResourceModal.js +16 -20
- package/dist/modules/multimedia/FileCard/FileCard.d.ts +2 -13
- package/dist/modules/multimedia/FileCard/FileCard.js +5 -15
- package/dist/modules/multimedia/FileCard/FileIcon.d.ts +1 -5
- package/dist/modules/multimedia/FileCard/FileIcon.js +2 -2
- package/dist/modules/multimedia/MediaLibrary/MediaLibrary.d.ts +1 -3
- package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +2 -7
- package/dist/modules/multimedia/index.d.ts +0 -1
- package/dist/multimedia.js +10 -12
- package/package.json +6 -6
- package/dist/modules/icons/components/IconMegaphone.d.ts +0 -7
- package/dist/modules/icons/components/IconMegaphone.js +0 -12
- package/dist/modules/icons/components/IconNotes.d.ts +0 -7
- package/dist/modules/icons/components/IconNotes.js +0 -13
- package/dist/modules/icons/components/IconUnion.d.ts +0 -7
- package/dist/modules/icons/components/IconUnion.js +0 -15
|
@@ -7,53 +7,13 @@ export interface FormInputs {
|
|
|
7
7
|
enablePublic: boolean;
|
|
8
8
|
formSlug: string;
|
|
9
9
|
}
|
|
10
|
-
/**
|
|
11
|
-
* Custom translations interface for overriding default translations
|
|
12
|
-
*/
|
|
13
|
-
export interface ResourceModalTranslations {
|
|
14
|
-
title?: string;
|
|
15
|
-
description?: string;
|
|
16
|
-
cancel?: string;
|
|
17
|
-
create?: string;
|
|
18
|
-
save?: string;
|
|
19
|
-
header?: {
|
|
20
|
-
create?: string;
|
|
21
|
-
edit?: string;
|
|
22
|
-
};
|
|
23
|
-
heading?: {
|
|
24
|
-
general?: string;
|
|
25
|
-
access?: string;
|
|
26
|
-
};
|
|
27
|
-
placeholder?: {
|
|
28
|
-
title?: string;
|
|
29
|
-
description?: string;
|
|
30
|
-
};
|
|
31
|
-
imagepicker?: {
|
|
32
|
-
add?: string;
|
|
33
|
-
delete?: string;
|
|
34
|
-
};
|
|
35
|
-
success?: {
|
|
36
|
-
created?: string;
|
|
37
|
-
updated?: string;
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
10
|
interface BaseProps {
|
|
41
|
-
/** Controls modal visibility */
|
|
42
11
|
isOpen: boolean;
|
|
43
|
-
/** Custom content to be displayed after the form fields */
|
|
44
12
|
children?: ReactNode | ((...props: any) => ReactNode);
|
|
45
|
-
/** Maximum length for the title input */
|
|
46
13
|
inputMaxLength?: number;
|
|
47
|
-
/** Maximum length for the description textarea */
|
|
48
14
|
textareaMaxLength?: number;
|
|
49
|
-
|
|
50
|
-
onSuccess: (result: CreateResult | UpdateResult, param: CreateParameters | UpdateParameters) => void;
|
|
51
|
-
/** Callback when operation is cancelled */
|
|
15
|
+
onSuccess: () => void;
|
|
52
16
|
onCancel: () => void;
|
|
53
|
-
/** Override application code (uses EdificeClient context by default) */
|
|
54
|
-
appCode?: string;
|
|
55
|
-
/** Custom translations for the modal */
|
|
56
|
-
translations?: ResourceModalTranslations;
|
|
57
17
|
}
|
|
58
18
|
interface CreateProps extends BaseProps {
|
|
59
19
|
mode: 'create';
|
|
@@ -66,20 +26,5 @@ interface UpdateProps extends BaseProps {
|
|
|
66
26
|
resourceId: ID;
|
|
67
27
|
}
|
|
68
28
|
type Props = CreateProps | UpdateProps;
|
|
69
|
-
|
|
70
|
-
* ResourceModal component for creating or updating resources
|
|
71
|
-
*
|
|
72
|
-
* @component
|
|
73
|
-
* @example
|
|
74
|
-
* ```tsx
|
|
75
|
-
* <ResourceModal
|
|
76
|
-
* mode="create"
|
|
77
|
-
* isOpen={true}
|
|
78
|
-
* onCancel={() => setOpen(false)}
|
|
79
|
-
* onSuccess={(result) => console.log('Resource created:', result)}
|
|
80
|
-
* currentFolder={{ id: 'default' }}
|
|
81
|
-
* />
|
|
82
|
-
* ```
|
|
83
|
-
*/
|
|
84
|
-
export declare const ResourceModal: ({ isOpen, onCancel, onSuccess, children, appCode: customAppCode, translations: customT, inputMaxLength, textareaMaxLength, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare const ResourceModal: ({ isOpen, onCancel, onSuccess, children, inputMaxLength, textareaMaxLength, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
85
30
|
export default ResourceModal;
|
|
@@ -25,17 +25,14 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
|
|
|
25
25
|
onCancel,
|
|
26
26
|
onSuccess,
|
|
27
27
|
children,
|
|
28
|
-
appCode: customAppCode,
|
|
29
|
-
translations: customT = {},
|
|
30
28
|
inputMaxLength = DEFAULT_INPUT_MAX_LENGTH,
|
|
31
29
|
textareaMaxLength = DEFAULT_TEXTAREA_MAX_LENGTH,
|
|
32
30
|
...props
|
|
33
31
|
}) => {
|
|
34
|
-
var _a, _b, _c, _d, _e, _f;
|
|
35
32
|
const {
|
|
36
|
-
appCode:
|
|
33
|
+
appCode: application,
|
|
37
34
|
currentApp
|
|
38
|
-
} = useEdificeClient(),
|
|
35
|
+
} = useEdificeClient(), {
|
|
39
36
|
t
|
|
40
37
|
} = useTranslation(), {
|
|
41
38
|
mode
|
|
@@ -68,7 +65,7 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
|
|
|
68
65
|
isUpdating,
|
|
69
66
|
selectedResource: isUpdating ? resource : void 0
|
|
70
67
|
}), watchedDescription = watch("description"), onSubmit = async function(formData) {
|
|
71
|
-
var
|
|
68
|
+
var _a, _b;
|
|
72
69
|
try {
|
|
73
70
|
const data = {
|
|
74
71
|
description: formData.description || "",
|
|
@@ -77,22 +74,21 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
|
|
|
77
74
|
slug: formData.enablePublic && formData.formSlug || "",
|
|
78
75
|
thumbnail
|
|
79
76
|
};
|
|
80
|
-
let result, param;
|
|
81
77
|
if (isCreating) {
|
|
82
78
|
const createParams = {
|
|
83
79
|
...data,
|
|
84
80
|
folder: props.currentFolder === void 0 || // Fix #WB2-1296: when searching, currentFolder is undefined
|
|
85
|
-
((
|
|
81
|
+
((_a = props.currentFolder) == null ? void 0 : _a.id) === "default" ? void 0 : parseInt(((_b = props.currentFolder) == null ? void 0 : _b.id) || ""),
|
|
86
82
|
application
|
|
87
83
|
};
|
|
88
|
-
|
|
84
|
+
props.createResource ? await props.createResource.mutateAsync(createParams) : await odeServices.resource(application).create(createParams);
|
|
89
85
|
} else {
|
|
90
86
|
const updateParams = {
|
|
91
87
|
...data,
|
|
92
88
|
entId: resource.assetId,
|
|
93
89
|
trashed: resource.trashed
|
|
94
90
|
};
|
|
95
|
-
|
|
91
|
+
props.updateResource ? await props.updateResource.mutateAsync(updateParams) : await odeServices.resource(application).update(updateParams);
|
|
96
92
|
}
|
|
97
93
|
toast.success(/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
98
94
|
/* @__PURE__ */ jsx("strong", { children: t(isCreating ? "explorer.resource.created" : "explorer.resource.updated") }),
|
|
@@ -110,21 +106,21 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
|
|
|
110
106
|
"Public:",
|
|
111
107
|
formData.enablePublic ? t("explorer.enable.public.yes") : t("explorer.enable.public.no")
|
|
112
108
|
] })
|
|
113
|
-
] })), onSuccess(
|
|
109
|
+
] })), onSuccess();
|
|
114
110
|
} catch (e) {
|
|
115
111
|
console.error(e);
|
|
116
112
|
}
|
|
117
113
|
};
|
|
118
114
|
return isUpdating && !resource ? /* @__PURE__ */ jsx(LoadingScreen, {}) : /* @__PURE__ */ createPortal(/* @__PURE__ */ jsxs(Modal, { id: `${mode}-resource`, size: "lg", isOpen, onModalClose: onCancel, children: [
|
|
119
|
-
/* @__PURE__ */ jsx(Modal.Header, { onModalClose: onCancel, children:
|
|
115
|
+
/* @__PURE__ */ jsx(Modal.Header, { onModalClose: onCancel, children: t(`explorer.resource.editModal.header.${isCreating ? "create" : "edit"}`) }),
|
|
120
116
|
/* @__PURE__ */ jsxs(Modal.Body, { children: [
|
|
121
|
-
/* @__PURE__ */ jsx(Heading, { headingStyle: "h4", level: "h3", className: "mb-16", children:
|
|
117
|
+
/* @__PURE__ */ jsx(Heading, { headingStyle: "h4", level: "h3", className: "mb-16", children: t("explorer.resource.editModal.heading.general") }),
|
|
122
118
|
/* @__PURE__ */ jsxs("form", { id: formId, onSubmit: handleSubmit(onSubmit), children: [
|
|
123
119
|
/* @__PURE__ */ jsxs("div", { className: "d-block d-md-flex gap-16 mb-24", children: [
|
|
124
|
-
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(ImagePicker, { app: currentApp, src: isUpdating && (resource == null ? void 0 : resource.thumbnail) || "", addButtonLabel:
|
|
120
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(ImagePicker, { app: currentApp, src: isUpdating && (resource == null ? void 0 : resource.thumbnail) || "", addButtonLabel: t("explorer.imagepicker.button.add"), deleteButtonLabel: t("explorer.imagepicker.button.delete"), onUploadImage: handleUploadImage, onDeleteImage: handleDeleteImage, className: "align-self-center mt-8", libraryMedia, mediaLibraryRef }) }),
|
|
125
121
|
/* @__PURE__ */ jsxs("div", { className: "col", children: [
|
|
126
122
|
/* @__PURE__ */ jsxs(FormControl, { id: "title", className: "mb-16", isRequired: !0, children: [
|
|
127
|
-
/* @__PURE__ */ jsx(Label, { children:
|
|
123
|
+
/* @__PURE__ */ jsx(Label, { children: t("title") }),
|
|
128
124
|
/* @__PURE__ */ jsx(Input, { type: "text", defaultValue: isUpdating ? resource == null ? void 0 : resource.name : "", ...register("title", {
|
|
129
125
|
required: !0,
|
|
130
126
|
maxLength: inputMaxLength,
|
|
@@ -132,14 +128,14 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
|
|
|
132
128
|
value: /[^ ]/,
|
|
133
129
|
message: "invalid title"
|
|
134
130
|
}
|
|
135
|
-
}), placeholder:
|
|
131
|
+
}), placeholder: t("explorer.resource.editModal.title.placeholder"), size: "md", "aria-required": !0, maxLength: inputMaxLength })
|
|
136
132
|
] }),
|
|
137
133
|
/* @__PURE__ */ jsxs(FormControl, { id: "description", isOptional: !0, children: [
|
|
138
|
-
/* @__PURE__ */ jsx(Label, { children:
|
|
134
|
+
/* @__PURE__ */ jsx(Label, { children: t("description") }),
|
|
139
135
|
/* @__PURE__ */ jsx(TextArea, { defaultValue: (resource == null ? void 0 : resource.description) || "", ...register("description", {
|
|
140
136
|
required: !1,
|
|
141
137
|
maxLength: textareaMaxLength
|
|
142
|
-
}), placeholder:
|
|
138
|
+
}), placeholder: t("explorer.resource.editModal.description.placeholder"), size: "md", maxLength: textareaMaxLength }),
|
|
143
139
|
watchedDescription && /* @__PURE__ */ jsx(TextareaCounter, { content: watchedDescription, maxLength: textareaMaxLength })
|
|
144
140
|
] })
|
|
145
141
|
] })
|
|
@@ -148,8 +144,8 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
|
|
|
148
144
|
] })
|
|
149
145
|
] }),
|
|
150
146
|
/* @__PURE__ */ jsxs(Modal.Footer, { children: [
|
|
151
|
-
/* @__PURE__ */ jsx(Button, { color: "tertiary", onClick: onCancel, type: "button", variant: "ghost", children:
|
|
152
|
-
/* @__PURE__ */ jsx(Button, { form: formId, type: "submit", color: "primary", isLoading: isSubmitting, variant: "filled", disabled: !isValid || isSubmitting, children: isCreating ?
|
|
147
|
+
/* @__PURE__ */ jsx(Button, { color: "tertiary", onClick: onCancel, type: "button", variant: "ghost", children: t("explorer.cancel") }),
|
|
148
|
+
/* @__PURE__ */ jsx(Button, { form: formId, type: "submit", color: "primary", isLoading: isSubmitting, variant: "filled", disabled: !isValid || isSubmitting, children: t(isCreating ? "explorer.create" : "save") })
|
|
153
149
|
] }),
|
|
154
150
|
/* @__PURE__ */ jsx(MediaLibrary, { appCode: application, ref: mediaLibraryRef, multiple: !1, visibility: "protected", ...mediaLibraryHandlers })
|
|
155
151
|
] }), document.getElementById("portal"));
|
|
@@ -1,24 +1,13 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
1
|
import { WorkspaceElement } from '@edifice.io/client';
|
|
3
2
|
import { CardProps } from '../../../components';
|
|
4
3
|
export interface FileCardProps extends CardProps {
|
|
5
4
|
/**
|
|
6
5
|
* WorkspaceElement
|
|
7
|
-
*/
|
|
6
|
+
* */
|
|
8
7
|
doc: WorkspaceElement;
|
|
9
|
-
/**
|
|
10
|
-
* Custom icon to override the default based on file type
|
|
11
|
-
* Can be a string or a React node
|
|
12
|
-
*/
|
|
13
|
-
customIcon?: ReactNode;
|
|
14
|
-
/**
|
|
15
|
-
* Custom color class to override the default based on file type
|
|
16
|
-
* Example: "bg-purple-300" or any valid CSS class
|
|
17
|
-
*/
|
|
18
|
-
customColor?: string;
|
|
19
8
|
}
|
|
20
9
|
declare const FileCard: {
|
|
21
|
-
({ doc, isClickable, isSelectable, isSelected, onClick, className,
|
|
10
|
+
({ doc, isClickable, isSelectable, isSelected, onClick, className, }: FileCardProps): import("react/jsx-runtime").JSX.Element;
|
|
22
11
|
displayName: string;
|
|
23
12
|
};
|
|
24
13
|
export default FileCard;
|
|
@@ -15,21 +15,11 @@ const FileCard = ({
|
|
|
15
15
|
isSelectable = !1,
|
|
16
16
|
isSelected = !1,
|
|
17
17
|
onClick,
|
|
18
|
-
className
|
|
19
|
-
onSelect,
|
|
20
|
-
isFocused,
|
|
21
|
-
app,
|
|
22
|
-
customIcon,
|
|
23
|
-
customColor
|
|
18
|
+
className
|
|
24
19
|
}) => {
|
|
20
|
+
var _a;
|
|
25
21
|
const ref = useRef(null), type = DocumentHelper.getRole(doc);
|
|
26
22
|
function getRoleMap(type2) {
|
|
27
|
-
if (customIcon !== void 0 || customColor !== void 0)
|
|
28
|
-
return {
|
|
29
|
-
icon: customIcon || /* @__PURE__ */ jsx(SvgIconTextPage, { width: 22, height: 22 }),
|
|
30
|
-
color: customColor || "bg-gray-300",
|
|
31
|
-
hasShadow: !1
|
|
32
|
-
};
|
|
33
23
|
const roleMappings = {
|
|
34
24
|
csv: {
|
|
35
25
|
icon: ".CSV",
|
|
@@ -82,17 +72,17 @@ const FileCard = ({
|
|
|
82
72
|
};
|
|
83
73
|
return roleMappings[type2] || roleMappings.unknown;
|
|
84
74
|
}
|
|
85
|
-
const
|
|
75
|
+
const file = clsx("file position-relative rounded", ((_a = getRoleMap(type ?? "default")) == null ? void 0 : _a.color) ?? "bg-yellow-200"), mediaSrc = type === "img" || type === "video" ? odeServices.workspace().getThumbnailUrl(doc) : null, hasThumbnail = useThumbnail(mediaSrc, {
|
|
86
76
|
ref
|
|
87
77
|
}), imageStyles = hasThumbnail && {
|
|
88
78
|
backgroundImage: `url(${mediaSrc})`,
|
|
89
79
|
backgroundSize: "cover"
|
|
90
80
|
};
|
|
91
|
-
return /* @__PURE__ */ jsx(Card, { className: clsx("card-file", className), isClickable, isSelectable, isSelected, onClick,
|
|
81
|
+
return /* @__PURE__ */ jsx(Card, { className: clsx("card-file", className), isClickable, isSelectable, isSelected, onClick, children: /* @__PURE__ */ jsxs(Card.Body, { space: "8", children: [
|
|
92
82
|
/* @__PURE__ */ jsx("div", { ref, className: file, style: {
|
|
93
83
|
aspectRatio: "16/10",
|
|
94
84
|
...imageStyles
|
|
95
|
-
}, children: type !== "img" || type === "img" && !hasThumbnail ? /* @__PURE__ */ jsx(FileIcon, { type, roleMap }) : null }),
|
|
85
|
+
}, children: type !== "img" || type === "img" && !hasThumbnail ? /* @__PURE__ */ jsx(FileIcon, { type, roleMap: getRoleMap(type) }) : null }),
|
|
96
86
|
/* @__PURE__ */ jsxs("div", { className: "mt-4", children: [
|
|
97
87
|
/* @__PURE__ */ jsx(Card.Text, { children: doc.name }),
|
|
98
88
|
/* @__PURE__ */ jsx(Card.Text, { className: "text-black-50", children: doc == null ? void 0 : doc.ownerName })
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { Role } from '@edifice.io/client';
|
|
2
2
|
declare const FileIcon: ({ type, roleMap, }: {
|
|
3
3
|
type: Role | "unknown";
|
|
4
|
-
roleMap?:
|
|
5
|
-
icon: React.ReactNode | string;
|
|
6
|
-
color: string;
|
|
7
|
-
hasShadow?: boolean;
|
|
8
|
-
};
|
|
4
|
+
roleMap?: Record<string, string | JSX.Element>;
|
|
9
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
10
6
|
export default FileIcon;
|
|
@@ -5,8 +5,8 @@ const FileIcon = ({
|
|
|
5
5
|
type,
|
|
6
6
|
roleMap
|
|
7
7
|
}) => {
|
|
8
|
-
const
|
|
9
|
-
"p-12 rounded-circle shadow":
|
|
8
|
+
const hasNoShadow = typeof (roleMap == null ? void 0 : roleMap.icon) != "string" && type !== "unknown", fileicon = clsx("position-absolute top-50 start-50 translate-middle", {
|
|
9
|
+
"p-12 rounded-circle shadow": hasNoShadow
|
|
10
10
|
}, roleMap == null ? void 0 : roleMap.color);
|
|
11
11
|
return /* @__PURE__ */ jsx("div", { className: fileicon, children: (roleMap == null ? void 0 : roleMap.icon) ?? /* @__PURE__ */ jsx(SvgIconPaperclip, {}) });
|
|
12
12
|
};
|
|
@@ -35,9 +35,7 @@ export type MediaLibraryType =
|
|
|
35
35
|
/** Embedded websites */
|
|
36
36
|
| 'embedder'
|
|
37
37
|
/** Hyperlinks */
|
|
38
|
-
| 'hyperlink'
|
|
39
|
-
/** Studio mode for recording audio and video */
|
|
40
|
-
| 'studio';
|
|
38
|
+
| 'hyperlink';
|
|
41
39
|
export interface MediaLibraryRef {
|
|
42
40
|
/** Open the Media Library on given type. */
|
|
43
41
|
show: (type: MediaLibraryType) => void;
|
|
@@ -56,11 +56,6 @@ const orderedTabs = [
|
|
|
56
56
|
embedder: {
|
|
57
57
|
title: "bbm.embed.modal.title",
|
|
58
58
|
defaultTab: "iframe"
|
|
59
|
-
},
|
|
60
|
-
// Add studio type with video-capture as default tab
|
|
61
|
-
studio: {
|
|
62
|
-
title: "bbm.studio.modal.title",
|
|
63
|
-
defaultTab: "audio-capture"
|
|
64
59
|
}
|
|
65
60
|
}, MediaLibrary = /* @__PURE__ */ forwardRef(({
|
|
66
61
|
appCode,
|
|
@@ -106,7 +101,7 @@ const orderedTabs = [
|
|
|
106
101
|
icon: /* @__PURE__ */ jsx(SvgIconRecordVideo, {}),
|
|
107
102
|
label: t("bbm.video"),
|
|
108
103
|
content: /* @__PURE__ */ jsx(InnerTabs.Video, {}),
|
|
109
|
-
availableFor: ["video"
|
|
104
|
+
availableFor: ["video"],
|
|
110
105
|
isEnable: () => !!videoCaptureWorkflow
|
|
111
106
|
},
|
|
112
107
|
"audio-capture": {
|
|
@@ -114,7 +109,7 @@ const orderedTabs = [
|
|
|
114
109
|
icon: /* @__PURE__ */ jsx(SvgIconMic, {}),
|
|
115
110
|
label: t("bbm.audio"),
|
|
116
111
|
content: /* @__PURE__ */ jsx(InnerTabs.Audio, {}),
|
|
117
|
-
availableFor: ["audio"
|
|
112
|
+
availableFor: ["audio"],
|
|
118
113
|
isEnable: () => !!workspaceCreateWorkflow
|
|
119
114
|
},
|
|
120
115
|
"external-link": {
|
package/dist/multimedia.js
CHANGED
|
@@ -2,25 +2,23 @@ import { default as default2 } from "./modules/multimedia/AudioRecorder/AudioRec
|
|
|
2
2
|
import { default as default3 } from "./modules/multimedia/Embed/Embed.js";
|
|
3
3
|
import { default as default4 } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
|
|
4
4
|
import { default as default5 } from "./modules/multimedia/ImagePicker/ImagePicker.js";
|
|
5
|
-
import { default as default6 } from "./modules/multimedia/
|
|
6
|
-
import { default as default7 } from "./modules/multimedia/
|
|
7
|
-
import { default as default8 } from "./modules/multimedia/
|
|
8
|
-
import { default as default9 } from "./modules/multimedia/
|
|
9
|
-
import { default as default10 } from "./modules/multimedia/
|
|
10
|
-
import { default as default11 } from "./modules/multimedia/WorkspaceFolders/WorkspaceFolders.js";
|
|
5
|
+
import { default as default6 } from "./modules/multimedia/MediaLibrary/MediaLibrary.js";
|
|
6
|
+
import { default as default7 } from "./modules/multimedia/VideoEmbed/VideoEmbed.js";
|
|
7
|
+
import { default as default8 } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
|
|
8
|
+
import { default as default9 } from "./modules/multimedia/Workspace/Workspace.js";
|
|
9
|
+
import { default as default10 } from "./modules/multimedia/WorkspaceFolders/WorkspaceFolders.js";
|
|
11
10
|
import { ExternalLinker } from "./modules/multimedia/Linker/ExternalLinker/ExternalLinker.js";
|
|
12
11
|
import { InternalLinker } from "./modules/multimedia/Linker/InternalLinker/InternalLinker.js";
|
|
13
12
|
export {
|
|
14
13
|
default2 as AudioRecorder,
|
|
15
14
|
default3 as Embed,
|
|
16
15
|
ExternalLinker,
|
|
17
|
-
default6 as FileCard,
|
|
18
16
|
default4 as ImageEditor,
|
|
19
17
|
default5 as ImagePicker,
|
|
20
18
|
InternalLinker,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
default6 as MediaLibrary,
|
|
20
|
+
default7 as VideoEmbed,
|
|
21
|
+
default8 as VideoRecorder,
|
|
22
|
+
default9 as Workspace,
|
|
23
|
+
default10 as WorkspaceFolders
|
|
26
24
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edifice.io/react",
|
|
3
|
-
"version": "2.3.0-develop-
|
|
3
|
+
"version": "2.3.0-develop-integration.20250905105851",
|
|
4
4
|
"description": "Edifice React Library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -130,9 +130,9 @@
|
|
|
130
130
|
"react-slugify": "^3.0.3",
|
|
131
131
|
"swiper": "^10.1.0",
|
|
132
132
|
"ua-parser-js": "^1.0.36",
|
|
133
|
-
"@edifice.io/bootstrap": "2.3.0-develop-
|
|
134
|
-
"@edifice.io/tiptap-extensions": "2.3.0-develop-
|
|
135
|
-
"@edifice.io/utilities": "2.3.0-develop-
|
|
133
|
+
"@edifice.io/bootstrap": "2.3.0-develop-integration.20250905105851",
|
|
134
|
+
"@edifice.io/tiptap-extensions": "2.3.0-develop-integration.20250905105851",
|
|
135
|
+
"@edifice.io/utilities": "2.3.0-develop-integration.20250905105851"
|
|
136
136
|
},
|
|
137
137
|
"devDependencies": {
|
|
138
138
|
"@babel/plugin-transform-react-pure-annotations": "^7.23.3",
|
|
@@ -163,8 +163,8 @@
|
|
|
163
163
|
"vite": "^5.4.11",
|
|
164
164
|
"vite-plugin-dts": "^4.1.0",
|
|
165
165
|
"vite-tsconfig-paths": "^5.0.1",
|
|
166
|
-
"@edifice.io/client": "2.3.0-develop-
|
|
167
|
-
"@edifice.io/config": "2.3.0-develop-
|
|
166
|
+
"@edifice.io/client": "2.3.0-develop-integration.20250905105851",
|
|
167
|
+
"@edifice.io/config": "2.3.0-develop-integration.20250905105851"
|
|
168
168
|
},
|
|
169
169
|
"peerDependencies": {
|
|
170
170
|
"@react-spring/web": "^9.7.5",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { SVGProps } from 'react';
|
|
2
|
-
interface SVGRProps {
|
|
3
|
-
title?: string;
|
|
4
|
-
titleId?: string;
|
|
5
|
-
}
|
|
6
|
-
declare const SvgIconMegaphone: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export default SvgIconMegaphone;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
const SvgIconMegaphone = ({
|
|
3
|
-
title,
|
|
4
|
-
titleId,
|
|
5
|
-
...props
|
|
6
|
-
}) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
|
|
7
|
-
title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
|
|
8
|
-
/* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M13.962 3.067c1.333-.809 3.038.15 3.038 1.71v13.446c0 1.56-1.705 2.519-3.038 1.71l-3.794-2.304a3.67 3.67 0 0 1-7.26-1.084A3 3 0 0 1 1 13.75v-4.5a3 3 0 0 1 3-3h4.44a1 1 0 0 0 .52-.145zM4.9 16.75h3.29a1.67 1.67 0 1 1-3.29 0M15 4.777 9.997 7.814a3 3 0 0 1-1.557.436H4a1 1 0 0 0-1 1v4.5a1 1 0 0 0 1 1h4.44a3 3 0 0 1 1.557.436L15 18.223zm6.055 3.055a1 1 0 0 0-1.11-1.664l-1.5 1a1 1 0 0 0 1.11 1.664zm-2.887 7.613a1 1 0 0 1 1.387-.277l1.5 1a1 1 0 1 1-1.11 1.664l-1.5-1a1 1 0 0 1-.277-1.387M19.5 11a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2z", clipRule: "evenodd" })
|
|
9
|
-
] });
|
|
10
|
-
export {
|
|
11
|
-
SvgIconMegaphone as default
|
|
12
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { SVGProps } from 'react';
|
|
2
|
-
interface SVGRProps {
|
|
3
|
-
title?: string;
|
|
4
|
-
titleId?: string;
|
|
5
|
-
}
|
|
6
|
-
declare const SvgIconNotes: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export default SvgIconNotes;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
const SvgIconNotes = ({
|
|
3
|
-
title,
|
|
4
|
-
titleId,
|
|
5
|
-
...props
|
|
6
|
-
}) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
|
|
7
|
-
title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
|
|
8
|
-
/* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M1 4a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v13a1 1 0 1 1-2 0V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h13a1 1 0 1 1 0 2H4a3 3 0 0 1-3-3z", clipRule: "evenodd" }),
|
|
9
|
-
/* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M18 18v1.586L19.586 18zm-2-1a1 1 0 0 1 1-1h5a1 1 0 0 1 .707 1.707l-5 5A1 1 0 0 1 16 22zM6 9a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1M6 14a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1", clipRule: "evenodd" })
|
|
10
|
-
] });
|
|
11
|
-
export {
|
|
12
|
-
SvgIconNotes as default
|
|
13
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { SVGProps } from 'react';
|
|
2
|
-
interface SVGRProps {
|
|
3
|
-
title?: string;
|
|
4
|
-
titleId?: string;
|
|
5
|
-
}
|
|
6
|
-
declare const SvgIconUnion: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export default SvgIconUnion;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
const SvgIconUnion = ({
|
|
3
|
-
title,
|
|
4
|
-
titleId,
|
|
5
|
-
...props
|
|
6
|
-
}) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 20 20", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
|
|
7
|
-
title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
|
|
8
|
-
/* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M10.177 12.503C12.875 12.58 15 14.39 15 16.78c0 1.017-.948 1.553-1.724 1.553h-6.55c-.78 0-1.724-.54-1.724-1.553v-.031L5 16.7c0-2.532 2.516-4.275 5.177-4.197m-.048 1.666c-2.06-.06-3.433 1.235-3.462 2.49a.3.3 0 0 0 .06.008h6.55q.03 0 .052-.007c-.071-1.22-1.222-2.434-3.2-2.491", clipRule: "evenodd" }),
|
|
9
|
-
/* @__PURE__ */ jsx("path", { fill: "currentColor", d: "M3.884 9.17a4 4 0 0 1 1.446.318.833.833 0 0 1-.58 1.559l-.08-.03-.19-.071a2.4 2.4 0 0 0-.651-.11c-1.172-.04-2.041.755-2.15 1.664h2.488a.833.833 0 0 1 0 1.667h-2.71c-.743 0-1.457-.57-1.457-1.409v-.065C0 10.64 1.819 9.101 3.884 9.17M16.384 9.17C18.38 9.235 20 10.815 20 12.757c0 .842-.718 1.409-1.457 1.409h-2.71a.833.833 0 0 1 0-1.667h2.478c-.132-.873-.92-1.63-1.982-1.665a2.3 2.3 0 0 0-.995.188.834.834 0 0 1-.668-1.527 3.95 3.95 0 0 1 1.718-.327" }),
|
|
10
|
-
/* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M10 4.167a3.333 3.333 0 1 1 0 6.667 3.333 3.333 0 0 1 0-6.667m0 1.667a1.667 1.667 0 1 0 0 3.333 1.667 1.667 0 0 0 0-3.333M3.75 1.667a2.917 2.917 0 1 1 0 5.833 2.917 2.917 0 0 1 0-5.833m0 1.667a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5", clipRule: "evenodd" }),
|
|
11
|
-
/* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M16.25 1.667a2.917 2.917 0 1 1 0 5.833 2.917 2.917 0 0 1 0-5.833m0 1.667a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5", clipRule: "evenodd" })
|
|
12
|
-
] });
|
|
13
|
-
export {
|
|
14
|
-
SvgIconUnion as default
|
|
15
|
-
};
|