@progress/kendo-angular-editor 14.3.0-develop.8 → 14.3.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.
@@ -915,6 +915,8 @@ EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
915
915
  viewSource="View source"
916
916
  i18n-insertTable="kendo.editor.insertTable|The title of the tool that inserts table."
917
917
  insertTable="Insert Table"
918
+ i18n-insertTableHint="kendo.editor.insertTableHint|The caption for the hint in the insert table tool."
919
+ insertTableHint="Create a {rows} {x} {columns} table"
918
920
  i18n-addColumnBefore="kendo.editor.addColumnBefore|The title of the tool that adds new column before currently selected column."
919
921
  addColumnBefore="Add column before"
920
922
  i18n-addColumnAfter="kendo.editor.addColumnAfter|The title of the tool that adds new column after currently selected column."
@@ -1099,6 +1101,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1099
1101
  viewSource="View source"
1100
1102
  i18n-insertTable="kendo.editor.insertTable|The title of the tool that inserts table."
1101
1103
  insertTable="Insert Table"
1104
+ i18n-insertTableHint="kendo.editor.insertTableHint|The caption for the hint in the insert table tool."
1105
+ insertTableHint="Create a {rows} {x} {columns} table"
1102
1106
  i18n-addColumnBefore="kendo.editor.addColumnBefore|The title of the tool that adds new column before currently selected column."
1103
1107
  addColumnBefore="Add column before"
1104
1108
  i18n-addColumnAfter="kendo.editor.addColumnAfter|The title of the tool that adds new column after currently selected column."
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
11
11
  export class MessagesDirective extends ComponentMessages {
12
12
  }
13
13
  MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
- MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoEditorMessages]", inputs: { alignCenter: "alignCenter", alignJustify: "alignJustify", alignLeft: "alignLeft", alignRight: "alignRight", backColor: "backColor", blockquote: "blockquote", bold: "bold", cleanFormatting: "cleanFormatting", createLink: "createLink", fontFamily: "fontFamily", fontSize: "fontSize", foreColor: "foreColor", format: "format", indent: "indent", insertFile: "insertFile", insertImage: "insertImage", insertOrderedList: "insertOrderedList", insertUnorderedList: "insertUnorderedList", italic: "italic", outdent: "outdent", print: "print", redo: "redo", selectAll: "selectAll", strikethrough: "strikethrough", subscript: "subscript", superscript: "superscript", underline: "underline", undo: "undo", unlink: "unlink", viewSource: "viewSource", insertTable: "insertTable", addColumnBefore: "addColumnBefore", addColumnAfter: "addColumnAfter", addRowBefore: "addRowBefore", addRowAfter: "addRowAfter", deleteColumn: "deleteColumn", deleteRow: "deleteRow", deleteTable: "deleteTable", mergeCells: "mergeCells", splitCell: "splitCell", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogInsert: "dialogInsert", dialogUpdate: "dialogUpdate", fileText: "fileText", fileTitle: "fileTitle", fileWebAddress: "fileWebAddress", imageAltText: "imageAltText", imageHeight: "imageHeight", imageWebAddress: "imageWebAddress", imageWidth: "imageWidth", linkOpenInNewWindow: "linkOpenInNewWindow", linkText: "linkText", linkTitle: "linkTitle", linkWebAddress: "linkWebAddress" }, usesInheritance: true, ngImport: i0 });
14
+ MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoEditorMessages]", inputs: { alignCenter: "alignCenter", alignJustify: "alignJustify", alignLeft: "alignLeft", alignRight: "alignRight", backColor: "backColor", blockquote: "blockquote", bold: "bold", cleanFormatting: "cleanFormatting", createLink: "createLink", fontFamily: "fontFamily", fontSize: "fontSize", foreColor: "foreColor", format: "format", indent: "indent", insertFile: "insertFile", insertImage: "insertImage", insertOrderedList: "insertOrderedList", insertUnorderedList: "insertUnorderedList", italic: "italic", outdent: "outdent", print: "print", redo: "redo", selectAll: "selectAll", strikethrough: "strikethrough", subscript: "subscript", superscript: "superscript", underline: "underline", undo: "undo", unlink: "unlink", viewSource: "viewSource", insertTable: "insertTable", insertTableHint: "insertTableHint", addColumnBefore: "addColumnBefore", addColumnAfter: "addColumnAfter", addRowBefore: "addRowBefore", addRowAfter: "addRowAfter", deleteColumn: "deleteColumn", deleteRow: "deleteRow", deleteTable: "deleteTable", mergeCells: "mergeCells", splitCell: "splitCell", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogInsert: "dialogInsert", dialogUpdate: "dialogUpdate", fileText: "fileText", fileTitle: "fileTitle", fileWebAddress: "fileWebAddress", imageAltText: "imageAltText", imageHeight: "imageHeight", imageWebAddress: "imageWebAddress", imageWidth: "imageWidth", linkOpenInNewWindow: "linkOpenInNewWindow", linkText: "linkText", linkTitle: "linkTitle", linkWebAddress: "linkWebAddress" }, usesInheritance: true, ngImport: i0 });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
@@ -79,6 +79,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
79
79
  type: Input
