@edifice.io/react 2.2.5-develop-pedago.20250513163826 → 2.2.5-develop-integration.20250513201200
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/Table/components/Table.d.ts +0 -2
- package/dist/components/Table/components/Table.js +2 -8
- package/dist/editor.js +2 -0
- package/dist/icons.js +266 -260
- package/dist/modules/editor/components/Editor/CantooAdaptTextBoxView.d.ts +7 -0
- package/dist/modules/editor/components/Editor/CantooAdaptTextBoxView.js +33 -0
- package/dist/modules/editor/components/Editor/Editor.js +16 -5
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Cantoo.d.ts +9 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Cantoo.js +81 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.d.ts +4 -1
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +15 -3
- package/dist/modules/editor/hooks/index.d.ts +1 -0
- package/dist/modules/editor/hooks/useCantooEditor.d.ts +16 -0
- package/dist/modules/editor/hooks/useCantooEditor.js +88 -0
- package/dist/modules/icons/components/IconCantoo.d.ts +7 -0
- package/dist/modules/icons/components/IconCantoo.js +23 -0
- package/dist/modules/icons/components/IconMicOff.d.ts +7 -0
- package/dist/modules/icons/components/IconMicOff.js +12 -0
- package/dist/modules/icons/components/IconTextToSpeechOff.d.ts +7 -0
- package/dist/modules/icons/components/IconTextToSpeechOff.js +12 -0
- package/dist/modules/icons/components/index.d.ts +3 -0
- package/dist/modules/multimedia/Linker/InternalLinker/InternalLinker.js +5 -6
- package/package.json +6 -6
|
@@ -2,11 +2,9 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
export type TableRef = HTMLTableElement;
|
|
3
3
|
export interface TableProps {
|
|
4
4
|
children?: Array<React.ReactElement<HTMLTableSectionElement>> | any;
|
|
5
|
-
maxHeight?: string;
|
|
6
5
|
}
|
|
7
6
|
declare const Table: import('react').ForwardRefExoticComponent<{
|
|
8
7
|
children: ReactNode;
|
|
9
|
-
maxHeight?: string;
|
|
10
8
|
} & import('react').RefAttributes<HTMLTableElement>> & {
|
|
11
9
|
Thead: {
|
|
12
10
|
(props: React.HTMLAttributes<HTMLTableSectionElement>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -6,14 +6,8 @@ import { TableTh } from "./TableTh.js";
|
|
|
6
6
|
import { TableThead } from "./TableThead.js";
|
|
7
7
|
import { TableTr } from "./TableTr.js";
|
|
8
8
|
const Root = /* @__PURE__ */ forwardRef(({
|
|
9
|
-
children
|
|
10
|
-
|
|
11
|
-
}, ref) => /* @__PURE__ */ jsx("div", { className: "table-responsive", style: maxHeight ? {
|
|
12
|
-
maxHeight,
|
|
13
|
-
overflowY: "auto"
|
|
14
|
-
} : {}, children: /* @__PURE__ */ jsx("table", { ref, className: "table align-middle mb-0", style: {
|
|
15
|
-
overflow: maxHeight ? "visible" : "hidden"
|
|
16
|
-
}, children }) })), Table = /* @__PURE__ */ Object.assign(Root, {
|
|
9
|
+
children
|
|
10
|
+
}, ref) => /* @__PURE__ */ jsx("div", { className: "table-responsive", children: /* @__PURE__ */ jsx("table", { ref, className: "table align-middle mb-0", children }) })), Table = /* @__PURE__ */ Object.assign(Root, {
|
|
17
11
|
Thead: TableThead,
|
|
18
12
|
Th: TableTh,
|
|
19
13
|
Tbody: TableTbody,
|
package/dist/editor.js
CHANGED
|
@@ -28,6 +28,7 @@ import { useResizeMedia } from "./modules/editor/hooks/useResizeMedia.js";
|
|
|
28
28
|
import { useSpeechRecognition } from "./modules/editor/hooks/useSpeechRecognition.js";
|
|
29
29
|
import { useSpeechSynthetisis } from "./modules/editor/hooks/useSpeechSynthetisis.js";
|
|
30
30
|
import { useTipTapEditor } from "./modules/editor/hooks/useTipTapEditor.js";
|
|
31
|
+
import { useCantooEditor } from "./modules/editor/hooks/useCantooEditor.js";
|
|
31
32
|
export {
|
|
32
33
|
default6 as AttachmentNodeView,
|
|
33
34
|
default12 as AttachmentRenderer,
|
|
@@ -50,6 +51,7 @@ export {
|
|
|
50
51
|
default16 as TableToolbar,
|
|
51
52
|
default9 as VideoNodeView,
|
|
52
53
|
useActionOptions,
|
|
54
|
+
useCantooEditor,
|
|
53
55
|
useCommentEditor,
|
|
54
56
|
useEditor,
|
|
55
57
|
useEditorContext,
|
package/dist/icons.js
CHANGED
|
@@ -20,136 +20,139 @@ import { default as default20 } from "./modules/icons/components/IconBurgerMenu.
|
|
|
20
20
|
import { default as default21 } from "./modules/icons/components/IconCalendarLight.js";
|
|
21
21
|
import { default as default22 } from "./modules/icons/components/IconCalendar.js";
|
|
22
22
|
import { default as default23 } from "./modules/icons/components/IconCamera.js";
|
|
23
|
-
import { default as default24 } from "./modules/icons/components/
|
|
24
|
-
import { default as default25 } from "./modules/icons/components/
|
|
25
|
-
import { default as default26 } from "./modules/icons/components/
|
|
26
|
-
import { default as default27 } from "./modules/icons/components/
|
|
27
|
-
import { default as default28 } from "./modules/icons/components/
|
|
28
|
-
import { default as default29 } from "./modules/icons/components/
|
|
29
|
-
import { default as default30 } from "./modules/icons/components/
|
|
30
|
-
import { default as default31 } from "./modules/icons/components/
|
|
31
|
-
import { default as default32 } from "./modules/icons/components/
|
|
32
|
-
import { default as default33 } from "./modules/icons/components/
|
|
33
|
-
import { default as default34 } from "./modules/icons/components/
|
|
34
|
-
import { default as default35 } from "./modules/icons/components/
|
|
35
|
-
import { default as default36 } from "./modules/icons/components/
|
|
36
|
-
import { default as default37 } from "./modules/icons/components/
|
|
37
|
-
import { default as default38 } from "./modules/icons/components/
|
|
38
|
-
import { default as default39 } from "./modules/icons/components/
|
|
39
|
-
import { default as default40 } from "./modules/icons/components/
|
|
40
|
-
import { default as default41 } from "./modules/icons/components/
|
|
41
|
-
import { default as default42 } from "./modules/icons/components/
|
|
42
|
-
import { default as default43 } from "./modules/icons/components/
|
|
43
|
-
import { default as default44 } from "./modules/icons/components/
|
|
44
|
-
import { default as default45 } from "./modules/icons/components/
|
|
45
|
-
import { default as default46 } from "./modules/icons/components/
|
|
46
|
-
import { default as default47 } from "./modules/icons/components/
|
|
47
|
-
import { default as default48 } from "./modules/icons/components/
|
|
48
|
-
import { default as default49 } from "./modules/icons/components/
|
|
49
|
-
import { default as default50 } from "./modules/icons/components/
|
|
50
|
-
import { default as default51 } from "./modules/icons/components/
|
|
51
|
-
import { default as default52 } from "./modules/icons/components/
|
|
52
|
-
import { default as default53 } from "./modules/icons/components/
|
|
53
|
-
import { default as default54 } from "./modules/icons/components/
|
|
54
|
-
import { default as default55 } from "./modules/icons/components/
|
|
55
|
-
import { default as default56 } from "./modules/icons/components/
|
|
56
|
-
import { default as default57 } from "./modules/icons/components/
|
|
57
|
-
import { default as default58 } from "./modules/icons/components/
|
|
58
|
-
import { default as default59 } from "./modules/icons/components/
|
|
59
|
-
import { default as default60 } from "./modules/icons/components/
|
|
60
|
-
import { default as default61 } from "./modules/icons/components/
|
|
61
|
-
import { default as default62 } from "./modules/icons/components/
|
|
62
|
-
import { default as default63 } from "./modules/icons/components/
|
|
63
|
-
import { default as default64 } from "./modules/icons/components/
|
|
64
|
-
import { default as default65 } from "./modules/icons/components/
|
|
65
|
-
import { default as default66 } from "./modules/icons/components/
|
|
66
|
-
import { default as default67 } from "./modules/icons/components/
|
|
67
|
-
import { default as default68 } from "./modules/icons/components/
|
|
68
|
-
import { default as default69 } from "./modules/icons/components/
|
|
69
|
-
import { default as default70 } from "./modules/icons/components/
|
|
70
|
-
import { default as default71 } from "./modules/icons/components/
|
|
71
|
-
import { default as default72 } from "./modules/icons/components/
|
|
72
|
-
import { default as default73 } from "./modules/icons/components/
|
|
73
|
-
import { default as default74 } from "./modules/icons/components/
|
|
74
|
-
import { default as default75 } from "./modules/icons/components/
|
|
75
|
-
import { default as default76 } from "./modules/icons/components/
|
|
76
|
-
import { default as default77 } from "./modules/icons/components/
|
|
77
|
-
import { default as default78 } from "./modules/icons/components/
|
|
78
|
-
import { default as default79 } from "./modules/icons/components/
|
|
79
|
-
import { default as default80 } from "./modules/icons/components/
|
|
80
|
-
import { default as default81 } from "./modules/icons/components/
|
|
81
|
-
import { default as default82 } from "./modules/icons/components/
|
|
82
|
-
import { default as default83 } from "./modules/icons/components/
|
|
83
|
-
import { default as default84 } from "./modules/icons/components/
|
|
84
|
-
import { default as default85 } from "./modules/icons/components/
|
|
85
|
-
import { default as default86 } from "./modules/icons/components/
|
|
86
|
-
import { default as default87 } from "./modules/icons/components/
|
|
87
|
-
import { default as default88 } from "./modules/icons/components/
|
|
88
|
-
import { default as default89 } from "./modules/icons/components/
|
|
89
|
-
import { default as default90 } from "./modules/icons/components/
|
|
90
|
-
import { default as default91 } from "./modules/icons/components/
|
|
91
|
-
import { default as default92 } from "./modules/icons/components/
|
|
92
|
-
import { default as default93 } from "./modules/icons/components/
|
|
93
|
-
import { default as default94 } from "./modules/icons/components/
|
|
94
|
-
import { default as default95 } from "./modules/icons/components/
|
|
95
|
-
import { default as default96 } from "./modules/icons/components/
|
|
96
|
-
import { default as default97 } from "./modules/icons/components/
|
|
97
|
-
import { default as default98 } from "./modules/icons/components/
|
|
98
|
-
import { default as default99 } from "./modules/icons/components/
|
|
99
|
-
import { default as default100 } from "./modules/icons/components/
|
|
100
|
-
import { default as default101 } from "./modules/icons/components/
|
|
101
|
-
import { default as default102 } from "./modules/icons/components/
|
|
102
|
-
import { default as default103 } from "./modules/icons/components/
|
|
103
|
-
import { default as default104 } from "./modules/icons/components/
|
|
104
|
-
import { default as default105 } from "./modules/icons/components/
|
|
105
|
-
import { default as default106 } from "./modules/icons/components/
|
|
106
|
-
import { default as default107 } from "./modules/icons/components/
|
|
107
|
-
import { default as default108 } from "./modules/icons/components/
|
|
108
|
-
import { default as default109 } from "./modules/icons/components/
|
|
109
|
-
import { default as default110 } from "./modules/icons/components/
|
|
110
|
-
import { default as default111 } from "./modules/icons/components/
|
|
111
|
-
import { default as default112 } from "./modules/icons/components/
|
|
112
|
-
import { default as default113 } from "./modules/icons/components/
|
|
113
|
-
import { default as default114 } from "./modules/icons/components/
|
|
114
|
-
import { default as default115 } from "./modules/icons/components/
|
|
115
|
-
import { default as default116 } from "./modules/icons/components/
|
|
116
|
-
import { default as default117 } from "./modules/icons/components/
|
|
117
|
-
import { default as default118 } from "./modules/icons/components/
|
|
118
|
-
import { default as default119 } from "./modules/icons/components/
|
|
119
|
-
import { default as default120 } from "./modules/icons/components/
|
|
120
|
-
import { default as default121 } from "./modules/icons/components/
|
|
121
|
-
import { default as default122 } from "./modules/icons/components/
|
|
122
|
-
import { default as default123 } from "./modules/icons/components/
|
|
123
|
-
import { default as default124 } from "./modules/icons/components/
|
|
124
|
-
import { default as default125 } from "./modules/icons/components/
|
|
125
|
-
import { default as default126 } from "./modules/icons/components/
|
|
126
|
-
import { default as default127 } from "./modules/icons/components/
|
|
127
|
-
import { default as default128 } from "./modules/icons/components/
|
|
128
|
-
import { default as default129 } from "./modules/icons/components/
|
|
129
|
-
import { default as default130 } from "./modules/icons/components/
|
|
130
|
-
import { default as default131 } from "./modules/icons/components/
|
|
131
|
-
import { default as default132 } from "./modules/icons/components/
|
|
132
|
-
import { default as default133 } from "./modules/icons/components/
|
|
133
|
-
import { default as default134 } from "./modules/icons/components/
|
|
134
|
-
import { default as default135 } from "./modules/icons/components/
|
|
135
|
-
import { default as default136 } from "./modules/icons/components/
|
|
136
|
-
import { default as default137 } from "./modules/icons/components/
|
|
137
|
-
import { default as default138 } from "./modules/icons/components/
|
|
138
|
-
import { default as default139 } from "./modules/icons/components/
|
|
139
|
-
import { default as default140 } from "./modules/icons/components/
|
|
140
|
-
import { default as default141 } from "./modules/icons/components/
|
|
141
|
-
import { default as default142 } from "./modules/icons/components/
|
|
142
|
-
import { default as default143 } from "./modules/icons/components/
|
|
143
|
-
import { default as default144 } from "./modules/icons/components/
|
|
144
|
-
import { default as default145 } from "./modules/icons/components/
|
|
145
|
-
import { default as default146 } from "./modules/icons/components/
|
|
146
|
-
import { default as default147 } from "./modules/icons/components/
|
|
147
|
-
import { default as default148 } from "./modules/icons/components/
|
|
148
|
-
import { default as default149 } from "./modules/icons/components/
|
|
149
|
-
import { default as default150 } from "./modules/icons/components/
|
|
150
|
-
import { default as default151 } from "./modules/icons/components/
|
|
151
|
-
import { default as default152 } from "./modules/icons/components/
|
|
152
|
-
import { default as default153 } from "./modules/icons/components/
|
|
23
|
+
import { default as default24 } from "./modules/icons/components/IconCantoo.js";
|
|
24
|
+
import { default as default25 } from "./modules/icons/components/IconCenter.js";
|
|
25
|
+
import { default as default26 } from "./modules/icons/components/IconCheck.js";
|
|
26
|
+
import { default as default27 } from "./modules/icons/components/IconChecklist.js";
|
|
27
|
+
import { default as default28 } from "./modules/icons/components/IconClock.js";
|
|
28
|
+
import { default as default29 } from "./modules/icons/components/IconCloseFullScreen.js";
|
|
29
|
+
import { default as default30 } from "./modules/icons/components/IconClose.js";
|
|
30
|
+
import { default as default31 } from "./modules/icons/components/IconCode.js";
|
|
31
|
+
import { default as default32 } from "./modules/icons/components/IconCopy.js";
|
|
32
|
+
import { default as default33 } from "./modules/icons/components/IconCrop.js";
|
|
33
|
+
import { default as default34 } from "./modules/icons/components/IconCut.js";
|
|
34
|
+
import { default as default35 } from "./modules/icons/components/IconDeleteColor.js";
|
|
35
|
+
import { default as default36 } from "./modules/icons/components/IconDeleteColumnHighlight.js";
|
|
36
|
+
import { default as default37 } from "./modules/icons/components/IconDeleteColumn.js";
|
|
37
|
+
import { default as default38 } from "./modules/icons/components/IconDeleteRowHighlight.js";
|
|
38
|
+
import { default as default39 } from "./modules/icons/components/IconDeleteRow.js";
|
|
39
|
+
import { default as default40 } from "./modules/icons/components/IconDelete.js";
|
|
40
|
+
import { default as default41 } from "./modules/icons/components/IconDepositeInbox.js";
|
|
41
|
+
import { default as default42 } from "./modules/icons/components/IconDownload.js";
|
|
42
|
+
import { default as default43 } from "./modules/icons/components/IconEdit.js";
|
|
43
|
+
import { default as default44 } from "./modules/icons/components/IconError.js";
|
|
44
|
+
import { default as default45 } from "./modules/icons/components/IconExternalLink.js";
|
|
45
|
+
import { default as default46 } from "./modules/icons/components/IconFiles.js";
|
|
46
|
+
import { default as default47 } from "./modules/icons/components/IconFilter.js";
|
|
47
|
+
import { default as default48 } from "./modules/icons/components/IconFlag.js";
|
|
48
|
+
import { default as default49 } from "./modules/icons/components/IconFolderMove.js";
|
|
49
|
+
import { default as default50 } from "./modules/icons/components/IconFolder.js";
|
|
50
|
+
import { default as default51 } from "./modules/icons/components/IconForgoing.js";
|
|
51
|
+
import { default as default52 } from "./modules/icons/components/IconFullScreen.js";
|
|
52
|
+
import { default as default53 } from "./modules/icons/components/IconGlobe.js";
|
|
53
|
+
import { default as default54 } from "./modules/icons/components/IconHandMove.js";
|
|
54
|
+
import { default as default55 } from "./modules/icons/components/IconHeadphone.js";
|
|
55
|
+
import { default as default56 } from "./modules/icons/components/IconHide.js";
|
|
56
|
+
import { default as default57 } from "./modules/icons/components/IconHighlightColumn.js";
|
|
57
|
+
import { default as default58 } from "./modules/icons/components/IconHighlightRow.js";
|
|
58
|
+
import { default as default59 } from "./modules/icons/components/IconHome.js";
|
|
59
|
+
import { default as default60 } from "./modules/icons/components/IconHourglass.js";
|
|
60
|
+
import { default as default61 } from "./modules/icons/components/IconImageSizeLarge.js";
|
|
61
|
+
import { default as default62 } from "./modules/icons/components/IconImageSizeMedium.js";
|
|
62
|
+
import { default as default63 } from "./modules/icons/components/IconImageSizeSmall.js";
|
|
63
|
+
import { default as default64 } from "./modules/icons/components/IconInbox.js";
|
|
64
|
+
import { default as default65 } from "./modules/icons/components/IconInfoCircle.js";
|
|
65
|
+
import { default as default66 } from "./modules/icons/components/IconInfoRectangle.js";
|
|
66
|
+
import { default as default67 } from "./modules/icons/components/IconLandscape.js";
|
|
67
|
+
import { default as default68 } from "./modules/icons/components/IconLink.js";
|
|
68
|
+
import { default as default69 } from "./modules/icons/components/IconListOrder.js";
|
|
69
|
+
import { default as default70 } from "./modules/icons/components/IconLoader.js";
|
|
70
|
+
import { default as default71 } from "./modules/icons/components/IconLock.js";
|
|
71
|
+
import { default as default72 } from "./modules/icons/components/IconMail.js";
|
|
72
|
+
import { default as default73 } from "./modules/icons/components/IconMergeCells.js";
|
|
73
|
+
import { default as default74 } from "./modules/icons/components/IconMessageInfo.js";
|
|
74
|
+
import { default as default75 } from "./modules/icons/components/IconMicOff.js";
|
|
75
|
+
import { default as default76 } from "./modules/icons/components/IconMic.js";
|
|
76
|
+
import { default as default77 } from "./modules/icons/components/IconMinus.js";
|
|
77
|
+
import { default as default78 } from "./modules/icons/components/IconMove.js";
|
|
78
|
+
import { default as default79 } from "./modules/icons/components/IconNoColors.js";
|
|
79
|
+
import { default as default80 } from "./modules/icons/components/IconOptions.js";
|
|
80
|
+
import { default as default81 } from "./modules/icons/components/IconOrderedList.js";
|
|
81
|
+
import { default as default82 } from "./modules/icons/components/IconPaperclip.js";
|
|
82
|
+
import { default as default83 } from "./modules/icons/components/IconPause.js";
|
|
83
|
+
import { default as default84 } from "./modules/icons/components/IconPinOff.js";
|
|
84
|
+
import { default as default85 } from "./modules/icons/components/IconPinOn.js";
|
|
85
|
+
import { default as default86 } from "./modules/icons/components/IconPlaceholder.js";
|
|
86
|
+
import { default as default87 } from "./modules/icons/components/IconPlayFilled.js";
|
|
87
|
+
import { default as default88 } from "./modules/icons/components/IconPlay.js";
|
|
88
|
+
import { default as default89 } from "./modules/icons/components/IconPlus.js";
|
|
89
|
+
import { default as default90 } from "./modules/icons/components/IconPointerDefault.js";
|
|
90
|
+
import { default as default91 } from "./modules/icons/components/IconPointerHand.js";
|
|
91
|
+
import { default as default92 } from "./modules/icons/components/IconPrint.js";
|
|
92
|
+
import { default as default93 } from "./modules/icons/components/IconQuestion.js";
|
|
93
|
+
import { default as default94 } from "./modules/icons/components/IconRafterDown.js";
|
|
94
|
+
import { default as default95 } from "./modules/icons/components/IconRafterLeft.js";
|
|
95
|
+
import { default as default96 } from "./modules/icons/components/IconRafterRight.js";
|
|
96
|
+
import { default as default97 } from "./modules/icons/components/IconRafterUp.js";
|
|
97
|
+
import { default as default98 } from "./modules/icons/components/IconReaction.js";
|
|
98
|
+
import { default as default99 } from "./modules/icons/components/IconRecordPause.js";
|
|
99
|
+
import { default as default100 } from "./modules/icons/components/IconRecordStop.js";
|
|
100
|
+
import { default as default101 } from "./modules/icons/components/IconRecordVideo.js";
|
|
101
|
+
import { default as default102 } from "./modules/icons/components/IconRecord.js";
|
|
102
|
+
import { default as default103 } from "./modules/icons/components/IconRedo.js";
|
|
103
|
+
import { default as default104 } from "./modules/icons/components/IconRefresh.js";
|
|
104
|
+
import { default as default105 } from "./modules/icons/components/IconReset.js";
|
|
105
|
+
import { default as default106 } from "./modules/icons/components/IconRestart.js";
|
|
106
|
+
import { default as default107 } from "./modules/icons/components/IconRestore.js";
|
|
107
|
+
import { default as default108 } from "./modules/icons/components/IconSave.js";
|
|
108
|
+
import { default as default109 } from "./modules/icons/components/IconSearch.js";
|
|
109
|
+
import { default as default110 } from "./modules/icons/components/IconSee.js";
|
|
110
|
+
import { default as default111 } from "./modules/icons/components/IconSend.js";
|
|
111
|
+
import { default as default112 } from "./modules/icons/components/IconSetBackground.js";
|
|
112
|
+
import { default as default113 } from "./modules/icons/components/IconSettings.js";
|
|
113
|
+
import { default as default114 } from "./modules/icons/components/IconShare.js";
|
|
114
|
+
import { default as default115 } from "./modules/icons/components/IconSmartphone.js";
|
|
115
|
+
import { default as default116 } from "./modules/icons/components/IconSmiley.js";
|
|
116
|
+
import { default as default117 } from "./modules/icons/components/IconSortAscendingLetters.js";
|
|
117
|
+
import { default as default118 } from "./modules/icons/components/IconSortDescendingLetters.js";
|
|
118
|
+
import { default as default119 } from "./modules/icons/components/IconSortDescending.js";
|
|
119
|
+
import { default as default120 } from "./modules/icons/components/IconSortTime.js";
|
|
120
|
+
import { default as default121 } from "./modules/icons/components/IconSpeechToText.js";
|
|
121
|
+
import { default as default122 } from "./modules/icons/components/IconSplitCells.js";
|
|
122
|
+
import { default as default123 } from "./modules/icons/components/IconSquareRoot.js";
|
|
123
|
+
import { default as default124 } from "./modules/icons/components/IconSubscript.js";
|
|
124
|
+
import { default as default125 } from "./modules/icons/components/IconSuccessFill.js";
|
|
125
|
+
import { default as default126 } from "./modules/icons/components/IconSuccessOutline.js";
|
|
126
|
+
import { default as default127 } from "./modules/icons/components/IconSuperscript.js";
|
|
127
|
+
import { default as default128 } from "./modules/icons/components/IconTable.js";
|
|
128
|
+
import { default as default129 } from "./modules/icons/components/IconTextBold.js";
|
|
129
|
+
import { default as default130 } from "./modules/icons/components/IconTextColor.js";
|
|
130
|
+
import { default as default131 } from "./modules/icons/components/IconTextHighlight.js";
|
|
131
|
+
import { default as default132 } from "./modules/icons/components/IconTextItalic.js";
|
|
132
|
+
import { default as default133 } from "./modules/icons/components/IconTextPage.js";
|
|
133
|
+
import { default as default134 } from "./modules/icons/components/IconTextSize.js";
|
|
134
|
+
import { default as default135 } from "./modules/icons/components/IconTextToSpeechOff.js";
|
|
135
|
+
import { default as default136 } from "./modules/icons/components/IconTextToSpeech.js";
|
|
136
|
+
import { default as default137 } from "./modules/icons/components/IconTextTypo.js";
|
|
137
|
+
import { default as default138 } from "./modules/icons/components/IconTextUnderline.js";
|
|
138
|
+
import { default as default139 } from "./modules/icons/components/IconTextVanilla.js";
|
|
139
|
+
import { default as default140 } from "./modules/icons/components/IconToolCenter.js";
|
|
140
|
+
import { default as default141 } from "./modules/icons/components/IconTool.js";
|
|
141
|
+
import { default as default142 } from "./modules/icons/components/IconTrendingUp.js";
|
|
142
|
+
import { default as default143 } from "./modules/icons/components/IconUndo.js";
|
|
143
|
+
import { default as default144 } from "./modules/icons/components/IconUnlink.js";
|
|
144
|
+
import { default as default145 } from "./modules/icons/components/IconUnlock.js";
|
|
145
|
+
import { default as default146 } from "./modules/icons/components/IconUpload.js";
|
|
146
|
+
import { default as default147 } from "./modules/icons/components/IconUserSearch.js";
|
|
147
|
+
import { default as default148 } from "./modules/icons/components/IconUser.js";
|
|
148
|
+
import { default as default149 } from "./modules/icons/components/IconUsers.js";
|
|
149
|
+
import { default as default150 } from "./modules/icons/components/IconVideo.js";
|
|
150
|
+
import { default as default151 } from "./modules/icons/components/IconViewCalendar.js";
|
|
151
|
+
import { default as default152 } from "./modules/icons/components/IconViewList.js";
|
|
152
|
+
import { default as default153 } from "./modules/icons/components/IconWand.js";
|
|
153
|
+
import { default as default154 } from "./modules/icons/components/IconWrite.js";
|
|
154
|
+
import { default as default155 } from "./modules/icons/components/IconZoomIn.js";
|
|
155
|
+
import { default as default156 } from "./modules/icons/components/IconZoomOut.js";
|
|
153
156
|
export {
|
|
154
157
|
default3 as IconAdd,
|
|
155
158
|
default2 as IconAddUser,
|
|
@@ -173,134 +176,137 @@ export {
|
|
|
173
176
|
default22 as IconCalendar,
|
|
174
177
|
default21 as IconCalendarLight,
|
|
175
178
|
default23 as IconCamera,
|
|
176
|
-
default24 as
|
|
177
|
-
default25 as
|
|
178
|
-
default26 as
|
|
179
|
-
default27 as
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
default31 as
|
|
184
|
-
default32 as
|
|
185
|
-
default33 as
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
default41 as
|
|
194
|
-
default42 as
|
|
195
|
-
default43 as
|
|
196
|
-
default44 as
|
|
197
|
-
default45 as
|
|
198
|
-
default46 as
|
|
199
|
-
default47 as
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
default51 as
|
|
204
|
-
default52 as
|
|
205
|
-
default53 as
|
|
206
|
-
default54 as
|
|
207
|
-
default55 as
|
|
208
|
-
default56 as
|
|
209
|
-
default57 as
|
|
210
|
-
default58 as
|
|
211
|
-
default59 as
|
|
212
|
-
default60 as
|
|
213
|
-
default61 as
|
|
214
|
-
default62 as
|
|
215
|
-
default63 as
|
|
216
|
-
default64 as
|
|
217
|
-
default65 as
|
|
218
|
-
default66 as
|
|
219
|
-
default67 as
|
|
220
|
-
default68 as
|
|
221
|
-
default69 as
|
|
222
|
-
default70 as
|
|
223
|
-
default71 as
|
|
224
|
-
default72 as
|
|
225
|
-
default73 as
|
|
226
|
-
default74 as
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
default77 as
|
|
230
|
-
default78 as
|
|
231
|
-
default79 as
|
|
232
|
-
default80 as
|
|
233
|
-
default81 as
|
|
234
|
-
default82 as
|
|
235
|
-
default83 as
|
|
236
|
-
default84 as
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
default89 as
|
|
242
|
-
default90 as
|
|
243
|
-
default91 as
|
|
244
|
-
default92 as
|
|
245
|
-
default93 as
|
|
246
|
-
default94 as
|
|
247
|
-
default95 as
|
|
248
|
-
default96 as
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
default99 as
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
default103 as
|
|
256
|
-
default104 as
|
|
257
|
-
default105 as
|
|
258
|
-
default106 as
|
|
259
|
-
default107 as
|
|
260
|
-
default108 as
|
|
261
|
-
default109 as
|
|
262
|
-
default110 as
|
|
263
|
-
default111 as
|
|
264
|
-
default112 as
|
|
265
|
-
default113 as
|
|
266
|
-
default114 as
|
|
267
|
-
default115 as
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
default120 as
|
|
273
|
-
default121 as
|
|
274
|
-
default122 as
|
|
275
|
-
default123 as
|
|
276
|
-
default124 as
|
|
277
|
-
default125 as
|
|
278
|
-
default126 as
|
|
279
|
-
default127 as
|
|
280
|
-
default128 as
|
|
281
|
-
default129 as
|
|
282
|
-
default130 as
|
|
283
|
-
default131 as
|
|
284
|
-
default132 as
|
|
285
|
-
default133 as
|
|
286
|
-
default134 as
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
default139 as
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
default142 as
|
|
295
|
-
default143 as
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
default146 as
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
default149 as
|
|
302
|
-
default150 as
|
|
303
|
-
default151 as
|
|
304
|
-
default152 as
|
|
305
|
-
default153 as
|
|
179
|
+
default24 as IconCantoo,
|
|
180
|
+
default25 as IconCenter,
|
|
181
|
+
default26 as IconCheck,
|
|
182
|
+
default27 as IconChecklist,
|
|
183
|
+
default28 as IconClock,
|
|
184
|
+
default30 as IconClose,
|
|
185
|
+
default29 as IconCloseFullScreen,
|
|
186
|
+
default31 as IconCode,
|
|
187
|
+
default32 as IconCopy,
|
|
188
|
+
default33 as IconCrop,
|
|
189
|
+
default34 as IconCut,
|
|
190
|
+
default40 as IconDelete,
|
|
191
|
+
default35 as IconDeleteColor,
|
|
192
|
+
default37 as IconDeleteColumn,
|
|
193
|
+
default36 as IconDeleteColumnHighlight,
|
|
194
|
+
default39 as IconDeleteRow,
|
|
195
|
+
default38 as IconDeleteRowHighlight,
|
|
196
|
+
default41 as IconDepositeInbox,
|
|
197
|
+
default42 as IconDownload,
|
|
198
|
+
default43 as IconEdit,
|
|
199
|
+
default44 as IconError,
|
|
200
|
+
default45 as IconExternalLink,
|
|
201
|
+
default46 as IconFiles,
|
|
202
|
+
default47 as IconFilter,
|
|
203
|
+
default48 as IconFlag,
|
|
204
|
+
default50 as IconFolder,
|
|
205
|
+
default49 as IconFolderMove,
|
|
206
|
+
default51 as IconForgoing,
|
|
207
|
+
default52 as IconFullScreen,
|
|
208
|
+
default53 as IconGlobe,
|
|
209
|
+
default54 as IconHandMove,
|
|
210
|
+
default55 as IconHeadphone,
|
|
211
|
+
default56 as IconHide,
|
|
212
|
+
default57 as IconHighlightColumn,
|
|
213
|
+
default58 as IconHighlightRow,
|
|
214
|
+
default59 as IconHome,
|
|
215
|
+
default60 as IconHourglass,
|
|
216
|
+
default61 as IconImageSizeLarge,
|
|
217
|
+
default62 as IconImageSizeMedium,
|
|
218
|
+
default63 as IconImageSizeSmall,
|
|
219
|
+
default64 as IconInbox,
|
|
220
|
+
default65 as IconInfoCircle,
|
|
221
|
+
default66 as IconInfoRectangle,
|
|
222
|
+
default67 as IconLandscape,
|
|
223
|
+
default68 as IconLink,
|
|
224
|
+
default69 as IconListOrder,
|
|
225
|
+
default70 as IconLoader,
|
|
226
|
+
default71 as IconLock,
|
|
227
|
+
default72 as IconMail,
|
|
228
|
+
default73 as IconMergeCells,
|
|
229
|
+
default74 as IconMessageInfo,
|
|
230
|
+
default76 as IconMic,
|
|
231
|
+
default75 as IconMicOff,
|
|
232
|
+
default77 as IconMinus,
|
|
233
|
+
default78 as IconMove,
|
|
234
|
+
default79 as IconNoColors,
|
|
235
|
+
default80 as IconOptions,
|
|
236
|
+
default81 as IconOrderedList,
|
|
237
|
+
default82 as IconPaperclip,
|
|
238
|
+
default83 as IconPause,
|
|
239
|
+
default84 as IconPinOff,
|
|
240
|
+
default85 as IconPinOn,
|
|
241
|
+
default86 as IconPlaceholder,
|
|
242
|
+
default88 as IconPlay,
|
|
243
|
+
default87 as IconPlayFilled,
|
|
244
|
+
default89 as IconPlus,
|
|
245
|
+
default90 as IconPointerDefault,
|
|
246
|
+
default91 as IconPointerHand,
|
|
247
|
+
default92 as IconPrint,
|
|
248
|
+
default93 as IconQuestion,
|
|
249
|
+
default94 as IconRafterDown,
|
|
250
|
+
default95 as IconRafterLeft,
|
|
251
|
+
default96 as IconRafterRight,
|
|
252
|
+
default97 as IconRafterUp,
|
|
253
|
+
default98 as IconReaction,
|
|
254
|
+
default102 as IconRecord,
|
|
255
|
+
default99 as IconRecordPause,
|
|
256
|
+
default100 as IconRecordStop,
|
|
257
|
+
default101 as IconRecordVideo,
|
|
258
|
+
default103 as IconRedo,
|
|
259
|
+
default104 as IconRefresh,
|
|
260
|
+
default105 as IconReset,
|
|
261
|
+
default106 as IconRestart,
|
|
262
|
+
default107 as IconRestore,
|
|
263
|
+
default108 as IconSave,
|
|
264
|
+
default109 as IconSearch,
|
|
265
|
+
default110 as IconSee,
|
|
266
|
+
default111 as IconSend,
|
|
267
|
+
default112 as IconSetBackground,
|
|
268
|
+
default113 as IconSettings,
|
|
269
|
+
default114 as IconShare,
|
|
270
|
+
default115 as IconSmartphone,
|
|
271
|
+
default116 as IconSmiley,
|
|
272
|
+
default117 as IconSortAscendingLetters,
|
|
273
|
+
default119 as IconSortDescending,
|
|
274
|
+
default118 as IconSortDescendingLetters,
|
|
275
|
+
default120 as IconSortTime,
|
|
276
|
+
default121 as IconSpeechToText,
|
|
277
|
+
default122 as IconSplitCells,
|
|
278
|
+
default123 as IconSquareRoot,
|
|
279
|
+
default124 as IconSubscript,
|
|
280
|
+
default125 as IconSuccessFill,
|
|
281
|
+
default126 as IconSuccessOutline,
|
|
282
|
+
default127 as IconSuperscript,
|
|
283
|
+
default128 as IconTable,
|
|
284
|
+
default129 as IconTextBold,
|
|
285
|
+
default130 as IconTextColor,
|
|
286
|
+
default131 as IconTextHighlight,
|
|
287
|
+
default132 as IconTextItalic,
|
|
288
|
+
default133 as IconTextPage,
|
|
289
|
+
default134 as IconTextSize,
|
|
290
|
+
default136 as IconTextToSpeech,
|
|
291
|
+
default135 as IconTextToSpeechOff,
|
|
292
|
+
default137 as IconTextTypo,
|
|
293
|
+
default138 as IconTextUnderline,
|
|
294
|
+
default139 as IconTextVanilla,
|
|
295
|
+
default141 as IconTool,
|
|
296
|
+
default140 as IconToolCenter,
|
|
297
|
+
default142 as IconTrendingUp,
|
|
298
|
+
default143 as IconUndo,
|
|
299
|
+
default144 as IconUnlink,
|
|
300
|
+
default145 as IconUnlock,
|
|
301
|
+
default146 as IconUpload,
|
|
302
|
+
default148 as IconUser,
|
|
303
|
+
default147 as IconUserSearch,
|
|
304
|
+
default149 as IconUsers,
|
|
305
|
+
default150 as IconVideo,
|
|
306
|
+
default151 as IconViewCalendar,
|
|
307
|
+
default152 as IconViewList,
|
|
308
|
+
default153 as IconWand,
|
|
309
|
+
default154 as IconWrite,
|
|
310
|
+
default155 as IconZoomIn,
|
|
311
|
+
default156 as IconZoomOut
|
|
306
312
|
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useEffect } from "react";
|
|
3
|
+
import { useEditorContext } from "../../hooks/useEditorContext.js";
|
|
4
|
+
const CantooAdaptTextBoxView = ({
|
|
5
|
+
openPosition
|
|
6
|
+
}) => {
|
|
7
|
+
const {
|
|
8
|
+
editor
|
|
9
|
+
} = useEditorContext(), containerRef = useRef(null), Cantoo = window.Cantoo, editorHTML = editor == null ? void 0 : editor.getHTML(), cantooHTML = (Cantoo == null ? void 0 : Cantoo.formatText(editorHTML)) || editorHTML;
|
|
10
|
+
return useEffect(() => {
|
|
11
|
+
var _a;
|
|
12
|
+
openPosition != null && openPosition.bottom && ((_a = containerRef.current) == null || _a.scrollIntoView({
|
|
13
|
+
behavior: "smooth",
|
|
14
|
+
block: "nearest",
|
|
15
|
+
inline: "nearest"
|
|
16
|
+
}));
|
|
17
|
+
}, []), /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18
|
+
(openPosition == null ? void 0 : openPosition.right) && /* @__PURE__ */ jsx("div", { style: {
|
|
19
|
+
width: "1px",
|
|
20
|
+
backgroundColor: "#e0e0e0",
|
|
21
|
+
margin: "0 3px"
|
|
22
|
+
} }),
|
|
23
|
+
/* @__PURE__ */ jsx("div", { style: {
|
|
24
|
+
flex: 1,
|
|
25
|
+
marginTop: openPosition != null && openPosition.bottom ? "16px" : "0px"
|
|
26
|
+
}, children: /* @__PURE__ */ jsx("div", { ref: containerRef, className: `${openPosition != null && openPosition.bottom ? "card" : ""} py-12 px-16`, children: /* @__PURE__ */ jsx("div", { dangerouslySetInnerHTML: {
|
|
27
|
+
__html: cantooHTML
|
|
28
|
+
} }) }) })
|
|
29
|
+
] });
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
CantooAdaptTextBoxView as default
|
|
33
|
+
};
|
|
@@ -5,14 +5,17 @@ import clsx from "clsx";
|
|
|
5
5
|
import "@tiptap/starter-kit";
|
|
6
6
|
import { useEdificeClient } from "../../../../providers/EdificeClientProvider/EdificeClientProvider.hook.js";
|
|
7
7
|
import { useMathsStyles } from "../../hooks/useMathsStyles.js";
|
|
8
|
+
import CantooAdaptTextBoxView from "./CantooAdaptTextBoxView.js";
|
|
8
9
|
import { useTipTapEditor } from "../../hooks/useTipTapEditor.js";
|
|
9
10
|
import { useMediaLibraryEditor } from "../../hooks/useMediaLibraryEditor.js";
|
|
10
11
|
import { useMathsModal } from "../../hooks/useMathsModal.js";
|
|
11
12
|
import { useImageModal } from "../../hooks/useImageModal.js";
|
|
12
13
|
import { useLinkToolbar } from "../../hooks/useLinkToolbar.js";
|
|
13
14
|
import { useSpeechSynthetisis } from "../../hooks/useSpeechSynthetisis.js";
|
|
15
|
+
import { useCantooEditor } from "../../hooks/useCantooEditor.js";
|
|
14
16
|
import { EditorContext } from "../../hooks/useEditorContext.js";
|
|
15
17
|
import { EditorToolbar } from "../EditorToolbar/EditorToolbar.js";
|
|
18
|
+
import Flex from "../../../../components/Flex/Flex.js";
|
|
16
19
|
import LinkToolbar from "../Toolbar/LinkToolbar.js";
|
|
17
20
|
import TableToolbar from "../Toolbar/TableToolbar.js";
|
|
18
21
|
import BubbleMenuEditImage from "../BubbleMenuEditImage/BubbleMenuEditImage.js";
|
|
@@ -42,7 +45,7 @@ const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/
|
|
|
42
45
|
toggle: toggleMathsModal,
|
|
43
46
|
...mathsModalHandlers
|
|
44
47
|
} = useMathsModal(editor), imageModal = useImageModal(editor, "media-library", visibility), linkToolbarHandlers = useLinkToolbar(editor, mediaLibraryModalRef), speechSynthetisis = useSpeechSynthetisis(editor);
|
|
45
|
-
|
|
48
|
+
useMathsStyles(), useImperativeHandle(ref, () => ({
|
|
46
49
|
getContent: (as) => {
|
|
47
50
|
switch (as) {
|
|
48
51
|
case "html":
|
|
@@ -57,7 +60,9 @@ const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/
|
|
|
57
60
|
},
|
|
58
61
|
toogleSpeechSynthetisis: speechSynthetisis.toggle,
|
|
59
62
|
isSpeeching: () => speechSynthetisis.isActivated
|
|
60
|
-
}))
|
|
63
|
+
}));
|
|
64
|
+
const contooEditor = useCantooEditor(editor);
|
|
65
|
+
if (!editor) return null;
|
|
61
66
|
const borderClass = clsx(variant === "outline" && "border rounded-3"), contentClass = clsx(variant === "outline" && "py-12 px-16");
|
|
62
67
|
return /* @__PURE__ */ jsxs(EditorContext.Provider, { value: {
|
|
63
68
|
id: id ?? editorId,
|
|
@@ -66,8 +71,13 @@ const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/
|
|
|
66
71
|
editable
|
|
67
72
|
}, children: [
|
|
68
73
|
/* @__PURE__ */ jsxs("div", { className: borderClass, children: [
|
|
69
|
-
toolbar !== "none" && editable && /* @__PURE__ */ jsx(EditorToolbar, { mediaLibraryRef: mediaLibraryModalRef, toggleMathsModal }),
|
|
70
|
-
/* @__PURE__ */
|
|
74
|
+
toolbar !== "none" && editable && /* @__PURE__ */ jsx(EditorToolbar, { mediaLibraryRef: mediaLibraryModalRef, toggleMathsModal, cantooEditor: contooEditor }),
|
|
75
|
+
/* @__PURE__ */ jsxs(Flex, { direction: "row", children: [
|
|
76
|
+
/* @__PURE__ */ jsx(EditorContent, { id: id ?? editorId, editor, className: contentClass, style: {
|
|
77
|
+
flex: 1
|
|
78
|
+
} }),
|
|
79
|
+
editable && contooEditor.openPositionAdaptText.right && /* @__PURE__ */ jsx(CantooAdaptTextBoxView, { openPosition: contooEditor.openPositionAdaptText })
|
|
80
|
+
] })
|
|
71
81
|
] }),
|
|
72
82
|
/* @__PURE__ */ jsx(LinkToolbar, { editor, ...linkToolbarHandlers }),
|
|
73
83
|
/* @__PURE__ */ jsx(TableToolbar, { editor }),
|
|
@@ -78,7 +88,8 @@ const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/
|
|
|
78
88
|
/* @__PURE__ */ jsxs(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingScreen, {}), children: [
|
|
79
89
|
editable && /* @__PURE__ */ jsx(MediaLibrary, { appCode, visibility, multiple: !0, ref: mediaLibraryModalRef, ...mediaLibraryModalHandlers }),
|
|
80
90
|
editable && mathsModalHandlers.isOpen && /* @__PURE__ */ jsx(MathsModal, { ...mathsModalHandlers }),
|
|
81
|
-
editable && (imageModal == null ? void 0 : imageModal.isOpen) && (imageModal == null ? void 0 : imageModal.currentImage) && /* @__PURE__ */ jsx(ImageEditor, { altText: imageModal == null ? void 0 : imageModal.currentImage.alt, legend: imageModal == null ? void 0 : imageModal.currentImage.title, image: imageModal == null ? void 0 : imageModal.currentImage.src, isOpen: imageModal.isOpen, onCancel: imageModal.handleCancel, onSave: imageModal.handleSave, onError: console.error })
|
|
91
|
+
editable && (imageModal == null ? void 0 : imageModal.isOpen) && (imageModal == null ? void 0 : imageModal.currentImage) && /* @__PURE__ */ jsx(ImageEditor, { altText: imageModal == null ? void 0 : imageModal.currentImage.alt, legend: imageModal == null ? void 0 : imageModal.currentImage.title, image: imageModal == null ? void 0 : imageModal.currentImage.src, isOpen: imageModal.isOpen, onCancel: imageModal.handleCancel, onSave: imageModal.handleSave, onError: console.error }),
|
|
92
|
+
editable && contooEditor.openPositionAdaptText.bottom && /* @__PURE__ */ jsx(CantooAdaptTextBoxView, { openPosition: contooEditor.openPositionAdaptText })
|
|
82
93
|
] })
|
|
83
94
|
] });
|
|
84
95
|
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RefAttributes } from 'react';
|
|
2
|
+
import { IconButtonProps } from '../../../../components';
|
|
3
|
+
import { CantooEditor } from '../../hooks';
|
|
4
|
+
interface Props {
|
|
5
|
+
triggerProps: JSX.IntrinsicAttributes & Omit<IconButtonProps, 'ref'> & RefAttributes<HTMLButtonElement>;
|
|
6
|
+
cantooEditor: CantooEditor;
|
|
7
|
+
}
|
|
8
|
+
export declare const EditorToolbarCantoo: ({ triggerProps, cantooEditor }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
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 SvgIconDeleteColumnHighlight from "../../../icons/components/IconDeleteColumnHighlight.js";
|
|
6
|
+
import SvgIconDeleteRowHighlight from "../../../icons/components/IconDeleteRowHighlight.js";
|
|
7
|
+
import SvgIconMicOff from "../../../icons/components/IconMicOff.js";
|
|
8
|
+
import SvgIconMic from "../../../icons/components/IconMic.js";
|
|
9
|
+
import SvgIconSettings from "../../../icons/components/IconSettings.js";
|
|
10
|
+
import SvgIconTextToSpeechOff from "../../../icons/components/IconTextToSpeechOff.js";
|
|
11
|
+
import SvgIconTextToSpeech from "../../../icons/components/IconTextToSpeech.js";
|
|
12
|
+
import SvgIconWand from "../../../icons/components/IconWand.js";
|
|
13
|
+
import Tooltip from "../../../../components/Tooltip/Tooltip.js";
|
|
14
|
+
import IconButton from "../../../../components/Button/IconButton.js";
|
|
15
|
+
import Dropdown from "../../../../components/Dropdown/Dropdown.js";
|
|
16
|
+
import { useEdificeClient } from "../../../../providers/EdificeClientProvider/EdificeClientProvider.hook.js";
|
|
17
|
+
const EditorToolbarCantoo = ({
|
|
18
|
+
triggerProps,
|
|
19
|
+
cantooEditor
|
|
20
|
+
}) => {
|
|
21
|
+
const {
|
|
22
|
+
t
|
|
23
|
+
} = useTranslation(), {
|
|
24
|
+
appCode
|
|
25
|
+
} = useEdificeClient(), {
|
|
26
|
+
speech2textIsAvailable,
|
|
27
|
+
speech2textIsActive,
|
|
28
|
+
text2speechIsActive,
|
|
29
|
+
toggleSpeech2Text,
|
|
30
|
+
toggleText2Speech,
|
|
31
|
+
toogleSettings
|
|
32
|
+
} = cantooEditor, cantooOptionsAdaptText = [{
|
|
33
|
+
id: "right",
|
|
34
|
+
label: t("tiptap.toolbar.cantoo.formatText.show.on.right"),
|
|
35
|
+
icon: /* @__PURE__ */ jsx(SvgIconDeleteColumnHighlight, {}),
|
|
36
|
+
className: cantooEditor.openPositionAdaptText.right ? "fw-bold" : "",
|
|
37
|
+
action: () => cantooEditor.handleCantooAdaptTextPosition("right")
|
|
38
|
+
}, {
|
|
39
|
+
id: "bottom",
|
|
40
|
+
label: t("tiptap.toolbar.cantoo.formatText.show.on.bottom"),
|
|
41
|
+
icon: /* @__PURE__ */ jsx(SvgIconDeleteRowHighlight, {}),
|
|
42
|
+
className: cantooEditor.openPositionAdaptText.bottom ? "fw-bold" : "",
|
|
43
|
+
action: () => cantooEditor.handleCantooAdaptTextPosition("bottom")
|
|
44
|
+
}], cantooOptions = [...appCode === "collaborativewall" ? [{
|
|
45
|
+
id: "formatText",
|
|
46
|
+
label: t("tiptap.toolbar.cantoo.formatText"),
|
|
47
|
+
className: cantooEditor.openPositionAdaptText.bottom ? "fw-bold" : "",
|
|
48
|
+
icon: /* @__PURE__ */ jsx(SvgIconWand, {}),
|
|
49
|
+
action: () => cantooEditor.handleCantooAdaptTextPosition("bottom")
|
|
50
|
+
}] : [], ...speech2textIsAvailable ? [{
|
|
51
|
+
id: "speech2text",
|
|
52
|
+
label: t("tiptap.toolbar.cantoo.speech2text"),
|
|
53
|
+
className: speech2textIsActive ? "fw-bold" : "",
|
|
54
|
+
icon: speech2textIsActive ? /* @__PURE__ */ jsx(SvgIconMicOff, {}) : /* @__PURE__ */ jsx(SvgIconMic, {}),
|
|
55
|
+
action: () => toggleSpeech2Text()
|
|
56
|
+
}] : [], {
|
|
57
|
+
id: "text2speech",
|
|
58
|
+
label: t("tiptap.toolbar.cantoo.text2speech"),
|
|
59
|
+
className: text2speechIsActive ? "fw-bold" : "",
|
|
60
|
+
icon: text2speechIsActive ? /* @__PURE__ */ jsx(SvgIconTextToSpeechOff, {}) : /* @__PURE__ */ jsx(SvgIconTextToSpeech, {}),
|
|
61
|
+
action: () => toggleText2Speech()
|
|
62
|
+
}, ...appCode === "collaborativewall" ? [] : [{
|
|
63
|
+
id: "settings",
|
|
64
|
+
label: t("tiptap.toolbar.cantoo.settings"),
|
|
65
|
+
icon: /* @__PURE__ */ jsx(SvgIconSettings, {}),
|
|
66
|
+
action: () => toogleSettings()
|
|
67
|
+
}]];
|
|
68
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
69
|
+
/* @__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 || cantooEditor.openPositionAdaptText.right || cantooEditor.openPositionAdaptText.bottom ? "is-selected" : "", "aria-label": t("tiptap.toolbar.cantoo.choice") }) }),
|
|
70
|
+
/* @__PURE__ */ jsxs(Dropdown.Menu, { children: [
|
|
71
|
+
appCode != "collaborativewall" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
72
|
+
/* @__PURE__ */ jsx(Dropdown.MenuGroup, { label: t("tiptap.toolbar.cantoo.formatText"), children: cantooOptionsAdaptText.map((option) => /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx(Dropdown.Item, { onClick: option.action, icon: option.icon, className: option.className, children: /* @__PURE__ */ jsx("span", { children: option.label }) }) }, option.id)) }),
|
|
73
|
+
/* @__PURE__ */ jsx(Dropdown.Separator, {})
|
|
74
|
+
] }),
|
|
75
|
+
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))
|
|
76
|
+
] })
|
|
77
|
+
] });
|
|
78
|
+
};
|
|
79
|
+
export {
|
|
80
|
+
EditorToolbarCantoo
|
|
81
|
+
};
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
|
+
import { CantooEditor } from '../..';
|
|
2
3
|
import { MediaLibraryRef } from '../../../multimedia';
|
|
3
4
|
interface Props {
|
|
4
5
|
/** Ref to a MediaLibrary instance */
|
|
5
6
|
mediaLibraryRef: RefObject<MediaLibraryRef>;
|
|
6
7
|
/** API to open/close a Math modal. */
|
|
7
8
|
toggleMathsModal: () => void;
|
|
9
|
+
/** Ref to a Cantoo editor instance */
|
|
10
|
+
cantooEditor: CantooEditor;
|
|
8
11
|
}
|
|
9
|
-
export declare const EditorToolbar: ({ mediaLibraryRef, toggleMathsModal }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare const EditorToolbar: ({ mediaLibraryRef, toggleMathsModal, cantooEditor, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
10
13
|
export {};
|
|
@@ -27,13 +27,15 @@ import { EditorToolbarPlusMenu } from "./EditorToolbar.PlusMenu.js";
|
|
|
27
27
|
import { EditorToolbarTextColor } from "./EditorToolbar.TextColor.js";
|
|
28
28
|
import { EditorToolbarTextSize } from "./EditorToolbar.TextSize.js";
|
|
29
29
|
import { EditorToolbarTypography } from "./EditorToolbar.Typography.js";
|
|
30
|
-
import {
|
|
30
|
+
import { EditorToolbarCantoo } from "./EditorToolbar.Cantoo.js";
|
|
31
31
|
import { useActionOptions } from "../../hooks/useActionOptions.js";
|
|
32
32
|
import { useSpeechRecognition } from "../../hooks/useSpeechRecognition.js";
|
|
33
|
+
import { useEditorContext } from "../../hooks/useEditorContext.js";
|
|
33
34
|
import { Toolbar } from "../../../../components/Toolbar/Toolbar.js";
|
|
34
35
|
const EditorToolbar = ({
|
|
35
36
|
mediaLibraryRef,
|
|
36
|
-
toggleMathsModal
|
|
37
|
+
toggleMathsModal,
|
|
38
|
+
cantooEditor
|
|
37
39
|
}) => {
|
|
38
40
|
const {
|
|
39
41
|
t
|
|
@@ -167,11 +169,21 @@ const EditorToolbar = ({
|
|
|
167
169
|
name: "speechtotext",
|
|
168
170
|
tooltip: t("tiptap.toolbar.stt")
|
|
169
171
|
},
|
|
172
|
+
//------------- CANTOO ---------------//
|
|
173
|
+
{
|
|
174
|
+
type: "dropdown",
|
|
175
|
+
props: {
|
|
176
|
+
children: (triggerProps) => /* @__PURE__ */ jsx(EditorToolbarCantoo, { triggerProps, cantooEditor })
|
|
177
|
+
},
|
|
178
|
+
name: "cantoo",
|
|
179
|
+
visibility: cantooEditor.isAvailable ? "show" : "hide",
|
|
180
|
+
tooltip: t("tiptap.toolbar.cantoo.choice")
|
|
181
|
+
},
|
|
170
182
|
//------------------------------------//
|
|
171
183
|
{
|
|
172
184
|
type: "divider",
|
|
173
185
|
name: "div-speech",
|
|
174
|
-
visibility: canRecognizeSpeech ? "show" : "hide"
|
|
186
|
+
visibility: canRecognizeSpeech || cantooEditor.isAvailable ? "show" : "hide"
|
|
175
187
|
},
|
|
176
188
|
//--------------- TYPOGRAPHY ---------------//
|
|
177
189
|
{
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Editor } from '@tiptap/react';
|
|
2
|
+
export interface CantooEditor {
|
|
3
|
+
isAvailable: boolean;
|
|
4
|
+
speech2textIsAvailable: boolean;
|
|
5
|
+
speech2textIsActive: boolean;
|
|
6
|
+
text2speechIsActive: boolean;
|
|
7
|
+
toggleSpeech2Text: () => void;
|
|
8
|
+
toggleText2Speech: () => void;
|
|
9
|
+
toogleSettings: () => void;
|
|
10
|
+
openPositionAdaptText: {
|
|
11
|
+
right: boolean;
|
|
12
|
+
bottom: boolean;
|
|
13
|
+
};
|
|
14
|
+
handleCantooAdaptTextPosition: (position: string) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const useCantooEditor: (editor: Editor | null) => CantooEditor;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { useState, useCallback } from "react";
|
|
2
|
+
import { odeServices } from "@edifice.io/client";
|
|
3
|
+
import useHasWorkflow from "../../../hooks/useHasWorkflow/useHasWorkflow.js";
|
|
4
|
+
const useCantooEditor = (editor) => {
|
|
5
|
+
const Cantoo = window.Cantoo, isAvailable = useHasWorkflow("org.entcore.portal.controllers.PortalController|optionalFeatureCantoo"), [speech2textIsActive, setSpeech2textActive] = useState(!1), [text2speechIsActive, setText2speechActive] = useState(!1), [openPositionAdaptText, setOpenPositionAdaptText] = useState({
|
|
6
|
+
right: !1,
|
|
7
|
+
bottom: !1
|
|
8
|
+
}), speech2textIsAvailable = (Cantoo == null ? void 0 : Cantoo.speech2text.isAvailableOnDevice()) || !1, toggleSpeech2Text = async () => {
|
|
9
|
+
if (speech2textIsActive) {
|
|
10
|
+
setSpeech2textActive(!1);
|
|
11
|
+
try {
|
|
12
|
+
await Cantoo.speech2text.stop();
|
|
13
|
+
} catch (e) {
|
|
14
|
+
console.warn("Error while trying to stop Cantoo (speech2text)", e);
|
|
15
|
+
}
|
|
16
|
+
} else
|
|
17
|
+
try {
|
|
18
|
+
if (setSpeech2textActive(!0), speech2textIsAvailable)
|
|
19
|
+
if (await Cantoo.speech2text.requestPermission())
|
|
20
|
+
cantooStoreEvent("CANTOO_EDITEUR_SPEECH_TO_TEXT"), await Cantoo.speech2text.start((data) => {
|
|
21
|
+
editor == null || editor.chain().focus().insertContent(data.join(" ")).run();
|
|
22
|
+
}, window.navigator.language);
|
|
23
|
+
else
|
|
24
|
+
throw setSpeech2textActive(!1), new Error("Cantoo speech2text permission denied, please check your browser settings");
|
|
25
|
+
else
|
|
26
|
+
throw setSpeech2textActive(!1), new Error("Cantoo speech2text not available on this device");
|
|
27
|
+
} catch (e) {
|
|
28
|
+
console.warn("Error while trying to use Cantoo (speech2text)", e), setSpeech2textActive(!1);
|
|
29
|
+
}
|
|
30
|
+
}, toggleText2Speech = () => {
|
|
31
|
+
if (text2speechIsActive)
|
|
32
|
+
setText2speechActive(!1), window.speechSynthesis.cancel();
|
|
33
|
+
else
|
|
34
|
+
try {
|
|
35
|
+
setText2speechActive(!0), Cantoo.text2speech.readText(editor == null ? void 0 : editor.getText()), cantooStoreEvent("CANTOO_EDITEUR_TEXT_TO_SPEECH"), Cantoo.text2speech.utter.onend = () => {
|
|
36
|
+
setText2speechActive(!1);
|
|
37
|
+
};
|
|
38
|
+
} catch (e) {
|
|
39
|
+
console.warn("Error while trying to use Cantoo (text2speech)", e), setText2speechActive(!1);
|
|
40
|
+
}
|
|
41
|
+
}, handleCantooAdaptTextPosition = (position) => {
|
|
42
|
+
switch (position) {
|
|
43
|
+
case "right":
|
|
44
|
+
openPositionAdaptText.right || cantooStoreEvent("CANTOO_EDITEUR_ADAPT_TEXT"), setOpenPositionAdaptText((prev) => ({
|
|
45
|
+
bottom: !1,
|
|
46
|
+
right: !prev.right
|
|
47
|
+
}));
|
|
48
|
+
break;
|
|
49
|
+
case "bottom":
|
|
50
|
+
openPositionAdaptText.bottom || cantooStoreEvent("CANTOO_EDITEUR_ADAPT_TEXT"), setOpenPositionAdaptText((prev) => ({
|
|
51
|
+
right: !1,
|
|
52
|
+
bottom: !prev.bottom
|
|
53
|
+
}));
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}, toogleSettings = () => {
|
|
57
|
+
if (!Cantoo) {
|
|
58
|
+
console.warn("Cantoo not available");
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
Cantoo.openCantooWebConfig();
|
|
62
|
+
}, cantooStoreEvent = useCallback(async (eventType) => {
|
|
63
|
+
if (eventType.length > 0) {
|
|
64
|
+
const data = {
|
|
65
|
+
"event-type": eventType
|
|
66
|
+
};
|
|
67
|
+
try {
|
|
68
|
+
await odeServices.http().post("/infra/event/web/store", data);
|
|
69
|
+
} catch (e) {
|
|
70
|
+
console.warn("Error while storing event", e);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}, []);
|
|
74
|
+
return {
|
|
75
|
+
isAvailable,
|
|
76
|
+
speech2textIsAvailable,
|
|
77
|
+
speech2textIsActive,
|
|
78
|
+
text2speechIsActive,
|
|
79
|
+
toggleSpeech2Text,
|
|
80
|
+
toggleText2Speech,
|
|
81
|
+
toogleSettings,
|
|
82
|
+
openPositionAdaptText,
|
|
83
|
+
handleCantooAdaptTextPosition
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
export {
|
|
87
|
+
useCantooEditor
|
|
88
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
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;
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
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;
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
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;
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
};
|
|
@@ -20,6 +20,7 @@ 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';
|
|
23
24
|
export { default as IconCenter } from './IconCenter';
|
|
24
25
|
export { default as IconCheck } from './IconCheck';
|
|
25
26
|
export { default as IconChecklist } from './IconChecklist';
|
|
@@ -70,6 +71,7 @@ export { default as IconLock } from './IconLock';
|
|
|
70
71
|
export { default as IconMail } from './IconMail';
|
|
71
72
|
export { default as IconMergeCells } from './IconMergeCells';
|
|
72
73
|
export { default as IconMessageInfo } from './IconMessageInfo';
|
|
74
|
+
export { default as IconMicOff } from './IconMicOff';
|
|
73
75
|
export { default as IconMic } from './IconMic';
|
|
74
76
|
export { default as IconMinus } from './IconMinus';
|
|
75
77
|
export { default as IconMove } from './IconMove';
|
|
@@ -129,6 +131,7 @@ export { default as IconTextHighlight } from './IconTextHighlight';
|
|
|
129
131
|
export { default as IconTextItalic } from './IconTextItalic';
|
|
130
132
|
export { default as IconTextPage } from './IconTextPage';
|
|
131
133
|
export { default as IconTextSize } from './IconTextSize';
|
|
134
|
+
export { default as IconTextToSpeechOff } from './IconTextToSpeechOff';
|
|
132
135
|
export { default as IconTextToSpeech } from './IconTextToSpeech';
|
|
133
136
|
export { default as IconTextTypo } from './IconTextTypo';
|
|
134
137
|
export { default as IconTextUnderline } from './IconTextUnderline';
|
|
@@ -80,16 +80,15 @@ const InternalLinker = ({
|
|
|
80
80
|
setOptions(applicationList.sort((app1, app2) => app1.displayName.localeCompare(app2.displayName)));
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
|
-
const appPromises = resourceApplications.map((application) => odeServices.session().getWebApp(application)), webApps = await Promise.all(appPromises)
|
|
83
|
+
const appPromises = resourceApplications.map((application) => odeServices.session().getWebApp(application)), webApps = await Promise.all(appPromises);
|
|
84
|
+
setOptions(resourceApplications.map((application, index) => {
|
|
84
85
|
var _a;
|
|
85
|
-
|
|
86
|
-
return application === "exercizer" ? displayName = "bbm.linker.int.app.exercizer" : application === "formulaire" && (displayName = "bbm.linker.int.app.forms"), {
|
|
86
|
+
return {
|
|
87
87
|
application,
|
|
88
|
-
displayName: t(displayName ?? application),
|
|
88
|
+
displayName: t(((_a = webApps[index]) == null ? void 0 : _a.displayName) ?? application),
|
|
89
89
|
icon: /* @__PURE__ */ jsx(AppIcon, { app: webApps[index], size: "24" })
|
|
90
90
|
};
|
|
91
|
-
}).sort((
|
|
92
|
-
setOptions(opts);
|
|
91
|
+
}).sort((app1, app2) => app1.displayName.localeCompare(app2.displayName)));
|
|
93
92
|
})();
|
|
94
93
|
}, [resourceApplications, t, applicationList]), useEffect(() => {
|
|
95
94
|
loadAndDisplayResources(debounceSearch);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edifice.io/react",
|
|
3
|
-
"version": "2.2.5-develop-
|
|
3
|
+
"version": "2.2.5-develop-integration.20250513201200",
|
|
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.5-develop-
|
|
122
|
-
"@edifice.io/tiptap-extensions": "2.2.5-develop-
|
|
123
|
-
"@edifice.io/utilities": "2.2.5-develop-
|
|
121
|
+
"@edifice.io/bootstrap": "2.2.5-develop-integration.20250513201200",
|
|
122
|
+
"@edifice.io/tiptap-extensions": "2.2.5-develop-integration.20250513201200",
|
|
123
|
+
"@edifice.io/utilities": "2.2.5-develop-integration.20250513201200"
|
|
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.5-develop-
|
|
155
|
-
"@edifice.io/config": "2.2.5-develop-
|
|
154
|
+
"@edifice.io/client": "2.2.5-develop-integration.20250513201200",
|
|
155
|
+
"@edifice.io/config": "2.2.5-develop-integration.20250513201200"
|
|
156
156
|
},
|
|
157
157
|
"peerDependencies": {
|
|
158
158
|
"@react-spring/web": "^9.7.5",
|