@lvl99dotcom/paintcanvas 0.3.1 → 0.4.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.
Files changed (92) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/brushes/StrokeEngine/index.d.ts +2 -2
  3. package/dist/lib/brushes/StrokeEngine/index.js +26 -28
  4. package/dist/lib/classes/BrushSettings/index.d.ts +24 -0
  5. package/dist/lib/classes/BrushSettings/index.js +35 -1
  6. package/dist/lib/classes/KeyboardShortcuts/index.d.ts +17 -6
  7. package/dist/lib/classes/KeyboardShortcuts/index.js +81 -18
  8. package/dist/lib/classes/PaintCanvas/index.d.ts +77 -27
  9. package/dist/lib/classes/PaintCanvas/index.js +141 -41
  10. package/dist/lib/classes/PaintCanvas/tool.d.ts +15 -0
  11. package/dist/lib/classes/PaintCanvas/tool.js +18 -0
  12. package/dist/lib/classes/Palette/index.d.ts +58 -0
  13. package/dist/lib/classes/Palette/index.js +92 -0
  14. package/dist/lib/classes/SettingsAutosave/index.d.ts +52 -0
  15. package/dist/lib/classes/SettingsAutosave/index.js +96 -0
  16. package/dist/lib/classes/ShortcutSettings/index.d.ts +63 -0
  17. package/dist/lib/classes/ShortcutSettings/index.js +110 -0
  18. package/dist/lib/palette/index.d.ts +49 -0
  19. package/dist/lib/palette/index.js +82 -0
  20. package/dist/lib/palette/schema.d.ts +45 -0
  21. package/dist/lib/palette/schema.js +41 -0
  22. package/dist/lib/rendering/cursors/index.d.ts +2 -0
  23. package/dist/lib/rendering/cursors/index.js +3 -1
  24. package/dist/lib/rendering/sample/index.js +3 -2
  25. package/dist/lib/settings/index.d.ts +63 -0
  26. package/dist/lib/settings/index.js +91 -0
  27. package/dist/lib/settings/schema.d.ts +150 -0
  28. package/dist/lib/settings/schema.js +102 -0
  29. package/dist/lib/storage/index.d.ts +36 -5
  30. package/dist/lib/storage/index.js +87 -29
  31. package/dist/lib/utils/colour/index.d.ts +72 -0
  32. package/dist/lib/utils/colour/index.js +154 -0
  33. package/dist/lib/utils/shortcuts/index.d.ts +174 -11
  34. package/dist/lib/utils/shortcuts/index.js +391 -145
  35. package/dist/lib/validation/validators.generated.d.ts +5 -0
  36. package/dist/lib/validation/validators.generated.js +872 -1
  37. package/dist/locales/en-GB.js +87 -1
  38. package/dist/locales/en-US.js +87 -1
  39. package/dist/locales/fr.js +87 -1
  40. package/dist/locales/ja.js +87 -1
  41. package/dist/locales/ko.js +87 -1
  42. package/dist/locales/zh-Hans.js +87 -1
  43. package/dist/locales/zh-Hant.js +87 -1
  44. package/dist/package.js +1 -1
  45. package/dist/ui/elements/PaintCanvas/index.d.ts +49 -47
  46. package/dist/ui/elements/PaintCanvas/index.js +121 -171
  47. package/dist/ui/elements/PaintCanvas/style.js +1 -1
  48. package/dist/ui/elements/PcAppSettings/index.d.ts +59 -0
  49. package/dist/ui/elements/PcAppSettings/index.js +222 -0
  50. package/dist/ui/elements/PcCanvas/index.d.ts +1 -1
  51. package/dist/ui/elements/PcCanvas/index.js +7 -5
  52. package/dist/ui/elements/PcColourPair/index.d.ts +43 -0
  53. package/dist/ui/elements/PcColourPair/index.js +125 -0
  54. package/dist/ui/elements/PcContextMenu/index.d.ts +70 -33
  55. package/dist/ui/elements/PcContextMenu/index.js +128 -97
  56. package/dist/ui/elements/PcLayerItem/index.d.ts +13 -34
  57. package/dist/ui/elements/PcLayerItem/index.js +39 -91
  58. package/dist/ui/elements/PcLayerItem/style.js +1 -1
  59. package/dist/ui/elements/PcMenu/index.d.ts +93 -0
  60. package/dist/ui/elements/PcMenu/index.js +204 -0
  61. package/dist/ui/elements/PcPane/index.d.ts +118 -0
  62. package/dist/ui/elements/PcPane/index.js +357 -0
  63. package/dist/ui/elements/PcPanel/index.d.ts +26 -8
  64. package/dist/ui/elements/PcPanel/index.js +76 -8
  65. package/dist/ui/elements/{PcBrushMenu → PcPanelBrushes}/index.d.ts +20 -6
  66. package/dist/ui/elements/{PcBrushMenu → PcPanelBrushes}/index.js +18 -14
  67. package/dist/ui/elements/PcPanelBrushes/style.js +3 -0
  68. package/dist/ui/elements/PcPanelColours/index.d.ts +171 -0
  69. package/dist/ui/elements/PcPanelColours/index.js +650 -0
  70. package/dist/ui/elements/PcPanelColours/style.js +3 -0
  71. package/dist/ui/elements/{PcLayersMenu → PcPanelLayers}/index.d.ts +17 -4
  72. package/dist/ui/elements/{PcLayersMenu → PcPanelLayers}/index.js +17 -10
  73. package/dist/ui/elements/PcPanelLayers/style.js +3 -0
  74. package/dist/ui/elements/PcShortcutSettings/index.d.ts +69 -0
  75. package/dist/ui/elements/PcShortcutSettings/index.js +273 -0
  76. package/dist/ui/elements/PcToolSettings/index.js +2 -1
  77. package/dist/ui/elements/PcToolbar/index.d.ts +47 -12
  78. package/dist/ui/elements/PcToolbar/index.js +77 -56
  79. package/dist/ui/elements/PcToolbar/style.js +1 -1
  80. package/dist/ui/index.d.ts +7 -1
  81. package/dist/ui/index.js +8 -2
  82. package/dist/ui/tokens/index.js +3 -1
  83. package/locales/en-GB.json +87 -1
  84. package/locales/en-US.json +87 -1
  85. package/locales/fr.json +87 -1
  86. package/locales/ja.json +87 -1
  87. package/locales/ko.json +87 -1
  88. package/locales/zh-Hans.json +87 -1
  89. package/locales/zh-Hant.json +87 -1
  90. package/package.json +1 -1
  91. package/dist/ui/elements/PcBrushMenu/style.js +0 -3
  92. package/dist/ui/elements/PcLayersMenu/style.js +0 -3
