@lvl99dotcom/paintcanvas 0.4.0 → 0.6.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 (224) hide show
  1. package/README.md +30 -15
  2. package/dist/lib/brushes/configRanges/index.d.ts +17 -0
  3. package/dist/lib/brushes/configRanges/index.js +31 -1
  4. package/dist/lib/brushes/params/index.d.ts +2 -1
  5. package/dist/lib/brushes/params/index.js +7 -4
  6. package/dist/lib/brushes/presets/round/index.d.ts +1 -1
  7. package/dist/lib/brushes/presets/round/index.js +12 -7
  8. package/dist/lib/brushes/presets/square/index.d.ts +1 -1
  9. package/dist/lib/brushes/presets/square/index.js +7 -3
  10. package/dist/lib/brushes/shapeImage/index.d.ts +7 -3
  11. package/dist/lib/brushes/shapeImage/index.js +15 -9
  12. package/dist/lib/brushes/shapes/index.d.ts +18 -0
  13. package/dist/lib/brushes/shapes/index.js +86 -0
  14. package/dist/lib/brushes/types/index.d.ts +8 -0
  15. package/dist/lib/classes/BrushSettings/index.d.ts +29 -2
  16. package/dist/lib/classes/BrushSettings/index.js +51 -14
  17. package/dist/lib/classes/KeyboardShortcuts/index.d.ts +31 -2
  18. package/dist/lib/classes/KeyboardShortcuts/index.js +66 -4
  19. package/dist/lib/classes/Layer/index.d.ts +10 -0
  20. package/dist/lib/classes/Layer/index.js +15 -1
  21. package/dist/lib/classes/LayerAutosave/index.d.ts +9 -15
  22. package/dist/lib/classes/LayerAutosave/index.js +30 -43
  23. package/dist/lib/classes/LayerStack/index.d.ts +15 -0
  24. package/dist/lib/classes/LayerStack/index.js +26 -2
  25. package/dist/lib/classes/PaintCanvas/index.d.ts +72 -3
  26. package/dist/lib/classes/PaintCanvas/index.js +106 -12
  27. package/dist/lib/classes/PngEncoder/index.d.ts +41 -0
  28. package/dist/lib/classes/PngEncoder/index.js +104 -0
  29. package/dist/lib/classes/ProfileGraphs/index.d.ts +87 -0
  30. package/dist/lib/classes/ProfileGraphs/index.js +148 -0
  31. package/dist/lib/classes/SettingsAutosave/index.d.ts +3 -2
  32. package/dist/lib/classes/SettingsAutosave/index.js +6 -3
  33. package/dist/lib/classes/UiSettings/index.d.ts +68 -0
  34. package/dist/lib/classes/UiSettings/index.js +82 -0
  35. package/dist/lib/messages/schema.d.ts +720 -0
  36. package/dist/lib/presets/schema.d.ts +360 -0
  37. package/dist/lib/presets/schema.js +8 -1
  38. package/dist/lib/profiles/index.d.ts +61 -0
  39. package/dist/lib/profiles/index.js +131 -0
  40. package/dist/lib/profiles/schema.d.ts +73 -0
  41. package/dist/lib/profiles/schema.js +53 -0
  42. package/dist/lib/rendering/sample/index.d.ts +11 -0
  43. package/dist/lib/rendering/sample/index.js +36 -5
  44. package/dist/lib/settings/index.d.ts +2 -1
  45. package/dist/lib/settings/index.js +7 -2
  46. package/dist/lib/settings/schema.d.ts +67 -0
  47. package/dist/lib/settings/schema.js +20 -0
  48. package/dist/lib/validation/validators.generated.js +13191 -3655
  49. package/dist/locales/en-GB.js +39 -2
  50. package/dist/locales/en-US.js +39 -2
  51. package/dist/locales/fr.js +39 -2
  52. package/dist/locales/ja.js +39 -2
  53. package/dist/locales/ko.js +39 -2
  54. package/dist/locales/zh-Hans.js +39 -2
  55. package/dist/locales/zh-Hant.js +39 -2
  56. package/dist/package.js +1 -1
  57. package/dist/testing/recordingCanvas.js +2 -1
  58. package/dist/ui/ask/index.d.ts +48 -0
  59. package/dist/ui/ask/index.js +67 -0
  60. package/dist/ui/base/index.d.ts +10 -3
  61. package/dist/ui/base/index.js +19 -4
  62. package/dist/ui/dismiss/index.d.ts +21 -0
  63. package/dist/ui/dismiss/index.js +27 -0
  64. package/dist/ui/drag/index.d.ts +51 -0
  65. package/dist/ui/drag/index.js +81 -0
  66. package/dist/ui/elements/PaintCanvas/index.d.ts +17 -12
  67. package/dist/ui/elements/PaintCanvas/index.js +36 -17
  68. package/dist/ui/elements/PaintCanvas/style.js +1 -1
  69. package/dist/ui/elements/PcAppSettings/index.d.ts +6 -6
  70. package/dist/ui/elements/PcAppSettings/index.js +21 -65
  71. package/dist/ui/elements/PcBrushConfig/index.d.ts +34 -16
  72. package/dist/ui/elements/PcBrushConfig/index.js +263 -153
  73. package/dist/ui/elements/PcBrushConfig/style.js +1 -1
  74. package/dist/ui/elements/PcBrushSize/index.d.ts +53 -0
  75. package/dist/ui/elements/PcBrushSize/index.js +66 -0
  76. package/dist/ui/elements/PcBrushTest/index.d.ts +26 -0
  77. package/dist/ui/elements/PcBrushTest/index.js +79 -6
  78. package/dist/ui/elements/PcBrushTest/style.js +1 -1
  79. package/dist/ui/elements/PcButton/index.d.ts +12 -3
  80. package/dist/ui/elements/PcButton/index.js +18 -10
  81. package/dist/ui/elements/PcCanvas/index.d.ts +27 -2
  82. package/dist/ui/elements/PcCanvas/index.js +63 -13
  83. package/dist/ui/elements/PcCanvas/style.js +1 -1
  84. package/dist/ui/elements/PcCanvasMap/style.js +1 -1
  85. package/dist/ui/elements/PcClipboardTools/index.d.ts +49 -0
  86. package/dist/ui/elements/PcClipboardTools/index.js +125 -0
  87. package/dist/ui/elements/PcContextMenu/index.d.ts +2 -2
  88. package/dist/ui/elements/PcDialog/index.d.ts +46 -10
  89. package/dist/ui/elements/PcDialog/index.js +102 -51
  90. package/dist/ui/elements/PcDialogWindow/index.d.ts +141 -0
  91. package/dist/ui/elements/PcDialogWindow/index.js +385 -0
  92. package/dist/ui/elements/PcInputSettings/index.d.ts +13 -0
  93. package/dist/ui/elements/PcInputSettings/index.js +16 -1
  94. package/dist/ui/elements/PcMenu/index.d.ts +48 -3
  95. package/dist/ui/elements/PcMenu/index.js +111 -19
  96. package/dist/ui/elements/PcNumberSlider/index.d.ts +137 -0
  97. package/dist/ui/elements/PcNumberSlider/index.js +247 -0
  98. package/dist/ui/elements/PcPane/index.d.ts +3 -1
  99. package/dist/ui/elements/PcPane/index.js +44 -7
  100. package/dist/ui/elements/PcPanel/index.d.ts +2 -2
  101. package/dist/ui/elements/PcPanel/index.js +8 -8
  102. package/dist/ui/elements/PcPanelBrushes/index.d.ts +5 -17
  103. package/dist/ui/elements/PcPanelBrushes/index.js +13 -48
  104. package/dist/ui/elements/PcPanelBrushes/style.js +1 -1
  105. package/dist/ui/elements/PcPanelColours/index.js +2 -2
  106. package/dist/ui/elements/PcPanelColours/style.js +1 -1
  107. package/dist/ui/elements/PcPanelLayers/index.js +1 -1
  108. package/dist/ui/elements/PcPanelLayers/style.js +1 -1
  109. package/dist/ui/elements/PcPopover/index.d.ts +39 -1
  110. package/dist/ui/elements/PcPopover/index.js +72 -4
  111. package/dist/ui/elements/PcProfileEditor/index.d.ts +103 -0
  112. package/dist/ui/elements/PcProfileEditor/index.js +259 -0
  113. package/dist/ui/elements/PcProfileGraph/index.d.ts +84 -0
  114. package/dist/ui/elements/PcProfileGraph/index.js +317 -0
  115. package/dist/ui/elements/PcShortcutSettings/index.js +9 -13
  116. package/dist/ui/elements/PcSliderRange/index.d.ts +147 -0
  117. package/dist/ui/elements/PcSliderRange/index.js +307 -0
  118. package/dist/ui/elements/PcStats/index.d.ts +19 -4
  119. package/dist/ui/elements/PcStats/index.js +29 -13
  120. package/dist/ui/elements/PcThemePicker/index.d.ts +17 -15
  121. package/dist/ui/elements/PcThemePicker/index.js +22 -21
  122. package/dist/ui/elements/PcToolSettings/index.d.ts +48 -9
  123. package/dist/ui/elements/PcToolSettings/index.js +382 -318
  124. package/dist/ui/elements/PcToolSettings/style.js +1 -1
  125. package/dist/ui/elements/PcToolbar/index.d.ts +15 -0
  126. package/dist/ui/elements/PcToolbar/index.js +55 -14
  127. package/dist/ui/elements/PcToolbar/style.js +1 -1
  128. package/dist/ui/icons/images/icon-brush@2x.js +3 -0
  129. package/dist/ui/icons/images/icon-circle-mask@2x.js +3 -0
  130. package/dist/ui/icons/images/icon-clipboard@2x.js +3 -0
  131. package/dist/ui/icons/images/icon-cog@2x.js +3 -0
  132. package/dist/ui/icons/images/icon-cursor@2x.js +3 -0
  133. package/dist/ui/icons/images/icon-diagonal-tlbr-size@2x.js +3 -0
  134. package/dist/ui/icons/images/icon-diagonal-trbl-size@2x.js +3 -0
  135. package/dist/ui/icons/images/icon-eraser@2x.js +3 -0
  136. package/dist/ui/icons/images/icon-eyedropper@2x.js +3 -0
  137. package/dist/ui/icons/images/icon-flip-horizontal@2x.js +3 -0
  138. package/dist/ui/icons/images/icon-flip-vertical@2x.js +3 -0
  139. package/dist/ui/icons/images/icon-focus-pen@2x.js +3 -0
  140. package/dist/ui/icons/images/icon-freehand-mask@2x.js +3 -0
  141. package/dist/ui/icons/images/icon-hidden@2x.js +3 -0
  142. package/dist/ui/icons/images/icon-horizontal-size@2x.js +3 -0
  143. package/dist/ui/icons/images/icon-layers@2x.js +3 -0
  144. package/dist/ui/icons/images/icon-linked@2x.js +3 -0
  145. package/dist/ui/icons/images/icon-locked@2x.js +3 -0
  146. package/dist/ui/icons/images/icon-moon@2x.js +3 -0
  147. package/dist/ui/icons/images/icon-pan@2x.js +3 -0
  148. package/dist/ui/icons/images/icon-polygon-mask@2x.js +3 -0
  149. package/dist/ui/icons/images/icon-pressure@2x.js +3 -0
  150. package/dist/ui/icons/images/icon-profile-graph@2x.js +3 -0
  151. package/dist/ui/icons/images/icon-randomise@2x.js +3 -0
  152. package/dist/ui/icons/images/icon-rectangle-mask@2x.js +3 -0
  153. package/dist/ui/icons/images/icon-redo@2x.js +3 -0
  154. package/dist/ui/icons/images/icon-rotate-90-left@2x.js +3 -0
  155. package/dist/ui/icons/images/icon-rotate-90-right@2x.js +3 -0
  156. package/dist/ui/icons/images/icon-rotate@2x.js +3 -0
  157. package/dist/ui/icons/images/icon-smoothing-bezier-cubic@2x.js +3 -0
  158. package/dist/ui/icons/images/icon-smoothing-bezier-quad@2x.js +3 -0
  159. package/dist/ui/icons/images/icon-smoothing-linear@2x.js +3 -0
  160. package/dist/ui/icons/images/icon-star@2x.js +3 -0
  161. package/dist/ui/icons/images/icon-sun@2x.js +3 -0
  162. package/dist/ui/icons/images/icon-tilt@2x.js +3 -0
  163. package/dist/ui/icons/images/icon-undo@2x.js +3 -0
  164. package/dist/ui/icons/images/icon-unlinked@2x.js +3 -0
  165. package/dist/ui/icons/images/icon-unlocked@2x.js +3 -0
  166. package/dist/ui/icons/images/icon-vertical-size@2x.js +3 -0
  167. package/dist/ui/icons/images/icon-visible@2x.js +3 -0
  168. package/dist/ui/icons/images/icon-zoom-in@2x.js +3 -0
  169. package/dist/ui/icons/images/icon-zoom-out@2x.js +3 -0
  170. package/dist/ui/icons/images/icon-zoom@2x.js +3 -0
  171. package/dist/ui/icons/index.d.ts +1 -1
  172. package/dist/ui/icons/index.js +86 -72
  173. package/dist/ui/index.d.ts +13 -3
  174. package/dist/ui/index.js +15 -4
  175. package/dist/ui/layout/index.d.ts +9 -1
  176. package/dist/ui/layout/index.js +11 -2
  177. package/dist/ui/styles/index.d.ts +21 -1
  178. package/dist/ui/styles/index.js +73 -14
  179. package/dist/ui/tokens/index.d.ts +5 -4
  180. package/dist/ui/tokens/index.js +12 -7
  181. package/locales/en-GB.json +39 -2
  182. package/locales/en-US.json +39 -2
  183. package/locales/fr.json +39 -2
  184. package/locales/ja.json +39 -2
  185. package/locales/ko.json +39 -2
  186. package/locales/zh-Hans.json +39 -2
  187. package/locales/zh-Hant.json +39 -2
  188. package/package.json +27 -18
  189. package/dist/ui/icons/images/brush.js +0 -3
  190. package/dist/ui/icons/images/circle-mask.js +0 -3
  191. package/dist/ui/icons/images/clipboard.js +0 -3
  192. package/dist/ui/icons/images/cursor.js +0 -3
  193. package/dist/ui/icons/images/eraser.js +0 -3
  194. package/dist/ui/icons/images/eyedropper.js +0 -3
  195. package/dist/ui/icons/images/flip-horizontal.js +0 -3
  196. package/dist/ui/icons/images/flip-vertical.js +0 -3
  197. package/dist/ui/icons/images/focus-pen.js +0 -3
  198. package/dist/ui/icons/images/freehand-mask.js +0 -3
  199. package/dist/ui/icons/images/hidden.js +0 -3
  200. package/dist/ui/icons/images/layers.js +0 -3
  201. package/dist/ui/icons/images/linked.js +0 -3
  202. package/dist/ui/icons/images/locked.js +0 -3
  203. package/dist/ui/icons/images/moon.js +0 -3
  204. package/dist/ui/icons/images/pan.js +0 -3
  205. package/dist/ui/icons/images/polygon-mask.js +0 -3
  206. package/dist/ui/icons/images/pressure.js +0 -3
  207. package/dist/ui/icons/images/randomise.js +0 -3
  208. package/dist/ui/icons/images/rectangle-mask.js +0 -3
  209. package/dist/ui/icons/images/redo.js +0 -3
  210. package/dist/ui/icons/images/rotate-90-left.js +0 -3
  211. package/dist/ui/icons/images/rotate-90-right.js +0 -3
  212. package/dist/ui/icons/images/smoothing-bezier-cubic.js +0 -3
  213. package/dist/ui/icons/images/smoothing-bezier-quad.js +0 -3
  214. package/dist/ui/icons/images/smoothing-linear.js +0 -3
  215. package/dist/ui/icons/images/star.js +0 -3
  216. package/dist/ui/icons/images/sun.js +0 -3
  217. package/dist/ui/icons/images/tilt.js +0 -3
  218. package/dist/ui/icons/images/undo.js +0 -3
  219. package/dist/ui/icons/images/unlinked.js +0 -3
  220. package/dist/ui/icons/images/unlocked.js +0 -3
  221. package/dist/ui/icons/images/visible.js +0 -3
  222. package/dist/ui/icons/images/zoom-in.js +0 -3
  223. package/dist/ui/icons/images/zoom-out.js +0 -3
  224. package/dist/ui/icons/images/zoom.js +0 -3
