@progress/kendo-angular-layout 6.4.2-dev.202201251524 → 6.5.0-dev.202202140804

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 (73) hide show
  1. package/dist/cdn/js/kendo-angular-layout.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/common/util.js +4 -0
  4. package/dist/es/expansionpanel/expansionpanel.component.js +1 -0
  5. package/dist/es/gridlayout.module.js +31 -0
  6. package/dist/es/layout.module.js +5 -1
  7. package/dist/es/layouts/grid-layout.component.js +155 -0
  8. package/dist/es/layouts/gridlayout-item.component.js +52 -0
  9. package/dist/es/layouts/models/gridlayout-gap-settings.js +4 -0
  10. package/dist/es/layouts/models/gridlayout-row-col-size.js +4 -0
  11. package/dist/es/layouts/models/layout-align-settings.js +4 -0
  12. package/dist/es/layouts/models/layout-horizontal-align.js +4 -0
  13. package/dist/es/layouts/models/layout-vertical-align.js +4 -0
  14. package/dist/es/layouts/models.js +4 -0
  15. package/dist/es/layouts/stack-layout.component.js +171 -0
  16. package/dist/es/layouts/util.js +102 -0
  17. package/dist/es/main.js +7 -0
  18. package/dist/es/package-metadata.js +1 -1
  19. package/dist/es/stacklayout.module.js +29 -0
  20. package/dist/es2015/common/orientation.d.ts +1 -1
  21. package/dist/es2015/common/util.d.ts +4 -0
  22. package/dist/es2015/common/util.js +4 -0
  23. package/dist/es2015/expansionpanel/expansionpanel.component.js +1 -0
  24. package/dist/es2015/gridlayout.module.d.ts +10 -0
  25. package/dist/es2015/gridlayout.module.js +30 -0
  26. package/dist/es2015/index.metadata.json +1 -1
  27. package/dist/es2015/layout.module.js +5 -1
  28. package/dist/es2015/layouts/grid-layout.component.d.ts +63 -0
  29. package/dist/es2015/layouts/grid-layout.component.js +144 -0
  30. package/dist/es2015/layouts/gridlayout-item.component.d.ts +33 -0
  31. package/dist/es2015/layouts/gridlayout-item.component.js +53 -0
  32. package/dist/es2015/layouts/models/gridlayout-gap-settings.d.ts +17 -0
  33. package/dist/es2015/layouts/models/gridlayout-gap-settings.js +4 -0
  34. package/dist/es2015/layouts/models/gridlayout-row-col-size.d.ts +22 -0
  35. package/dist/es2015/layouts/models/gridlayout-row-col-size.js +4 -0
  36. package/dist/es2015/layouts/models/layout-align-settings.d.ts +18 -0
  37. package/dist/es2015/layouts/models/layout-align-settings.js +4 -0
  38. package/dist/es2015/layouts/models/layout-horizontal-align.d.ts +8 -0
  39. package/dist/es2015/layouts/models/layout-horizontal-align.js +4 -0
  40. package/dist/es2015/layouts/models/layout-vertical-align.d.ts +8 -0
  41. package/dist/es2015/layouts/models/layout-vertical-align.js +4 -0
  42. package/dist/es2015/layouts/models.d.ts +10 -0
  43. package/dist/es2015/layouts/models.js +4 -0
  44. package/dist/es2015/layouts/stack-layout.component.d.ts +47 -0
  45. package/dist/es2015/layouts/stack-layout.component.js +152 -0
  46. package/dist/es2015/layouts/util.d.ts +42 -0
  47. package/dist/es2015/layouts/util.js +101 -0
  48. package/dist/es2015/main.d.ts +7 -0
  49. package/dist/es2015/main.js +7 -0
  50. package/dist/es2015/package-metadata.js +1 -1
  51. package/dist/es2015/stacklayout.module.d.ts +10 -0
  52. package/dist/es2015/stacklayout.module.js +28 -0
  53. package/dist/fesm2015/index.js +469 -4
  54. package/dist/fesm5/index.js +501 -4
  55. package/dist/npm/common/util.js +4 -0
  56. package/dist/npm/expansionpanel/expansionpanel.component.js +1 -0
  57. package/dist/npm/gridlayout.module.js +33 -0
  58. package/dist/npm/layout.module.js +5 -1
  59. package/dist/npm/layouts/grid-layout.component.js +157 -0
  60. package/dist/npm/layouts/gridlayout-item.component.js +54 -0
  61. package/dist/npm/layouts/models/gridlayout-gap-settings.js +6 -0
  62. package/dist/npm/layouts/models/gridlayout-row-col-size.js +6 -0
  63. package/dist/npm/layouts/models/layout-align-settings.js +6 -0
  64. package/dist/npm/layouts/models/layout-horizontal-align.js +6 -0
  65. package/dist/npm/layouts/models/layout-vertical-align.js +6 -0
  66. package/dist/npm/layouts/models.js +6 -0
  67. package/dist/npm/layouts/stack-layout.component.js +173 -0
  68. package/dist/npm/layouts/util.js +104 -0
  69. package/dist/npm/main.js +12 -0
  70. package/dist/npm/package-metadata.js +1 -1
  71. package/dist/npm/stacklayout.module.js +31 -0
  72. package/dist/systemjs/kendo-angular-layout.js +1 -1
  73. package/package.json +10 -8