package/locales/ja.json CHANGED
@@ -25,8 +25,34 @@
25
25
  "paintCanvas.tool.zoom": "ズーム",
26
26
  "paintCanvas.tool.colourSample": "スポイト",
27
27
  "paintCanvas.tool.withShortcut": "{tool}({shortcut})",
28
+ "paintCanvas.colours.foreground": "描画色({colour})",
29
+ "paintCanvas.colours.background": "背景色({colour})",
30
+ "paintCanvas.palette.label": "カラーパレット",
31
+ "paintCanvas.palette.hex": "16進数カラー",
32
+ "paintCanvas.palette.model": "カラーモデル",
33
+ "paintCanvas.palette.rgb": "RGB",
34
+ "paintCanvas.palette.hsl": "HSL",
35
+ "paintCanvas.palette.red": "赤",
36
+ "paintCanvas.palette.green": "緑",
37
+ "paintCanvas.palette.blue": "青",
38
+ "paintCanvas.palette.hue": "色相",
39
+ "paintCanvas.palette.saturation": "彩度",
40
+ "paintCanvas.palette.lightness": "明度",
41
+ "paintCanvas.palette.saved": "保存した色",
42
+ "paintCanvas.palette.add": "{colour}をパレットに保存",
43
+ "paintCanvas.palette.colourActions": "{colour}の操作",
44
+ "paintCanvas.palette.deleteColour": "色を削除",
45
+ "paintCanvas.palette.deleteMessage": "この色を削除しますか?",
46
+ "paintCanvas.palette.deleteConfirm": "はい、削除します",
47
+ "paintCanvas.palette.import": "読み込み",
48
+ "paintCanvas.palette.export": "書き出し",
49
+ "paintCanvas.palette.importFile": "カラーパレットのファイルを読み込む",
50
+ "paintCanvas.palette.imported.one": "{count}色を追加しました",
51
+ "paintCanvas.palette.imported.other": "{count}色を追加しました",
52
+ "paintCanvas.palette.fileIncompatible": "このカラーパレットのJSONファイルには対応していません",
53
+ "paintCanvas.palette.fileReadFailed": "カラーパレットのJSONファイルを読み込めませんでした",
54
+ "paintCanvas.palette.exportFailed": "カラーパレットのJSONファイルを書き出せませんでした",
28
55
  "paintCanvas.toolbar.label": "ツール",
29
- "paintCanvas.toolbar.currentColour": "現在の色",
30
56
  "paintCanvas.toolbar.layers": "レイヤー",
31
57
  "paintCanvas.toolbar.menu": "メニュー",
32
58
  "paintCanvas.toolbar.undoWithShortcut": "取り消す({shortcut})",
@@ -167,6 +193,66 @@
167
193
  "paintCanvas.autosave.elsewhereMessage": "この絵は別のウィンドウまたはタブで開かれていて、一度に描画できるのは1つだけです。「ここで描画する」を選ぶと、このウィンドウで続けられます(もう一方は停止します)。",
168
194
  "paintCanvas.autosave.takeOver": "ここで描画する",
169
195
  "paintCanvas.autosave.failed": "このブラウザに絵を保存できませんでした",