@@ -1,5 +1,53 @@
1
- import { css } from "lit";
1
+ import { css, unsafeCSS } from "lit";
2
2
  // src/ui/styles/index.ts
3
+ /** The sizes of pill buttons, from small to extra extra large (`pill` is the usual size) */
4
+ var PILL_SIZES = [
5
+ "pill-s",
6
+ "pill",
7
+ "pill-l",
8
+ "pill-xl",
9
+ "pill-xxl"
10
+ ];
11
+ /** Each pill size's least height, font size and padding, in pixels */
12
+ var PILL_SIZE_STYLES = {
13
+ "pill-s": {
14
+ height: 24,
15
+ fontSize: 14,
16
+ padding: "2px 8px"
17
+ },
18
+ pill: {
19
+ height: 32,
20
+ fontSize: 16,
21
+ padding: "8px 16px"
22
+ },
23
+ "pill-l": {
24
+ height: 50,
25
+ fontSize: 20,
26
+ padding: "15px 25px"
27
+ },
28
+ "pill-xl": {
29
+ height: 75,
30
+ fontSize: 24,
31
+ padding: "25px 37px"
32
+ },
33
+ "pill-xxl": {
34
+ height: 100,
35
+ fontSize: 28,
36
+ padding: "36px 50px"
37
+ }
38
+ };
39
+ /**
40
+ * CSS declarations giving a pill size (its least height, font size and padding), with text on one centred line.
41
+ *
42
+ * @example
43
+ * pillSizeDeclarations("pill-s"); // "min-height: 24px; font-size: 14px; padding: 2px 8px; line-height: 1;"
44
+ */
45
+ var pillSizeDeclarations = (size) => {
46
+ const { height, fontSize, padding } = PILL_SIZE_STYLES[size];
47
+ return `min-height: ${height}px; font-size: ${fontSize}px; padding: ${padding}; line-height: 1;`;
48
+ };
49
+ /** The usual pill size, for buttons shaped as pills without a size of their own */
50
+ var PILL = unsafeCSS(pillSizeDeclarations("pill"));
3
51
  /** Windows, menus and dialog buttons: affirmative buttons purple, cancel and close buttons pink */