@@ -5,7 +5,7 @@
5
5
  import { __decorate, __metadata, __param } from 'tslib';
6
6
  import { Injectable, Directive, TemplateRef, Optional, isDevMode, Input, ViewChild, ElementRef, HostBinding, ViewChildren, QueryList, ContentChildren, Component, SkipSelf, Host, Renderer2, EventEmitter, Output, ContentChild, HostListener, ChangeDetectorRef, NgZone, Inject, forwardRef, ViewEncapsulation, NgModule } from '@angular/core';
7
7
  import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
8
- import { Keys, DraggableDirective, PreventableEvent, isDocumentAvailable, hasObservers, EventsModule, DraggableModule, ResizeSensorModule } from '@progress/kendo-angular-common';
8
+ import { Keys, DraggableDirective, PreventableEvent, isDocumentAvailable, hasObservers, EventsModule, DraggableModule, ResizeSensorModule, isChanged } from '@progress/kendo-angular-common';
9
9
  import { validatePackage } from '@progress/kendo-licensing';
10
10
  import { trigger, state, style, transition, animate, AUTO_STYLE, AnimationBuilder } from '@angular/animations';
11
11
  import { Subject, BehaviorSubject, Subscription, of } from 'rxjs';
@@ -21,7 +21,7 @@ const packageMetadata = {
21
21
  name: '@progress/kendo-angular-layout',
22
22
  productName: 'Kendo UI for Angular',
23
23
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
24
- publishDate: 1643124181,
24
+ publishDate: 1644825801,
25
25
  version: '',
26
26
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
27
27
  };
@@ -219,6 +219,10 @@ const getStylingClasses = (componentType, stylingOption, previousValue, newValue
219
219
  * @hidden
220
220
  */
221
221
  const mapShapeToRounded = (shape) => SHAPE_TO_ROUNDED[shape] || null;
222
+ /**
223
+ * @hidden
224
+ */
225
+ const isNumber = (value) => typeof value === 'number' && isFinite(value);
222
226
 
223
227
  const focusableRegex = /^(?:a|input|select|option|textarea|button|object)$/i;
224
228
  const toClassList = (classNames) => String(classNames).trim().split(' ');
@@ -5754,6 +5758,7 @@ let ExpansionPanelComponent = class ExpansionPanelComponent {
5754
5758
  }
5755
5759
  }
5756
5760
  ngOnInit() {
5761
+ this.renderer.removeAttribute(this.hostElement.nativeElement, 'title');
5757
5762
  this.subscriptions = this.localizationService.changes.subscribe(({ rtl }) => { this.direction = rtl ? 'rtl' : 'ltr'; });
5758
5763
  }
5759
5764
  ngAfterViewInit() {
@@ -8268,6 +8273,464 @@ TileLayoutModule = __decorate([
8268
8273
  })
8269
8274
  ], TileLayoutModule);
