@syncfusion/ej2-layouts 24.2.4 → 25.1.37

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 (128) hide show
  1. package/CHANGELOG.md +20 -2
  2. package/README.md +26 -6
  3. package/dist/ej2-layouts.min.js +2 -2
  4. package/dist/ej2-layouts.umd.min.js +2 -2
  5. package/dist/ej2-layouts.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-layouts.es2015.js +375 -4
  7. package/dist/es6/ej2-layouts.es2015.js.map +1 -1
  8. package/dist/es6/ej2-layouts.es5.js +401 -4
  9. package/dist/es6/ej2-layouts.es5.js.map +1 -1
  10. package/dist/global/ej2-layouts.min.js +2 -2
  11. package/dist/global/ej2-layouts.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/package.json +7 -7
  14. package/src/dashboard-layout/dashboard-layout.js +1 -0
  15. package/src/index.d.ts +1 -0
  16. package/src/index.js +1 -0
  17. package/src/splitter/splitter.js +6 -2
  18. package/src/timeline/index.d.ts +3 -0
  19. package/src/timeline/index.js +2 -0
  20. package/src/timeline/timeline-model.d.ts +140 -0
  21. package/src/timeline/timeline.d.ts +236 -0
  22. package/src/timeline/timeline.js +392 -0
  23. package/styles/avatar/_bds-definition.scss +32 -0
  24. package/styles/bootstrap-dark.css +239 -0
  25. package/styles/bootstrap-dark.scss +1 -0
  26. package/styles/bootstrap.css +239 -0
  27. package/styles/bootstrap.scss +1 -0
  28. package/styles/bootstrap4.css +239 -0
  29. package/styles/bootstrap4.scss +1 -0
  30. package/styles/bootstrap5-dark.css +239 -0
  31. package/styles/bootstrap5-dark.scss +1 -0
  32. package/styles/bootstrap5.css +239 -0
  33. package/styles/bootstrap5.scss +1 -0
  34. package/styles/card/_bds-definition.scss +123 -0
  35. package/styles/card/_layout.scss +2 -2
  36. package/styles/card/_theme.scss +24 -4
  37. package/styles/card/fabric.css +2 -2
  38. package/styles/card/highcontrast.css +2 -2
  39. package/styles/card/material3-dark.css +4 -4
  40. package/styles/card/material3.css +4 -4
  41. package/styles/dashboard-layout/_bds-definition.scss +109 -0
  42. package/styles/dashboard-layout/icons/_bds.scss +80 -0
  43. package/styles/fabric-dark.css +239 -0
  44. package/styles/fabric-dark.scss +1 -0
  45. package/styles/fabric.css +241 -2
  46. package/styles/fabric.scss +1 -0
  47. package/styles/fluent-dark.css +239 -0
  48. package/styles/fluent-dark.scss +1 -0
  49. package/styles/fluent.css +239 -0
  50. package/styles/fluent.scss +1 -0
  51. package/styles/highcontrast-light.css +239 -0
  52. package/styles/highcontrast-light.scss +1 -0
  53. package/styles/highcontrast.css +241 -2
  54. package/styles/highcontrast.scss +1 -0
  55. package/styles/material-dark.css +239 -0
  56. package/styles/material-dark.scss +1 -0
  57. package/styles/material.css +239 -0
  58. package/styles/material.scss +1 -0
  59. package/styles/material3-dark.css +243 -4
  60. package/styles/material3-dark.scss +1 -0
  61. package/styles/material3.css +243 -4
  62. package/styles/material3.scss +1 -0
  63. package/styles/splitter/_bds-definition.scss +31 -0
  64. package/styles/splitter/icons/_bds.scss +39 -0
  65. package/styles/tailwind-dark.css +239 -0
  66. package/styles/tailwind-dark.scss +1 -0
  67. package/styles/tailwind.css +239 -0
  68. package/styles/tailwind.scss +1 -0
  69. package/styles/timeline/_all.scss +2 -0
  70. package/styles/timeline/_bds-definition.scss +18 -0
  71. package/styles/timeline/_bootstrap-dark-definition.scss +18 -0
  72. package/styles/timeline/_bootstrap-definition.scss +18 -0
  73. package/styles/timeline/_bootstrap4-definition.scss +18 -0
  74. package/styles/timeline/_bootstrap5-dark-definition.scss +1 -0
  75. package/styles/timeline/_bootstrap5-definition.scss +18 -0
  76. package/styles/timeline/_fabric-dark-definition.scss +18 -0
  77. package/styles/timeline/_fabric-definition.scss +18 -0
  78. package/styles/timeline/_fluent-dark-definition.scss +1 -0
  79. package/styles/timeline/_fluent-definition.scss +18 -0
  80. package/styles/timeline/_fusionnew-definition.scss +18 -0
  81. package/styles/timeline/_highcontrast-definition.scss +18 -0
  82. package/styles/timeline/_highcontrast-light-definition.scss +18 -0
  83. package/styles/timeline/_layout.scss +273 -0
  84. package/styles/timeline/_material-dark-definition.scss +18 -0
  85. package/styles/timeline/_material-definition.scss +18 -0
  86. package/styles/timeline/_material3-dark-definition.scss +1 -0
  87. package/styles/timeline/_material3-definition.scss +18 -0
  88. package/styles/timeline/_tailwind-dark-definition.scss +1 -0
  89. package/styles/timeline/_tailwind-definition.scss +18 -0
  90. package/styles/timeline/_theme.scss +31 -0
  91. package/styles/timeline/bootstrap-dark.css +238 -0
  92. package/styles/timeline/bootstrap-dark.scss +3 -0
  93. package/styles/timeline/bootstrap.css +238 -0
  94. package/styles/timeline/bootstrap.scss +3 -0
  95. package/styles/timeline/bootstrap4.css +238 -0
  96. package/styles/timeline/bootstrap4.scss +3 -0
  97. package/styles/timeline/bootstrap5-dark.css +238 -0
  98. package/styles/timeline/bootstrap5-dark.scss +3 -0
  99. package/styles/timeline/bootstrap5.css +238 -0
  100. package/styles/timeline/bootstrap5.scss +3 -0
  101. package/styles/timeline/fabric-dark.css +238 -0
  102. package/styles/timeline/fabric-dark.scss +3 -0
  103. package/styles/timeline/fabric.css +238 -0
  104. package/styles/timeline/fabric.scss +3 -0
  105. package/styles/timeline/fluent-dark.css +238 -0
  106. package/styles/timeline/fluent-dark.scss +3 -0
  107. package/styles/timeline/fluent.css +238 -0
  108. package/styles/timeline/fluent.scss +3 -0
  109. package/styles/timeline/highcontrast-light.css +238 -0
  110. package/styles/timeline/highcontrast-light.scss +3 -0
  111. package/styles/timeline/highcontrast.css +238 -0
  112. package/styles/timeline/highcontrast.scss +3 -0
  113. package/styles/timeline/material-dark.css +238 -0
  114. package/styles/timeline/material-dark.scss +3 -0
  115. package/styles/timeline/material.css +238 -0
  116. package/styles/timeline/material.scss +3 -0
  117. package/styles/timeline/material3-dark.css +293 -0
  118. package/styles/timeline/material3-dark.scss +4 -0
  119. package/styles/timeline/material3.css +349 -0
  120. package/styles/timeline/material3.scss +4 -0
  121. package/styles/timeline/tailwind-dark.css +238 -0
  122. package/styles/timeline/tailwind-dark.scss +3 -0
  123. package/styles/timeline/tailwind.css +238 -0
  124. package/styles/timeline/tailwind.scss +3 -0
  125. package/timeline.d.ts +4 -0
  126. package/timeline.js +4 -0
  127. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -41
  128. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +0 -27