196
+ "paintCanvas.settings.saveFailed": "このブラウザに設定を保存できませんでした",
197
+ "paintCanvas.shortcuts.title": "キーボードショートカット",
198
+ "paintCanvas.shortcuts.recordHint": "使うキーを押してください",
199
+ "paintCanvas.shortcuts.none": "なし",
200
+ "paintCanvas.shortcuts.remove": "{action}のショートカットを削除",
201
+ "paintCanvas.shortcuts.fixed": "変更できません",
202
+ "paintCanvas.shortcuts.fixedUsed": "{keys}は{action}で使われていて、変更できません",
203
+ "paintCanvas.shortcuts.moved": "{keys}を{from}から{to}に移しました",
204
+ "paintCanvas.shortcuts.reset": "初期設定に戻す",
205
+ "paintCanvas.shortcuts.wasReset": "キーボードショートカットを初期設定に戻しました",
206
+ "paintCanvas.shortcuts.group.tools": "ツール",
207
+ "paintCanvas.shortcuts.group.brushes": "ブラシと消しゴム",
208
+ "paintCanvas.shortcuts.group.clipboard": "クリップボード",
209
+ "paintCanvas.shortcuts.group.masking": "マスク",
210
+ "paintCanvas.shortcuts.group.fills": "塗りつぶしと色",
211
+ "paintCanvas.shortcuts.group.viewport": "表示",
212
+ "paintCanvas.shortcuts.group.layers": "レイヤー",
213
+ "paintCanvas.shortcuts.group.history": "履歴",
214
+ "paintCanvas.shortcuts.group.general": "全般",
215
+ "paintCanvas.shortcuts.pan": "押している間パン(離すと前のツールに戻る)",
216
+ "paintCanvas.shortcuts.tool-move": "移動",
217
+ "paintCanvas.shortcuts.tool-brush": "ブラシ",
218
+ "paintCanvas.shortcuts.tool-eraser": "消しゴム",
219
+ "paintCanvas.shortcuts.tool-rectangle-mask": "矩形マスク",
220
+ "paintCanvas.shortcuts.tool-circle-mask": "円形マスク",
221
+ "paintCanvas.shortcuts.tool-polygon-mask": "多角形マスク",
222
+ "paintCanvas.shortcuts.tool-freehand-mask": "フリーハンドマスク",
223
+ "paintCanvas.shortcuts.tool-colour-sample": "スポイト",
224
+ "paintCanvas.shortcuts.tool-zoom": "ズーム",
225
+ "paintCanvas.shortcuts.brush-bigger": "サイズを大きく",
226
+ "paintCanvas.shortcuts.brush-smaller": "サイズを小さく",
227
+ "paintCanvas.shortcuts.brush-more-opaque": "不透明度を上げる",
228
+ "paintCanvas.shortcuts.brush-less-opaque": "不透明度を下げる",
229
+ "paintCanvas.shortcuts.cut": "切り取り",
230
+ "paintCanvas.shortcuts.copy": "コピー",
231
+ "paintCanvas.shortcuts.paste": "貼り付け",
232
+ "paintCanvas.shortcuts.select-all": "すべて選択",
233
+ "paintCanvas.shortcuts.invert-selection": "選択範囲を反転",
234
+ "paintCanvas.shortcuts.deselect": "選択を解除",
235
+ "paintCanvas.shortcuts.fill-foreground": "描画色で塗りつぶす",
236
+ "paintCanvas.shortcuts.fill-background": "背景色で塗りつぶす",
237
+ "paintCanvas.shortcuts.swap-colours": "描画色と背景色を入れ替える",
238
+ "paintCanvas.shortcuts.zoom-in": "ズームイン",
239
+ "paintCanvas.shortcuts.zoom-out": "ズームアウト",
240
+ "paintCanvas.shortcuts.reset-zoom": "100%にズーム",
241
+ "paintCanvas.shortcuts.toggle-interface": "インターフェイスの表示/非表示",
242
+ "paintCanvas.shortcuts.save": "PNGで保存",
243
+ "paintCanvas.shortcuts.undo": "取り消す",
244
+ "paintCanvas.shortcuts.redo": "やり直す",
245
+ "paintCanvas.shortcuts.delete": "マスク範囲を削除",
246
+ "paintCanvas.shortcuts.cancel": "キャンセル",
247
+ "paintCanvas.shortcuts.commit": "適用",
248
+ "paintCanvas.shortcuts.layerOpacity": "レイヤーの不透明度を{percent}%にする",
249
+ "paintCanvas.settings.import": "設定を読み込む",
250
+ "paintCanvas.settings.export": "設定を書き出す",
251
+ "paintCanvas.settings.importFile": "設定ファイルを読み込む",
252
+ "paintCanvas.settings.imported": "設定を読み込みました",
253
+ "paintCanvas.settings.fileIncompatible": "この設定のJSONファイルには対応していません",
254
+ "paintCanvas.settings.fileReadFailed": "設定のJSONファイルを読み込めませんでした",
255
+ "paintCanvas.settings.exportFailed": "設定のJSONファイルを書き出せませんでした",
170
256
  "paintCanvas.stats.label": "キャンバスの詳細",
171
257
  "paintCanvas.stats.size": "キャンバス: {width} × {height} px",
172
258
  "paintCanvas.stats.zoom": "ズーム: {zoom}",
package/locales/ko.json CHANGED
@@ -25,8 +25,34 @@
25
25
  "paintCanvas.tool.zoom": "확대/축소",
26
26
  "paintCanvas.tool.colourSample": "스포이트",
27
27
  "paintCanvas.tool.withShortcut": "{tool} ({shortcut})",
28
+ "paintCanvas.colours.foreground": "전경색 ({colour})",
29
+ "paintCanvas.colours.background": "배경색 ({colour})",
30
+ "paintCanvas.palette.label": "색상 팔레트",
31
+ "paintCanvas.palette.hex": "16진수 색상",
32
+ "paintCanvas.palette.model": "색상 모델",
33
+ "paintCanvas.palette.rgb": "RGB",
34
+ "paintCanvas.palette.hsl": "HSL",
35
+ "paintCanvas.palette.red": "빨강",
36
+ "paintCanvas.palette.green": "초록",
37
+ "paintCanvas.palette.blue": "파랑",
38
+ "paintCanvas.palette.hue": "색조",
39
+ "paintCanvas.palette.saturation": "채도",
40
+ "paintCanvas.palette.lightness": "명도",
41
+ "paintCanvas.palette.saved": "저장된 색상",
42
+ "paintCanvas.palette.add": "{colour}을(를) 팔레트에 저장",
43
+ "paintCanvas.palette.colourActions": "{colour} 작업",
44
+ "paintCanvas.palette.deleteColour": "색상 삭제",
45
+ "paintCanvas.palette.deleteMessage": "이 색상을 삭제할까요?",
46
+ "paintCanvas.palette.deleteConfirm": "예, 삭제합니다",
47
+ "paintCanvas.palette.import": "가져오기",
48
+ "paintCanvas.palette.export": "내보내기",
49
+ "paintCanvas.palette.importFile": "색상 팔레트 파일 가져오기",
50
+ "paintCanvas.palette.imported.one": "색상 {count}개를 추가했습니다",
51
+ "paintCanvas.palette.imported.other": "색상 {count}개를 추가했습니다",
52
+ "paintCanvas.palette.fileIncompatible": "호환되지 않는 색상 팔레트 JSON 파일입니다",
53
+ "paintCanvas.palette.fileReadFailed": "색상 팔레트 JSON 파일을 읽지 못했습니다",
54
+ "paintCanvas.palette.exportFailed": "색상 팔레트 JSON 파일을 내보내지 못했습니다",
28
55
  "paintCanvas.toolbar.label": "도구",
