oasis-editor 0.0.133 → 0.0.135

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 (40) hide show
  1. package/dist/{OasisEditorApp-DmXn9H33.js → OasisEditorApp-207_qEC4.js} +602 -30
  2. package/dist/app/controllers/EditorCommandsController.d.ts +5 -0
  3. package/dist/app/controllers/createCropSession.d.ts +26 -0
  4. package/dist/app/controllers/useEditorImageOperations.d.ts +7 -0
  5. package/dist/assets/{importDocxWorker-CCwhxVSR.js → importDocxWorker-B0cSSI12.js} +1 -1
  6. package/dist/core/commands/builtinCommands.d.ts +1 -1
  7. package/dist/core/commands/image.d.ts +51 -1
  8. package/dist/core/commands/publicCommandTypes.d.ts +5 -0
  9. package/dist/core/lineDash.d.ts +16 -0
  10. package/dist/core/model/index.d.ts +1 -1
  11. package/dist/core/model/types/primitives.d.ts +19 -0
  12. package/dist/core/pluginUiTypes.d.ts +1 -1
  13. package/dist/core/transactionMergeKeys.d.ts +2 -0
  14. package/dist/export/docx/docxTypes.d.ts +2 -1
  15. package/dist/export/docx/text/drawingContainerXml.d.ts +7 -1
  16. package/dist/export/pdf/draw/drawImageObject.d.ts +14 -0
  17. package/dist/export/pdf/writer/PdfContentStream.d.ts +8 -0
  18. package/dist/export/pdf/writer/pdfTypes.d.ts +12 -0
  19. package/dist/i18n/locales/en.d.ts +28 -0
  20. package/dist/i18n/locales/pt-BR.d.ts +28 -0
  21. package/dist/{index-BOj4-NlJ.js → index-CaKZARyM.js} +1217 -468
  22. package/dist/oasis-editor.css +1 -1
  23. package/dist/oasis-editor.js +49 -49
  24. package/dist/oasis-editor.umd.cjs +4 -4
  25. package/dist/plugins/internal/essentialsCapabilities.d.ts +21 -1
  26. package/dist/ui/OasisEditorEditorProps.d.ts +5 -0
  27. package/dist/ui/app/buildEditorViewProps.d.ts +2 -0
  28. package/dist/ui/app/createAppCommandsController.d.ts +8 -0
  29. package/dist/ui/app/createEditorCommandRuntime.d.ts +4 -0
  30. package/dist/ui/app/createEditorInteractionRuntime.d.ts +7 -0
  31. package/dist/ui/app/essentials/types.d.ts +5 -0
  32. package/dist/ui/canvas/paragraph/canvasInlineImage.d.ts +1 -1
  33. package/dist/ui/components/Toolbar/controls/ImageSizeControls.d.ts +16 -0
  34. package/dist/ui/components/Toolbar/pictureBorderPresets.d.ts +19 -0
  35. package/dist/ui/components/Toolbar/primitives/ColorGrids.d.ts +20 -0
  36. package/dist/ui/components/Toolbar/primitives/PictureBorderPicker.d.ts +37 -0
  37. package/dist/ui/components/Toolbar/primitives/WideMenuButton.d.ts +27 -0
  38. package/dist/ui/components/Toolbar/schema/items.d.ts +15 -1
  39. package/dist/ui/cropGeometry.d.ts +23 -0
  40. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- export declare const OASIS_BUILTIN_COMMANDS: readonly ["selectAll", "insertFootnote", "insertTableOfContents", "updateTableOfContents", "pastePlainText", "bold", "italic", "underline", "strike", "superscript", "subscript", "link", "unlink", "alignLeft", "alignCenter", "alignRight", "alignJustify", "orderedList", "bulletList", "find", "replace", "toggleTrackChanges", "acceptRevisions", "rejectRevisions", "toggleShowMargins", "toggleShowParagraphMarks", "togglePreciseFonts", "undo", "redo", "pageBreak", "lineBreak", "splitBlock", "setFontFamily", "setFontSize", "increaseFontSize", "decreaseFontSize", "changeTextCase", "clearFormatting", "setColor", "setHighlight", "setTextShading", "setStyleId", "setCharacterStyleId", "setUnderlineStyle", "documentStyles", "print", "copy", "exportDocx", "exportPdf", "importDocument", "insertImage", "editImageAlt", "insertImageCaption", "outdent", "indent", "togglePageBreakBefore", "toggleKeepWithNext", "setSpacingAfter", "setSpacingBefore", "setIndentLeft", "setIndentRight", "setIndentFirstLine", "setIndentHanging", "setSpecialIndent", "setParagraphShading", "applyParagraphBorders", "setLineHeight", "setListFormat", "setListStartAt", "toggleOrientation", "setOrientation", "sectionBreakNextPage", "sectionBreakContinuous", "setPageMargins", "tableContext", "tableMerge", "tableSplit", "tableInsertColumnBefore", "tableInsertColumnAfter", "tableDeleteColumn", "tableInsertRowBefore", "tableInsertRowAfter", "tableDeleteRow", "tableCellShading", "tableCellBorders", "tableCellNoBorders", "tableWidth100", "tableAlignLeft", "tableAlignCenter", "tableAlignRight", "tableSetCellWidth", "tableToggleHeaderRow", "tableToggleTotalRow", "tableToggleBandedRows", "tableToggleFirstColumn", "tableToggleLastColumn", "tableToggleBandedColumns", "setTableStyle", "tableToggleAutoFit", "tableDistributeColumns", "tableDistributeRows", "insertTable", "insertShape"];