4
52
  var windows = css`
5
53
  button,
@@ -25,12 +73,15 @@ var windows = css`
25
73
  button[type="submit"],
26
74
  button.cancel,
27
75
  button.close {
28
- min-height: var(--pc-control-size);
29
- padding: var(--pc-space-1) var(--pc-space-3);
76
+ display: inline-flex;
77
+ align-items: center;
78
+ justify-content: center;
79
+ box-sizing: border-box;
30
80
  border: 0;
31
81
  border-radius: var(--pc-radius-pill);
32
82
  color: var(--pc-accent-text);
33
83
  font: inherit;
84
+ ${PILL}
34
85
  font-weight: bold;
35
86
  cursor: pointer;
36
87
  }
@@ -159,30 +210,38 @@ var iconControls = css`
159
210
  outline: var(--pc-focus-width) solid var(--pc-focus);
160
211
  }
161
212
  `;
162
- /** Small purple pill buttons, e.g. "Configure", "New Layer", "Import" */
213
+ /** Pill buttons, of each size in `PILL_SIZES` as classes */
214
+ var PILL_SELECTOR = unsafeCSS(["configure", ...PILL_SIZES].map((name) => `button.${name}`).join(", "));
215
+ /** Each pill size's class, giving it its height, font size and padding */
216
+ var PILL_SIZE_CLASSES = unsafeCSS(PILL_SIZES.map((size) => `button.${size} { ${pillSizeDeclarations(size)} }`).join("\n"));
217
+ /**
218
+ * Purple pill buttons, e.g. "Configure", "New Layer", "Import": `pill` is the usual size; `pill-s`, `pill-l`, `pill-xl`
219
+ * and `pill-xxl` are the others (see `PILL_SIZE_STYLES`).
220
+ */
163
221
  var pills = css`
164
- button.configure,
165
- button.pill {
166
- min-height: 30px;
167
- padding: var(--pc-space-1) var(--pc-space-3);
222
+ ${PILL_SELECTOR} {
223
+ display: inline-flex;
224
+ align-items: center;
225
+ justify-content: center;
226
+ box-sizing: border-box;
168
227
  border: 0;
169
228
  border-radius: var(--pc-radius-pill);
170
229
  background: var(--pc-accent);
171
230
  color: var(--pc-accent-text);
172
231
  font: inherit;
232
+ ${PILL}
173
233
  font-weight: bold;
174
234
  cursor: pointer;
175
235
  }
176
- button.configure:hover:not(:disabled),
177
- button.pill:hover:not(:disabled) {
236
+ ${PILL_SIZE_CLASSES}
237
+ :is(${PILL_SELECTOR}):hover:not(:disabled) {
178
238
  filter: brightness(1.15);
179
239
  }
180
- button.configure:focus-visible,
181
- button.pill:focus-visible {
240
+ :is(${PILL_SELECTOR}):focus-visible {
182
241
  outline: var(--pc-focus-width) solid var(--pc-focus);
183
242
  outline-offset: 2px;
184
243
  }
185
- button.pill:disabled {
244
+ :is(${PILL_SELECTOR}):disabled {
186
245
  background: var(--pc-disabled);
187
246
  cursor: default;
188
247
  }
@@ -192,4 +251,4 @@ var WINDOWS_CSS = windows.cssText;
192
251
  var NO_TEXT_SELECTION_CSS = noTextSelection.cssText;
193
252
  var ICON_CONTROLS_CSS = iconControls.cssText;
194
253
  var PILLS_CSS = pills.cssText;
195
- export { ICON_CONTROLS_CSS, NO_TEXT_SELECTION_CSS, PILLS_CSS, WINDOWS_CSS, iconControls, noTextSelection, pills, windows };
254
+ export { ICON_CONTROLS_CSS, NO_TEXT_SELECTION_CSS, PILLS_CSS, PILL_SIZES, PILL_SIZE_STYLES, WINDOWS_CSS, iconControls, noTextSelection, pillSizeDeclarations, pills, windows };
@@ -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: light tokens on the page, so every element inherits them and the implementer can override
9
- * any token on `:root` or any ancestor. `data-pc-theme="dark"` on an ancestor switches what's inside it to the dark
10
- * theme, and `data-pc-theme="auto"` follows the device.
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
- * automatic theme, and `.pc-visually-hidden` hides text from view but not from screen readers.
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); }`];
@@ -21,6 +21,8 @@ var LIGHT_TOKENS = {
21
21
  border: "#999999",
22
22
  text: "#000000",
23
23
  "text-muted": "#666666",
24
+ "map-border": "#999999",
25
+ "map-frame": "#000000",
24
26
  shadow: "0 4px 16px rgb(0 0 0 / 25%)",
25
27
  backdrop: "rgb(0 0 0 / 40%)",
26
28
  accent: "#8f3de8",
@@ -38,6 +40,8 @@ var LIGHT_TOKENS = {
38
40
  "radius-pill": "999px",
39
41
  "control-size": "32px",
40
42
  "icon-size": "24px",
43
+ "side-button-size": "52px",
44
+ "side-icon-size": "40px",
41
45
  font: "Arial, Helvetica, sans-serif",
42
46
  "font-size": "14px",
43
47
  "font-size-small": "12px",
@@ -58,7 +62,7 @@ var DARK_TOKENS = {
58
62
  "text-muted": "#b0b0b0",
59
63
  shadow: "0 4px 16px rgb(0 0 0 / 60%)",
60
64
  backdrop: "rgb(0 0 0 / 60%)",
61
- accent: "#a463f0",
65
+ accent: "#9449ed",
62
66
  "dismiss-text": "#ff5cb8",
63
67
  disabled: "#6b6b6b",
64
68
  "icon-filter": "none",
@@ -73,18 +77,19 @@ var DARK_TOKENS = {
73
77
  */
74
78
  var declarations = (values) => Object.entries(values).map(([name, value]) => `--pc-${name}: ${value};`).join(" ");
75
79
  /**
76
- * The page-level stylesheet: light tokens on the page, so every element inherits them and the implementer can override
77
- * any token on `:root` or any ancestor. `data-pc-theme="dark"` on an ancestor switches what's inside it to the dark
78
- * theme, and `data-pc-theme="auto"` follows the device.
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).
79
84
  */
80
85
  var PAGE_TOKENS_CSS = `:root, [data-pc-theme="light"] { ${declarations(LIGHT_TOKENS)} }
81
86
  [data-pc-theme="dark"] { ${declarations(DARK_TOKENS)} }
82
- @media (prefers-color-scheme: dark) { [data-pc-theme="auto"] { ${declarations(DARK_TOKENS)} } }`;
87
+ @media (prefers-color-scheme: dark) { :root:not([data-pc-theme="light"]), [data-pc-theme="system"] { ${declarations(DARK_TOKENS)} } }`;
83
88
  /** The design tokens as text: the page-level stylesheet (kept for including in the implementer's own stylesheets) */
84
89
  var TOKENS_CSS = PAGE_TOKENS_CSS;
85
90
  /**
86
91
  * Elements' shared styles: a `theme` attribute switches one element (and what's inside it) to the light, dark or
87
- * automatic theme, and `.pc-visually-hidden` hides text from view but not from screen readers.
92
+ * system theme, and `.pc-visually-hidden` hides text from view but not from screen readers.
88
93
  *
89
94
  * @example
90
95
  * static styles = [tokens, css`button { color: var(--pc-text); }`];
@@ -94,7 +99,7 @@ var tokens = unsafeCSS(`:host([theme="light"]) { ${declarations(LIGHT_TOKENS)} }
94
99
  ...LIGHT_TOKENS,
95
100
  ...DARK_TOKENS
96
101
  })} }