@@ -1,4 +1,4 @@
1
- import { Browser, ChildProperty, Collection, Component, Draggable, Event, EventHandler, NotifyPropertyChanges, Property, SanitizeHtmlHelper, addClass, append, closest, compile, detach, extend, formatUnit, getValue, isNullOrUndefined, isUndefined, removeClass, select, selectAll, setStyleAttribute, setValue } from '@syncfusion/ej2-base';
1
+ import { Browser, ChildProperty, Collection, Component, Draggable, Event, EventHandler, NotifyPropertyChanges, Property, SanitizeHtmlHelper, addClass, append, attributes, closest, compile, detach, extend, formatUnit, getUniqueID, getValue, isNullOrUndefined, isUndefined, remove, removeClass, select, selectAll, setStyleAttribute, setValue } from '@syncfusion/ej2-base';
2
2
 
3
3
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4
4
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -230,7 +230,9 @@ let Splitter = class Splitter extends Component {
230
230
  - staticPaneWidth - (this.border * 2);
231
231
  const avgDiffWidth = flexPaneWidth / flexPaneIndexes.length;
232
232
  for (let j = 0; j < flexPaneIndexes.length; j++) {
233
- this.allPanes[flexPaneIndexes[j]].style.flexBasis = avgDiffWidth + 'px';
233
+ if (this.allPanes[flexPaneIndexes[j]].style.flexBasis !== '') {
234
+ this.allPanes[flexPaneIndexes[j]].style.flexBasis = avgDiffWidth + 'px';
235
+ }
234
236
  }
235
237
  this.allPanes[index].classList.add(STATIC_PANE);
236
238
  }