1
+ export declare const OASIS_BUILTIN_COMMANDS: readonly ["selectAll", "insertFootnote", "insertTableOfContents", "updateTableOfContents", "pastePlainText", "bold", "italic", "underline", "strike", "superscript", "subscript", "link", "unlink", "alignLeft", "alignCenter", "alignRight", "alignJustify", "orderedList", "bulletList", "find", "replace", "toggleTrackChanges", "acceptRevisions", "rejectRevisions", "toggleShowMargins", "toggleShowParagraphMarks", "togglePreciseFonts", "undo", "redo", "pageBreak", "lineBreak", "splitBlock", "setFontFamily", "setFontSize", "increaseFontSize", "decreaseFontSize", "changeTextCase", "clearFormatting", "setColor", "setHighlight", "setTextShading", "setStyleId", "setCharacterStyleId", "setUnderlineStyle", "documentStyles", "print", "copy", "exportDocx", "exportPdf", "importDocument", "insertImage", "editImageAlt", "insertImageCaption", "imageContext", "imageWidthCm", "imageHeightCm", "imageCrop", "imageCropAspect", "imageBorder", "outdent", "indent", "togglePageBreakBefore", "toggleKeepWithNext", "setSpacingAfter", "setSpacingBefore", "setIndentLeft", "setIndentRight", "setIndentFirstLine", "setIndentHanging", "setSpecialIndent", "setParagraphShading", "applyParagraphBorders", "setLineHeight", "setListFormat", "setListStartAt", "toggleOrientation", "setOrientation", "sectionBreakNextPage", "sectionBreakContinuous", "setPageMargins", "tableContext", "tableMerge", "tableSplit", "tableInsertColumnBefore", "tableInsertColumnAfter", "tableDeleteColumn", "tableInsertRowBefore", "tableInsertRowAfter", "tableDeleteRow", "tableCellShading", "tableCellBorders", "tableCellNoBorders", "tableWidth100", "tableAlignLeft", "tableAlignCenter", "tableAlignRight", "tableSetCellWidth", "tableToggleHeaderRow", "tableToggleTotalRow", "tableToggleBandedRows", "tableToggleFirstColumn", "tableToggleLastColumn", "tableToggleBandedColumns", "setTableStyle", "tableToggleAutoFit", "tableDistributeColumns", "tableDistributeRows", "insertTable", "insertShape"];
2
2
  export type OasisBuiltinCommand = (typeof OASIS_BUILTIN_COMMANDS)[number];
