@pie-lib/editable-html-tip-tap 0.1.0
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/CharacterPicker.d.ts +31 -0
- package/dist/components/CharacterPicker.d.ts.map +1 -0
- package/dist/components/CharacterPicker.js +129 -0
- package/dist/components/EditableHtml.d.ts +11 -0
- package/dist/components/EditableHtml.d.ts.map +1 -0
- package/dist/components/EditableHtml.js +270 -0
- package/dist/components/MenuBar.d.ts +11 -0
- package/dist/components/MenuBar.d.ts.map +1 -0
- package/dist/components/MenuBar.js +460 -0
- package/dist/components/TiptapContainer.d.ts +11 -0
- package/dist/components/TiptapContainer.d.ts.map +1 -0
- package/dist/components/TiptapContainer.js +157 -0
- package/dist/components/characters/characterUtils.d.ts +36 -0
- package/dist/components/characters/characterUtils.d.ts.map +1 -0
- package/dist/components/characters/characterUtils.js +465 -0
- package/dist/components/characters/custom-popper.d.ts +14 -0
- package/dist/components/characters/custom-popper.d.ts.map +1 -0
- package/dist/components/characters/custom-popper.js +32 -0
- package/dist/components/common/done-button.d.ts +30 -0
- package/dist/components/common/done-button.d.ts.map +1 -0
- package/dist/components/common/done-button.js +26 -0
- package/dist/components/common/toolbar-buttons.d.ts +39 -0
- package/dist/components/common/toolbar-buttons.d.ts.map +1 -0
- package/dist/components/common/toolbar-buttons.js +91 -0
- package/dist/components/icons/CssIcon.d.ts +11 -0
- package/dist/components/icons/CssIcon.d.ts.map +1 -0
- package/dist/components/icons/CssIcon.js +14 -0
- package/dist/components/icons/RespArea.d.ts +26 -0
- package/dist/components/icons/RespArea.d.ts.map +1 -0
- package/dist/components/icons/RespArea.js +42 -0
- package/dist/components/icons/TableIcons.d.ts +14 -0
- package/dist/components/icons/TableIcons.d.ts.map +1 -0
- package/dist/components/icons/TableIcons.js +32 -0
- package/dist/components/icons/TextAlign.d.ts +18 -0
- package/dist/components/icons/TextAlign.d.ts.map +1 -0
- package/dist/components/icons/TextAlign.js +134 -0
- package/dist/components/image/AltDialog.d.ts +23 -0
- package/dist/components/image/AltDialog.d.ts.map +1 -0
- package/dist/components/image/AltDialog.js +61 -0
- package/dist/components/image/ImageToolbar.d.ts +25 -0
- package/dist/components/image/ImageToolbar.d.ts.map +1 -0
- package/dist/components/image/ImageToolbar.js +80 -0
- package/dist/components/image/InsertImageHandler.d.ts +33 -0
- package/dist/components/image/InsertImageHandler.d.ts.map +1 -0
- package/dist/components/image/InsertImageHandler.js +55 -0
- package/dist/components/media/MediaDialog.d.ts +44 -0
- package/dist/components/media/MediaDialog.d.ts.map +1 -0
- package/dist/components/media/MediaDialog.js +389 -0
- package/dist/components/media/MediaToolbar.d.ts +20 -0
- package/dist/components/media/MediaToolbar.d.ts.map +1 -0
- package/dist/components/media/MediaToolbar.js +41 -0
- package/dist/components/media/MediaWrapper.d.ts +20 -0
- package/dist/components/media/MediaWrapper.d.ts.map +1 -0
- package/dist/components/respArea/DragInTheBlank/DragInTheBlank.d.ts +23 -0
- package/dist/components/respArea/DragInTheBlank/DragInTheBlank.d.ts.map +1 -0
- package/dist/components/respArea/DragInTheBlank/DragInTheBlank.js +58 -0
- package/dist/components/respArea/DragInTheBlank/choice.d.ts +56 -0
- package/dist/components/respArea/DragInTheBlank/choice.d.ts.map +1 -0
- package/dist/components/respArea/DragInTheBlank/choice.js +156 -0
- package/dist/components/respArea/ExplicitConstructedResponse.d.ts +20 -0
- package/dist/components/respArea/ExplicitConstructedResponse.d.ts.map +1 -0
- package/dist/components/respArea/ExplicitConstructedResponse.js +67 -0
- package/dist/components/respArea/InlineDropdown.d.ts +18 -0
- package/dist/components/respArea/InlineDropdown.d.ts.map +1 -0
- package/dist/components/respArea/InlineDropdown.js +91 -0
- package/dist/components/respArea/MathTemplated.d.ts +19 -0
- package/dist/components/respArea/MathTemplated.d.ts.map +1 -0
- package/dist/components/respArea/MathTemplated.js +97 -0
- package/dist/components/respArea/ToolbarIcon.d.ts +14 -0
- package/dist/components/respArea/ToolbarIcon.d.ts.map +1 -0
- package/dist/components/respArea/ToolbarIcon.js +17 -0
- package/dist/constants.d.ts +14 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +4 -0
- package/dist/extensions/css.d.ts +12 -0
- package/dist/extensions/css.d.ts.map +1 -0
- package/dist/extensions/css.js +115 -0
- package/dist/extensions/custom-toolbar-wrapper.d.ts +11 -0
- package/dist/extensions/custom-toolbar-wrapper.d.ts.map +1 -0
- package/dist/extensions/custom-toolbar-wrapper.js +58 -0
- package/dist/extensions/div-node.d.ts +11 -0
- package/dist/extensions/div-node.d.ts.map +1 -0
- package/dist/extensions/div-node.js +25 -0
- package/dist/extensions/extended-table.d.ts +11 -0
- package/dist/extensions/extended-table.d.ts.map +1 -0
- package/dist/extensions/extended-table.js +15 -0
- package/dist/extensions/image-component.d.ts +22 -0
- package/dist/extensions/image-component.d.ts.map +1 -0
- package/dist/extensions/image-component.js +200 -0
- package/dist/extensions/image.d.ts +11 -0
- package/dist/extensions/image.d.ts.map +1 -0
- package/dist/extensions/image.js +42 -0
- package/dist/extensions/index.d.ts +17 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +65 -0
- package/dist/extensions/math.d.ts +15 -0
- package/dist/extensions/math.d.ts.map +1 -0
- package/dist/extensions/math.js +150 -0
- package/dist/extensions/media.d.ts +19 -0
- package/dist/extensions/media.d.ts.map +1 -0
- package/dist/extensions/media.js +147 -0
- package/dist/extensions/responseArea.d.ts +28 -0
- package/dist/extensions/responseArea.d.ts.map +1 -0
- package/dist/extensions/responseArea.js +259 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/styles/editorContainerStyles.d.ts +135 -0
- package/dist/styles/editorContainerStyles.d.ts.map +1 -0
- package/dist/theme.d.ts +10 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/utils/helper.d.ts +10 -0
- package/dist/utils/helper.d.ts.map +1 -0
- package/dist/utils/helper.js +7 -0
- package/dist/utils/size.d.ts +10 -0
- package/dist/utils/size.d.ts.map +1 -0
- package/dist/utils/size.js +14 -0
- package/package.json +71 -0
- package/src/components/CharacterPicker.tsx +210 -0
- package/src/components/EditableHtml.tsx +416 -0
- package/src/components/MenuBar.tsx +558 -0
- package/src/components/TiptapContainer.tsx +228 -0
- package/src/components/characters/characterUtils.ts +457 -0
- package/src/components/characters/custom-popper.tsx +48 -0
- package/src/components/common/done-button.tsx +37 -0
- package/src/components/common/toolbar-buttons.tsx +132 -0
- package/src/components/icons/CssIcon.tsx +25 -0
- package/src/components/icons/RespArea.tsx +81 -0
- package/src/components/icons/TableIcons.tsx +62 -0
- package/src/components/icons/TextAlign.tsx +124 -0
- package/src/components/image/AltDialog.tsx +92 -0
- package/src/components/image/ImageToolbar.tsx +109 -0
- package/src/components/image/InsertImageHandler.ts +121 -0
- package/src/components/media/MediaDialog.tsx +606 -0
- package/src/components/media/MediaToolbar.tsx +59 -0
- package/src/components/media/MediaWrapper.tsx +49 -0
- package/src/components/respArea/DragInTheBlank/DragInTheBlank.tsx +86 -0
- package/src/components/respArea/DragInTheBlank/choice.tsx +266 -0
- package/src/components/respArea/ExplicitConstructedResponse.tsx +122 -0
- package/src/components/respArea/InlineDropdown.tsx +152 -0
- package/src/components/respArea/MathTemplated.tsx +134 -0
- package/src/components/respArea/ToolbarIcon.tsx +76 -0
- package/src/constants.ts +15 -0
- package/src/extensions/css.tsx +230 -0
- package/src/extensions/custom-toolbar-wrapper.tsx +88 -0
- package/src/extensions/div-node.tsx +46 -0
- package/src/extensions/extended-table.ts +34 -0
- package/src/extensions/image-component.tsx +303 -0
- package/src/extensions/image.tsx +64 -0
- package/src/extensions/index.tsx +91 -0
- package/src/extensions/math.tsx +285 -0
- package/src/extensions/media.tsx +198 -0
- package/src/extensions/responseArea.tsx +404 -0
- package/src/index.tsx +15 -0
- package/src/styles/editorContainerStyles.ts +155 -0
- package/src/theme.ts +11 -0
- package/src/utils/helper.tsx +27 -0
- package/src/utils/size.ts +42 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* @synced-from pie-lib/packages/editable-html-tip-tap/src/components/TiptapContainer.jsx
|
|
4
|
+
* @auto-generated
|
|
5
|
+
*
|
|
6
|
+
* This file is automatically synced from pie-elements and converted to TypeScript.
|
|
7
|
+
* Manual edits will be overwritten on next sync.
|
|
8
|
+
* To make changes, edit the upstream JavaScript file and run sync again.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import React, { useEffect, useMemo, useState, useRef } from 'react';
|
|
12
|
+
import { styled } from '@mui/material/styles';
|
|
13
|
+
import { color } from '@pie-lib/render-ui';
|
|
14
|
+
import { valueToSize } from '../utils/size.js';
|
|
15
|
+
|
|
16
|
+
import StyledMenuBar from './MenuBar.js';
|
|
17
|
+
|
|
18
|
+
const StyledRoot: any = styled('div', {
|
|
19
|
+
shouldForwardProp: (prop) => !['noBorder', 'error'].includes(prop),
|
|
20
|
+
})(({ theme, noBorder, error }) => ({
|
|
21
|
+
position: 'relative',
|
|
22
|
+
padding: '0px',
|
|
23
|
+
border: noBorder ? 'none' : '1px solid #ccc',
|
|
24
|
+
borderRadius: '4px',
|
|
25
|
+
cursor: 'text',
|
|
26
|
+
'& [data-slate-editor="true"]': {
|
|
27
|
+
wordBreak: 'break-word',
|
|
28
|
+
overflow: 'visible',
|
|
29
|
+
maxHeight: '500px',
|
|
30
|
+
padding: '5px',
|
|
31
|
+
},
|
|
32
|
+
'&:first-child': {
|
|
33
|
+
marginTop: 0,
|
|
34
|
+
},
|
|
35
|
+
'& ul, & ol': {
|
|
36
|
+
padding: '0 1rem',
|
|
37
|
+
margin: '1.25rem 1rem 1.25rem 0.4rem',
|
|
38
|
+
},
|
|
39
|
+
'& ul li p, & ol li p': {
|
|
40
|
+
marginTop: '0.25em',
|
|
41
|
+
marginBottom: '0.25em',
|
|
42
|
+
},
|
|
43
|
+
'& h1, & h2, & h3, & h4, & h5, & h6': {
|
|
44
|
+
lineHeight: 1.1,
|
|
45
|
+
marginTop: '2.5rem',
|
|
46
|
+
textWrap: 'pretty',
|
|
47
|
+
},
|
|
48
|
+
'& h1, & h2': {
|
|
49
|
+
marginTop: '3.5rem',
|
|
50
|
+
marginBottom: '1.5rem',
|
|
51
|
+
},
|
|
52
|
+
'& h1': {
|
|
53
|
+
fontSize: '1.4rem',
|
|
54
|
+
},
|
|
55
|
+
'& h2': {
|
|
56
|
+
fontSize: '1.2rem',
|
|
57
|
+
},
|
|
58
|
+
'& h3': {
|
|
59
|
+
fontSize: '1.1rem',
|
|
60
|
+
},
|
|
61
|
+
'& h4, & h5, & h6': {
|
|
62
|
+
fontSize: '1rem',
|
|
63
|
+
},
|
|
64
|
+
'& code': {
|
|
65
|
+
backgroundColor: 'var(--purple-light)',
|
|
66
|
+
borderRadius: '0.4rem',
|
|
67
|
+
color: 'var(--black)',
|
|
68
|
+
fontSize: '0.85rem',
|
|
69
|
+
padding: '0.25em 0.3em',
|
|
70
|
+
},
|
|
71
|
+
'& pre': {
|
|
72
|
+
background: 'var(--black)',
|
|
73
|
+
borderRadius: '0.5rem',
|
|
74
|
+
color: 'var(--white)',
|
|
75
|
+
fontFamily: '\'JetBrainsMono\', monospace',
|
|
76
|
+
margin: '1.5rem 0',
|
|
77
|
+
padding: '0.75rem 1rem',
|
|
78
|
+
'& code': {
|
|
79
|
+
background: 'none',
|
|
80
|
+
color: 'inherit',
|
|
81
|
+
fontSize: '0.8rem',
|
|
82
|
+
padding: 0,
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
'& blockquote': {
|
|
86
|
+
background: '#f9f9f9',
|
|
87
|
+
borderLeft: '5px solid #ccc',
|
|
88
|
+
margin: '1.5em 10px',
|
|
89
|
+
padding: '.5em 10px',
|
|
90
|
+
},
|
|
91
|
+
'& hr': {
|
|
92
|
+
border: 'none',
|
|
93
|
+
borderTop: '1px solid var(--gray-2)',
|
|
94
|
+
margin: '2rem 0',
|
|
95
|
+
},
|
|
96
|
+
'& p': {
|
|
97
|
+
margin: '0',
|
|
98
|
+
},
|
|
99
|
+
'& table': {
|
|
100
|
+
tableLayout: 'fixed',
|
|
101
|
+
width: '100%',
|
|
102
|
+
borderCollapse: 'collapse',
|
|
103
|
+
color: color.text(),
|
|
104
|
+
backgroundColor: color.background(),
|
|
105
|
+
},
|
|
106
|
+
'& table:not([border="1"]) tr': {
|
|
107
|
+
borderTop: '1px solid #dfe2e5',
|
|
108
|
+
},
|
|
109
|
+
'& td, th': {
|
|
110
|
+
padding: '.6em 1em',
|
|
111
|
+
textAlign: 'center',
|
|
112
|
+
},
|
|
113
|
+
'& table:not([border="1"]) td, th': {
|
|
114
|
+
border: '1px solid #dfe2e5',
|
|
115
|
+
},
|
|
116
|
+
...(error && {
|
|
117
|
+
border: `2px solid ${theme.palette.error.main} !important`,
|
|
118
|
+
}),
|
|
119
|
+
}));
|
|
120
|
+
|
|
121
|
+
const StyledEditorHolder: any = styled('div', {
|
|
122
|
+
shouldForwardProp: (prop) => !['disableScrollbar', 'highlightShape'].includes(prop),
|
|
123
|
+
})(({ theme, disableScrollbar, highlightShape }) => ({
|
|
124
|
+
position: 'relative',
|
|
125
|
+
padding: '0px',
|
|
126
|
+
overflowY: 'auto',
|
|
127
|
+
color: color.text(),
|
|
128
|
+
backgroundColor: highlightShape ? theme.palette.action.selected : color.background(),
|
|
129
|
+
...(disableScrollbar && {
|
|
130
|
+
'&::-webkit-scrollbar': {
|
|
131
|
+
display: 'none',
|
|
132
|
+
},
|
|
133
|
+
scrollbarWidth: 'none',
|
|
134
|
+
'-ms-overflow-style': 'none',
|
|
135
|
+
}),
|
|
136
|
+
}));
|
|
137
|
+
|
|
138
|
+
const StyledChildren: any = styled('div', {
|
|
139
|
+
shouldForwardProp: (prop) => prop !== 'noPadding',
|
|
140
|
+
})(({ noPadding }) => ({
|
|
141
|
+
padding: noPadding ? 0 : '10px 8px',
|
|
142
|
+
}));
|
|
143
|
+
|
|
144
|
+
function TiptapContainer(props) {
|
|
145
|
+
const [adjustedWidth, setAdjustedWidth] = useState(null);
|
|
146
|
+
const rootRef = useRef(null);
|
|
147
|
+
const {
|
|
148
|
+
editor,
|
|
149
|
+
disabled,
|
|
150
|
+
children,
|
|
151
|
+
disableScrollbar,
|
|
152
|
+
activePlugins,
|
|
153
|
+
toolbarOpts,
|
|
154
|
+
responseAreaProps,
|
|
155
|
+
autoFocus,
|
|
156
|
+
minWidth,
|
|
157
|
+
width,
|
|
158
|
+
maxWidth,
|
|
159
|
+
minHeight,
|
|
160
|
+
height,
|
|
161
|
+
maxHeight,
|
|
162
|
+
highlightShape,
|
|
163
|
+
ref,
|
|
164
|
+
} = props;
|
|
165
|
+
|
|
166
|
+
useEffect(() => {
|
|
167
|
+
if (editor && autoFocus) {
|
|
168
|
+
Promise.resolve().then(() => {
|
|
169
|
+
editor.commands.focus('end');
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}, [editor, autoFocus]);
|
|
173
|
+
|
|
174
|
+
useEffect(() => {
|
|
175
|
+
if (props.adjustWidthForLimit) {
|
|
176
|
+
const el = document.createElement('p');
|
|
177
|
+
|
|
178
|
+
el.style.visibility = 'hidden';
|
|
179
|
+
el.style.position = 'absolute';
|
|
180
|
+
el.textContent = 'W'.repeat(props.charactersLimit);
|
|
181
|
+
|
|
182
|
+
rootRef.current.appendChild(el);
|
|
183
|
+
|
|
184
|
+
setAdjustedWidth(`${el.offsetWidth + 27}px`);
|
|
185
|
+
|
|
186
|
+
el.remove();
|
|
187
|
+
}
|
|
188
|
+
}, [props.adjustWidthForLimit, props.charactersLimit]);
|
|
189
|
+
|
|
190
|
+
const sizeStyle = useMemo(
|
|
191
|
+
() => ({
|
|
192
|
+
width: valueToSize(adjustedWidth || width),
|
|
193
|
+
minWidth: valueToSize(minWidth),
|
|
194
|
+
maxWidth: valueToSize(maxWidth),
|
|
195
|
+
height: valueToSize(height),
|
|
196
|
+
minHeight: valueToSize(minHeight),
|
|
197
|
+
maxHeight: valueToSize(maxHeight),
|
|
198
|
+
}),
|
|
199
|
+
[adjustedWidth, minWidth, width, maxWidth, minHeight, height, maxHeight],
|
|
200
|
+
);
|
|
201
|
+
|
|
202
|
+
return (
|
|
203
|
+
<StyledRoot
|
|
204
|
+
noBorder={toolbarOpts && toolbarOpts.noBorder}
|
|
205
|
+
error={toolbarOpts && toolbarOpts.error}
|
|
206
|
+
className={props.className}
|
|
207
|
+
style={{ width: sizeStyle.width, minWidth: sizeStyle.minWidth, maxWidth: sizeStyle.maxWidth }}
|
|
208
|
+
ref={rootRef}
|
|
209
|
+
>
|
|
210
|
+
<StyledEditorHolder disableScrollbar={disableScrollbar} highlightShape={highlightShape}>
|
|
211
|
+
<StyledChildren noPadding={toolbarOpts && toolbarOpts.noPadding}>{children}</StyledChildren>
|
|
212
|
+
</StyledEditorHolder>
|
|
213
|
+
|
|
214
|
+
{editor && (
|
|
215
|
+
<StyledMenuBar
|
|
216
|
+
editor={editor}
|
|
217
|
+
responseAreaProps={responseAreaProps}
|
|
218
|
+
toolbarOpts={toolbarOpts}
|
|
219
|
+
activePlugins={activePlugins}
|
|
220
|
+
onChange={props.onChange}
|
|
221
|
+
autoWidthToolbar={props.autoWidthToolbar}
|
|
222
|
+
/>
|
|
223
|
+
)}
|
|
224
|
+
</StyledRoot>
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
export default TiptapContainer;
|
|
@@ -0,0 +1,457 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* @synced-from pie-lib/packages/editable-html-tip-tap/src/components/characters/characterUtils.js
|
|
4
|
+
* @auto-generated
|
|
5
|
+
*
|
|
6
|
+
* This file is automatically synced from pie-elements and converted to TypeScript.
|
|
7
|
+
* Manual edits will be overwritten on next sync.
|
|
8
|
+
* To make changes, edit the upstream JavaScript file and run sync again.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export const spanishConfig = {
|
|
12
|
+
characters: [
|
|
13
|
+
['á', 'é', 'í', 'ó', 'ú'],
|
|
14
|
+
['Á', 'É', 'Í', 'Ó', 'Ú'],
|
|
15
|
+
['—', '«', '»', 'ñ', 'ü'],
|
|
16
|
+
['-', '¿', '¡', 'Ñ', 'Ü'],
|
|
17
|
+
],
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const specialConfig = {
|
|
21
|
+
hasPreview: true,
|
|
22
|
+
characters: [
|
|
23
|
+
[
|
|
24
|
+
{
|
|
25
|
+
unicode: 'U+00A2',
|
|
26
|
+
description: 'CENT SIGN',
|
|
27
|
+
write: '¢',
|
|
28
|
+
label: '¢',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
unicode: 'U+00BF',
|
|
32
|
+
description: 'INVERTED QUESTION MARK',
|
|
33
|
+
write: '¿',
|
|
34
|
+
label: '¿',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
unicode: 'U+00B4',
|
|
38
|
+
description: 'ACUTE ACCENT',
|
|
39
|
+
write: '´',
|
|
40
|
+
label: '´',
|
|
41
|
+
extraProps: { style: { gridRow: 'span 2' } },
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
unicode: 'U+00E1',
|
|
45
|
+
description: 'LATIN SMALL LETTER A WITH ACUTE',
|
|
46
|
+
write: 'á',
|
|
47
|
+
label: 'á',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
unicode: 'U+00E9',
|
|
51
|
+
description: 'LATIN SMALL LETTER E WITH ACUTE',
|
|
52
|
+
write: 'é',
|
|
53
|
+
label: 'é',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
unicode: 'U+00ED',
|
|
57
|
+
description: 'LATIN SMALL LETTER I WITH ACUTE',
|
|
58
|
+
write: 'í',
|
|
59
|
+
label: 'í',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
unicode: 'U+00F3',
|
|
63
|
+
description: 'LATIN SMALL LETTER O WITH ACUTE',
|
|
64
|
+
write: 'ó',
|
|
65
|
+
label: 'ó',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
unicode: 'U+00FA',
|
|
69
|
+
description: 'LATIN SMALL LETTER U WITH ACUTE',
|
|
70
|
+
write: 'ú',
|
|
71
|
+
label: 'ú',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
unicode: 'U+00F1',
|
|
75
|
+
description: 'LATIN SMALL LETTER N WITH TILDE',
|
|
76
|
+
write: 'ñ',
|
|
77
|
+
label: 'ñ',
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
[
|
|
81
|
+
{
|
|
82
|
+
unicode: 'U+20AC',
|
|
83
|
+
description: 'EURO SIGN',
|
|
84
|
+
write: '€',
|
|
85
|
+
label: '€',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
unicode: 'U+00A1',
|
|
89
|
+
description: 'INVERTED EXCLAMATION MARK',
|
|
90
|
+
write: '¡',
|
|
91
|
+
label: '¡',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
unicode: 'U+00C1',
|
|
95
|
+
description: 'LATIN CAPITAL LETTER A WITH ACUTE',
|
|
96
|
+
write: 'Á',
|
|
97
|
+
label: 'Á',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
unicode: 'U+00C9',
|
|
101
|
+
description: 'LATIN CAPITAL LETTER E WITH ACUTE',
|
|
102
|
+
write: 'É',
|
|
103
|
+
label: 'É',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
unicode: 'U+00CD',
|
|
107
|
+
description: 'LATIN CAPITAL LETTER I WITH ACUTE',
|
|
108
|
+
write: 'Í',
|
|
109
|
+
label: 'Í',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
unicode: 'U+00D3',
|
|
113
|
+
description: 'LATIN CAPITAL LETTER O WITH ACUTE',
|
|
114
|
+
write: 'Ó',
|
|
115
|
+
label: 'Ó',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
unicode: 'U+00DA',
|
|
119
|
+
description: 'LATIN CAPITAL LETTER U WITH ACUTE',
|
|
120
|
+
write: 'Ú',
|
|
121
|
+
label: 'Ú',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
unicode: 'U+00D1',
|
|
125
|
+
description: 'LATIN CAPITAL LETTER N WITH TILDE',
|
|
126
|
+
write: 'Ñ',
|
|
127
|
+
label: 'Ñ',
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
[
|
|
131
|
+
{
|
|
132
|
+
unicode: 'U+00A3',
|
|
133
|
+
description: 'POUND SIGN',
|
|
134
|
+
write: '£',
|
|
135
|
+
label: '£',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
unicode: 'U+00AB',
|
|
139
|
+
description: 'LEFT-POINTING DOUBLE ANGLE QUOTATION MARK',
|
|
140
|
+
write: '«',
|
|
141
|
+
label: '«',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
unicode: 'U+005E',
|
|
145
|
+
description: 'CIRCUMFLEX ACCENT',
|
|
146
|
+
write: '^',
|
|
147
|
+
label: '^',
|
|
148
|
+
extraProps: { style: { gridRow: 'span 2' } },
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
unicode: 'U+00E2',
|
|
152
|
+
description: 'LATIN SMALL LETTER A WITH CIRCUMFLEX',
|
|
153
|
+
write: 'â',
|
|
154
|
+
label: 'â',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
unicode: 'U+00EA',
|
|
158
|
+
description: 'LATIN SMALL LETTER E WITH CIRCUMFLEX',
|
|
159
|
+
write: 'ê',
|
|
160
|
+
label: 'ê',
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
unicode: 'U+00EE',
|
|
164
|
+
description: 'LATIN SMALL LETTER I WITH CIRCUMFLEX',
|
|
165
|
+
write: 'î',
|
|
166
|
+
label: 'î',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
unicode: 'U+00F4',
|
|
170
|
+
description: 'LATIN SMALL LETTER O WITH CIRCUMFLEX',
|
|
171
|
+
write: 'ô',
|
|
172
|
+
label: 'ô',
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
unicode: 'U+00FB',
|
|
176
|
+
description: 'LATIN SMALL LETTER U WITH CIRCUMFLEX',
|
|
177
|
+
write: 'û',
|
|
178
|
+
label: 'û',
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
unicode: 'U+00E7',
|
|
182
|
+
description: 'LATIN SMALL LETTER C WITH CEDILLA',
|
|
183
|
+
write: 'ç',
|
|
184
|
+
label: 'ç',
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
[
|
|
188
|
+
{
|
|
189
|
+
unicode: 'U+00A5',
|
|
190
|
+
description: 'YEN SIGN',
|
|
191
|
+
write: '¥',
|
|
192
|
+
label: '¥',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
unicode: 'U+00BB',
|
|
196
|
+
description: 'RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK',
|
|
197
|
+
write: '»',
|
|
198
|
+
label: '»',
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
unicode: 'U+00C2',
|
|
202
|
+
description: 'LATIN CAPITAL LETTER A WITH CIRCUMFLEX',
|
|
203
|
+
write: 'Â',
|
|
204
|
+
label: 'Â',
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
unicode: 'U+00CA',
|
|
208
|
+
description: 'LATIN CAPITAL LETTER E WITH CIRCUMFLEX',
|
|
209
|
+
write: 'Ê',
|
|
210
|
+
label: 'Ê',
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
unicode: 'U+00CE',
|
|
214
|
+
description: 'LATIN CAPITAL LETTER I WITH CIRCUMFLEX',
|
|
215
|
+
write: 'Î',
|
|
216
|
+
label: 'Î',
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
unicode: 'U+00D4',
|
|
220
|
+
description: 'LATIN CAPITAL LETTER O WITH CIRCUMFLEX',
|
|
221
|
+
write: 'Ô',
|
|
222
|
+
label: 'Ô',
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
unicode: 'U+00DB',
|
|
226
|
+
description: 'LATIN CAPITAL LETTER U WITH CIRCUMFLEX',
|
|
227
|
+
write: 'Û',
|
|
228
|
+
label: 'Û',
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
unicode: 'U+00C7',
|
|
232
|
+
description: 'LATIN CAPITAL LETTER C WITH CEDILLA',
|
|
233
|
+
write: 'Ç',
|
|
234
|
+
label: 'Ç',
|
|
235
|
+
},
|
|
236
|
+
],
|
|
237
|
+
[
|
|
238
|
+
{
|
|
239
|
+
unicode: 'U+200A',
|
|
240
|
+
description: 'HAIR SPACE',
|
|
241
|
+
write: String.fromCodePoint('0x200A'),
|
|
242
|
+
label: ' ',
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
unicode: 'U+00A7',
|
|
246
|
+
description: 'SECTION SIGN',
|
|
247
|
+
write: '§',
|
|
248
|
+
label: '§',
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
unicode: 'U+00A8',
|
|
252
|
+
description: 'DIAERESIS',
|
|
253
|
+
write: '¨',
|
|
254
|
+
label: '¨',
|
|
255
|
+
extraProps: { style: { gridRow: 'span 2' } },
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
unicode: 'U+00E4',
|
|
259
|
+
description: 'LATIN SMALL LETTER A WITH DIAERESIS',
|
|
260
|
+
write: 'ä',
|
|
261
|
+
label: 'ä',
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
unicode: 'U+00EB',
|
|
265
|
+
description: 'LATIN SMALL LETTER E WITH DIAERESIS',
|
|
266
|
+
write: 'ë',
|
|
267
|
+
label: 'ë',
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
unicode: 'U+00EF',
|
|
271
|
+
description: 'LATIN SMALL LETTER I WITH DIAERESIS',
|
|
272
|
+
write: 'ï',
|
|
273
|
+
label: 'ï',
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
unicode: 'U+00F6',
|
|
277
|
+
description: 'LATIN SMALL LETTER O WITH DIAERESIS',
|
|
278
|
+
write: 'ö',
|
|
279
|
+
label: 'ö',
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
unicode: 'U+00FC',
|
|
283
|
+
description: 'LATIN SMALL LETTER U WITH DIAERESIS',
|
|
284
|
+
write: 'ü',
|
|
285
|
+
label: 'ü',
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
unicode: 'U+00DF',
|
|
289
|
+
description: 'LATIN SMALL LETTER SHARP S',
|
|
290
|
+
write: 'ß',
|
|
291
|
+
label: 'ß',
|
|
292
|
+
},
|
|
293
|
+
],
|
|
294
|
+
[
|
|
295
|
+
{
|
|
296
|
+
unicode: 'U+2009',
|
|
297
|
+
description: 'THIN SPACE',
|
|
298
|
+
write: String.fromCodePoint('0x2009'),
|
|
299
|
+
label: ' ',
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
unicode: 'U+2026',
|
|
303
|
+
description: 'HORIZONTAL ELLIPSIS',
|
|
304
|
+
write: '…',
|
|
305
|
+
label: '…',
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
unicode: 'U+00C4',
|
|
309
|
+
description: 'LATIN CAPITAL LETTER A WITH DIAERESIS',
|
|
310
|
+
write: 'Ä',
|
|
311
|
+
label: 'Ä',
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
unicode: 'U+00CB',
|
|
315
|
+
description: 'LATIN CAPITAL LETTER E WITH DIAERESIS',
|
|
316
|
+
write: 'Ë',
|
|
317
|
+
label: 'Ë',
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
unicode: 'U+00CF',
|
|
321
|
+
description: 'LATIN CAPITAL LETTER I WITH DIAERESIS',
|
|
322
|
+
write: 'Ï',
|
|
323
|
+
label: 'Ï',
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
unicode: 'U+00D6',
|
|
327
|
+
description: 'LATIN CAPITAL LETTER O WITH DIAERESIS',
|
|
328
|
+
write: 'Ö',
|
|
329
|
+
label: 'Ö',
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
unicode: 'U+00DC',
|
|
333
|
+
description: 'LATIN CAPITAL LETTER U WITH DIAERESIS',
|
|
334
|
+
write: 'Ü',
|
|
335
|
+
label: 'Ü',
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
unicode: 'U+2212',
|
|
339
|
+
description: 'MINUS SIGN',
|
|
340
|
+
write: '−',
|
|
341
|
+
label: '−',
|
|
342
|
+
},
|
|
343
|
+
],
|
|
344
|
+
[
|
|
345
|
+
{
|
|
346
|
+
unicode: 'U+00A0',
|
|
347
|
+
description: 'NO-BREAK SPACE',
|
|
348
|
+
write: String.fromCodePoint('0x00A0'),
|
|
349
|
+
label: ' ',
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
unicode: 'U+2022',
|
|
353
|
+
description: 'BULLET',
|
|
354
|
+
write: '•',
|
|
355
|
+
label: '•',
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
unicode: 'U+0060',
|
|
359
|
+
description: 'GRAVE ACCENT',
|
|
360
|
+
write: '`',
|
|
361
|
+
label: '`',
|
|
362
|
+
extraProps: { style: { gridRow: 'span 2' } },
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
unicode: 'U+00E0',
|
|
366
|
+
description: 'LATIN SMALL LETTER A WITH GRAVE',
|
|
367
|
+
write: 'à',
|
|
368
|
+
label: 'à',
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
unicode: 'U+00E8',
|
|
372
|
+
description: 'LATIN SMALL LETTER E WITH GRAVE',
|
|
373
|
+
write: 'è',
|
|
374
|
+
label: 'è',
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
unicode: 'U+00EC',
|
|
378
|
+
description: 'LATIN SMALL LETTER I WITH GRAVE',
|
|
379
|
+
write: 'ì',
|
|
380
|
+
label: 'ì',
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
unicode: 'U+00F2',
|
|
384
|
+
description: 'LATIN SMALL LETTER O WITH GRAVE',
|
|
385
|
+
write: 'ò',
|
|
386
|
+
label: 'ò',
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
unicode: 'U+00F9',
|
|
390
|
+
description: 'LATIN SMALL LETTER U WITH GRAVE',
|
|
391
|
+
write: 'ù',
|
|
392
|
+
label: 'ù',
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
unicode: 'U+2013',
|
|
396
|
+
description: 'EN DASH',
|
|
397
|
+
write: '–',
|
|
398
|
+
label: '–',
|
|
399
|
+
},
|
|
400
|
+
],
|
|
401
|
+
[
|
|
402
|
+
{
|
|
403
|
+
unicode: 'U+2003',
|
|
404
|
+
description: 'EM SPACE',
|
|
405
|
+
write: String.fromCodePoint('0x2003'),
|
|
406
|
+
label: ' ',
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
unicode: 'U+25E6',
|
|
410
|
+
description: 'WHITE BULLET',
|
|
411
|
+
write: '◦',
|
|
412
|
+
label: '◦',
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
unicode: 'U+00C0',
|
|
416
|
+
description: 'LATIN CAPITAL LETTER A WITH GRAVE',
|
|
417
|
+
write: 'À',
|
|
418
|
+
label: 'À',
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
unicode: 'U+00C8',
|
|
422
|
+
description: 'LATIN CAPITAL LETTER E WITH GRAVE',
|
|
423
|
+
write: 'È',
|
|
424
|
+
label: 'È',
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
unicode: 'U+00CC',
|
|
428
|
+
description: 'LATIN CAPITAL LETTER I WITH GRAVE',
|
|
429
|
+
write: 'Ì',
|
|
430
|
+
label: 'Ì',
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
unicode: 'U+00D2',
|
|
434
|
+
description: 'LATIN CAPITAL LETTER O WITH GRAVE',
|
|
435
|
+
write: 'Ò',
|
|
436
|
+
label: 'Ò',
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
unicode: 'U+00D9',
|
|
440
|
+
description: 'LATIN CAPITAL LETTER U WITH GRAVE',
|
|
441
|
+
write: 'Ù',
|
|
442
|
+
label: 'Ù',
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
unicode: 'U+2014',
|
|
446
|
+
description: 'EM DASH',
|
|
447
|
+
write: '—',
|
|
448
|
+
label: '—',
|
|
449
|
+
},
|
|
450
|
+
],
|
|
451
|
+
],
|
|
452
|
+
};
|
|
453
|
+
|
|
454
|
+
export const characterIcons = {
|
|
455
|
+
spanish: 'ñ',
|
|
456
|
+
special: '€',
|
|
457
|
+
};
|