@inshapardaz/likhari-react 0.1.6-dev.68 → 0.1.6
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/EditorRoot.d.ts +1 -25
- package/dist/EditorRoot.d.ts.map +1 -1
- package/dist/EditorRoot.js +5 -24
- package/dist/components/LinkDialog.d.ts.map +1 -1
- package/dist/components/LinkDialog.js +3 -7
- package/dist/components/Toolbar.d.ts +1 -4
- package/dist/components/Toolbar.d.ts.map +1 -1
- package/dist/components/Toolbar.js +31 -215
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/nodes.d.ts.map +1 -1
- package/dist/nodes.js +0 -2
- package/dist/theme/EditorThemeProvider.d.ts +1 -17
- package/dist/theme/EditorThemeProvider.d.ts.map +1 -1
- package/dist/theme/EditorThemeProvider.js +2 -24
- package/dist/theme/editor.css +0 -125
- package/dist/theme/editorTheme.d.ts.map +1 -1
- package/dist/theme/editorTheme.js +0 -1
- package/package.json +1 -2
- package/dist/PortalTargetContext.d.ts +0 -16
- package/dist/PortalTargetContext.d.ts.map +0 -1
- package/dist/PortalTargetContext.js +0 -18
- package/dist/i18n/index.d.ts +0 -4
- package/dist/i18n/index.d.ts.map +0 -1
- package/dist/i18n/index.js +0 -2
- package/dist/i18n/strings.d.ts +0 -158
- package/dist/i18n/strings.d.ts.map +0 -1
- package/dist/i18n/strings.js +0 -425
- package/dist/i18n/useStrings.d.ts +0 -10
- package/dist/i18n/useStrings.d.ts.map +0 -1
- package/dist/i18n/useStrings.js +0 -14
- package/dist/image/ImageComponent.d.ts +0 -23
- package/dist/image/ImageComponent.d.ts.map +0 -1
- package/dist/image/ImageComponent.js +0 -171
- package/dist/image/ImageCropDialog.d.ts +0 -22
- package/dist/image/ImageCropDialog.d.ts.map +0 -1
- package/dist/image/ImageCropDialog.js +0 -120
- package/dist/image/ImageCropper.d.ts +0 -15
- package/dist/image/ImageCropper.d.ts.map +0 -1
- package/dist/image/ImageCropper.js +0 -120
- package/dist/image/ImageDialog.d.ts +0 -37
- package/dist/image/ImageDialog.d.ts.map +0 -1
- package/dist/image/ImageDialog.js +0 -176
- package/dist/image/ImageNode.d.ts +0 -64
- package/dist/image/ImageNode.d.ts.map +0 -1
- package/dist/image/ImageNode.js +0 -133
- package/dist/image/ImageOptionsContext.d.ts +0 -24
- package/dist/image/ImageOptionsContext.d.ts.map +0 -1
- package/dist/image/ImageOptionsContext.js +0 -10
- package/dist/image/cropMath.d.ts +0 -35
- package/dist/image/cropMath.d.ts.map +0 -1
- package/dist/image/cropMath.js +0 -92
- package/dist/image/imageEdit.d.ts +0 -49
- package/dist/image/imageEdit.d.ts.map +0 -1
- package/dist/image/imageEdit.js +0 -132
- package/dist/image/imageUrl.d.ts +0 -14
- package/dist/image/imageUrl.d.ts.map +0 -1
- package/dist/image/imageUrl.js +0 -27
- package/dist/theme/accentColor.d.ts +0 -43
- package/dist/theme/accentColor.d.ts.map +0 -1
- package/dist/theme/accentColor.js +0 -84
|
@@ -4,23 +4,7 @@ import './editor.css';
|
|
|
4
4
|
export interface EditorThemeProviderProps {
|
|
5
5
|
theme?: MantineThemeOverride;
|
|
6
6
|
colorScheme?: 'light' | 'dark';
|
|
7
|
-
/** Overrides both Mantine's primary color and the `--editor-accent` /
|
|
8
|
-
* `--editor-accent-soft` CSS variables — see EditorRootProps.accentColor. */
|
|
9
|
-
accentColor?: string;
|
|
10
|
-
/**
|
|
11
|
-
* The id of the portal-anchor element EditorRoot renders inside
|
|
12
|
-
* `.likhari-root` (see PortalTargetContext.tsx). Scopes Mantine's OWN
|
|
13
|
-
* `data-mantine-color-scheme` attribute and CSS variables to that single
|
|
14
|
-
* element instead of the default `document.documentElement` — without
|
|
15
|
-
* this, Mantine's Modal/Menu/Select/Tooltip surfaces (background, text,
|
|
16
|
-
* border colors) would always render in Mantine's global light scheme
|
|
17
|
-
* regardless of `colorScheme`, since nothing ever told MantineProvider
|
|
18
|
-
* which scheme to use; forcing it at `document.documentElement` instead
|
|
19
|
-
* would work but would leak dark mode onto the rest of the host page and
|
|
20
|
-
* collide between multiple EditorRoot instances with different schemes.
|
|
21
|
-
*/
|
|
22
|
-
scopeElementId?: string;
|
|
23
7
|
children: React.ReactNode;
|
|
24
8
|
}
|
|
25
|
-
export declare function EditorThemeProvider({ theme, colorScheme,
|
|
9
|
+
export declare function EditorThemeProvider({ theme, colorScheme, children }: EditorThemeProviderProps): import("react").JSX.Element;
|
|
26
10
|
//# sourceMappingURL=EditorThemeProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/EditorThemeProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EditorThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/EditorThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,0BAA0B,CAAC;AAGlC,OAAO,cAAc,CAAC;AAsBtB,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,wBAAwB,+BAa7F"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo } from 'react';
|
|
3
2
|
import { MantineProvider } from '@mantine/core';
|
|
4
3
|
import '@mantine/core/styles.css';
|
|
5
4
|
import { buildThemeCss } from '@inshapardaz/likhari-core';
|
|
6
5
|
import { defaultMantineTheme } from './mantineTheme.js';
|
|
7
|
-
import { generateAccentCssVars, generateAccentShades } from './accentColor.js';
|
|
8
6
|
import './editor.css';
|
|
9
7
|
let cssInjected = false;
|
|
10
8
|
// Scopes the --editor-* variables to the wrapper div below, which is what
|
|
@@ -23,28 +21,8 @@ function useThemeCssInjection() {
|
|
|
23
21
|
cssInjected = true;
|
|
24
22
|
}
|
|
25
23
|
}
|
|
26
|
-
export function EditorThemeProvider({ theme, colorScheme,
|
|
24
|
+
export function EditorThemeProvider({ theme, colorScheme, children }) {
|
|
27
25
|
useThemeCssInjection();
|
|
28
|
-
// Mantine wants a 10-shade array; a host only supplies one color, so a
|
|
29
|
-
// small local helper (accentColor.ts) mixes it towards white/black for
|
|
30
|
-
// the rest of the ramp. If `theme` is ALSO supplied, its own `colors`
|
|
31
|
-
// still wins for anything it explicitly sets (shallow-merged per color
|
|
32
|
-
// key) — the accent override alone isn't worth a generic deep-merge here.
|
|
33
|
-
const resolvedTheme = useMemo(() => {
|
|
34
|
-
const shades = accentColor ? generateAccentShades(accentColor) : null;
|
|
35
|
-
const base = shades ? { ...defaultMantineTheme, colors: { ...defaultMantineTheme.colors, likhariAccent: shades } } : defaultMantineTheme;
|
|
36
|
-
if (!theme)
|
|
37
|
-
return base;
|
|
38
|
-
return { ...base, ...theme, colors: { ...base.colors, ...theme.colors } };
|
|
39
|
-
}, [accentColor, theme]);
|
|
40
|
-
// Inline style wins over the injected stylesheet rule (same element, same
|
|
41
|
-
// specificity otherwise) — only set when accentColor is actually given,
|
|
42
|
-
// so the default static tokens keep applying via the stylesheet the rest
|
|
43
|
-
// of the time.
|
|
44
|
-
const accentVars = accentColor ? generateAccentCssVars(accentColor, colorScheme === 'dark' ? 'dark' : 'light') : null;
|
|
45
|
-
const accentStyle = accentVars
|
|
46
|
-
? { '--editor-accent': accentVars.accent, '--editor-accent-soft': accentVars.accentSoft }
|
|
47
|
-
: {};
|
|
48
26
|
return (
|
|
49
27
|
// display: contents keeps this wrapper out of the layout tree — CSS
|
|
50
28
|
// custom properties still cascade to children through it (inheritance
|
|
@@ -52,5 +30,5 @@ export function EditorThemeProvider({ theme, colorScheme, accentColor, scopeElem
|
|
|
52
30
|
// element and the host's actual parent, so EditorRoot's `height` prop
|
|
53
31
|
// (e.g. '100%') resolves against the host's container as if this div
|
|
54
32
|
// weren't there at all.
|
|
55
|
-
_jsx("div", { className: "likhari-theme-scope", "data-editor-color-scheme": colorScheme, style: { display: 'contents'
|
|
33
|
+
_jsx("div", { className: "likhari-theme-scope", "data-editor-color-scheme": colorScheme, style: { display: 'contents' }, children: _jsx(MantineProvider, { theme: theme ?? defaultMantineTheme, children: children }) }));
|
|
56
34
|
}
|
package/dist/theme/editor.css
CHANGED
|
@@ -19,12 +19,6 @@
|
|
|
19
19
|
its own height so only the canvas below scrolls. */
|
|
20
20
|
.likhari-toolbar {
|
|
21
21
|
display: flex;
|
|
22
|
-
/* Containing block for the hidden width-measuring clone (Toolbar.tsx):
|
|
23
|
-
without this, its position: absolute would resolve against the
|
|
24
|
-
viewport instead, and its intentionally-unwrapped (possibly very wide)
|
|
25
|
-
content could inflate the host page's scroll area instead of being
|
|
26
|
-
clipped by .likhari-root's overflow: hidden. */
|
|
27
|
-
position: relative;
|
|
28
22
|
flex-shrink: 0;
|
|
29
23
|
align-items: center;
|
|
30
24
|
gap: 8px;
|
|
@@ -39,18 +33,6 @@
|
|
|
39
33
|
row-gap: 4px;
|
|
40
34
|
}
|
|
41
35
|
|
|
42
|
-
/* Empty portal-anchor (EditorRoot.tsx) — exists only so Mantine's portaled
|
|
43
|
-
Menu/Modal/Select-combobox/Tooltip content has a DOM ancestor inside
|
|
44
|
-
.likhari-root/.likhari-theme-scope to inherit --editor-* vars and `dir`
|
|
45
|
-
from; it must take up no space and never intercept pointer events. */
|
|
46
|
-
.likhari-portal-target {
|
|
47
|
-
position: absolute;
|
|
48
|
-
width: 0;
|
|
49
|
-
height: 0;
|
|
50
|
-
overflow: visible;
|
|
51
|
-
pointer-events: none;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
36
|
.likhari-toolbar-group {
|
|
55
37
|
display: flex;
|
|
56
38
|
align-items: center;
|
|
@@ -253,113 +235,6 @@
|
|
|
253
235
|
margin: 1.5em 0;
|
|
254
236
|
}
|
|
255
237
|
|
|
256
|
-
/* Images — block-level figure; the caption is static text (edited in the
|
|
257
|
-
image's dialog), and a selected image gets a corner resize handle. */
|
|
258
|
-
.likhari-image-block {
|
|
259
|
-
margin: 0 0 1em 0;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
.likhari-image-figure {
|
|
263
|
-
display: block;
|
|
264
|
-
margin: 0;
|
|
265
|
-
text-align: center;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
.likhari-image-wrap {
|
|
269
|
-
position: relative;
|
|
270
|
-
display: inline-block;
|
|
271
|
-
max-width: 100%;
|
|
272
|
-
line-height: 0;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
.likhari-image {
|
|
276
|
-
display: block;
|
|
277
|
-
max-width: 100%;
|
|
278
|
-
height: auto;
|
|
279
|
-
border-radius: 4px;
|
|
280
|
-
cursor: default;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
.likhari-image-figure[data-selected='true'] .likhari-image {
|
|
284
|
-
outline: 2px solid var(--editor-accent);
|
|
285
|
-
outline-offset: 2px;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
.likhari-image-resize-handle {
|
|
289
|
-
position: absolute;
|
|
290
|
-
right: -6px;
|
|
291
|
-
bottom: -6px;
|
|
292
|
-
width: 12px;
|
|
293
|
-
height: 12px;
|
|
294
|
-
border: 2px solid var(--editor-paper);
|
|
295
|
-
border-radius: 3px;
|
|
296
|
-
background: var(--editor-accent);
|
|
297
|
-
cursor: nwse-resize;
|
|
298
|
-
touch-action: none;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
.likhari-image-caption {
|
|
302
|
-
margin-top: 6px;
|
|
303
|
-
color: var(--editor-ink-soft);
|
|
304
|
-
font-size: 0.85em;
|
|
305
|
-
line-height: 1.4;
|
|
306
|
-
text-align: center;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
/* Image dialog — crop stage. The selection dims everything outside it. */
|
|
310
|
-
.likhari-cropper-stage {
|
|
311
|
-
position: relative;
|
|
312
|
-
display: inline-block;
|
|
313
|
-
align-self: center;
|
|
314
|
-
max-width: 100%;
|
|
315
|
-
padding: 8px;
|
|
316
|
-
overflow: hidden;
|
|
317
|
-
line-height: 0;
|
|
318
|
-
cursor: crosshair;
|
|
319
|
-
touch-action: none;
|
|
320
|
-
user-select: none;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
.likhari-cropper-frame {
|
|
324
|
-
position: relative;
|
|
325
|
-
display: inline-block;
|
|
326
|
-
max-width: 100%;
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
.likhari-cropper-image {
|
|
330
|
-
display: block;
|
|
331
|
-
max-width: 100%;
|
|
332
|
-
max-height: 320px;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
.likhari-cropper-selection {
|
|
336
|
-
position: absolute;
|
|
337
|
-
border: 2px solid #fff;
|
|
338
|
-
outline: 1px solid rgba(0, 0, 0, 0.5);
|
|
339
|
-
box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5);
|
|
340
|
-
cursor: move;
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
.likhari-cropper-handle {
|
|
344
|
-
position: absolute;
|
|
345
|
-
width: 12px;
|
|
346
|
-
height: 12px;
|
|
347
|
-
border: 1px solid rgba(0, 0, 0, 0.6);
|
|
348
|
-
border-radius: 2px;
|
|
349
|
-
background: #fff;
|
|
350
|
-
/* 12px handles on small selections would overlap; keep them on the border. */
|
|
351
|
-
transform: translate(-50%, -50%);
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
.likhari-cropper-handle[data-handle='nw'] { left: 0; top: 0; cursor: nwse-resize; }
|
|
355
|
-
.likhari-cropper-handle[data-handle='n'] { left: 50%; top: 0; cursor: ns-resize; }
|
|
356
|
-
.likhari-cropper-handle[data-handle='ne'] { left: 100%; top: 0; cursor: nesw-resize; }
|
|
357
|
-
.likhari-cropper-handle[data-handle='e'] { left: 100%; top: 50%; cursor: ew-resize; }
|
|
358
|
-
.likhari-cropper-handle[data-handle='se'] { left: 100%; top: 100%; cursor: nwse-resize; }
|
|
359
|
-
.likhari-cropper-handle[data-handle='s'] { left: 50%; top: 100%; cursor: ns-resize; }
|
|
360
|
-
.likhari-cropper-handle[data-handle='sw'] { left: 0; top: 100%; cursor: nesw-resize; }
|
|
361
|
-
.likhari-cropper-handle[data-handle='w'] { left: 0; top: 50%; cursor: ew-resize; }
|
|
362
|
-
|
|
363
238
|
/* Link menu: the URL item shows one truncated line. */
|
|
364
239
|
.likhari-link-menu-url {
|
|
365
240
|
max-width: 100%;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editorTheme.d.ts","sourceRoot":"","sources":["../../src/theme/editorTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"editorTheme.d.ts","sourceRoot":"","sources":["../../src/theme/editorTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,kBA6BzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inshapardaz/likhari-react",
|
|
3
|
-
"version": "0.1.6
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "React implementation of the Likhari editor, built on @lexical/react.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
"exports": {
|
|
14
14
|
".": {
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
|
-
"development": "./src/index.ts",
|
|
17
16
|
"import": "./dist/index.js"
|
|
18
17
|
},
|
|
19
18
|
"./package.json": "./package.json"
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CSS selector for the portal-anchor `<div>` `EditorRoot` renders as the
|
|
3
|
-
* first child of `.likhari-root` (see EditorRoot.tsx). Mantine's `Menu`,
|
|
4
|
-
* `Modal`, `Select`'s combobox and `Tooltip` all default to portaling their
|
|
5
|
-
* content to `document.body` — outside the DOM subtree that carries the
|
|
6
|
-
* `--editor-*` CSS custom properties (`.likhari-theme-scope`) and the `dir`
|
|
7
|
-
* attribute (`.likhari-root`), so none of that styling/direction reaches
|
|
8
|
-
* them. Passing this selector as the target fixes that by portaling into a
|
|
9
|
-
* genuine descendant of both instead.
|
|
10
|
-
*
|
|
11
|
-
* `undefined` (the default, outside any `EditorRoot`, or before it has
|
|
12
|
-
* mounted) falls back to Mantine's own default portal behavior.
|
|
13
|
-
*/
|
|
14
|
-
export declare const PortalTargetContext: import("react").Context<string | undefined>;
|
|
15
|
-
export declare function usePortalTarget(): string | undefined;
|
|
16
|
-
//# sourceMappingURL=PortalTargetContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PortalTargetContext.d.ts","sourceRoot":"","sources":["../src/PortalTargetContext.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,6CAA+C,CAAC;AAEhF,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpD"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { createContext, useContext } from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* CSS selector for the portal-anchor `<div>` `EditorRoot` renders as the
|
|
4
|
-
* first child of `.likhari-root` (see EditorRoot.tsx). Mantine's `Menu`,
|
|
5
|
-
* `Modal`, `Select`'s combobox and `Tooltip` all default to portaling their
|
|
6
|
-
* content to `document.body` — outside the DOM subtree that carries the
|
|
7
|
-
* `--editor-*` CSS custom properties (`.likhari-theme-scope`) and the `dir`
|
|
8
|
-
* attribute (`.likhari-root`), so none of that styling/direction reaches
|
|
9
|
-
* them. Passing this selector as the target fixes that by portaling into a
|
|
10
|
-
* genuine descendant of both instead.
|
|
11
|
-
*
|
|
12
|
-
* `undefined` (the default, outside any `EditorRoot`, or before it has
|
|
13
|
-
* mounted) falls back to Mantine's own default portal behavior.
|
|
14
|
-
*/
|
|
15
|
-
export const PortalTargetContext = createContext(undefined);
|
|
16
|
-
export function usePortalTarget() {
|
|
17
|
-
return useContext(PortalTargetContext);
|
|
18
|
-
}
|
package/dist/i18n/index.d.ts
DELETED
package/dist/i18n/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/i18n/index.js
DELETED
package/dist/i18n/strings.d.ts
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UI localization strings for the editor's own chrome (toolbar, dialogs,
|
|
3
|
-
* menus, placeholders) — see docs/lexical-editor-spec.md §3.2. This is
|
|
4
|
-
* separate from content direction/fonts (handled in EditorRoot) and from
|
|
5
|
-
* Markdown/HTML/plain-text format translation, which is out of scope here.
|
|
6
|
-
*/
|
|
7
|
-
/** Re-exported from EditorRoot's existing prop type so there is a single
|
|
8
|
-
* source of truth for which locales the editor knows about. */
|
|
9
|
-
export type Locale = 'en' | 'ur' | 'pa-shahmukhi';
|
|
10
|
-
export interface Strings {
|
|
11
|
-
editor: {
|
|
12
|
-
/** Default placeholder shown in an empty editor (overridden by an explicit `placeholder` prop). */
|
|
13
|
-
placeholder: string;
|
|
14
|
-
/** aria-label on the contenteditable itself. */
|
|
15
|
-
contentLabel: string;
|
|
16
|
-
/** window.confirm() prompt shown by EditorRef.confirmDiscard() when there are unsaved changes. */
|
|
17
|
-
confirmDiscard: string;
|
|
18
|
-
};
|
|
19
|
-
common: {
|
|
20
|
-
cancel: string;
|
|
21
|
-
save: string;
|
|
22
|
-
insert: string;
|
|
23
|
-
};
|
|
24
|
-
toolbar: {
|
|
25
|
-
/** aria-label on the toolbar's own role="toolbar" container. */
|
|
26
|
-
ariaLabel: string;
|
|
27
|
-
save: string;
|
|
28
|
-
undo: string;
|
|
29
|
-
redo: string;
|
|
30
|
-
formattingLabel: string;
|
|
31
|
-
bold: string;
|
|
32
|
-
italic: string;
|
|
33
|
-
underline: string;
|
|
34
|
-
fontFamily: string;
|
|
35
|
-
fontFamilyPlaceholder: string;
|
|
36
|
-
fontSize: string;
|
|
37
|
-
fontSizePlaceholder: string;
|
|
38
|
-
noMatch: string;
|
|
39
|
-
alignment: string;
|
|
40
|
-
linkOptions: string;
|
|
41
|
-
insertLink: string;
|
|
42
|
-
insertImage: string;
|
|
43
|
-
poetryBlocks: string;
|
|
44
|
-
comingSoon: (label: string) => string;
|
|
45
|
-
autocorrect: string;
|
|
46
|
-
textCleanup: string;
|
|
47
|
-
spellChecker: string;
|
|
48
|
-
moreFormatting: string;
|
|
49
|
-
strikethrough: string;
|
|
50
|
-
superscript: string;
|
|
51
|
-
subscript: string;
|
|
52
|
-
uppercase: string;
|
|
53
|
-
lowercase: string;
|
|
54
|
-
capitalize: string;
|
|
55
|
-
clearFormatting: string;
|
|
56
|
-
outdent: string;
|
|
57
|
-
indent: string;
|
|
58
|
-
formattingOptions: {
|
|
59
|
-
paragraph: string;
|
|
60
|
-
heading: (level: number) => string;
|
|
61
|
-
numberedList: string;
|
|
62
|
-
bulletList: string;
|
|
63
|
-
taskList: string;
|
|
64
|
-
quote: string;
|
|
65
|
-
};
|
|
66
|
-
alignOptions: {
|
|
67
|
-
start: string;
|
|
68
|
-
center: string;
|
|
69
|
-
end: string;
|
|
70
|
-
justify: string;
|
|
71
|
-
left: string;
|
|
72
|
-
right: string;
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
link: {
|
|
76
|
-
menuLabel: string;
|
|
77
|
-
noUrl: string;
|
|
78
|
-
editLink: string;
|
|
79
|
-
removeLink: string;
|
|
80
|
-
};
|
|
81
|
-
linkDialog: {
|
|
82
|
-
titleInsert: string;
|
|
83
|
-
titleEdit: string;
|
|
84
|
-
urlLabel: string;
|
|
85
|
-
urlPlaceholder: string;
|
|
86
|
-
textLabel: string;
|
|
87
|
-
textPlaceholder: string;
|
|
88
|
-
invalidUrl: string;
|
|
89
|
-
apply: string;
|
|
90
|
-
};
|
|
91
|
-
imageDialog: {
|
|
92
|
-
titleInsert: string;
|
|
93
|
-
titleEdit: string;
|
|
94
|
-
currentImage: string;
|
|
95
|
-
fromUrl: string;
|
|
96
|
-
upload: string;
|
|
97
|
-
embeddedInDocument: string;
|
|
98
|
-
linkedFrom: (src: string) => string;
|
|
99
|
-
convertButton: string;
|
|
100
|
-
convertHint: string;
|
|
101
|
-
imageUrlLabel: string;
|
|
102
|
-
imageUrlPlaceholder: string;
|
|
103
|
-
embedCopyLabel: string;
|
|
104
|
-
embedCopyDescription: string;
|
|
105
|
-
convertedFromUrl: string;
|
|
106
|
-
fileLabel: string;
|
|
107
|
-
filePlaceholder: string;
|
|
108
|
-
fileDescription: (maxSizeMB: number, storedInDocument: boolean) => string;
|
|
109
|
-
altTextLabel: string;
|
|
110
|
-
altTextDescription: string;
|
|
111
|
-
captionLabel: string;
|
|
112
|
-
captionDescription: string;
|
|
113
|
-
errors: {
|
|
114
|
-
enterUrl: string;
|
|
115
|
-
chooseFile: string;
|
|
116
|
-
noImage: string;
|
|
117
|
-
uploadUnusable: string;
|
|
118
|
-
couldNotSave: string;
|
|
119
|
-
couldNotConvert: string;
|
|
120
|
-
couldNotReadFile: string;
|
|
121
|
-
largerThan: (maxSizeMB: number) => string;
|
|
122
|
-
};
|
|
123
|
-
};
|
|
124
|
-
imageCropDialog: {
|
|
125
|
-
title: string;
|
|
126
|
-
sizeLabel: string;
|
|
127
|
-
widthLabel: string;
|
|
128
|
-
heightLabel: string;
|
|
129
|
-
autoPlaceholder: string;
|
|
130
|
-
keepProportions: string;
|
|
131
|
-
originalSize: string;
|
|
132
|
-
dragHint: (natural: {
|
|
133
|
-
width: number;
|
|
134
|
-
height: number;
|
|
135
|
-
} | null) => string;
|
|
136
|
-
errors: {
|
|
137
|
-
uploadUnusable: string;
|
|
138
|
-
couldNotSave: string;
|
|
139
|
-
largerThan: (maxSizeMB: number) => string;
|
|
140
|
-
};
|
|
141
|
-
};
|
|
142
|
-
imageMenu: {
|
|
143
|
-
editImage: string;
|
|
144
|
-
convertToEmbedded: string;
|
|
145
|
-
cropResize: string;
|
|
146
|
-
addCaption: string;
|
|
147
|
-
editCaption: string;
|
|
148
|
-
removeCaption: string;
|
|
149
|
-
deleteImage: string;
|
|
150
|
-
resizeImage: string;
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
export declare const STRINGS: Record<Locale, Strings>;
|
|
154
|
-
/** Returns the strings dictionary for `locale`, defensively falling back to
|
|
155
|
-
* `en` for any locale not present in `STRINGS` (e.g. a future locale value
|
|
156
|
-
* passed by a caller on an older type definition). */
|
|
157
|
-
export declare function getStrings(locale: Locale): Strings;
|
|
158
|
-
//# sourceMappingURL=strings.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/i18n/strings.ts"],"names":[],"mappings":"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"}
|