29
- "paintCanvas.toolbar.currentColour": "현재 색상",
30
56
  "paintCanvas.toolbar.layers": "레이어",
31
57
  "paintCanvas.toolbar.menu": "메뉴",
32
58
  "paintCanvas.toolbar.undoWithShortcut": "실행 취소 ({shortcut})",
@@ -167,6 +193,66 @@
167
193
  "paintCanvas.autosave.elsewhereMessage": "이 그림은 다른 창이나 탭에서 열려 있으며, 한 번에 한 곳에서만 그릴 수 있습니다. ‘여기서 그리기’를 선택하면 이 창에서 계속 그립니다(다른 창은 멈춥니다).",
168
194
  "paintCanvas.autosave.takeOver": "여기서 그리기",
169
195
  "paintCanvas.autosave.failed": "이 브라우저에 그림을 저장하지 못했습니다",
196
+ "paintCanvas.settings.saveFailed": "이 브라우저에 설정을 저장하지 못했습니다",
197
+ "paintCanvas.shortcuts.title": "키보드 단축키",
198
+ "paintCanvas.shortcuts.recordHint": "사용할 키를 누르세요",
199
+ "paintCanvas.shortcuts.none": "없음",
200
+ "paintCanvas.shortcuts.remove": "{action} 단축키 삭제",
201
+ "paintCanvas.shortcuts.fixed": "변경할 수 없음",
202
+ "paintCanvas.shortcuts.fixedUsed": "{keys}은(는) 변경할 수 없는 {action}에 사용됩니다",
203
+ "paintCanvas.shortcuts.moved": "{keys}을(를) {from}에서 {to}(으)로 옮겼습니다",
204
+ "paintCanvas.shortcuts.reset": "기본값으로 재설정",
205
+ "paintCanvas.shortcuts.wasReset": "키보드 단축키를 기본값으로 재설정했습니다",
206
+ "paintCanvas.shortcuts.group.tools": "도구",
207
+ "paintCanvas.shortcuts.group.brushes": "브러시 및 지우개",
208
+ "paintCanvas.shortcuts.group.clipboard": "클립보드",
209
+ "paintCanvas.shortcuts.group.masking": "마스크",
210
+ "paintCanvas.shortcuts.group.fills": "채우기 및 색상",
211
+ "paintCanvas.shortcuts.group.viewport": "보기",
212
+ "paintCanvas.shortcuts.group.layers": "레이어",
213
+ "paintCanvas.shortcuts.group.history": "기록",
214
+ "paintCanvas.shortcuts.group.general": "일반",
215
+ "paintCanvas.shortcuts.pan": "누르는 동안 이동(놓으면 이전 도구로 돌아감)",
216
+ "paintCanvas.shortcuts.tool-move": "이동",
217
+ "paintCanvas.shortcuts.tool-brush": "브러시",
218
+ "paintCanvas.shortcuts.tool-eraser": "지우개",
219
+ "paintCanvas.shortcuts.tool-rectangle-mask": "사각형 마스크",
220
+ "paintCanvas.shortcuts.tool-circle-mask": "원형 마스크",
221
+ "paintCanvas.shortcuts.tool-polygon-mask": "다각형 마스크",
222
+ "paintCanvas.shortcuts.tool-freehand-mask": "자유형 마스크",
223
+ "paintCanvas.shortcuts.tool-colour-sample": "스포이트",
224
+ "paintCanvas.shortcuts.tool-zoom": "확대/축소",
225
+ "paintCanvas.shortcuts.brush-bigger": "크기 늘리기",
226
+ "paintCanvas.shortcuts.brush-smaller": "크기 줄이기",
227
+ "paintCanvas.shortcuts.brush-more-opaque": "불투명도 높이기",
228
+ "paintCanvas.shortcuts.brush-less-opaque": "불투명도 낮추기",
229
+ "paintCanvas.shortcuts.cut": "잘라내기",
230
+ "paintCanvas.shortcuts.copy": "복사",
231
+ "paintCanvas.shortcuts.paste": "붙여넣기",
232
+ "paintCanvas.shortcuts.select-all": "모두 선택",
233
+ "paintCanvas.shortcuts.invert-selection": "선택 영역 반전",
234
+ "paintCanvas.shortcuts.deselect": "선택 해제",
235
+ "paintCanvas.shortcuts.fill-foreground": "전경색으로 채우기",
236
+ "paintCanvas.shortcuts.fill-background": "배경색으로 채우기",
237
+ "paintCanvas.shortcuts.swap-colours": "전경색과 배경색 바꾸기",
238
+ "paintCanvas.shortcuts.zoom-in": "확대",
239
+ "paintCanvas.shortcuts.zoom-out": "축소",
240
+ "paintCanvas.shortcuts.reset-zoom": "100%로 확대/축소",
241
+ "paintCanvas.shortcuts.toggle-interface": "인터페이스 표시/숨기기",
242
+ "paintCanvas.shortcuts.save": "PNG로 저장",
243
+ "paintCanvas.shortcuts.undo": "실행 취소",
244
+ "paintCanvas.shortcuts.redo": "다시 실행",
245
+ "paintCanvas.shortcuts.delete": "마스크 영역 삭제",
246
+ "paintCanvas.shortcuts.cancel": "취소",
247
+ "paintCanvas.shortcuts.commit": "적용",
248
+ "paintCanvas.shortcuts.layerOpacity": "레이어 불투명도를 {percent}%로 설정",
249
+ "paintCanvas.settings.import": "설정 가져오기",
250
+ "paintCanvas.settings.export": "설정 내보내기",
251
+ "paintCanvas.settings.importFile": "설정 파일 가져오기",
252
+ "paintCanvas.settings.imported": "설정을 가져왔습니다",
253
+ "paintCanvas.settings.fileIncompatible": "호환되지 않는 설정 JSON 파일입니다",
254
+ "paintCanvas.settings.fileReadFailed": "설정 JSON 파일을 읽지 못했습니다",
255
+ "paintCanvas.settings.exportFailed": "설정 JSON 파일을 내보내지 못했습니다",
170
256
  "paintCanvas.stats.label": "캔버스 정보",