97
- @media (prefers-color-scheme: dark) { :host([theme="auto"]) { ${declarations({
102
+ @media (prefers-color-scheme: dark) { :host([theme="system"]) { ${declarations({
98
103
  ...LIGHT_TOKENS,
99
104
  ...DARK_TOKENS
100
105
  })} } }
@@ -5,7 +5,9 @@
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",
10
+ "paintCanvas.common.copyMerged": "Copy merged",
9
11
  "paintCanvas.common.paste": "Paste",
10
12
  "paintCanvas.common.undo": "Undo",
11
13
  "paintCanvas.common.redo": "Redo",
@@ -13,7 +15,33 @@
13
15
  "paintCanvas.common.moreInformation": "More information",
14
16
  "paintCanvas.common.width": "Width",
15
17
  "paintCanvas.common.height": "Height",
18
+ "paintCanvas.common.size": "Size",
16
19
  "paintCanvas.common.opacity": "Opacity",
20
+ "paintCanvas.range.low": "{label} (min)",
21
+ "paintCanvas.range.high": "{label} (max)",
22
+ "paintCanvas.profileGraph.point": "Point {number}: {x}, {y}",
23
+ "paintCanvas.profileGraph.remove": "Remove point",
24
+ "paintCanvas.profileGraph.linear": "Sharp corner (linear)",
25
+ "paintCanvas.profileGraph.bezier": "Smooth (bezier cubic)",
26
+ "paintCanvas.profiles.linear": "Linear",
27
+ "paintCanvas.profiles.overweight": "Overweight",
28
+ "paintCanvas.profiles.underweight": "Underweight",
29
+ "paintCanvas.profileEditor.title": "{param} profile graph",
30
+ "paintCanvas.profileEditor.button": "{param}: profile graph",
31
+ "paintCanvas.profileEditor.custom": "Custom",
32
+ "paintCanvas.profileEditor.actions": "Profile graph actions",
33
+ "paintCanvas.profileEditor.new": "New graph",
34
+ "paintCanvas.profileEditor.duplicate": "Duplicate…",
35
+ "paintCanvas.profileEditor.rename": "Rename…",
36
+ "paintCanvas.profileEditor.delete": "Delete…",
37
+ "paintCanvas.profileEditor.reset": "Reset",
38
+ "paintCanvas.profileEditor.name": "Name",
39
+ "paintCanvas.profileEditor.saveHeading": "Save profile graph",
40
+ "paintCanvas.profileEditor.renameHeading": "Rename profile graph",
41
+ "paintCanvas.profileEditor.deleteHeading": "Delete profile graph",
42
+ "paintCanvas.profileEditor.deleteConfirm": "Delete \"{name}\"? This can't be undone.",
43
+ "paintCanvas.profileEditor.replaceHeading": "Replace profile graph",
44
+ "paintCanvas.profileEditor.replaceConfirm": "You already have a profile graph called \"{name}\". Replace it?",
17
45
  "paintCanvas.tool.brush": "Brush",
18
46
  "paintCanvas.tool.eraser": "Eraser",
19
47
  "paintCanvas.tool.move": "Move, scale and rotate",
@@ -61,6 +89,8 @@
61
89
  "paintCanvas.toolSettings.presets": "{tool} presets",
62
90
  "paintCanvas.toolSettings.configure": "Configure",
63
91
  "paintCanvas.toolSettings.constrainProportions": "Constrain proportions",
92
+ "paintCanvas.toolSettings.sizeSettings": "Size settings",
93
+ "paintCanvas.toolSettings.moreActions": "More actions",
64
94
  "paintCanvas.toolSettings.pressure": "Pressure",
65
95
  "paintCanvas.toolSettings.tilt": "Tilt",
66
96
  "paintCanvas.toolSettings.focusPen": "Focus pen mode",
@@ -76,7 +106,7 @@
76
106
  "paintCanvas.toolSettings.areaSample": "Area sample",
77
107
  "paintCanvas.brushMenu.presets": "{tool} presets",
78
108
  "paintCanvas.brushMenu.size": "{tool} size",
79
- "paintCanvas.brushMenu.dragToResize": "Drag sideways to resize",
109
+ "paintCanvas.numberSlider.hint": "Drag sideways to change, or tap to type",
80
110
  "paintCanvas.brushMenu.newPreset": "New preset",
81
111
  "paintCanvas.brushMenu.create": "Create",
82
112
  "paintCanvas.brushMenu.import": "Import",
@@ -84,6 +114,9 @@
84
114
  "paintCanvas.presets.myPresets": "My presets",
85
115
  "paintCanvas.presets.unknownAuthor": "Unknown",
86
116
  "paintCanvas.presets.deleteConfirm": "Delete \"{name}\"? This can't be undone.",
117
+ "paintCanvas.presets.deleteHeading": "Delete preset",
118
+ "paintCanvas.presets.replaceHeading": "Replace preset",
119
+ "paintCanvas.presets.replace": "Replace",
87
120
  "paintCanvas.presets.deleted": "Deleted \"{name}\"",
88
121
  "paintCanvas.presets.deleteFailed": "Couldn't delete \"{name}\"",
89
122
  "paintCanvas.presets.saved": "Saved \"{name}\" to My presets",
@@ -99,6 +132,8 @@
99
132
  "paintCanvas.brushConfig.eraserTitle": "Eraser configuration",
100
133
  "paintCanvas.brushConfig.presetName": "Name of the preset",
101
134
  "paintCanvas.brushConfig.shape": "Shape",
135
+ "paintCanvas.brushConfig.chooseShape": "Choose a shape",
136
+ "paintCanvas.brushConfig.customShape": "Custom",
102
137
  "paintCanvas.brushConfig.upload": "Upload",
103
138
  "paintCanvas.brushConfig.paste": "Paste",
104
139
  "paintCanvas.brushConfig.rotation": "Rotation",
@@ -115,6 +150,7 @@
115
150
  "paintCanvas.brushConfig.shapeFailed": "Couldn't use the brush shape",
116
151
  "paintCanvas.brushConfig.test": "Test",
117
152
  "paintCanvas.brushConfig.testArea": "Brush testing area",
153
+ "paintCanvas.brushConfig.showStrokePoints": "Show stroke points",
118
154
  "paintCanvas.shape.notPng": "Brush shapes must be PNG images",
119
155
  "paintCanvas.shape.tooLarge": "Brush shape images can be up to 2 MB",
120
156
  "paintCanvas.shape.readFailed": "Couldn't read the brush shape image",
@@ -174,6 +210,7 @@
174
210
  "paintCanvas.brushConfig.snapToPixelGrid": "Snap to pixel grid",
175
211
  "paintCanvas.brushConfig.addToPresets": "Add to presets",
176
212
  "paintCanvas.brushConfig.variation": "{param}: {source}",
213
+ "paintCanvas.brushConfig.varyWith": "{param}: vary with",
177
214
  "paintCanvas.layers.mergeDownTitle": "Merge down",
178
215
  "paintCanvas.layers.clear": "Clear…",
179
216
  "paintCanvas.layers.delete": "Delete…",
@@ -261,5 +298,5 @@
261
298
  "paintCanvas.theme.label": "Theme",
262
299
  "paintCanvas.theme.light": "Light",
263
300
  "paintCanvas.theme.dark": "Dark",
264
- "paintCanvas.theme.auto": "Auto"
301
+ "paintCanvas.theme.system": "System"
265
302
  }
@@ -5,7 +5,9 @@
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",
10
+ "paintCanvas.common.copyMerged": "Copy merged",
9
11
  "paintCanvas.common.paste": "Paste",
10
12
  "paintCanvas.common.undo": "Undo",
11
13
  "paintCanvas.common.redo": "Redo",
@@ -13,7 +15,33 @@
13
15
  "paintCanvas.common.moreInformation": "More information",
14
16
  "paintCanvas.common.width": "Width",
15
17
  "paintCanvas.common.height": "Height",
18
+ "paintCanvas.common.size": "Size",
16
19
  "paintCanvas.common.opacity": "Opacity",
20
+ "paintCanvas.range.low": "{label} (min)",
21
+ "paintCanvas.range.high": "{label} (max)",
22
+ "paintCanvas.profileGraph.point": "Point {number}: {x}, {y}",
23
+ "paintCanvas.profileGraph.remove": "Remove point",
24
+ "paintCanvas.profileGraph.linear": "Sharp corner (linear)",
25
+ "paintCanvas.profileGraph.bezier": "Smooth (bezier cubic)",
26
+ "paintCanvas.profiles.linear": "Linear",
27
+ "paintCanvas.profiles.overweight": "Overweight",
28
+ "paintCanvas.profiles.underweight": "Underweight",
29
+ "paintCanvas.profileEditor.title": "{param} profile graph",
30
+ "paintCanvas.profileEditor.button": "{param}: profile graph",
31
+ "paintCanvas.profileEditor.custom": "Custom",
32
+ "paintCanvas.profileEditor.actions": "Profile graph actions",
33
+ "paintCanvas.profileEditor.new": "New graph",
34
+ "paintCanvas.profileEditor.duplicate": "Duplicate…",
35
+ "paintCanvas.profileEditor.rename": "Rename…",
36
+ "paintCanvas.profileEditor.delete": "Delete…",
37
+ "paintCanvas.profileEditor.reset": "Reset",
38
+ "paintCanvas.profileEditor.name": "Name",
39
+ "paintCanvas.profileEditor.saveHeading": "Save profile graph",
40
+ "paintCanvas.profileEditor.renameHeading": "Rename profile graph",
41
+ "paintCanvas.profileEditor.deleteHeading": "Delete profile graph",
42
+ "paintCanvas.profileEditor.deleteConfirm": "Delete \"{name}\"? This can't be undone.",
43
+ "paintCanvas.profileEditor.replaceHeading": "Replace profile graph",
44
+ "paintCanvas.profileEditor.replaceConfirm": "You already have a profile graph called \"{name}\". Replace it?",
17
45
  "paintCanvas.tool.brush": "Brush",
18
46
  "paintCanvas.tool.eraser": "Eraser",
19
47
  "paintCanvas.tool.move": "Move, scale and rotate",
@@ -61,6 +89,8 @@
61
89
  "paintCanvas.toolSettings.presets": "{tool} presets",
62
90
  "paintCanvas.toolSettings.configure": "Configure",
63
91
  "paintCanvas.toolSettings.constrainProportions": "Constrain proportions",
92
+ "paintCanvas.toolSettings.sizeSettings": "Size settings",
93
+ "paintCanvas.toolSettings.moreActions": "More actions",
64
94
  "paintCanvas.toolSettings.pressure": "Pressure",
65
95
  "paintCanvas.toolSettings.tilt": "Tilt",
66
96
  "paintCanvas.toolSettings.focusPen": "Focus pen mode",
@@ -76,7 +106,7 @@
76
106
  "paintCanvas.toolSettings.areaSample": "Area sample",
77
107
  "paintCanvas.brushMenu.presets": "{tool} presets",
78
108
  "paintCanvas.brushMenu.size": "{tool} size",
79
- "paintCanvas.brushMenu.dragToResize": "Drag sideways to resize",
109
+ "paintCanvas.numberSlider.hint": "Drag sideways to change, or tap to type",
80
110
  "paintCanvas.brushMenu.newPreset": "New preset",
81
111
  "paintCanvas.brushMenu.create": "Create",
82
112
  "paintCanvas.brushMenu.import": "Import",
@@ -84,6 +114,9 @@
84
114
  "paintCanvas.presets.myPresets": "My presets",
85
115
  "paintCanvas.presets.unknownAuthor": "Unknown",
86
116
  "paintCanvas.presets.deleteConfirm": "Delete \"{name}\"? This can't be undone.",
117
+ "paintCanvas.presets.deleteHeading": "Delete preset",
118
+ "paintCanvas.presets.replaceHeading": "Replace preset",
119
+ "paintCanvas.presets.replace": "Replace",
87
120
  "paintCanvas.presets.deleted": "Deleted \"{name}\"",
88
121
  "paintCanvas.presets.deleteFailed": "Couldn't delete \"{name}\"",
89
122
  "paintCanvas.presets.saved": "Saved \"{name}\" to My presets",
@@ -99,6 +132,8 @@
99
132
  "paintCanvas.brushConfig.eraserTitle": "Eraser configuration",
100
133
  "paintCanvas.brushConfig.presetName": "Name of the preset",
101
134
  "paintCanvas.brushConfig.shape": "Shape",
135
+ "paintCanvas.brushConfig.chooseShape": "Choose a shape",
136
+ "paintCanvas.brushConfig.customShape": "Custom",
102
137
  "paintCanvas.brushConfig.upload": "Upload",
103
138
  "paintCanvas.brushConfig.paste": "Paste",
104
139
  "paintCanvas.brushConfig.rotation": "Rotation",
@@ -115,6 +150,7 @@
115
150
  "paintCanvas.brushConfig.shapeFailed": "Couldn't use the brush shape",
116
151
  "paintCanvas.brushConfig.test": "Test",
117
152
  "paintCanvas.brushConfig.testArea": "Brush testing area",
153
+ "paintCanvas.brushConfig.showStrokePoints": "Show stroke points",
118
154
  "paintCanvas.shape.notPng": "Brush shapes must be PNG images",
119
155
  "paintCanvas.shape.tooLarge": "Brush shape images can be up to 2 MB",
120
156
  "paintCanvas.shape.readFailed": "Couldn't read the brush shape image",
@@ -174,6 +210,7 @@
174
210
  "paintCanvas.brushConfig.snapToPixelGrid": "Snap to pixel grid",
175
211
  "paintCanvas.brushConfig.addToPresets": "Add to presets",
176
212
  "paintCanvas.brushConfig.variation": "{param}: {source}",
213
+ "paintCanvas.brushConfig.varyWith": "{param}: vary with",
177
214
  "paintCanvas.layers.mergeDownTitle": "Merge down",
178
215
  "paintCanvas.layers.clear": "Clear…",
179
216
  "paintCanvas.layers.delete": "Delete…",
@@ -261,5 +298,5 @@
261
298
  "paintCanvas.theme.label": "Theme",
262
299
  "paintCanvas.theme.light": "Light",
263
300
  "paintCanvas.theme.dark": "Dark",
264
- "paintCanvas.theme.auto": "Auto"
301
+ "paintCanvas.theme.system": "System"
265
302
  }
package/locales/fr.json CHANGED
@@ -5,7 +5,9 @@
5
5
  "paintCanvas.common.save": "Enregistrer",
6
6
  "paintCanvas.common.delete": "Supprimer",
7
7
  "paintCanvas.common.clear": "Effacer",
8
+ "paintCanvas.common.cut": "Couper",
8
9
  "paintCanvas.common.copy": "Copier",
10
+ "paintCanvas.common.copyMerged": "Copier avec fusion",
9
11
  "paintCanvas.common.paste": "Coller",
10
12
  "paintCanvas.common.undo": "Annuler",
11
13
  "paintCanvas.common.redo": "Rétablir",
@@ -13,7 +15,33 @@
13
15
  "paintCanvas.common.moreInformation": "Plus d’informations",
14
16
  "paintCanvas.common.width": "Largeur",
15
17
  "paintCanvas.common.height": "Hauteur",
18
+ "paintCanvas.common.size": "Taille",
16
19
  "paintCanvas.common.opacity": "Opacité",
20
+ "paintCanvas.range.low": "{label} (min)",
21
+ "paintCanvas.range.high": "{label} (max)",
22
+ "paintCanvas.profileGraph.point": "Point {number} : {x}, {y}",
23
+ "paintCanvas.profileGraph.remove": "Supprimer le point",
24
+ "paintCanvas.profileGraph.linear": "Angle net (linéaire)",
25
+ "paintCanvas.profileGraph.bezier": "Lisse (bézier cubique)",
26
+ "paintCanvas.profiles.linear": "Linéaire",
27
+ "paintCanvas.profiles.overweight": "Surpondéré",
28
+ "paintCanvas.profiles.underweight": "Sous-pondéré",
29
+ "paintCanvas.profileEditor.title": "Courbe de profil : {param}",
30
+ "paintCanvas.profileEditor.button": "{param} : courbe de profil",
31
+ "paintCanvas.profileEditor.custom": "Personnalisé",
32
+ "paintCanvas.profileEditor.actions": "Actions de la courbe",
33
+ "paintCanvas.profileEditor.new": "Nouvelle courbe",
34
+ "paintCanvas.profileEditor.duplicate": "Dupliquer…",
35
+ "paintCanvas.profileEditor.rename": "Renommer…",
36
+ "paintCanvas.profileEditor.delete": "Supprimer…",
37
+ "paintCanvas.profileEditor.reset": "Réinitialiser",
38
+ "paintCanvas.profileEditor.name": "Nom",
39
+ "paintCanvas.profileEditor.saveHeading": "Enregistrer la courbe",
40
+ "paintCanvas.profileEditor.renameHeading": "Renommer la courbe",
41
+ "paintCanvas.profileEditor.deleteHeading": "Supprimer la courbe",
42
+ "paintCanvas.profileEditor.deleteConfirm": "Supprimer « {name} » ? Cette action est irréversible.",
43
+ "paintCanvas.profileEditor.replaceHeading": "Remplacer la courbe",
44
+ "paintCanvas.profileEditor.replaceConfirm": "Vous avez déjà une courbe nommée « {name} ». La remplacer ?",
17
45
  "paintCanvas.tool.brush": "Pinceau",
18
46
  "paintCanvas.tool.eraser": "Gomme",
19
47
  "paintCanvas.tool.move": "Déplacer, redimensionner et faire pivoter",
@@ -61,6 +89,8 @@
61
89
  "paintCanvas.toolSettings.presets": "Préréglages : {tool}",
62
90
  "paintCanvas.toolSettings.configure": "Configurer",
63
91
  "paintCanvas.toolSettings.constrainProportions": "Conserver les proportions",
92
+ "paintCanvas.toolSettings.sizeSettings": "Réglages de taille",
93
+ "paintCanvas.toolSettings.moreActions": "Plus d’actions",
64
94
  "paintCanvas.toolSettings.pressure": "Pression",
65
95
  "paintCanvas.toolSettings.tilt": "Inclinaison",
66
96
  "paintCanvas.toolSettings.focusPen": "Mode stylet seul",
@@ -76,7 +106,7 @@
76
106
  "paintCanvas.toolSettings.areaSample": "Prélever une zone",
77
107
  "paintCanvas.brushMenu.presets": "Préréglages : {tool}",
78
108
  "paintCanvas.brushMenu.size": "Taille : {tool}",
79
- "paintCanvas.brushMenu.dragToResize": "Faire glisser latéralement pour redimensionner",
109
+ "paintCanvas.numberSlider.hint": "Faire glisser latéralement pour modifier, ou toucher pour saisir",
80
110
  "paintCanvas.brushMenu.newPreset": "Nouveau préréglage",
81
111
  "paintCanvas.brushMenu.create": "Créer",
82
112
  "paintCanvas.brushMenu.import": "Importer",
@@ -84,6 +114,9 @@
84
114
  "paintCanvas.presets.myPresets": "Mes préréglages",
85
115
  "paintCanvas.presets.unknownAuthor": "Inconnu",
86
116
  "paintCanvas.presets.deleteConfirm": "Supprimer « {name} » ? Cette action est irréversible.",
117
+ "paintCanvas.presets.deleteHeading": "Supprimer le préréglage",
118
+ "paintCanvas.presets.replaceHeading": "Remplacer le préréglage",
119
+ "paintCanvas.presets.replace": "Remplacer",
87
120
  "paintCanvas.presets.deleted": "« {name} » supprimé",
88
121
  "paintCanvas.presets.deleteFailed": "Impossible de supprimer « {name} »",
89
122
  "paintCanvas.presets.saved": "« {name} » enregistré dans Mes préréglages",
@@ -99,6 +132,8 @@
99
132
  "paintCanvas.brushConfig.eraserTitle": "Configuration de la gomme",
100
133
  "paintCanvas.brushConfig.presetName": "Nom du préréglage",
101
134
  "paintCanvas.brushConfig.shape": "Forme",
135
+ "paintCanvas.brushConfig.chooseShape": "Choisir une forme",
136
+ "paintCanvas.brushConfig.customShape": "Personnalisée",
102
137
  "paintCanvas.brushConfig.upload": "Téléverser",
103
138
  "paintCanvas.brushConfig.paste": "Coller",
104
139
  "paintCanvas.brushConfig.rotation": "Rotation",
@@ -115,6 +150,7 @@
115
150
  "paintCanvas.brushConfig.shapeFailed": "Impossible d’utiliser la forme du pinceau",
116
151
  "paintCanvas.brushConfig.test": "Essai",
117
152
  "paintCanvas.brushConfig.testArea": "Zone d’essai du pinceau",
153
+ "paintCanvas.brushConfig.showStrokePoints": "Afficher les points du trait",
118
154
  "paintCanvas.shape.notPng": "Les formes de pinceau doivent être des images PNG",
119
155
  "paintCanvas.shape.tooLarge": "Les images de forme de pinceau peuvent faire jusqu’à 2 Mo",
120
156
  "paintCanvas.shape.readFailed": "Impossible de lire l’image de la forme du pinceau",
@@ -174,6 +210,7 @@
174
210
  "paintCanvas.brushConfig.snapToPixelGrid": "Aligner sur la grille de pixels",
175
211
  "paintCanvas.brushConfig.addToPresets": "Ajouter aux préréglages",
176
212
  "paintCanvas.brushConfig.variation": "{param} : {source}",
213
+ "paintCanvas.brushConfig.varyWith": "{param} : varier selon",
177
214
  "paintCanvas.layers.mergeDownTitle": "Fusionner avec le calque inférieur",
178
215
  "paintCanvas.layers.clear": "Effacer…",
179
216
  "paintCanvas.layers.delete": "Supprimer…",
@@ -261,5 +298,5 @@
261
298
  "paintCanvas.theme.label": "Thème",
262
299
  "paintCanvas.theme.light": "Clair",
263
300
  "paintCanvas.theme.dark": "Sombre",
264
- "paintCanvas.theme.auto": "Auto"
301
+ "paintCanvas.theme.system": "Système"
265
302
  }
package/locales/ja.json CHANGED
@@ -5,7 +5,9 @@
5
5
  "paintCanvas.common.save": "保存",
6
6
  "paintCanvas.common.delete": "削除",
7
7
  "paintCanvas.common.clear": "クリア",
8
+ "paintCanvas.common.cut": "切り取り",
8
9
  "paintCanvas.common.copy": "コピー",
10
+ "paintCanvas.common.copyMerged": "結合部分をコピー",
9
11
  "paintCanvas.common.paste": "ペースト",
10
12
  "paintCanvas.common.undo": "取り消す",
11
13
  "paintCanvas.common.redo": "やり直す",
@@ -13,7 +15,33 @@
13
15
  "paintCanvas.common.moreInformation": "詳細",
14
16
  "paintCanvas.common.width": "幅",
15
17
  "paintCanvas.common.height": "高さ",
18
+ "paintCanvas.common.size": "サイズ",
16
19
  "paintCanvas.common.opacity": "不透明度",
20
+ "paintCanvas.range.low": "{label}(最小)",
21
+ "paintCanvas.range.high": "{label}(最大)",
22
+ "paintCanvas.profileGraph.point": "点 {number}:{x}, {y}",
23
+ "paintCanvas.profileGraph.remove": "点を削除",
24
+ "paintCanvas.profileGraph.linear": "角(直線)",
25
+ "paintCanvas.profileGraph.bezier": "なめらか(3次ベジェ)",
26
+ "paintCanvas.profiles.linear": "リニア",
27
+ "paintCanvas.profiles.overweight": "重め",
28
+ "paintCanvas.profiles.underweight": "軽め",
29
+ "paintCanvas.profileEditor.title": "{param}のプロファイルグラフ",
30
+ "paintCanvas.profileEditor.button": "{param}:プロファイルグラフ",
31
+ "paintCanvas.profileEditor.custom": "カスタム",
32
+ "paintCanvas.profileEditor.actions": "グラフの操作",
33
+ "paintCanvas.profileEditor.new": "新しいグラフ",
34
+ "paintCanvas.profileEditor.duplicate": "複製…",
35
+ "paintCanvas.profileEditor.rename": "名前を変更…",
36
+ "paintCanvas.profileEditor.delete": "削除…",
37
+ "paintCanvas.profileEditor.reset": "リセット",
38
+ "paintCanvas.profileEditor.name": "名前",
39
+ "paintCanvas.profileEditor.saveHeading": "グラフを保存",
40
+ "paintCanvas.profileEditor.renameHeading": "グラフの名前を変更",
41
+ "paintCanvas.profileEditor.deleteHeading": "グラフを削除",
42
+ "paintCanvas.profileEditor.deleteConfirm": "「{name}」を削除しますか?元に戻せません。",
43
+ "paintCanvas.profileEditor.replaceHeading": "グラフを置き換え",
44
+ "paintCanvas.profileEditor.replaceConfirm": "「{name}」という名前のグラフがすでにあります。置き換えますか?",
17
45
  "paintCanvas.tool.brush": "ブラシ",
18
46
  "paintCanvas.tool.eraser": "消しゴム",
19
47
  "paintCanvas.tool.move": "移動・拡大縮小・回転",
@@ -61,6 +89,8 @@
61
89
  "paintCanvas.toolSettings.presets": "{tool}のプリセット",
62
90
  "paintCanvas.toolSettings.configure": "詳細設定",
63
91
  "paintCanvas.toolSettings.constrainProportions": "縦横比を固定",
92
+ "paintCanvas.toolSettings.sizeSettings": "サイズ設定",
93
+ "paintCanvas.toolSettings.moreActions": "その他の操作",
64
94
  "paintCanvas.toolSettings.pressure": "筆圧",
65
95
  "paintCanvas.toolSettings.tilt": "傾き",
66
96
  "paintCanvas.toolSettings.focusPen": "ペン専用モード",
@@ -76,7 +106,7 @@
76
106
  "paintCanvas.toolSettings.areaSample": "範囲の平均で取得",
77
107
  "paintCanvas.brushMenu.presets": "{tool}のプリセット",
78
108
  "paintCanvas.brushMenu.size": "{tool}のサイズ",
79
- "paintCanvas.brushMenu.dragToResize": "左右にドラッグしてサイズを変更",
109
+ "paintCanvas.numberSlider.hint": "左右にドラッグして変更、タップして入力",
80
110
  "paintCanvas.brushMenu.newPreset": "新しいプリセット",
81
111
  "paintCanvas.brushMenu.create": "作成",
82
112
  "paintCanvas.brushMenu.import": "読み込み",
@@ -84,6 +114,9 @@
84
114
  "paintCanvas.presets.myPresets": "マイプリセット",
85
115
  "paintCanvas.presets.unknownAuthor": "不明",
86
116
  "paintCanvas.presets.deleteConfirm": "「{name}」を削除しますか?元に戻せません。",
117
+ "paintCanvas.presets.deleteHeading": "プリセットを削除",
118
+ "paintCanvas.presets.replaceHeading": "プリセットを置き換え",
119
+ "paintCanvas.presets.replace": "置き換え",
87
120
  "paintCanvas.presets.deleted": "「{name}」を削除しました",
88
121
  "paintCanvas.presets.deleteFailed": "「{name}」を削除できませんでした",
89
122
  "paintCanvas.presets.saved": "「{name}」をマイプリセットに保存しました",
@@ -99,6 +132,8 @@
99
132
  "paintCanvas.brushConfig.eraserTitle": "消しゴムの詳細設定",
100
133
  "paintCanvas.brushConfig.presetName": "プリセット名",
101
134
  "paintCanvas.brushConfig.shape": "形状",
135
+ "paintCanvas.brushConfig.chooseShape": "形を選ぶ",
136
+ "paintCanvas.brushConfig.customShape": "カスタム",
102
137
  "paintCanvas.brushConfig.upload": "アップロード",
103
138
  "paintCanvas.brushConfig.paste": "ペースト",
104
139
  "paintCanvas.brushConfig.rotation": "回転",
@@ -115,6 +150,7 @@
115
150
  "paintCanvas.brushConfig.shapeFailed": "このブラシ形状は使用できません",
116
151
  "paintCanvas.brushConfig.test": "試し描き",
117
152
  "paintCanvas.brushConfig.testArea": "ブラシの試し描きエリア",
153
+ "paintCanvas.brushConfig.showStrokePoints": "ストロークの点を表示",
118
154
  "paintCanvas.shape.notPng": "ブラシ形状はPNG画像にしてください",
119
155
  "paintCanvas.shape.tooLarge": "ブラシ形状の画像は2MBまでです",
120
156
  "paintCanvas.shape.readFailed": "ブラシ形状の画像を読み込めませんでした",
@@ -174,6 +210,7 @@
174
210
  "paintCanvas.brushConfig.snapToPixelGrid": "ピクセルグリッドに吸着",
175
211
  "paintCanvas.brushConfig.addToPresets": "プリセットに追加",
176
212
  "paintCanvas.brushConfig.variation": "{param}:{source}",
213
+ "paintCanvas.brushConfig.varyWith": "{param}:変化の元",
177
214
  "paintCanvas.layers.mergeDownTitle": "下のレイヤーと結合",
178
215
  "paintCanvas.layers.clear": "クリア…",
179
216
  "paintCanvas.layers.delete": "削除…",
@@ -261,5 +298,5 @@
261
298
  "paintCanvas.theme.label": "テーマ",
262
299
  "paintCanvas.theme.light": "ライト",
263
300
  "paintCanvas.theme.dark": "ダーク",
264
- "paintCanvas.theme.auto": "自動"
301
+ "paintCanvas.theme.system": "システム"
265
302
  }