@lvl99dotcom/paintcanvas 0.3.1 → 0.5.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/README.md +30 -15
- package/dist/lib/brushes/StrokeEngine/index.d.ts +2 -2
- package/dist/lib/brushes/StrokeEngine/index.js +26 -28
- package/dist/lib/brushes/presets/round/index.d.ts +1 -1
- package/dist/lib/brushes/presets/round/index.js +12 -7
- package/dist/lib/brushes/presets/square/index.d.ts +1 -1
- package/dist/lib/brushes/presets/square/index.js +7 -3
- package/dist/lib/brushes/shapeImage/index.d.ts +7 -3
- package/dist/lib/brushes/shapeImage/index.js +15 -9
- package/dist/lib/brushes/shapes/index.d.ts +18 -0
- package/dist/lib/brushes/shapes/index.js +86 -0
- package/dist/lib/classes/BrushSettings/index.d.ts +53 -2
- package/dist/lib/classes/BrushSettings/index.js +85 -14
- package/dist/lib/classes/KeyboardShortcuts/index.d.ts +47 -7
- package/dist/lib/classes/KeyboardShortcuts/index.js +145 -20
- package/dist/lib/classes/PaintCanvas/index.d.ts +123 -27
- package/dist/lib/classes/PaintCanvas/index.js +208 -41
- package/dist/lib/classes/PaintCanvas/tool.d.ts +15 -0
- package/dist/lib/classes/PaintCanvas/tool.js +18 -0
- package/dist/lib/classes/Palette/index.d.ts +58 -0
- package/dist/lib/classes/Palette/index.js +92 -0
- package/dist/lib/classes/SettingsAutosave/index.d.ts +53 -0
- package/dist/lib/classes/SettingsAutosave/index.js +98 -0
- package/dist/lib/classes/ShortcutSettings/index.d.ts +63 -0
- package/dist/lib/classes/ShortcutSettings/index.js +110 -0
- package/dist/lib/classes/UiSettings/index.d.ts +68 -0
- package/dist/lib/classes/UiSettings/index.js +82 -0
- package/dist/lib/palette/index.d.ts +49 -0
- package/dist/lib/palette/index.js +82 -0
- package/dist/lib/palette/schema.d.ts +45 -0
- package/dist/lib/palette/schema.js +41 -0
- package/dist/lib/rendering/cursors/index.d.ts +2 -0
- package/dist/lib/rendering/cursors/index.js +3 -1
- package/dist/lib/rendering/sample/index.js +3 -2
- package/dist/lib/settings/index.d.ts +63 -0
- package/dist/lib/settings/index.js +93 -0
- package/dist/lib/settings/schema.d.ts +168 -0
- package/dist/lib/settings/schema.js +116 -0
- package/dist/lib/storage/index.d.ts +36 -5
- package/dist/lib/storage/index.js +87 -29
- package/dist/lib/utils/colour/index.d.ts +72 -0
- package/dist/lib/utils/colour/index.js +154 -0
- package/dist/lib/utils/shortcuts/index.d.ts +174 -11
- package/dist/lib/utils/shortcuts/index.js +391 -145
- package/dist/lib/validation/validators.generated.d.ts +5 -0
- package/dist/lib/validation/validators.generated.js +1040 -1
- package/dist/locales/en-GB.js +96 -3
- package/dist/locales/en-US.js +96 -3
- package/dist/locales/fr.js +96 -3
- package/dist/locales/ja.js +96 -3
- package/dist/locales/ko.js +96 -3
- package/dist/locales/zh-Hans.js +96 -3
- package/dist/locales/zh-Hant.js +96 -3
- package/dist/package.js +1 -1
- package/dist/testing/recordingCanvas.js +2 -1
- package/dist/ui/base/index.d.ts +2 -2
- package/dist/ui/dismiss/index.d.ts +21 -0
- package/dist/ui/dismiss/index.js +27 -0
- package/dist/ui/drag/index.d.ts +51 -0
- package/dist/ui/drag/index.js +81 -0
- package/dist/ui/elements/PaintCanvas/index.d.ts +57 -50
- package/dist/ui/elements/PaintCanvas/index.js +141 -174
- package/dist/ui/elements/PaintCanvas/style.js +1 -1
- package/dist/ui/elements/PcAppSettings/index.d.ts +59 -0
- package/dist/ui/elements/PcAppSettings/index.js +222 -0
- package/dist/ui/elements/PcBrushConfig/index.d.ts +9 -2
- package/dist/ui/elements/PcBrushConfig/index.js +47 -7
- package/dist/ui/elements/PcBrushConfig/style.js +1 -1
- package/dist/ui/elements/PcBrushSize/index.d.ts +53 -0
- package/dist/ui/elements/PcBrushSize/index.js +66 -0
- package/dist/ui/elements/PcBrushTest/index.d.ts +26 -0
- package/dist/ui/elements/PcBrushTest/index.js +73 -5
- package/dist/ui/elements/PcBrushTest/style.js +1 -1
- package/dist/ui/elements/PcCanvas/index.d.ts +22 -2
- package/dist/ui/elements/PcCanvas/index.js +60 -15
- package/dist/ui/elements/PcCanvasMap/style.js +1 -1
- package/dist/ui/elements/PcClipboardTools/index.d.ts +48 -0
- package/dist/ui/elements/PcClipboardTools/index.js +118 -0
- package/dist/ui/elements/PcColourPair/index.d.ts +43 -0
- package/dist/ui/elements/PcColourPair/index.js +125 -0
- package/dist/ui/elements/PcContextMenu/index.d.ts +71 -34
- package/dist/ui/elements/PcContextMenu/index.js +128 -97
- package/dist/ui/elements/PcInputSettings/index.d.ts +13 -0
- package/dist/ui/elements/PcInputSettings/index.js +16 -1
- package/dist/ui/elements/PcLayerItem/index.d.ts +13 -34
- package/dist/ui/elements/PcLayerItem/index.js +39 -91
- package/dist/ui/elements/PcLayerItem/style.js +1 -1
- package/dist/ui/elements/PcMenu/index.d.ts +138 -0
- package/dist/ui/elements/PcMenu/index.js +296 -0
- package/dist/ui/elements/PcNumberSlider/index.d.ts +137 -0
- package/dist/ui/elements/PcNumberSlider/index.js +247 -0
- package/dist/ui/elements/PcPane/index.d.ts +120 -0
- package/dist/ui/elements/PcPane/index.js +394 -0
- package/dist/ui/elements/PcPanel/index.d.ts +26 -8
- package/dist/ui/elements/PcPanel/index.js +76 -8
- package/dist/ui/elements/{PcBrushMenu → PcPanelBrushes}/index.d.ts +22 -21
- package/dist/ui/elements/{PcBrushMenu → PcPanelBrushes}/index.js +24 -57
- package/dist/ui/elements/PcPanelBrushes/style.js +3 -0
- package/dist/ui/elements/PcPanelColours/index.d.ts +171 -0
- package/dist/ui/elements/PcPanelColours/index.js +650 -0
- package/dist/ui/elements/PcPanelColours/style.js +3 -0
- package/dist/ui/elements/{PcLayersMenu → PcPanelLayers}/index.d.ts +17 -4
- package/dist/ui/elements/{PcLayersMenu → PcPanelLayers}/index.js +17 -10
- package/dist/ui/elements/PcPanelLayers/style.js +3 -0
- package/dist/ui/elements/PcPopover/index.d.ts +39 -1
- package/dist/ui/elements/PcPopover/index.js +72 -4
- package/dist/ui/elements/PcShortcutSettings/index.d.ts +69 -0
- package/dist/ui/elements/PcShortcutSettings/index.js +273 -0
- package/dist/ui/elements/PcThemePicker/index.d.ts +17 -15
- package/dist/ui/elements/PcThemePicker/index.js +22 -21
- package/dist/ui/elements/PcToolSettings/index.d.ts +48 -9
- package/dist/ui/elements/PcToolSettings/index.js +384 -319
- package/dist/ui/elements/PcToolSettings/style.js +1 -1
- package/dist/ui/elements/PcToolbar/index.d.ts +62 -12
- package/dist/ui/elements/PcToolbar/index.js +119 -57
- package/dist/ui/elements/PcToolbar/style.js +1 -1
- package/dist/ui/icons/images/icon-brush@2x.js +3 -0
- package/dist/ui/icons/images/icon-circle-mask@2x.js +3 -0
- package/dist/ui/icons/images/icon-clipboard@2x.js +3 -0
- package/dist/ui/icons/images/icon-cog@2x.js +3 -0
- package/dist/ui/icons/images/icon-cursor@2x.js +3 -0
- package/dist/ui/icons/images/icon-diagonal-tlbr-size@2x.js +3 -0
- package/dist/ui/icons/images/icon-diagonal-trbl-size@2x.js +3 -0
- package/dist/ui/icons/images/icon-eraser@2x.js +3 -0
- package/dist/ui/icons/images/icon-eyedropper@2x.js +3 -0
- package/dist/ui/icons/images/icon-flip-horizontal@2x.js +3 -0
- package/dist/ui/icons/images/icon-flip-vertical@2x.js +3 -0
- package/dist/ui/icons/images/icon-focus-pen@2x.js +3 -0
- package/dist/ui/icons/images/icon-freehand-mask@2x.js +3 -0
- package/dist/ui/icons/images/icon-hidden@2x.js +3 -0
- package/dist/ui/icons/images/icon-horizontal-size@2x.js +3 -0
- package/dist/ui/icons/images/icon-layers@2x.js +3 -0
- package/dist/ui/icons/images/icon-linked@2x.js +3 -0
- package/dist/ui/icons/images/icon-locked@2x.js +3 -0
- package/dist/ui/icons/images/icon-moon@2x.js +3 -0
- package/dist/ui/icons/images/icon-pan@2x.js +3 -0
- package/dist/ui/icons/images/icon-polygon-mask@2x.js +3 -0
- package/dist/ui/icons/images/icon-pressure@2x.js +3 -0
- package/dist/ui/icons/images/icon-randomise@2x.js +3 -0
- package/dist/ui/icons/images/icon-rectangle-mask@2x.js +3 -0
- package/dist/ui/icons/images/icon-redo@2x.js +3 -0
- package/dist/ui/icons/images/icon-rotate-90-left@2x.js +3 -0
- package/dist/ui/icons/images/icon-rotate-90-right@2x.js +3 -0
- package/dist/ui/icons/images/icon-rotate@2x.js +3 -0
- package/dist/ui/icons/images/icon-smoothing-bezier-cubic@2x.js +3 -0
- package/dist/ui/icons/images/icon-smoothing-bezier-quad@2x.js +3 -0
- package/dist/ui/icons/images/icon-smoothing-linear@2x.js +3 -0
- package/dist/ui/icons/images/icon-star@2x.js +3 -0
- package/dist/ui/icons/images/icon-sun@2x.js +3 -0
- package/dist/ui/icons/images/icon-tilt@2x.js +3 -0
- package/dist/ui/icons/images/icon-undo@2x.js +3 -0
- package/dist/ui/icons/images/icon-unlinked@2x.js +3 -0
- package/dist/ui/icons/images/icon-unlocked@2x.js +3 -0
- package/dist/ui/icons/images/icon-vertical-size@2x.js +3 -0
- package/dist/ui/icons/images/icon-visible@2x.js +3 -0
- package/dist/ui/icons/images/icon-zoom-in@2x.js +3 -0
- package/dist/ui/icons/images/icon-zoom-out@2x.js +3 -0
- package/dist/ui/icons/images/icon-zoom@2x.js +3 -0
- package/dist/ui/icons/index.d.ts +1 -1
- package/dist/ui/icons/index.js +84 -72
- package/dist/ui/index.d.ts +13 -2
- package/dist/ui/index.js +16 -4
- package/dist/ui/layout/index.d.ts +9 -1
- package/dist/ui/layout/index.js +11 -2
- package/dist/ui/tokens/index.d.ts +5 -4
- package/dist/ui/tokens/index.js +15 -8
- package/locales/en-GB.json +96 -3
- package/locales/en-US.json +96 -3
- package/locales/fr.json +96 -3
- package/locales/ja.json +96 -3
- package/locales/ko.json +96 -3
- package/locales/zh-Hans.json +96 -3
- package/locales/zh-Hant.json +96 -3
- package/package.json +11 -4
- package/dist/ui/elements/PcBrushMenu/style.js +0 -3
- package/dist/ui/elements/PcLayersMenu/style.js +0 -3
- package/dist/ui/icons/images/brush.js +0 -3
- package/dist/ui/icons/images/circle-mask.js +0 -3
- package/dist/ui/icons/images/clipboard.js +0 -3
- package/dist/ui/icons/images/cursor.js +0 -3
- package/dist/ui/icons/images/eraser.js +0 -3
- package/dist/ui/icons/images/eyedropper.js +0 -3
- package/dist/ui/icons/images/flip-horizontal.js +0 -3
- package/dist/ui/icons/images/flip-vertical.js +0 -3
- package/dist/ui/icons/images/focus-pen.js +0 -3
- package/dist/ui/icons/images/freehand-mask.js +0 -3
- package/dist/ui/icons/images/hidden.js +0 -3
- package/dist/ui/icons/images/layers.js +0 -3
- package/dist/ui/icons/images/linked.js +0 -3
- package/dist/ui/icons/images/locked.js +0 -3
- package/dist/ui/icons/images/moon.js +0 -3
- package/dist/ui/icons/images/pan.js +0 -3
- package/dist/ui/icons/images/polygon-mask.js +0 -3
- package/dist/ui/icons/images/pressure.js +0 -3
- package/dist/ui/icons/images/randomise.js +0 -3
- package/dist/ui/icons/images/rectangle-mask.js +0 -3
- package/dist/ui/icons/images/redo.js +0 -3
- package/dist/ui/icons/images/rotate-90-left.js +0 -3
- package/dist/ui/icons/images/rotate-90-right.js +0 -3
- package/dist/ui/icons/images/smoothing-bezier-cubic.js +0 -3
- package/dist/ui/icons/images/smoothing-bezier-quad.js +0 -3
- package/dist/ui/icons/images/smoothing-linear.js +0 -3
- package/dist/ui/icons/images/star.js +0 -3
- package/dist/ui/icons/images/sun.js +0 -3
- package/dist/ui/icons/images/tilt.js +0 -3
- package/dist/ui/icons/images/undo.js +0 -3
- package/dist/ui/icons/images/unlinked.js +0 -3
- package/dist/ui/icons/images/unlocked.js +0 -3
- package/dist/ui/icons/images/visible.js +0 -3
- package/dist/ui/icons/images/zoom-in.js +0 -3
- package/dist/ui/icons/images/zoom-out.js +0 -3
- package/dist/ui/icons/images/zoom.js +0 -3
package/dist/ui/icons/index.js
CHANGED
|
@@ -1,79 +1,91 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
import
|
|
26
|
-
import
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import
|
|
31
|
-
import
|
|
32
|
-
import
|
|
33
|
-
import
|
|
34
|
-
import
|
|
35
|
-
import
|
|
36
|
-
import
|
|
1
|
+
import icon_brush_2x_default from "./images/icon-brush@2x.js";
|
|
2
|
+
import icon_eraser_2x_default from "./images/icon-eraser@2x.js";
|
|
3
|
+
import icon_cursor_2x_default from "./images/icon-cursor@2x.js";
|
|
4
|
+
import icon_rectangle_mask_2x_default from "./images/icon-rectangle-mask@2x.js";
|
|
5
|
+
import icon_circle_mask_2x_default from "./images/icon-circle-mask@2x.js";
|
|
6
|
+
import icon_polygon_mask_2x_default from "./images/icon-polygon-mask@2x.js";
|
|
7
|
+
import icon_freehand_mask_2x_default from "./images/icon-freehand-mask@2x.js";
|
|
8
|
+
import icon_eyedropper_2x_default from "./images/icon-eyedropper@2x.js";
|
|
9
|
+
import icon_zoom_2x_default from "./images/icon-zoom@2x.js";
|
|
10
|
+
import icon_zoom_in_2x_default from "./images/icon-zoom-in@2x.js";
|
|
11
|
+
import icon_zoom_out_2x_default from "./images/icon-zoom-out@2x.js";
|
|
12
|
+
import icon_pan_2x_default from "./images/icon-pan@2x.js";
|
|
13
|
+
import icon_undo_2x_default from "./images/icon-undo@2x.js";
|
|
14
|
+
import icon_redo_2x_default from "./images/icon-redo@2x.js";
|
|
15
|
+
import icon_layers_2x_default from "./images/icon-layers@2x.js";
|
|
16
|
+
import icon_locked_2x_default from "./images/icon-locked@2x.js";
|
|
17
|
+
import icon_unlocked_2x_default from "./images/icon-unlocked@2x.js";
|
|
18
|
+
import icon_visible_2x_default from "./images/icon-visible@2x.js";
|
|
19
|
+
import icon_hidden_2x_default from "./images/icon-hidden@2x.js";
|
|
20
|
+
import icon_linked_2x_default from "./images/icon-linked@2x.js";
|
|
21
|
+
import icon_unlinked_2x_default from "./images/icon-unlinked@2x.js";
|
|
22
|
+
import icon_pressure_2x_default from "./images/icon-pressure@2x.js";
|
|
23
|
+
import icon_focus_pen_2x_default from "./images/icon-focus-pen@2x.js";
|
|
24
|
+
import icon_tilt_2x_default from "./images/icon-tilt@2x.js";
|
|
25
|
+
import icon_randomise_2x_default from "./images/icon-randomise@2x.js";
|
|
26
|
+
import icon_flip_horizontal_2x_default from "./images/icon-flip-horizontal@2x.js";
|
|
27
|
+
import icon_flip_vertical_2x_default from "./images/icon-flip-vertical@2x.js";
|
|
28
|
+
import icon_rotate_90_left_2x_default from "./images/icon-rotate-90-left@2x.js";
|
|
29
|
+
import icon_rotate_90_right_2x_default from "./images/icon-rotate-90-right@2x.js";
|
|
30
|
+
import icon_rotate_2x_default from "./images/icon-rotate@2x.js";
|
|
31
|
+
import icon_horizontal_size_2x_default from "./images/icon-horizontal-size@2x.js";
|
|
32
|
+
import icon_vertical_size_2x_default from "./images/icon-vertical-size@2x.js";
|
|
33
|
+
import icon_diagonal_tlbr_size_2x_default from "./images/icon-diagonal-tlbr-size@2x.js";
|
|
34
|
+
import icon_diagonal_trbl_size_2x_default from "./images/icon-diagonal-trbl-size@2x.js";
|
|
35
|
+
import icon_clipboard_2x_default from "./images/icon-clipboard@2x.js";
|
|
36
|
+
import icon_smoothing_linear_2x_default from "./images/icon-smoothing-linear@2x.js";
|
|
37
|
+
import icon_smoothing_bezier_quad_2x_default from "./images/icon-smoothing-bezier-quad@2x.js";
|
|
38
|
+
import icon_smoothing_bezier_cubic_2x_default from "./images/icon-smoothing-bezier-cubic@2x.js";
|
|
39
|
+
import icon_sun_2x_default from "./images/icon-sun@2x.js";
|
|
40
|
+
import icon_moon_2x_default from "./images/icon-moon@2x.js";
|
|
41
|
+
import icon_star_2x_default from "./images/icon-star@2x.js";
|
|
42
|
+
import icon_cog_2x_default from "./images/icon-cog@2x.js";
|
|
37
43
|
import { html } from "lit";
|
|
38
44
|
// src/ui/icons/index.ts
|
|
39
45
|
/** The icons that come with PaintCanvas, as URLs */
|
|
40
46
|
var DEFAULT_ICONS = {
|
|
41
|
-
brush:
|
|
42
|
-
eraser:
|
|
43
|
-
cursor:
|
|
44
|
-
rectangleMask:
|
|
45
|
-
circleMask:
|
|
46
|
-
polygonMask:
|
|
47
|
-
freehandMask:
|
|
48
|
-
eyedropper:
|
|
49
|
-
zoom:
|
|
50
|
-
zoomIn:
|
|
51
|
-
zoomOut:
|
|
52
|
-
pan:
|
|
53
|
-
undo:
|
|
54
|
-
redo:
|
|
55
|
-
layers:
|
|
56
|
-
locked:
|
|
57
|
-
unlocked:
|
|
58
|
-
visible:
|
|
59
|
-
hidden:
|
|
60
|
-
linked:
|
|
61
|
-
unlinked:
|
|
62
|
-
pressure:
|
|
63
|
-
focusPen:
|
|
64
|
-
tilt:
|
|
65
|
-
randomise:
|
|
66
|
-
flipHorizontal:
|
|
67
|
-
flipVertical:
|
|
68
|
-
rotate90Left:
|
|
69
|
-
rotate90Right:
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
47
|
+
brush: icon_brush_2x_default,
|
|
48
|
+
eraser: icon_eraser_2x_default,
|
|
49
|
+
cursor: icon_cursor_2x_default,
|
|
50
|
+
rectangleMask: icon_rectangle_mask_2x_default,
|
|
51
|
+
circleMask: icon_circle_mask_2x_default,
|
|
52
|
+
polygonMask: icon_polygon_mask_2x_default,
|
|
53
|
+
freehandMask: icon_freehand_mask_2x_default,
|
|
54
|
+
eyedropper: icon_eyedropper_2x_default,
|
|
55
|
+
zoom: icon_zoom_2x_default,
|
|
56
|
+
zoomIn: icon_zoom_in_2x_default,
|
|
57
|
+
zoomOut: icon_zoom_out_2x_default,
|
|
58
|
+
pan: icon_pan_2x_default,
|
|
59
|
+
undo: icon_undo_2x_default,
|
|
60
|
+
redo: icon_redo_2x_default,
|
|
61
|
+
layers: icon_layers_2x_default,
|
|
62
|
+
locked: icon_locked_2x_default,
|
|
63
|
+
unlocked: icon_unlocked_2x_default,
|
|
64
|
+
visible: icon_visible_2x_default,
|
|
65
|
+
hidden: icon_hidden_2x_default,
|
|
66
|
+
linked: icon_linked_2x_default,
|
|
67
|
+
unlinked: icon_unlinked_2x_default,
|
|
68
|
+
pressure: icon_pressure_2x_default,
|
|
69
|
+
focusPen: icon_focus_pen_2x_default,
|
|
70
|
+
tilt: icon_tilt_2x_default,
|
|
71
|
+
randomise: icon_randomise_2x_default,
|
|
72
|
+
flipHorizontal: icon_flip_horizontal_2x_default,
|
|
73
|
+
flipVertical: icon_flip_vertical_2x_default,
|
|
74
|
+
rotate90Left: icon_rotate_90_left_2x_default,
|
|
75
|
+
rotate90Right: icon_rotate_90_right_2x_default,
|
|
76
|
+
rotate: icon_rotate_2x_default,
|
|
77
|
+
horizontalSize: icon_horizontal_size_2x_default,
|
|
78
|
+
verticalSize: icon_vertical_size_2x_default,
|
|
79
|
+
diagonalTlbrSize: icon_diagonal_tlbr_size_2x_default,
|
|
80
|
+
diagonalTrblSize: icon_diagonal_trbl_size_2x_default,
|
|
81
|
+
clipboard: icon_clipboard_2x_default,
|
|
82
|
+
smoothingLinear: icon_smoothing_linear_2x_default,
|
|
83
|
+
smoothingBezierQuad: icon_smoothing_bezier_quad_2x_default,
|
|
84
|
+
smoothingBezierCubic: icon_smoothing_bezier_cubic_2x_default,
|
|
85
|
+
sun: icon_sun_2x_default,
|
|
86
|
+
moon: icon_moon_2x_default,
|
|
87
|
+
star: icon_star_2x_default,
|
|
88
|
+
cog: icon_cog_2x_default
|
|
77
89
|
};
|
|
78
90
|
/**
|
|
79
91
|
* The icons PaintCanvas's elements show, by name. Implementers can replace any icon (or add their own) with an image
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -7,15 +7,26 @@ export { PcButtonGroup } from "./elements/PcButtonGroup";
|
|
|
7
7
|
export { PcIconToggle } from "./elements/PcIconToggle";
|
|
8
8
|
export { PcToggleCheckbox } from "./elements/PcToggleCheckbox";
|
|
9
9
|
export { PcSlider } from "./elements/PcSlider";
|
|
10
|
-
export {
|
|
10
|
+
export { PcNumberSlider, fitNumber } from "./elements/PcNumberSlider";
|
|
11
|
+
export { PcBrushSize, sizeText } from "./elements/PcBrushSize";
|
|
12
|
+
export { PointerDrag, DRAG_THRESHOLD, dragDelta } from "./drag";
|
|
13
|
+
export { markDismissingPress, isDismissingPress } from "./dismiss";
|
|
14
|
+
export { PcMenu, isMenuItem, menuSections, type MenuItem, type MenuLabel, type MenuDivider, type MenuEntry, } from "./elements/PcMenu";
|
|
15
|
+
export { PcContextMenu, CONTEXT_MENU_TOGGLE_EVENT, MENU_MARGIN, menuLeft, menuTop, type MenuPlacement, } from "./elements/PcContextMenu";
|
|
11
16
|
export { PcDialog, CANCEL_CHOICE, type DialogChoice, } from "./elements/PcDialog";
|
|
12
17
|
export { PcToast, TOAST_DURATION_MS, type ToastKind } from "./elements/PcToast";
|
|
13
18
|
export { PcInfoTip } from "./elements/PcInfoTip";
|
|
14
19
|
export { PcPopover } from "./elements/PcPopover";
|
|
15
20
|
export { PcPanel } from "./elements/PcPanel";
|
|
21
|
+
export { PcPane, PANE_COLLAPSE_EVENT, type PaneEdge, type PaneOrientation, } from "./elements/PcPane";
|
|
16
22
|
export { PcInputSettings, type InputSettingsLike, } from "./elements/PcInputSettings";
|
|
17
23
|
export { PcMatch } from "./elements/PcMatch";
|
|
24
|
+
export { PcColourPair, COLOUR_CLICK_EVENT } from "./elements/PcColourPair";
|
|
25
|
+
export { PcClipboardTools, CLIPBOARD_TOOLS } from "./elements/PcClipboardTools";
|
|
26
|
+
export { PcShortcutSettings, type ShortcutSettingsLike, } from "./elements/PcShortcutSettings";
|
|
27
|
+
export { PcAppSettings } from "./elements/PcAppSettings";
|
|
28
|
+
export { PcPanelColours, LONG_PRESS_MS, type ColourModel, } from "./elements/PcPanelColours";
|
|
18
29
|
export { PcStats, formatBytes } from "./elements/PcStats";
|
|
19
30
|
export { PcThemePicker, THEMES, THEME_ICONS, isTheme, type Theme, } from "./elements/PcThemePicker";
|
|
20
31
|
export { PaintCanvasElement } from "./elements/PaintCanvas";
|
|
21
|
-
export { DEFAULT_NARROW_WIDTH, DEFAULT_SIDE_MODES, LayoutStateController, STATE_EVENT, matchesState, parseSideModes, sideModeFor, type InputKind, type LayoutState, type SideMode, type SideModeRule, } from "./layout";
|
|
32
|
+
export { DEFAULT_NARROW_WIDTH, DEFAULT_SIDE_MODES, LayoutStateController, STATE_EVENT, matchesState, parseSideModes, showsRail, sideModeFor, type InputKind, type LayoutState, type SideMode, type SideModeRule, } from "./layout";
|
package/dist/ui/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { THEMES, isTheme } from "../lib/classes/UiSettings/index.js";
|
|
1
2
|
import { DARK_TOKENS, LIGHT_TOKENS, TOKENS_CSS, installTokens, tokens } from "./tokens/index.js";
|
|
2
3
|
import { DEFAULT_ICONS, IconRegistry, icons } from "./icons/index.js";
|
|
3
4
|
import { PcElement, defineElement, emit } from "./base/index.js";
|
|
@@ -7,16 +8,27 @@ import { PcButtonGroup } from "./elements/PcButtonGroup/index.js";
|
|
|
7
8
|
import { PcIconToggle } from "./elements/PcIconToggle/index.js";
|
|
8
9
|
import { PcToggleCheckbox } from "./elements/PcToggleCheckbox/index.js";
|
|
9
10
|
import { PcSlider } from "./elements/PcSlider/index.js";
|
|
10
|
-
import {
|
|
11
|
+
import { PcNumberSlider, fitNumber } from "./elements/PcNumberSlider/index.js";
|
|
12
|
+
import { PcBrushSize, sizeText } from "./elements/PcBrushSize/index.js";
|
|
13
|
+
import { DRAG_THRESHOLD, PointerDrag, dragDelta } from "./drag/index.js";
|
|
14
|
+
import { isDismissingPress, markDismissingPress } from "./dismiss/index.js";
|
|
15
|
+
import { PcMenu, isMenuItem, menuSections } from "./elements/PcMenu/index.js";
|
|
16
|
+
import { CONTEXT_MENU_TOGGLE_EVENT, MENU_MARGIN, PcContextMenu, menuLeft, menuTop } from "./elements/PcContextMenu/index.js";
|
|
11
17
|
import { CANCEL_CHOICE, PcDialog } from "./elements/PcDialog/index.js";
|
|
12
18
|
import { PcToast, TOAST_DURATION_MS } from "./elements/PcToast/index.js";
|
|
13
19
|
import { PcInfoTip } from "./elements/PcInfoTip/index.js";
|
|
14
20
|
import { PcPopover } from "./elements/PcPopover/index.js";
|
|
15
21
|
import { PcPanel } from "./elements/PcPanel/index.js";
|
|
22
|
+
import { PANE_COLLAPSE_EVENT, PcPane } from "./elements/PcPane/index.js";
|
|
16
23
|
import { PcInputSettings } from "./elements/PcInputSettings/index.js";
|
|
17
24
|
import { PcMatch } from "./elements/PcMatch/index.js";
|
|
25
|
+
import { COLOUR_CLICK_EVENT, PcColourPair } from "./elements/PcColourPair/index.js";
|
|
26
|
+
import { CLIPBOARD_TOOLS, PcClipboardTools } from "./elements/PcClipboardTools/index.js";
|
|
27
|
+
import { PcShortcutSettings } from "./elements/PcShortcutSettings/index.js";
|
|
28
|
+
import { PcAppSettings } from "./elements/PcAppSettings/index.js";
|
|
29
|
+
import { LONG_PRESS_MS, PcPanelColours } from "./elements/PcPanelColours/index.js";
|
|
18
30
|
import { PcStats, formatBytes } from "./elements/PcStats/index.js";
|
|
19
|
-
import { PcThemePicker,
|
|
31
|
+
import { PcThemePicker, THEME_ICONS } from "./elements/PcThemePicker/index.js";
|
|
20
32
|
import { PaintCanvasElement } from "./elements/PaintCanvas/index.js";
|
|
21
|
-
import { DEFAULT_NARROW_WIDTH, DEFAULT_SIDE_MODES, LayoutStateController, STATE_EVENT, matchesState, parseSideModes, sideModeFor } from "./layout/index.js";
|
|
22
|
-
export { CANCEL_CHOICE, DARK_TOKENS, DEFAULT_ICONS, DEFAULT_NARROW_WIDTH, DEFAULT_SIDE_MODES, IconRegistry, LIGHT_TOKENS, LayoutStateController, PaintCanvasElement, PcButton, PcButtonGroup, PcContextMenu, PcDialog, PcElement, PcIcon, PcIconToggle, PcInfoTip, PcInputSettings, PcMatch, PcPanel, PcPopover, PcSlider, PcStats, PcThemePicker, PcToast, PcToggleCheckbox, STATE_EVENT, THEMES, THEME_ICONS, TOAST_DURATION_MS, TOKENS_CSS, defineElement, emit, formatBytes, icons, installTokens, isTheme, matchesState, parseSideModes, sideModeFor, tokens };
|
|
33
|
+
import { DEFAULT_NARROW_WIDTH, DEFAULT_SIDE_MODES, LayoutStateController, STATE_EVENT, matchesState, parseSideModes, showsRail, sideModeFor } from "./layout/index.js";
|
|
34
|
+
export { CANCEL_CHOICE, CLIPBOARD_TOOLS, COLOUR_CLICK_EVENT, CONTEXT_MENU_TOGGLE_EVENT, DARK_TOKENS, DEFAULT_ICONS, DEFAULT_NARROW_WIDTH, DEFAULT_SIDE_MODES, DRAG_THRESHOLD, IconRegistry, LIGHT_TOKENS, LONG_PRESS_MS, LayoutStateController, MENU_MARGIN, PANE_COLLAPSE_EVENT, PaintCanvasElement, PcAppSettings, PcBrushSize, PcButton, PcButtonGroup, PcClipboardTools, PcColourPair, PcContextMenu, PcDialog, PcElement, PcIcon, PcIconToggle, PcInfoTip, PcInputSettings, PcMatch, PcMenu, PcNumberSlider, PcPane, PcPanel, PcPanelColours, PcPopover, PcShortcutSettings, PcSlider, PcStats, PcThemePicker, PcToast, PcToggleCheckbox, PointerDrag, STATE_EVENT, THEMES, THEME_ICONS, TOAST_DURATION_MS, TOKENS_CSS, defineElement, dragDelta, emit, fitNumber, formatBytes, icons, installTokens, isDismissingPress, isMenuItem, isTheme, markDismissingPress, matchesState, menuLeft, menuSections, menuTop, parseSideModes, showsRail, sideModeFor, sizeText, tokens };
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import type { ReactiveController, ReactiveControllerHost } from "lit";
|
|
2
2
|
/** How a side of the `<paint-canvas>` layout shows its content */
|
|
3
|
-
export type SideMode = "docked" | "rail" | "floating";
|
|
3
|
+
export type SideMode = "docked" | "rail" | "floating" | "overlay";
|
|
4
4
|
/** All side modes */
|
|
5
5
|
export declare const SIDE_MODES: readonly SideMode[];
|
|
6
|
+
/**
|
|
7
|
+
* Whether a side mode shows its panels from a rail of buttons: `rail`, and `overlay` (a rail over the canvas).
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* showsRail("overlay"); // true
|
|
11
|
+
* showsRail("docked"); // false
|
|
12
|
+
*/
|
|
13
|
+
export declare const showsRail: (mode: SideMode) => boolean;
|
|
6
14
|
/** A side mode, and the layout width below which it applies (none for the mode used otherwise) */
|
|
7
15
|
export interface SideModeRule {
|
|
8
16
|
mode: SideMode;
|
package/dist/ui/layout/index.js
CHANGED
|
@@ -3,8 +3,17 @@
|
|
|
3
3
|
var SIDE_MODES = [
|
|
4
4
|
"docked",
|
|
5
5
|
"rail",
|
|
6
|
-
"floating"
|
|
6
|
+
"floating",
|
|
7
|
+
"overlay"
|
|
7
8
|
];
|
|
9
|
+
/**
|
|
10
|
+
* Whether a side mode shows its panels from a rail of buttons: `rail`, and `overlay` (a rail over the canvas).
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* showsRail("overlay"); // true
|
|
14
|
+
* showsRail("docked"); // false
|
|
15
|
+
*/
|
|
16
|
+
var showsRail = (mode) => mode === "rail" || mode === "overlay";
|
|
8
17
|
/** Side modes used unless the implementer chooses others: docked, and a rail below 600px wide */
|
|
9
18
|
var DEFAULT_SIDE_MODES = "docked, rail@600";
|
|
10
19
|
/** Layout width (CSS pixels) below which the layout counts as narrow, unless the implementer chooses another */
|
|
@@ -93,4 +102,4 @@ var LayoutStateController = class {
|
|
|
93
102
|
this.source = void 0;
|
|
94
103
|
}
|
|
95
104
|
};
|
|
96
|
-
export { DEFAULT_NARROW_WIDTH, DEFAULT_SIDE_MODES, LayoutStateController, SIDE_MODES, STATE_EVENT, findLayout, matchesState, parseSideModes, sideModeFor };
|
|
105
|
+
export { DEFAULT_NARROW_WIDTH, DEFAULT_SIDE_MODES, LayoutStateController, SIDE_MODES, STATE_EVENT, findLayout, matchesState, parseSideModes, showsRail, sideModeFor };
|
|
@@ -5,16 +5,17 @@ export declare const LIGHT_TOKENS: TokenValues;
|
|
|
5
5
|
/** The dark theme's tokens that differ from the light theme's */
|
|
6
6
|
export declare const DARK_TOKENS: TokenValues;
|
|
7
7
|
/**
|
|
8
|
-
* The page-level stylesheet:
|
|
9
|
-
*
|
|
10
|
-
* theme
|
|
8
|
+
* The page-level stylesheet: tokens on the page, so every element inherits them and the implementer can override any
|
|
9
|
+
* token on `:root` or any ancestor. The page follows the device's theme (light or dark) unless its root element's
|
|
10
|
+
* `data-pc-theme` is `"light"` or `"dark"`; on an ancestor, `data-pc-theme` switches what's inside it to that theme
|
|
11
|
+
* (`"system"` follows the device).
|
|
11
12
|
*/
|
|
12
13
|
export declare const PAGE_TOKENS_CSS: string;
|
|
13
14
|
/** The design tokens as text: the page-level stylesheet (kept for including in the implementer's own stylesheets) */
|
|
14
15
|
export declare const TOKENS_CSS: string;
|
|
15
16
|
/**
|
|
16
17
|
* Elements' shared styles: a `theme` attribute switches one element (and what's inside it) to the light, dark or
|
|
17
|
-
*
|
|
18
|
+
* system theme, and `.pc-visually-hidden` hides text from view but not from screen readers.
|
|
18
19
|
*
|
|
19
20
|
* @example
|
|
20
21
|
* static styles = [tokens, css`button { color: var(--pc-text); }`];
|
package/dist/ui/tokens/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DELETE_CURSOR } from "../../lib/rendering/cursors/index.js";
|
|
1
2
|
import { unsafeCSS } from "lit";
|
|
2
3
|
// src/ui/tokens/index.ts
|
|
3
4
|
/** The light theme's tokens: colours, spacing, corner radius, fonts and focus ring */
|
|
@@ -20,6 +21,8 @@ var LIGHT_TOKENS = {
|
|
|
20
21
|
border: "#999999",
|
|
21
22
|
text: "#000000",
|
|
22
23
|
"text-muted": "#666666",
|
|
24
|
+
"map-border": "#999999",
|
|
25
|
+
"map-frame": "#000000",
|
|
23
26
|
shadow: "0 4px 16px rgb(0 0 0 / 25%)",
|
|
24
27
|
backdrop: "rgb(0 0 0 / 40%)",
|
|
25
28
|
accent: "#8f3de8",
|
|
@@ -37,12 +40,15 @@ var LIGHT_TOKENS = {
|
|
|
37
40
|
"radius-pill": "999px",
|
|
38
41
|
"control-size": "32px",
|
|
39
42
|
"icon-size": "24px",
|
|
43
|
+
"side-button-size": "52px",
|
|
44
|
+
"side-icon-size": "40px",
|
|
40
45
|
font: "Arial, Helvetica, sans-serif",
|
|
41
46
|
"font-size": "14px",
|
|
42
47
|
"font-size-small": "12px",
|
|
43
48
|
focus: "#000000",
|
|
44
49
|
"focus-width": "3px",
|
|
45
|
-
"color-scheme": "light"
|
|
50
|
+
"color-scheme": "light",
|
|
51
|
+
"delete-cursor": DELETE_CURSOR
|
|
46
52
|
};
|
|
47
53
|
/** The dark theme's tokens that differ from the light theme's */
|
|
48
54
|
var DARK_TOKENS = {
|
|
@@ -56,7 +62,7 @@ var DARK_TOKENS = {
|
|
|
56
62
|
"text-muted": "#b0b0b0",
|
|
57
63
|
shadow: "0 4px 16px rgb(0 0 0 / 60%)",
|
|
58
64
|
backdrop: "rgb(0 0 0 / 60%)",
|
|
59
|
-
accent: "#
|
|
65
|
+
accent: "#9449ed",
|
|
60
66
|
"dismiss-text": "#ff5cb8",
|
|
61
67
|
disabled: "#6b6b6b",
|
|
62
68
|
"icon-filter": "none",
|
|
@@ -71,18 +77,19 @@ var DARK_TOKENS = {
|
|
|
71
77
|
*/
|
|
72
78
|
var declarations = (values) => Object.entries(values).map(([name, value]) => `--pc-${name}: ${value};`).join(" ");
|
|
73
79
|
/**
|
|
74
|
-
* The page-level stylesheet:
|
|
75
|
-
*
|
|
76
|
-
* theme
|
|
80
|
+
* The page-level stylesheet: tokens on the page, so every element inherits them and the implementer can override any
|
|
81
|
+
* token on `:root` or any ancestor. The page follows the device's theme (light or dark) unless its root element's
|
|
82
|
+
* `data-pc-theme` is `"light"` or `"dark"`; on an ancestor, `data-pc-theme` switches what's inside it to that theme
|
|
83
|
+
* (`"system"` follows the device).
|
|
77
84
|
*/
|
|
78
85
|
var PAGE_TOKENS_CSS = `:root, [data-pc-theme="light"] { ${declarations(LIGHT_TOKENS)} }
|
|
79
86
|
[data-pc-theme="dark"] { ${declarations(DARK_TOKENS)} }
|
|
80
|
-
@media (prefers-color-scheme: dark) { [data-pc-theme="
|
|
87
|
+
@media (prefers-color-scheme: dark) { :root:not([data-pc-theme="light"]), [data-pc-theme="system"] { ${declarations(DARK_TOKENS)} } }`;
|
|
81
88
|
/** The design tokens as text: the page-level stylesheet (kept for including in the implementer's own stylesheets) */
|
|
82
89
|
var TOKENS_CSS = PAGE_TOKENS_CSS;
|
|
83
90
|
/**
|
|
84
91
|
* Elements' shared styles: a `theme` attribute switches one element (and what's inside it) to the light, dark or
|
|
85
|
-
*
|
|
92
|
+
* system theme, and `.pc-visually-hidden` hides text from view but not from screen readers.
|
|
86
93
|
*
|
|
87
94
|
* @example
|
|
88
95
|
* static styles = [tokens, css`button { color: var(--pc-text); }`];
|
|
@@ -92,7 +99,7 @@ var tokens = unsafeCSS(`:host([theme="light"]) { ${declarations(LIGHT_TOKENS)} }
|
|
|
92
99
|
...LIGHT_TOKENS,
|
|
93
100
|
...DARK_TOKENS
|
|
94
101
|
})} }
|
|
95
|
-
@media (prefers-color-scheme: dark) { :host([theme="
|
|
102
|
+
@media (prefers-color-scheme: dark) { :host([theme="system"]) { ${declarations({
|
|
96
103
|
...LIGHT_TOKENS,
|
|
97
104
|
...DARK_TOKENS
|
|
98
105
|
})} } }
|
package/locales/en-GB.json
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
"paintCanvas.common.save": "Save",
|
|
6
6
|
"paintCanvas.common.delete": "Delete",
|
|
7
7
|
"paintCanvas.common.clear": "Clear",
|
|
8
|
+
"paintCanvas.common.cut": "Cut",
|
|
8
9
|
"paintCanvas.common.copy": "Copy",
|
|
9
10
|
"paintCanvas.common.paste": "Paste",
|
|
10
11
|
"paintCanvas.common.undo": "Undo",
|
|
@@ -13,6 +14,7 @@
|
|
|
13
14
|
"paintCanvas.common.moreInformation": "More information",
|
|
14
15
|
"paintCanvas.common.width": "Width",
|
|
15
16
|
"paintCanvas.common.height": "Height",
|
|
17
|
+
"paintCanvas.common.size": "Size",
|
|
16
18
|
"paintCanvas.common.opacity": "Opacity",
|
|
17
19
|
"paintCanvas.tool.brush": "Brush",
|
|
18
20
|
"paintCanvas.tool.eraser": "Eraser",
|
|
@@ -25,8 +27,34 @@
|
|
|
25
27
|
"paintCanvas.tool.zoom": "Zoom",
|
|
26
28
|
"paintCanvas.tool.colourSample": "Colour sample",
|
|
27
29
|
"paintCanvas.tool.withShortcut": "{tool} ({shortcut})",
|
|
30
|
+
"paintCanvas.colours.foreground": "Foreground colour ({colour})",
|
|
31
|
+
"paintCanvas.colours.background": "Background colour ({colour})",
|
|
32
|
+
"paintCanvas.palette.label": "Colour palette",
|
|
33
|
+
"paintCanvas.palette.hex": "Hex colour",
|
|
34
|
+
"paintCanvas.palette.model": "Colour model",
|
|
35
|
+
"paintCanvas.palette.rgb": "RGB",
|
|
36
|
+
"paintCanvas.palette.hsl": "HSL",
|
|
37
|
+
"paintCanvas.palette.red": "Red",
|
|
38
|
+
"paintCanvas.palette.green": "Green",
|
|
39
|
+
"paintCanvas.palette.blue": "Blue",
|
|
40
|
+
"paintCanvas.palette.hue": "Hue",
|
|
41
|
+
"paintCanvas.palette.saturation": "Saturation",
|
|
42
|
+
"paintCanvas.palette.lightness": "Lightness",
|
|
43
|
+
"paintCanvas.palette.saved": "Saved colours",
|
|
44
|
+
"paintCanvas.palette.add": "Save {colour} to the palette",
|
|
45
|
+
"paintCanvas.palette.colourActions": "{colour} actions",
|
|
46
|
+
"paintCanvas.palette.deleteColour": "Delete colour",
|
|
47
|
+
"paintCanvas.palette.deleteMessage": "Do you want to delete this colour?",
|
|
48
|
+
"paintCanvas.palette.deleteConfirm": "Yes, delete colour",
|
|
49
|
+
"paintCanvas.palette.import": "Import",
|
|
50
|
+
"paintCanvas.palette.export": "Export",
|
|
51
|
+
"paintCanvas.palette.importFile": "Import colour palette file",
|
|
52
|
+
"paintCanvas.palette.imported.one": "Added {count} colour",
|
|
53
|
+
"paintCanvas.palette.imported.other": "Added {count} colours",
|
|
54
|
+
"paintCanvas.palette.fileIncompatible": "Colour palette JSON file not compatible",
|
|
55
|
+
"paintCanvas.palette.fileReadFailed": "Failed to read colour palette JSON file",
|
|
56
|
+
"paintCanvas.palette.exportFailed": "Error exporting colour palette JSON file",
|
|
28
57
|
"paintCanvas.toolbar.label": "Tools",
|
|
29
|
-
"paintCanvas.toolbar.currentColour": "Current colour",
|
|
30
58
|
"paintCanvas.toolbar.layers": "Layers",
|
|
31
59
|
"paintCanvas.toolbar.menu": "Menu",
|
|
32
60
|
"paintCanvas.toolbar.undoWithShortcut": "Undo ({shortcut})",
|
|
@@ -35,6 +63,8 @@
|
|
|
35
63
|
"paintCanvas.toolSettings.presets": "{tool} presets",
|
|
36
64
|
"paintCanvas.toolSettings.configure": "Configure",
|
|
37
65
|
"paintCanvas.toolSettings.constrainProportions": "Constrain proportions",
|
|
66
|
+
"paintCanvas.toolSettings.sizeSettings": "Size settings",
|
|
67
|
+
"paintCanvas.toolSettings.moreActions": "More actions",
|
|
38
68
|
"paintCanvas.toolSettings.pressure": "Pressure",
|
|
39
69
|
"paintCanvas.toolSettings.tilt": "Tilt",
|
|
40
70
|
"paintCanvas.toolSettings.focusPen": "Focus pen mode",
|
|
@@ -50,7 +80,7 @@
|
|
|
50
80
|
"paintCanvas.toolSettings.areaSample": "Area sample",
|
|
51
81
|
"paintCanvas.brushMenu.presets": "{tool} presets",
|
|
52
82
|
"paintCanvas.brushMenu.size": "{tool} size",
|
|
53
|
-
"paintCanvas.
|
|
83
|
+
"paintCanvas.numberSlider.hint": "Drag sideways to change, or tap to type",
|
|
54
84
|
"paintCanvas.brushMenu.newPreset": "New preset",
|
|
55
85
|
"paintCanvas.brushMenu.create": "Create",
|
|
56
86
|
"paintCanvas.brushMenu.import": "Import",
|
|
@@ -73,6 +103,8 @@
|
|
|
73
103
|
"paintCanvas.brushConfig.eraserTitle": "Eraser configuration",
|
|
74
104
|
"paintCanvas.brushConfig.presetName": "Name of the preset",
|
|
75
105
|
"paintCanvas.brushConfig.shape": "Shape",
|
|
106
|
+
"paintCanvas.brushConfig.chooseShape": "Choose a shape",
|
|
107
|
+
"paintCanvas.brushConfig.customShape": "Custom",
|
|
76
108
|
"paintCanvas.brushConfig.upload": "Upload",
|
|
77
109
|
"paintCanvas.brushConfig.paste": "Paste",
|
|
78
110
|
"paintCanvas.brushConfig.rotation": "Rotation",
|
|
@@ -89,6 +121,7 @@
|
|
|
89
121
|
"paintCanvas.brushConfig.shapeFailed": "Couldn't use the brush shape",
|
|
90
122
|
"paintCanvas.brushConfig.test": "Test",
|
|
91
123
|
"paintCanvas.brushConfig.testArea": "Brush testing area",
|
|
124
|
+
"paintCanvas.brushConfig.showStrokePoints": "Show stroke points",
|
|
92
125
|
"paintCanvas.shape.notPng": "Brush shapes must be PNG images",
|
|
93
126
|
"paintCanvas.shape.tooLarge": "Brush shape images can be up to 2 MB",
|
|
94
127
|
"paintCanvas.shape.readFailed": "Couldn't read the brush shape image",
|
|
@@ -167,6 +200,66 @@
|
|
|
167
200
|
"paintCanvas.autosave.elsewhereMessage": "This drawing is open in another window or tab, and only one can draw on it at a time. Choose \"Draw here instead\" to continue in this window; the other one stops.",
|
|
168
201
|
"paintCanvas.autosave.takeOver": "Draw here instead",
|
|
169
202
|
"paintCanvas.autosave.failed": "Couldn't keep the drawing in this browser",
|
|
203
|
+
"paintCanvas.settings.saveFailed": "Couldn't keep your settings in this browser",
|
|
204
|
+
"paintCanvas.shortcuts.title": "Keyboard shortcuts",
|
|
205
|
+
"paintCanvas.shortcuts.recordHint": "Press the keys to use",
|
|
206
|
+
"paintCanvas.shortcuts.none": "None",
|
|
207
|
+
"paintCanvas.shortcuts.remove": "Remove the {action} shortcut",
|
|
208
|
+
"paintCanvas.shortcuts.fixed": "Can't be changed",
|
|
209
|
+
"paintCanvas.shortcuts.fixedUsed": "{keys} is used by {action}, which can't be changed",
|
|
210
|
+
"paintCanvas.shortcuts.moved": "{keys} moved from {from} to {to}",
|
|
211
|
+
"paintCanvas.shortcuts.reset": "Reset to defaults",
|
|
212
|
+
"paintCanvas.shortcuts.wasReset": "Keyboard shortcuts reset to defaults",
|
|
213
|
+
"paintCanvas.shortcuts.group.tools": "Tools",
|
|
214
|
+
"paintCanvas.shortcuts.group.brushes": "Brushes & erasers",
|
|
215
|
+
"paintCanvas.shortcuts.group.clipboard": "Clipboard",
|
|
216
|
+
"paintCanvas.shortcuts.group.masking": "Masking",
|
|
217
|
+
"paintCanvas.shortcuts.group.fills": "Fills and colours",
|
|
218
|
+
"paintCanvas.shortcuts.group.viewport": "View",
|
|
219
|
+
"paintCanvas.shortcuts.group.layers": "Layers",
|
|
220
|
+
"paintCanvas.shortcuts.group.history": "History",
|
|
221
|
+
"paintCanvas.shortcuts.group.general": "General",
|
|
222
|
+
"paintCanvas.shortcuts.pan": "Pan while held (back to the last tool when let go)",
|
|
223
|
+
"paintCanvas.shortcuts.tool-move": "Move",
|
|
224
|
+
"paintCanvas.shortcuts.tool-brush": "Brush",
|
|
225
|
+
"paintCanvas.shortcuts.tool-eraser": "Eraser",
|
|
226
|
+
"paintCanvas.shortcuts.tool-rectangle-mask": "Rectangle mask",
|
|
227
|
+
"paintCanvas.shortcuts.tool-circle-mask": "Circle mask",
|
|
228
|
+
"paintCanvas.shortcuts.tool-polygon-mask": "Polygon mask",
|
|
229
|
+
"paintCanvas.shortcuts.tool-freehand-mask": "Freehand mask",
|
|
230
|
+
"paintCanvas.shortcuts.tool-colour-sample": "Colour sampler",
|
|
231
|
+
"paintCanvas.shortcuts.tool-zoom": "Zoom",
|
|
232
|
+
"paintCanvas.shortcuts.brush-bigger": "Increase size",
|
|
233
|
+
"paintCanvas.shortcuts.brush-smaller": "Decrease size",
|
|
234
|
+
"paintCanvas.shortcuts.brush-more-opaque": "Increase opacity",
|
|
235
|
+
"paintCanvas.shortcuts.brush-less-opaque": "Decrease opacity",
|
|
236
|
+
"paintCanvas.shortcuts.cut": "Cut",
|
|
237
|
+
"paintCanvas.shortcuts.copy": "Copy",
|
|
238
|
+
"paintCanvas.shortcuts.paste": "Paste",
|
|
239
|
+
"paintCanvas.shortcuts.select-all": "Select all",
|
|
240
|
+
"paintCanvas.shortcuts.invert-selection": "Invert selection",
|
|
241
|
+
"paintCanvas.shortcuts.deselect": "Deselect",
|
|
242
|
+
"paintCanvas.shortcuts.fill-foreground": "Fill with foreground colour",
|
|
243
|
+
"paintCanvas.shortcuts.fill-background": "Fill with background colour",
|
|
244
|
+
"paintCanvas.shortcuts.swap-colours": "Swap foreground and background colours",
|
|
245
|
+
"paintCanvas.shortcuts.zoom-in": "Zoom in",
|
|
246
|
+
"paintCanvas.shortcuts.zoom-out": "Zoom out",
|
|
247
|
+
"paintCanvas.shortcuts.reset-zoom": "Zoom to 100%",
|
|
248
|
+
"paintCanvas.shortcuts.toggle-interface": "Show or hide the interface",
|
|
249
|
+
"paintCanvas.shortcuts.save": "Save as PNG",
|
|
250
|
+
"paintCanvas.shortcuts.undo": "Undo",
|
|
251
|
+
"paintCanvas.shortcuts.redo": "Redo",
|
|
252
|
+
"paintCanvas.shortcuts.delete": "Delete the masked area",
|
|
253
|
+
"paintCanvas.shortcuts.cancel": "Cancel",
|
|
254
|
+
"paintCanvas.shortcuts.commit": "Apply",
|
|
255
|
+
"paintCanvas.shortcuts.layerOpacity": "Set layer opacity to {percent}%",
|
|
256
|
+
"paintCanvas.settings.import": "Import settings",
|
|
257
|
+
"paintCanvas.settings.export": "Export settings",
|
|
258
|
+
"paintCanvas.settings.importFile": "Import settings file",
|
|
259
|
+
"paintCanvas.settings.imported": "Settings imported",
|
|
260
|
+
"paintCanvas.settings.fileIncompatible": "Settings JSON file not compatible",
|
|
261
|
+
"paintCanvas.settings.fileReadFailed": "Failed to read settings JSON file",
|
|
262
|
+
"paintCanvas.settings.exportFailed": "Error exporting settings JSON file",
|
|
170
263
|
"paintCanvas.stats.label": "Canvas details",
|
|
171
264
|
"paintCanvas.stats.size": "Canvas: {width} × {height} px",
|
|
172
265
|
"paintCanvas.stats.zoom": "Zoom: {zoom}",
|
|
@@ -175,5 +268,5 @@
|
|
|
175
268
|
"paintCanvas.theme.label": "Theme",
|
|
176
269
|
"paintCanvas.theme.light": "Light",
|
|
177
270
|
"paintCanvas.theme.dark": "Dark",
|
|
178
|
-
"paintCanvas.theme.
|
|
271
|
+
"paintCanvas.theme.system": "System"
|
|
179
272
|
}
|