@progress/kendo-angular-layout 23.4.0-develop.3 → 23.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/codemods/{utils.js → libs/common/src/codemods/utils.js} +53 -30
- package/codemods/{v18 → libs/layout/codemods/v18}/layout-rendering-changes.js +4 -4
- package/codemods/{v19 → libs/layout/codemods/v19}/tabstrip-mousescrollspeed.js +7 -29
- package/codemods/{v21 → libs/layout/codemods/v21}/layout-rendering-changes.js +4 -4
- package/drawer/drawer.component.d.ts +3 -1
- package/fesm2022/progress-kendo-angular-layout.mjs +47 -33
- package/package-metadata.mjs +2 -2
- package/package.json +11 -12
|
@@ -3,29 +3,6 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
"use strict";
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
-
if (mod && mod.__esModule) return mod;
|
|
24
|
-
var result = {};
|
|
25
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
-
__setModuleDefault(result, mod);
|
|
27
|
-
return result;
|
|
28
|
-
};
|
|
29
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
7
|
exports.tsInterfaceTransformer = exports.tsPropertyValueTransformer = exports.tsPropertyTransformer = exports.tsComponentPropertyRemoval = exports.attributeRemoval = exports.attributeValueUpdate = exports.attributeNameValueUpdate = exports.attributeNameUpdate = exports.eventUpdate = exports.htmlTransformer = exports.blockTextElements = void 0;
|
|
31
8
|
exports.hasKendoInTemplate = hasKendoInTemplate;
|
|
@@ -35,8 +12,12 @@ exports.makePattern = makePattern;
|
|
|
35
12
|
exports.writeInstructionMarker = writeInstructionMarker;
|
|
36
13
|
exports.isApiChangeTarget = isApiChangeTarget;
|
|
37
14
|
exports.isRenderingChangeTarget = isRenderingChangeTarget;
|
|
38
|
-
|
|
39
|
-
const
|
|
15
|
+
exports.executeCodemodTest = executeCodemodTest;
|
|
16
|
+
const tslib_1 = require("tslib");
|
|
17
|
+
/// <reference types="node" />
|
|
18
|
+
const fs = tslib_1.__importStar(require("fs"));
|
|
19
|
+
const os = tslib_1.__importStar(require("os"));
|
|
20
|
+
const path = tslib_1.__importStar(require("path"));
|
|
40
21
|
exports.blockTextElements = {
|
|
41
22
|
script: true,
|
|
42
23
|
noscript: true,
|
|
@@ -320,12 +301,12 @@ const attributeRemoval = (templateContent, tagName, attributeName, propertyToRem
|
|
|
320
301
|
// If no propertyToRemove is specified, remove the entire attribute
|
|
321
302
|
if (!propertyToRemove) {
|
|
322
303
|
// Remove bound attributes [attribute]="value"
|
|
323
|
-
const boundAttributePattern = new RegExp(`(\\s
|
|
304
|
+
const boundAttributePattern = new RegExp(`(<${escapedTag}[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
|
|
324
305
|
// Remove static attributes attribute="value"
|
|
325
|
-
const staticAttributePattern = new RegExp(`(\\s
|
|
326
|
-
// Apply removals
|
|
327
|
-
let result = templateContent.replace(boundAttributePattern, '');
|
|
328
|
-
result = result.replace(staticAttributePattern, '');
|
|
306
|
+
const staticAttributePattern = new RegExp(`(<${escapedTag}[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
|
|
307
|
+
// Apply removals - keep tag prefix and suffix, remove the attribute
|
|
308
|
+
let result = templateContent.replace(boundAttributePattern, '$1$3');
|
|
309
|
+
result = result.replace(staticAttributePattern, '$1$3');
|
|
329
310
|
return result;
|
|
330
311
|
}
|
|
331
312
|
// Remove specific property from object literal attributes
|
|
@@ -1428,3 +1409,45 @@ function isRenderingChangeTarget(filePath) {
|
|
|
1428
1409
|
const ext = path.extname(filePath);
|
|
1429
1410
|
return ext === '.ts' || ext === '.html' || ext === '.css' || ext === '.scss' || ext === '.sass' || ext === '.less';
|
|
1430
1411
|
}
|
|
1412
|
+
/**
|
|
1413
|
+
* Executes a codemod transformation and compares the result with expected output
|
|
1414
|
+
*
|
|
1415
|
+
* @param codemod - The codemod function to execute
|
|
1416
|
+
* @param testDir - Directory containing the test files (__dirname from test file)
|
|
1417
|
+
* @param exampleFileName - Name of the input file (default: 'example.ts')
|
|
1418
|
+
* @param expectedFileName - Name of the expected output file (default: 'expected.ts')
|
|
1419
|
+
* @returns Object containing the transformation result and expected content
|
|
1420
|
+
*/
|
|
1421
|
+
function executeCodemodTest(codemod, testDir, exampleFileName = 'example.ts', expectedFileName = 'expected.ts') {
|
|
1422
|
+
const exampleFile = path.join(testDir, exampleFileName);
|
|
1423
|
+
const expectedFile = path.join(testDir, expectedFileName);
|
|
1424
|
+
const sourceCode = fs.readFileSync(exampleFile, 'utf-8');
|
|
1425
|
+
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'codemod-test-'));
|
|
1426
|
+
const tmpFile = path.join(tmpDir, path.basename(exampleFile));
|
|
1427
|
+
fs.writeFileSync(tmpFile, sourceCode, 'utf-8');
|
|
1428
|
+
try {
|
|
1429
|
+
const fileInfo = {
|
|
1430
|
+
path: tmpFile,
|
|
1431
|
+
source: sourceCode
|
|
1432
|
+
};
|
|
1433
|
+
const jscodeshift = require('jscodeshift').withParser('tsx');
|
|
1434
|
+
const api = {
|
|
1435
|
+
jscodeshift,
|
|
1436
|
+
j: jscodeshift
|
|
1437
|
+
};
|
|
1438
|
+
const result = codemod(fileInfo, api);
|
|
1439
|
+
const expectedContent = fs.readFileSync(expectedFile, 'utf-8').trim();
|
|
1440
|
+
return {
|
|
1441
|
+
result: result?.trim(),
|
|
1442
|
+
expected: expectedContent,
|
|
1443
|
+
sourceCode,
|
|
1444
|
+
transformedSuccessfully: result !== undefined
|
|
1445
|
+
};
|
|
1446
|
+
}
|
|
1447
|
+
finally {
|
|
1448
|
+
try {
|
|
1449
|
+
fs.rmSync(tmpDir, { recursive: true });
|
|
1450
|
+
}
|
|
1451
|
+
catch { }
|
|
1452
|
+
}
|
|
1453
|
+
}
|
|
@@ -6,17 +6,17 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.aiInstructions = void 0;
|
|
8
8
|
exports.default = default_1;
|
|
9
|
-
const
|
|
9
|
+
const codemods_1 = require("@progress/kendo-angular-common/codemods");
|
|
10
10
|
exports.aiInstructions = `Review your stylesheets, test files, and any code that references the k-header class. It has been removed from the TabStrip.
|
|
11
11
|
Before: <div class="k-tabstrip k-header">
|
|
12
12
|
After: <div class="k-tabstrip">
|
|
13
13
|
Remove any CSS rules or selectors that target .k-tabstrip.k-header or rely on k-header being present on the TabStrip.`;
|
|
14
14
|
const classes = ['k-header'];
|
|
15
|
-
const pattern = (0,
|
|
15
|
+
const pattern = (0, codemods_1.makePattern)(classes);
|
|
16
16
|
function default_1(fileInfo) {
|
|
17
|
-
if ((0,
|
|
17
|
+
if ((0, codemods_1.isRenderingChangeTarget)(fileInfo.path)) {
|
|
18
18
|
if (pattern.test(fileInfo.source)) {
|
|
19
|
-
(0,
|
|
19
|
+
(0, codemods_1.writeInstructionMarker)(exports.aiInstructions, __filename, fileInfo.path);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
return fileInfo.source;
|
|
@@ -3,41 +3,19 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
"use strict";
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
-
if (mod && mod.__esModule) return mod;
|
|
24
|
-
var result = {};
|
|
25
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
-
__setModuleDefault(result, mod);
|
|
27
|
-
return result;
|
|
28
|
-
};
|
|
29
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
7
|
exports.aiInstructions = void 0;
|
|
31
8
|
exports.default = default_1;
|
|
32
|
-
const
|
|
33
|
-
const
|
|
9
|
+
const tslib_1 = require("tslib");
|
|
10
|
+
const fs = tslib_1.__importStar(require("fs"));
|
|
11
|
+
const codemods_1 = require("@progress/kendo-angular-common/codemods");
|
|
34
12
|
function default_1(fileInfo, api) {
|
|
35
13
|
const filePath = fileInfo.path;
|
|
36
|
-
if (!(0,
|
|
14
|
+
if (!(0, codemods_1.isApiChangeTarget)(filePath)) {
|
|
37
15
|
return fileInfo.source;
|
|
38
16
|
}
|
|
39
17
|
// Handle HTML files and inline templates
|
|
40
|
-
const htmlResult = (0,
|
|
18
|
+
const htmlResult = (0, codemods_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, codemods_1.attributeRemoval)(templateContent, 'kendo-tabstrip', 'scrollable', 'mouseScrollSpeed'));
|
|
41
19
|
if (filePath.endsWith('.html')) {
|
|
42
20
|
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
43
21
|
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
@@ -48,8 +26,8 @@ function default_1(fileInfo, api) {
|
|
|
48
26
|
// Handle TypeScript property transformations
|
|
49
27
|
const j = api.jscodeshift;
|
|
50
28
|
const rootSource = j(htmlResult || fileInfo.source);
|
|
51
|
-
(0,
|
|
52
|
-
(0,
|
|
29
|
+
(0, codemods_1.tsPropertyRemoval)(fileInfo.source, rootSource, j, '@progress/kendo-angular-layout', 'TabStripScrollableSettings', 'mouseScrollSpeed');
|
|
30
|
+
(0, codemods_1.tsComponentPropertyRemoval)(fileInfo.source, rootSource, j, '@progress/kendo-angular-layout', 'TabStripComponent', 'scrollable', 'mouseScrollSpeed');
|
|
53
31
|
return rootSource.toSource();
|
|
54
32
|
}
|
|
55
33
|
exports.aiInstructions = `The TabStrip's 'mouseScrollSpeed' property has been removed without a replacement.
|
|
@@ -6,17 +6,17 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.aiInstructions = void 0;
|
|
8
8
|
exports.default = default_1;
|
|
9
|
-
const
|
|
9
|
+
const codemods_1 = require("@progress/kendo-angular-common/codemods");
|
|
10
10
|
exports.aiInstructions = `Review your stylesheets, test files, and any code that references the k-item class. It has been removed from the k-tabstrip-item element.
|
|
11
11
|
Before: <li class="k-item k-tabstrip-item">
|
|
12
12
|
After: <li class="k-tabstrip-item">
|
|
13
13
|
Remove any CSS rules or selectors that target TabStrip items using .k-item alone or the combination .k-item.k-tabstrip-item. Use .k-tabstrip-item exclusively.`;
|
|
14
14
|
const classes = ['k-item', 'k-tabstrip-item'];
|
|
15
|
-
const pattern = (0,
|
|
15
|
+
const pattern = (0, codemods_1.makePattern)(classes);
|
|
16
16
|
function default_1(fileInfo) {
|
|
17
|
-
if ((0,
|
|
17
|
+
if ((0, codemods_1.isRenderingChangeTarget)(fileInfo.path)) {
|
|
18
18
|
if (pattern.test(fileInfo.source)) {
|
|
19
|
-
(0,
|
|
19
|
+
(0, codemods_1.writeInstructionMarker)(exports.aiInstructions, __filename, fileInfo.path);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
return fileInfo.source;
|
|
@@ -52,7 +52,8 @@ export declare class DrawerComponent implements OnDestroy {
|
|
|
52
52
|
hostClasses: boolean;
|
|
53
53
|
get startPositionClass(): boolean;
|
|
54
54
|
get endPositionClass(): boolean;
|
|
55
|
-
get
|
|
55
|
+
get overlayMarginLeft(): string;
|
|
56
|
+
get overlayMarginRight(): string;
|
|
56
57
|
get flexStyles(): number;
|
|
57
58
|
/**
|
|
58
59
|
* Specifies the mode in which the Drawer displays.
|
|
@@ -191,6 +192,7 @@ export declare class DrawerComponent implements OnDestroy {
|
|
|
191
192
|
onSelect(e: DrawerListSelectEvent): void;
|
|
192
193
|
private onAnimationEnd;
|
|
193
194
|
private setExpanded;
|
|
195
|
+
private shouldApplyOverlayMargin;
|
|
194
196
|
private animate;
|
|
195
197
|
private createPlayer;
|
|
196
198
|
static ɵfac: i0.ɵɵFactoryDeclaration<DrawerComponent, never>;
|
|
@@ -29,8 +29,8 @@ const packageMetadata = {
|
|
|
29
29
|
productName: 'Kendo UI for Angular',
|
|
30
30
|
productCode: 'KENDOUIANGULAR',
|
|
31
31
|
productCodes: ['KENDOUIANGULAR'],
|
|
32
|
-
publishDate:
|
|
33
|
-
version: '23.4.0
|
|
32
|
+
publishDate: 1777036844,
|
|
33
|
+
version: '23.4.0',
|
|
34
34
|
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'
|
|
35
35
|
};
|
|
36
36
|
|
|
@@ -1689,7 +1689,7 @@ class PanelBarComponent {
|
|
|
1689
1689
|
@if (showLicenseWatermark) {
|
|
1690
1690
|
<div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
|
|
1691
1691
|
}
|
|
1692
|
-
`, isInline: true, dependencies: [{ kind: "component", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
|
|
1692
|
+
`, isInline: true, dependencies: [{ kind: "component", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: ["licenseMessage"] }] });
|
|
1693
1693
|
}
|
|
1694
1694
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: PanelBarComponent, decorators: [{
|
|
1695
1695
|
type: Component,
|
|
@@ -4744,7 +4744,7 @@ class TabStripComponent {
|
|
|
4744
4744
|
@if (showLicenseWatermark) {
|
|
4745
4745
|
<div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
|
|
4746
4746
|
}
|
|
4747
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedTabStripMessagesDirective, selector: "[kendoTabStripLocalizedMessages]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TabStripScrollableButtonComponent, selector: "[kendoTabStripScrollableButton]", inputs: ["prev", "tabPosition", "scrollable"], outputs: ["tabScroll", "onClick"] }, { kind: "component", type: TabComponent, selector: "[kendoTabStripTab]", inputs: ["tab", "index", "tabStripClosable", "tabStripCloseIcon", "customTabstripCloseIcon", "closeSVGIcon"], outputs: ["tabClose"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }], animations: [
|
|
4747
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedTabStripMessagesDirective, selector: "[kendoTabStripLocalizedMessages]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TabStripScrollableButtonComponent, selector: "[kendoTabStripScrollableButton]", inputs: ["prev", "tabPosition", "scrollable"], outputs: ["tabScroll", "onClick"] }, { kind: "component", type: TabComponent, selector: "[kendoTabStripTab]", inputs: ["tab", "index", "tabStripClosable", "tabStripCloseIcon", "customTabstripCloseIcon", "closeSVGIcon"], outputs: ["tabClose"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: ["licenseMessage"] }], animations: [
|
|
4748
4748
|
trigger('state', [
|
|
4749
4749
|
state('active', style({ opacity: 1 })),
|
|
4750
4750
|
transition('* => active', [
|
|
@@ -5344,20 +5344,20 @@ function collapsePush(duration, width) {
|
|
|
5344
5344
|
/**
|
|
5345
5345
|
* @hidden
|
|
5346
5346
|
*/
|
|
5347
|
-
function expandRTLOverlay(duration) {
|
|
5347
|
+
function expandRTLOverlay(duration, width) {
|
|
5348
5348
|
return [
|
|
5349
|
-
style({
|
|
5350
|
-
animate(`${duration}ms ease-in`, style({ overflow: 'hidden',
|
|
5349
|
+
style({ marginRight: `-${width}px` }),
|
|
5350
|
+
animate(`${duration}ms ease-in`, style({ overflow: 'hidden', marginRight: `0px` }))
|
|
5351
5351
|
];
|
|
5352
5352
|
}
|
|
5353
5353
|
/**
|
|
5354
5354
|
* @hidden
|
|
5355
5355
|
*/
|
|
5356
|
-
function expandOverlay(duration, position) {
|
|
5357
|
-
const
|
|
5356
|
+
function expandOverlay(duration, width, position) {
|
|
5357
|
+
const marginProp = position !== 'end' ? 'marginLeft' : 'marginRight';
|
|
5358
5358
|
return [
|
|
5359
|
-
style({
|
|
5360
|
-
animate(`${duration}ms ease-in`, style({ overflow: 'hidden',
|
|
5359
|
+
style({ [marginProp]: `-${width}px` }),
|
|
5360
|
+
animate(`${duration}ms ease-in`, style({ overflow: 'hidden', [marginProp]: `0px` }))
|
|
5361
5361
|
];
|
|
5362
5362
|
}
|
|
5363
5363
|
/**
|
|
@@ -5372,20 +5372,20 @@ function miniCollapseOverlay(duration, width, miniWidth) {
|
|
|
5372
5372
|
/**
|
|
5373
5373
|
* @hidden
|
|
5374
5374
|
*/
|
|
5375
|
-
function collapseOverlay(duration, position) {
|
|
5376
|
-
const
|
|
5375
|
+
function collapseOverlay(duration, width, position) {
|
|
5376
|
+
const marginProp = position !== 'end' ? 'marginLeft' : 'marginRight';
|
|
5377
5377
|
return [
|
|
5378
|
-
style({
|
|
5379
|
-
animate(`${duration}ms ease-in`, style({ overflow: 'hidden',
|
|
5378
|
+
style({ [marginProp]: `0px` }),
|
|
5379
|
+
animate(`${duration}ms ease-in`, style({ overflow: 'hidden', [marginProp]: `-${width}px` }))
|
|
5380
5380
|
];
|
|
5381
5381
|
}
|
|
5382
5382
|
/**
|
|
5383
5383
|
* @hidden
|
|
5384
5384
|
*/
|
|
5385
|
-
function collapseRTLOverlay(duration) {
|
|
5385
|
+
function collapseRTLOverlay(duration, width) {
|
|
5386
5386
|
return [
|
|
5387
|
-
style({
|
|
5388
|
-
animate(`${duration}ms ease-in`, style({ overflow: 'hidden',
|
|
5387
|
+
style({ marginRight: `0px` }),
|
|
5388
|
+
animate(`${duration}ms ease-in`, style({ overflow: 'hidden', marginRight: `-${width}px` }))
|
|
5389
5389
|
];
|
|
5390
5390
|
}
|
|
5391
5391
|
/**
|
|
@@ -5406,7 +5406,7 @@ function expandAnimation(settings) {
|
|
|
5406
5406
|
return expandPush(duration, width);
|
|
5407
5407
|
}
|
|
5408
5408
|
if (!mini && mode === 'overlay') {
|
|
5409
|
-
return rtl ? expandRTLOverlay(duration) : expandOverlay(duration, position);
|
|
5409
|
+
return rtl ? expandRTLOverlay(duration, width) : expandOverlay(duration, width, position);
|
|
5410
5410
|
}
|
|
5411
5411
|
if (mini && mode === 'overlay') {
|
|
5412
5412
|
return miniExpandOverlay(duration, width, miniWidth);
|
|
@@ -5430,7 +5430,7 @@ function collapseAnimation(settings) {
|
|
|
5430
5430
|
return collapsePush(duration, width);
|
|
5431
5431
|
}
|
|
5432
5432
|
if (!mini && mode === 'overlay') {
|
|
5433
|
-
return rtl ? collapseRTLOverlay(duration) : collapseOverlay(duration, position);
|
|
5433
|
+
return rtl ? collapseRTLOverlay(duration, width) : collapseOverlay(duration, width, position);
|
|
5434
5434
|
}
|
|
5435
5435
|
if (mini && mode === 'overlay') {
|
|
5436
5436
|
return miniCollapseOverlay(duration, width, miniWidth);
|
|
@@ -5776,7 +5776,7 @@ class DrawerListComponent {
|
|
|
5776
5776
|
}
|
|
5777
5777
|
}
|
|
5778
5778
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DrawerListComponent, deps: [{ token: DrawerService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5779
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: DrawerListComponent, isStandalone: true, selector: "[kendoDrawerList]", inputs: { itemTemplate: "itemTemplate", mini: "mini", expanded: "expanded", view: "view" }, outputs: { select: "select", viewChange: "viewChange" }, viewQueries: [{ propertyName: "items", predicate: DrawerItemComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "\n @for (v of view; track identifyItem(idx, v); let idx = $index) {\n @if (!v.item.separator) {\n <li kendoDrawerItem\n class=\"k-drawer-item {{expanded ? ' k-level-' + v.level : ''}}\"\n role=\"menuitem\"\n [viewItem]=\"v\"\n [index]=\"idx\"\n [mini]=\"mini\"\n [expanded]=\"expanded\"\n [itemTemplate]=\"itemTemplate\"\n [attr.data-kendo-drawer-index]=\"v.index\"\n [ngClass]=\"v.item.cssClass\"\n [ngStyle]=\"v.item.cssStyle\"\n [tabindex]=\"v.index === 0 ? '0' : '-1'\">\n </li>\n }\n @if (v.item.separator) {\n <li\n role=\"separator\"\n class=\"k-drawer-item k-drawer-separator\"\n [ngClass]=\"v.item.cssClass\"\n [ngStyle]=\"v.item.cssStyle\">\n
|
|
5779
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: DrawerListComponent, isStandalone: true, selector: "[kendoDrawerList]", inputs: { itemTemplate: "itemTemplate", mini: "mini", expanded: "expanded", view: "view" }, outputs: { select: "select", viewChange: "viewChange" }, viewQueries: [{ propertyName: "items", predicate: DrawerItemComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "\n @for (v of view; track identifyItem(idx, v); let idx = $index) {\n @if (!v.item.separator) {\n <li kendoDrawerItem\n class=\"k-drawer-item {{expanded ? ' k-level-' + v.level : ''}}\"\n role=\"menuitem\"\n [viewItem]=\"v\"\n [index]=\"idx\"\n [mini]=\"mini\"\n [expanded]=\"expanded\"\n [itemTemplate]=\"itemTemplate\"\n [attr.data-kendo-drawer-index]=\"v.index\"\n [ngClass]=\"v.item.cssClass\"\n [ngStyle]=\"v.item.cssStyle\"\n [tabindex]=\"v.index === 0 ? '0' : '-1'\">\n </li>\n }\n @if (v.item.separator) {\n <li\n role=\"separator\"\n class=\"k-drawer-item k-drawer-separator\"\n [ngClass]=\"v.item.cssClass\"\n [ngStyle]=\"v.item.cssStyle\">\n </li>\n }\n }\n ", isInline: true, dependencies: [{ kind: "component", type: DrawerItemComponent, selector: "[kendoDrawerItem]", inputs: ["viewItem", "index", "itemTemplate", "mini", "expanded", "disabled", "cssClass", "cssStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
5780
5780
|
}
|
|
5781
5781
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DrawerListComponent, decorators: [{
|
|
5782
5782
|
type: Component,
|
|
@@ -5805,7 +5805,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
5805
5805
|
class="k-drawer-item k-drawer-separator"
|
|
5806
5806
|
[ngClass]="v.item.cssClass"
|
|
5807
5807
|
[ngStyle]="v.item.cssStyle">
|
|
5808
|
-
|
|
5809
5808
|
</li>
|
|
5810
5809
|
}
|
|
5811
5810
|
}
|
|
@@ -5873,14 +5872,23 @@ class DrawerComponent {
|
|
|
5873
5872
|
get endPositionClass() {
|
|
5874
5873
|
return this.position === 'end';
|
|
5875
5874
|
}
|
|
5876
|
-
get
|
|
5877
|
-
if (this.
|
|
5878
|
-
return;
|
|
5875
|
+
get overlayMarginLeft() {
|
|
5876
|
+
if (!this.shouldApplyOverlayMargin()) {
|
|
5877
|
+
return null;
|
|
5878
|
+
}
|
|
5879
|
+
if (this.rtl || this.position === 'end') {
|
|
5880
|
+
return null;
|
|
5881
|
+
}
|
|
5882
|
+
return `-${this.drawerWidth}px`;
|
|
5883
|
+
}
|
|
5884
|
+
get overlayMarginRight() {
|
|
5885
|
+
if (!this.shouldApplyOverlayMargin()) {
|
|
5886
|
+
return null;
|
|
5879
5887
|
}
|
|
5880
|
-
if (this.
|
|
5881
|
-
return
|
|
5888
|
+
if (!this.rtl && this.position !== 'end') {
|
|
5889
|
+
return null;
|
|
5882
5890
|
}
|
|
5883
|
-
return
|
|
5891
|
+
return `-${this.drawerWidth}px`;
|
|
5884
5892
|
}
|
|
5885
5893
|
get flexStyles() {
|
|
5886
5894
|
if (this.mode === 'overlay') {
|
|
@@ -6095,6 +6103,9 @@ class DrawerComponent {
|
|
|
6095
6103
|
this.expanded = value;
|
|
6096
6104
|
this.expandedChange.emit(value);
|
|
6097
6105
|
}
|
|
6106
|
+
shouldApplyOverlayMargin() {
|
|
6107
|
+
return this.mode !== 'push' && !this.expanded && !this.minimized;
|
|
6108
|
+
}
|
|
6098
6109
|
animate(expanded) {
|
|
6099
6110
|
const settings = {
|
|
6100
6111
|
mode: this.mode,
|
|
@@ -6122,7 +6133,7 @@ class DrawerComponent {
|
|
|
6122
6133
|
return player;
|
|
6123
6134
|
}
|
|
6124
6135
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DrawerComponent, deps: [{ token: i0.ElementRef }, { token: i1$2.AnimationBuilder }, { token: i1.LocalizationService }, { token: DrawerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6125
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: DrawerComponent, isStandalone: true, selector: "kendo-drawer", inputs: { mode: "mode", position: "position", mini: "mini", expanded: "expanded", width: "width", miniWidth: "miniWidth", autoCollapse: "autoCollapse", items: "items", isItemExpanded: "isItemExpanded", animation: "animation" }, outputs: { expand: "expand", collapse: "collapse", select: "select", expandedChange: "expandedChange" }, host: { properties: { "class.k-drawer": "this.hostClasses", "class.k-drawer-start": "this.startPositionClass", "class.k-drawer-end": "this.endPositionClass", "style.
|
|
6136
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: DrawerComponent, isStandalone: true, selector: "kendo-drawer", inputs: { mode: "mode", position: "position", mini: "mini", expanded: "expanded", width: "width", miniWidth: "miniWidth", autoCollapse: "autoCollapse", items: "items", isItemExpanded: "isItemExpanded", animation: "animation" }, outputs: { expand: "expand", collapse: "collapse", select: "select", expandedChange: "expandedChange" }, host: { properties: { "class.k-drawer": "this.hostClasses", "class.k-drawer-start": "this.startPositionClass", "class.k-drawer-end": "this.endPositionClass", "style.marginLeft": "this.overlayMarginLeft", "style.marginRight": "this.overlayMarginRight", "style.flexBasis.px": "this.flexStyles", "attr.dir": "this.direction" } }, providers: [
|
|
6126
6137
|
LocalizationService,
|
|
6127
6138
|
DrawerService,
|
|
6128
6139
|
{
|
|
@@ -6165,7 +6176,7 @@ class DrawerComponent {
|
|
|
6165
6176
|
@if (showLicenseWatermark) {
|
|
6166
6177
|
<div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
|
|
6167
6178
|
}
|
|
6168
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DrawerListComponent, selector: "[kendoDrawerList]", inputs: ["itemTemplate", "mini", "expanded", "view"], outputs: ["select", "viewChange"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
|
|
6179
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DrawerListComponent, selector: "[kendoDrawerList]", inputs: ["itemTemplate", "mini", "expanded", "view"], outputs: ["select", "viewChange"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: ["licenseMessage"] }] });
|
|
6169
6180
|
}
|
|
6170
6181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DrawerComponent, decorators: [{
|
|
6171
6182
|
type: Component,
|
|
@@ -6229,9 +6240,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
6229
6240
|
}], endPositionClass: [{
|
|
6230
6241
|
type: HostBinding,
|
|
6231
6242
|
args: ['class.k-drawer-end']
|
|
6232
|
-
}],
|
|
6243
|
+
}], overlayMarginLeft: [{
|
|
6244
|
+
type: HostBinding,
|
|
6245
|
+
args: ['style.marginLeft']
|
|
6246
|
+
}], overlayMarginRight: [{
|
|
6233
6247
|
type: HostBinding,
|
|
6234
|
-
args: ['style.
|
|
6248
|
+
args: ['style.marginRight']
|
|
6235
6249
|
}], flexStyles: [{
|
|
6236
6250
|
type: HostBinding,
|
|
6237
6251
|
args: ['style.flexBasis.px']
|
|
@@ -10936,7 +10950,7 @@ class TileLayoutComponent {
|
|
|
10936
10950
|
@if (showLicenseWatermark) {
|
|
10937
10951
|
<div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
|
|
10938
10952
|
}
|
|
10939
|
-
`, isInline: true, dependencies: [{ kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
|
|
10953
|
+
`, isInline: true, dependencies: [{ kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: ["licenseMessage"] }] });
|
|
10940
10954
|
}
|
|
10941
10955
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileLayoutComponent, decorators: [{
|
|
10942
10956
|
type: Component,
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "23.4.0
|
|
10
|
+
"publishDate": 1777036844,
|
|
11
|
+
"version": "23.4.0",
|
|
12
12
|
"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"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-layout",
|
|
3
|
-
"version": "23.4.0
|
|
3
|
+
"version": "23.4.0",
|
|
4
4
|
"description": "Kendo UI for Angular Layout Package - a collection of components to create professional application layoyts",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -48,8 +48,7 @@
|
|
|
48
48
|
"19": [
|
|
49
49
|
{
|
|
50
50
|
"description": "mousescrollspeed of TabStripScrollableSettings is deprecated",
|
|
51
|
-
"file": "codemods/v19/tabstrip-mousescrollspeed.js"
|
|
52
|
-
"prompt": "false"
|
|
51
|
+
"file": "codemods/v19/tabstrip-mousescrollspeed.js"
|
|
53
52
|
}
|
|
54
53
|
],
|
|
55
54
|
"21": [
|
|
@@ -64,7 +63,7 @@
|
|
|
64
63
|
"package": {
|
|
65
64
|
"productName": "Kendo UI for Angular",
|
|
66
65
|
"productCode": "KENDOUIANGULAR",
|
|
67
|
-
"publishDate":
|
|
66
|
+
"publishDate": 1777036844,
|
|
68
67
|
"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"
|
|
69
68
|
}
|
|
70
69
|
},
|
|
@@ -73,18 +72,18 @@
|
|
|
73
72
|
"@angular/common": "19 - 21",
|
|
74
73
|
"@angular/core": "19 - 21",
|
|
75
74
|
"@angular/platform-browser": "19 - 21",
|
|
76
|
-
"@progress/kendo-licensing": "^1.
|
|
77
|
-
"@progress/kendo-angular-common": "23.4.0
|
|
78
|
-
"@progress/kendo-angular-l10n": "23.4.0
|
|
79
|
-
"@progress/kendo-angular-progressbar": "23.4.0
|
|
80
|
-
"@progress/kendo-angular-icons": "23.4.0
|
|
81
|
-
"@progress/kendo-angular-buttons": "23.4.0
|
|
82
|
-
"@progress/kendo-angular-intl": "23.4.0
|
|
75
|
+
"@progress/kendo-licensing": "^1.11.0",
|
|
76
|
+
"@progress/kendo-angular-common": "23.4.0",
|
|
77
|
+
"@progress/kendo-angular-l10n": "23.4.0",
|
|
78
|
+
"@progress/kendo-angular-progressbar": "23.4.0",
|
|
79
|
+
"@progress/kendo-angular-icons": "23.4.0",
|
|
80
|
+
"@progress/kendo-angular-buttons": "23.4.0",
|
|
81
|
+
"@progress/kendo-angular-intl": "23.4.0",
|
|
83
82
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
84
83
|
},
|
|
85
84
|
"dependencies": {
|
|
86
85
|
"tslib": "^2.3.1",
|
|
87
|
-
"@progress/kendo-angular-schematics": "23.4.0
|
|
86
|
+
"@progress/kendo-angular-schematics": "23.4.0",
|
|
88
87
|
"@progress/kendo-draggable": "^3.0.2"
|
|
89
88
|
},
|
|
90
89
|
"schematics": "./schematics/collection.json",
|