@taiga-ui/cdk 4.0.0-alpha.0 → 4.0.0-rc.10
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/classes/index.d.ts +0 -1
- package/constants/used-icons.d.ts +1 -1
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/esm2022/classes/index.mjs +1 -2
- package/esm2022/constants/used-icons.mjs +9 -1
- package/esm2022/constants/version.mjs +2 -2
- package/esm2022/directives/auto-focus/autofocus.options.mjs +3 -3
- package/esm2022/directives/copy-processor/copy-processor.directive.mjs +3 -3
- package/esm2022/directives/high-dpi/high-dpi.directive.mjs +3 -3
- package/esm2022/directives/obscured/obscured.service.mjs +3 -3
- package/esm2022/services/index.mjs +2 -2
- package/esm2022/services/scroll.service.mjs +4 -4
- package/esm2022/services/theme-color.service.mjs +30 -0
- package/esm2022/tokens/active-element.mjs +3 -3
- package/esm2022/tokens/environment.mjs +15 -7
- package/esm2022/tokens/removed-element.mjs +3 -3
- package/esm2022/tokens/window-size.mjs +3 -3
- package/esm2022/utils/focus/focused-in.mjs +7 -0
- package/esm2022/utils/focus/index.mjs +2 -1
- package/fesm2022/taiga-ui-cdk-classes.mjs +1 -15
- package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-constants.mjs +9 -1
- package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-services.mjs +22 -25
- package/fesm2022/taiga-ui-cdk-services.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-tokens.mjs +19 -12
- package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-focus.mjs +8 -2
- package/fesm2022/taiga-ui-cdk-utils-focus.mjs.map +1 -1
- package/package.json +356 -67
- package/schematics/ng-update/interfaces/html-comment.d.ts +3 -2
- package/schematics/ng-update/interfaces/replacement-attribute-value.d.ts +6 -2
- package/schematics/ng-update/interfaces/replacement-identifier.d.ts +4 -10
- package/schematics/ng-update/interfaces/replacement-type.d.ts +4 -0
- package/schematics/ng-update/steps/rename-types.js +6 -2
- package/schematics/ng-update/steps/replace-identifier.js +30 -8
- package/schematics/ng-update/steps/replace-package-name.js +4 -5
- package/schematics/ng-update/utils/templates/replace-attr-values.js +39 -10
- package/schematics/ng-update/utils/templates/template-comments.js +7 -1
- package/schematics/ng-update/v4/index.js +9 -1
- package/schematics/ng-update/v4/migrate-icons/index.js +2 -2
- package/schematics/ng-update/v4/migrate-icons/rename-icons.js +13 -5
- package/schematics/ng-update/v4/migrate-icons/rename-proprietary-icons.d.ts +2 -1
- package/schematics/ng-update/v4/migrate-icons/rename-proprietary-icons.js +19 -6
- package/schematics/ng-update/v4/steps/constants/attr-to-directive-replace.js +3 -2
- package/schematics/ng-update/v4/steps/constants/attr-with-values-to-replace.js +44 -3
- package/schematics/ng-update/v4/steps/constants/attrs-to-replace.js +107 -21
- package/schematics/ng-update/v4/steps/constants/html-comments.js +9 -0
- package/schematics/ng-update/v4/steps/constants/identifiers-to-replace.js +552 -213
- package/schematics/ng-update/v4/steps/constants/index.d.ts +1 -0
- package/schematics/ng-update/v4/steps/constants/index.js +1 -0
- package/schematics/ng-update/v4/steps/constants/inputs-to-remove.js +1 -0
- package/schematics/ng-update/v4/steps/constants/migration-warnings.js +20 -0
- package/schematics/ng-update/v4/steps/constants/modules-to-remove.js +20 -0
- package/schematics/ng-update/v4/steps/constants/modules-to-replace.d.ts +7 -6
- package/schematics/ng-update/v4/steps/constants/modules-to-replace.js +1 -0
- package/schematics/ng-update/v4/steps/constants/services.d.ts +2 -0
- package/schematics/ng-update/v4/steps/constants/services.js +15 -0
- package/schematics/ng-update/v4/steps/constants/tags-to-replace.js +14 -2
- package/schematics/ng-update/v4/steps/constants/types.js +33 -1
- package/schematics/ng-update/v4/steps/index.d.ts +4 -1
- package/schematics/ng-update/v4/steps/index.js +4 -1
- package/schematics/ng-update/v4/steps/migrate-alert-service.d.ts +2 -0
- package/schematics/ng-update/v4/steps/migrate-alert-service.js +110 -0
- package/schematics/ng-update/v4/steps/migrate-month-context.d.ts +2 -0
- package/schematics/ng-update/v4/steps/migrate-month-context.js +39 -0
- package/schematics/ng-update/v4/steps/migrate-number-format-settings.d.ts +2 -0
- package/schematics/ng-update/v4/steps/migrate-number-format-settings.js +64 -0
- package/schematics/ng-update/v4/steps/migrate-root.d.ts +3 -0
- package/schematics/ng-update/v4/steps/migrate-root.js +61 -0
- package/schematics/ng-update/v4/steps/migrate-templates.js +10 -2
- package/schematics/ng-update/v4/steps/styles/index.js +38 -0
- package/schematics/ng-update/v4/steps/styles/migrate-less-scss-constants.d.ts +1 -0
- package/schematics/ng-update/v4/steps/styles/migrate-less-scss-constants.js +13 -0
- package/schematics/ng-update/v4/steps/styles/migrate-scrollbar-behavior.d.ts +1 -0
- package/schematics/ng-update/v4/steps/styles/migrate-scrollbar-behavior.js +10 -0
- package/schematics/ng-update/v4/steps/styles/migrate-shadow-mixins.d.ts +1 -0
- package/schematics/ng-update/v4/steps/styles/migrate-shadow-mixins.js +23 -0
- package/schematics/ng-update/v4/steps/styles/migrate-space-mixins.d.ts +1 -0
- package/schematics/ng-update/v4/steps/styles/migrate-space-mixins.js +20 -0
- package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.d.ts +1 -0
- package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js +54 -0
- package/schematics/ng-update/v4/steps/templates/index.d.ts +6 -0
- package/schematics/ng-update/v4/steps/templates/index.js +6 -0
- package/schematics/ng-update/v4/steps/templates/migrate-avatar.js +10 -5
- package/schematics/ng-update/{v3/steps/migrate-polymorpheus.d.ts → v4/steps/templates/migrate-axes.d.ts} +2 -2
- package/schematics/ng-update/v4/steps/templates/migrate-axes.js +26 -0
- package/schematics/ng-update/v4/steps/templates/migrate-badge.js +15 -6
- package/schematics/ng-update/v4/steps/templates/migrate-badged-content.js +1 -1
- package/schematics/ng-update/{v3/steps/migrate-textfield-controller.d.ts → v4/steps/templates/migrate-blocked.d.ts} +2 -2
- package/schematics/ng-update/v4/steps/templates/migrate-blocked.js +35 -0
- package/schematics/ng-update/v4/steps/templates/migrate-button-appearance.d.ts +8 -0
- package/schematics/ng-update/v4/steps/templates/migrate-button-appearance.js +41 -0
- package/schematics/ng-update/v4/steps/templates/migrate-expandable.js +3 -2
- package/schematics/ng-update/v4/steps/templates/migrate-focusable.js +7 -4
- package/schematics/ng-update/v4/steps/templates/migrate-label.d.ts +8 -0
- package/schematics/ng-update/v4/steps/templates/migrate-label.js +39 -0
- package/schematics/ng-update/v4/steps/templates/migrate-labeled.js +5 -7
- package/schematics/ng-update/v4/steps/templates/migrate-mobile-tabs.d.ts +8 -0
- package/schematics/ng-update/v4/steps/templates/migrate-mobile-tabs.js +45 -0
- package/schematics/ng-update/v4/steps/templates/migrate-notification.d.ts +8 -0
- package/schematics/ng-update/v4/steps/templates/migrate-notification.js +64 -0
- package/schematics/ng-update/v4/steps/templates/migrate-number-precision.d.ts +8 -0
- package/schematics/ng-update/v4/steps/templates/migrate-number-precision.js +36 -0
- package/schematics/ng-update/v4/steps/templates/migrate-overscroll.js +4 -6
- package/schematics/ng-update/v4/steps/templates/migrate-thumbnail-card.js +2 -1
- package/schematics/ng-update/v4/steps/templates/toggles/common.js +3 -2
- package/schematics/ng-update/v4/steps/templates/toggles/migrate-checkbox.js +36 -0
- package/schematics/ng-update/v4/steps/update-packages.js +21 -8
- package/schematics/ng-update/v4/steps/utils/replace-modules-with-providers.d.ts +1 -11
- package/schematics/ng-update/v4/steps/utils/replace-modules-with-providers.js +8 -4
- package/schematics/utils/get-named-import-references.js +4 -2
- package/schematics/utils/templates/elements.js +2 -1
- package/schematics/utils/templates/inputs.js +2 -1
- package/services/index.d.ts +1 -1
- package/services/theme-color.service.d.ts +16 -0
- package/tokens/environment.d.ts +1 -0
- package/utils/focus/focused-in.d.ts +2 -0
- package/utils/focus/index.d.ts +1 -0
- package/classes/controller.d.ts +0 -9
- package/esm2022/classes/controller.mjs +0 -18
- package/esm2022/services/static-request.service.mjs +0 -33
- package/schematics/ng-update/v3/constants/breakpoints.d.ts +0 -82
- package/schematics/ng-update/v3/constants/breakpoints.js +0 -34
- package/schematics/ng-update/v3/constants/constants.d.ts +0 -2
- package/schematics/ng-update/v3/constants/constants.js +0 -466
- package/schematics/ng-update/v3/constants/deprecated-functions.d.ts +0 -2
- package/schematics/ng-update/v3/constants/deprecated-functions.js +0 -680
- package/schematics/ng-update/v3/constants/enums.d.ts +0 -2
- package/schematics/ng-update/v3/constants/enums.js +0 -284
- package/schematics/ng-update/v3/constants/modules.d.ts +0 -2
- package/schematics/ng-update/v3/constants/modules.js +0 -9
- package/schematics/ng-update/v3/constants/services.d.ts +0 -2
- package/schematics/ng-update/v3/constants/services.js +0 -53
- package/schematics/ng-update/v3/constants/templates.d.ts +0 -57
- package/schematics/ng-update/v3/constants/templates.js +0 -744
- package/schematics/ng-update/v3/constants/tui-interactive-selectors.d.ts +0 -1
- package/schematics/ng-update/v3/constants/tui-interactive-selectors.js +0 -55
- package/schematics/ng-update/v3/constants/types.d.ts +0 -2
- package/schematics/ng-update/v3/constants/types.js +0 -156
- package/schematics/ng-update/v3/constants/warnings.d.ts +0 -2
- package/schematics/ng-update/v3/constants/warnings.js +0 -111
- package/schematics/ng-update/v3/index.d.ts +0 -3
- package/schematics/ng-update/v3/index.js +0 -105
- package/schematics/ng-update/v3/schema.json +0 -13
- package/schematics/ng-update/v3/steps/migrate-date-time.d.ts +0 -2
- package/schematics/ng-update/v3/steps/migrate-date-time.js +0 -207
- package/schematics/ng-update/v3/steps/migrate-polymorpheus.js +0 -78
- package/schematics/ng-update/v3/steps/migrate-progress.d.ts +0 -8
- package/schematics/ng-update/v3/steps/migrate-progress.js +0 -49
- package/schematics/ng-update/v3/steps/migrate-sliders/index.d.ts +0 -3
- package/schematics/ng-update/v3/steps/migrate-sliders/index.js +0 -19
- package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-range.d.ts +0 -3
- package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-range.js +0 -103
- package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-slider.d.ts +0 -3
- package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-slider.js +0 -90
- package/schematics/ng-update/v3/steps/migrate-taiga-proprietary-icons.d.ts +0 -3
- package/schematics/ng-update/v3/steps/migrate-taiga-proprietary-icons.js +0 -70
- package/schematics/ng-update/v3/steps/migrate-templates.d.ts +0 -4
- package/schematics/ng-update/v3/steps/migrate-templates.js +0 -216
- package/schematics/ng-update/v3/steps/migrate-textfield-controller.js +0 -98
- package/schematics/ng-update/v3/steps/miscellaneous.d.ts +0 -2
- package/schematics/ng-update/v3/steps/miscellaneous.js +0 -81
- package/schematics/ng-update/v3/steps/replace-functions.d.ts +0 -2
- package/schematics/ng-update/v3/steps/replace-functions.js +0 -138
- package/schematics/ng-update/v3/steps/replace-styles.d.ts +0 -3
- package/schematics/ng-update/v3/steps/replace-styles.js +0 -33
- package/schematics/ng-update/v3-30/constants/constants.d.ts +0 -2
- package/schematics/ng-update/v3-30/constants/constants.js +0 -8
- package/schematics/ng-update/v3-30/constants/icons.d.ts +0 -4
- package/schematics/ng-update/v3-30/constants/icons.js +0 -993
- package/schematics/ng-update/v3-30/index.d.ts +0 -3
- package/schematics/ng-update/v3-30/index.js +0 -33
- package/schematics/ng-update/v3-35/constants/constants.d.ts +0 -2
- package/schematics/ng-update/v3-35/constants/constants.js +0 -8
- package/schematics/ng-update/v3-35/constants/icons.d.ts +0 -4
- package/schematics/ng-update/v3-35/constants/icons.js +0 -2537
- package/schematics/ng-update/v3-35/index.d.ts +0 -3
- package/schematics/ng-update/v3-35/index.js +0 -33
- package/schematics/ng-update/v3-36/index.d.ts +0 -3
- package/schematics/ng-update/v3-36/index.js +0 -23
- package/schematics/ng-update/v3-40/index.d.ts +0 -3
- package/schematics/ng-update/v3-40/index.js +0 -62
- package/schematics/ng-update/v3-5/index.d.ts +0 -3
- package/schematics/ng-update/v3-5/index.js +0 -20
- package/schematics/ng-update/v3-5/steps/migrate-expand-templates.d.ts +0 -3
- package/schematics/ng-update/v3-5/steps/migrate-expand-templates.js +0 -44
- package/schematics/ng-update/v4/steps/migrate-styles.js +0 -20
- package/services/static-request.service.d.ts +0 -8
- /package/schematics/ng-update/v4/steps/{migrate-styles.d.ts → styles/index.d.ts} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
export declare function migrateScrollbarBehavior(fileContent: string): string;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.migrateScrollbarBehavior = void 0;
|
4
|
+
function migrateScrollbarBehavior(fileContent) {
|
5
|
+
if (!fileContent.includes('@taiga-ui/core/styles/taiga-ui-local')) {
|
6
|
+
return fileContent;
|
7
|
+
}
|
8
|
+
return fileContent.replaceAll('.scroll-behavior()', 'scroll-behavior: var(--tui-scroll-behavior)');
|
9
|
+
}
|
10
|
+
exports.migrateScrollbarBehavior = migrateScrollbarBehavior;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function migrateShadowMixins(fileContent: string): string;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.migrateShadowMixins = void 0;
|
4
|
+
const MAPPING = {
|
5
|
+
'shadow()': 'var(--tui-shadow-small)',
|
6
|
+
'shadow(1)': 'var(--tui-shadow-small)',
|
7
|
+
'shadow(2)': 'var(--tui-shadow-medium)',
|
8
|
+
'shadow(3)': 'var(--tui-shadow-popup)',
|
9
|
+
'shadow(4)': 'var(--tui-shadow-medium)',
|
10
|
+
'shadow(5)': 'var(--tui-shadow-small-hover)',
|
11
|
+
'shadow(6)': 'var(--tui-shadow-small)',
|
12
|
+
'shadow(7)': 'var(--tui-shadow-popup)',
|
13
|
+
};
|
14
|
+
// .shadow(2);
|
15
|
+
// @include shadow(2);
|
16
|
+
const MIXIN_RE = /(?:@include\s|\.)(shadow\(\d*\))(\s?!important)?;/g;
|
17
|
+
function migrateShadowMixins(fileContent) {
|
18
|
+
if (!fileContent.includes('@taiga-ui/core/styles/taiga-ui-local')) {
|
19
|
+
return fileContent;
|
20
|
+
}
|
21
|
+
return fileContent.replaceAll(MIXIN_RE, (_, mixin, important = '') => `box-shadow: ${MAPPING[mixin]}${important};`);
|
22
|
+
}
|
23
|
+
exports.migrateShadowMixins = migrateShadowMixins;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function migrateSpaceMixins(fileContent: string): string;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.migrateSpaceMixins = void 0;
|
4
|
+
const DIRECTION_MAPPING = {
|
5
|
+
all: ['margin'],
|
6
|
+
top: ['margin-top'],
|
7
|
+
bottom: ['margin-bottom'],
|
8
|
+
left: ['margin-left'],
|
9
|
+
right: ['margin-right'],
|
10
|
+
vertical: ['margin-top', 'margin-bottom'],
|
11
|
+
horizontal: ['margin-left', 'margin-right'],
|
12
|
+
};
|
13
|
+
const SPACE = 0.25;
|
14
|
+
// .tui-space(top, 4);
|
15
|
+
// @include tui-space(top, 4);
|
16
|
+
const MIXIN_RE = new RegExp(`(?:@include\\s|\\.)tui-space\\((?<direction>${Object.keys(DIRECTION_MAPPING).join('|')}),\\s?(?<size>-?\\d+)\\)(\\s?!important)?;`, 'g');
|
17
|
+
function migrateSpaceMixins(fileContent) {
|
18
|
+
return fileContent.replaceAll(MIXIN_RE, (_, direction, size, important = '') => `${DIRECTION_MAPPING[direction].map((property) => `${property}: ${Number(size) * SPACE}rem${important};`).join('\n')}`);
|
19
|
+
}
|
20
|
+
exports.migrateSpaceMixins = migrateSpaceMixins;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function migrateTextMixins(fileContent: string): string;
|
@@ -0,0 +1,54 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.migrateTextMixins = void 0;
|
4
|
+
const MAPPING = {
|
5
|
+
'text-h1': ['font: var(--tui-font-heading-1)'],
|
6
|
+
'text-h2': ['font: var(--tui-font-heading-2)'],
|
7
|
+
'text-h3': ['font: var(--tui-font-heading-3)'],
|
8
|
+
'text-h4': ['font: var(--tui-font-heading-4)'],
|
9
|
+
'text-h5': ['font: var(--tui-font-heading-5)'],
|
10
|
+
'text-h6': ['font: var(--tui-font-heading-6)'],
|
11
|
+
'text-body-xl-bold': ['font: var(--tui-font-text-xl)', 'font-weight: bold'],
|
12
|
+
'text-body-xl': ['font: var(--tui-font-text-xl)'],
|
13
|
+
'text-body-xs': ['font: var(--tui-font-text-xs)'],
|
14
|
+
'text-caption-l-bold': [
|
15
|
+
'font-size: 0.8125rem',
|
16
|
+
'font-weight: bold',
|
17
|
+
'font-family: var(--tui-font-text)',
|
18
|
+
'letter-spacing: 0.0625rem',
|
19
|
+
'text-transform: uppercase',
|
20
|
+
],
|
21
|
+
'text-caption-l': [
|
22
|
+
'font-size: 0.8125rem',
|
23
|
+
'font-weight: normal',
|
24
|
+
'font-family: var(--tui-font-text)',
|
25
|
+
'letter-spacing: 0.0625rem',
|
26
|
+
'text-transform: uppercase',
|
27
|
+
],
|
28
|
+
'text-caption-bold': [
|
29
|
+
'font-size: 0.6875rem',
|
30
|
+
'font-weight: bold',
|
31
|
+
'font-family: var(--tui-font-text)',
|
32
|
+
'letter-spacing: 0.0625rem',
|
33
|
+
'text-transform: uppercase',
|
34
|
+
],
|
35
|
+
'text-caption': [
|
36
|
+
'font-size: 0.6875rem',
|
37
|
+
'font-weight: normal',
|
38
|
+
'font-family: var(--tui-font-text)',
|
39
|
+
'letter-spacing: 0.0625rem',
|
40
|
+
'text-transform: uppercase',
|
41
|
+
],
|
42
|
+
};
|
43
|
+
// .tui-text-h1();
|
44
|
+
// @include tui-text-h1();
|
45
|
+
const MIXIN_RE = /(?:@include\s|\.)(text-[\w-]+)\(([\w-,\s]+)?\)(\s?!important)?;/g;
|
46
|
+
function migrateTextMixins(fileContent) {
|
47
|
+
if (!fileContent.includes('@taiga-ui/core/styles/taiga-ui-local')) {
|
48
|
+
return fileContent;
|
49
|
+
}
|
50
|
+
return fileContent.replaceAll(MIXIN_RE, (originalString, mixinName, important = '') => MAPPING[mixinName]
|
51
|
+
? `${MAPPING[mixinName].map((newValue) => `${newValue}${important};`).join('\n')}`
|
52
|
+
: `${originalString} // TODO: this mixin was deleted. Replace it with inline styles. Find it source code in https://github.com/taiga-family/taiga-ui/blob/v3.x/projects/core/styles/mixins/text.less`);
|
53
|
+
}
|
54
|
+
exports.migrateTextMixins = migrateTextMixins;
|
@@ -1,10 +1,16 @@
|
|
1
1
|
export * from './migrate-avatar';
|
2
|
+
export * from './migrate-axes';
|
2
3
|
export * from './migrate-badge';
|
3
4
|
export * from './migrate-badged-content';
|
5
|
+
export * from './migrate-button-appearance';
|
4
6
|
export * from './migrate-expandable';
|
5
7
|
export * from './migrate-focusable';
|
8
|
+
export * from './migrate-label';
|
6
9
|
export * from './migrate-labeled';
|
10
|
+
export * from './migrate-mobile-tabs';
|
7
11
|
export * from './migrate-money';
|
12
|
+
export * from './migrate-notification';
|
13
|
+
export * from './migrate-overscroll';
|
8
14
|
export * from './migrate-prevent-default';
|
9
15
|
export * from './migrate-progress-segmented';
|
10
16
|
export * from './migrate-thumbnail-card';
|
@@ -2,12 +2,18 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
const tslib_1 = require("tslib");
|
4
4
|
tslib_1.__exportStar(require("./migrate-avatar"), exports);
|
5
|
+
tslib_1.__exportStar(require("./migrate-axes"), exports);
|
5
6
|
tslib_1.__exportStar(require("./migrate-badge"), exports);
|
6
7
|
tslib_1.__exportStar(require("./migrate-badged-content"), exports);
|
8
|
+
tslib_1.__exportStar(require("./migrate-button-appearance"), exports);
|
7
9
|
tslib_1.__exportStar(require("./migrate-expandable"), exports);
|
8
10
|
tslib_1.__exportStar(require("./migrate-focusable"), exports);
|
11
|
+
tslib_1.__exportStar(require("./migrate-label"), exports);
|
9
12
|
tslib_1.__exportStar(require("./migrate-labeled"), exports);
|
13
|
+
tslib_1.__exportStar(require("./migrate-mobile-tabs"), exports);
|
10
14
|
tslib_1.__exportStar(require("./migrate-money"), exports);
|
15
|
+
tslib_1.__exportStar(require("./migrate-notification"), exports);
|
16
|
+
tslib_1.__exportStar(require("./migrate-overscroll"), exports);
|
11
17
|
tslib_1.__exportStar(require("./migrate-prevent-default"), exports);
|
12
18
|
tslib_1.__exportStar(require("./migrate-progress-segmented"), exports);
|
13
19
|
tslib_1.__exportStar(require("./migrate-thumbnail-card"), exports);
|
@@ -22,9 +22,6 @@ function addModules(componentPath, modules) {
|
|
22
22
|
});
|
23
23
|
}
|
24
24
|
function getFallbackValue(textValue, fallbackValue) {
|
25
|
-
if (textValue) {
|
26
|
-
return `(${textValue} | tuiInitials)`;
|
27
|
-
}
|
28
25
|
return textValue ? `(${textValue} | tuiInitials)` : fallbackValue || '';
|
29
26
|
}
|
30
27
|
function normalizeAttrValue(attrName, attrValue) {
|
@@ -47,6 +44,7 @@ function migrateAvatar({ resource, recorder, fileSystem, }) {
|
|
47
44
|
const fallbackAttr = (0, inputs_1.findAttr)(attrs, 'fallback');
|
48
45
|
const textAttr = (0, inputs_1.findAttr)(attrs, 'text');
|
49
46
|
const roundedAttr = (0, inputs_1.findAttr)(attrs, 'rounded');
|
47
|
+
const autoColorAttr = (0, inputs_1.findAttr)(attrs, 'autoColor');
|
50
48
|
if ((!avatarUrlAttr && !textAttr) || !sourceCodeLocation) {
|
51
49
|
return;
|
52
50
|
}
|
@@ -55,6 +53,8 @@ function migrateAvatar({ resource, recorder, fileSystem, }) {
|
|
55
53
|
const textAttrValue = (textAttr === null || textAttr === void 0 ? void 0 : textAttr.value) && normalizeAttrValue(textAttr.name, textAttr.value);
|
56
54
|
const fallbackAttrValue = (fallbackAttr === null || fallbackAttr === void 0 ? void 0 : fallbackAttr.value) &&
|
57
55
|
normalizeAttrValue(fallbackAttr.name, fallbackAttr.value);
|
56
|
+
const autoColorValue = (autoColorAttr === null || autoColorAttr === void 0 ? void 0 : autoColorAttr.value) &&
|
57
|
+
normalizeAttrValue(autoColorAttr.name, autoColorAttr.value);
|
58
58
|
const insertTo = ((_b = (_a = sourceCodeLocation.startTag) === null || _a === void 0 ? void 0 : _a.startOffset) !== null && _b !== void 0 ? _b : 0) + '<tui-avatar'.length;
|
59
59
|
if (!insertTo) {
|
60
60
|
return;
|
@@ -66,8 +66,13 @@ function migrateAvatar({ resource, recorder, fileSystem, }) {
|
|
66
66
|
const fallbackSrc = urlAttrValue && fallbackValue
|
67
67
|
? `| tuiFallbackSrc : ${fallbackValue} | async`
|
68
68
|
: '';
|
69
|
-
recorder.insertRight(insertTo + templateOffset, ` [src]="${mainSrc}${fallbackSrc ? ` ${fallbackSrc}` : ''}"${!roundedAttr ? ' [round]="false"' : ''}`);
|
70
|
-
const attrsToRemove = [
|
69
|
+
recorder.insertRight(insertTo + templateOffset, ` [src]="${mainSrc}${fallbackSrc ? ` ${fallbackSrc}` : ''}"${!roundedAttr ? ' [round]="false"' : ''}${autoColorValue === 'true' ? ` [style.background]="${textAttrValue} | tuiAutoColor"` : ''}`);
|
70
|
+
const attrsToRemove = [
|
71
|
+
avatarUrlAttr,
|
72
|
+
textAttr,
|
73
|
+
fallbackAttr,
|
74
|
+
autoColorAttr,
|
75
|
+
].filter((attr) => attr !== undefined);
|
71
76
|
const fallbackModule = !!((avatarUrlAttr && textAttrValue) || fallbackAttr);
|
72
77
|
const initialsModule = !!textAttrValue;
|
73
78
|
const modules = [
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { UpdateRecorder } from '@angular-devkit/schematics';
|
2
2
|
import type { DevkitFileSystem } from 'ng-morph';
|
3
|
-
import type { TemplateResource } from '
|
4
|
-
export declare function
|
3
|
+
import type { TemplateResource } from '../../../interfaces';
|
4
|
+
export declare function migrateAxes({ resource, recorder, fileSystem, }: {
|
5
5
|
fileSystem: DevkitFileSystem;
|
6
6
|
recorder: UpdateRecorder;
|
7
7
|
resource: TemplateResource;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.migrateAxes = void 0;
|
4
|
+
const elements_1 = require("../../../../utils/templates/elements");
|
5
|
+
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
6
|
+
const remove_attrs_1 = require("../utils/remove-attrs");
|
7
|
+
const AXES_TAG_NAME = 'tui-axes';
|
8
|
+
const AXES_NEW_ATTRIBUTE = 'new';
|
9
|
+
function migrateAxes({ resource, recorder, fileSystem, }) {
|
10
|
+
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
11
|
+
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
12
|
+
const elements = (0, elements_1.findElementsByTagName)(template, AXES_TAG_NAME);
|
13
|
+
elements.forEach(({ attrs, sourceCodeLocation }) => {
|
14
|
+
const axesNewAttr = attrs.find((attr) => attr.name === AXES_NEW_ATTRIBUTE);
|
15
|
+
if (!sourceCodeLocation) {
|
16
|
+
return;
|
17
|
+
}
|
18
|
+
if (axesNewAttr) {
|
19
|
+
(0, remove_attrs_1.removeAttrs)([axesNewAttr], sourceCodeLocation, recorder, templateOffset);
|
20
|
+
}
|
21
|
+
else {
|
22
|
+
recorder.insertLeft(sourceCodeLocation.startOffset + templateOffset, '<!-- TODO: (Taiga UI migration) labels positioning on x axes were updated. Add empty string to axisXLabels array. See https://taiga-ui.dev/charts/axes -->\n');
|
23
|
+
}
|
24
|
+
});
|
25
|
+
}
|
26
|
+
exports.migrateAxes = migrateAxes;
|
@@ -2,7 +2,15 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.migrateBadge = void 0;
|
4
4
|
const elements_1 = require("../../../../utils/templates/elements");
|
5
|
+
const inputs_1 = require("../../../../utils/templates/inputs");
|
5
6
|
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
7
|
+
const common_1 = require("./toggles/common");
|
8
|
+
const badgeSizeMap = {
|
9
|
+
xs: 's',
|
10
|
+
s: 'm',
|
11
|
+
m: 'l',
|
12
|
+
l: 'xl',
|
13
|
+
};
|
6
14
|
function migrateBadge({ resource, recorder, fileSystem, }) {
|
7
15
|
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
8
16
|
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
@@ -11,7 +19,8 @@ function migrateBadge({ resource, recorder, fileSystem, }) {
|
|
11
19
|
if (!sourceCodeLocation) {
|
12
20
|
return;
|
13
21
|
}
|
14
|
-
|
22
|
+
(0, common_1.replaceSizeAttr)(attrs, sourceCodeLocation, recorder, templateOffset, badgeSizeMap);
|
23
|
+
const valueAttr = (0, inputs_1.findAttr)(attrs, 'value');
|
15
24
|
// migration for icon-only badges
|
16
25
|
if (!valueAttr) {
|
17
26
|
addTodo(recorder, sourceCodeLocation, templateOffset);
|
@@ -31,16 +40,16 @@ function migrateBadge({ resource, recorder, fileSystem, }) {
|
|
31
40
|
}
|
32
41
|
exports.migrateBadge = migrateBadge;
|
33
42
|
function migrateIcon({ svg, sourceCodeLocation, recorder, templateOffset, }) {
|
34
|
-
var _a, _b, _c, _d
|
35
|
-
const src = (
|
43
|
+
var _a, _b, _c, _d;
|
44
|
+
const src = (0, inputs_1.findAttr)(svg.attrs, 'src');
|
36
45
|
const srcValue = src === null || src === void 0 ? void 0 : src.value;
|
37
46
|
if (!srcValue) {
|
38
47
|
return;
|
39
48
|
}
|
40
|
-
const insertTo = templateOffset + (((
|
49
|
+
const insertTo = templateOffset + (((_a = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.startTag) === null || _a === void 0 ? void 0 : _a.endOffset) || 0) - 1;
|
41
50
|
recorder.insertRight(insertTo, `${(src === null || src === void 0 ? void 0 : src.name) === 'src' ? 'iconStart' : '[iconStart]'}="${srcValue}"`);
|
42
|
-
recorder.remove(((
|
43
|
-
(((
|
51
|
+
recorder.remove(((_b = svg.sourceCodeLocation) === null || _b === void 0 ? void 0 : _b.startOffset) || 0, (((_c = svg.sourceCodeLocation) === null || _c === void 0 ? void 0 : _c.endOffset) || 0) -
|
52
|
+
(((_d = svg.sourceCodeLocation) === null || _d === void 0 ? void 0 : _d.startOffset) || 0));
|
44
53
|
}
|
45
54
|
function migrateBadgeValue({ valueAttr, sourceCodeLocation, recorder, templateOffset, }) {
|
46
55
|
var _a, _b, _c, _d, _e;
|
@@ -59,7 +59,7 @@ function migrateBadgedContent({ resource, recorder, fileSystem, }) {
|
|
59
59
|
});
|
60
60
|
if (!rounded || rounded.value === 'true') {
|
61
61
|
const insertTo = (_b = (_a = sourceCodeLocation.startTag) === null || _a === void 0 ? void 0 : _a.endOffset) !== null && _b !== void 0 ? _b : 0;
|
62
|
-
recorder.insertRight(insertTo + templateOffset - 1, '[style.--tui-radius.%]="50"');
|
62
|
+
recorder.insertRight(insertTo + templateOffset - 1, ' [style.--tui-radius.%]="50"');
|
63
63
|
}
|
64
64
|
const attrsToRemove = [
|
65
65
|
colorBottomAttr,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { UpdateRecorder } from '@angular-devkit/schematics';
|
2
2
|
import type { DevkitFileSystem } from 'ng-morph';
|
3
|
-
import type { TemplateResource } from '
|
4
|
-
export declare function
|
3
|
+
import type { TemplateResource } from '../../../interfaces';
|
4
|
+
export declare function migrateBlocked({ resource, recorder, fileSystem, }: {
|
5
5
|
fileSystem: DevkitFileSystem;
|
6
6
|
recorder: UpdateRecorder;
|
7
7
|
resource: TemplateResource;
|
@@ -0,0 +1,35 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.migrateBlocked = void 0;
|
4
|
+
const elements_1 = require("../../../../utils/templates/elements");
|
5
|
+
const inputs_1 = require("../../../../utils/templates/inputs");
|
6
|
+
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
7
|
+
function migrateBlocked({ resource, recorder, fileSystem, }) {
|
8
|
+
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
9
|
+
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
10
|
+
const elements = (0, elements_1.findElementsByTagNames)(template, [
|
11
|
+
'tui-checkbox-block',
|
12
|
+
'tui-radio-block',
|
13
|
+
]);
|
14
|
+
elements.forEach(({ sourceCodeLocation, tagName, attrs }) => {
|
15
|
+
var _a, _b, _c, _d;
|
16
|
+
if (!sourceCodeLocation) {
|
17
|
+
return;
|
18
|
+
}
|
19
|
+
const [, hideIconAttrLocation] = Object.entries(sourceCodeLocation.attrs || {}).find(([name]) => name.includes('hideCheckbox'.toLowerCase()) ||
|
20
|
+
name.includes('hideRadio'.toLowerCase())) || [];
|
21
|
+
const [, sizeAttrLocation] = Object.entries(sourceCodeLocation.attrs || {}).find(([name]) => name.includes('size')) || [];
|
22
|
+
const sizeAttr = (0, inputs_1.findAttr)(attrs, 'size');
|
23
|
+
const newBlockAttr = `tuiBlock${sizeAttr ? `="${sizeAttr.value === 'xs' ? 's' : sizeAttr.value}"` : ''}`;
|
24
|
+
recorder.insertRight(templateOffset + (((_a = sourceCodeLocation.startTag) === null || _a === void 0 ? void 0 : _a.startOffset) || 1) - 1, `<label ${newBlockAttr}${hideIconAttrLocation ? ' appearance=""' : ''}>`);
|
25
|
+
recorder.remove(templateOffset + ((_c = (_b = sourceCodeLocation.endTag) === null || _b === void 0 ? void 0 : _b.startOffset) !== null && _c !== void 0 ? _c : 0), `<${tagName}/>`.length);
|
26
|
+
recorder.insertRight(templateOffset + (((_d = sourceCodeLocation.endTag) === null || _d === void 0 ? void 0 : _d.startOffset) || 1), '</label>');
|
27
|
+
if (hideIconAttrLocation) {
|
28
|
+
recorder.remove(templateOffset + hideIconAttrLocation.startOffset, hideIconAttrLocation.endOffset - hideIconAttrLocation.startOffset);
|
29
|
+
}
|
30
|
+
if (sizeAttrLocation) {
|
31
|
+
recorder.remove(templateOffset + sizeAttrLocation.startOffset, sizeAttrLocation.endOffset - sizeAttrLocation.startOffset);
|
32
|
+
}
|
33
|
+
});
|
34
|
+
}
|
35
|
+
exports.migrateBlocked = migrateBlocked;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { UpdateRecorder } from '@angular-devkit/schematics';
|
2
|
+
import type { DevkitFileSystem } from 'ng-morph';
|
3
|
+
import type { TemplateResource } from '../../../interfaces';
|
4
|
+
export declare function migrateButtonAppearance({ resource, recorder, fileSystem, }: {
|
5
|
+
fileSystem: DevkitFileSystem;
|
6
|
+
recorder: UpdateRecorder;
|
7
|
+
resource: TemplateResource;
|
8
|
+
}): void;
|
@@ -0,0 +1,41 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.migrateButtonAppearance = void 0;
|
4
|
+
const elements_1 = require("../../../../utils/templates/elements");
|
5
|
+
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
6
|
+
const remove_attrs_1 = require("../utils/remove-attrs");
|
7
|
+
const tuiButtonSelectors = ['tuiButton', 'tuiIconButton'];
|
8
|
+
const appearanceInputName = 'appearance';
|
9
|
+
const appearanceInputNameDict = {
|
10
|
+
[appearanceInputName]: true,
|
11
|
+
[`[${appearanceInputName}]`]: true,
|
12
|
+
};
|
13
|
+
function migrateButtonAppearance({ resource, recorder, fileSystem, }) {
|
14
|
+
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
15
|
+
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
16
|
+
const elements = tuiButtonSelectors.flatMap((selector) => (0, elements_1.findElementsWithDirective)(template, selector).filter(({ sourceCodeLocation, attrs }) => !!sourceCodeLocation &&
|
17
|
+
attrs.some(({ name }) => appearanceInputNameDict[name])));
|
18
|
+
if (!elements.length) {
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
const whiteBlockValue = 'whiteblock-active';
|
22
|
+
elements.forEach(({ attrs, sourceCodeLocation }) => {
|
23
|
+
var _a;
|
24
|
+
const whiteBlockActiveAttr = attrs.find(({ value, name }) => appearanceInputNameDict[name] &&
|
25
|
+
(value === whiteBlockValue || value === `'${whiteBlockValue}'`));
|
26
|
+
if (whiteBlockActiveAttr) {
|
27
|
+
(0, remove_attrs_1.removeAttrs)([whiteBlockActiveAttr], sourceCodeLocation, recorder, templateOffset);
|
28
|
+
const { startOffset } = ((_a = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.attrs) === null || _a === void 0 ? void 0 : _a[whiteBlockActiveAttr.name]) || { startOffset: 0, endOffset: 0 };
|
29
|
+
recorder.insertLeft(startOffset + templateOffset, ` ${appearanceInputName}="whiteblock"`);
|
30
|
+
recorder.insertLeft(startOffset + templateOffset, ' data-mode="checked"');
|
31
|
+
}
|
32
|
+
});
|
33
|
+
const elementWithConditionAppearance = elements.find(({ attrs }) => attrs.some(({ name, value }) => name === `[${appearanceInputName}]` && !value.trim().startsWith("'")));
|
34
|
+
if (elementWithConditionAppearance) {
|
35
|
+
addTodo(recorder, templateOffset);
|
36
|
+
}
|
37
|
+
}
|
38
|
+
exports.migrateButtonAppearance = migrateButtonAppearance;
|
39
|
+
function addTodo(recorder, templateOffset) {
|
40
|
+
recorder.insertRight(templateOffset, '<!-- Taiga migration TODO: tuiButton "whiteblock-active" appearance is no longer available. Use \'appearance="whiteblock" data-mode="checked"\' -->\n');
|
41
|
+
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.migrateExpandable = void 0;
|
4
4
|
const elements_1 = require("../../../../utils/templates/elements");
|
5
|
+
const inputs_1 = require("../../../../utils/templates/inputs");
|
5
6
|
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
6
7
|
function migrateExpandable({ resource, recorder, fileSystem, }) {
|
7
8
|
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
@@ -9,7 +10,7 @@ function migrateExpandable({ resource, recorder, fileSystem, }) {
|
|
9
10
|
const elements = (0, elements_1.findElementsWithAttributeOnTag)(template, ['[expandable]'], ['tui-input-tag', 'tui-multi-select', 'tui-input-date']);
|
10
11
|
elements.forEach(({ attrs, sourceCodeLocation }) => {
|
11
12
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
12
|
-
const expandableAttr =
|
13
|
+
const expandableAttr = (0, inputs_1.findAttr)(attrs, 'expandable');
|
13
14
|
if (!expandableAttr) {
|
14
15
|
return;
|
15
16
|
}
|
@@ -17,7 +18,7 @@ function migrateExpandable({ resource, recorder, fileSystem, }) {
|
|
17
18
|
const expandableStart = (_c = (_b = (_a = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.attrs) === null || _a === void 0 ? void 0 : _a[expandableAttr.name]) === null || _b === void 0 ? void 0 : _b.startOffset) !== null && _c !== void 0 ? _c : 0;
|
18
19
|
const expandableEnd = (_f = (_e = (_d = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.attrs) === null || _d === void 0 ? void 0 : _d[expandableAttr.name]) === null || _e === void 0 ? void 0 : _e.endOffset) !== null && _f !== void 0 ? _f : 0;
|
19
20
|
if (expandableValue === 'false') {
|
20
|
-
const rowsAttr =
|
21
|
+
const rowsAttr = (0, inputs_1.findAttr)(attrs, 'rows');
|
21
22
|
const insertTo = ((_h = (_g = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.startTag) === null || _g === void 0 ? void 0 : _g.endOffset) !== null && _h !== void 0 ? _h : 0) - 1;
|
22
23
|
recorder.insertRight(templateOffset + insertTo, rowsAttr ? '' : '[rows]="1"');
|
23
24
|
}
|
@@ -2,19 +2,22 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.migrateFocusable = void 0;
|
4
4
|
const elements_1 = require("../../../../utils/templates/elements");
|
5
|
+
const inputs_1 = require("../../../../utils/templates/inputs");
|
5
6
|
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
6
|
-
const LEGACY_ATTRIBUTE_NAME = '
|
7
|
+
const LEGACY_ATTRIBUTE_NAME = 'tuiFocusable';
|
7
8
|
function migrateFocusable({ resource, recorder, fileSystem, }) {
|
8
9
|
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
9
10
|
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
10
|
-
const elements = (0, elements_1.findElementsWithAttributeOnTag)(template, [
|
11
|
+
const elements = (0, elements_1.findElementsWithAttributeOnTag)(template, [
|
12
|
+
`[${LEGACY_ATTRIBUTE_NAME}]`,
|
13
|
+
]);
|
11
14
|
elements.forEach(({ attrs, sourceCodeLocation }) => {
|
12
15
|
var _a;
|
13
16
|
if (!sourceCodeLocation) {
|
14
17
|
return;
|
15
18
|
}
|
16
|
-
const focusableAttr =
|
17
|
-
const attributeLocation = (_a = sourceCodeLocation.attrs) === null || _a === void 0 ? void 0 : _a[
|
19
|
+
const focusableAttr = (0, inputs_1.findAttr)(attrs, LEGACY_ATTRIBUTE_NAME);
|
20
|
+
const attributeLocation = (_a = sourceCodeLocation.attrs) === null || _a === void 0 ? void 0 : _a[focusableAttr.name];
|
18
21
|
if (!focusableAttr || !attributeLocation) {
|
19
22
|
return;
|
20
23
|
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { UpdateRecorder } from '@angular-devkit/schematics';
|
2
|
+
import type { DevkitFileSystem } from 'ng-morph';
|
3
|
+
import type { TemplateResource } from '../../../interfaces';
|
4
|
+
export declare function migrateLabel({ resource, recorder, fileSystem, }: {
|
5
|
+
fileSystem: DevkitFileSystem;
|
6
|
+
recorder: UpdateRecorder;
|
7
|
+
resource: TemplateResource;
|
8
|
+
}): void;
|
@@ -0,0 +1,39 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.migrateLabel = void 0;
|
4
|
+
const elements_1 = require("../../../../utils/templates/elements");
|
5
|
+
const inputs_1 = require("../../../../utils/templates/inputs");
|
6
|
+
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
7
|
+
function migrateLabel({ resource, recorder, fileSystem, }) {
|
8
|
+
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
9
|
+
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
10
|
+
const labelElements = (0, elements_1.findElementsByTagName)(template, 'label', ({ attrs }) => attrs.some(({ name }) => name === 'tuilabel' || name === '[tuilabel]'));
|
11
|
+
labelElements.forEach(({ attrs, sourceCodeLocation }) => {
|
12
|
+
const labelAttr = (0, inputs_1.findAttr)(attrs, 'tuilabel');
|
13
|
+
if (!labelAttr || !sourceCodeLocation) {
|
14
|
+
return;
|
15
|
+
}
|
16
|
+
migrateValue({
|
17
|
+
valueAttr: labelAttr,
|
18
|
+
sourceCodeLocation,
|
19
|
+
recorder,
|
20
|
+
templateOffset,
|
21
|
+
});
|
22
|
+
});
|
23
|
+
}
|
24
|
+
exports.migrateLabel = migrateLabel;
|
25
|
+
function migrateValue({ valueAttr, sourceCodeLocation, recorder, templateOffset, }) {
|
26
|
+
var _a, _b, _c;
|
27
|
+
const attrValue = valueAttr === null || valueAttr === void 0 ? void 0 : valueAttr.value;
|
28
|
+
const insertTo = (_b = (_a = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.startTag) === null || _a === void 0 ? void 0 : _a.endOffset) !== null && _b !== void 0 ? _b : 0;
|
29
|
+
if (!attrValue || !insertTo) {
|
30
|
+
return;
|
31
|
+
}
|
32
|
+
recorder.insertRight(insertTo + templateOffset, valueAttr.name === 'tuilabel' ? attrValue : `{{ ${attrValue} }}`);
|
33
|
+
const attrOffset = (_c = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.attrs) === null || _c === void 0 ? void 0 : _c[valueAttr.name];
|
34
|
+
if (attrOffset) {
|
35
|
+
const { startOffset, endOffset } = attrOffset;
|
36
|
+
recorder.remove(templateOffset + startOffset, endOffset - startOffset);
|
37
|
+
recorder.insertRight(templateOffset + startOffset, 'tuiLabel');
|
38
|
+
}
|
39
|
+
}
|
@@ -15,7 +15,7 @@ function migrateLabeled({ resource, recorder, fileSystem, }) {
|
|
15
15
|
data: [
|
16
16
|
{
|
17
17
|
attrNames: ['size'],
|
18
|
-
|
18
|
+
valueReplacer: [
|
19
19
|
{ from: 'l', to: 'm' },
|
20
20
|
{ from: 'm', to: 's' },
|
21
21
|
],
|
@@ -28,16 +28,14 @@ function migrateLabeled({ resource, recorder, fileSystem, }) {
|
|
28
28
|
'tui-radio-labeled',
|
29
29
|
]);
|
30
30
|
elements.forEach(({ sourceCodeLocation, tagName }) => {
|
31
|
-
var _a, _b, _c, _d
|
31
|
+
var _a, _b, _c, _d;
|
32
32
|
if (!sourceCodeLocation) {
|
33
33
|
return;
|
34
34
|
}
|
35
35
|
(0, add_import_to_closest_module_1.addImportToClosestModule)(resource.componentPath, tagName === 'tui-checkbox-labeled' ? 'TuiCheckbox' : 'TuiRadio', '@taiga-ui/kit');
|
36
|
-
recorder.insertRight(templateOffset + ((
|
37
|
-
recorder.
|
38
|
-
recorder.
|
39
|
-
? '<tui-checkbox-labeled/>'.length
|
40
|
-
: '<tui-radio-labeled/>'.length);
|
36
|
+
recorder.insertRight(templateOffset + (((_a = sourceCodeLocation.startTag) === null || _a === void 0 ? void 0 : _a.startOffset) || 1) - 1, '<label tuiLabel>');
|
37
|
+
recorder.remove(templateOffset + ((_c = (_b = sourceCodeLocation.endTag) === null || _b === void 0 ? void 0 : _b.startOffset) !== null && _c !== void 0 ? _c : 0), `<${tagName}/>`.length);
|
38
|
+
recorder.insertRight(templateOffset + (((_d = sourceCodeLocation.endTag) === null || _d === void 0 ? void 0 : _d.startOffset) || 1), '</label>');
|
41
39
|
});
|
42
40
|
}
|
43
41
|
exports.migrateLabeled = migrateLabeled;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { UpdateRecorder } from '@angular-devkit/schematics';
|
2
|
+
import type { DevkitFileSystem } from 'ng-morph';
|
3
|
+
import type { TemplateResource } from '../../../interfaces';
|
4
|
+
export declare function migrateMobileTabs({ resource, recorder, fileSystem, }: {
|
5
|
+
fileSystem: DevkitFileSystem;
|
6
|
+
recorder: UpdateRecorder;
|
7
|
+
resource: TemplateResource;
|
8
|
+
}): void;
|
@@ -0,0 +1,45 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.migrateMobileTabs = void 0;
|
4
|
+
const add_import_to_closest_module_1 = require("../../../../utils/add-import-to-closest-module");
|
5
|
+
const elements_1 = require("../../../../utils/templates/elements");
|
6
|
+
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
7
|
+
const templates_1 = require("../../../utils/templates");
|
8
|
+
const remove_attrs_1 = require("../utils/remove-attrs");
|
9
|
+
const TABS_TAG_NAME = 'tui-tabs';
|
10
|
+
const SEGMENTED_TAG_NAME = 'tui-segmented';
|
11
|
+
const TAB_ATTRIBUTE_NAME = 'tuiTab'.toLowerCase();
|
12
|
+
const MOBILE_TABS_ATTRIBUTE_NAME = 'tuiMobileTabs'.toLowerCase();
|
13
|
+
function migrateMobileTabs({ resource, recorder, fileSystem, }) {
|
14
|
+
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
15
|
+
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
16
|
+
const elements = (0, elements_1.findElementsWithAttributeOnTag)(template, [MOBILE_TABS_ATTRIBUTE_NAME], [TABS_TAG_NAME]);
|
17
|
+
if (elements.length > 0) {
|
18
|
+
(0, add_import_to_closest_module_1.addImportToClosestModule)(resource.componentPath, 'TuiSegmented', '@taiga-ui/kit');
|
19
|
+
}
|
20
|
+
elements.forEach((element) => {
|
21
|
+
(0, templates_1.replaceTag)(recorder, element.sourceCodeLocation, TABS_TAG_NAME, SEGMENTED_TAG_NAME, templateOffset);
|
22
|
+
removeMobileTabsAttribute(element, recorder, templateOffset);
|
23
|
+
element.childNodes
|
24
|
+
.filter(isElement)
|
25
|
+
.forEach((element) => removeTabAttribute(element, recorder, templateOffset));
|
26
|
+
});
|
27
|
+
}
|
28
|
+
exports.migrateMobileTabs = migrateMobileTabs;
|
29
|
+
function removeTabAttribute({ attrs, sourceCodeLocation }, recorder, templateOffset) {
|
30
|
+
const tabAttr = attrs.find((attr) => attr.name === TAB_ATTRIBUTE_NAME);
|
31
|
+
if (!tabAttr || !sourceCodeLocation) {
|
32
|
+
return;
|
33
|
+
}
|
34
|
+
(0, remove_attrs_1.removeAttrs)([tabAttr], sourceCodeLocation, recorder, templateOffset);
|
35
|
+
}
|
36
|
+
function removeMobileTabsAttribute({ attrs, sourceCodeLocation }, recorder, templateOffset) {
|
37
|
+
const mobileTabsAttr = attrs.find((attr) => attr.name === MOBILE_TABS_ATTRIBUTE_NAME);
|
38
|
+
if (!mobileTabsAttr || !sourceCodeLocation) {
|
39
|
+
return;
|
40
|
+
}
|
41
|
+
(0, remove_attrs_1.removeAttrs)([mobileTabsAttr], sourceCodeLocation, recorder, templateOffset);
|
42
|
+
}
|
43
|
+
function isElement(node) {
|
44
|
+
return Boolean(node.attrs);
|
45
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { UpdateRecorder } from '@angular-devkit/schematics';
|
2
|
+
import type { DevkitFileSystem } from 'ng-morph';
|
3
|
+
import type { TemplateResource } from '../../../interfaces';
|
4
|
+
export declare function migrateNotification({ resource, recorder, fileSystem, }: {
|
5
|
+
fileSystem: DevkitFileSystem;
|
6
|
+
recorder: UpdateRecorder;
|
7
|
+
resource: TemplateResource;
|
8
|
+
}): void;
|