@@ -1,4 +1,4 @@
1
- import { EditorPosition, EditorState, EditorImageRunData } from '../model.js';
1
+ import { EditorPosition, EditorState, EditorImageRunData, EditorImageBorder, EditorImageCrop, EditorLineDash } from '../model.js';
2
2
  import { SelectedObjectRun } from './selectedObjectRun.js';
3
3
  import { WrapPreset } from './floatingLayout.js';
4
4
 
@@ -6,6 +6,56 @@ export type SelectedImageRun = SelectedObjectRun;
6
6
  export declare function getSelectedImageRun(state: EditorState): SelectedImageRun | null;
7
7
  export declare function insertImageAtSelection(state: EditorState, image: EditorImageRunData): EditorState;
8
8
  export declare function resizeSelectedImage(state: EditorState, width: number, height: number): EditorState;
9
+ /** Displayed size of the selected image, in centimetres, or `null`. */
10
+ export declare function getSelectedImageSizeCm(state: EditorState): {
11
+ width: number;
12
+ height: number;
13
+ } | null;
14
+ /**
15
+ * Sets the displayed width from a centimetre value, scaling the height by the
16
+ * current aspect ratio (Word locks aspect for pictures).
17
+ */
18
+ export declare function setSelectedImageWidthCm(state: EditorState, cm: number): EditorState;
19
+ /** Sets the displayed height from a centimetre value, scaling width to match. */
20
+ export declare function setSelectedImageHeightCm(state: EditorState, cm: number): EditorState;
21
+ /** Crop fractions of the selected image (`a:srcRect`), or `null`. */
22
+ export declare function getSelectedImageCrop(state: EditorState): EditorImageCrop | null;
23
+ export interface ImageCropUpdate {
24
+ crop: EditorImageCrop | null;
25
+ /** Optional new displayed width (px) — used when cropping shrinks the box. */
26
+ width?: number;
27
+ /** Optional new displayed height (px). */
28
+ height?: number;
29
+ }
30
+ /**
31
+ * Applies a crop (and optionally a new displayed size) to the selected image.
32
+ * Passing `crop: null` clears the crop. Round-trips to DOCX `a:srcRect`.
33
+ */
34
+ export declare function setSelectedImageCrop(state: EditorState, update: ImageCropUpdate): EditorState;
35
+ /** Aspect-ratio crop preset: a numeric `width/height` ratio, or `"reset"`. */
36
+ export type ImageCropAspectMode = number | "reset";
37
+ /**
38
+ * Computes a centred crop that makes the displayed box match `mode` (a
39
+ * `width/height` ratio), trimming the longer axis and shrinking that box
40
+ * dimension so the image is not distorted. `"reset"` clears the crop.
41
+ */
42
+ export declare function computeImageAspectCrop(image: EditorImageRunData, mode: ImageCropAspectMode): ImageCropUpdate;
43
+ /** Applies an aspect-ratio crop preset to the selected image. */
44
+ export declare function applySelectedImageCropAspect(state: EditorState, mode: ImageCropAspectMode): EditorState;
45
+ /** Outline of the selected image (`pic:spPr/a:ln`), or `null`. */
46
+ export declare function getSelectedImageBorder(state: EditorState): EditorImageBorder | null;
47
+ /**
48
+ * A partial edit of the image outline, as dispatched by the picture-border
49
+ * toolbar popup. Each popup action touches one facet, so the patch merges onto
50
+ * whatever border the image already has. `color: null` removes the outline.
51
+ */
52
+ export interface ImageBorderPatch {
53
+ color?: string | null;
54
+ widthPt?: number;
55
+ dash?: EditorLineDash;
56
+ }
57
+ /** Merges `patch` onto the selected image's outline. `color: null` clears it. */
58
+ export declare function setSelectedImageBorder(state: EditorState, patch: ImageBorderPatch): EditorState;
9
59
  export declare function rotateSelectedImage(state: EditorState, rotation: number): EditorState;
10
60
  export declare function getSelectedImageWrapPreset(state: EditorState): WrapPreset | null;
11
61
  export declare function isSelectedImageFixedPosition(state: EditorState): boolean;
