@edifice.io/react 2.1.1-develop-integration.20250218194811 → 2.1.1-develop-b2school.20250304103025
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/Dropdown/DropdownTrigger.js +5 -1
- package/dist/components/List/List.d.ts +9 -1
- package/dist/components/List/List.js +9 -9
- package/dist/components/SearchBar/SearchBar.d.ts +1 -1
- package/dist/components/SearchBar/SearchBar.js +3 -1
- package/dist/editor.js +24 -24
- package/dist/hooks/useCheckable/useCheckable.d.ts +5 -1
- package/dist/hooks/useCheckable/useCheckable.js +1 -1
- package/dist/hooks/useConversation/useConversation.d.ts +1 -1
- package/dist/hooks/useConversation/useConversation.js +13 -17
- package/dist/icons.js +196 -192
- package/dist/modules/comments/hooks/useAutosizeTextarea.d.ts +5 -1
- package/dist/modules/editor/components/Editor/Editor.d.ts +3 -1
- package/dist/modules/editor/components/Editor/Editor.js +7 -8
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.d.ts +1 -4
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +4 -19
- package/dist/modules/editor/components/NodeView/ConversationHistoryNodeView.d.ts +2 -0
- package/dist/modules/editor/components/NodeView/ConversationHistoryNodeView.js +10 -0
- package/dist/modules/editor/components/NodeView/index.d.ts +2 -1
- package/dist/modules/editor/components/Renderer/ConversationHistoryRenderer.d.ts +8 -0
- package/dist/modules/editor/components/Renderer/ConversationHistoryRenderer.js +28 -0
- package/dist/modules/editor/components/Renderer/index.d.ts +2 -1
- package/dist/modules/editor/hooks/index.d.ts +0 -2
- package/dist/modules/editor/hooks/useTipTapEditor.d.ts +6 -2
- package/dist/modules/editor/hooks/useTipTapEditor.js +2 -2
- package/dist/modules/icons/components/IconFolderAdd.d.ts +7 -0
- package/dist/modules/icons/components/IconFolderAdd.js +13 -0
- package/dist/modules/icons/components/IconGroupAvatar.d.ts +7 -0
- package/dist/modules/icons/components/IconGroupAvatar.js +12 -0
- package/dist/modules/icons/components/IconReadMail.d.ts +7 -0
- package/dist/modules/icons/components/IconReadMail.js +16 -0
- package/dist/modules/icons/components/IconUndoAll.d.ts +7 -0
- package/dist/modules/icons/components/IconUndoAll.js +14 -0
- package/dist/modules/icons/components/IconUnreadMail.d.ts +7 -0
- package/dist/modules/icons/components/IconUnreadMail.js +16 -0
- package/dist/modules/icons/components/index.d.ts +5 -3
- package/package.json +6 -6
- package/dist/modules/editor/components/Editor/CantooAdaptTextBoxView.d.ts +0 -2
- package/dist/modules/editor/components/Editor/CantooAdaptTextBoxView.js +0 -13
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Cantoo.d.ts +0 -9
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Cantoo.js +0 -55
- package/dist/modules/editor/hooks/useCantooAdaptTextBox.d.ts +0 -14
- package/dist/modules/editor/hooks/useCantooAdaptTextBox.js +0 -14
- package/dist/modules/editor/hooks/useCantooEditor.d.ts +0 -8
- package/dist/modules/editor/hooks/useCantooEditor.js +0 -48
- package/dist/modules/icons/components/IconCantoo.d.ts +0 -7
- package/dist/modules/icons/components/IconCantoo.js +0 -23
- package/dist/modules/icons/components/IconMicOff.d.ts +0 -7
- package/dist/modules/icons/components/IconMicOff.js +0 -12
- package/dist/modules/icons/components/IconTextToSpeechOff.d.ts +0 -7
- package/dist/modules/icons/components/IconTextToSpeechOff.js +0 -12
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { default as AudioNodeView } from './AudioNodeView';
|
|
2
1
|
export { default as AttachmentNodeView } from './AttachmentNodeView';
|
|
2
|
+
export { default as AudioNodeView } from './AudioNodeView';
|
|
3
|
+
export { default as ConversationHistoryNodeView } from './ConversationHistoryNodeView';
|
|
3
4
|
export { default as ImageNodeView } from './ImageNodeView';
|
|
4
5
|
export { default as LinkerNodeView } from './LinkerNodeView';
|
|
5
6
|
export { default as VideoNodeView } from './VideoNodeView';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ConversationHistoryRenderer` is a React component that renders a button to toggle the visibility
|
|
3
|
+
* of conversation history content. It uses the `@tiptap/react` library for rendering content and
|
|
4
|
+
* `clsx` for conditional class names. The component also utilizes the `useTranslation` hook from
|
|
5
|
+
* `react-i18next` for internationalization and a custom `useToggle` hook for managing the open state.
|
|
6
|
+
*/
|
|
7
|
+
declare const ConversationHistoryRenderer: () => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default ConversationHistoryRenderer;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { NodeViewWrapper, NodeViewContent } from "@tiptap/react";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import SvgIconRafterDown from "../../../icons/components/IconRafterDown.js";
|
|
6
|
+
import SvgIconRafterUp from "../../../icons/components/IconRafterUp.js";
|
|
7
|
+
import useToggle from "../../../../hooks/useToggle/useToggle.js";
|
|
8
|
+
import Button from "../../../../components/Button/Button.js";
|
|
9
|
+
const ConversationHistoryRenderer = () => {
|
|
10
|
+
const {
|
|
11
|
+
t
|
|
12
|
+
} = useTranslation("conversation"), [open, toggleOpen] = useToggle(!1), classes = clsx("conversation-history ps-16", {
|
|
13
|
+
show: open
|
|
14
|
+
});
|
|
15
|
+
return /* @__PURE__ */ jsxs(NodeViewWrapper, { as: "div", contentEditable: !1, children: [
|
|
16
|
+
/* @__PURE__ */ jsx(Button, { variant: "ghost", onClick: toggleOpen, size: "sm", className: "d-flex align-items-center gap-4 text-gray-800 fs-6 mt-24", children: open ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
17
|
+
t("message.history.hide"),
|
|
18
|
+
/* @__PURE__ */ jsx(SvgIconRafterUp, { width: 16, height: 16 })
|
|
19
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
20
|
+
t("message.history.show"),
|
|
21
|
+
/* @__PURE__ */ jsx(SvgIconRafterDown, { width: 16, height: 16 })
|
|
22
|
+
] }) }),
|
|
23
|
+
/* @__PURE__ */ jsx("div", { className: classes, "data-testid": "conversation-history-content", children: /* @__PURE__ */ jsx(NodeViewContent, {}) })
|
|
24
|
+
] });
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
ConversationHistoryRenderer as default
|
|
28
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { default as AudioRenderer } from './AudioRenderer';
|
|
2
1
|
export { default as AttachmentRenderer } from './AttachmentRenderer';
|
|
2
|
+
export { default as AudioRenderer } from './AudioRenderer';
|
|
3
|
+
export { default as ConversationHistoryRenderer } from './ConversationHistoryRenderer';
|
|
3
4
|
export { default as LinkerRenderer } from './LinkerRenderer';
|
|
4
5
|
export { default as MediaRenderer } from './MediaRenderer';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Content, FocusPosition } from '@tiptap/react';
|
|
1
|
+
import { Content, Extensions, FocusPosition } from '@tiptap/react';
|
|
2
2
|
import { WorkspaceVisibility } from '@edifice.io/client';
|
|
3
3
|
/**
|
|
4
4
|
* Hook that creates a tiptap editor instance.
|
|
@@ -7,10 +7,14 @@ import { WorkspaceVisibility } from '@edifice.io/client';
|
|
|
7
7
|
* @param content default rich content
|
|
8
8
|
* @param focus set focus position to the editor
|
|
9
9
|
* @param placeholder editor placeholder content
|
|
10
|
+
* @param onContentChange callback to be called on content change
|
|
11
|
+
* @param visibility workspace visibility
|
|
12
|
+
* @param extensions extensions to add to the editor
|
|
13
|
+
* @returns the editor instance and the editable state
|
|
10
14
|
*/
|
|
11
15
|
export declare const useTipTapEditor: (editable: boolean, content: Content, focus?: FocusPosition, placeholder?: string, onContentChange?: ({ editor }: {
|
|
12
16
|
editor: any;
|
|
13
|
-
}) => void, visibility?: WorkspaceVisibility) => {
|
|
17
|
+
}) => void, visibility?: WorkspaceVisibility, extensions?: Extensions) => {
|
|
14
18
|
editor: import('@tiptap/core').Editor | null;
|
|
15
19
|
editable: boolean;
|
|
16
20
|
};
|
|
@@ -36,7 +36,7 @@ import MediaRenderer from "../components/Renderer/MediaRenderer.js";
|
|
|
36
36
|
import AudioRenderer from "../components/Renderer/AudioRenderer.js";
|
|
37
37
|
import LinkerRenderer from "../components/Renderer/LinkerRenderer.js";
|
|
38
38
|
import AttachmentRenderer from "../components/Renderer/AttachmentRenderer.js";
|
|
39
|
-
const useTipTapEditor = (editable, content, focus, placeholder, onContentChange, visibility = "protected") => {
|
|
39
|
+
const useTipTapEditor = (editable, content, focus, placeholder, onContentChange, visibility = "protected", extensions) => {
|
|
40
40
|
const {
|
|
41
41
|
currentLanguage
|
|
42
42
|
} = useEdificeClient(), {
|
|
@@ -63,7 +63,7 @@ const useTipTapEditor = (editable, content, focus, placeholder, onContentChange,
|
|
|
63
63
|
levels: [1, 2]
|
|
64
64
|
}), Typography, FontSize, SpeechRecognition, SpeechSynthesis.configure({
|
|
65
65
|
lang: (currentLanguage == null ? void 0 : currentLanguage.length) === 2 ? `${currentLanguage}-${currentLanguage.toUpperCase()}` : "fr-FR"
|
|
66
|
-
}), Iframe, Hyperlink, FontFamily, Mathematics, Alert, VideoNodeView(MediaRenderer), AudioNodeView(AudioRenderer), LinkerNodeView(LinkerRenderer), ImageNodeView(MediaRenderer, uploadFile), AttachmentNodeView(AttachmentRenderer)],
|
|
66
|
+
}), Iframe, Hyperlink, FontFamily, Mathematics, Alert, VideoNodeView(MediaRenderer), AudioNodeView(AudioRenderer), LinkerNodeView(LinkerRenderer), ImageNodeView(MediaRenderer, uploadFile), AttachmentNodeView(AttachmentRenderer), ...extensions || []],
|
|
67
67
|
content,
|
|
68
68
|
// If the onContentChange callback is provided, we call it on every content change.
|
|
69
69
|
...onContentChange ? {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
interface SVGRProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
titleId?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SvgIconFolderAdd: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SvgIconFolderAdd;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SvgIconFolderAdd = ({
|
|
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("g", { clipPath: "url(#icon-folder-add_svg__a)", children: /* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M10.985 5.283A2 2 0 0 0 12.965 7H22v12H2V4h7.5a1.5 1.5 0 0 1 1.485 1.283M1.902 2C.852 2 0 2.852 0 3.902V19a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-9.035A3.5 3.5 0 0 0 9.5 2zM12 8a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3H8a1 1 0 1 1 0-2h3V9a1 1 0 0 1 1-1", clipRule: "evenodd" }) }),
|
|
9
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "icon-folder-add_svg__a", children: /* @__PURE__ */ jsx("path", { fill: "#fff", d: "M0 0h24v24H0z" }) }) })
|
|
10
|
+
] });
|
|
11
|
+
export {
|
|
12
|
+
SvgIconFolderAdd as default
|
|
13
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
interface SVGRProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
titleId?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SvgIconGroupAvatar: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SvgIconGroupAvatar;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SvgIconGroupAvatar = ({
|
|
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: "M18.467 13.128a.917.917 0 0 1 1.166-.566c1.034.358 1.89 1.143 2.475 2.155.586 1.014.891 2.233.892 3.467v2.458a.917.917 0 0 1-1.833 0v-2.457c0-.944-.236-1.842-.646-2.55-.41-.709-.948-1.154-1.488-1.34a.917.917 0 0 1-.566-1.167M14.921 2.661a.917.917 0 0 1 .95-.882 4.702 4.702 0 0 1 1.934 8.902.917.917 0 0 1-.822-1.64 2.868 2.868 0 0 0-1.18-5.43.917.917 0 0 1-.882-.95M2.38 15.778c.894-.982 2.127-1.552 3.432-1.552h7.792c1.306 0 2.538.57 3.433 1.552.892.98 1.38 2.29 1.38 3.642v2.14a.917.917 0 1 1-1.834 0v-2.14c0-.917-.332-1.782-.902-2.407-.567-.623-1.316-.954-2.077-.954H5.812c-.76 0-1.51.331-2.077.954-.569.625-.902 1.49-.902 2.407v2.14a.917.917 0 1 1-1.833 0v-2.14c0-1.351.488-2.663 1.38-3.642M9.708 4.142a3.208 3.208 0 1 0 0 6.417 3.208 3.208 0 0 0 0-6.417M4.667 7.351a5.042 5.042 0 1 1 10.083 0 5.042 5.042 0 0 1-10.083 0", clipRule: "evenodd" })
|
|
9
|
+
] });
|
|
10
|
+
export {
|
|
11
|
+
SvgIconGroupAvatar as default
|
|
12
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
interface SVGRProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
titleId?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SvgIconReadMail: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SvgIconReadMail;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SvgIconReadMail = ({
|
|
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__ */ jsxs("g", { fill: "currentColor", fillRule: "evenodd", clipPath: "url(#icon-read-mail_svg__a)", clipRule: "evenodd", children: [
|
|
9
|
+
/* @__PURE__ */ jsx("path", { d: "M1.143 8.986a1 1 0 0 1 1.372-.343l8.97 5.382a1 1 0 0 0 1.03 0l8.97-5.382a1 1 0 1 1 1.03 1.714l-8.971 5.383a3 3 0 0 1-3.088 0l-8.97-5.382a1 1 0 0 1-.343-1.373" }),
|
|
10
|
+
/* @__PURE__ */ jsx("path", { d: "M12.466 2.4a.95.95 0 0 0-.932 0c-1.333.74-3.83 2.146-5.99 3.465-1.083.662-2.063 1.29-2.764 1.797a8 8 0 0 0-.78.62v11.003H0V8c0-.38.191-.664.272-.776.107-.148.238-.285.364-.404.254-.24.594-.506.973-.78.765-.552 1.797-1.212 2.892-1.881C6.697 2.817 9.224 1.395 10.563.65a2.95 2.95 0 0 1 2.874 0c1.34.744 3.866 2.166 6.062 3.508 1.095.669 2.127 1.33 2.892 1.882.38.273.719.54.973.78.126.118.257.255.364.403.08.112.272.395.272.776v11.285h-2V8.284l-.009-.008a8 8 0 0 0-.77-.613c-.702-.506-1.682-1.135-2.765-1.797-2.16-1.32-4.657-2.725-5.99-3.466M2.321 19.802c.253.192.647.34 1.123.34h17.112c.476 0 .87-.148 1.123-.34.252-.192.321-.384.321-.517h2c0 .892-.479 1.629-1.111 2.11-.632.479-1.46.747-2.333.747H3.444c-.873 0-1.701-.268-2.333-.748S0 20.178 0 19.285h2c0 .133.069.326.32.518" })
|
|
11
|
+
] }),
|
|
12
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "icon-read-mail_svg__a", children: /* @__PURE__ */ jsx("path", { fill: "#fff", d: "M0 0h24v24H0z" }) }) })
|
|
13
|
+
] });
|
|
14
|
+
export {
|
|
15
|
+
SvgIconReadMail as default
|
|
16
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
interface SVGRProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
titleId?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SvgIconUndoAll: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SvgIconUndoAll;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SvgIconUndoAll = ({
|
|
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: "M11.648 12.564a.917.917 0 0 0 0-1.297L7.713 7.332l3.935-3.935A.917.917 0 1 0 10.352 2.1L5.768 6.684a.917.917 0 0 0 0 1.296l4.584 4.583a.917.917 0 0 0 1.296 0", clipRule: "evenodd" }),
|
|
9
|
+
/* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M7.523 12.564a.917.917 0 0 0 0-1.297L3.588 7.332l3.935-3.935A.917.917 0 1 0 6.227 2.1L1.643 6.684a.917.917 0 0 0 0 1.296l4.584 4.583a.917.917 0 0 0 1.296 0", clipRule: "evenodd" }),
|
|
10
|
+
/* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M19.25 18.332c.506 0 .917-.41.917-.917V11a4.583 4.583 0 0 0-4.584-4.584H6.417a.917.917 0 0 0 0 1.834h9.166a2.75 2.75 0 0 1 2.75 2.75v6.416c0 .507.41.917.917.917", clipRule: "evenodd" })
|
|
11
|
+
] });
|
|
12
|
+
export {
|
|
13
|
+
SvgIconUndoAll as default
|
|
14
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
interface SVGRProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
titleId?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SvgIconUnreadMail: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SvgIconUnreadMail;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SvgIconUnreadMail = ({
|
|
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__ */ jsxs("g", { fill: "currentColor", fillRule: "evenodd", clipPath: "url(#icon-unread-mail_svg__a)", clipRule: "evenodd", children: [
|
|
9
|
+
/* @__PURE__ */ jsx("path", { d: "M7.975 4.5a5.1 5.1 0 0 0-.204-2h12.785A3.437 3.437 0 0 1 24 5.948V18.07c0 1.9-1.548 3.429-3.444 3.429H3.444A3.437 3.437 0 0 1 0 18.071V8.001c.581.436 1.261.749 2 .899v9.171c0 .783.64 1.429 1.444 1.429h17.112c.803 0 1.444-.646 1.444-1.429V7.79l-9.448 6.257a1 1 0 0 1-1.104 0L3.744 8.945a5 5 0 0 0 2.228-.924L12 12.014l9.916-6.567c-.2-.55-.73-.947-1.36-.947z" }),
|
|
10
|
+
/* @__PURE__ */ jsx("path", { d: "M3 7a3 3 0 1 0 0-6 3 3 0 0 0 0 6" })
|
|
11
|
+
] }),
|
|
12
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "icon-unread-mail_svg__a", children: /* @__PURE__ */ jsx("path", { fill: "#fff", d: "M0 0h24v24H0z" }) }) })
|
|
13
|
+
] });
|
|
14
|
+
export {
|
|
15
|
+
SvgIconUnreadMail as default
|
|
16
|
+
};
|
|
@@ -20,7 +20,6 @@ export { default as IconBurgerMenu } from './IconBurgerMenu';
|
|
|
20
20
|
export { default as IconCalendarLight } from './IconCalendarLight';
|
|
21
21
|
export { default as IconCalendar } from './IconCalendar';
|
|
22
22
|
export { default as IconCamera } from './IconCamera';
|
|
23
|
-
export { default as IconCantoo } from './IconCantoo';
|
|
24
23
|
export { default as IconCenter } from './IconCenter';
|
|
25
24
|
export { default as IconCheck } from './IconCheck';
|
|
26
25
|
export { default as IconChecklist } from './IconChecklist';
|
|
@@ -45,11 +44,13 @@ export { default as IconExternalLink } from './IconExternalLink';
|
|
|
45
44
|
export { default as IconFiles } from './IconFiles';
|
|
46
45
|
export { default as IconFilter } from './IconFilter';
|
|
47
46
|
export { default as IconFlag } from './IconFlag';
|
|
47
|
+
export { default as IconFolderAdd } from './IconFolderAdd';
|
|
48
48
|
export { default as IconFolderMove } from './IconFolderMove';
|
|
49
49
|
export { default as IconFolder } from './IconFolder';
|
|
50
50
|
export { default as IconForgoing } from './IconForgoing';
|
|
51
51
|
export { default as IconFullScreen } from './IconFullScreen';
|
|
52
52
|
export { default as IconGlobe } from './IconGlobe';
|
|
53
|
+
export { default as IconGroupAvatar } from './IconGroupAvatar';
|
|
53
54
|
export { default as IconHeadphone } from './IconHeadphone';
|
|
54
55
|
export { default as IconHide } from './IconHide';
|
|
55
56
|
export { default as IconHighlightColumn } from './IconHighlightColumn';
|
|
@@ -69,7 +70,6 @@ export { default as IconLock } from './IconLock';
|
|
|
69
70
|
export { default as IconMail } from './IconMail';
|
|
70
71
|
export { default as IconMergeCells } from './IconMergeCells';
|
|
71
72
|
export { default as IconMessageInfo } from './IconMessageInfo';
|
|
72
|
-
export { default as IconMicOff } from './IconMicOff';
|
|
73
73
|
export { default as IconMic } from './IconMic';
|
|
74
74
|
export { default as IconMinus } from './IconMinus';
|
|
75
75
|
export { default as IconMove } from './IconMove';
|
|
@@ -93,6 +93,7 @@ export { default as IconRafterLeft } from './IconRafterLeft';
|
|
|
93
93
|
export { default as IconRafterRight } from './IconRafterRight';
|
|
94
94
|
export { default as IconRafterUp } from './IconRafterUp';
|
|
95
95
|
export { default as IconReaction } from './IconReaction';
|
|
96
|
+
export { default as IconReadMail } from './IconReadMail';
|
|
96
97
|
export { default as IconRecordPause } from './IconRecordPause';
|
|
97
98
|
export { default as IconRecordStop } from './IconRecordStop';
|
|
98
99
|
export { default as IconRecordVideo } from './IconRecordVideo';
|
|
@@ -129,16 +130,17 @@ export { default as IconTextHighlight } from './IconTextHighlight';
|
|
|
129
130
|
export { default as IconTextItalic } from './IconTextItalic';
|
|
130
131
|
export { default as IconTextPage } from './IconTextPage';
|
|
131
132
|
export { default as IconTextSize } from './IconTextSize';
|
|
132
|
-
export { default as IconTextToSpeechOff } from './IconTextToSpeechOff';
|
|
133
133
|
export { default as IconTextToSpeech } from './IconTextToSpeech';
|
|
134
134
|
export { default as IconTextTypo } from './IconTextTypo';
|
|
135
135
|
export { default as IconTextUnderline } from './IconTextUnderline';
|
|
136
136
|
export { default as IconTextVanilla } from './IconTextVanilla';
|
|
137
137
|
export { default as IconTool } from './IconTool';
|
|
138
138
|
export { default as IconTrendingUp } from './IconTrendingUp';
|
|
139
|
+
export { default as IconUndoAll } from './IconUndoAll';
|
|
139
140
|
export { default as IconUndo } from './IconUndo';
|
|
140
141
|
export { default as IconUnlink } from './IconUnlink';
|
|
141
142
|
export { default as IconUnlock } from './IconUnlock';
|
|
143
|
+
export { default as IconUnreadMail } from './IconUnreadMail';
|
|
142
144
|
export { default as IconUpload } from './IconUpload';
|
|
143
145
|
export { default as IconUserSearch } from './IconUserSearch';
|
|
144
146
|
export { default as IconUser } from './IconUser';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edifice.io/react",
|
|
3
|
-
"version": "2.1.1-develop-
|
|
3
|
+
"version": "2.1.1-develop-b2school.20250304103025",
|
|
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.1.1-develop-
|
|
122
|
-
"@edifice.io/tiptap-extensions": "2.1.1-develop-
|
|
123
|
-
"@edifice.io/utilities": "2.1.1-develop-
|
|
121
|
+
"@edifice.io/bootstrap": "2.1.1-develop-b2school.20250304103025",
|
|
122
|
+
"@edifice.io/tiptap-extensions": "2.1.1-develop-b2school.20250304103025",
|
|
123
|
+
"@edifice.io/utilities": "2.1.1-develop-b2school.20250304103025"
|
|
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/
|
|
155
|
-
"@edifice.io/
|
|
154
|
+
"@edifice.io/config": "2.1.1-develop-b2school.20250304103025",
|
|
155
|
+
"@edifice.io/client": "2.1.1-develop-b2school.20250304103025"
|
|
156
156
|
},
|
|
157
157
|
"peerDependencies": {
|
|
158
158
|
"@react-spring/web": "^9.7.5",
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useEditorContext } from "../../hooks/useEditorContext.js";
|
|
3
|
-
const CantooAdaptTextBoxView = () => {
|
|
4
|
-
const {
|
|
5
|
-
editor
|
|
6
|
-
} = useEditorContext(), Cantoo = window.Cantoo, editorHTML = editor == null ? void 0 : editor.getHTML(), cantooHTML = (Cantoo == null ? void 0 : Cantoo.formatText(editorHTML)) || editorHTML;
|
|
7
|
-
return /* @__PURE__ */ jsx("div", { className: "card p-24 mt-8", children: /* @__PURE__ */ jsx("div", { dangerouslySetInnerHTML: {
|
|
8
|
-
__html: cantooHTML
|
|
9
|
-
} }) });
|
|
10
|
-
};
|
|
11
|
-
export {
|
|
12
|
-
CantooAdaptTextBoxView as default
|
|
13
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { RefAttributes } from 'react';
|
|
2
|
-
import { IconButtonProps } from '../../../../components';
|
|
3
|
-
interface Props {
|
|
4
|
-
triggerProps: JSX.IntrinsicAttributes & Omit<IconButtonProps, 'ref'> & RefAttributes<HTMLButtonElement>;
|
|
5
|
-
openCantooAdaptTextBox: () => void;
|
|
6
|
-
isCantooAdaptTextBoxOpen: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare const EditorToolbarCantoo: ({ triggerProps, openCantooAdaptTextBox, isCantooAdaptTextBoxOpen, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export {};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Fragment as Fragment$1 } from "react";
|
|
3
|
-
import { useTranslation } from "react-i18next";
|
|
4
|
-
import SvgIconCantoo from "../../../icons/components/IconCantoo.js";
|
|
5
|
-
import SvgIconMicOff from "../../../icons/components/IconMicOff.js";
|
|
6
|
-
import SvgIconMic from "../../../icons/components/IconMic.js";
|
|
7
|
-
import SvgIconTextToSpeechOff from "../../../icons/components/IconTextToSpeechOff.js";
|
|
8
|
-
import SvgIconTextToSpeech from "../../../icons/components/IconTextToSpeech.js";
|
|
9
|
-
import SvgIconWand from "../../../icons/components/IconWand.js";
|
|
10
|
-
import { useCantooEditor } from "../../hooks/useCantooEditor.js";
|
|
11
|
-
import { useEditorContext } from "../../hooks/useEditorContext.js";
|
|
12
|
-
import Tooltip from "../../../../components/Tooltip/Tooltip.js";
|
|
13
|
-
import IconButton from "../../../../components/Button/IconButton.js";
|
|
14
|
-
import Dropdown from "../../../../components/Dropdown/Dropdown.js";
|
|
15
|
-
const EditorToolbarCantoo = ({
|
|
16
|
-
triggerProps,
|
|
17
|
-
openCantooAdaptTextBox,
|
|
18
|
-
isCantooAdaptTextBoxOpen
|
|
19
|
-
}) => {
|
|
20
|
-
const {
|
|
21
|
-
t
|
|
22
|
-
} = useTranslation(), {
|
|
23
|
-
editor
|
|
24
|
-
} = useEditorContext(), {
|
|
25
|
-
speech2textIsActive,
|
|
26
|
-
text2speechIsActive,
|
|
27
|
-
toggleSpeech2Text,
|
|
28
|
-
toggleText2Speech
|
|
29
|
-
} = useCantooEditor(editor), cantooOptions = [{
|
|
30
|
-
id: "speech2text",
|
|
31
|
-
label: t("tiptap.toolbar.cantoo.speech2text"),
|
|
32
|
-
className: speech2textIsActive ? "fw-bold" : "",
|
|
33
|
-
icon: speech2textIsActive ? /* @__PURE__ */ jsx(SvgIconMicOff, {}) : /* @__PURE__ */ jsx(SvgIconMic, {}),
|
|
34
|
-
action: () => toggleSpeech2Text()
|
|
35
|
-
}, {
|
|
36
|
-
id: "text2speech",
|
|
37
|
-
label: t("tiptap.toolbar.cantoo.text2speech"),
|
|
38
|
-
className: text2speechIsActive ? "fw-bold" : "",
|
|
39
|
-
icon: text2speechIsActive ? /* @__PURE__ */ jsx(SvgIconTextToSpeechOff, {}) : /* @__PURE__ */ jsx(SvgIconTextToSpeech, {}),
|
|
40
|
-
action: () => toggleText2Speech()
|
|
41
|
-
}, {
|
|
42
|
-
id: "formatText",
|
|
43
|
-
label: t("tiptap.toolbar.cantoo.formatText"),
|
|
44
|
-
className: isCantooAdaptTextBoxOpen ? "fw-bold" : "",
|
|
45
|
-
icon: /* @__PURE__ */ jsx(SvgIconWand, {}),
|
|
46
|
-
action: () => openCantooAdaptTextBox()
|
|
47
|
-
}];
|
|
48
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
49
|
-
/* @__PURE__ */ jsx(Tooltip, { message: t("tiptap.toolbar.cantoo.choice"), placement: "top", children: /* @__PURE__ */ jsx(IconButton, { ...triggerProps, type: "button", variant: "ghost", color: "tertiary", icon: /* @__PURE__ */ jsx(SvgIconCantoo, {}), className: speech2textIsActive || text2speechIsActive || isCantooAdaptTextBoxOpen ? "is-selected" : "", "aria-label": t("tiptap.toolbar.cantoo.choice") }) }),
|
|
50
|
-
/* @__PURE__ */ jsx(Dropdown.Menu, { children: cantooOptions.map((option) => /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx(Dropdown.Item, { onClick: option.action, icon: option.icon, children: /* @__PURE__ */ jsx("span", { className: option.className, children: option.label }) }) }, option.id)) })
|
|
51
|
-
] });
|
|
52
|
-
};
|
|
53
|
-
export {
|
|
54
|
-
EditorToolbarCantoo
|
|
55
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Custom hook to manage CantooAdaptTextBoxView events in an editor.
|
|
3
|
-
* @returns {
|
|
4
|
-
* `isOpen`: truthy boolean when CantooAdaptTextBoxView sholud be visible,
|
|
5
|
-
* `toggle`: an imperative function to toggle the `isOpen` value,
|
|
6
|
-
* `onCancel`: Cancel event handler,
|
|
7
|
-
* }
|
|
8
|
-
*/
|
|
9
|
-
export declare const useCantooAdaptTextBox: () => CantooAdaptTextBox;
|
|
10
|
-
export interface CantooAdaptTextBox {
|
|
11
|
-
isOpen: boolean;
|
|
12
|
-
toggle: () => void;
|
|
13
|
-
onCancel: () => void;
|
|
14
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import useToggle from "../../../hooks/useToggle/useToggle.js";
|
|
2
|
-
const useCantooAdaptTextBox = () => {
|
|
3
|
-
const [isOpen, toggle] = useToggle(!1);
|
|
4
|
-
return {
|
|
5
|
-
isOpen,
|
|
6
|
-
toggle,
|
|
7
|
-
onCancel: () => {
|
|
8
|
-
toggle();
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
export {
|
|
13
|
-
useCantooAdaptTextBox
|
|
14
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Editor } from '@tiptap/react';
|
|
2
|
-
export declare const useCantooEditor: (editor: Editor | null) => {
|
|
3
|
-
isAvailable: boolean | Record<string, boolean> | undefined;
|
|
4
|
-
speech2textIsActive: boolean;
|
|
5
|
-
text2speechIsActive: boolean;
|
|
6
|
-
toggleSpeech2Text: () => Promise<void>;
|
|
7
|
-
toggleText2Speech: () => void;
|
|
8
|
-
};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { useState } from "react";
|
|
2
|
-
import useHasWorkflow from "../../../hooks/useHasWorkflow/useHasWorkflow.js";
|
|
3
|
-
const useCantooEditor = (editor) => {
|
|
4
|
-
const isAvailable = useHasWorkflow("org.entcore.portal.controllers.PortalController|optionalFeatureCantoo"), [speech2textIsActive, setSpeech2textActive] = useState(!1), [text2speechIsActive, setText2speechActive] = useState(!1), Cantoo = window.Cantoo;
|
|
5
|
-
return {
|
|
6
|
-
isAvailable,
|
|
7
|
-
speech2textIsActive,
|
|
8
|
-
text2speechIsActive,
|
|
9
|
-
toggleSpeech2Text: async () => {
|
|
10
|
-
if (speech2textIsActive) {
|
|
11
|
-
setSpeech2textActive(!1);
|
|
12
|
-
try {
|
|
13
|
-
await Cantoo.speech2text.stop();
|
|
14
|
-
} catch (e) {
|
|
15
|
-
console.warn("Error while trying to stop Cantoo (speech2text)", e);
|
|
16
|
-
}
|
|
17
|
-
} else
|
|
18
|
-
try {
|
|
19
|
-
if (setSpeech2textActive(!0), await Cantoo.speech2text.isAvailableOnDevice())
|
|
20
|
-
if (await Cantoo.speech2text.requestPermission())
|
|
21
|
-
await Cantoo.speech2text.start((data) => {
|
|
22
|
-
editor == null || editor.chain().focus().insertContent(data.join(" ")).run();
|
|
23
|
-
}, window.navigator.language);
|
|
24
|
-
else
|
|
25
|
-
throw new Error("Permission denied");
|
|
26
|
-
else
|
|
27
|
-
throw new Error("Cantoo not available");
|
|
28
|
-
} catch (e) {
|
|
29
|
-
console.warn("Error while trying to use Cantoo (speech2text)", e), setSpeech2textActive(!1);
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
toggleText2Speech: () => {
|
|
33
|
-
if (text2speechIsActive)
|
|
34
|
-
setText2speechActive(!1), window.speechSynthesis.cancel();
|
|
35
|
-
else
|
|
36
|
-
try {
|
|
37
|
-
setText2speechActive(!0), Cantoo.text2speech.readText(editor == null ? void 0 : editor.getText()), Cantoo.text2speech.utter.onend = () => {
|
|
38
|
-
setText2speechActive(!1);
|
|
39
|
-
};
|
|
40
|
-
} catch (e) {
|
|
41
|
-
console.warn("Error while trying to use Cantoo (text2speech)", e), setText2speechActive(!1);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
export {
|
|
47
|
-
useCantooEditor
|
|
48
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { SVGProps } from 'react';
|
|
2
|
-
interface SVGRProps {
|
|
3
|
-
title?: string;
|
|
4
|
-
titleId?: string;
|
|
5
|
-
}
|
|
6
|
-
declare const SvgIconCantoo: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export default SvgIconCantoo;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
const SvgIconCantoo = ({
|
|
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 88 104", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
|
|
7
|
-
title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
|
|
8
|
-
/* @__PURE__ */ jsx("ellipse", { cx: 44.305, cy: 15.281, fill: "url(#icon-cantoo_svg__a)", rx: 14.472, ry: 14.367, transform: "rotate(-.145 44.305 15.281)" }),
|
|
9
|
-
/* @__PURE__ */ jsx("path", { fill: "url(#icon-cantoo_svg__b)", fillRule: "evenodd", d: "m44.529 39.653-28.126-8.41c-6.42-1.785-13.121 1.8-14.968 8.008C-.414 45.46 3.294 51.94 9.713 53.724l17.54 5.245-16.845 28.892c-2.73 5.401.023 11.938 6.147 14.601 6.125 2.662 13.301.442 16.03-4.96l11.88-20.374 11.974 20.3c2.757 5.387 9.945 7.57 16.055 4.877 6.111-2.694 8.83-9.244 6.074-14.632l-16.953-28.74 17.478-5.384c6.41-1.818 10.084-8.316 8.206-14.514-1.879-6.199-8.598-9.75-15.009-7.932z", clipRule: "evenodd" }),
|
|
10
|
-
/* @__PURE__ */ jsxs("defs", { children: [
|
|
11
|
-
/* @__PURE__ */ jsxs("linearGradient", { id: "icon-cantoo_svg__a", x1: 28.13, x2: 60.619, y1: -6.867, y2: 27.927, gradientUnits: "userSpaceOnUse", children: [
|
|
12
|
-
/* @__PURE__ */ jsx("stop", { stopColor: "#0B4EFC" }),
|
|
13
|
-
/* @__PURE__ */ jsx("stop", { offset: 1, stopColor: "#30B3E8" })
|
|
14
|
-
] }),
|
|
15
|
-
/* @__PURE__ */ jsxs("linearGradient", { id: "icon-cantoo_svg__b", x1: -4.227, x2: 76.299, y1: 11.105, y2: 112.656, gradientUnits: "userSpaceOnUse", children: [
|
|
16
|
-
/* @__PURE__ */ jsx("stop", { stopColor: "#0B4EFC" }),
|
|
17
|
-
/* @__PURE__ */ jsx("stop", { offset: 1, stopColor: "#30B3E8" })
|
|
18
|
-
] })
|
|
19
|
-
] })
|
|
20
|
-
] });
|
|
21
|
-
export {
|
|
22
|
-
SvgIconCantoo as default
|
|
23
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { SVGProps } from 'react';
|
|
2
|
-
interface SVGRProps {
|
|
3
|
-
title?: string;
|
|
4
|
-
titleId?: string;
|
|
5
|
-
}
|
|
6
|
-
declare const SvgIconMicOff: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export default SvgIconMicOff;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
const SvgIconMicOff = ({
|
|
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.793 1.04c-.252.045-.546.274-.676.526a.87.87 0 0 0-.06.691c.082.279.119.318 4.107 4.323l2.829 2.84.019 1.58c.019 1.461.027 1.604.107 1.9.367 1.351 1.351 2.35 2.761 2.8.322.103.382.109 1.12.109s.798-.006 1.12-.109c.187-.06.45-.159.585-.22l.245-.111.689.69.689.69-.446.228a7 7 0 0 1-1.782.608c-.597.112-1.686.103-2.289-.017-1.205-.241-2.258-.789-3.093-1.607-.755-.741-1.233-1.531-1.524-2.521-.126-.431-.154-.759-.189-2.221-.031-1.296-.04-1.412-.116-1.559-.368-.717-1.401-.717-1.781 0-.08.15-.086.232-.101 1.273-.009.65.004 1.333.031 1.64A7.7 7.7 0 0 0 5.5 16.46c.277.376.959 1.084 1.335 1.387A8.8 8.8 0 0 0 9.26 19.2c.395.138 1.2.34 1.53.383l.21.027v1.904l-1.65.013-1.65.013-.192.113c-.342.201-.55.619-.489.983.046.269.254.567.499.714l.218.13h8.532l.236-.153c.641-.415.638-1.251-.008-1.655l-.236-.147-1.63-.003L13 21.52l.001-.91c0-.5.013-.93.03-.954.016-.025.119-.058.229-.074.341-.049 1.232-.29 1.646-.445.439-.164.981-.43 1.494-.733l.34-.201.26.248c.143.137 1.007.987 1.92 1.891 2.426 2.402 2.558 2.524 2.822 2.6.775.226 1.513-.639 1.153-1.35-.072-.143-5.933-6.059-11.781-11.895-6.987-6.971-8.607-8.563-8.762-8.61a1.2 1.2 0 0 0-.559-.047m9.567.004c-.576.074-1.3.371-1.8.738-.675.497-1.145 1.163-1.422 2.018-.096.298-.112.421-.129.99-.02.718.014.948.175 1.159.12.158.401.327.625.378.349.078.82-.138 1.011-.463.096-.164.112-.249.157-.844.049-.642.055-.671.202-.961C10.526 3.375 11.164 3 11.98 3c.819 0 1.481.406 1.825 1.12l.144.3.024 3.567.023 3.568.106.208c.112.222.755.915 1.016 1.096.263.182.615.132.762-.108.078-.129.08-.204.08-4.293V4.297l-.104-.359a3.93 3.93 0 0 0-1.115-1.849c-.893-.84-2.092-1.211-3.381-1.045m7.393 8.575c-.353.089-.663.379-.729.681-.014.066-.043.777-.064 1.58-.041 1.529-.058 1.683-.258 2.3-.218.669-.172 1.099.153 1.433.381.392 1.038.408 1.353.034.24-.285.633-1.573.711-2.327.054-.521.052-2.858-.002-3.054-.048-.172-.311-.48-.489-.572a1.1 1.1 0 0 0-.675-.075m-6.462 4.226c-.698.16-1.735-.343-2.069-1.002-.142-.279-.22-.664-.221-1.083L10 11.421l1.201 1.199c1.146 1.146 1.195 1.201 1.09 1.225", clipRule: "evenodd" })
|
|
9
|
-
] });
|
|
10
|
-
export {
|
|
11
|
-
SvgIconMicOff 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 SvgIconTextToSpeechOff: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export default SvgIconTextToSpeechOff;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
const SvgIconTextToSpeechOff = ({
|
|
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.793 1.04c-.252.045-.546.274-.676.526a.87.87 0 0 0-.06.688c.08.277.2.405 3.076 3.292l2.038 2.046-1.715.018c-1.494.016-1.744.027-1.936.089-.717.229-1.203.697-1.41 1.356-.089.283-.09.302-.09 2.925 0 2.449.005 2.657.074 2.878.221.719.684 1.212 1.34 1.429.256.085.337.089 2.128.104l1.862.015 1.978 1.663c3.634 3.054 3.408 2.886 3.918 2.921.679.046 1.148-.122 1.577-.564.331-.341.487-.631.542-1.013.022-.15.04-1.002.04-1.893l.001-1.62 2.87 2.862c3.453 3.443 4.073 4.046 4.252 4.139.181.094.528.097.765.006.21-.08.447-.317.543-.541.084-.196.082-.591-.003-.754-.085-.162-5.712-5.847-11.793-11.915-6.987-6.971-8.607-8.563-8.762-8.61a1.2 1.2 0 0 0-.559-.047m10.424 1.974c-.09.029-.342.147-.56.261-.407.214-.858.555-1.967 1.492-.673.568-.77.704-.77 1.073 0 .314.107.493.56.938.359.353.406.387.47.337.038-.03.393-.325.788-.655l1.256-1.049c.296-.246.556-.437.578-.423.027.016.032.722.015 2.108-.029 2.306-.023 2.397.213 2.863.156.311.747.937.944 1.002.274.091.618-.082.698-.352.031-.105.04-1.033.03-3.129-.013-2.972-.013-2.981-.102-3.219-.111-.294-.341-.536-.825-.869-.546-.375-.969-.495-1.328-.378m7.881 4.539c-.295.138-.538.518-.538.84 0 .043.161.408.358.812.391.801.548 1.231.688 1.875.081.373.092.531.092 1.4.001.775-.014 1.055-.069 1.34-.123.625-.345 1.242-.715 1.982-.453.905-.456.938-.104 1.307.273.285.425.371.662.371.407 0 .749-.242 1.015-.72.335-.601.745-1.724.91-2.492.171-.795.195-2.134.057-3.103-.142-.996-.769-2.648-1.238-3.263-.264-.345-.782-.507-1.118-.349m-7.587 8.814c-.006 1.334-.023 2.439-.039 2.454-.031.031-.038.026-2.332-1.862-2.281-1.878-2.987-2.446-3.07-2.469-.066-.018-.07-.17-.07-2.474V9.562l.11-.058c.06-.031.208-.141.327-.244l.217-.186 2.434 2.433 2.435 2.433zM5 12v2.4H3V9.6h2zm11.68-2.293c-.444.228-.588.666-.349 1.053.062.099.203.288.315.42s.251.339.309.46c.091.19.105.272.105.6 0 .456-.11.839-.346 1.204-.085.131-.154.279-.154.329 0 .105 1.065 1.187 1.168 1.187s.25-.142.461-.448c.278-.402.427-.709.551-1.132a3.64 3.64 0 0 0-.695-3.29c-.254-.305-.532-.456-.881-.479-.231-.015-.291-.003-.484.096", clipRule: "evenodd" })
|
|
9
|
-
] });
|
|
10
|
-
export {
|
|
11
|
-
SvgIconTextToSpeechOff as default
|
|
12
|
-
};
|