80
80
  }], insertTable: [{
81
81
  type: Input
82
+ }], insertTableHint: [{
83
+ type: Input
82
84
  }], addColumnBefore: [{
83
85
  type: Input
84
86
  }], addColumnAfter: [{
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-editor',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1701849437,
13
- version: '14.3.0-develop.8',
12
+ publishDate: 1703060788,
13
+ version: '14.3.0',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -4,13 +4,17 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, Output, EventEmitter } from '@angular/core';
6
6
  import { tableWizardIcon } from '@progress/kendo-svg-icons';
7
+ import { EditorLocalizationService } from '../../localization/editor-localization.service';
8
+ import { replaceMessagePlaceholder } from '../../util';
7
9
  import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
10
+ import * as i1 from "../../localization/editor-localization.service";
11
+ import * as i2 from "@angular/common";
9
12
  /**
10
13
  * @hidden
11
14
  */
12
15
  export class PopupTableGridComponent {
13
- constructor() {
16
+ constructor(localization) {
17
+ this.localization = localization;
14
18
  this.cellClick = new EventEmitter();
15
19
  this.tableWizardClick = new EventEmitter();
16
20
  this.tableWizardIcon = tableWizardIcon;
@@ -20,7 +24,15 @@ export class PopupTableGridComponent {
20
24
  }
21
25
  get message() {
22
26
  const { rows, cols } = this.state;
23
- return `Create a ${rows > -1 ? rows + 1 : ''} ${cols > -1 ? 'x' : ''} ${cols > -1 ? cols + 1 : ''} table`;
27
+ const localizationMsg = this.localization.get('insertTableHint') || '';
28
+ const rowReplacement = rows > -1 ? (rows + 1).toString() : '';
29
+ const colReplacement = cols > -1 ? (cols + 1).toString() : '';
30
+ const xReplacement = cols > -1 ? 'x' : '';
31
+ return replaceMessagePlaceholder(localizationMsg, [
32
+ { placeholder: 'rows', value: rowReplacement },
33
+ { placeholder: 'columns', value: colReplacement },
34
+ { placeholder: 'x', value: xReplacement }
35
+ ]);
24
36
  }
25
37
  get cells() {
26
38
  return Array.from(Array(this.rows * this.cols).keys());
@@ -46,7 +58,7 @@ export class PopupTableGridComponent {
46
58
  this.tableWizardClick.emit();
47
59
  }
48
60
  }
49
- PopupTableGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PopupTableGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
+ PopupTableGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PopupTableGridComponent, deps: [{ token: i1.EditorLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
50
62
  PopupTableGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PopupTableGridComponent, selector: "kendo-popup-table-grid", outputs: { cellClick: "cellClick", tableWizardClick: "tableWizardClick" }, ngImport: i0, template: `
51
63
  <div [style.border-color]="'inherit'" (mouseleave)="resetState()" (click)="insertTable()">
52
64
  <span *ngFor="let i of cells"
@@ -62,7 +74,7 @@ PopupTableGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
62
74
  <button type="button" kendoButton class="k-tool" [icon]="'table-wizard'" [svgIcon]="tableWizardIcon" (click)="openTableWizard()" title="Table Wizard">Table Wizard</button>
63
75
  </div>
64
76
  -->
65
- `, isInline: true, directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
77
+ `, isInline: true, directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
66
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PopupTableGridComponent, decorators: [{
67
79
  type: Component,
68
80
  args: [{
@@ -84,7 +96,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
84
96
  -->
85
97
  `
86
98
  }]
87
- }], propDecorators: { cellClick: [{
99
+ }], ctorParameters: function () { return [{ type: i1.EditorLocalizationService }]; }, propDecorators: { cellClick: [{
88
100
  type: Output
89
101
  }], tableWizardClick: [{
90
102
  type: Output
package/esm2020/util.mjs CHANGED
@@ -133,3 +133,10 @@ export const pipe = (...fns) => x => fns.reduce((y, f) => f(y), x);
133
133
  * @returns the selection text.
134
134
  */
135
135
  export const getSelectionText = (state) => commonGetSelectionText(state);
136
+ /**
137
+ * @hidden
138
+ */
139
+ export const replaceMessagePlaceholder = (message, replacements) => {
140
+ replacements.forEach((replacement) => message = message.replace(new RegExp(`\{\\s*${replacement.placeholder}\\s*\}`, 'g'), replacement.value));
141
+ return message;
142
+ };
@@ -41,8 +41,8 @@ const packageMetadata = {
41
41
  name: '@progress/kendo-angular-editor',
42
42
  productName: 'Kendo UI for Angular',
43
43
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
44
- publishDate: 1701849437,
45
- version: '14.3.0-develop.8',
44
+ publishDate: 1703060788,
45
+ version: '14.3.0',
46
46
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
47
47
  };
48
48
 
@@ -638,6 +638,13 @@ const pipe = (...fns) => x => fns.reduce((y, f) => f(y), x);
638
638
  * @returns the selection text.
639
639
  */
640
640
  const getSelectionText = (state) => getSelectionText$1(state);
641
+ /**
642
+ * @hidden
643
+ */
644
+ const replaceMessagePlaceholder = (message, replacements) => {
645
+ replacements.forEach((replacement) => message = message.replace(new RegExp(`\{\\s*${replacement.placeholder}\\s*\}`, 'g'), replacement.value));
646
+ return message;
647
+ };
641
648
 
642
649
  /**
643
650
  * @hidden
@@ -2093,7 +2100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2093
2100
  class MessagesDirective extends ComponentMessages {
2094
2101
  }
2095
2102
  MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2096
- MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoEditorMessages]", inputs: { alignCenter: "alignCenter", alignJustify: "alignJustify", alignLeft: "alignLeft", alignRight: "alignRight", backColor: "backColor", blockquote: "blockquote", bold: "bold", cleanFormatting: "cleanFormatting", createLink: "createLink", fontFamily: "fontFamily", fontSize: "fontSize", foreColor: "foreColor", format: "format", indent: "indent", insertFile: "insertFile", insertImage: "insertImage", insertOrderedList: "insertOrderedList", insertUnorderedList: "insertUnorderedList", italic: "italic", outdent: "outdent", print: "print", redo: "redo", selectAll: "selectAll", strikethrough: "strikethrough", subscript: "subscript", superscript: "superscript", underline: "underline", undo: "undo", unlink: "unlink", viewSource: "viewSource", insertTable: "insertTable", addColumnBefore: "addColumnBefore", addColumnAfter: "addColumnAfter", addRowBefore: "addRowBefore", addRowAfter: "addRowAfter", deleteColumn: "deleteColumn", deleteRow: "deleteRow", deleteTable: "deleteTable", mergeCells: "mergeCells", splitCell: "splitCell", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogInsert: "dialogInsert", dialogUpdate: "dialogUpdate", fileText: "fileText", fileTitle: "fileTitle", fileWebAddress: "fileWebAddress", imageAltText: "imageAltText", imageHeight: "imageHeight", imageWebAddress: "imageWebAddress", imageWidth: "imageWidth", linkOpenInNewWindow: "linkOpenInNewWindow", linkText: "linkText", linkTitle: "linkTitle", linkWebAddress: "linkWebAddress" }, usesInheritance: true, ngImport: i0 });
2103
+ MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoEditorMessages]", inputs: { alignCenter: "alignCenter", alignJustify: "alignJustify", alignLeft: "alignLeft", alignRight: "alignRight", backColor: "backColor", blockquote: "blockquote", bold: "bold", cleanFormatting: "cleanFormatting", createLink: "createLink", fontFamily: "fontFamily", fontSize: "fontSize", foreColor: "foreColor", format: "format", indent: "indent", insertFile: "insertFile", insertImage: "insertImage", insertOrderedList: "insertOrderedList", insertUnorderedList: "insertUnorderedList", italic: "italic", outdent: "outdent", print: "print", redo: "redo", selectAll: "selectAll", strikethrough: "strikethrough", subscript: "subscript", superscript: "superscript", underline: "underline", undo: "undo", unlink: "unlink", viewSource: "viewSource", insertTable: "insertTable", insertTableHint: "insertTableHint", addColumnBefore: "addColumnBefore", addColumnAfter: "addColumnAfter", addRowBefore: "addRowBefore", addRowAfter: "addRowAfter", deleteColumn: "deleteColumn", deleteRow: "deleteRow", deleteTable: "deleteTable", mergeCells: "mergeCells", splitCell: "splitCell", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogInsert: "dialogInsert", dialogUpdate: "dialogUpdate", fileText: "fileText", fileTitle: "fileTitle", fileWebAddress: "fileWebAddress", imageAltText: "imageAltText", imageHeight: "imageHeight", imageWebAddress: "imageWebAddress", imageWidth: "imageWidth", linkOpenInNewWindow: "linkOpenInNewWindow", linkText: "linkText", linkTitle: "linkTitle", linkWebAddress: "linkWebAddress" }, usesInheritance: true, ngImport: i0 });
2097
2104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
2098
2105
  type: Directive,
2099
2106
  args: [{
@@ -2161,6 +2168,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2161
2168
  type: Input
2162
2169
  }], insertTable: [{
2163
2170
  type: Input
2171
+ }], insertTableHint: [{
2172
+ type: Input
2164
2173
  }], addColumnBefore: [{
2165
2174
  type: Input
2166
2175
  }], addColumnAfter: [{
@@ -3649,6 +3658,8 @@ EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
3649
3658
  viewSource="View source"
3650
3659
  i18n-insertTable="kendo.editor.insertTable|The title of the tool that inserts table."
3651
3660
  insertTable="Insert Table"
3661
+ i18n-insertTableHint="kendo.editor.insertTableHint|The caption for the hint in the insert table tool."
3662
+ insertTableHint="Create a {rows} {x} {columns} table"
3652
3663
  i18n-addColumnBefore="kendo.editor.addColumnBefore|The title of the tool that adds new column before currently selected column."
3653
3664
  addColumnBefore="Add column before"
3654
3665
  i18n-addColumnAfter="kendo.editor.addColumnAfter|The title of the tool that adds new column after currently selected column."
@@ -3833,6 +3844,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3833
3844
  viewSource="View source"
3834
3845
  i18n-insertTable="kendo.editor.insertTable|The title of the tool that inserts table."
3835
3846
  insertTable="Insert Table"
3847
+ i18n-insertTableHint="kendo.editor.insertTableHint|The caption for the hint in the insert table tool."
3848
+ insertTableHint="Create a {rows} {x} {columns} table"
3836
3849
  i18n-addColumnBefore="kendo.editor.addColumnBefore|The title of the tool that adds new column before currently selected column."
3837
3850
  addColumnBefore="Add column before"
3838
3851
  i18n-addColumnAfter="kendo.editor.addColumnAfter|The title of the tool that adds new column after currently selected column."
@@ -4298,7 +4311,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4298
4311
  * @hidden
4299
4312
  */
4300
4313
  class PopupTableGridComponent {
4301
- constructor() {
4314
+ constructor(localization) {
4315
+ this.localization = localization;
4302
4316
  this.cellClick = new EventEmitter();
4303
4317
  this.tableWizardClick = new EventEmitter();
4304
4318
  this.tableWizardIcon = tableWizardIcon;
@@ -4308,7 +4322,15 @@ class PopupTableGridComponent {
4308
4322
  }
4309
4323
  get message() {
4310
4324
  const { rows, cols } = this.state;
4311
- return `Create a ${rows > -1 ? rows + 1 : ''} ${cols > -1 ? 'x' : ''} ${cols > -1 ? cols + 1 : ''} table`;
4325
+ const localizationMsg = this.localization.get('insertTableHint') || '';
4326
+ const rowReplacement = rows > -1 ? (rows + 1).toString() : '';
4327
+ const colReplacement = cols > -1 ? (cols + 1).toString() : '';
4328
+ const xReplacement = cols > -1 ? 'x' : '';
4329
+ return replaceMessagePlaceholder(localizationMsg, [
4330
+ { placeholder: 'rows', value: rowReplacement },
4331
+ { placeholder: 'columns', value: colReplacement },
4332
+ { placeholder: 'x', value: xReplacement }
4333
+ ]);
4312
4334
  }
4313
4335
  get cells() {
4314
4336
  return Array.from(Array(this.rows * this.cols).keys());
@@ -4334,7 +4356,7 @@ class PopupTableGridComponent {
4334
4356
  this.tableWizardClick.emit();
4335
4357
  }
4336
4358
  }
4337
- PopupTableGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PopupTableGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4359
+ PopupTableGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PopupTableGridComponent, deps: [{ token: EditorLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4338
4360
  PopupTableGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PopupTableGridComponent, selector: "kendo-popup-table-grid", outputs: { cellClick: "cellClick", tableWizardClick: "tableWizardClick" }, ngImport: i0, template: `
4339
4361
  <div [style.border-color]="'inherit'" (mouseleave)="resetState()" (click)="insertTable()">
4340
4362
  <span *ngFor="let i of cells"
@@ -4372,7 +4394,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4372
4394
  -->
4373
4395
  `
4374
4396
  }]
4375
- }], propDecorators: { cellClick: [{
4397
+ }], ctorParameters: function () { return [{ type: EditorLocalizationService }]; }, propDecorators: { cellClick: [{
4376
4398
  type: Output
4377
4399
  }], tableWizardClick: [{
4378
4400
  type: Output
@@ -41,8 +41,8 @@ const packageMetadata = {
41
41
  name: '@progress/kendo-angular-editor',
42
42
  productName: 'Kendo UI for Angular',
43
43
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
44
- publishDate: 1701849437,
45
- version: '14.3.0-develop.8',
44
+ publishDate: 1703060788,
45
+ version: '14.3.0',
46
46
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
47
47
  };
48
48
 
@@ -644,6 +644,13 @@ const pipe = (...fns) => x => fns.reduce((y, f) => f(y), x);
644
644
  * @returns the selection text.
645
645
  */
646
646
  const getSelectionText = (state) => getSelectionText$1(state);
647
+ /**
648
+ * @hidden
649
+ */
650
+ const replaceMessagePlaceholder = (message, replacements) => {
651
+ replacements.forEach((replacement) => message = message.replace(new RegExp(`\{\\s*${replacement.placeholder}\\s*\}`, 'g'), replacement.value));
652
+ return message;
653
+ };
647
654
 
648
655
  /**
649
656
  * @hidden
@@ -2097,7 +2104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2097
2104
  class MessagesDirective extends ComponentMessages {
2098
2105
  }
2099
2106
  MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2100
- MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoEditorMessages]", inputs: { alignCenter: "alignCenter", alignJustify: "alignJustify", alignLeft: "alignLeft", alignRight: "alignRight", backColor: "backColor", blockquote: "blockquote", bold: "bold", cleanFormatting: "cleanFormatting", createLink: "createLink", fontFamily: "fontFamily", fontSize: "fontSize", foreColor: "foreColor", format: "format", indent: "indent", insertFile: "insertFile", insertImage: "insertImage", insertOrderedList: "insertOrderedList", insertUnorderedList: "insertUnorderedList", italic: "italic", outdent: "outdent", print: "print", redo: "redo", selectAll: "selectAll", strikethrough: "strikethrough", subscript: "subscript", superscript: "superscript", underline: "underline", undo: "undo", unlink: "unlink", viewSource: "viewSource", insertTable: "insertTable", addColumnBefore: "addColumnBefore", addColumnAfter: "addColumnAfter", addRowBefore: "addRowBefore", addRowAfter: "addRowAfter", deleteColumn: "deleteColumn", deleteRow: "deleteRow", deleteTable: "deleteTable", mergeCells: "mergeCells", splitCell: "splitCell", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogInsert: "dialogInsert", dialogUpdate: "dialogUpdate", fileText: "fileText", fileTitle: "fileTitle", fileWebAddress: "fileWebAddress", imageAltText: "imageAltText", imageHeight: "imageHeight", imageWebAddress: "imageWebAddress", imageWidth: "imageWidth", linkOpenInNewWindow: "linkOpenInNewWindow", linkText: "linkText", linkTitle: "linkTitle", linkWebAddress: "linkWebAddress" }, usesInheritance: true, ngImport: i0 });
2107
+ MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoEditorMessages]", inputs: { alignCenter: "alignCenter", alignJustify: "alignJustify", alignLeft: "alignLeft", alignRight: "alignRight", backColor: "backColor", blockquote: "blockquote", bold: "bold", cleanFormatting: "cleanFormatting", createLink: "createLink", fontFamily: "fontFamily", fontSize: "fontSize", foreColor: "foreColor", format: "format", indent: "indent", insertFile: "insertFile", insertImage: "insertImage", insertOrderedList: "insertOrderedList", insertUnorderedList: "insertUnorderedList", italic: "italic", outdent: "outdent", print: "print", redo: "redo", selectAll: "selectAll", strikethrough: "strikethrough", subscript: "subscript", superscript: "superscript", underline: "underline", undo: "undo", unlink: "unlink", viewSource: "viewSource", insertTable: "insertTable", insertTableHint: "insertTableHint", addColumnBefore: "addColumnBefore", addColumnAfter: "addColumnAfter", addRowBefore: "addRowBefore", addRowAfter: "addRowAfter", deleteColumn: "deleteColumn", deleteRow: "deleteRow", deleteTable: "deleteTable", mergeCells: "mergeCells", splitCell: "splitCell", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogInsert: "dialogInsert", dialogUpdate: "dialogUpdate", fileText: "fileText", fileTitle: "fileTitle", fileWebAddress: "fileWebAddress", imageAltText: "imageAltText", imageHeight: "imageHeight", imageWebAddress: "imageWebAddress", imageWidth: "imageWidth", linkOpenInNewWindow: "linkOpenInNewWindow", linkText: "linkText", linkTitle: "linkTitle", linkWebAddress: "linkWebAddress" }, usesInheritance: true, ngImport: i0 });
2101
2108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
2102
2109
  type: Directive,
2103
2110
  args: [{
@@ -2165,6 +2172,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2165
2172
  type: Input
2166
2173
  }], insertTable: [{
2167
2174
  type: Input
2175
+ }], insertTableHint: [{
2176
+ type: Input
2168
2177
  }], addColumnBefore: [{
2169
2178
  type: Input
2170
2179
  }], addColumnAfter: [{
@@ -3651,6 +3660,8 @@ EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
3651
3660
  viewSource="View source"
3652
3661
  i18n-insertTable="kendo.editor.insertTable|The title of the tool that inserts table."
3653
3662
  insertTable="Insert Table"
3663
+ i18n-insertTableHint="kendo.editor.insertTableHint|The caption for the hint in the insert table tool."
3664
+ insertTableHint="Create a {rows} {x} {columns} table"
3654
3665
  i18n-addColumnBefore="kendo.editor.addColumnBefore|The title of the tool that adds new column before currently selected column."
3655
3666
  addColumnBefore="Add column before"
3656
3667
  i18n-addColumnAfter="kendo.editor.addColumnAfter|The title of the tool that adds new column after currently selected column."
@@ -3835,6 +3846,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3835
3846
  viewSource="View source"
3836
3847
  i18n-insertTable="kendo.editor.insertTable|The title of the tool that inserts table."
3837
3848
  insertTable="Insert Table"
3849
+ i18n-insertTableHint="kendo.editor.insertTableHint|The caption for the hint in the insert table tool."
3850
+ insertTableHint="Create a {rows} {x} {columns} table"
3838
3851
  i18n-addColumnBefore="kendo.editor.addColumnBefore|The title of the tool that adds new column before currently selected column."
3839
3852
  addColumnBefore="Add column before"
3840
3853
  i18n-addColumnAfter="kendo.editor.addColumnAfter|The title of the tool that adds new column after currently selected column."
@@ -4300,7 +4313,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4300
4313
  * @hidden
4301
4314
  */
4302
4315
  class PopupTableGridComponent {
4303
- constructor() {
4316
+ constructor(localization) {
4317
+ this.localization = localization;
4304
4318
  this.cellClick = new EventEmitter();
4305
4319
  this.tableWizardClick = new EventEmitter();
4306
4320
  this.tableWizardIcon = tableWizardIcon;
@@ -4310,7 +4324,15 @@ class PopupTableGridComponent {
4310
4324
  }
4311
4325
  get message() {
4312
4326
  const { rows, cols } = this.state;
4313
- return `Create a ${rows > -1 ? rows + 1 : ''} ${cols > -1 ? 'x' : ''} ${cols > -1 ? cols + 1 : ''} table`;
4327
+ const localizationMsg = this.localization.get('insertTableHint') || '';
4328
+ const rowReplacement = rows > -1 ? (rows + 1).toString() : '';
4329
+ const colReplacement = cols > -1 ? (cols + 1).toString() : '';
4330
+ const xReplacement = cols > -1 ? 'x' : '';
4331
+ return replaceMessagePlaceholder(localizationMsg, [
4332
+ { placeholder: 'rows', value: rowReplacement },
4333
+ { placeholder: 'columns', value: colReplacement },
4334
+ { placeholder: 'x', value: xReplacement }
4335
+ ]);
4314
4336
  }
4315
4337
  get cells() {
4316
4338
  return Array.from(Array(this.rows * this.cols).keys());
@@ -4336,7 +4358,7 @@ class PopupTableGridComponent {
4336
4358
  this.tableWizardClick.emit();
4337
4359
  }
4338
4360
  }
4339
- PopupTableGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PopupTableGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4361
+ PopupTableGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PopupTableGridComponent, deps: [{ token: EditorLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4340
4362
  PopupTableGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PopupTableGridComponent, selector: "kendo-popup-table-grid", outputs: { cellClick: "cellClick", tableWizardClick: "tableWizardClick" }, ngImport: i0, template: `
4341
4363
  <div [style.border-color]="'inherit'" (mouseleave)="resetState()" (click)="insertTable()">
4342
4364
  <span *ngFor="let i of cells"
@@ -4374,7 +4396,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4374
4396
  -->
4375
4397
  `
4376
4398
  }]
4377
- }], propDecorators: { cellClick: [{
4399
+ }], ctorParameters: function () { return [{ type: EditorLocalizationService }]; }, propDecorators: { cellClick: [{
4378
4400
  type: Output
4379
4401
  }], tableWizardClick: [{
4380
4402
  type: Output
@@ -132,6 +132,15 @@ export declare class MessagesDirective extends ComponentMessages {
132
132
  * The title of the tool that inserts table.
133
133
  */
134
134
  insertTable: string;
135
+ /**
136
+ * The caption for the hint in the insert table tool.
137
+ *
138
+ * The message consists of several parts - the amount of rows, the amount of columns, an `x` separator, and a localizable string.
139
+ * To allow for reordering its parts, the `insertTableHint` input accepts a string with placeholders for the selected rows, selected columns
140
+ * and the separator. The `{rows}` and `{columns}` placeholders will be replaced internally with the respective actual values. The `{x}` placeholder
141
+ * shows a separator only when rows and columns are selected.
142
+ */
143
+ insertTableHint: string;
135
144
  /**
136
145
  * The title of the tool that adds new column before currently selected column.
137
146
  */
@@ -229,5 +238,5 @@ export declare class MessagesDirective extends ComponentMessages {
229
238
  */
230
239
  linkWebAddress: string;
231
240
  static ɵfac: i0.ɵɵFactoryDeclaration<MessagesDirective, never>;
232
- static ɵdir: i0.ɵɵDirectiveDeclaration<MessagesDirective, "[kendoEditorMessages]", never, { "alignCenter": "alignCenter"; "alignJustify": "alignJustify"; "alignLeft": "alignLeft"; "alignRight": "alignRight"; "backColor": "backColor"; "blockquote": "blockquote"; "bold": "bold"; "cleanFormatting": "cleanFormatting"; "createLink": "createLink"; "fontFamily": "fontFamily"; "fontSize": "fontSize"; "foreColor": "foreColor"; "format": "format"; "indent": "indent"; "insertFile": "insertFile"; "insertImage": "insertImage"; "insertOrderedList": "insertOrderedList"; "insertUnorderedList": "insertUnorderedList"; "italic": "italic"; "outdent": "outdent"; "print": "print"; "redo": "redo"; "selectAll": "selectAll"; "strikethrough": "strikethrough"; "subscript": "subscript"; "superscript": "superscript"; "underline": "underline"; "undo": "undo"; "unlink": "unlink"; "viewSource": "viewSource"; "insertTable": "insertTable"; "addColumnBefore": "addColumnBefore"; "addColumnAfter": "addColumnAfter"; "addRowBefore": "addRowBefore"; "addRowAfter": "addRowAfter"; "deleteColumn": "deleteColumn"; "deleteRow": "deleteRow"; "deleteTable": "deleteTable"; "mergeCells": "mergeCells"; "splitCell": "splitCell"; "dialogApply": "dialogApply"; "dialogCancel": "dialogCancel"; "dialogInsert": "dialogInsert"; "dialogUpdate": "dialogUpdate"; "fileText": "fileText"; "fileTitle": "fileTitle"; "fileWebAddress": "fileWebAddress"; "imageAltText": "imageAltText"; "imageHeight": "imageHeight"; "imageWebAddress": "imageWebAddress"; "imageWidth": "imageWidth"; "linkOpenInNewWindow": "linkOpenInNewWindow"; "linkText": "linkText"; "linkTitle": "linkTitle"; "linkWebAddress": "linkWebAddress"; }, {}, never>;
241
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MessagesDirective, "[kendoEditorMessages]", never, { "alignCenter": "alignCenter"; "alignJustify": "alignJustify"; "alignLeft": "alignLeft"; "alignRight": "alignRight"; "backColor": "backColor"; "blockquote": "blockquote"; "bold": "bold"; "cleanFormatting": "cleanFormatting"; "createLink": "createLink"; "fontFamily": "fontFamily"; "fontSize": "fontSize"; "foreColor": "foreColor"; "format": "format"; "indent": "indent"; "insertFile": "insertFile"; "insertImage": "insertImage"; "insertOrderedList": "insertOrderedList"; "insertUnorderedList": "insertUnorderedList"; "italic": "italic"; "outdent": "outdent"; "print": "print"; "redo": "redo"; "selectAll": "selectAll"; "strikethrough": "strikethrough"; "subscript": "subscript"; "superscript": "superscript"; "underline": "underline"; "undo": "undo"; "unlink": "unlink"; "viewSource": "viewSource"; "insertTable": "insertTable"; "insertTableHint": "insertTableHint"; "addColumnBefore": "addColumnBefore"; "addColumnAfter": "addColumnAfter"; "addRowBefore": "addRowBefore"; "addRowAfter": "addRowAfter"; "deleteColumn": "deleteColumn"; "deleteRow": "deleteRow"; "deleteTable": "deleteTable"; "mergeCells": "mergeCells"; "splitCell": "splitCell"; "dialogApply": "dialogApply"; "dialogCancel": "dialogCancel"; "dialogInsert": "dialogInsert"; "dialogUpdate": "dialogUpdate"; "fileText": "fileText"; "fileTitle": "fileTitle"; "fileWebAddress": "fileWebAddress"; "imageAltText": "imageAltText"; "imageHeight": "imageHeight"; "imageWebAddress": "imageWebAddress"; "imageWidth": "imageWidth"; "linkOpenInNewWindow": "linkOpenInNewWindow"; "linkText": "linkText"; "linkTitle": "linkTitle"; "linkWebAddress": "linkWebAddress"; }, {}, never>;
233
242
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-editor",
3
- "version": "14.3.0-develop.8",
3
+ "version": "14.3.0",
4
4
  "description": "Kendo UI Editor for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -23,23 +23,23 @@
23
23
  "@angular/platform-browser": "13 - 17",
24
24
  "@progress/kendo-drawing": "^1.17.2",
25
25
  "@progress/kendo-licensing": "^1.0.2",
26
- "@progress/kendo-angular-buttons": "14.3.0-develop.8",
27
- "@progress/kendo-angular-common": "14.3.0-develop.8",
28
- "@progress/kendo-angular-dialog": "14.3.0-develop.8",
29
- "@progress/kendo-angular-dropdowns": "14.3.0-develop.8",
30
- "@progress/kendo-angular-inputs": "14.3.0-develop.8",
31
- "@progress/kendo-angular-intl": "14.3.0-develop.8",
32
- "@progress/kendo-angular-l10n": "14.3.0-develop.8",
33
- "@progress/kendo-angular-label": "14.3.0-develop.8",
34
- "@progress/kendo-angular-layout": "14.3.0-develop.8",
35
- "@progress/kendo-angular-icons": "14.3.0-develop.8",
36
- "@progress/kendo-angular-popup": "14.3.0-develop.8",
37
- "@progress/kendo-angular-toolbar": "14.3.0-develop.8",
26
+ "@progress/kendo-angular-buttons": "14.3.0",
27
+ "@progress/kendo-angular-common": "14.3.0",
28
+ "@progress/kendo-angular-dialog": "14.3.0",
29
+ "@progress/kendo-angular-dropdowns": "14.3.0",
30
+ "@progress/kendo-angular-inputs": "14.3.0",
31
+ "@progress/kendo-angular-intl": "14.3.0",
32
+ "@progress/kendo-angular-l10n": "14.3.0",
33
+ "@progress/kendo-angular-label": "14.3.0",
34
+ "@progress/kendo-angular-layout": "14.3.0",
35
+ "@progress/kendo-angular-icons": "14.3.0",
36
+ "@progress/kendo-angular-popup": "14.3.0",
37
+ "@progress/kendo-angular-toolbar": "14.3.0",
38
38
  "rxjs": "^6.5.3 || ^7.0.0"
39
39
  },
40
40
  "dependencies": {
41
41
  "tslib": "^2.3.1",
42
- "@progress/kendo-angular-schematics": "14.3.0-develop.8",
42
+ "@progress/kendo-angular-schematics": "14.3.0",
43
43
  "@progress/kendo-editor-common": "1.11.0"
44
44
  },
45
45
  "schematics": "./schematics/collection.json",
@@ -4,11 +4,11 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'EditorModule', package: 'editor', peerDependencies: {
6
6
  // peer dependency of kendo-angular-dropdowns
7
- '@progress/kendo-angular-treeview': '14.3.0-develop.8',
7
+ '@progress/kendo-angular-treeview': '14.3.0',
8
8
  // peer dependency of kendo-angular-layout
9
- '@progress/kendo-angular-progressbar': '14.3.0-develop.8',
9
+ '@progress/kendo-angular-progressbar': '14.3.0',
10
10
  // peer dependency of kendo-angular-inputs
11
- '@progress/kendo-angular-dialog': '14.3.0-develop.8',
11
+ '@progress/kendo-angular-dialog': '14.3.0',
12
12
  // Peer dependency of icons
13
13
  '@progress/kendo-svg-icons': '^2.0.0'
14
14
  } });
@@ -5,17 +5,20 @@
5
5
  import { EventEmitter } from '@angular/core';
6
6
  import { SVGIcon } from '@progress/kendo-svg-icons';
7
7
  import { TableData } from '../../common/table-data.interface';
8
+ import { EditorLocalizationService } from '../../localization/editor-localization.service';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
10
11
  * @hidden
11
12
  */
12
13
  export declare class PopupTableGridComponent {
14
+ private localization;
13
15
  cellClick: EventEmitter<TableData>;
14
16
  tableWizardClick: EventEmitter<any>;
15
17
  tableWizardIcon: SVGIcon;
16
18
  private state;
17
19
  private rows;
18
20
  private cols;
21
+ constructor(localization: EditorLocalizationService);
19
22
  get message(): string;
20
23
  get cells(): any[];
21
24
  selected(index: number): boolean;
package/util.d.ts CHANGED
@@ -94,3 +94,10 @@ export declare const pipe: (...fns: any[]) => (x: any) => any;
94
94
  * @returns the selection text.
95
95
  */
96
96
  export declare const getSelectionText: (state: EditorState) => string;
97
+ /**
98
+ * @hidden
99
+ */
100
+ export declare const replaceMessagePlaceholder: (message: string, replacements: {
101
+ placeholder: string;
102
+ value: string;
103
+ }[]) => string;