@@ -1001,7 +1003,9 @@ let Splitter = class Splitter extends Component {
1001
1003
  if (paneCount - 1 === i) {
1002
1004
  const staticPaneCount = this.element.querySelectorAll('.' + STATIC_PANE).length;
1003
1005
  if (staticPaneCount === paneCount) {
1004
- removeClass([this.allPanes[i]], STATIC_PANE);
1006
+ if (this.allPanes[i].style.flexBasis === '') {
1007
+ removeClass([this.allPanes[i]], STATIC_PANE);
1008
+ }
1005
1009
  }
1006
1010
  }
1007
1011
  }
@@ -5208,6 +5212,7 @@ let DashboardLayout = class DashboardLayout extends Component {
5208
5212
  if (Array.isArray(getValue(key, this)) && key === 'panels') {
5209
5213
  // eslint-disable-next-line
5210
5214
  this.mergePanels(dataObj[key], this[key]);
5215
+ this[key] = dataObj[key];
5211
5216
  }
5212
5217
  }
5213
5218
  }
@@ -5313,9 +5318,375 @@ DashboardLayout = __decorate$1([
5313
5318
  * dashboardlayout modules
5314
5319
  */
5315
5320
 
5321
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5322
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5323
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5324
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5325
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5326
+ };
5327
+ const ITEMLISTCONTAINER = 'e-timeline-items';
5328
+ const ITEMCONTAINER = 'e-timeline-item';
5329
+ const OPPOSITECONTENT = 'e-opposite-content';
5330
+ const DOTCONTAINER = 'e-dot-item';
5331
+ const DOTCONTENT = 'e-dot';
5332
+ const CONTENT = 'e-content';
5333
+ const ITEMCONNECTOR = 'e-connector';
5334
+ const VERTICAL = 'e-vertical';
5335
+ const HORIZONTAL = 'e-horizontal';
5336
+ const TIMELINEREVERSE = 'e-timeline-reverse';
5337
+ const RTL$1 = 'e-rtl';
5338
+ const DISABLED$1 = 'e-item-disabled';
5339
+ const TEMPLATE = 'e-item-template';
5340
+ /**
5341
+ * Defines the orientation type of the Timeline.
5342
+ */
5343
+ var TimelineOrientation;
5344
+ (function (TimelineOrientation) {
5345
+ /**
5346
+ * Items are displayed horizontally.
5347
+ */
5348
+ TimelineOrientation["Horizontal"] = "Horizontal";
5349
+ /**
5350
+ * Items are displayed vertically.
5351
+ */
5352
+ TimelineOrientation["Vertical"] = "Vertical";
5353
+ })(TimelineOrientation || (TimelineOrientation = {}));
5354
+ /**
5355
+ * Specifies the alignment of item content within the Timeline.
5356
+ */
5357
+ var TimelineAlign;
5358
+ (function (TimelineAlign) {
5359
+ /**
5360
+ * Aligns item content to the top and opposite content to the bottom when the Timeline is in a horizontal orientation, or the content to the left and opposite content to the right when the Timeline is in a vertical orientation.
5361
+ */
5362
+ TimelineAlign["Before"] = "Before";
5363
+ /**
5364
+ * Aligns item content to the bottom and opposite content to the top when the Timeline is in a horizontal orientation, or the content to the right and opposite content to the left when the Timeline is in a vertical orientation.
5365
+ */
5366
+ TimelineAlign["After"] = "After";
5367
+ /**
5368
+ * Aligns item content alternatively, regardless of the Timeline's orientation.
5369
+ */
5370
+ TimelineAlign["Alternate"] = "Alternate";
5371
+ /**
5372
+ * Aligns item content in alternate reverse, regardless of the Timeline's orientation.
5373
+ */
5374
+ TimelineAlign["AlternateReverse"] = "AlternateReverse";
5375
+ })(TimelineAlign || (TimelineAlign = {}));
5376
+ /**
5377
+ * Specifies the items of the Timeline.
5378
+ */
5379
+ class TimelineItem extends ChildProperty {
5380
+ }
5381
+ __decorate$2([
5382
+ Property('')
5383
+ ], TimelineItem.prototype, "dotCss", void 0);
5384
+ __decorate$2([
5385
+ Property('')
5386
+ ], TimelineItem.prototype, "content", void 0);
5387
+ __decorate$2([
5388
+ Property('')
5389
+ ], TimelineItem.prototype, "oppositeContent", void 0);
5390
+ __decorate$2([
5391
+ Property(false)
5392
+ ], TimelineItem.prototype, "disabled", void 0);
5393
+ __decorate$2([
5394
+ Property('')
5395
+ ], TimelineItem.prototype, "cssClass", void 0);
5396
+ /**
5397
+ * The Timeline component presents a series of events or activities in chronological order, allowing users to track the progression of time.
5398
+ *
5399
+ * ```html
5400
+ * <div id="timeline"></div>
5401
+ * ```
5402
+ * ```typescript
5403
+ * <script>
5404
+ * let timelineObj: Timeline = new Timeline({items : [{}, {}, {}, {}, {}]});
5405
+ * timelineObj.appendTo('#timeline');
5406
+ * </script>
5407
+ * ```
5408
+ */
5409
+ let Timeline = class Timeline extends Component {
5410
+ /**
5411
+ * * Constructor for creating the Timeline component.
5412
+ *
5413
+ * @param {TimelineModel} options - Specifies the Timeline model.
5414
+ * @param {string | HTMLElement} element - Specifies the element to render as component.
5415
+ * @private
5416
+ */
5417
+ constructor(options, element) {
5418
+ super(options, element);
5419
+ }
5420
+ preRender() {
5421
+ if (!this.element.id) {
5422
+ this.element.id = getUniqueID('e-' + this.getModuleName());
5423
+ }
5424
+ }
5425
+ /**
5426
+ * To get component name.
5427
+ *
5428
+ * @returns {string} - Module Name
5429
+ * @private
5430
+ */
5431
+ getModuleName() {
5432
+ return 'timeline';
5433
+ }
5434
+ /**
5435
+ * This method is abstract member of the Component<HTMLElement>.
5436
+ *
5437
+ * @private
5438
+ * @returns {string}
5439
+ */
5440
+ getPersistData() {
5441
+ return this.addOnPersist([]);
5442
+ }
5443
+ render() {
5444
+ attributes(this.element, { 'role': 'navigation', 'aria-label': this.element.id });
5445
+ this.timelineListEle = this.createElement('ol', { className: ITEMLISTCONTAINER });
5446
+ this.updateOrientation();
5447
+ this.updateCssClass(this.cssClass);
5448
+ this.updateAlign();
5449
+ this.updateReverse();
5450
+ this.updateRtl();
5451
+ this.updateTemplateFunction();
5452
+ this.renderItems();
5453
+ this.element.appendChild(this.timelineListEle);
5454
+ }
5455
+ updateOrientation() {
5456
+ const orientation = this.orientation.toLowerCase();
5457
+ if (orientation === 'horizontal' || orientation === 'vertical') {
5458
+ this.element.classList.remove(HORIZONTAL, VERTICAL);
5459
+ this.element.classList.add('e-' + orientation);
5460
+ }
5461
+ }
5462
+ updateCssClass(addCss, removeCss = "") {
5463
+ let cssClasses;
5464
+ if (removeCss) {
5465
+ cssClasses = removeCss.trim().split(' ');
5466
+ this.element.classList.remove(...cssClasses);
5467
+ }
5468
+ if (addCss) {
5469
+ cssClasses = addCss.trim().split(' ');
5470
+ this.element.classList.add(...cssClasses);
5471
+ }
5472
+ }
5473
+ updateRtl() {
5474
+ this.element.classList[this.enableRtl ? 'add' : 'remove'](RTL$1);
5475
+ }
5476
+ updateAlign() {
5477
+ const align = this.align.toLowerCase();
5478
+ if (align === 'before' || align === 'after' || align === 'alternate' || align === 'alternatereverse') {
5479
+ this.element.classList.remove('e-align-before', 'e-align-after', 'e-align-alternate', 'e-align-alternatereverse');
5480
+ this.element.classList.add('e-align-' + align);
5481
+ }
5482
+ }
5483
+ updateReverse() {
5484
+ this.element.classList[this.reverse ? 'add' : 'remove'](TIMELINEREVERSE);
5485
+ }
5486
+ renderItems() {
5487
+ for (let index = 0; index < this.items.length; index++) {
5488
+ const item = this.items[parseInt(index.toString(), 10)];
5489
+ const timelineItem = this.createElement('li', { className: ITEMCONTAINER + ' ' + ITEMCONNECTOR });
5490
+ if (!this.template) {
5491
+ const oppositeTextEle = this.createElement('div', { className: OPPOSITECONTENT });
5492
+ if (item.oppositeContent) {
5493
+ const oppositeCtn = this.getTemplateFunction(item.oppositeContent);
5494
+ if (typeof oppositeCtn === 'string') {
5495
+ oppositeTextEle.innerText = oppositeCtn;
5496
+ }
5497
+ else {
5498
+ append(oppositeCtn({ item: item, itemIndex: index }), oppositeTextEle);
5499
+ }
5500
+ }
5501
+ timelineItem.appendChild(oppositeTextEle);
5502
+ const dotContainer = this.createElement('div', { className: DOTCONTAINER });
5503
+ const dotEleCss = item.dotCss ? DOTCONTENT + ' ' + item.dotCss.trim() : DOTCONTENT;
5504
+ const dotEle = this.createElement('div', { className: dotEleCss });
5505
+ dotContainer.appendChild(dotEle);
5506
+ timelineItem.appendChild(dotContainer);
5507
+ const contentEle = this.createElement('div', { className: CONTENT });
5508
+ if (item.content) {
5509
+ const ctn = this.getTemplateFunction(item.content);
5510
+ if (typeof ctn === 'string') {
5511
+ contentEle.innerText = ctn;
5512
+ }
5513
+ else {
5514
+ append(ctn({ item: item, itemIndex: index }), contentEle);
5515
+ }
5516
+ }
5517
+ timelineItem.appendChild(contentEle);
5518
+ if (item.cssClass) {
5519
+ timelineItem.classList.add(...item.cssClass.trim().split(' '));
5520
+ }
5521
+ if (item.disabled) {
5522
+ timelineItem.classList.add(DISABLED$1);
5523
+ }
5524
+ }
5525
+ else {
5526
+ this.renderItemContent(index, false, timelineItem);
5527
+ }
5528
+ const eventArgs = { element: timelineItem, index: index };
5529
+ this.trigger('beforeItemRender', eventArgs, (args) => { this.timelineListEle.appendChild(args.element); });
5530
+ }
5531
+ }
5532
+ updateTemplateFunction() {
5533
+ this.templateFunction = this.template ? this.getTemplateFunction(this.template, false) : null;
5534
+ }
5535
+ renderItemContent(index, isrerender, timelineItem) {
5536
+ const listItems = this.timelineListEle.querySelectorAll('li');
5537
+ if (isrerender) {
5538
+ this.removeItemContent(listItems[parseInt((index).toString(), 10)]);
5539
+ }
5540
+ if (this.template) {
5541
+ isrerender ? listItems[parseInt((index).toString(), 10)].classList.add(TEMPLATE) :
5542
+ timelineItem.classList.add(TEMPLATE);
5543
+ const item = this.items[parseInt(index.toString(), 10)];
5544
+ append(this.templateFunction({ item: item, itemIndex: index }, this, 'timelineTemplate', (this.element.id + '_timelineTemplate'), this.isStringTemplate), isrerender ? listItems[parseInt((index).toString(), 10)] : timelineItem);
5545
+ }
5546
+ this.renderReactTemplates();
5547
+ }
5548
+ removeItemContent(ele) {
5549
+ ele.classList.remove(TEMPLATE);
5550
+ const firstChild = ele.firstElementChild;
5551
+ for (let i = 0; i < ele.childElementCount; i++) {
5552
+ firstChild.remove();
5553
+ }
5554
+ }
5555
+ /**
5556
+ * Gets template content based on the template property value.
5557
+ *
5558
+ * @param {string | Function} template - Template property value.
5559
+ * @returns {Function} - Return template function.
5560
+ * @hidden
5561
+ */
5562
+ getTemplateFunction(template, notCompile = true) {
5563
+ if (typeof template === 'string') {
5564
+ let content = '';
5565
+ try {
5566
+ const tempEle = select(template);
5567
+ if (tempEle) {
5568
+ //Return innerHTML incase of jsrenderer script else outerHTML
5569
+ content = tempEle.tagName === 'SCRIPT' ? tempEle.innerHTML : tempEle.outerHTML;
5570
+ notCompile = false;
5571
+ }
5572
+ else {
5573
+ content = template;
5574
+ }
5575
+ }
5576
+ catch (e) {
5577
+ content = template;
5578
+ }
5579
+ return notCompile ? content : compile(content);
5580
+ }
5581
+ else {
5582
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
5583
+ return compile(template);
5584
+ }
5585
+ }
5586
+ removeItemElements() {
5587
+ const listItems = this.timelineListEle.querySelectorAll('li');
5588
+ for (let i = 0; i < listItems.length; i++) {
5589
+ remove(listItems[parseInt(i.toString(), 10)]);
5590
+ }
5591
+ }
5592
+ updateElementClassArray() {
5593
+ const classArray = [RTL$1, 'e-align-before', 'e-align-after', 'e-outline', 'e-fill', 'e-align-alternate',
5594
+ 'e-align-alternatereverse', TIMELINEREVERSE, HORIZONTAL, VERTICAL];
5595
+ removeClass([this.element], classArray);
5596
+ }
5597
+ updateContent() {
5598
+ if (this.isReact) {
5599
+ this.clearTemplate(['timelineTemplate']);
5600
+ }
5601
+ for (let i = 0; i < this.items.length; i++) {
5602
+ this.renderItemContent(i, true);
5603
+ }
5604
+ }
5605
+ destroy() {
5606
+ super.destroy();
5607
+ // unwires the events and detach the li elements
5608
+ this.removeItemElements();
5609
+ this.element.removeAttribute("role");
5610
+ this.element.removeAttribute("aria-label");
5611
+ this.clearTemplate();
5612
+ if (this.timelineListEle) {
5613
+ remove(this.timelineListEle);
5614
+ }
5615
+ this.timelineListEle = null;
5616
+ this.updateElementClassArray();
5617
+ }
5618
+ /**
5619
+ * Called internally if any of the property value changed.
5620
+ *
5621
+ * @param {TimelineModel} newProp - Specifies new properties
5622
+ * @param {TimelineModel} oldProp - Specifies old properties
5623
+ * @returns {void}
5624
+ * @private
5625
+ */
5626
+ onPropertyChanged(newProp, oldProp) {
5627
+ for (const prop of Object.keys(newProp)) {
5628
+ switch (prop) {
5629
+ case 'items': {
5630
+ this.removeItemElements();
5631
+ this.renderItems();
5632
+ break;
5633
+ }
5634
+ case 'orientation':
5635
+ this.updateOrientation();
5636
+ break;
5637
+ case 'align':
5638
+ this.updateAlign();
5639
+ break;
5640
+ case 'enableRtl':
5641
+ this.updateRtl();
5642
+ break;
5643
+ case 'cssClass':
5644
+ this.updateCssClass(newProp.cssClass, oldProp.cssClass);
5645
+ break;
5646
+ case 'reverse':
5647
+ this.element.classList[this.reverse ? 'add' : 'remove'](TIMELINEREVERSE);
5648
+ break;
5649
+ case 'template':
5650
+ this.updateTemplateFunction();
5651
+ this.updateContent();
5652
+ break;
5653
+ }
5654
+ }
5655
+ }
5656
+ };
5657
+ __decorate$2([
5658
+ Property(TimelineOrientation.Vertical)
5659
+ ], Timeline.prototype, "orientation", void 0);
5660
+ __decorate$2([
5661
+ Property(TimelineAlign.After)
5662
+ ], Timeline.prototype, "align", void 0);
5663
+ __decorate$2([
5664
+ Collection([], TimelineItem)
5665
+ ], Timeline.prototype, "items", void 0);
5666
+ __decorate$2([
5667
+ Property('')
5668
+ ], Timeline.prototype, "cssClass", void 0);
5669
+ __decorate$2([
5670
+ Property(false)
5671
+ ], Timeline.prototype, "reverse", void 0);
5672
+ __decorate$2([
5673
+ Property('')
5674
+ ], Timeline.prototype, "template", void 0);
5675
+ __decorate$2([
5676
+ Event()
5677
+ ], Timeline.prototype, "created", void 0);
5678
+ __decorate$2([
5679
+ Event()
5680
+ ], Timeline.prototype, "beforeItemRender", void 0);
5681
+ Timeline = __decorate$2([
5682
+ NotifyPropertyChanges
5683
+ ], Timeline);
5684
+
5685
+ /** Timeline export modules */
5686
+
5316
5687
  /**
5317
5688
  * Layout all modules
5318
5689
  */
5319
5690
 
5320
- export { PaneProperties, Splitter, Panel, DashboardLayout };
5691
+ export { PaneProperties, Splitter, Panel, DashboardLayout, TimelineOrientation, TimelineAlign, TimelineItem, Timeline };
5321
5692
  //# sourceMappingURL=ej2-layouts.es2015.js.map