171
257
  "paintCanvas.stats.size": "캔버스: {width} × {height} px",
172
258
  "paintCanvas.stats.zoom": "확대/축소: {zoom}",
@@ -25,8 +25,34 @@
25
25
  "paintCanvas.tool.zoom": "缩放",
26
26
  "paintCanvas.tool.colourSample": "取色器",
27
27
  "paintCanvas.tool.withShortcut": "{tool}({shortcut})",
28
+ "paintCanvas.colours.foreground": "前景色({colour})",
29
+ "paintCanvas.colours.background": "背景色({colour})",
30
+ "paintCanvas.palette.label": "调色板",
31
+ "paintCanvas.palette.hex": "十六进制颜色",
32
+ "paintCanvas.palette.model": "颜色模式",
33
+ "paintCanvas.palette.rgb": "RGB",
34
+ "paintCanvas.palette.hsl": "HSL",
35
+ "paintCanvas.palette.red": "红",
36
+ "paintCanvas.palette.green": "绿",
37
+ "paintCanvas.palette.blue": "蓝",
38
+ "paintCanvas.palette.hue": "色相",
39
+ "paintCanvas.palette.saturation": "饱和度",
40
+ "paintCanvas.palette.lightness": "亮度",
41
+ "paintCanvas.palette.saved": "已保存的颜色",
42
+ "paintCanvas.palette.add": "将 {colour} 保存到调色板",
43
+ "paintCanvas.palette.colourActions": "{colour} 的操作",
44
+ "paintCanvas.palette.deleteColour": "删除颜色",
45
+ "paintCanvas.palette.deleteMessage": "要删除这个颜色吗?",
46
+ "paintCanvas.palette.deleteConfirm": "是,删除颜色",
47
+ "paintCanvas.palette.import": "导入",
48
+ "paintCanvas.palette.export": "导出",
49
+ "paintCanvas.palette.importFile": "导入调色板文件",
50
+ "paintCanvas.palette.imported.one": "已添加 {count} 个颜色",
51
+ "paintCanvas.palette.imported.other": "已添加 {count} 个颜色",
52
+ "paintCanvas.palette.fileIncompatible": "不兼容的调色板 JSON 文件",
53
+ "paintCanvas.palette.fileReadFailed": "无法读取调色板 JSON 文件",
54
+ "paintCanvas.palette.exportFailed": "导出调色板 JSON 文件时出错",
28
55
  "paintCanvas.toolbar.label": "工具",
29
- "paintCanvas.toolbar.currentColour": "当前颜色",
30
56
  "paintCanvas.toolbar.layers": "图层",
31
57
  "paintCanvas.toolbar.menu": "菜单",
32
58
  "paintCanvas.toolbar.undoWithShortcut": "撤销({shortcut})",
@@ -167,6 +193,66 @@
167
193
  "paintCanvas.autosave.elsewhereMessage": "此画作已在另一个窗口或标签页中打开,一次只能在一个窗口中绘画。选择“在此绘画”即可在此窗口继续(另一个窗口将停止)。",
168
194
  "paintCanvas.autosave.takeOver": "在此绘画",
169
195
  "paintCanvas.autosave.failed": "无法在此浏览器中保存画作",
