@progress/kendo-angular-inputs 8.0.0-dev.202112161434 → 8.0.0-dev.202201121416
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/js/kendo-angular-inputs.js +2 -2
- package/dist/cdn/main.js +1 -1
- package/dist/es/checkbox/checkbox.directive.js +79 -3
- package/dist/es/colorpicker/color-gradient.component.js +4 -1
- package/dist/es/colorpicker/color-input.component.js +1 -1
- package/dist/es/colorpicker/color-palette.component.js +6 -3
- package/dist/es/colorpicker/colorpicker.component.js +316 -53
- package/dist/es/colorpicker/flatcolorpicker-actions.component.js +1 -1
- package/dist/es/colorpicker/flatcolorpicker-header.component.js +1 -1
- package/dist/es/colorpicker/flatcolorpicker.component.js +7 -4
- package/dist/es/common/models/fillmode.js +4 -0
- package/dist/es/common/models/rounded.js +4 -0
- package/dist/es/common/models/size.js +4 -0
- package/dist/es/common/models/styling-classes.js +4 -0
- package/dist/es/common/models.js +4 -0
- package/dist/es/common/utils.js +37 -0
- package/dist/es/main.js +0 -1
- package/dist/es/maskedtextbox/maskedtextbox.component.js +101 -6
- package/dist/es/numerictextbox/numerictextbox.component.js +116 -20
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/radiobutton/radiobutton.directive.js +55 -3
- package/dist/es/shared/textarea.directive.js +3 -2
- package/dist/es/slider/slider.component.js +1 -1
- package/dist/es/switch/switch.component.js +167 -21
- package/dist/es/text-fields-common/text-fields-base.js +1 -1
- package/dist/es/textarea/textarea.component.js +101 -5
- package/dist/es/textbox/textbox.component.js +108 -11
- package/dist/es/textbox/textbox.directive.js +3 -2
- package/dist/es/textbox.module.js +0 -3
- package/dist/es2015/checkbox/checkbox.directive.d.ts +31 -0
- package/dist/es2015/checkbox/checkbox.directive.js +68 -10
- package/dist/es2015/colorpicker/color-gradient.component.js +4 -1
- package/dist/es2015/colorpicker/color-input.component.js +2 -2
- package/dist/es2015/colorpicker/color-palette.component.d.ts +1 -1
- package/dist/es2015/colorpicker/color-palette.component.js +6 -3
- package/dist/es2015/colorpicker/colorpicker.component.d.ts +67 -9
- package/dist/es2015/colorpicker/colorpicker.component.js +285 -76
- package/dist/es2015/colorpicker/flatcolorpicker-actions.component.js +2 -2
- package/dist/es2015/colorpicker/flatcolorpicker-header.component.js +2 -2
- package/dist/es2015/colorpicker/flatcolorpicker.component.d.ts +2 -2
- package/dist/es2015/colorpicker/flatcolorpicker.component.js +7 -4
- package/dist/es2015/common/models/fillmode.d.ts +13 -0
- package/dist/es2015/common/models/fillmode.js +4 -0
- package/dist/es2015/common/models/rounded.d.ts +23 -0
- package/dist/es2015/common/models/rounded.js +4 -0
- package/dist/es2015/common/models/size.d.ts +14 -0
- package/dist/es2015/common/models/size.js +4 -0
- package/dist/es2015/common/models/styling-classes.d.ts +11 -0
- package/dist/es2015/common/models/styling-classes.js +4 -0
- package/dist/es2015/common/models.d.ts +8 -0
- package/dist/es2015/common/models.js +4 -0
- package/dist/es2015/common/utils.d.ts +7 -0
- package/dist/es2015/common/utils.js +37 -0
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/main.d.ts +1 -1
- package/dist/es2015/main.js +0 -1
- package/dist/es2015/maskedtextbox/maskedtextbox.component.d.ts +39 -1
- package/dist/es2015/maskedtextbox/maskedtextbox.component.js +88 -6
- package/dist/es2015/numerictextbox/numerictextbox.component.d.ts +39 -2
- package/dist/es2015/numerictextbox/numerictextbox.component.js +124 -40
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/radiobutton/radiobutton.directive.d.ts +18 -0
- package/dist/es2015/radiobutton/radiobutton.directive.js +49 -11
- package/dist/es2015/shared/textarea.directive.d.ts +1 -1
- package/dist/es2015/shared/textarea.directive.js +3 -2
- package/dist/es2015/slider/slider.component.js +18 -23
- package/dist/es2015/switch/switch.component.d.ts +48 -5
- package/dist/es2015/switch/switch.component.js +166 -24
- package/dist/es2015/text-fields-common/text-fields-base.js +1 -1
- package/dist/es2015/textarea/textarea.component.d.ts +39 -1
- package/dist/es2015/textarea/textarea.component.js +89 -5
- package/dist/es2015/textbox/textbox.component.d.ts +40 -1
- package/dist/es2015/textbox/textbox.component.js +114 -30
- package/dist/es2015/textbox/textbox.directive.d.ts +1 -1
- package/dist/es2015/textbox/textbox.directive.js +3 -2
- package/dist/es2015/textbox.module.js +0 -3
- package/dist/fesm2015/index.js +1220 -654
- package/dist/fesm5/index.js +1276 -585
- package/dist/npm/checkbox/checkbox.directive.js +78 -2
- package/dist/npm/colorpicker/color-gradient.component.js +4 -1
- package/dist/npm/colorpicker/color-input.component.js +1 -1
- package/dist/npm/colorpicker/color-palette.component.js +6 -3
- package/dist/npm/colorpicker/colorpicker.component.js +313 -50
- package/dist/npm/colorpicker/flatcolorpicker-actions.component.js +1 -1
- package/dist/npm/colorpicker/flatcolorpicker-header.component.js +1 -1
- package/dist/npm/colorpicker/flatcolorpicker.component.js +7 -4
- package/dist/npm/common/models/fillmode.js +6 -0
- package/dist/npm/common/models/rounded.js +6 -0
- package/dist/npm/common/models/size.js +6 -0
- package/dist/npm/common/models/styling-classes.js +6 -0
- package/dist/npm/common/models.js +6 -0
- package/dist/npm/common/utils.js +37 -0
- package/dist/npm/main.js +0 -2
- package/dist/npm/maskedtextbox/maskedtextbox.component.js +100 -5
- package/dist/npm/numerictextbox/numerictextbox.component.js +115 -19
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/radiobutton/radiobutton.directive.js +54 -2
- package/dist/npm/shared/textarea.directive.js +3 -2
- package/dist/npm/slider/slider.component.js +1 -1
- package/dist/npm/switch/switch.component.js +166 -20
- package/dist/npm/text-fields-common/text-fields-base.js +1 -1
- package/dist/npm/textarea/textarea.component.js +100 -4
- package/dist/npm/textbox/textbox.component.js +107 -10
- package/dist/npm/textbox/textbox.directive.js +3 -2
- package/dist/npm/textbox.module.js +0 -3
- package/dist/systemjs/kendo-angular-inputs.js +1 -1
- package/package.json +12 -12
- package/dist/es/textbox/floating-label-input-adapter.js +0 -58
- package/dist/es/textbox/textbox-container.component.js +0 -224
- package/dist/es2015/textbox/floating-label-input-adapter.d.ts +0 -20
- package/dist/es2015/textbox/floating-label-input-adapter.js +0 -52
- package/dist/es2015/textbox/textbox-container.component.d.ts +0 -59
- package/dist/es2015/textbox/textbox-container.component.js +0 -209
- package/dist/npm/textbox/floating-label-input-adapter.js +0 -60
- package/dist/npm/textbox/textbox-container.component.js +0 -226
|
@@ -18,7 +18,7 @@ var textbox_suffix_directive_1 = require("./textbox-suffix.directive");
|
|
|
18
18
|
var textbox_prefix_directive_1 = require("./textbox-prefix.directive");
|
|
19
19
|
var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
|
|
20
20
|
var utils_3 = require("../shared/utils");
|
|
21
|
-
var FOCUSED = 'k-
|
|
21
|
+
var FOCUSED = 'k-focus';
|
|
22
22
|
var TextBoxComponent = /** @class */ (function () {
|
|
23
23
|
function TextBoxComponent(localizationService, ngZone, changeDetector, renderer, injector, hostElement) {
|
|
24
24
|
var _this = this;
|
|
@@ -153,9 +153,12 @@ var TextBoxComponent = /** @class */ (function () {
|
|
|
153
153
|
* ```
|
|
154
154
|
*/
|
|
155
155
|
this.onBlur = new core_1.EventEmitter();
|
|
156
|
-
this.
|
|
156
|
+
this.hostClasses = true;
|
|
157
157
|
this._isFocused = false;
|
|
158
158
|
this.focusChangedProgrammatically = false;
|
|
159
|
+
this._size = 'medium';
|
|
160
|
+
this._rounded = 'medium';
|
|
161
|
+
this._fillMode = 'solid';
|
|
159
162
|
/**
|
|
160
163
|
* @hidden
|
|
161
164
|
*/
|
|
@@ -210,6 +213,70 @@ var TextBoxComponent = /** @class */ (function () {
|
|
|
210
213
|
this.direction = localizationService.rtl ? 'rtl' : 'ltr';
|
|
211
214
|
}
|
|
212
215
|
TextBoxComponent_1 = TextBoxComponent;
|
|
216
|
+
Object.defineProperty(TextBoxComponent.prototype, "size", {
|
|
217
|
+
get: function () {
|
|
218
|
+
return this._size;
|
|
219
|
+
},
|
|
220
|
+
/**
|
|
221
|
+
* The size property specifies the font size and line height of the TextBox
|
|
222
|
+
* ([see example]({% slug appearance_textbox %}#toc-size)).
|
|
223
|
+
*
|
|
224
|
+
* The possible values are:
|
|
225
|
+
* * `'small'`
|
|
226
|
+
* * `'medium'` (default)
|
|
227
|
+
* * `'large'`
|
|
228
|
+
* * `null`
|
|
229
|
+
*/
|
|
230
|
+
set: function (size) {
|
|
231
|
+
this.handleClasses(size, 'size');
|
|
232
|
+
this._size = size;
|
|
233
|
+
},
|
|
234
|
+
enumerable: true,
|
|
235
|
+
configurable: true
|
|
236
|
+
});
|
|
237
|
+
Object.defineProperty(TextBoxComponent.prototype, "rounded", {
|
|
238
|
+
get: function () {
|
|
239
|
+
return this._rounded;
|
|
240
|
+
},
|
|
241
|
+
/**
|
|
242
|
+
* The rounded property specifies the border radius of the TextBox
|
|
243
|
+
* ([see example]({% slug appearance_textbox %}#toc-rounded)).
|
|
244
|
+
*
|
|
245
|
+
* The possible values are:
|
|
246
|
+
* * `'small'`
|
|
247
|
+
* * `'medium'` (default)
|
|
248
|
+
* * `'large'`
|
|
249
|
+
* * `'full'`
|
|
250
|
+
* * `null`
|
|
251
|
+
*/
|
|
252
|
+
set: function (rounded) {
|
|
253
|
+
this.handleClasses(rounded, 'rounded');
|
|
254
|
+
this._rounded = rounded;
|
|
255
|
+
},
|
|
256
|
+
enumerable: true,
|
|
257
|
+
configurable: true
|
|
258
|
+
});
|
|
259
|
+
Object.defineProperty(TextBoxComponent.prototype, "fillMode", {
|
|
260
|
+
get: function () {
|
|
261
|
+
return this._fillMode;
|
|
262
|
+
},
|
|
263
|
+
/**
|
|
264
|
+
* The fillMode property specifies the background and border styles of the TextBox
|
|
265
|
+
* ([see example]({% slug appearance_textbox %}#toc-fillMode)).
|
|
266
|
+
*
|
|
267
|
+
* The possible values are:
|
|
268
|
+
* * `'flat'`
|
|
269
|
+
* * `'solid'` (default)
|
|
270
|
+
* * `'outline'`
|
|
271
|
+
* * `null`
|
|
272
|
+
*/
|
|
273
|
+
set: function (fillMode) {
|
|
274
|
+
this.handleClasses(fillMode, 'fillMode');
|
|
275
|
+
this._fillMode = fillMode;
|
|
276
|
+
},
|
|
277
|
+
enumerable: true,
|
|
278
|
+
configurable: true
|
|
279
|
+
});
|
|
213
280
|
Object.defineProperty(TextBoxComponent.prototype, "tabIndex", {
|
|
214
281
|
get: function () {
|
|
215
282
|
return this.tabindex;
|
|
@@ -286,6 +353,10 @@ var TextBoxComponent = /** @class */ (function () {
|
|
|
286
353
|
}
|
|
287
354
|
}));
|
|
288
355
|
});
|
|
356
|
+
var stylingInputs = ['size', 'rounded', 'fillMode'];
|
|
357
|
+
stylingInputs.forEach(function (input) {
|
|
358
|
+
_this.handleClasses(_this[input], input);
|
|
359
|
+
});
|
|
289
360
|
};
|
|
290
361
|
TextBoxComponent.prototype.ngOnChanges = function (changes) {
|
|
291
362
|
if (changes.disabled || changes.readonly || changes.value) {
|
|
@@ -419,8 +490,8 @@ var TextBoxComponent = /** @class */ (function () {
|
|
|
419
490
|
*/
|
|
420
491
|
get: function () {
|
|
421
492
|
return this.successIcon
|
|
422
|
-
? "
|
|
423
|
-
: "k-
|
|
493
|
+
? "" + this.successIcon
|
|
494
|
+
: "k-validation-icon k-icon k-i-check";
|
|
424
495
|
},
|
|
425
496
|
enumerable: true,
|
|
426
497
|
configurable: true
|
|
@@ -431,8 +502,8 @@ var TextBoxComponent = /** @class */ (function () {
|
|
|
431
502
|
*/
|
|
432
503
|
get: function () {
|
|
433
504
|
return this.errorIcon
|
|
434
|
-
? "
|
|
435
|
-
: "k-
|
|
505
|
+
? "" + this.errorIcon
|
|
506
|
+
: "k-validation-icon k-icon k-i-warning";
|
|
436
507
|
},
|
|
437
508
|
enumerable: true,
|
|
438
509
|
configurable: true
|
|
@@ -444,7 +515,7 @@ var TextBoxComponent = /** @class */ (function () {
|
|
|
444
515
|
get: function () {
|
|
445
516
|
return this.clearButtonIcon
|
|
446
517
|
? this.clearButtonIcon
|
|
447
|
-
: "k-icon k-i-
|
|
518
|
+
: "k-icon k-i-x";
|
|
448
519
|
},
|
|
449
520
|
enumerable: true,
|
|
450
521
|
configurable: true
|
|
@@ -523,6 +594,16 @@ var TextBoxComponent = /** @class */ (function () {
|
|
|
523
594
|
_this.isFocused = false;
|
|
524
595
|
});
|
|
525
596
|
};
|
|
597
|
+
TextBoxComponent.prototype.handleClasses = function (value, input) {
|
|
598
|
+
var elem = this.hostElement.nativeElement;
|
|
599
|
+
var classes = utils_2.getStylingClasses('input', input, this[input], value);
|
|
600
|
+
if (classes.toRemove) {
|
|
601
|
+
this.renderer.removeClass(elem, classes.toRemove);
|
|
602
|
+
}
|
|
603
|
+
if (classes.toAdd) {
|
|
604
|
+
this.renderer.addClass(elem, classes.toAdd);
|
|
605
|
+
}
|
|
606
|
+
};
|
|
526
607
|
var TextBoxComponent_1;
|
|
527
608
|
tslib_1.__decorate([
|
|
528
609
|
core_1.Input(),
|
|
@@ -576,6 +657,21 @@ var TextBoxComponent = /** @class */ (function () {
|
|
|
576
657
|
core_1.Input(),
|
|
577
658
|
tslib_1.__metadata("design:type", String)
|
|
578
659
|
], TextBoxComponent.prototype, "clearButtonIcon", void 0);
|
|
660
|
+
tslib_1.__decorate([
|
|
661
|
+
core_1.Input(),
|
|
662
|
+
tslib_1.__metadata("design:type", String),
|
|
663
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
664
|
+
], TextBoxComponent.prototype, "size", null);
|
|
665
|
+
tslib_1.__decorate([
|
|
666
|
+
core_1.Input(),
|
|
667
|
+
tslib_1.__metadata("design:type", String),
|
|
668
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
669
|
+
], TextBoxComponent.prototype, "rounded", null);
|
|
670
|
+
tslib_1.__decorate([
|
|
671
|
+
core_1.Input(),
|
|
672
|
+
tslib_1.__metadata("design:type", String),
|
|
673
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
674
|
+
], TextBoxComponent.prototype, "fillMode", null);
|
|
579
675
|
tslib_1.__decorate([
|
|
580
676
|
core_1.Input(),
|
|
581
677
|
tslib_1.__metadata("design:type", Number),
|
|
@@ -622,14 +718,15 @@ var TextBoxComponent = /** @class */ (function () {
|
|
|
622
718
|
tslib_1.__metadata("design:type", textbox_prefix_directive_1.TextBoxPrefixTemplateDirective)
|
|
623
719
|
], TextBoxComponent.prototype, "prefixTemplate", void 0);
|
|
624
720
|
tslib_1.__decorate([
|
|
625
|
-
core_1.HostBinding('class.k-
|
|
721
|
+
core_1.HostBinding('class.k-disabled'),
|
|
626
722
|
tslib_1.__metadata("design:type", Boolean),
|
|
627
723
|
tslib_1.__metadata("design:paramtypes", [])
|
|
628
724
|
], TextBoxComponent.prototype, "disabledClass", null);
|
|
629
725
|
tslib_1.__decorate([
|
|
630
726
|
core_1.HostBinding('class.k-textbox'),
|
|
727
|
+
core_1.HostBinding('class.k-input'),
|
|
631
728
|
tslib_1.__metadata("design:type", Boolean)
|
|
632
|
-
], TextBoxComponent.prototype, "
|
|
729
|
+
], TextBoxComponent.prototype, "hostClasses", void 0);
|
|
633
730
|
tslib_1.__decorate([
|
|
634
731
|
core_1.HostBinding('attr.dir'),
|
|
635
732
|
tslib_1.__metadata("design:type", String)
|
|
@@ -648,7 +745,7 @@ var TextBoxComponent = /** @class */ (function () {
|
|
|
648
745
|
{ provide: kendo_angular_common_1.KendoInput, useExisting: core_1.forwardRef(function () { return TextBoxComponent_1; }) }
|
|
649
746
|
],
|
|
650
747
|
selector: 'kendo-textbox',
|
|
651
|
-
template: "\n <ng-container kendoTextBoxLocalizedMessages\n i18n-clear=\"kendo.textbox.clear|The title for the **Clear** button in the TextBox.\"\n clear=\"Clear\">\n </ng-container>\n <span class=\"k-input-prefix\">\n <ng-template\n *ngIf=\"prefixTemplate\"\n [ngTemplateOutlet]=\"prefixTemplate?.templateRef\">\n </ng-template>\n </span>\n <input\n class=\"k-input\"\n
|
|
748
|
+
template: "\n <ng-container kendoTextBoxLocalizedMessages\n i18n-clear=\"kendo.textbox.clear|The title for the **Clear** button in the TextBox.\"\n clear=\"Clear\">\n </ng-container>\n <span class=\"k-input-prefix\">\n <ng-template\n *ngIf=\"prefixTemplate\"\n [ngTemplateOutlet]=\"prefixTemplate?.templateRef\">\n </ng-template>\n </span>\n <input #input\n class=\"k-input-inner\"\n [id]=\"focusableId\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.tabindex]=\"disabled ? undefined : tabindex\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n [attr.title]=\"title\"\n [attr.maxlength]=\"maxlength\"\n [kendoEventsOutsideAngular]=\"{\n focus: handleInputFocus,\n blur: handleInputBlur,\n input: handleInput}\"\n />\n <span\n role=\"button\"\n class=\"k-clear-value\"\n *ngIf=\"showClearButton\"\n (click)=\"clearValue()\"\n (mousedown)=\"$event.preventDefault()\"\n [tabindex]=\"tabIndex\"\n [attr.aria-label]=\"clearTitle()\"\n [title]=\"clearTitle()\"\n (keydown.enter)=\"clearValue($event)\"\n (keydown.space)=\"clearValue($event)\">\n <span [ngClass]=\"clearButtonClasses\"></span>\n </span>\n <span *ngIf=\"hasErrors\" [ngClass]=\"errorIconClasses\"></span>\n <span *ngIf=\"isSuccessful\" [ngClass]=\"successIconClasses\"></span>\n <span class=\"k-input-suffix\">\n <ng-template\n *ngIf=\"suffixTemplate\"\n [ngTemplateOutlet]=\"suffixTemplate?.templateRef\">\n </ng-template>\n </span>\n "
|
|
652
749
|
}),
|
|
653
750
|
tslib_1.__metadata("design:paramtypes", [kendo_angular_l10n_1.LocalizationService,
|
|
654
751
|
core_1.NgZone,
|
|
@@ -23,7 +23,7 @@ var TextBoxDirective = /** @class */ (function () {
|
|
|
23
23
|
this.renderer = renderer;
|
|
24
24
|
this.inputElement = inputElement;
|
|
25
25
|
this.ngZone = ngZone;
|
|
26
|
-
this.
|
|
26
|
+
this.hostClasses = true;
|
|
27
27
|
/**
|
|
28
28
|
* @hidden
|
|
29
29
|
*/
|
|
@@ -101,8 +101,9 @@ var TextBoxDirective = /** @class */ (function () {
|
|
|
101
101
|
var TextBoxDirective_1;
|
|
102
102
|
tslib_1.__decorate([
|
|
103
103
|
core_1.HostBinding('class.k-textbox'),
|
|
104
|
+
core_1.HostBinding('class.k-input'),
|
|
104
105
|
tslib_1.__metadata("design:type", Boolean)
|
|
105
|
-
], TextBoxDirective.prototype, "
|
|
106
|
+
], TextBoxDirective.prototype, "hostClasses", void 0);
|
|
106
107
|
tslib_1.__decorate([
|
|
107
108
|
core_1.Input(),
|
|
108
109
|
tslib_1.__metadata("design:type", String),
|
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
var tslib_1 = require("tslib");
|
|
8
8
|
var core_1 = require("@angular/core");
|
|
9
9
|
var textbox_directive_1 = require("./textbox/textbox.directive");
|
|
10
|
-
var textbox_container_component_1 = require("./textbox/textbox-container.component");
|
|
11
10
|
var textbox_component_1 = require("./textbox/textbox.component");
|
|
12
11
|
var common_1 = require("@angular/common");
|
|
13
12
|
var kendo_angular_common_1 = require("@progress/kendo-angular-common");
|
|
@@ -54,7 +53,6 @@ var TextBoxModule = /** @class */ (function () {
|
|
|
54
53
|
core_1.NgModule({
|
|
55
54
|
declarations: [
|
|
56
55
|
textbox_directive_1.TextBoxDirective,
|
|
57
|
-
textbox_container_component_1.TextBoxContainerComponent,
|
|
58
56
|
textbox_component_1.TextBoxComponent,
|
|
59
57
|
textbox_suffix_directive_1.TextBoxSuffixTemplateDirective,
|
|
60
58
|
textbox_prefix_directive_1.TextBoxPrefixTemplateDirective,
|
|
@@ -63,7 +61,6 @@ var TextBoxModule = /** @class */ (function () {
|
|
|
63
61
|
],
|
|
64
62
|
exports: [
|
|
65
63
|
textbox_directive_1.TextBoxDirective,
|
|
66
|
-
textbox_container_component_1.TextBoxContainerComponent,
|
|
67
64
|
textbox_component_1.TextBoxComponent,
|
|
68
65
|
textbox_suffix_directive_1.TextBoxSuffixTemplateDirective,
|
|
69
66
|
textbox_prefix_directive_1.TextBoxPrefixTemplateDirective,
|