@progress/kendo-angular-layout 17.0.0-develop.2 → 17.0.0-develop.21
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/README.md +42 -27
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/splitter/splitter-bar.component.mjs +35 -2
- package/esm2020/splitter/splitter-pane.component.mjs +45 -27
- package/esm2020/splitter/splitter.component.mjs +39 -11
- package/esm2020/splitter/splitter.service.mjs +50 -17
- package/esm2020/tabstrip/rendering/tab.component.mjs +10 -9
- package/esm2020/tabstrip/tabstrip.component.mjs +16 -6
- package/esm2020/timeline/timeline-card.component.mjs +1 -1
- package/esm2020/timeline/timeline-horizontal.component.mjs +1 -1
- package/fesm2015/progress-kendo-angular-layout.mjs +365 -244
- package/fesm2020/progress-kendo-angular-layout.mjs +365 -244
- package/package.json +8 -8
- package/splitter/splitter-bar.component.d.ts +13 -1
- package/splitter/splitter-pane.component.d.ts +23 -4
- package/splitter/splitter.component.d.ts +12 -4
- package/splitter/splitter.service.d.ts +5 -0
- package/tabstrip/tabstrip.component.d.ts +2 -0
|
@@ -7,7 +7,7 @@ import { Injectable, Directive, Optional, isDevMode, Component, SkipSelf, Host,
|
|
|
7
7
|
import * as i1 from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
|
|
9
9
|
import * as i1$1 from '@progress/kendo-angular-common';
|
|
10
|
-
import { Keys, shouldShowValidationUI, WatermarkOverlayComponent, isDocumentAvailable, DraggableDirective, PreventableEvent as PreventableEvent$1, guid, ResizeSensorComponent, hasObservers, isPresent as isPresent$1, focusableSelector, isChanged } from '@progress/kendo-angular-common';
|
|
10
|
+
import { Keys, shouldShowValidationUI, WatermarkOverlayComponent, isObjectPresent, removeHTMLAttributes, parseAttributes, setHTMLAttributes, isDocumentAvailable, DraggableDirective, PreventableEvent as PreventableEvent$1, guid, ResizeSensorComponent, hasObservers, isPresent as isPresent$1, focusableSelector, isChanged } from '@progress/kendo-angular-common';
|
|
11
11
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
12
12
|
import * as i1$2 from '@angular/animations';
|
|
13
13
|
import { trigger, state, style, transition, animate, AUTO_STYLE } from '@angular/animations';
|
|
@@ -28,8 +28,8 @@ const packageMetadata = {
|
|
|
28
28
|
name: '@progress/kendo-angular-layout',
|
|
29
29
|
productName: 'Kendo UI for Angular',
|
|
30
30
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
31
|
-
publishDate:
|
|
32
|
-
version: '17.0.0-develop.
|
|
31
|
+
publishDate: 1729874115,
|
|
32
|
+
version: '17.0.0-develop.21',
|
|
33
33
|
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'
|
|
34
34
|
};
|
|
35
35
|
|
|
@@ -1592,18 +1592,235 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1592
1592
|
args: ['keydown', ['$event']]
|
|
1593
1593
|
}] } });
|
|
1594
1594
|
|
|
1595
|
+
/**
|
|
1596
|
+
* @hidden
|
|
1597
|
+
*/
|
|
1598
|
+
const shouldTogglePrev = (keyCode, prev, next) => {
|
|
1599
|
+
const leftArrow = keyCode === Keys.ArrowLeft;
|
|
1600
|
+
const upArrow = keyCode === Keys.ArrowUp;
|
|
1601
|
+
const collapsePrev = !prev.collapsed && !next.collapsed && (leftArrow || upArrow);
|
|
1602
|
+
const expandPrev = prev.collapsed && !(leftArrow || upArrow);
|
|
1603
|
+
return collapsePrev || expandPrev;
|
|
1604
|
+
};
|
|
1605
|
+
/**
|
|
1606
|
+
* @hidden
|
|
1607
|
+
*/
|
|
1608
|
+
const shouldToggleNext = (keyCode, prev, next) => {
|
|
1609
|
+
const leftArrow = keyCode === Keys.ArrowLeft;
|
|
1610
|
+
const upArrow = keyCode === Keys.ArrowUp;
|
|
1611
|
+
const collapseNext = !next.collapsed && !prev.collapsed && !(leftArrow || upArrow);
|
|
1612
|
+
const expandNext = next.collapsed && (leftArrow || upArrow);
|
|
1613
|
+
return collapseNext || expandNext;
|
|
1614
|
+
};
|
|
1615
|
+
/**
|
|
1616
|
+
* @hidden
|
|
1617
|
+
*/
|
|
1618
|
+
const shouldToggleOrResize = (keyCode, orientation) => {
|
|
1619
|
+
const isHorizontal = orientation === 'horizontal';
|
|
1620
|
+
const isHorizontalChange = isHorizontal && (keyCode === Keys.ArrowLeft || keyCode === Keys.ArrowRight);
|
|
1621
|
+
const isVerticalChange = !isHorizontal && (keyCode === Keys.ArrowUp || keyCode === Keys.ArrowDown);
|
|
1622
|
+
return isHorizontalChange || isVerticalChange;
|
|
1623
|
+
};
|
|
1624
|
+
|
|
1625
|
+
const MAX_PANE_HEIGHT = 33554400;
|
|
1626
|
+
/**
|
|
1627
|
+
* @hidden
|
|
1628
|
+
*/
|
|
1629
|
+
class SplitterService {
|
|
1630
|
+
constructor(zone) {
|
|
1631
|
+
this.zone = zone;
|
|
1632
|
+
this.layoutChange = new EventEmitter();
|
|
1633
|
+
this.resizeStep = 10;
|
|
1634
|
+
this.containerSize = () => { };
|
|
1635
|
+
}
|
|
1636
|
+
tryToggle(paneIndex) {
|
|
1637
|
+
const pane = this.pane(paneIndex);
|
|
1638
|
+
if (pane.collapsible) {
|
|
1639
|
+
pane.collapsed = !pane.collapsed;
|
|
1640
|
+
pane.collapsedChange.emit(pane.collapsed);
|
|
1641
|
+
this.emit(this.layoutChange, {});
|
|
1642
|
+
if (pane.collapsed) {
|
|
1643
|
+
pane.detectChanges();
|
|
1644
|
+
}
|
|
1645
|
+
}
|
|
1646
|
+
const notCollapsed = this.panes.filter(p => !p.collapsed);
|
|
1647
|
+
const allHaveFixedSize = notCollapsed.every(p => p.fixedSize);
|
|
1648
|
+
notCollapsed.filter(p => p.fixedSize).forEach(pane => {
|
|
1649
|
+
pane.forceExpand = allHaveFixedSize ? true : false;
|
|
1650
|
+
});
|
|
1651
|
+
return pane.collapsible;
|
|
1652
|
+
}
|
|
1653
|
+
togglePane(keyCode, index) {
|
|
1654
|
+
const prev = this.pane(index);
|
|
1655
|
+
const next = this.pane(index + 1);
|
|
1656
|
+
if (shouldTogglePrev(keyCode, prev, next)) {
|
|
1657
|
+
this.tryToggle(index);
|
|
1658
|
+
}
|
|
1659
|
+
else if (shouldToggleNext(keyCode, prev, next)) {
|
|
1660
|
+
this.tryToggle(index + 1);
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
resizePane(keyCode, index) {
|
|
1664
|
+
const state = this.dragState(index);
|
|
1665
|
+
const direction = keyCode === Keys.ArrowLeft || keyCode === (this.rtl ? Keys.ArrowDown : Keys.ArrowUp);
|
|
1666
|
+
let step = direction ? (-this.resizeStep) : this.resizeStep;
|
|
1667
|
+
if (this.rtl) {
|
|
1668
|
+
step = -step;
|
|
1669
|
+
}
|
|
1670
|
+
this.setSize(state, step);
|
|
1671
|
+
}
|
|
1672
|
+
toggleContentOverlay(index, show) {
|
|
1673
|
+
this.pane(index).toggleOverlay(show);
|
|
1674
|
+
this.pane(index + 1).toggleOverlay(show);
|
|
1675
|
+
}
|
|
1676
|
+
dragState(splitbarIndex) {
|
|
1677
|
+
const prev = this.pane(splitbarIndex);
|
|
1678
|
+
const next = this.pane(splitbarIndex + 1);
|
|
1679
|
+
const total = prev.computedSize + next.computedSize;
|
|
1680
|
+
const px = s => this.toPixels(s);
|
|
1681
|
+
return {
|
|
1682
|
+
prev: {
|
|
1683
|
+
index: splitbarIndex,
|
|
1684
|
+
initialSize: prev.computedSize,
|
|
1685
|
+
min: px(prev.min) || total - px(next.max) || 0,
|
|
1686
|
+
max: px(prev.max) || total - px(next.min) || total
|
|
1687
|
+
},
|
|
1688
|
+
next: {
|
|
1689
|
+
index: splitbarIndex + 1,
|
|
1690
|
+
initialSize: next.computedSize,
|
|
1691
|
+
min: px(next.min) || total - px(prev.max) || 0,
|
|
1692
|
+
max: px(next.max) || total - px(prev.min) || total
|
|
1693
|
+
}
|
|
1694
|
+
};
|
|
1695
|
+
}
|
|
1696
|
+
setSize(state, delta) {
|
|
1697
|
+
const clamp = (min, max, v) => Math.min(max, Math.max(min, v));
|
|
1698
|
+
const resize = (paneState, change, modifyMax = false) => {
|
|
1699
|
+
const pane = this.pane(paneState.index);
|
|
1700
|
+
const splitterSize = this.containerSize();
|
|
1701
|
+
const newSize = clamp(paneState.min, modifyMax ? MAX_PANE_HEIGHT : paneState.max, paneState.initialSize + change);
|
|
1702
|
+
let size = "";
|
|
1703
|
+
if (this.isPercent(pane.size)) {
|
|
1704
|
+
size = (100 * newSize / splitterSize) + "%";
|
|
1705
|
+
}
|
|
1706
|
+
else {
|
|
1707
|
+
size = newSize + "px";
|
|
1708
|
+
}
|
|
1709
|
+
pane.size = size;
|
|
1710
|
+
pane.isResized = true;
|
|
1711
|
+
this.emit(pane.sizeChange, size);
|
|
1712
|
+
};
|
|
1713
|
+
const prevPane = this.pane(state.prev.index);
|
|
1714
|
+
const nextPane = this.pane(state.next.index);
|
|
1715
|
+
const canResizeBothPanes = this.panes.length > 2;
|
|
1716
|
+
const modifyPrevMax = prevPane.orientation === 'vertical' && !this.fixedHeight && !prevPane.max;
|
|
1717
|
+
const modifyNextMax = prevPane.orientation === 'vertical' && !this.fixedHeight && !nextPane.max;
|
|
1718
|
+
if (prevPane.fixedSize && nextPane.fixedSize || canResizeBothPanes) {
|
|
1719
|
+
const bothVertical = prevPane.orientation === 'vertical' && nextPane.orientation === 'vertical';
|
|
1720
|
+
if (bothVertical) {
|
|
1721
|
+
if (modifyNextMax) {
|
|
1722
|
+
resize(state.prev, delta, modifyPrevMax);
|
|
1723
|
+
}
|
|
1724
|
+
else if (modifyPrevMax) {
|
|
1725
|
+
resize(state.next, -delta, modifyNextMax);
|
|
1726
|
+
}
|
|
1727
|
+
else {
|
|
1728
|
+
resize(state.prev, delta, modifyNextMax);
|
|
1729
|
+
resize(state.next, -delta, modifyPrevMax);
|
|
1730
|
+
}
|
|
1731
|
+
}
|
|
1732
|
+
else {
|
|
1733
|
+
resize(state.prev, delta);
|
|
1734
|
+
resize(state.next, -delta);
|
|
1735
|
+
}
|
|
1736
|
+
}
|
|
1737
|
+
else if (nextPane.fixedSize || nextPane.collapsible) {
|
|
1738
|
+
resize(state.next, -delta, modifyNextMax);
|
|
1739
|
+
}
|
|
1740
|
+
else {
|
|
1741
|
+
resize(state.prev, delta, modifyPrevMax);
|
|
1742
|
+
}
|
|
1743
|
+
this.emit(this.layoutChange, {});
|
|
1744
|
+
}
|
|
1745
|
+
isDraggable(splitBarIndex) {
|
|
1746
|
+
const prev = this.pane(splitBarIndex);
|
|
1747
|
+
const next = this.pane(splitBarIndex + 1);
|
|
1748
|
+
const betweenResizablePanes = prev.resizable && next.resizable;
|
|
1749
|
+
const nearCollapsedPane = prev.collapsed || next.collapsed;
|
|
1750
|
+
return betweenResizablePanes && !nearCollapsedPane;
|
|
1751
|
+
}
|
|
1752
|
+
isStatic(splitBarIndex) {
|
|
1753
|
+
const prev = this.pane(splitBarIndex);
|
|
1754
|
+
const next = this.pane(splitBarIndex + 1);
|
|
1755
|
+
const betweenResizablePanes = prev.resizable && next.resizable;
|
|
1756
|
+
const nearCollapsiblePane = prev.collapsible || next.collapsible;
|
|
1757
|
+
return !betweenResizablePanes && !nearCollapsiblePane;
|
|
1758
|
+
}
|
|
1759
|
+
pane(index) {
|
|
1760
|
+
if (!this.panes) {
|
|
1761
|
+
throw new Error("Panes not initialized");
|
|
1762
|
+
}
|
|
1763
|
+
if (index < 0 || index >= this.panes.length) {
|
|
1764
|
+
throw new Error("Index out of range");
|
|
1765
|
+
}
|
|
1766
|
+
return this.panes[index];
|
|
1767
|
+
}
|
|
1768
|
+
paneByIndex(pane) {
|
|
1769
|
+
if (!this.panes) {
|
|
1770
|
+
return -1;
|
|
1771
|
+
}
|
|
1772
|
+
return this.panes.findIndex(splitterPane => splitterPane === pane);
|
|
1773
|
+
}
|
|
1774
|
+
getPaneSplitterBar(pane) {
|
|
1775
|
+
if (!this.splitterBars) {
|
|
1776
|
+
return;
|
|
1777
|
+
}
|
|
1778
|
+
const paneIndex = this.paneByIndex(pane);
|
|
1779
|
+
if (paneIndex < 0 || paneIndex >= this.splitterBars.length) {
|
|
1780
|
+
return null;
|
|
1781
|
+
}
|
|
1782
|
+
return this.splitterBars[paneIndex];
|
|
1783
|
+
}
|
|
1784
|
+
configure({ panes, orientation, containerSize, direction }) {
|
|
1785
|
+
this.panes = panes;
|
|
1786
|
+
this.panes.forEach((pane, index) => {
|
|
1787
|
+
pane.order = index * 2;
|
|
1788
|
+
pane.orientation = orientation;
|
|
1789
|
+
});
|
|
1790
|
+
this.containerSize = containerSize;
|
|
1791
|
+
this.rtl = direction === 'rtl';
|
|
1792
|
+
}
|
|
1793
|
+
isPercent(size) {
|
|
1794
|
+
return /%$/.test(size);
|
|
1795
|
+
}
|
|
1796
|
+
toPixels(size) {
|
|
1797
|
+
let result = parseFloat(size);
|
|
1798
|
+
if (this.isPercent(size)) {
|
|
1799
|
+
result = (this.containerSize() * result / 100);
|
|
1800
|
+
}
|
|
1801
|
+
return result;
|
|
1802
|
+
}
|
|
1803
|
+
emit(emitter, args) {
|
|
1804
|
+
if (emitter.observers.length) {
|
|
1805
|
+
this.zone.run(() => emitter.emit(args));
|
|
1806
|
+
}
|
|
1807
|
+
}
|
|
1808
|
+
}
|
|
1809
|
+
SplitterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1810
|
+
SplitterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterService });
|
|
1811
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterService, decorators: [{
|
|
1812
|
+
type: Injectable
|
|
1813
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
1814
|
+
|
|
1595
1815
|
/**
|
|
1596
1816
|
* Represents the pane component of the Splitter.
|
|
1597
1817
|
*/
|
|
1598
1818
|
class SplitterPaneComponent {
|
|
1599
|
-
constructor(element, renderer, cdr) {
|
|
1819
|
+
constructor(element, renderer, cdr, splitterService) {
|
|
1600
1820
|
this.element = element;
|
|
1601
1821
|
this.renderer = renderer;
|
|
1602
1822
|
this.cdr = cdr;
|
|
1603
|
-
|
|
1604
|
-
* The value of the aria-label attribute of the auxiliary separator.
|
|
1605
|
-
*/
|
|
1606
|
-
this.separatorLabel = 'Splitter pane';
|
|
1823
|
+
this.splitterService = splitterService;
|
|
1607
1824
|
/**
|
|
1608
1825
|
* Specifies if the user is allowed to resize the pane and provide space for other panes.
|
|
1609
1826
|
*/
|
|
@@ -1668,29 +1885,42 @@ class SplitterPaneComponent {
|
|
|
1668
1885
|
*/
|
|
1669
1886
|
set size(newSize) {
|
|
1670
1887
|
this._size = newSize;
|
|
1671
|
-
|
|
1672
|
-
this.renderer.setStyle(
|
|
1673
|
-
this.renderer.setStyle(element, 'flex-basis', newSize);
|
|
1888
|
+
this.renderer.setStyle(this.nativeElement, '-ms-flex-preferred-size', newSize);
|
|
1889
|
+
this.renderer.setStyle(this.nativeElement, 'flex-basis', newSize);
|
|
1674
1890
|
if (this.staticPaneClass) {
|
|
1675
|
-
this.renderer.addClass(
|
|
1891
|
+
this.renderer.addClass(this.nativeElement, 'k-pane-static');
|
|
1676
1892
|
}
|
|
1677
1893
|
else {
|
|
1678
|
-
this.renderer.removeClass(
|
|
1894
|
+
this.renderer.removeClass(this.nativeElement, 'k-pane-static');
|
|
1679
1895
|
}
|
|
1680
1896
|
}
|
|
1681
1897
|
get size() {
|
|
1682
1898
|
return this._size;
|
|
1683
1899
|
}
|
|
1900
|
+
/**
|
|
1901
|
+
* Sets the HTML attributes of the splitter bar.
|
|
1902
|
+
* The property accepts string key-value based pairs.
|
|
1903
|
+
* Attributes which are essential for certain functionalities cannot be changed.
|
|
1904
|
+
*/
|
|
1905
|
+
set splitterBarAttributes(attributes) {
|
|
1906
|
+
this._splitterBarAttributes = attributes;
|
|
1907
|
+
const splitterBar = this.splitterService.getPaneSplitterBar(this);
|
|
1908
|
+
if (splitterBar) {
|
|
1909
|
+
splitterBar.htmlAttributes = attributes;
|
|
1910
|
+
}
|
|
1911
|
+
}
|
|
1912
|
+
get splitterBarAttributes() {
|
|
1913
|
+
return this._splitterBarAttributes;
|
|
1914
|
+
}
|
|
1684
1915
|
/**
|
|
1685
1916
|
* @hidden
|
|
1686
1917
|
*/
|
|
1687
1918
|
set containsSplitter(value) {
|
|
1688
|
-
const element = this.element.nativeElement;
|
|
1689
1919
|
if (value) {
|
|
1690
|
-
this.renderer.addClass(
|
|
1920
|
+
this.renderer.addClass(this.nativeElement, 'k-pane-flex');
|
|
1691
1921
|
}
|
|
1692
1922
|
else {
|
|
1693
|
-
this.renderer.removeClass(
|
|
1923
|
+
this.renderer.removeClass(this.nativeElement, 'k-pane-flex');
|
|
1694
1924
|
}
|
|
1695
1925
|
}
|
|
1696
1926
|
get isHidden() {
|
|
@@ -1709,14 +1939,13 @@ class SplitterPaneComponent {
|
|
|
1709
1939
|
return this.size && this.size.length > 0;
|
|
1710
1940
|
}
|
|
1711
1941
|
ngAfterViewChecked() {
|
|
1712
|
-
const element = this.element.nativeElement;
|
|
1713
1942
|
if (this.isHidden) {
|
|
1714
|
-
this.renderer.addClass(
|
|
1715
|
-
this.renderer.addClass(
|
|
1943
|
+
this.renderer.addClass(this.nativeElement, 'k-hidden');
|
|
1944
|
+
this.renderer.addClass(this.nativeElement, 'hidden');
|
|
1716
1945
|
}
|
|
1717
1946
|
else {
|
|
1718
|
-
this.renderer.removeClass(
|
|
1719
|
-
this.renderer.removeClass(
|
|
1947
|
+
this.renderer.removeClass(this.nativeElement, 'k-hidden');
|
|
1948
|
+
this.renderer.removeClass(this.nativeElement, 'hidden');
|
|
1720
1949
|
}
|
|
1721
1950
|
}
|
|
1722
1951
|
/**
|
|
@@ -1724,12 +1953,18 @@ class SplitterPaneComponent {
|
|
|
1724
1953
|
*/
|
|
1725
1954
|
get computedSize() {
|
|
1726
1955
|
if (this.orientation === 'vertical') {
|
|
1727
|
-
return this.
|
|
1956
|
+
return this.nativeElement.offsetHeight;
|
|
1728
1957
|
}
|
|
1729
1958
|
else {
|
|
1730
|
-
return this.
|
|
1959
|
+
return this.nativeElement.offsetWidth;
|
|
1731
1960
|
}
|
|
1732
1961
|
}
|
|
1962
|
+
/**
|
|
1963
|
+
* @hidden
|
|
1964
|
+
*/
|
|
1965
|
+
get nativeElement() {
|
|
1966
|
+
return this.element.nativeElement;
|
|
1967
|
+
}
|
|
1733
1968
|
/**
|
|
1734
1969
|
* @hidden
|
|
1735
1970
|
*/
|
|
@@ -1744,13 +1979,12 @@ class SplitterPaneComponent {
|
|
|
1744
1979
|
this.cdr.detectChanges();
|
|
1745
1980
|
}
|
|
1746
1981
|
setOrderStyles() {
|
|
1747
|
-
|
|
1748
|
-
this.renderer.setStyle(
|
|
1749
|
-
this.renderer.setStyle(element, 'order', this.order);
|
|
1982
|
+
this.renderer.setStyle(this.nativeElement, '-ms-flex-order', this.order);
|
|
1983
|
+
this.renderer.setStyle(this.nativeElement, 'order', this.order);
|
|
1750
1984
|
}
|
|
1751
1985
|
}
|
|
1752
|
-
SplitterPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterPaneComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1753
|
-
SplitterPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SplitterPaneComponent, isStandalone: true, selector: "kendo-splitter-pane", inputs: { order: "order", size: "size",
|
|
1986
|
+
SplitterPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterPaneComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: SplitterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1987
|
+
SplitterPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SplitterPaneComponent, isStandalone: true, selector: "kendo-splitter-pane", inputs: { order: "order", size: "size", splitterBarAttributes: "splitterBarAttributes", splitterBarClass: "splitterBarClass", min: "min", max: "max", resizable: "resizable", collapsible: "collapsible", scrollable: "scrollable", collapsed: "collapsed", orientation: "orientation", containsSplitter: "containsSplitter", overlayContent: "overlayContent" }, outputs: { sizeChange: "sizeChange", collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.ariaRole", "class.k-pane": "this.hostClass", "class.k-pane-static": "this.staticPaneClass", "class.k-scrollable": "this.scrollablePaneClass" } }, exportAs: ["kendoSplitterPane"], ngImport: i0, template: `
|
|
1754
1988
|
<ng-container *ngIf="!collapsed"><ng-content></ng-content></ng-container>
|
|
1755
1989
|
<div *ngIf="overlayContent" class="k-splitter-overlay k-overlay"></div>
|
|
1756
1990
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
@@ -1766,11 +2000,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1766
2000
|
standalone: true,
|
|
1767
2001
|
imports: [NgIf]
|
|
1768
2002
|
}]
|
|
1769
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { order: [{
|
|
2003
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: SplitterService }]; }, propDecorators: { order: [{
|
|
1770
2004
|
type: Input
|
|
1771
2005
|
}], size: [{
|
|
1772
2006
|
type: Input
|
|
1773
|
-
}],
|
|
2007
|
+
}], splitterBarAttributes: [{
|
|
2008
|
+
type: Input
|
|
2009
|
+
}], splitterBarClass: [{
|
|
1774
2010
|
type: Input
|
|
1775
2011
|
}], min: [{
|
|
1776
2012
|
type: Input
|
|
@@ -1808,193 +2044,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1808
2044
|
args: ['class.k-scrollable']
|
|
1809
2045
|
}] } });
|
|
1810
2046
|
|
|
1811
|
-
/**
|
|
1812
|
-
* @hidden
|
|
1813
|
-
*/
|
|
1814
|
-
const shouldTogglePrev = (keyCode, prev, next) => {
|
|
1815
|
-
const leftArrow = keyCode === Keys.ArrowLeft;
|
|
1816
|
-
const upArrow = keyCode === Keys.ArrowUp;
|
|
1817
|
-
const collapsePrev = !prev.collapsed && !next.collapsed && (leftArrow || upArrow);
|
|
1818
|
-
const expandPrev = prev.collapsed && !(leftArrow || upArrow);
|
|
1819
|
-
return collapsePrev || expandPrev;
|
|
1820
|
-
};
|
|
1821
|
-
/**
|
|
1822
|
-
* @hidden
|
|
1823
|
-
*/
|
|
1824
|
-
const shouldToggleNext = (keyCode, prev, next) => {
|
|
1825
|
-
const leftArrow = keyCode === Keys.ArrowLeft;
|
|
1826
|
-
const upArrow = keyCode === Keys.ArrowUp;
|
|
1827
|
-
const collapseNext = !next.collapsed && !prev.collapsed && !(leftArrow || upArrow);
|
|
1828
|
-
const expandNext = next.collapsed && (leftArrow || upArrow);
|
|
1829
|
-
return collapseNext || expandNext;
|
|
1830
|
-
};
|
|
1831
|
-
/**
|
|
1832
|
-
* @hidden
|
|
1833
|
-
*/
|
|
1834
|
-
const shouldToggleOrResize = (keyCode, orientation) => {
|
|
1835
|
-
const isHorizontal = orientation === 'horizontal';
|
|
1836
|
-
const isHorizontalChange = isHorizontal && (keyCode === Keys.ArrowLeft || keyCode === Keys.ArrowRight);
|
|
1837
|
-
const isVerticalChange = !isHorizontal && (keyCode === Keys.ArrowUp || keyCode === Keys.ArrowDown);
|
|
1838
|
-
return isHorizontalChange || isVerticalChange;
|
|
1839
|
-
};
|
|
1840
|
-
|
|
1841
|
-
const SIZING_DOC_LINK = 'https://www.telerik.com/kendo-angular-ui/components/layout/splitter/panes/#toc-size';
|
|
1842
|
-
/**
|
|
1843
|
-
* @hidden
|
|
1844
|
-
*/
|
|
1845
|
-
class SplitterService {
|
|
1846
|
-
constructor(zone) {
|
|
1847
|
-
this.zone = zone;
|
|
1848
|
-
this.layoutChange = new EventEmitter();
|
|
1849
|
-
this.resizeStep = 10;
|
|
1850
|
-
this.containerSize = () => { };
|
|
1851
|
-
}
|
|
1852
|
-
tryToggle(paneIndex) {
|
|
1853
|
-
const pane = this.pane(paneIndex);
|
|
1854
|
-
if (pane.collapsible) {
|
|
1855
|
-
pane.collapsed = !pane.collapsed;
|
|
1856
|
-
pane.collapsedChange.emit(pane.collapsed);
|
|
1857
|
-
this.emit(this.layoutChange, {});
|
|
1858
|
-
if (pane.collapsed) {
|
|
1859
|
-
pane.detectChanges();
|
|
1860
|
-
}
|
|
1861
|
-
}
|
|
1862
|
-
const notCollapsed = this.panes.filter(p => !p.collapsed);
|
|
1863
|
-
const allHaveFixedSize = notCollapsed.every(p => p.fixedSize);
|
|
1864
|
-
notCollapsed.filter(p => p.fixedSize).forEach(pane => {
|
|
1865
|
-
pane.forceExpand = allHaveFixedSize ? true : false;
|
|
1866
|
-
});
|
|
1867
|
-
return pane.collapsible;
|
|
1868
|
-
}
|
|
1869
|
-
togglePane(keyCode, index) {
|
|
1870
|
-
const prev = this.pane(index);
|
|
1871
|
-
const next = this.pane(index + 1);
|
|
1872
|
-
if (shouldTogglePrev(keyCode, prev, next)) {
|
|
1873
|
-
this.tryToggle(index);
|
|
1874
|
-
}
|
|
1875
|
-
else if (shouldToggleNext(keyCode, prev, next)) {
|
|
1876
|
-
this.tryToggle(index + 1);
|
|
1877
|
-
}
|
|
1878
|
-
}
|
|
1879
|
-
resizePane(keyCode, index) {
|
|
1880
|
-
const state = this.dragState(index);
|
|
1881
|
-
const direction = keyCode === Keys.ArrowLeft || keyCode === (this.rtl ? Keys.ArrowDown : Keys.ArrowUp);
|
|
1882
|
-
let step = direction ? (-this.resizeStep) : this.resizeStep;
|
|
1883
|
-
if (this.rtl) {
|
|
1884
|
-
step = -step;
|
|
1885
|
-
}
|
|
1886
|
-
this.setSize(state, step);
|
|
1887
|
-
}
|
|
1888
|
-
toggleContentOverlay(index, show) {
|
|
1889
|
-
this.pane(index).toggleOverlay(show);
|
|
1890
|
-
this.pane(index + 1).toggleOverlay(show);
|
|
1891
|
-
}
|
|
1892
|
-
dragState(splitbarIndex) {
|
|
1893
|
-
const prev = this.pane(splitbarIndex);
|
|
1894
|
-
const next = this.pane(splitbarIndex + 1);
|
|
1895
|
-
const total = prev.computedSize + next.computedSize;
|
|
1896
|
-
const px = s => this.toPixels(s);
|
|
1897
|
-
return {
|
|
1898
|
-
prev: {
|
|
1899
|
-
index: splitbarIndex,
|
|
1900
|
-
initialSize: prev.computedSize,
|
|
1901
|
-
min: px(prev.min) || total - px(next.max) || 0,
|
|
1902
|
-
max: px(prev.max) || total - px(next.min) || total
|
|
1903
|
-
},
|
|
1904
|
-
next: {
|
|
1905
|
-
index: splitbarIndex + 1,
|
|
1906
|
-
initialSize: next.computedSize,
|
|
1907
|
-
min: px(next.min) || total - px(prev.max) || 0,
|
|
1908
|
-
max: px(next.max) || total - px(prev.min) || total
|
|
1909
|
-
}
|
|
1910
|
-
};
|
|
1911
|
-
}
|
|
1912
|
-
setSize(state, delta) {
|
|
1913
|
-
const clamp = (min, max, v) => Math.min(max, Math.max(min, v));
|
|
1914
|
-
const resize = (paneState, change) => {
|
|
1915
|
-
const pane = this.pane(paneState.index);
|
|
1916
|
-
const splitterSize = this.containerSize();
|
|
1917
|
-
const newSize = clamp(paneState.min, paneState.max, paneState.initialSize + change);
|
|
1918
|
-
let size = "";
|
|
1919
|
-
if (this.isPercent(pane.size)) {
|
|
1920
|
-
size = (100 * newSize / splitterSize) + "%";
|
|
1921
|
-
}
|
|
1922
|
-
else {
|
|
1923
|
-
size = newSize + "px";
|
|
1924
|
-
}
|
|
1925
|
-
pane.size = size;
|
|
1926
|
-
pane.isResized = true;
|
|
1927
|
-
this.emit(pane.sizeChange, size);
|
|
1928
|
-
};
|
|
1929
|
-
// resizing both panes
|
|
1930
|
-
resize(state.prev, delta);
|
|
1931
|
-
resize(state.next, -delta);
|
|
1932
|
-
this.emit(this.layoutChange, {});
|
|
1933
|
-
}
|
|
1934
|
-
isDraggable(splitBarIndex) {
|
|
1935
|
-
const prev = this.pane(splitBarIndex);
|
|
1936
|
-
const next = this.pane(splitBarIndex + 1);
|
|
1937
|
-
const betweenResizablePanes = prev.resizable && next.resizable;
|
|
1938
|
-
const nearCollapsedPane = prev.collapsed || next.collapsed;
|
|
1939
|
-
return betweenResizablePanes && !nearCollapsedPane;
|
|
1940
|
-
}
|
|
1941
|
-
isStatic(splitBarIndex) {
|
|
1942
|
-
const prev = this.pane(splitBarIndex);
|
|
1943
|
-
const next = this.pane(splitBarIndex + 1);
|
|
1944
|
-
const betweenResizablePanes = prev.resizable && next.resizable;
|
|
1945
|
-
const nearCollapsiblePane = prev.collapsible || next.collapsible;
|
|
1946
|
-
return !betweenResizablePanes && !nearCollapsiblePane;
|
|
1947
|
-
}
|
|
1948
|
-
pane(index) {
|
|
1949
|
-
if (!this.panes) {
|
|
1950
|
-
throw new Error("Panes not initialized");
|
|
1951
|
-
}
|
|
1952
|
-
if (index < 0 || index >= this.panes.length) {
|
|
1953
|
-
throw new Error("Index out of range");
|
|
1954
|
-
}
|
|
1955
|
-
return this.panes[index];
|
|
1956
|
-
}
|
|
1957
|
-
configure({ panes, orientation, containerSize, direction }) {
|
|
1958
|
-
this.panes = panes;
|
|
1959
|
-
this.panes.forEach((pane, index) => {
|
|
1960
|
-
pane.order = index * 2;
|
|
1961
|
-
pane.orientation = orientation;
|
|
1962
|
-
});
|
|
1963
|
-
if (isDevMode()) {
|
|
1964
|
-
const allPanesWithSize = panes.length && !panes.some(pane => !pane.fixedSize);
|
|
1965
|
-
const hasResizedPane = panes.length && panes.some(pane => pane.isResized);
|
|
1966
|
-
if (allPanesWithSize && !hasResizedPane) {
|
|
1967
|
-
throw new Error(`
|
|
1968
|
-
The Splitter should have at least one pane without a set size.
|
|
1969
|
-
See ${SIZING_DOC_LINK} for more information.
|
|
1970
|
-
`);
|
|
1971
|
-
}
|
|
1972
|
-
}
|
|
1973
|
-
this.containerSize = containerSize;
|
|
1974
|
-
this.rtl = direction === 'rtl';
|
|
1975
|
-
}
|
|
1976
|
-
isPercent(size) {
|
|
1977
|
-
return /%$/.test(size);
|
|
1978
|
-
}
|
|
1979
|
-
toPixels(size) {
|
|
1980
|
-
let result = parseFloat(size);
|
|
1981
|
-
if (this.isPercent(size)) {
|
|
1982
|
-
result = (this.containerSize() * result / 100);
|
|
1983
|
-
}
|
|
1984
|
-
return result;
|
|
1985
|
-
}
|
|
1986
|
-
emit(emitter, args) {
|
|
1987
|
-
if (emitter.observers.length) {
|
|
1988
|
-
this.zone.run(() => emitter.emit(args));
|
|
1989
|
-
}
|
|
1990
|
-
}
|
|
1991
|
-
}
|
|
1992
|
-
SplitterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1993
|
-
SplitterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterService });
|
|
1994
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterService, decorators: [{
|
|
1995
|
-
type: Injectable
|
|
1996
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
1997
|
-
|
|
1998
2047
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
1999
2048
|
const stopPropagation = ({ originalEvent: event }) => {
|
|
2000
2049
|
event.stopPropagation();
|
|
@@ -2021,10 +2070,12 @@ class SplitterBarComponent {
|
|
|
2021
2070
|
this.renderer = renderer;
|
|
2022
2071
|
this.cdr = cdr;
|
|
2023
2072
|
this.ariaRole = 'separator';
|
|
2073
|
+
this.ariaLabel = 'Splitter pane';
|
|
2024
2074
|
this.focused = false;
|
|
2025
2075
|
this.orientation = 'horizontal';
|
|
2026
2076
|
this.index = 0;
|
|
2027
2077
|
this.subscriptions = new Subscription();
|
|
2078
|
+
this.parsedAttributes = {};
|
|
2028
2079
|
}
|
|
2029
2080
|
get hostOrientation() {
|
|
2030
2081
|
return this.orientation === 'horizontal' ? 'vertical' : 'horizontal';
|
|
@@ -2051,6 +2102,28 @@ class SplitterBarComponent {
|
|
|
2051
2102
|
get order() {
|
|
2052
2103
|
return 2 * this.index + 1;
|
|
2053
2104
|
}
|
|
2105
|
+
set htmlAttributes(attributes) {
|
|
2106
|
+
if (isObjectPresent(this.parsedAttributes)) {
|
|
2107
|
+
removeHTMLAttributes(this.parsedAttributes, this.renderer, this.element.nativeElement);
|
|
2108
|
+
}
|
|
2109
|
+
this._htmlAttributes = attributes;
|
|
2110
|
+
this.parsedAttributes = this.htmlAttributes ?
|
|
2111
|
+
parseAttributes(this.htmlAttributes, this.defaultAttributes) :
|
|
2112
|
+
this.htmlAttributes;
|
|
2113
|
+
this.setHtmlAttributes();
|
|
2114
|
+
}
|
|
2115
|
+
get htmlAttributes() {
|
|
2116
|
+
return this._htmlAttributes;
|
|
2117
|
+
}
|
|
2118
|
+
get defaultAttributes() {
|
|
2119
|
+
return {
|
|
2120
|
+
'aria-orientation': this.hostOrientation,
|
|
2121
|
+
role: this.ariaRole
|
|
2122
|
+
};
|
|
2123
|
+
}
|
|
2124
|
+
get mutableAttributes() {
|
|
2125
|
+
return { 'tabindex': this.tabIndex };
|
|
2126
|
+
}
|
|
2054
2127
|
ngOnInit() {
|
|
2055
2128
|
let state;
|
|
2056
2129
|
const listener = this.draggable.kendoPress.pipe(tap(stopPropagation), filter(() => this.splitterService.isDraggable(this.index)), tap(() => state = this.splitterService.dragState(this.index)), tap(() => this.splitterService.toggleContentOverlay(this.index, true)), switchMap(preventOnDblClick(this.draggable.kendoRelease)), switchMap(createMoveStream(this.draggable))).subscribe(({ pageX, pageY, originalX, originalY }) => {
|
|
@@ -2197,9 +2270,13 @@ class SplitterBarComponent {
|
|
|
2197
2270
|
this.splitterService.tryToggle(next);
|
|
2198
2271
|
}
|
|
2199
2272
|
}
|
|
2273
|
+
setHtmlAttributes() {
|
|
2274
|
+
const attributesToRender = { ...this.mutableAttributes, ...this.parsedAttributes };
|
|
2275
|
+
setHTMLAttributes(attributesToRender, this.renderer, this.element.nativeElement);
|
|
2276
|
+
}
|
|
2200
2277
|
}
|
|
2201
2278
|
SplitterBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterBarComponent, deps: [{ token: i1$1.DraggableDirective, host: true }, { token: i1.LocalizationService }, { token: SplitterService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2202
|
-
SplitterBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SplitterBarComponent, isStandalone: true, selector: "kendo-splitter-bar", inputs: { orientation: "orientation", index: "index" }, host: { properties: { "attr.role": "this.ariaRole", "class.k-focus": "this.focused", "attr.aria-orientation": "this.hostOrientation", "attr.tabindex": "this.tabIndex", "class": "this.hostClasses", "style.-ms-flex-order": "this.order", "style.order": "this.order" } }, ngImport: i0, template: `
|
|
2279
|
+
SplitterBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SplitterBarComponent, isStandalone: true, selector: "kendo-splitter-bar", inputs: { orientation: "orientation", index: "index", htmlAttributes: "htmlAttributes" }, host: { properties: { "attr.role": "this.ariaRole", "attr.aria-label": "this.ariaLabel", "class.k-focus": "this.focused", "attr.aria-orientation": "this.hostOrientation", "attr.tabindex": "this.tabIndex", "class": "this.hostClasses", "style.-ms-flex-order": "this.order", "style.order": "this.order" } }, ngImport: i0, template: `
|
|
2203
2280
|
<div *ngIf="shouldShowIcon('prev')" class="k-collapse-prev" (click)="togglePrevious()">
|
|
2204
2281
|
<kendo-icon-wrapper
|
|
2205
2282
|
size="xsmall"
|
|
@@ -2245,6 +2322,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2245
2322
|
}] }, { type: i1.LocalizationService }, { type: SplitterService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { ariaRole: [{
|
|
2246
2323
|
type: HostBinding,
|
|
2247
2324
|
args: ['attr.role']
|
|
2325
|
+
}], ariaLabel: [{
|
|
2326
|
+
type: HostBinding,
|
|
2327
|
+
args: ['attr.aria-label']
|
|
2248
2328
|
}], focused: [{
|
|
2249
2329
|
type: HostBinding,
|
|
2250
2330
|
args: ['class.k-focus']
|
|
@@ -2267,8 +2347,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2267
2347
|
type: Input
|
|
2268
2348
|
}], index: [{
|
|
2269
2349
|
type: Input
|
|
2350
|
+
}], htmlAttributes: [{
|
|
2351
|
+
type: Input
|
|
2270
2352
|
}] } });
|
|
2271
2353
|
|
|
2354
|
+
const SIZING_DOC_LINK = 'https://www.telerik.com/kendo-angular-ui/components/layout/splitter/panes/#toc-size';
|
|
2272
2355
|
/**
|
|
2273
2356
|
* Represents the [Kendo UI Splitter component for Angular]({% slug overview_splitter %}).
|
|
2274
2357
|
*
|
|
@@ -2305,11 +2388,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2305
2388
|
* ```
|
|
2306
2389
|
*/
|
|
2307
2390
|
class SplitterComponent {
|
|
2308
|
-
constructor(element, splitterService, localization, renderer, enclosingPane) {
|
|
2391
|
+
constructor(element, splitterService, localization, renderer, ngZone, enclosingPane) {
|
|
2309
2392
|
this.element = element;
|
|
2310
2393
|
this.splitterService = splitterService;
|
|
2311
2394
|
this.localization = localization;
|
|
2312
2395
|
this.renderer = renderer;
|
|
2396
|
+
this.ngZone = ngZone;
|
|
2313
2397
|
this.enclosingPane = enclosingPane;
|
|
2314
2398
|
/**
|
|
2315
2399
|
* Specifies the orientation of the panes within the Splitter.
|
|
@@ -2349,6 +2433,7 @@ class SplitterComponent {
|
|
|
2349
2433
|
return this.direction;
|
|
2350
2434
|
}
|
|
2351
2435
|
set splitbars(splitbars) {
|
|
2436
|
+
this.splitterService.splitterBars = splitbars ? splitbars.toArray() : [];
|
|
2352
2437
|
if (!isPresent(splitbars) || !isPresent(this.panes)) {
|
|
2353
2438
|
return;
|
|
2354
2439
|
}
|
|
@@ -2361,15 +2446,29 @@ class SplitterComponent {
|
|
|
2361
2446
|
.sort((a, b) => a.order - b.order);
|
|
2362
2447
|
const elements = components.map(component => component.element.nativeElement);
|
|
2363
2448
|
panesArray.forEach((pane, i) => {
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2449
|
+
const splitbar = splitBarsArray[i];
|
|
2450
|
+
if (splitbar && pane.splitterBarAttributes) {
|
|
2451
|
+
splitbar.htmlAttributes = pane.splitterBarAttributes;
|
|
2367
2452
|
}
|
|
2368
2453
|
});
|
|
2369
2454
|
elements.forEach(element => this.renderer.appendChild(this.element.nativeElement, element));
|
|
2370
2455
|
}
|
|
2371
2456
|
ngAfterContentInit() {
|
|
2372
2457
|
this.reconfigure();
|
|
2458
|
+
this.setFixedHeight();
|
|
2459
|
+
const allHaveFixedSize = this.panes.length && Array.from(this.panes).every(p => p.fixedSize);
|
|
2460
|
+
if (allHaveFixedSize && isDevMode()) {
|
|
2461
|
+
throw new Error(`
|
|
2462
|
+
The Splitter should have at least one pane without a set size.
|
|
2463
|
+
See ${SIZING_DOC_LINK} for more information.
|
|
2464
|
+
`);
|
|
2465
|
+
}
|
|
2466
|
+
this._styleObserver = new MutationObserver(() => {
|
|
2467
|
+
this.ngZone.runOutsideAngular(() => {
|
|
2468
|
+
this.setFixedHeight();
|
|
2469
|
+
});
|
|
2470
|
+
});
|
|
2471
|
+
this._styleObserver.observe(this.element.nativeElement, { attributeFilter: ['style'] });
|
|
2373
2472
|
}
|
|
2374
2473
|
ngOnChanges(changes) {
|
|
2375
2474
|
if (changes.orientation && !changes.orientation.isFirstChange()) {
|
|
@@ -2380,6 +2479,10 @@ class SplitterComponent {
|
|
|
2380
2479
|
if (this.enclosingPane) {
|
|
2381
2480
|
this.enclosingPane.containsSplitter = false;
|
|
2382
2481
|
}
|
|
2482
|
+
if (this._styleObserver) {
|
|
2483
|
+
this._styleObserver.disconnect();
|
|
2484
|
+
this._styleObserver = null;
|
|
2485
|
+
}
|
|
2383
2486
|
this.unsubscribeChanges();
|
|
2384
2487
|
}
|
|
2385
2488
|
reconfigure() {
|
|
@@ -2411,9 +2514,12 @@ class SplitterComponent {
|
|
|
2411
2514
|
get direction() {
|
|
2412
2515
|
return this.localization.rtl ? 'rtl' : 'ltr';
|
|
2413
2516
|
}
|
|
2517
|
+
setFixedHeight() {
|
|
2518
|
+
this.splitterService.fixedHeight = getComputedStyle(this.element.nativeElement).getPropertyValue('height') !== 'auto';
|
|
2519
|
+
}
|
|
2414
2520
|
}
|
|
2415
|
-
SplitterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterComponent, deps: [{ token: i0.ElementRef }, { token: SplitterService }, { token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: SplitterPaneComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
2416
|
-
SplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SplitterComponent, isStandalone: true, selector: "kendo-splitter", inputs: { orientation: "orientation", splitbarWidth: "splitbarWidth", resizeStep: "resizeStep" }, outputs: { layoutChange: "layoutChange" }, host: { properties: { "class.k-splitter": "this.hostClasses", "class.k-splitter-flex": "this.hostClasses", "class.k-splitter-horizontal": "this.horizontalHostClasses", "class.k-splitter-vertical": "this.verticalHostClasses", "attr.dir": "this.dir" } }, providers: [
|
|
2521
|
+
SplitterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterComponent, deps: [{ token: i0.ElementRef }, { token: SplitterService }, { token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: SplitterPaneComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
2522
|
+
SplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SplitterComponent, isStandalone: true, selector: "kendo-splitter", inputs: { orientation: "orientation", splitbarWidth: "splitbarWidth", resizeStep: "resizeStep", splitterBarClass: "splitterBarClass" }, outputs: { layoutChange: "layoutChange" }, host: { properties: { "class.k-splitter": "this.hostClasses", "class.k-splitter-flex": "this.hostClasses", "class.k-splitter-horizontal": "this.horizontalHostClasses", "class.k-splitter-vertical": "this.verticalHostClasses", "attr.dir": "this.dir" } }, providers: [
|
|
2417
2523
|
SplitterService,
|
|
2418
2524
|
LocalizationService,
|
|
2419
2525
|
{
|
|
@@ -2432,13 +2538,14 @@ SplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
2432
2538
|
*ngIf="!last"
|
|
2433
2539
|
[index]="index"
|
|
2434
2540
|
[orientation]="orientation"
|
|
2541
|
+
[ngClass]="pane.splitterBarClass || splitterBarClass"
|
|
2435
2542
|
[ngStyle]="{
|
|
2436
2543
|
width: orientation === 'horizontal' ? splitbarWidth + 'px' : undefined,
|
|
2437
2544
|
height: orientation === 'vertical' ? splitbarWidth + 'px' : undefined
|
|
2438
2545
|
}">
|
|
2439
2546
|
</kendo-splitter-bar>
|
|
2440
2547
|
</ng-container>
|
|
2441
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SplitterBarComponent, selector: "kendo-splitter-bar", inputs: ["orientation", "index"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
2548
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SplitterBarComponent, selector: "kendo-splitter-bar", inputs: ["orientation", "index", "htmlAttributes"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
2442
2549
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitterComponent, decorators: [{
|
|
2443
2550
|
type: Component,
|
|
2444
2551
|
args: [{
|
|
@@ -2464,6 +2571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2464
2571
|
*ngIf="!last"
|
|
2465
2572
|
[index]="index"
|
|
2466
2573
|
[orientation]="orientation"
|
|
2574
|
+
[ngClass]="pane.splitterBarClass || splitterBarClass"
|
|
2467
2575
|
[ngStyle]="{
|
|
2468
2576
|
width: orientation === 'horizontal' ? splitbarWidth + 'px' : undefined,
|
|
2469
2577
|
height: orientation === 'vertical' ? splitbarWidth + 'px' : undefined
|
|
@@ -2472,9 +2580,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2472
2580
|
</ng-container>
|
|
2473
2581
|
`,
|
|
2474
2582
|
standalone: true,
|
|
2475
|
-
imports: [NgFor, NgIf, SplitterBarComponent, DraggableDirective, NgStyle]
|
|
2583
|
+
imports: [NgFor, NgIf, SplitterBarComponent, DraggableDirective, NgStyle, NgClass]
|
|
2476
2584
|
}]
|
|
2477
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: SplitterService }, { type: i1.LocalizationService }, { type: i0.Renderer2 }, { type: SplitterPaneComponent, decorators: [{
|
|
2585
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: SplitterService }, { type: i1.LocalizationService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: SplitterPaneComponent, decorators: [{
|
|
2478
2586
|
type: Optional
|
|
2479
2587
|
}, {
|
|
2480
2588
|
type: Host
|
|
@@ -2487,6 +2595,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2487
2595
|
type: Input
|
|
2488
2596
|
}], resizeStep: [{
|
|
2489
2597
|
type: Input
|
|
2598
|
+
}], splitterBarClass: [{
|
|
2599
|
+
type: Input
|
|
2490
2600
|
}], layoutChange: [{
|
|
2491
2601
|
type: Output
|
|
2492
2602
|
}], hostClasses: [{
|
|
@@ -3441,11 +3551,13 @@ class TabComponent {
|
|
|
3441
3551
|
}
|
|
3442
3552
|
}
|
|
3443
3553
|
TabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3444
|
-
TabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TabComponent, isStandalone: true, selector: "[kendoTabStripTab]", inputs: { tab: "tab", index: "index", tabStripClosable: "tabStripClosable", tabStripCloseIcon: "tabStripCloseIcon", customTabstripCloseIcon: "customTabstripCloseIcon", closeSVGIcon: "closeSVGIcon" }, outputs: { tabClose: "tabClose" }, host: { properties: { "class.k-item": "this.hostClasses", "
|
|
3554
|
+
TabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TabComponent, isStandalone: true, selector: "[kendoTabStripTab]", inputs: { tab: "tab", index: "index", tabStripClosable: "tabStripClosable", tabStripCloseIcon: "tabStripCloseIcon", customTabstripCloseIcon: "customTabstripCloseIcon", closeSVGIcon: "closeSVGIcon" }, outputs: { tabClose: "tabClose" }, host: { properties: { "class.k-item": "this.hostClasses", "attr.aria-selected": "this.activeClass", "class.k-active": "this.activeClass", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "class.k-focus": "this.focusedClass", "attr.tabindex": "this.tabIndex" } }, ngImport: i0, template: `
|
|
3445
3555
|
<ng-container *ngIf="!tab.tabTemplate; else tabTemplate">
|
|
3446
|
-
<span class="k-link" *ngIf="!tab.tabTitle">
|
|
3556
|
+
<span class="k-link" *ngIf="!tab.tabTitle">
|
|
3557
|
+
<span class="k-link-text">{{ tab.title }}</span>
|
|
3558
|
+
</span>
|
|
3447
3559
|
<span class="k-link" *ngIf="tab.tabTitle">
|
|
3448
|
-
<ng-template [ngTemplateOutlet]="tab.tabTitle
|
|
3560
|
+
<ng-template [ngTemplateOutlet]="tab.tabTitle.templateRef">
|
|
3449
3561
|
</ng-template>
|
|
3450
3562
|
</span>
|
|
3451
3563
|
</ng-container>
|
|
@@ -3467,7 +3579,7 @@ TabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
3467
3579
|
(click)="closeTab(index)"
|
|
3468
3580
|
class="k-remove-tab k-icon-button"
|
|
3469
3581
|
></button>
|
|
3470
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]
|
|
3582
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
3471
3583
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabComponent, decorators: [{
|
|
3472
3584
|
type: Component,
|
|
3473
3585
|
args: [{
|
|
@@ -3475,9 +3587,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3475
3587
|
selector: '[kendoTabStripTab]',
|
|
3476
3588
|
template: `
|
|
3477
3589
|
<ng-container *ngIf="!tab.tabTemplate; else tabTemplate">
|
|
3478
|
-
<span class="k-link" *ngIf="!tab.tabTitle">
|
|
3590
|
+
<span class="k-link" *ngIf="!tab.tabTitle">
|
|
3591
|
+
<span class="k-link-text">{{ tab.title }}</span>
|
|
3592
|
+
</span>
|
|
3479
3593
|
<span class="k-link" *ngIf="tab.tabTitle">
|
|
3480
|
-
<ng-template [ngTemplateOutlet]="tab.tabTitle
|
|
3594
|
+
<ng-template [ngTemplateOutlet]="tab.tabTitle.templateRef">
|
|
3481
3595
|
</ng-template>
|
|
3482
3596
|
</span>
|
|
3483
3597
|
</ng-container>
|
|
@@ -3520,9 +3634,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3520
3634
|
}], hostClasses: [{
|
|
3521
3635
|
type: HostBinding,
|
|
3522
3636
|
args: ['class.k-item']
|
|
3523
|
-
}, {
|
|
3524
|
-
type: HostBinding,
|
|
3525
|
-
args: ['class.k-tabstrip-item']
|
|
3526
3637
|
}], activeClass: [{
|
|
3527
3638
|
type: HostBinding,
|
|
3528
3639
|
args: ['attr.aria-selected']
|
|
@@ -3611,6 +3722,12 @@ class TabStripComponent {
|
|
|
3611
3722
|
* @default true
|
|
3612
3723
|
*/
|
|
3613
3724
|
this.animate = true;
|
|
3725
|
+
/**
|
|
3726
|
+
* Sets the alignment of the tabs.
|
|
3727
|
+
*
|
|
3728
|
+
* @default: 'start'
|
|
3729
|
+
*/
|
|
3730
|
+
this.tabAlignment = 'start';
|
|
3614
3731
|
/**
|
|
3615
3732
|
* Sets the position of the tabs. Defaults to `top`.
|
|
3616
3733
|
*
|
|
@@ -3950,7 +4067,7 @@ class TabStripComponent {
|
|
|
3950
4067
|
}
|
|
3951
4068
|
}
|
|
3952
4069
|
TabStripComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabStripComponent, deps: [{ token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: TabStripService }, { token: ScrollService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3953
|
-
TabStripComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TabStripComponent, isStandalone: true, selector: "kendo-tabstrip", inputs: { height: "height", animate: "animate", tabAlignment: "tabAlignment", tabPosition: "tabPosition", keepTabContent: "keepTabContent", closable: "closable", scrollable: "scrollable", closeIcon: "closeIcon", closeIconClass: "closeIconClass", closeSVGIcon: "closeSVGIcon", showContentArea: "showContentArea" }, outputs: { tabSelect: "tabSelect", tabClose: "tabClose", tabScroll: "tabScroll" }, host: { properties: { "class.k-tabstrip": "this.hostClasses", "class.k-
|
|
4070
|
+
TabStripComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TabStripComponent, isStandalone: true, selector: "kendo-tabstrip", inputs: { height: "height", animate: "animate", tabAlignment: "tabAlignment", tabPosition: "tabPosition", keepTabContent: "keepTabContent", closable: "closable", scrollable: "scrollable", closeIcon: "closeIcon", closeIconClass: "closeIconClass", closeSVGIcon: "closeSVGIcon", showContentArea: "showContentArea" }, outputs: { tabSelect: "tabSelect", tabClose: "tabClose", tabScroll: "tabScroll" }, host: { properties: { "class.k-tabstrip": "this.hostClasses", "class.k-header": "this.hostClasses", "class.k-tabstrip-top": "this.tabsAtTop", "class.k-tabstrip-right": "this.tabsAtRight", "class.k-tabstrip-bottom": "this.tabsAtBottom", "class.k-tabstrip-left": "this.tabsAtLeft", "attr.dir": "this.dir", "class.k-tabstrip-scrollable": "this.tabStripScrollable" } }, providers: [
|
|
3954
4071
|
TabStripService,
|
|
3955
4072
|
ScrollService,
|
|
3956
4073
|
LocalizationService,
|
|
@@ -3995,7 +4112,7 @@ TabStripComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3995
4112
|
[prev]="true"
|
|
3996
4113
|
[title]="localization.get('previousTabButton')"
|
|
3997
4114
|
(tabScroll)="tabScroll.emit($event)"
|
|
3998
|
-
class="k-icon-button k-button k-button-md k-
|
|
4115
|
+
class="k-icon-button k-button k-button-md k-button-flat k-button-flat-base"
|
|
3999
4116
|
(onClick)="onScrollButtonClick($event)">
|
|
4000
4117
|
</span>
|
|
4001
4118
|
<ul role="tablist" #tablist
|
|
@@ -4013,6 +4130,8 @@ TabStripComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
4013
4130
|
<li
|
|
4014
4131
|
#tabHeaderContainer
|
|
4015
4132
|
kendoTabStripTab
|
|
4133
|
+
[class.k-first]="i === 0"
|
|
4134
|
+
[class.k-last]="i === tabs.length - 1"
|
|
4016
4135
|
[ngClass]="tab.cssClass"
|
|
4017
4136
|
[ngStyle]="tab.cssStyle"
|
|
4018
4137
|
[tab]="tab"
|
|
@@ -4038,7 +4157,7 @@ TabStripComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
4038
4157
|
[prev]="false"
|
|
4039
4158
|
[title]="localization.get('nextTabButton')"
|
|
4040
4159
|
(tabScroll)="tabScroll.emit($event)"
|
|
4041
|
-
class="k-icon-button k-button k-button-md k-
|
|
4160
|
+
class="k-icon-button k-button k-button-md k-button-flat k-button-flat-base"
|
|
4042
4161
|
(onClick)="onScrollButtonClick($event)"></span>
|
|
4043
4162
|
</div>
|
|
4044
4163
|
</ng-template>
|
|
@@ -4131,7 +4250,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4131
4250
|
[prev]="true"
|
|
4132
4251
|
[title]="localization.get('previousTabButton')"
|
|
4133
4252
|
(tabScroll)="tabScroll.emit($event)"
|
|
4134
|
-
class="k-icon-button k-button k-button-md k-
|
|
4253
|
+
class="k-icon-button k-button k-button-md k-button-flat k-button-flat-base"
|
|
4135
4254
|
(onClick)="onScrollButtonClick($event)">
|
|
4136
4255
|
</span>
|
|
4137
4256
|
<ul role="tablist" #tablist
|
|
@@ -4149,6 +4268,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4149
4268
|
<li
|
|
4150
4269
|
#tabHeaderContainer
|
|
4151
4270
|
kendoTabStripTab
|
|
4271
|
+
[class.k-first]="i === 0"
|
|
4272
|
+
[class.k-last]="i === tabs.length - 1"
|
|
4152
4273
|
[ngClass]="tab.cssClass"
|
|
4153
4274
|
[ngStyle]="tab.cssStyle"
|
|
4154
4275
|
[tab]="tab"
|
|
@@ -4174,7 +4295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4174
4295
|
[prev]="false"
|
|
4175
4296
|
[title]="localization.get('nextTabButton')"
|
|
4176
4297
|
(tabScroll)="tabScroll.emit($event)"
|
|
4177
|
-
class="k-icon-button k-button k-button-md k-
|
|
4298
|
+
class="k-icon-button k-button k-button-md k-button-flat k-button-flat-base"
|
|
4178
4299
|
(onClick)="onScrollButtonClick($event)"></span>
|
|
4179
4300
|
</div>
|
|
4180
4301
|
</ng-template>
|
|
@@ -4235,7 +4356,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4235
4356
|
args: ['class.k-tabstrip']
|
|
4236
4357
|
}, {
|
|
4237
4358
|
type: HostBinding,
|
|
4238
|
-
args: ['class.k-
|
|
4359
|
+
args: ['class.k-header']
|
|
4239
4360
|
}], tabsAtTop: [{
|
|
4240
4361
|
type: HostBinding,
|
|
4241
4362
|
args: ['class.k-tabstrip-top']
|
|
@@ -10399,7 +10520,7 @@ TimelineCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
10399
10520
|
</kendo-card-actions>
|
|
10400
10521
|
</div>
|
|
10401
10522
|
</kendo-card>
|
|
10402
|
-
`, isInline: true, dependencies: [{ kind: "component", type: CardComponent, selector: "kendo-card", inputs: ["orientation", "width"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CardHeaderComponent, selector: "kendo-card-header" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CardTitleDirective, selector: "[kendoCardTitle]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]
|
|
10523
|
+
`, isInline: true, dependencies: [{ kind: "component", type: CardComponent, selector: "kendo-card", inputs: ["orientation", "width"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CardHeaderComponent, selector: "kendo-card-header" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CardTitleDirective, selector: "[kendoCardTitle]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: CardSubtitleDirective, selector: "[kendoCardSubtitle]" }, { kind: "component", type: CardBodyComponent, selector: "kendo-card-body" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: CardMediaDirective, selector: "[kendoCardMedia]" }, { kind: "component", type: CardActionsComponent, selector: "kendo-card-actions", inputs: ["orientation", "layout", "actions"], outputs: ["action"] }], animations: [
|
|
10403
10524
|
trigger('toggle', [
|
|
10404
10525
|
state('collapsed', style({
|
|
10405
10526
|
height: '0',
|
|
@@ -11112,7 +11233,7 @@ TimelineHorizontalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
|
|
|
11112
11233
|
</li>
|
|
11113
11234
|
</ul>
|
|
11114
11235
|
</div>
|
|
11115
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]
|
|
11236
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TimelineCardComponent, selector: "kendo-timeline-card", inputs: ["event", "expanded", "collapsible", "reversed", "orientation", "navigable", "tabIndex", "animationDuration", "index", "eventWidth", "eventHeight", "headerTemplate", "bodyTemplate", "actionsTemplate", "calloutStyle"], exportAs: ["kendoTimelineCard"] }, { kind: "pipe", type: DatePipe, name: "kendoDate" }], animations: [
|
|
11116
11237
|
trigger('trackSlide', [
|
|
11117
11238
|
state('left', style({
|
|
11118
11239
|
transform: `translateX({{transformValue}}%)`,
|