196
+ "paintCanvas.settings.saveFailed": "无法在此浏览器中保存你的设置",
197
+ "paintCanvas.shortcuts.title": "键盘快捷键",
198
+ "paintCanvas.shortcuts.recordHint": "按下要使用的按键",
199
+ "paintCanvas.shortcuts.none": "无",
200
+ "paintCanvas.shortcuts.remove": "删除“{action}”的快捷键",
201
+ "paintCanvas.shortcuts.fixed": "无法更改",
202
+ "paintCanvas.shortcuts.fixedUsed": "{keys} 已用于“{action}”,无法更改",
203
+ "paintCanvas.shortcuts.moved": "{keys} 已从“{from}”移到“{to}”",
204
+ "paintCanvas.shortcuts.reset": "恢复默认设置",
205
+ "paintCanvas.shortcuts.wasReset": "已将键盘快捷键恢复为默认设置",
206
+ "paintCanvas.shortcuts.group.tools": "工具",
207
+ "paintCanvas.shortcuts.group.brushes": "画笔和橡皮擦",
208
+ "paintCanvas.shortcuts.group.clipboard": "剪贴板",
209
+ "paintCanvas.shortcuts.group.masking": "蒙版",
210
+ "paintCanvas.shortcuts.group.fills": "填充和颜色",
211
+ "paintCanvas.shortcuts.group.viewport": "视图",
212
+ "paintCanvas.shortcuts.group.layers": "图层",
213
+ "paintCanvas.shortcuts.group.history": "历史记录",
214
+ "paintCanvas.shortcuts.group.general": "常规",
215
+ "paintCanvas.shortcuts.pan": "按住时平移(松开后回到上一个工具)",
216
+ "paintCanvas.shortcuts.tool-move": "移动",
217
+ "paintCanvas.shortcuts.tool-brush": "画笔",
218
+ "paintCanvas.shortcuts.tool-eraser": "橡皮擦",
219
+ "paintCanvas.shortcuts.tool-rectangle-mask": "矩形蒙版",
220
+ "paintCanvas.shortcuts.tool-circle-mask": "圆形蒙版",
221
+ "paintCanvas.shortcuts.tool-polygon-mask": "多边形蒙版",
222
+ "paintCanvas.shortcuts.tool-freehand-mask": "自由手绘蒙版",
223
+ "paintCanvas.shortcuts.tool-colour-sample": "吸管",
224
+ "paintCanvas.shortcuts.tool-zoom": "缩放",
225
+ "paintCanvas.shortcuts.brush-bigger": "增大尺寸",
226
+ "paintCanvas.shortcuts.brush-smaller": "减小尺寸",
227
+ "paintCanvas.shortcuts.brush-more-opaque": "增加不透明度",
228
+ "paintCanvas.shortcuts.brush-less-opaque": "降低不透明度",
229
+ "paintCanvas.shortcuts.cut": "剪切",
230
+ "paintCanvas.shortcuts.copy": "复制",
231
+ "paintCanvas.shortcuts.paste": "粘贴",
232
+ "paintCanvas.shortcuts.select-all": "全选",
233
+ "paintCanvas.shortcuts.invert-selection": "反选",
234
+ "paintCanvas.shortcuts.deselect": "取消选择",
235
+ "paintCanvas.shortcuts.fill-foreground": "用前景色填充",
236
+ "paintCanvas.shortcuts.fill-background": "用背景色填充",
237
+ "paintCanvas.shortcuts.swap-colours": "交换前景色和背景色",
238
+ "paintCanvas.shortcuts.zoom-in": "放大",
239
+ "paintCanvas.shortcuts.zoom-out": "缩小",
240
+ "paintCanvas.shortcuts.reset-zoom": "缩放到 100%",
241
+ "paintCanvas.shortcuts.toggle-interface": "显示或隐藏界面",
242
+ "paintCanvas.shortcuts.save": "保存为 PNG",
243
+ "paintCanvas.shortcuts.undo": "撤销",
244
+ "paintCanvas.shortcuts.redo": "重做",
245
+ "paintCanvas.shortcuts.delete": "删除蒙版区域",
246
+ "paintCanvas.shortcuts.cancel": "取消",
247
+ "paintCanvas.shortcuts.commit": "应用",
248
+ "paintCanvas.shortcuts.layerOpacity": "将图层不透明度设为 {percent}%",
249
+ "paintCanvas.settings.import": "导入设置",
250
+ "paintCanvas.settings.export": "导出设置",
251
+ "paintCanvas.settings.importFile": "导入设置文件",
252
+ "paintCanvas.settings.imported": "已导入设置",
253
+ "paintCanvas.settings.fileIncompatible": "不兼容的设置 JSON 文件",
254
+ "paintCanvas.settings.fileReadFailed": "无法读取设置 JSON 文件",
255
+ "paintCanvas.settings.exportFailed": "导出设置 JSON 文件时出错",
170
256
  "paintCanvas.stats.label": "画布详情",
171
257
  "paintCanvas.stats.size": "画布:{width} × {height} 像素",
172
258
  "paintCanvas.stats.zoom": "缩放:{zoom}",
@@ -25,8 +25,34 @@
25
25
  "paintCanvas.tool.zoom": "縮放",
26
26
  "paintCanvas.tool.colourSample": "滴管",
27
27
  "paintCanvas.tool.withShortcut": "{tool}({shortcut})",