8270
8275
 
8276
+ /**
8277
+ * @hidden
8278
+ */
8279
+ const VERTICAL_SUFFIX = {
8280
+ top: 'start',
8281
+ middle: 'center',
8282
+ bottom: 'end',
8283
+ stretch: 'stretch'
8284
+ };
8285
+ /**
8286
+ * @hidden
8287
+ */
8288
+ const JUSTIFY_PREFIX = `k-justify-content`;
8289
+ /**
8290
+ * @hidden
8291
+ */
8292
+ const GRID_JUSTIFY_PREFIX = `k-justify-items`;
8293
+ /**
8294
+ * @hidden
8295
+ */
8296
+ const ALIGN_PREFIX = `k-align-items`;
8297
+ /**
8298
+ * @hidden
8299
+ */
8300
+ const normalizeGap = (gap) => {
8301
+ if (typeof gap === 'number' || typeof gap === 'string') {
8302
+ return { cols: gap, rows: gap };
8303
+ }
8304
+ else {
8305
+ let parsedGap = {};
8306
+ parsedGap.rows = gap.rows ? gap.rows : 0;
8307
+ parsedGap.cols = gap.cols ? gap.cols : 0;
8308
+ return parsedGap;
8309
+ }
8310
+ };
8311
+ /**
8312
+ * @hidden
8313
+ */
8314
+ const generateGapStyle = (gap) => {
8315
+ if (gap.rows === gap.cols) {
8316
+ return typeof gap.rows === 'number' ? `${gap.rows}px` : gap.rows;
8317
+ }
8318
+ else {
8319
+ let rowStyle = `${typeof gap.rows === 'number' ? gap.rows + 'px' : gap.rows}`;
8320
+ let colStyle = `${typeof gap.cols === 'number' ? gap.cols + 'px' : gap.cols}`;
8321
+ return `${rowStyle} ${colStyle}`;
8322
+ }
8323
+ };
8324
+ /**
8325
+ * @hidden
8326
+ */
8327
+ const generateGridStyle = (items, itemType) => {
8328
+ let styling = [];
8329
+ items.forEach((item) => {
8330
+ if (typeof item === 'number') {
8331
+ styling.push(`${item}px`);
8332
+ }
8333
+ else if (typeof item === 'string') {
8334
+ styling.push(item);
8335
+ }
8336
+ else {
8337
+ if (itemType === 'rows') {
8338
+ const rowHeight = item.height;
8339
+ if (rowHeight) {
8340
+ styling.push(typeof rowHeight === 'number' ? `${rowHeight}px` : rowHeight);
8341
+ }
8342
+ else {
8343
+ styling.push('0px');
8344
+ }
8345
+ }
8346
+ else {
8347
+ const colWidth = item.width;
8348
+ if (colWidth) {
8349
+ styling.push(typeof colWidth === 'number' ? `${colWidth}px` : colWidth);
8350
+ }
8351
+ else {
8352
+ styling.push('0px');
8353
+ }
8354
+ }
8355
+ }
8356
+ });
8357
+ return styling;
8358
+ };
8359
+ /**
8360
+ * @hidden
8361
+ */
8362
+ const validateGridLayoutRowsCols = (arr) => {
8363
+ for (const el of arr) {
8364
+ const isNum = typeof el === 'number';
8365
+ const isStr = typeof el === 'string';
8366
+ const isObject = typeof el === 'object' && el !== null;
8367
+ if (!isNum && !isStr && !isObject) {
8368
+ return false;
8369
+ }
8370
+ }
8371
+ return true;
8372
+ };
8373
+
8374
+ /**
8375
+ * Represents the [Kendo UI StackLayout component for Angular]({% slug overview_stacklayout %}).
8376
+ */
8377
+ let StackLayoutComponent = class StackLayoutComponent {
8378
+ constructor(renderer, element, localization) {
8379
+ this.renderer = renderer;
8380
+ this.element = element;
8381
+ this.localization = localization;
8382
+ this.hostClass = true;
8383
+ /**
8384
+ * Specifies the gap between the inner StackLayout elements. The default value is `0`
8385
+ * ([see example]({% slug layout_stacklayout %}#toc-gaps)).
8386
+ */
8387
+ this.gap = 0;
8388
+ /**
8389
+ * Specifies the orientation of the StackLayout
8390
+ * ([see example]({% slug layout_stacklayout %}#toc-orientation)).
8391
+ *
8392
+ * The possible values are:
8393
+ * (Default) `horizontal`
8394
+ * `vertical`
8395
+ */
8396
+ this.orientation = 'horizontal';
8397
+ this._align = {
8398
+ horizontal: 'stretch',
8399
+ vertical: 'stretch'
8400
+ };
8401
+ validatePackage(packageMetadata);
8402
+ }
8403
+ get horizontalClass() {
8404
+ return this.orientation === 'horizontal';
8405
+ }
8406
+ get verticalClass() {
8407
+ return this.orientation === 'vertical';
8408
+ }
8409
+ get dir() {
8410
+ return this.direction;
8411
+ }
8412
+ /**
8413
+ * Specifies the horizontal and vertical alignment of the inner StackLayout elements
8414
+ * ([see example]({% slug layout_stacklayout %}#toc-alignment)).
8415
+ */
8416
+ set align(align) {
8417
+ this._align = Object.assign({}, this._align, align);
8418
+ this.handleAlignClasses();
8419
+ }
8420
+ get align() {
8421
+ return this._align;
8422
+ }
8423
+ ngAfterViewInit() {
8424
+ this.handleAlignClasses();
8425
+ this.setGap();
8426
+ }
8427
+ ngOnChanges(changes) {
8428
+ if (isChanged('gap', changes)) {
8429
+ this.setGap();
8430
+ }
8431
+ if (isChanged('orientation', changes)) {
8432
+ this.handleAlignClasses();
8433
+ }
8434
+ }
8435
+ handleAlignClasses() {
8436
+ const elem = this.element.nativeElement;
8437
+ if (isPresent(this.justifyClass)) {
8438
+ this.renderer.removeClass(elem, this.justifyClass);
8439
+ }
8440
+ if (isPresent(this.alignClass)) {
8441
+ this.renderer.removeClass(elem, this.alignClass);
8442
+ }
8443
+ if (this.orientation === 'horizontal') {
8444
+ this.justifyClass = `${JUSTIFY_PREFIX}-${this.align.horizontal}`;
8445
+ this.alignClass = `${ALIGN_PREFIX}-${VERTICAL_SUFFIX[this.align.vertical]}`;
8446
+ }
8447
+ else {
8448
+ this.justifyClass = `${JUSTIFY_PREFIX}-${VERTICAL_SUFFIX[this.align.vertical]}`;
8449
+ this.alignClass = `${ALIGN_PREFIX}-${this.align.horizontal}`;
8450
+ }
8451
+ this.renderer.addClass(elem, this.justifyClass);
8452
+ this.renderer.addClass(elem, this.alignClass);
8453
+ }
8454
+ setGap() {
8455
+ const parsedGap = isNumber(this.gap) ? `${this.gap}px` : this.gap;
8456
+ this.renderer.setStyle(this.element.nativeElement, 'gap', parsedGap);
8457
+ }
8458
+ get direction() {
8459
+ return this.localization.rtl ? 'rtl' : 'ltr';
8460
+ }
8461
+ };
8462
+ __decorate([
8463
+ HostBinding('class.k-stack-layout'),
8464
+ __metadata("design:type", Boolean)
8465
+ ], StackLayoutComponent.prototype, "hostClass", void 0);
8466
+ __decorate([
8467
+ HostBinding('class.k-hstack'),
8468
+ __metadata("design:type", Boolean),
8469
+ __metadata("design:paramtypes", [])
8470
+ ], StackLayoutComponent.prototype, "horizontalClass", null);
8471
+ __decorate([
8472
+ HostBinding('class.k-vstack'),
8473
+ __metadata("design:type", Boolean),
8474
+ __metadata("design:paramtypes", [])
8475
+ ], StackLayoutComponent.prototype, "verticalClass", null);
8476
+ __decorate([
8477
+ HostBinding('attr.dir'),
8478
+ __metadata("design:type", String),
8479
+ __metadata("design:paramtypes", [])
8480
+ ], StackLayoutComponent.prototype, "dir", null);
8481
+ __decorate([
8482
+ Input(),
8483
+ __metadata("design:type", Object),
8484
+ __metadata("design:paramtypes", [Object])
8485
+ ], StackLayoutComponent.prototype, "align", null);
8486
+ __decorate([
8487
+ Input(),
8488
+ __metadata("design:type", Object)
8489
+ ], StackLayoutComponent.prototype, "gap", void 0);
8490
+ __decorate([
8491
+ Input(),
8492
+ __metadata("design:type", String)
8493
+ ], StackLayoutComponent.prototype, "orientation", void 0);
8494
+ StackLayoutComponent = __decorate([
8495
+ Component({
8496
+ exportAs: 'kendoStackLayout',
8497
+ selector: 'kendo-stacklayout',
8498
+ providers: [
8499
+ LocalizationService,
8500
+ {
8501
+ provide: L10N_PREFIX,
8502
+ useValue: 'kendo.stacklayout'
8503
+ }
8504
+ ],
8505
+ template: `
8506
+ <ng-content></ng-content>
8507
+ `
8508
+ }),
8509
+ __metadata("design:paramtypes", [Renderer2,
8510
+ ElementRef,
8511
+ LocalizationService])
8512
+ ], StackLayoutComponent);
8513
+
8514
+ const exportedModules$9 = [
8515
+ StackLayoutComponent
8516
+ ];
8517
+ const declarations$9 = [
8518
+ ...exportedModules$9
8519
+ ];
8520
+ /**
8521
+ * Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
8522
+ * definition for the StackLayout component.
8523
+ */
8524
+ let StackLayoutModule = class StackLayoutModule {
8525
+ };
8526
+ StackLayoutModule = __decorate([
8527
+ NgModule({
8528
+ declarations: [declarations$9],
8529
+ exports: [exportedModules$9],
8530
+ imports: [CommonModule]
8531
+ })
8532
+ ], StackLayoutModule);
8533
+
8534
+ /**
8535
+ * Represents the [Kendo UI GridLayout component for Angular]({% slug overview_gridlayout %}).
8536
+ */
8537
+ let GridLayoutComponent = class GridLayoutComponent {
8538
+ constructor(renderer, element, localization) {
8539
+ this.renderer = renderer;
8540
+ this.element = element;
8541
+ this.localization = localization;
8542
+ this.hostClass = true;
8543
+ /**
8544
+ * Specifies the gaps between the elements. The default value is `0`
8545
+ * ([see example]({% slug layout_gridlayout %}#toc-gaps)).
8546
+ */
8547
+ this.gap = 0;
8548
+ this._align = {
8549
+ horizontal: 'stretch',
8550
+ vertical: 'stretch'
8551
+ };
8552
+ validatePackage(packageMetadata);
8553
+ }
8554
+ get dir() {
8555
+ return this.direction;
8556
+ }
8557
+ /**
8558
+ * Specifies the horizontal and vertical alignment of the inner GridLayout elements
8559
+ * ([see example]({% slug layout_gridlayout %}#toc-alignment)).
8560
+ */
8561
+ set align(align) {
8562
+ this._align = Object.assign({}, this._align, align);
8563
+ this.handleAlignClasses();
8564
+ }
8565
+ get align() {
8566
+ return this._align;
8567
+ }
8568
+ ngAfterViewInit() {
8569
+ this.handleAlignClasses();
8570
+ this.handleGridTemplateStyling('rows');
8571
+ this.handleGridTemplateStyling('cols');
8572
+ this.setGap();
8573
+ }
8574
+ ngOnChanges(changes) {
8575
+ if (isChanged('gap', changes)) {
8576
+ this.setGap();
8577
+ }
8578
+ if (isChanged('rows', changes)) {
8579
+ this.handleGridTemplateStyling('rows');
8580
+ }
8581
+ if (isChanged('cols', changes)) {
8582
+ this.handleGridTemplateStyling('cols');
8583
+ }
8584
+ }
8585
+ handleAlignClasses() {
8586
+ const elem = this.element.nativeElement;
8587
+ if (isPresent(this.justifyClass)) {
8588
+ this.renderer.removeClass(elem, this.justifyClass);
8589
+ }
8590
+ if (isPresent(this.alignClass)) {
8591
+ this.renderer.removeClass(elem, this.alignClass);
8592
+ }
8593
+ this.justifyClass = `${GRID_JUSTIFY_PREFIX}-${this.align.horizontal}`;
8594
+ this.alignClass = `${ALIGN_PREFIX}-${VERTICAL_SUFFIX[this.align.vertical]}`;
8595
+ this.renderer.addClass(elem, this.justifyClass);
8596
+ this.renderer.addClass(elem, this.alignClass);
8597
+ }
8598
+ setGap() {
8599
+ let parsedGap = normalizeGap(this.gap);
8600
+ let gapStyle = generateGapStyle(parsedGap);
8601
+ this.renderer.setStyle(this.element.nativeElement, 'gap', gapStyle);
8602
+ }
8603
+ handleGridTemplateStyling(type) {
8604
+ if (!isPresent(this[type])) {
8605
+ return;
8606
+ }
8607
+ const isValid = validateGridLayoutRowsCols(this[type]);
8608
+ if (!isValid && isDevMode()) {
8609
+ const valueType = type === 'rows' ? 'GridLayoutRowSize' : 'GridLayoutColSize';
8610
+ throw new Error(`The provided ${type} value contains invalid elements. The array supports values of type number, string or ${valueType}.`);
8611
+ }
8612
+ const gridTemplateStyle = type === 'rows' ? 'grid-template-rows' : 'grid-template-columns';
8613
+ const gridStyle = generateGridStyle(this[type], type);
8614
+ this.renderer.setStyle(this.element.nativeElement, gridTemplateStyle, gridStyle.join(' '));
8615
+ }
8616
+ get direction() {
8617
+ return this.localization.rtl ? 'rtl' : 'ltr';
8618
+ }
8619
+ };
8620
+ __decorate([
8621
+ HostBinding('class.k-grid-layout'),
8622
+ __metadata("design:type", Boolean)
8623
+ ], GridLayoutComponent.prototype, "hostClass", void 0);
8624
+ __decorate([
8625
+ HostBinding('attr.dir'),
8626
+ __metadata("design:type", String),
8627
+ __metadata("design:paramtypes", [])
8628
+ ], GridLayoutComponent.prototype, "dir", null);
8629
+ __decorate([
8630
+ Input(),
8631
+ __metadata("design:type", Array)
8632
+ ], GridLayoutComponent.prototype, "rows", void 0);
8633
+ __decorate([
8634
+ Input(),
8635
+ __metadata("design:type", Array)
8636
+ ], GridLayoutComponent.prototype, "cols", void 0);
8637
+ __decorate([
8638
+ Input(),
8639
+ __metadata("design:type", Object)
8640
+ ], GridLayoutComponent.prototype, "gap", void 0);
8641
+ __decorate([
8642
+ Input(),
8643
+ __metadata("design:type", Object),
8644
+ __metadata("design:paramtypes", [Object])
8645
+ ], GridLayoutComponent.prototype, "align", null);
8646
+ GridLayoutComponent = __decorate([
8647
+ Component({
8648
+ exportAs: 'kendoGridLayout',
8649
+ selector: 'kendo-gridlayout',
8650
+ providers: [
8651
+ LocalizationService,
8652
+ {
8653
+ provide: L10N_PREFIX,
8654
+ useValue: 'kendo.gridlayout'
8655
+ }
8656
+ ],
8657
+ template: `
8658
+ <ng-content></ng-content>
8659
+ `
8660
+ }),
8661
+ __metadata("design:paramtypes", [Renderer2,
8662
+ ElementRef,
8663
+ LocalizationService])
8664
+ ], GridLayoutComponent);
8665
+
8666
+ let GridLayoutItemComponent = class GridLayoutItemComponent {
8667
+ constructor(renderer, element) {
8668
+ this.renderer = renderer;
8669
+ this.element = element;
8670
+ }
8671
+ ngOnInit() {
8672
+ this.setItemStyle();
8673
+ }
8674
+ ngOnChanges() {
8675
+ this.setItemStyle();
8676
+ }
8677
+ setItemStyle() {
8678
+ const row = this.row || 'auto';
8679
+ const col = this.col || 'auto';
8680
+ const rowSpan = this.rowSpan ? `span ${this.rowSpan}` : 'auto';
8681
+ const colSpan = this.colSpan ? `span ${this.colSpan}` : 'auto';
8682
+ const gridAreaStyle = `${row} / ${col} / ${rowSpan} / ${colSpan}`;
8683
+ this.renderer.setStyle(this.element.nativeElement, 'grid-area', gridAreaStyle);
8684
+ }
8685
+ };
8686
+ __decorate([
8687
+ Input(),
8688
+ __metadata("design:type", Number)
8689
+ ], GridLayoutItemComponent.prototype, "row", void 0);
8690
+ __decorate([
8691
+ Input(),
8692
+ __metadata("design:type", Number)
8693
+ ], GridLayoutItemComponent.prototype, "col", void 0);
8694
+ __decorate([
8695
+ Input(),
8696
+ __metadata("design:type", Number)
8697
+ ], GridLayoutItemComponent.prototype, "rowSpan", void 0);
8698
+ __decorate([
8699
+ Input(),
8700
+ __metadata("design:type", Number)
8701
+ ], GridLayoutItemComponent.prototype, "colSpan", void 0);
8702
+ GridLayoutItemComponent = __decorate([
8703
+ Component({
8704
+ selector: 'kendo-gridlayout-item',
8705
+ template: `
8706
+ <ng-content></ng-content>
8707
+ `
8708
+ }),
8709
+ __metadata("design:paramtypes", [Renderer2,
8710
+ ElementRef])
8711
+ ], GridLayoutItemComponent);
8712
+
8713
+ const exportedModules$a = [
8714
+ GridLayoutComponent,
8715
+ GridLayoutItemComponent
8716
+ ];
8717
+ const declarations$a = [
8718
+ ...exportedModules$a
8719
+ ];
8720
+ /**
8721
+ * Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
8722
+ * definition for the GridLayout component.
8723
+ */
8724
+ let GridLayoutModule = class GridLayoutModule {
8725
+ };
8726
+ GridLayoutModule = __decorate([
8727
+ NgModule({
8728
+ declarations: [declarations$a],
8729
+ exports: [exportedModules$a],
8730
+ imports: [CommonModule]
8731
+ })
8732
+ ], GridLayoutModule);
8733
+
8271
8734
  /**
8272
8735
  * Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
8273
8736
  * definition for the Layout components.
@@ -8312,7 +8775,9 @@ LayoutModule = __decorate([
8312
8775
  SplitterModule,
8313
8776
  StepperModule,
8314
8777
  TabStripModule,
8315
- TileLayoutModule
8778
+ TileLayoutModule,
8779
+ StackLayoutModule,
8780
+ GridLayoutModule
8316
8781
  ]
8317
8782
  })
8318
8783
  ], LayoutModule);
@@ -8321,4 +8786,4 @@ LayoutModule = __decorate([
8321
8786
  * Generated bundle index. Do not edit.
8322
8787
  */