@@ -67,6 +67,11 @@ export interface OasisCommandPayloads {
67
67
  insertImage: undefined;
68
68
  editImageAlt: undefined;
69
69
  insertImageCaption: undefined;
70
+ imageContext: undefined;
71
+ imageWidthCm: number | string | null;
72
+ imageHeightCm: number | string | null;
73
+ imageCrop: undefined;
74
+ imageCropAspect: string;
70
75
  outdent: undefined;
71
76
  indent: undefined;
72
77
  togglePageBreakBefore: undefined;
@@ -0,0 +1,16 @@
1
+ import { EditorLineDash } from './model/types/primitives.js';
2
+
3
+ /**
4
+ * Canonical dash patterns for DrawingML `a:prstDash` presets, expressed in
5
+ * typographic points. This is the single source of truth shared by every
6
+ * renderer: the canvas scales them by `PX_PER_POINT` for `setLineDash`, the PDF
7
+ * exporter feeds them straight to the `d` operator, and the DOCX serializer
8
+ * needs no numbers at all (it writes the preset name back out verbatim).
9
+ *
10
+ * `solid` is the empty pattern — a continuous line in both backends.
11
+ */
12
+ export declare const LINE_DASH_PATTERN_PT: Record<EditorLineDash, number[]>;
13
+ /** Narrows an untrusted `a:prstDash/@val` to a supported preset. */
14
+ export declare function parseLineDash(value: string | null | undefined): EditorLineDash | undefined;
15
+ /** Dash pattern for a border, in points. Empty for solid/undefined. */
16
+ export declare function lineDashPatternPt(dash: EditorLineDash | undefined): number[];
@@ -6,7 +6,7 @@
6
6
  * statements that pointed there continue to work via the barrel
7
7
  * re-export in `src/core/model.ts`.
8
8
  */
9
- export type { EditorUnderlineStyle, EditorLigatures, EditorNumberSpacing, EditorNumberForm, EditorTextLanguage, EditorBorderStyle, EditorEmphasisMark, EditorTabStop, EditorParagraphListStyle, EditorImageCrop, EditorImageFillMode, EditorImageFloatingPosition, EditorImageFloatingLayout, EditorImageRunData, EditorWrapPolygonPoint, EditorFieldData, EditorFieldChar, EditorFootnoteReferenceData, EditorEndnoteReferenceData, EditorRevision, EditorRevisionMetadata, EditorStructuralRevision, EditorPropertyRevision, EditorAsset, EditorFootnoteNumberFormat, EditorFootnoteRestart, EditorDocxWidthValue, EditorTableLayout, EditorTableRowHeightRule, EditorGradientStop, EditorTextFill, EditorTextOutline, EditorTextShadow, EditorGlow, EditorReflection, } from './types/primitives.js';
9
+ export type { EditorUnderlineStyle, EditorLigatures, EditorNumberSpacing, EditorNumberForm, EditorTextLanguage, EditorBorderStyle, EditorEmphasisMark, EditorTabStop, EditorParagraphListStyle, EditorImageCrop, EditorImageFillMode, EditorLineDash, EditorImageBorder, EditorImageFloatingPosition, EditorImageFloatingLayout, EditorImageRunData, EditorWrapPolygonPoint, EditorFieldData, EditorFieldChar, EditorFootnoteReferenceData, EditorEndnoteReferenceData, EditorRevision, EditorRevisionMetadata, EditorStructuralRevision, EditorPropertyRevision, EditorAsset, EditorFootnoteNumberFormat, EditorFootnoteRestart, EditorDocxWidthValue, EditorTableLayout, EditorTableRowHeightRule, EditorGradientStop, EditorTextFill, EditorTextOutline, EditorTextShadow, EditorGlow, EditorReflection, } from './types/primitives.js';
10
10
  export type { EditorTextStyle, EditorParagraphStyle, EditorTableStyle, EditorTableFloatingLayout, EditorTableConditionalFormat, EditorConditionalRowStyle, EditorTableConditionalType, EditorTableConditionalFlags, EditorTableCellStyle, EditorNamedStyle, } from './types/styles.js';
11
11
  export type { EditorRunBase, EditorTextRun, EditorTextBoxShape, EditorTextBoxBody, EditorTextBoxData, EditorDropCap, EditorSdtBlockWrapper, EditorParagraphNode, EditorTableCellNode, EditorTableRowStyle, EditorTableRowNode, EditorTableNode, EditorBlockNode, } from './types/nodes.js';
12
12
  export type { RunKind, RunOfKind, RunVisitor } from './runKind.js';
@@ -110,6 +110,24 @@ export interface EditorImageCrop {
110
110
  bottom?: number;
111
111
  }
112
112
  export type EditorImageFillMode = "stretch" | "tile";
113
+ /**
114
+ * Preset dash patterns for an outline, mapped from DrawingML `a:prstDash/@val`.
115
+ * The member names are the serialized OOXML tokens.
116
+ */
117
+ export type EditorLineDash = "solid" | "dot" | "sysDot" | "dash" | "sysDash" | "dashDot" | "lgDash" | "lgDashDot" | "lgDashDotDot";
118
+ /**
119
+ * An image outline, mapped from `pic:spPr/a:ln`. Word centers the stroke on the
120
+ * displayed box edge and reserves no layout space for it. An absent `border`
121
+ * means no outline.
122
+ */
123
+ export interface EditorImageBorder {
124
+ /** `a:ln/a:solidFill/a:srgbClr` as `#RRGGBB`. */
125
+ color: string;
126
+ /** `a:ln/@w`, in points. Absent ⇒ 1pt. */
127
+ widthPt?: number;
128
+ /** `a:ln/a:prstDash/@val`. Absent ⇒ solid. */
129
+ dash?: EditorLineDash;
130
+ }
113
131
  export interface EditorImageFloatingPosition {
114
132
  relativeFrom?: string;
115
133
  align?: string;
@@ -145,6 +163,7 @@ export interface EditorImageRunData {
145
163
  linkedSrc?: string;
146
164
  crop?: EditorImageCrop;
147
165
  fillMode?: EditorImageFillMode;
166
+ border?: EditorImageBorder;
148
167
  rotation?: number;
149
168
  flipH?: boolean;
150
169
  flipV?: boolean;
@@ -1,4 +1,4 @@
1
- export declare const RIBBON_TABS: readonly ["file", "home", "insert", "draw", "layout", "references", "collaboration", "protection", "view", "tableDesign", "tableLayout", "plugins", "ai"];
1
+ export declare const RIBBON_TABS: readonly ["file", "home", "insert", "draw", "layout", "references", "collaboration", "protection", "view", "tableDesign", "tableLayout", "imageFormat", "plugins", "ai"];
2
2
  export type RibbonTabId = (typeof RIBBON_TABS)[number];
3
3
  /**
4
4
  * Contextual tabs are hidden from the tab strip unless their gating command
@@ -7,6 +7,8 @@ export declare const MERGE_KEYS: {
7
7
  readonly link: "link";
8
8
  readonly imageAlt: "imageAlt";
9
9
  readonly imageCaption: "imageCaption";
10
+ readonly imageResize: "imageResize";
11
+ readonly imageCrop: "imageCrop";
10
12
  readonly layoutWrapPolygon: "layoutWrapPolygon";
11
13
  readonly specialIndent: "specialIndent";
12
14
  readonly paraBorders: "paraBorders";
@@ -1,4 +1,4 @@
1
- import { EditorBlockNode, EditorImageCrop, EditorImageFillMode, EditorImageFloatingLayout, EditorParagraphListStyle, EditorWrapPolygonPoint } from '../../core/model.js';
1
+ import { EditorBlockNode, EditorImageBorder, EditorImageCrop, EditorImageFillMode, EditorImageFloatingLayout, EditorParagraphListStyle, EditorWrapPolygonPoint } from '../../core/model.js';
2
2
  import { BookmarkEventsByParagraph } from './bookmarksXml.js';
3
3
  import { CommentEventsByParagraph } from './commentsXml.js';
4
4
 
@@ -36,6 +36,7 @@ export interface DocContext {
36
36
  alt?: string;
37
37
  crop?: EditorImageCrop;
38
38
  fillMode?: EditorImageFillMode;
39
+ border?: EditorImageBorder;
39
40
  rotation?: number;
40
41
  flipH?: boolean;
41
42
  flipV?: boolean;
@@ -1,8 +1,14 @@
1
- import { EditorImageFloatingLayout, EditorWrapPolygonPoint } from '../../../core/model.js';
1
+ import { EditorImageBorder, EditorImageFloatingLayout, EditorWrapPolygonPoint } from '../../../core/model.js';
2
2
  import { DocContext } from '../docxTypes.js';
3
3
 
4
4
  export declare function buildXfrmAttrs(img: DocContext["images"][number]): string;
5
5
  export declare function buildSrcRect(crop: DocContext["images"][number]["crop"]): string;
6
+ /**
7
+ * The picture outline. Belongs inside `pic:spPr` right after `a:prstGeom` —
8
+ * `CT_ShapeProperties` sequences xfrm, geometry, fill, then `a:ln` (a picture's
9
+ * fill lives in `pic:blipFill`, so nothing sits between the two here).
10
+ */
11
+ export declare function buildImageLnXml(border: EditorImageBorder | undefined): string;
6
12
  export declare function buildDrawingContainerXml(options: {
7
13
  cx: number;
8
14
  cy: number;
@@ -0,0 +1,14 @@
1
+ import { EditorDocument, EditorImageRunData } from '../../../core/model.js';
2
+ import { OasisPdfWriter } from '../OasisPdfWriter.js';
3
+
4
+ /**
5
+ * Draws one image — inline or floating — onto a page: the XObject itself, then
6
+ * its picture outline (`pic:spPr/a:ln`) if it has one. Shared by both call
7
+ * sites so the two can never drift on border handling.
8
+ *
9
+ * The rect passed in is the displayed box, in points. Crop never changes it:
10
+ * `drawImage` already clips the (enlarged) source to this same box, so the
11
+ * outline hugs what the reader sees. Rotation is applied around the box centre,
12
+ * mirroring `paintTextBox`.
13
+ */
14
+ export declare function drawImageObject(writer: OasisPdfWriter, pageIndex: number, document: EditorDocument, image: EditorImageRunData, x: number, y: number, width: number, height: number): Promise<void>;
@@ -34,4 +34,12 @@ export declare class PdfContentStream {
34
34
  */
35
35
  private emitGradientTextBlock;
36
36
  drawImage(options: OasisPdfImageOptions): void;
37
+ /**
38
+ * Draws a cropped image by clipping to the displayed box and scaling the full
39
+ * image so only the cropped sub-region fills it — mirroring the canvas/DOCX
40
+ * `a:srcRect` semantics. Works with rotation by mapping box-local space to the
41
+ * page (rotation about the box centre), clipping in that space, then drawing
42
+ * the enlarged image behind the clip.
43
+ */
44
+ private drawCroppedImage;
37
45
  }
@@ -87,6 +87,8 @@ export interface OasisPdfRectOptions {
87
87
  fill?: string;
88
88
  stroke?: string;
89
89
  lineWidth?: number;
90
+ /** Stroke dash pattern, in points. Ignored without a `stroke`. */
91
+ dashArray?: number[];
90
92
  }
91
93
  export interface OasisPdfLineOptions {
92
94
  x1: number;
@@ -165,6 +167,16 @@ export interface OasisPdfImageOptions {
165
167
  width: number;
166
168
  height: number;
167
169
  rotation?: number;
170
+ /**
171
+ * Crop fractions (0..1 trimmed per edge, matching `a:srcRect`). When present,
172
+ * only the cropped sub-region is shown, scaled to fill the box.
173
+ */
174
+ crop?: {
175
+ left?: number;
176
+ top?: number;
177
+ right?: number;
178
+ bottom?: number;
179
+ };
168
180
  }
169
181
  export type OasisPdfFontResource = OasisPdfBase14FontResource | OasisPdfUnicodeFontResource;
170
182
  export interface OasisPdfBase14FontResource {
@@ -365,6 +365,7 @@ export declare const en: {
365
365
  "ribbon.tab.view": string;
366
366
  "ribbon.tab.tableDesign": string;
367
367
  "ribbon.tab.tableLayout": string;
368
+ "ribbon.tab.imageFormat": string;
368
369
  "ribbon.tab.plugins": string;
369
370
  "ribbon.tab.ai": string;
370
371
  "ribbon.group.clipboard": string;
@@ -387,6 +388,33 @@ export declare const en: {
387
388
  "ribbon.group.merge": string;
388
389
  "ribbon.group.cellSize": string;
389
390
  "ribbon.group.alignment": string;
391
+ "ribbon.group.size": string;
392
+ "ribbon.group.imageStyles": string;
393
+ "image.crop": string;
394
+ "image.height": string;
395
+ "image.width": string;
396
+ "image.cropReset": string;
397
+ "image.cropRatio.square": string;
398
+ "image.cropRatio.16x9": string;
399
+ "image.cropRatio.4x3": string;
400
+ "image.cropRatio.3x2": string;
401
+ "image.cropRatio.2x3": string;
402
+ "image.cropRatio.3x4": string;
403
+ "image.cropRatio.9x16": string;
404
+ "image.border": string;
405
+ "image.borderNone": string;
406
+ "image.borderMoreColors": string;
407
+ "image.borderWeight": string;
408
+ "image.borderDashes": string;
409
+ "image.borderDash.solid": string;
410
+ "image.borderDash.sysDot": string;
411
+ "image.borderDash.sysDash": string;
412
+ "image.borderDash.dot": string;
413
+ "image.borderDash.dash": string;
414
+ "image.borderDash.dashDot": string;
415
+ "image.borderDash.lgDash": string;
416
+ "image.borderDash.lgDashDot": string;
417
+ "image.borderDash.lgDashDotDot": string;
390
418
  "toolbar.exportDocx": string;
391
419
  "toolbar.exportPdf": string;
392
420
  "underline.style.single": string;
@@ -365,6 +365,7 @@ export declare const ptBR: {
365
365
  "ribbon.tab.view": string;
366
366
  "ribbon.tab.tableDesign": string;
367
367
  "ribbon.tab.tableLayout": string;
368
+ "ribbon.tab.imageFormat": string;
368
369
  "ribbon.tab.plugins": string;
369
370
  "ribbon.tab.ai": string;
370
371
  "ribbon.group.clipboard": string;
@@ -387,6 +388,33 @@ export declare const ptBR: {
387
388
  "ribbon.group.merge": string;
388
389
  "ribbon.group.cellSize": string;
389
390
  "ribbon.group.alignment": string;
391
+ "ribbon.group.size": string;
392
+ "ribbon.group.imageStyles": string;
393
+ "image.crop": string;
394
+ "image.height": string;
395
+ "image.width": string;
396
+ "image.cropReset": string;
397
+ "image.cropRatio.square": string;
398
+ "image.cropRatio.16x9": string;
399
+ "image.cropRatio.4x3": string;
400
+ "image.cropRatio.3x2": string;
401
+ "image.cropRatio.2x3": string;
402
+ "image.cropRatio.3x4": string;
403
+ "image.cropRatio.9x16": string;
404
+ "image.border": string;
405
+ "image.borderNone": string;
406
+ "image.borderMoreColors": string;
407
+ "image.borderWeight": string;
408
+ "image.borderDashes": string;
409
+ "image.borderDash.solid": string;
410
+ "image.borderDash.sysDot": string;
411
+ "image.borderDash.sysDash": string;
412
+ "image.borderDash.dot": string;
413
+ "image.borderDash.dash": string;
414
+ "image.borderDash.dashDot": string;
415
+ "image.borderDash.lgDash": string;
416
+ "image.borderDash.lgDashDot": string;
417
+ "image.borderDash.lgDashDotDot": string;
390
418
  "toolbar.exportDocx": string;
391
419
  "toolbar.exportPdf": string;
392
420
  "underline.style.single": string;