28
+ "paintCanvas.colours.foreground": "前景色({colour})",
29
+ "paintCanvas.colours.background": "背景色({colour})",
30
+ "paintCanvas.palette.label": "調色盤",
31
+ "paintCanvas.palette.hex": "十六進位顏色",
32
+ "paintCanvas.palette.model": "色彩模式",
33
+ "paintCanvas.palette.rgb": "RGB",
34
+ "paintCanvas.palette.hsl": "HSL",
35
+ "paintCanvas.palette.red": "紅",
36
+ "paintCanvas.palette.green": "綠",
37
+ "paintCanvas.palette.blue": "藍",
38
+ "paintCanvas.palette.hue": "色相",
39
+ "paintCanvas.palette.saturation": "飽和度",
40
+ "paintCanvas.palette.lightness": "亮度",
41
+ "paintCanvas.palette.saved": "已儲存的顏色",
42
+ "paintCanvas.palette.add": "將 {colour} 儲存到調色盤",
43
+ "paintCanvas.palette.colourActions": "{colour} 的操作",
44
+ "paintCanvas.palette.deleteColour": "刪除顏色",
45
+ "paintCanvas.palette.deleteMessage": "要刪除這個顏色嗎?",
46
+ "paintCanvas.palette.deleteConfirm": "是,刪除顏色",
47
+ "paintCanvas.palette.import": "匯入",
48
+ "paintCanvas.palette.export": "匯出",
49
+ "paintCanvas.palette.importFile": "匯入調色盤檔案",
50
+ "paintCanvas.palette.imported.one": "已新增 {count} 個顏色",
51
+ "paintCanvas.palette.imported.other": "已新增 {count} 個顏色",
52
+ "paintCanvas.palette.fileIncompatible": "不相容的調色盤 JSON 檔案",
53
+ "paintCanvas.palette.fileReadFailed": "無法讀取調色盤 JSON 檔案",
54
+ "paintCanvas.palette.exportFailed": "匯出調色盤 JSON 檔案時發生錯誤",
28
55
  "paintCanvas.toolbar.label": "工具",
29
- "paintCanvas.toolbar.currentColour": "目前顏色",
30
56
  "paintCanvas.toolbar.layers": "圖層",
31
57
  "paintCanvas.toolbar.menu": "選單",
32
58
  "paintCanvas.toolbar.undoWithShortcut": "復原({shortcut})",
@@ -167,6 +193,66 @@
167
193
  "paintCanvas.autosave.elsewhereMessage": "此畫作已在另一個視窗或分頁中開啟,一次只能在一個視窗中繪畫。選擇「在此繪畫」即可在此視窗繼續(另一個視窗將停止)。",
168
194
  "paintCanvas.autosave.takeOver": "在此繪畫",
169
195
  "paintCanvas.autosave.failed": "無法在此瀏覽器中儲存畫作",
196
+ "paintCanvas.settings.saveFailed": "無法在此瀏覽器中保存你的設定",
197
+ "paintCanvas.shortcuts.title": "鍵盤快速鍵",
198
+ "paintCanvas.shortcuts.recordHint": "按下要使用的按鍵",
199
+ "paintCanvas.shortcuts.none": "無",
200
+ "paintCanvas.shortcuts.remove": "刪除「{action}」的快速鍵",
201
+ "paintCanvas.shortcuts.fixed": "無法變更",
202
+ "paintCanvas.shortcuts.fixedUsed": "{keys} 已用於「{action}」,無法變更",
203
+ "paintCanvas.shortcuts.moved": "{keys} 已從「{from}」移到「{to}」",
204
+ "paintCanvas.shortcuts.reset": "恢復預設值",
205
+ "paintCanvas.shortcuts.wasReset": "已將鍵盤快速鍵恢復為預設值",
206
+ "paintCanvas.shortcuts.group.tools": "工具",
207
+ "paintCanvas.shortcuts.group.brushes": "筆刷與橡皮擦",
208
+ "paintCanvas.shortcuts.group.clipboard": "剪貼簿",
209
+ "paintCanvas.shortcuts.group.masking": "遮罩",
210
+ "paintCanvas.shortcuts.group.fills": "填色與顏色",
211
+ "paintCanvas.shortcuts.group.viewport": "檢視",
212
+ "paintCanvas.shortcuts.group.layers": "圖層",
213
+ "paintCanvas.shortcuts.group.history": "歷史紀錄",
214
+ "paintCanvas.shortcuts.group.general": "一般",
215
+ "paintCanvas.shortcuts.pan": "按住時平移(放開後回到上一個工具)",
216
+ "paintCanvas.shortcuts.tool-move": "移動",
217
+ "paintCanvas.shortcuts.tool-brush": "筆刷",
218
+ "paintCanvas.shortcuts.tool-eraser": "橡皮擦",
219
+ "paintCanvas.shortcuts.tool-rectangle-mask": "矩形遮罩",
220
+ "paintCanvas.shortcuts.tool-circle-mask": "圓形遮罩",
221
+ "paintCanvas.shortcuts.tool-polygon-mask": "多邊形遮罩",
222
+ "paintCanvas.shortcuts.tool-freehand-mask": "手繪遮罩",
223
+ "paintCanvas.shortcuts.tool-colour-sample": "滴管",
224
+ "paintCanvas.shortcuts.tool-zoom": "縮放",
225
+ "paintCanvas.shortcuts.brush-bigger": "放大尺寸",
226
+ "paintCanvas.shortcuts.brush-smaller": "縮小尺寸",
227
+ "paintCanvas.shortcuts.brush-more-opaque": "提高不透明度",
228
+ "paintCanvas.shortcuts.brush-less-opaque": "降低不透明度",
229
+ "paintCanvas.shortcuts.cut": "剪下",
230
+ "paintCanvas.shortcuts.copy": "複製",
231
+ "paintCanvas.shortcuts.paste": "貼上",
232
+ "paintCanvas.shortcuts.select-all": "全選",
233
+ "paintCanvas.shortcuts.invert-selection": "反轉選取範圍",
234
+ "paintCanvas.shortcuts.deselect": "取消選取",
235
+ "paintCanvas.shortcuts.fill-foreground": "以前景色填色",
236
+ "paintCanvas.shortcuts.fill-background": "以背景色填色",
237
+ "paintCanvas.shortcuts.swap-colours": "交換前景色與背景色",
238
+ "paintCanvas.shortcuts.zoom-in": "放大",
239
+ "paintCanvas.shortcuts.zoom-out": "縮小",
240
+ "paintCanvas.shortcuts.reset-zoom": "縮放至 100%",
241
+ "paintCanvas.shortcuts.toggle-interface": "顯示或隱藏介面",
242
+ "paintCanvas.shortcuts.save": "儲存為 PNG",
243
+ "paintCanvas.shortcuts.undo": "復原",
244
+ "paintCanvas.shortcuts.redo": "重做",
245
+ "paintCanvas.shortcuts.delete": "刪除遮罩區域",
246
+ "paintCanvas.shortcuts.cancel": "取消",
247
+ "paintCanvas.shortcuts.commit": "套用",
248
+ "paintCanvas.shortcuts.layerOpacity": "將圖層不透明度設為 {percent}%",
249
+ "paintCanvas.settings.import": "匯入設定",
250
+ "paintCanvas.settings.export": "匯出設定",
251
+ "paintCanvas.settings.importFile": "匯入設定檔",
252
+ "paintCanvas.settings.imported": "已匯入設定",
253
+ "paintCanvas.settings.fileIncompatible": "不相容的設定 JSON 檔案",
254
+ "paintCanvas.settings.fileReadFailed": "無法讀取設定 JSON 檔案",
255
+ "paintCanvas.settings.exportFailed": "匯出設定 JSON 檔案時發生錯誤",
170
256
  "paintCanvas.stats.label": "畫布詳細資料",