8323
8788
 
8324
- export { PreventableEvent$1 as PreventableEvent, DrawerService, DrawerItemComponent, DrawerListComponent, DRAWER_ITEM_INDEX, PanelBarService, SplitterBarComponent, SplitterService, StepperListComponent, StepperMessages, STEPPER_STEP_INDEX, StepperStepComponent, StepperService, TabStripMessages, TabComponent, TabStripScrollableButtonComponent, ScrollService, TabStripService, TileLayoutDraggingService, PreventableEvent$2 as PreventableEvent$1, TileLayoutResizeHandleDirective, PanelBarComponent, PanelBarItemComponent, PanelBarContentDirective, PanelBarItemTemplateDirective, PanelBarItemTitleDirective, PanelBarExpandMode, SplitterComponent, SplitterPaneComponent, TabStripComponent, TabStripTabComponent, TabContentDirective, TabTitleDirective, LocalizedTabStripMessagesDirective, TabStripCustomMessagesComponent, DrawerComponent, DrawerContainerComponent, DrawerContentComponent, DrawerSelectEvent, StepperComponent, StepperActivateEvent, StepperCustomMessagesComponent, LocalizedStepperMessagesDirective, AvatarComponent, CardComponent, CardHeaderComponent, CardBodyComponent, CardFooterComponent, CardActionsComponent, CardSeparatorDirective, CardTitleDirective, CardSubtitleDirective, CardMediaDirective, CardAction, ExpansionPanelComponent, ExpansionPanelTitleDirective, ExpansionPanelActionEvent, TileLayoutComponent, TileLayoutItemComponent, TileLayoutItemBodyComponent, TileLayoutItemHeaderComponent, TileLayoutReorderEvent, TileLayoutResizeEvent, AvatarModule, CardModule, DrawerModule, LayoutModule, PanelBarModule, SplitterModule, StepperModule, TabStripModule, ExpansionPanelModule, TileLayoutModule, TabCloseEvent, SelectEvent, DrawerTemplateDirective, DrawerItemTemplateDirective, DrawerHeaderTemplateDirective, DrawerFooterTemplateDirective, StepperIndicatorTemplateDirective, StepperLabelTemplateDirective, StepperStepTemplateDirective };
8789
+ export { PreventableEvent$1 as PreventableEvent, DrawerService, DrawerItemComponent, DrawerListComponent, DRAWER_ITEM_INDEX, PanelBarService, SplitterBarComponent, SplitterService, StepperListComponent, StepperMessages, STEPPER_STEP_INDEX, StepperStepComponent, StepperService, TabStripMessages, TabComponent, TabStripScrollableButtonComponent, ScrollService, TabStripService, TileLayoutDraggingService, PreventableEvent$2 as PreventableEvent$1, TileLayoutResizeHandleDirective, PanelBarComponent, PanelBarItemComponent, PanelBarContentDirective, PanelBarItemTemplateDirective, PanelBarItemTitleDirective, PanelBarExpandMode, SplitterComponent, SplitterPaneComponent, TabStripComponent, TabStripTabComponent, TabContentDirective, TabTitleDirective, LocalizedTabStripMessagesDirective, TabStripCustomMessagesComponent, DrawerComponent, DrawerContainerComponent, DrawerContentComponent, DrawerSelectEvent, StepperComponent, StepperActivateEvent, StepperCustomMessagesComponent, LocalizedStepperMessagesDirective, AvatarComponent, CardComponent, CardHeaderComponent, CardBodyComponent, CardFooterComponent, CardActionsComponent, CardSeparatorDirective, CardTitleDirective, CardSubtitleDirective, CardMediaDirective, CardAction, ExpansionPanelComponent, ExpansionPanelTitleDirective, ExpansionPanelActionEvent, TileLayoutComponent, TileLayoutItemComponent, TileLayoutItemBodyComponent, TileLayoutItemHeaderComponent, TileLayoutReorderEvent, TileLayoutResizeEvent, AvatarModule, CardModule, DrawerModule, LayoutModule, PanelBarModule, SplitterModule, StepperModule, TabStripModule, ExpansionPanelModule, TileLayoutModule, StackLayoutModule, GridLayoutModule, StackLayoutComponent, GridLayoutComponent, GridLayoutItemComponent, TabCloseEvent, SelectEvent, DrawerTemplateDirective, DrawerItemTemplateDirective, DrawerHeaderTemplateDirective, DrawerFooterTemplateDirective, StepperIndicatorTemplateDirective, StepperLabelTemplateDirective, StepperStepTemplateDirective };