171
257
  "paintCanvas.stats.size": "畫布:{width} × {height} 像素",
172
258
  "paintCanvas.stats.zoom": "縮放:{zoom}",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvl99dotcom/paintcanvas",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Open-source painting engine and renderer for the browser, with optional UI.",
5
5
  "keywords": [
6
6
  "drawing",
@@ -1,3 +0,0 @@
1
- // src/ui/elements/PcBrushMenu/style.css?inline
2
- var style_default = ":host {\n display: flex;\n flex-direction: column;\n gap: 8px;\n box-sizing: border-box;\n width: 240px;\n max-height: 100%;\n padding: 8px;\n /* Light grey, like the bars */\n background: var(--pc-bar);\n box-shadow: var(--pc-shadow);\n}\n/* The current preset on one row: its shape, name and size */\n.current {\n display: flex;\n align-items: center;\n gap: 8px;\n min-height: 44px;\n padding: 4px 8px;\n border: 1px solid var(--pc-border);\n background: var(--pc-surface);\n}\n.current-shape {\n flex: none;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: var(--pc-text);\n}\n.current-shape.image {\n border-radius: 0;\n mask-repeat: no-repeat;\n mask-size: contain;\n mask-position: center;\n}\n.name {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.size {\n flex: none;\n align-self: stretch;\n display: flex;\n align-items: center;\n padding: 0 0 0 8px;\n border-left: 1px solid var(--pc-border);\n cursor: ew-resize;\n touch-action: none;\n}\n/* The presets scroll, at most 400px tall, or less so the whole menu fits under the settings bar in a shorter window */\n.presets {\n flex: 1 1 auto;\n min-height: 0;\n max-height: min(400px, calc(100vh - 180px));\n overflow-y: auto;\n}\nh3 {\n margin: 4px 0;\n font-size: 14px;\n}\nul {\n display: grid;\n grid-template-columns: repeat(5, 1fr);\n align-content: start;\n margin: 0;\n padding: 0;\n list-style: none;\n border: 1px solid var(--pc-border);\n background: var(--pc-bar);\n}\n:host([deleting]) li button.custom {\n cursor: var(--delete-cursor);\n}\n/* Create, Import and Export side by side */\n.actions {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 6px;\n}\n.actions button.pill {\n padding: 4px 8px;\n}\n.visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\nli button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n aspect-ratio: 1;\n padding: 0;\n border: none;\n border-right: 1px solid var(--pc-border);\n border-bottom: 1px solid var(--pc-border);\n background: var(--pc-bar);\n cursor: pointer;\n}\nli button:hover {\n background: var(--pc-surface-hover);\n}\nli button[aria-pressed=\"true\"] {\n background: var(--pc-surface-active);\n}\n.shape {\n background: var(--pc-text);\n border-radius: 50%;\n}\n.shape.image {\n border-radius: 0;\n mask-repeat: no-repeat;\n mask-size: 100% 100%;\n}\n";
3
- export { style_default as default };
@@ -1,3 +0,0 @@
1
- // src/ui/elements/PcLayersMenu/style.css?inline
2
- var style_default = ":host {\n display: flex;\n flex-direction: column;\n gap: 8px;\n box-sizing: border-box;\n /* The layout makes it fill its panel when narrow */\n width: var(--pc-layers-menu-width, 290px);\n padding: 8px;\n /* Light grey, like the bars */\n background: var(--pc-bar);\n box-shadow: var(--pc-shadow);\n}\n/* \"New Layer\": a full-width purple pill */\nbutton.new {\n width: 100%;\n min-height: 40px;\n}\n/* Where a dragged layer would land: a full-width block with its name, as tall as the row (set by the menu) */\n.ghost {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n padding: 0 8px;\n border: 2px dashed;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/* Dropping a dragged layer here duplicates it (highlighted for touch, where there is no \"+\" cursor) */\nbutton.new.drop-target {\n outline: var(--pc-focus-width) solid var(--pc-focus);\n outline-offset: 2px;\n}\n/* For screen readers only */\n.announcement {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n";
3
- export { style_default as default };