@taiga-ui/cdk 5.0.0-rc.4 → 5.0.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/constants/used-icons.d.ts +1 -1
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/constants/version.js.map +1 -1
- package/directives/index.d.ts +1 -0
- package/directives/truncate/index.d.ts +2 -0
- package/directives/truncate/truncate.directive.d.ts +13 -0
- package/directives/truncate/truncate.service.d.ts +9 -0
- package/directives/visual-viewport/visual-viewport.directive.d.ts +1 -0
- package/fesm2022/taiga-ui-cdk-classes.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-constants.mjs +1 -5
- package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs +4 -4
- package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-animated.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-animated.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-control.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-control.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-element.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-element.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-font-size.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-font-size.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-hovered.mjs +6 -6
- package/fesm2022/taiga-ui-cdk-directives-hovered.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-item.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-media.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-media.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +6 -6
- package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-pan.mjs +6 -6
- package/fesm2022/taiga-ui-cdk-directives-pan.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-platform.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-platform.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-resizer.mjs +6 -6
- package/fesm2022/taiga-ui-cdk-directives-resizer.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +6 -6
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs +6 -9
- package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-truncate.mjs +177 -0
- package/fesm2022/taiga-ui-cdk-directives-truncate.mjs.map +1 -0
- package/fesm2022/taiga-ui-cdk-directives-validator.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs +6 -3
- package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-with-styles.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-with-styles.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +6 -6
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives.mjs +1 -0
- package/fesm2022/taiga-ui-cdk-directives.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-observables.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-pipes-filter.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-pipes-filter.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-pipes-mapper.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-pipes-mapper.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-portals.mjs +13 -16
- package/fesm2022/taiga-ui-cdk-portals.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-di.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-dom.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-focus.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-math.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +5 -1
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
- package/package.json +28 -10
- package/schematics/ng-add/constants/versions.d.ts +1 -1
- package/schematics/ng-add/index.js +0 -4
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-update/interfaces/replacement-function-parameter.d.ts +4 -2
- package/schematics/ng-update/utils/replace-attrs-in-host.d.ts +5 -0
- package/schematics/ng-update/utils/replace-attrs-in-host.js +41 -0
- package/schematics/ng-update/utils/replace-attrs-in-host.js.map +1 -0
- package/schematics/ng-update/utils/replace-function-parameters.js +19 -16
- package/schematics/ng-update/utils/replace-function-parameters.js.map +1 -1
- package/schematics/ng-update/v5/index.js +31 -6
- package/schematics/ng-update/v5/index.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/attr-with-values-to-replace.js +45 -0
- package/schematics/ng-update/v5/steps/constants/attr-with-values-to-replace.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/attrs-in-host-to-replace.d.ts +4 -0
- package/schematics/ng-update/v5/steps/constants/attrs-in-host-to-replace.js +10 -0
- package/schematics/ng-update/v5/steps/constants/attrs-in-host-to-replace.js.map +1 -0
- package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js +49 -0
- package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/function-parameters-to-replace.js +4 -5
- package/schematics/ng-update/v5/steps/constants/function-parameters-to-replace.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/html-comments.js +11 -0
- package/schematics/ng-update/v5/steps/constants/html-comments.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js +290 -0
- package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/inputs-to-remove.js +5 -0
- package/schematics/ng-update/v5/steps/constants/inputs-to-remove.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/migration-warnings.js +54 -0
- package/schematics/ng-update/v5/steps/constants/migration-warnings.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/modules-to-remove.js +16 -0
- package/schematics/ng-update/v5/steps/constants/modules-to-remove.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/style-comments.d.ts +1 -1
- package/schematics/ng-update/v5/steps/constants/style-comments.js +4 -4
- package/schematics/ng-update/v5/steps/constants/style-comments.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/tags-to-replace.js +5 -0
- package/schematics/ng-update/v5/steps/constants/tags-to-replace.js.map +1 -1
- package/schematics/ng-update/v5/steps/migrate-dialog-legacy-sizes.d.ts +3 -0
- package/schematics/ng-update/v5/steps/migrate-dialog-legacy-sizes.js +110 -0
- package/schematics/ng-update/v5/steps/migrate-dialog-legacy-sizes.js.map +1 -0
- package/schematics/ng-update/v5/steps/migrate-doc-i18n-tokens.d.ts +15 -0
- package/schematics/ng-update/v5/steps/migrate-doc-i18n-tokens.js +94 -0
- package/schematics/ng-update/v5/steps/migrate-doc-i18n-tokens.js.map +1 -0
- package/schematics/ng-update/v5/steps/migrate-filter-by-input.d.ts +3 -0
- package/schematics/ng-update/v5/steps/migrate-filter-by-input.js +103 -0
- package/schematics/ng-update/v5/steps/migrate-filter-by-input.js.map +1 -0
- package/schematics/ng-update/v5/steps/migrate-templates.js +39 -2
- package/schematics/ng-update/v5/steps/migrate-templates.js.map +1 -1
- package/schematics/ng-update/v5/steps/styles/migrate-imports.js +1 -0
- package/schematics/ng-update/v5/steps/styles/migrate-imports.js.map +1 -1
- package/schematics/ng-update/v5/steps/templates/migrate-calendar-sheet-single.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-calendar-sheet-single.js +118 -0
- package/schematics/ng-update/v5/steps/templates/migrate-calendar-sheet-single.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-chart-hint.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-chart-hint.js +17 -0
- package/schematics/ng-update/v5/steps/templates/migrate-chart-hint.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-combo-box.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-combo-box.js +207 -0
- package/schematics/ng-update/v5/steps/templates/migrate-combo-box.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-format-phone-pipe.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-format-phone-pipe.js +41 -0
- package/schematics/ng-update/v5/steps/templates/migrate-format-phone-pipe.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-color.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-color.js +52 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-color.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-date-multi.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-date-multi.js +178 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-date-multi.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-date-range.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-date-range.js +103 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-date-range.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-date.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-date.js +115 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-date.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-month.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-month.js +93 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-month.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-password.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-password.js +54 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-password.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-phone-international.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-phone-international.js +84 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-phone-international.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-phone.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-phone.js +90 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-phone.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-tag.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-tag.js +145 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-tag.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-time.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-time.js +114 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input-time.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input.js +302 -0
- package/schematics/ng-update/v5/steps/templates/migrate-input.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-multi-select.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-multi-select.js +250 -0
- package/schematics/ng-update/v5/steps/templates/migrate-multi-select.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-proprietary-textfield-icons.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-proprietary-textfield-icons.js +39 -0
- package/schematics/ng-update/v5/steps/templates/migrate-proprietary-textfield-icons.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-repeat-times.js +67 -0
- package/schematics/ng-update/v5/steps/templates/migrate-repeat-times.js.map +1 -1
- package/schematics/ng-update/v5/steps/templates/migrate-select.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-select.js +148 -0
- package/schematics/ng-update/v5/steps/templates/migrate-select.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-sidebar.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-sidebar.js +107 -0
- package/schematics/ng-update/v5/steps/templates/migrate-sidebar.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-textarea.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-textarea.js +301 -0
- package/schematics/ng-update/v5/steps/templates/migrate-textarea.js.map +1 -0
- package/schematics/utils/run-migration.d.ts +3 -0
- package/schematics/utils/run-migration.js +29 -2
- package/schematics/utils/run-migration.js.map +1 -1
- package/schematics/utils/templates/migrate-attr-value.d.ts +11 -0
- package/schematics/utils/templates/migrate-attr-value.js +30 -0
- package/schematics/utils/templates/migrate-attr-value.js.map +1 -0
- package/utils/miscellaneous/index.d.ts +1 -0
- package/utils/miscellaneous/is-flat.d.ts +1 -0
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrateComboBox = migrateComboBox;
|
|
4
|
+
const insert_todo_1 = require("../../../../utils/insert-todo");
|
|
5
|
+
const elements_1 = require("../../../../utils/templates/elements");
|
|
6
|
+
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
|
7
|
+
const replace_tag_1 = require("../../../utils/templates/replace-tag");
|
|
8
|
+
const DOCS_LINK = 'https://taiga-ui.dev/components/combo-box';
|
|
9
|
+
const CONTROL_ATTR_NAMES = [
|
|
10
|
+
'formControlName',
|
|
11
|
+
'[formControl]',
|
|
12
|
+
'formControl',
|
|
13
|
+
'[(ngModel)]',
|
|
14
|
+
'[ngModel]',
|
|
15
|
+
'ngModel',
|
|
16
|
+
];
|
|
17
|
+
const CONTROL_ATTRS = new Set(CONTROL_ATTR_NAMES.map((name) => name.toLowerCase()));
|
|
18
|
+
const INPUT_ATTRS = new Set(['[strictMatcher]'.toLowerCase(), '[strict]']);
|
|
19
|
+
const REMOVE_ATTRS = new Set([
|
|
20
|
+
'[tuiTextfieldLabelOutside]'.toLowerCase(),
|
|
21
|
+
'tuiTextfieldLabelOutside'.toLowerCase(),
|
|
22
|
+
]);
|
|
23
|
+
function migrateComboBox({ resource, recorder, fileSystem, }) {
|
|
24
|
+
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
|
25
|
+
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
|
26
|
+
const elements = (0, elements_1.findElementsByTagName)(template, 'tui-combo-box');
|
|
27
|
+
elements.forEach((element) => {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
const sourceCodeLocation = element.sourceCodeLocation;
|
|
30
|
+
const controlAttrs = element.attrs.filter((attr) => CONTROL_ATTRS.has(attr.name.toLowerCase()));
|
|
31
|
+
const inputAttrs = element.attrs.filter((attr) => INPUT_ATTRS.has(attr.name.toLowerCase()));
|
|
32
|
+
const removeAttrs = element.attrs.filter((attr) => REMOVE_ATTRS.has(attr.name.toLowerCase()));
|
|
33
|
+
const labelOutsideAttr = removeAttrs.find((attr) => REMOVE_ATTRS.has(attr.name.toLowerCase()));
|
|
34
|
+
const searchAttr = element.attrs.find((attr) => attr.name.toLowerCase() === '[search]');
|
|
35
|
+
const searchChangeAttr = element.attrs.find((attr) => attr.name.toLowerCase() === '(searchChange)'.toLowerCase());
|
|
36
|
+
const valueContentAttr = element.attrs.find((attr) => attr.name.toLowerCase() === '[valueContent]'.toLowerCase());
|
|
37
|
+
for (const attr of [...controlAttrs, ...inputAttrs, ...removeAttrs]) {
|
|
38
|
+
removeAttr(recorder, templateOffset, element, attr.name, template);
|
|
39
|
+
}
|
|
40
|
+
if (searchAttr) {
|
|
41
|
+
removeAttr(recorder, templateOffset, element, searchAttr.name, template);
|
|
42
|
+
}
|
|
43
|
+
if (searchChangeAttr) {
|
|
44
|
+
removeAttr(recorder, templateOffset, element, searchChangeAttr.name, template);
|
|
45
|
+
}
|
|
46
|
+
const addAttributes = [];
|
|
47
|
+
if (valueContentAttr) {
|
|
48
|
+
removeAttr(recorder, templateOffset, element, '[valueContent]', template);
|
|
49
|
+
addAttributes.push('#textfieldRef', `[content]="textfieldRef.focused() ? '' : ${valueContentAttr.value}"`);
|
|
50
|
+
}
|
|
51
|
+
(0, replace_tag_1.replaceTag)(recorder, sourceCodeLocation, 'tui-combo-box', 'tui-textfield', template, templateOffset, addAttributes);
|
|
52
|
+
if (searchAttr || searchChangeAttr) {
|
|
53
|
+
const searchTodo = [
|
|
54
|
+
`<!-- ${insert_todo_1.TODO_MARK} tui-combo-box migration (see ${DOCS_LINK}):`,
|
|
55
|
+
' - [search] / (searchChange): use native (input) event on <input tuiComboBox>',
|
|
56
|
+
'-->\n',
|
|
57
|
+
].join('\n');
|
|
58
|
+
const insertAt = ((_a = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.startOffset) !== null && _a !== void 0 ? _a : 0) + templateOffset;
|
|
59
|
+
recorder.insertLeft(insertAt, searchTodo);
|
|
60
|
+
}
|
|
61
|
+
const searchHandler = searchChangeAttr
|
|
62
|
+
? ` (input)="${searchChangeAttr.value.replaceAll('$event', '$event.target.value')}"`
|
|
63
|
+
: '';
|
|
64
|
+
const inputs = element.childNodes.filter((node) => node.nodeName === 'input');
|
|
65
|
+
if (inputs.length) {
|
|
66
|
+
handleExistingInput({
|
|
67
|
+
inputs,
|
|
68
|
+
recorder,
|
|
69
|
+
templateOffset,
|
|
70
|
+
template,
|
|
71
|
+
controlAttrs,
|
|
72
|
+
inputAttrs,
|
|
73
|
+
searchHandler,
|
|
74
|
+
});
|
|
75
|
+
if (!labelOutsideAttr || labelOutsideAttr.value === 'false') {
|
|
76
|
+
wrapTextInLabel(recorder, templateOffset, element);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
handleGeneratedInput({
|
|
81
|
+
element,
|
|
82
|
+
recorder,
|
|
83
|
+
templateOffset,
|
|
84
|
+
controlAttrs,
|
|
85
|
+
inputAttrs,
|
|
86
|
+
searchHandler,
|
|
87
|
+
sourceCodeLocation,
|
|
88
|
+
labelOutside: (_b = labelOutsideAttr === null || labelOutsideAttr === void 0 ? void 0 : labelOutsideAttr.value) !== null && _b !== void 0 ? _b : '',
|
|
89
|
+
template,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
function handleExistingInput({ inputs, recorder, templateOffset, template, controlAttrs, inputAttrs, searchHandler, }) {
|
|
95
|
+
inputs.forEach((input) => {
|
|
96
|
+
var _a, _b, _c, _d, _e, _f;
|
|
97
|
+
const legacyAttr = input.attrs.find((attr) => /^tuitextfieldlegacy$/i.test(attr.name));
|
|
98
|
+
if (legacyAttr) {
|
|
99
|
+
const { startOffset = 0, endOffset = 0 } = (_c = (_b = (_a = input.sourceCodeLocation) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b[legacyAttr.name]) !== null && _c !== void 0 ? _c : {};
|
|
100
|
+
const lineStart = template.lastIndexOf('\n', startOffset) + 1;
|
|
101
|
+
const lineEnd = template.indexOf('\n', endOffset);
|
|
102
|
+
const lineText = lineEnd === -1 ? '' : template.slice(lineStart, lineEnd);
|
|
103
|
+
const attrText = template.slice(startOffset, endOffset);
|
|
104
|
+
if (lineText.trim() === attrText.trim() && lineEnd !== -1) {
|
|
105
|
+
recorder.remove(templateOffset + lineStart, lineEnd - lineStart + 1);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
recorder.remove(templateOffset + startOffset, endOffset - startOffset);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
const insertOffset = ((_f = (_e = (_d = input.sourceCodeLocation) === null || _d === void 0 ? void 0 : _d.startTag) === null || _e === void 0 ? void 0 : _e.startOffset) !== null && _f !== void 0 ? _f : 0) + '<input'.length;
|
|
112
|
+
const formAttrs = formatControlAttrs(controlAttrs);
|
|
113
|
+
const inputAttrStr = formatInputAttrs(inputAttrs);
|
|
114
|
+
recorder.insertRight(templateOffset + insertOffset, ` tuiComboBox${formAttrs}${inputAttrStr}${searchHandler}`);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
function handleGeneratedInput({ element, recorder, templateOffset, controlAttrs, inputAttrs, searchHandler, sourceCodeLocation, labelOutside, template, }) {
|
|
118
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
119
|
+
const formAttrs = formatControlAttrs(controlAttrs);
|
|
120
|
+
const inputAttrStr = formatInputAttrs(inputAttrs);
|
|
121
|
+
const labelNode = element.childNodes.find((node) => node.nodeName === '#text' && !!node.value.trim());
|
|
122
|
+
if (labelOutside === 'true' && labelNode) {
|
|
123
|
+
const labelText = labelNode.value.trim();
|
|
124
|
+
const textStart = (_b = (_a = labelNode.sourceCodeLocation) === null || _a === void 0 ? void 0 : _a.startOffset) !== null && _b !== void 0 ? _b : 0;
|
|
125
|
+
const textEnd = (_d = (_c = labelNode.sourceCodeLocation) === null || _c === void 0 ? void 0 : _c.endOffset) !== null && _d !== void 0 ? _d : 0;
|
|
126
|
+
recorder.remove(templateOffset + textStart, textEnd - textStart);
|
|
127
|
+
recorder.insertRight(templateOffset + textStart, `\n<input tuiComboBox${formAttrs}${inputAttrStr}${searchHandler} placeholder="${labelText}" />\n`);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (!labelOutside || labelOutside === 'false') {
|
|
131
|
+
wrapTextInLabel(recorder, templateOffset, element);
|
|
132
|
+
}
|
|
133
|
+
else if (labelNode) {
|
|
134
|
+
const elementStart = (_f = (_e = element.sourceCodeLocation) === null || _e === void 0 ? void 0 : _e.startOffset) !== null && _f !== void 0 ? _f : 0;
|
|
135
|
+
const lineStart = template.lastIndexOf('\n', elementStart - 1) + 1;
|
|
136
|
+
const indent = template.slice(lineStart, elementStart);
|
|
137
|
+
const textStart = (_h = (_g = labelNode.sourceCodeLocation) === null || _g === void 0 ? void 0 : _g.startOffset) !== null && _h !== void 0 ? _h : 0;
|
|
138
|
+
recorder.insertRight(templateOffset + textStart + 1, `${indent}<!-- ${insert_todo_1.TODO_MARK} Use <label tuiLabel> element inside <tui-textfield> for a floating label or input[placeholder] for empty value label -->\n`);
|
|
139
|
+
}
|
|
140
|
+
const insertOffset = labelNode
|
|
141
|
+
? ((_k = (_j = labelNode.sourceCodeLocation) === null || _j === void 0 ? void 0 : _j.endOffset) !== null && _k !== void 0 ? _k : 0)
|
|
142
|
+
: ((_m = (_l = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.endTag) === null || _l === void 0 ? void 0 : _l.startOffset) !== null && _m !== void 0 ? _m : 0);
|
|
143
|
+
recorder.insertRight(templateOffset + insertOffset, `\n<input tuiComboBox${formAttrs}${inputAttrStr}${searchHandler} />\n`);
|
|
144
|
+
}
|
|
145
|
+
function wrapTextInLabel(recorder, templateOffset, element) {
|
|
146
|
+
var _a, _b, _c, _d;
|
|
147
|
+
const labelNode = element.childNodes.find((node) => node.nodeName === '#text' && !!node.value.trim());
|
|
148
|
+
if (!labelNode) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const labelTextStart = ((_b = (_a = labelNode.sourceCodeLocation) === null || _a === void 0 ? void 0 : _a.startOffset) !== null && _b !== void 0 ? _b : 0) + templateOffset;
|
|
152
|
+
const labelTextEnd = ((_d = (_c = labelNode.sourceCodeLocation) === null || _c === void 0 ? void 0 : _c.endOffset) !== null && _d !== void 0 ? _d : 0) + templateOffset;
|
|
153
|
+
recorder.insertRight(labelTextStart, '\n<label tuiLabel>');
|
|
154
|
+
recorder.insertRight(labelTextEnd, '</label>\n');
|
|
155
|
+
}
|
|
156
|
+
function removeAttr(recorder, templateOffset, element, name, template) {
|
|
157
|
+
var _a, _b;
|
|
158
|
+
const attrLocation = (_b = (_a = element.sourceCodeLocation) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b[name.toLowerCase()];
|
|
159
|
+
if (!attrLocation) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const lineStart = template.lastIndexOf('\n', attrLocation.startOffset) + 1;
|
|
163
|
+
const lineEnd = template.indexOf('\n', attrLocation.endOffset);
|
|
164
|
+
const attrText = template.slice(attrLocation.startOffset, attrLocation.endOffset);
|
|
165
|
+
const lineText = lineEnd === -1 ? '' : template.slice(lineStart, lineEnd);
|
|
166
|
+
if (lineText.trim() === attrText.trim() && lineEnd !== -1) {
|
|
167
|
+
recorder.remove(templateOffset + lineStart, lineEnd - lineStart + 1);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
recorder.remove(templateOffset + attrLocation.startOffset - 1, attrLocation.endOffset - attrLocation.startOffset + 1);
|
|
171
|
+
}
|
|
172
|
+
function formatControlAttrs(attrs) {
|
|
173
|
+
return attrs
|
|
174
|
+
.map(({ name, value }) => ` ${normalizeAttrName(name)}="${value}"`)
|
|
175
|
+
.join('');
|
|
176
|
+
}
|
|
177
|
+
function formatInputAttrs(attrs) {
|
|
178
|
+
return attrs
|
|
179
|
+
.map(({ name, value }) => {
|
|
180
|
+
const attrName = name.toLowerCase() === '[strictMatcher]'.toLowerCase()
|
|
181
|
+
? '[matcher]'
|
|
182
|
+
: normalizeAttrName(name);
|
|
183
|
+
return ` ${attrName}="${value}"`;
|
|
184
|
+
})
|
|
185
|
+
.join('');
|
|
186
|
+
}
|
|
187
|
+
function normalizeAttrName(name) {
|
|
188
|
+
switch (name.toLowerCase()) {
|
|
189
|
+
case '[(ngModel)]'.toLowerCase():
|
|
190
|
+
return '[(ngModel)]';
|
|
191
|
+
case '[formControl]'.toLowerCase():
|
|
192
|
+
return '[formControl]';
|
|
193
|
+
case '[ngModel]'.toLowerCase():
|
|
194
|
+
return '[ngModel]';
|
|
195
|
+
case 'formControl'.toLowerCase():
|
|
196
|
+
return 'formControl';
|
|
197
|
+
case 'formControlName'.toLowerCase():
|
|
198
|
+
return 'formControlName';
|
|
199
|
+
case 'ngModel'.toLowerCase():
|
|
200
|
+
return 'ngModel';
|
|
201
|
+
case '[strict]':
|
|
202
|
+
return '[strict]';
|
|
203
|
+
default:
|
|
204
|
+
return name;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=migrate-combo-box.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-combo-box.js","sourceRoot":"","sources":["../../../../../../../projects/cdk/schematics/ng-update/v5/steps/templates/migrate-combo-box.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 migrateFormatPhonePipe({ 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.migrateFormatPhonePipe = migrateFormatPhonePipe;
|
|
4
|
+
const insert_todo_1 = require("../../../../utils/insert-todo");
|
|
5
|
+
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
|
6
|
+
const PIPE_RENAME_REGEX = /(\|\s*)tuiFormatPhone\b/g;
|
|
7
|
+
const TODO_COMMENT_WITH_ARGS = `<!-- ${insert_todo_1.TODO_MARK} \`tuiFormatPhone\` pipe was replaced by \`maskito\` pipe. Replace its arguments with \`maskitoPhoneOptionsGenerator({countryIsoCode, metadata})\` from '@maskito/phone' (note: countryIsoCode is ISO format e.g. 'US', not '+1'). See: https://taiga-ui.dev/components/input-phone-international#phone-format-helpers -->`;
|
|
8
|
+
const TODO_COMMENT_NO_ARGS = `<!-- ${insert_todo_1.TODO_MARK} \`tuiFormatPhone\` pipe was replaced by \`maskito\` pipe. Add \`maskitoPhoneOptionsGenerator({countryIsoCode, metadata})\` from '@maskito/phone' as argument. See: https://taiga-ui.dev/components/input-phone-international#phone-format-helpers -->`;
|
|
9
|
+
function migrateFormatPhonePipe({ resource, recorder, fileSystem, }) {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
|
12
|
+
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
|
13
|
+
// For inline templates, getText() includes the opening quote character,
|
|
14
|
+
// so offset 0 points to the quote itself (in TS territory).
|
|
15
|
+
// We shift by 1 to insert inside the template string.
|
|
16
|
+
const isInlineTemplate = 'template' in resource;
|
|
17
|
+
const todoInsertedAtLines = new Set();
|
|
18
|
+
let match;
|
|
19
|
+
while ((match = PIPE_RENAME_REGEX.exec(template)) !== null) {
|
|
20
|
+
const pipeNameStart = match.index + ((_b = (_a = match[1]) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0);
|
|
21
|
+
const afterPipeName = template.slice(pipeNameStart + 'tuiFormatPhone'.length);
|
|
22
|
+
const hasArgs = /^\s*:/.test(afterPipeName);
|
|
23
|
+
recorder.remove(templateOffset + pipeNameStart, 'tuiFormatPhone'.length);
|
|
24
|
+
recorder.insertRight(templateOffset + pipeNameStart, 'maskito');
|
|
25
|
+
const lineStart = template.lastIndexOf('\n', match.index) + 1;
|
|
26
|
+
if (!todoInsertedAtLines.has(lineStart)) {
|
|
27
|
+
todoInsertedAtLines.add(lineStart);
|
|
28
|
+
const todoComment = hasArgs ? TODO_COMMENT_WITH_ARGS : TODO_COMMENT_NO_ARGS;
|
|
29
|
+
if (isInlineTemplate && lineStart === 0) {
|
|
30
|
+
// The template string includes the opening quote (offset 0 = quote char).
|
|
31
|
+
// Insert after the quote (position 1), without a trailing newline —
|
|
32
|
+
// single/double-quoted JS strings cannot contain literal newlines.
|
|
33
|
+
recorder.insertLeft(templateOffset + 1, `${todoComment} `);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
recorder.insertLeft(templateOffset + lineStart, `${todoComment}\n`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=migrate-format-phone-pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-format-phone-pipe.js","sourceRoot":"","sources":["../../../../../../../projects/cdk/schematics/ng-update/v5/steps/templates/migrate-format-phone-pipe.ts"],"names":[],"mappings":";;AAeA,wDA4CC;AAxDD,+DAAwD;AACxD,qFAGuD;AAGvD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD,MAAM,sBAAsB,GAAG,QAAQ,uBAAS,4TAA4T,CAAC;AAC7W,MAAM,oBAAoB,GAAG,QAAQ,uBAAS,wPAAwP,CAAC;AAEvS,SAAgB,sBAAsB,CAAC,EACnC,QAAQ,EACR,QAAQ,EACR,UAAU,GAKb;;IACG,MAAM,QAAQ,GAAG,IAAA,mDAA+B,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC;IAEnD,wEAAwE;IACxE,4DAA4D;IAC5D,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,UAAU,IAAI,QAAQ,CAAC;IAChD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,MAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,MAAM,mCAAI,CAAC,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE5C,QAAQ,CAAC,MAAM,CAAC,cAAc,GAAG,aAAa,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzE,QAAQ,CAAC,WAAW,CAAC,cAAc,GAAG,aAAa,EAAE,SAAS,CAAC,CAAC;QAEhE,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEnC,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAE5E,IAAI,gBAAgB,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACtC,0EAA0E;gBAC1E,oEAAoE;gBACpE,mEAAmE;gBACnE,QAAQ,CAAC,UAAU,CAAC,cAAc,GAAG,CAAC,EAAE,GAAG,WAAW,GAAG,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,UAAU,CAAC,cAAc,GAAG,SAAS,EAAE,GAAG,WAAW,IAAI,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -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/template-resource';
|
|
4
|
+
export declare function migrateInputColor({ resource, recorder, fileSystem, }: {
|
|
5
|
+
fileSystem: DevkitFileSystem;
|
|
6
|
+
recorder: UpdateRecorder;
|
|
7
|
+
resource: TemplateResource;
|
|
8
|
+
}): void;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrateInputColor = migrateInputColor;
|
|
4
|
+
const insert_todo_1 = require("../../../../utils/insert-todo");
|
|
5
|
+
const elements_1 = require("../../../../utils/templates/elements");
|
|
6
|
+
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
|
7
|
+
const replace_tag_1 = require("../../../utils/templates/replace-tag");
|
|
8
|
+
const DOCS_LINK = 'https://taiga-ui.dev/components/input-color';
|
|
9
|
+
const NO_EQUIVALENT_ATTRS = new Set(['[colors]'.toLowerCase(), 'colors'.toLowerCase()]);
|
|
10
|
+
function migrateInputColor({ resource, recorder, fileSystem, }) {
|
|
11
|
+
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
|
12
|
+
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
|
13
|
+
const elements = (0, elements_1.findElementsByTagName)(template, 'tui-input-color');
|
|
14
|
+
elements.forEach((element) => {
|
|
15
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
16
|
+
const sourceCodeLocation = element.sourceCodeLocation;
|
|
17
|
+
(0, replace_tag_1.replaceTag)(recorder, sourceCodeLocation, 'tui-input-color', 'tui-textfield', template, templateOffset);
|
|
18
|
+
const controlAttrs = [...element.attrs].filter((attr) => /formcontrol|ngmodel/.exec(attr.name.toLocaleLowerCase()));
|
|
19
|
+
const noEquivalentAttrs = [...element.attrs].filter((attr) => NO_EQUIVALENT_ATTRS.has(attr.name.toLowerCase()));
|
|
20
|
+
for (const attr of [...controlAttrs, ...noEquivalentAttrs]) {
|
|
21
|
+
const { startOffset = 0, endOffset = 0 } = (_c = (_b = (_a = element.sourceCodeLocation) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b[attr.name]) !== null && _c !== void 0 ? _c : {};
|
|
22
|
+
recorder.remove(templateOffset + startOffset, endOffset - startOffset);
|
|
23
|
+
}
|
|
24
|
+
const labelIndex = element.childNodes.findIndex((node) => node.nodeName === '#text' && (node === null || node === void 0 ? void 0 : node.value.trim()));
|
|
25
|
+
if (labelIndex !== -1) {
|
|
26
|
+
const labelNode = element.childNodes[labelIndex];
|
|
27
|
+
const labelTextStart = ((_e = (_d = labelNode === null || labelNode === void 0 ? void 0 : labelNode.sourceCodeLocation) === null || _d === void 0 ? void 0 : _d.startOffset) !== null && _e !== void 0 ? _e : 0) + templateOffset;
|
|
28
|
+
const labelTextEnd = ((_g = (_f = labelNode === null || labelNode === void 0 ? void 0 : labelNode.sourceCodeLocation) === null || _f === void 0 ? void 0 : _f.endOffset) !== null && _g !== void 0 ? _g : 0) + templateOffset;
|
|
29
|
+
recorder.insertRight(labelTextStart, '\n<label tuiLabel>');
|
|
30
|
+
recorder.insertRight(labelTextEnd, '</label>\n');
|
|
31
|
+
}
|
|
32
|
+
if (noEquivalentAttrs.length > 0) {
|
|
33
|
+
const todoComment = [
|
|
34
|
+
`<!-- ${insert_todo_1.TODO_MARK} tui-input-color migration (see ${DOCS_LINK}):`,
|
|
35
|
+
' - [colors]: ReadonlyMap<string, string> is removed in v5. Use <datalist> with',
|
|
36
|
+
` <option value="..."> elements instead. See example: ${DOCS_LINK} -->`,
|
|
37
|
+
].join('\n');
|
|
38
|
+
const insertAt = ((_h = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.startOffset) !== null && _h !== void 0 ? _h : 0) + templateOffset;
|
|
39
|
+
recorder.insertLeft(insertAt, `${todoComment}\n`);
|
|
40
|
+
}
|
|
41
|
+
const insertOffset = ((_k = (_j = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.endTag) === null || _j === void 0 ? void 0 : _j.startOffset) !== null && _k !== void 0 ? _k : 0) + templateOffset;
|
|
42
|
+
const migrationAttrs = controlAttrs.reduce((result, attr) => {
|
|
43
|
+
const name = attr.name
|
|
44
|
+
.replace(/ngmodel/i, 'ngModel')
|
|
45
|
+
.replace(/formcontrol/i, 'formControl')
|
|
46
|
+
.replace(/formcontrolname/i, 'formControlName');
|
|
47
|
+
return `${result} ${name}="${attr.value}"`;
|
|
48
|
+
}, '');
|
|
49
|
+
recorder.insertRight(insertOffset, `\n<input tuiInputColor${migrationAttrs} />\n`);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=migrate-input-color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-input-color.js","sourceRoot":"","sources":["../../../../../../../projects/cdk/schematics/ng-update/v5/steps/templates/migrate-input-color.ts"],"names":[],"mappings":"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"}
|
|
@@ -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/template-resource';
|
|
4
|
+
export declare function migrateInputDateMulti({ resource, recorder, fileSystem, }: {
|
|
5
|
+
fileSystem: DevkitFileSystem;
|
|
6
|
+
recorder: UpdateRecorder;
|
|
7
|
+
resource: TemplateResource;
|
|
8
|
+
}): void;
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrateInputDateMulti = migrateInputDateMulti;
|
|
4
|
+
const insert_todo_1 = require("../../../../utils/insert-todo");
|
|
5
|
+
const elements_1 = require("../../../../utils/templates/elements");
|
|
6
|
+
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
|
7
|
+
const replace_tag_1 = require("../../../utils/templates/replace-tag");
|
|
8
|
+
const DOCS_LINK = 'https://taiga-ui.dev/components/input-date';
|
|
9
|
+
const INPUT_ATTRS = new Set([
|
|
10
|
+
'[max]'.toLowerCase(),
|
|
11
|
+
'[min]'.toLowerCase(),
|
|
12
|
+
'max'.toLowerCase(),
|
|
13
|
+
'min'.toLowerCase(),
|
|
14
|
+
]);
|
|
15
|
+
const CALENDAR_ATTRS = new Set([
|
|
16
|
+
'[defaultActiveYearMonth]'.toLowerCase(),
|
|
17
|
+
'[disabledItemHandler]'.toLowerCase(),
|
|
18
|
+
'[markerHandler]'.toLowerCase(),
|
|
19
|
+
'defaultActiveYearMonth'.toLowerCase(),
|
|
20
|
+
]);
|
|
21
|
+
const CALENDAR_ATTR_NAMES = new Map([
|
|
22
|
+
['[defaultActiveYearMonth]'.toLowerCase(), '[month]'],
|
|
23
|
+
['[disabledItemHandler]'.toLowerCase(), '[disabledItemHandler]'],
|
|
24
|
+
['[markerHandler]'.toLowerCase(), '[markerHandler]'],
|
|
25
|
+
['defaultActiveYearMonth'.toLowerCase(), 'month'],
|
|
26
|
+
]);
|
|
27
|
+
const TEXTFIELD_ATTRS = new Set(['[rows]'.toLowerCase(), 'rows'.toLowerCase()]);
|
|
28
|
+
const PLACEHOLDER_ATTRS = new Set([
|
|
29
|
+
'[placeholder]'.toLowerCase(),
|
|
30
|
+
'placeholder'.toLowerCase(),
|
|
31
|
+
]);
|
|
32
|
+
const TODO_ATTRS = new Set([
|
|
33
|
+
'(searchChange)'.toLowerCase(),
|
|
34
|
+
'[(search)]'.toLowerCase(),
|
|
35
|
+
'[search]'.toLowerCase(),
|
|
36
|
+
'[tagValidator]'.toLowerCase(),
|
|
37
|
+
]);
|
|
38
|
+
const TODO_ATTR_NAMES = new Map([
|
|
39
|
+
['(searchChange)'.toLowerCase(), '(searchChange)'],
|
|
40
|
+
['[(search)]', '[(search)]'],
|
|
41
|
+
['[search]', '[search]'],
|
|
42
|
+
['[tagValidator]'.toLowerCase(), '[tagValidator]'],
|
|
43
|
+
]);
|
|
44
|
+
const DROPPED_ATTRS = new Set([
|
|
45
|
+
'[editable]'.toLowerCase(),
|
|
46
|
+
'[inputHidden]'.toLowerCase(),
|
|
47
|
+
'editable'.toLowerCase(),
|
|
48
|
+
'inputHidden'.toLowerCase(),
|
|
49
|
+
]);
|
|
50
|
+
function migrateInputDateMulti({ resource, recorder, fileSystem, }) {
|
|
51
|
+
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
|
52
|
+
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
|
53
|
+
const elements = (0, elements_1.findElementsByTagName)(template, 'tui-input-date');
|
|
54
|
+
elements.forEach((element) => {
|
|
55
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
56
|
+
// Only process elements with `multiple` attribute
|
|
57
|
+
if (!element.attrs.some((attr) => attr.name === 'multiple')) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const sourceCodeLocation = element.sourceCodeLocation;
|
|
61
|
+
(0, replace_tag_1.replaceTag)(recorder, sourceCodeLocation, 'tui-input-date', 'tui-textfield', template, templateOffset);
|
|
62
|
+
const allAttrs = [...element.attrs];
|
|
63
|
+
// Remove `multiple` attribute
|
|
64
|
+
const multipleAttr = allAttrs.find((attr) => attr.name === 'multiple');
|
|
65
|
+
if (multipleAttr) {
|
|
66
|
+
const { startOffset = 0, endOffset = 0 } = (_c = (_b = (_a = element.sourceCodeLocation) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b['multiple']) !== null && _c !== void 0 ? _c : {};
|
|
67
|
+
recorder.remove(templateOffset + startOffset, endOffset - startOffset);
|
|
68
|
+
}
|
|
69
|
+
const controlAttrs = allAttrs.filter((attr) => /formcontrol|ngmodel/.exec(attr.name.toLocaleLowerCase()));
|
|
70
|
+
const inputAttrs = allAttrs.filter((attr) => INPUT_ATTRS.has(attr.name.toLowerCase()));
|
|
71
|
+
const calendarAttrs = allAttrs.filter((attr) => CALENDAR_ATTRS.has(attr.name.toLowerCase()));
|
|
72
|
+
const textfieldAttrs = allAttrs.filter((attr) => TEXTFIELD_ATTRS.has(attr.name.toLowerCase()));
|
|
73
|
+
// Add `multi` (and textfield-level attrs) to the new tui-textfield opening tag
|
|
74
|
+
const openTagEnd = (_e = (_d = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.startTag) === null || _d === void 0 ? void 0 : _d.endOffset) !== null && _e !== void 0 ? _e : 0;
|
|
75
|
+
const textfieldAttrStr = textfieldAttrs.reduce((result, attr) => attr.value
|
|
76
|
+
? `${result} ${attr.name}="${attr.value}"`
|
|
77
|
+
: `${result} ${attr.name}`, '');
|
|
78
|
+
recorder.insertRight(templateOffset + openTagEnd - 1, ` multi${textfieldAttrStr}`);
|
|
79
|
+
const placeholderAttrs = allAttrs.filter((attr) => PLACEHOLDER_ATTRS.has(attr.name.toLowerCase()));
|
|
80
|
+
const todoAttrs = allAttrs.filter((attr) => TODO_ATTRS.has(attr.name.toLowerCase()));
|
|
81
|
+
const droppedAttrs = allAttrs.filter((attr) => DROPPED_ATTRS.has(attr.name.toLowerCase()));
|
|
82
|
+
for (const attr of [
|
|
83
|
+
...controlAttrs,
|
|
84
|
+
...inputAttrs,
|
|
85
|
+
...calendarAttrs,
|
|
86
|
+
...textfieldAttrs,
|
|
87
|
+
...placeholderAttrs,
|
|
88
|
+
...todoAttrs,
|
|
89
|
+
...droppedAttrs,
|
|
90
|
+
]) {
|
|
91
|
+
const { startOffset = 0, endOffset = 0 } = (_h = (_g = (_f = element.sourceCodeLocation) === null || _f === void 0 ? void 0 : _f.attrs) === null || _g === void 0 ? void 0 : _g[attr.name]) !== null && _h !== void 0 ? _h : {};
|
|
92
|
+
recorder.remove(templateOffset + startOffset, endOffset - startOffset);
|
|
93
|
+
}
|
|
94
|
+
const labelIndex = element.childNodes.findIndex((node) => node.nodeName === '#text' && (node === null || node === void 0 ? void 0 : node.value.trim()));
|
|
95
|
+
if (labelIndex !== -1) {
|
|
96
|
+
const labelNode = element.childNodes[labelIndex];
|
|
97
|
+
const labelTextStart = ((_k = (_j = labelNode === null || labelNode === void 0 ? void 0 : labelNode.sourceCodeLocation) === null || _j === void 0 ? void 0 : _j.startOffset) !== null && _k !== void 0 ? _k : 0) + templateOffset;
|
|
98
|
+
const labelTextEnd = ((_m = (_l = labelNode === null || labelNode === void 0 ? void 0 : labelNode.sourceCodeLocation) === null || _l === void 0 ? void 0 : _l.endOffset) !== null && _m !== void 0 ? _m : 0) + templateOffset;
|
|
99
|
+
recorder.insertRight(labelTextStart, '\n<label tuiLabel>');
|
|
100
|
+
recorder.insertRight(labelTextEnd, '</label>\n');
|
|
101
|
+
}
|
|
102
|
+
if (todoAttrs.length > 0) {
|
|
103
|
+
const attrLines = todoAttrs.map((attr, index, arr) => {
|
|
104
|
+
var _a;
|
|
105
|
+
const isLast = index === arr.length - 1;
|
|
106
|
+
const name = (_a = TODO_ATTR_NAMES.get(attr.name.toLowerCase())) !== null && _a !== void 0 ? _a : attr.name;
|
|
107
|
+
const hint = getHint(attr.name);
|
|
108
|
+
return ` - ${name}: ${hint}${isLast ? ' -->' : ''}`;
|
|
109
|
+
});
|
|
110
|
+
const todoComment = [
|
|
111
|
+
`<!-- ${insert_todo_1.TODO_MARK} tui-input-date multiple migration (see ${DOCS_LINK}):`,
|
|
112
|
+
...attrLines,
|
|
113
|
+
].join('\n');
|
|
114
|
+
const insertAt = ((_o = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.startOffset) !== null && _o !== void 0 ? _o : 0) + templateOffset;
|
|
115
|
+
recorder.insertLeft(insertAt, `${todoComment}\n`);
|
|
116
|
+
}
|
|
117
|
+
const insertOffset = ((_q = (_p = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.endTag) === null || _p === void 0 ? void 0 : _p.startOffset) !== null && _q !== void 0 ? _q : 0) + templateOffset;
|
|
118
|
+
const inputs = element.childNodes.filter((node) => node.nodeName === 'input');
|
|
119
|
+
const migrationAttrs = [
|
|
120
|
+
...controlAttrs,
|
|
121
|
+
...inputAttrs,
|
|
122
|
+
...placeholderAttrs,
|
|
123
|
+
].reduce((result, attr) => {
|
|
124
|
+
const name = normalizeAttrName(attr.name);
|
|
125
|
+
return attr.value ? `${result} ${name}="${attr.value}"` : `${result} ${name}`;
|
|
126
|
+
}, '');
|
|
127
|
+
const calendarAttrStr = calendarAttrs.reduce((result, attr) => {
|
|
128
|
+
var _a;
|
|
129
|
+
const name = (_a = CALENDAR_ATTR_NAMES.get(attr.name.toLowerCase())) !== null && _a !== void 0 ? _a : attr.name;
|
|
130
|
+
return attr.value ? `${result} ${name}="${attr.value}"` : `${result} ${name}`;
|
|
131
|
+
}, '');
|
|
132
|
+
if (!inputs.length) {
|
|
133
|
+
recorder.insertRight(insertOffset, `\n<input tuiInputDateMulti${migrationAttrs} />\n<tui-calendar *tuiDropdown${calendarAttrStr} />\n`);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
recorder.insertRight(insertOffset, `\n<tui-calendar *tuiDropdown${calendarAttrStr} />\n`);
|
|
137
|
+
}
|
|
138
|
+
for (const input of inputs) {
|
|
139
|
+
input.attrs.forEach((attr) => {
|
|
140
|
+
var _a, _b, _c;
|
|
141
|
+
if (/^tuiTextfield$|^tuiTextfieldLegacy$/i.exec(attr.name)) {
|
|
142
|
+
const { startOffset = 0, endOffset = 0 } = (_c = (_b = (_a = input.sourceCodeLocation) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b[attr.name]) !== null && _c !== void 0 ? _c : {};
|
|
143
|
+
recorder.remove(templateOffset + startOffset, endOffset - startOffset);
|
|
144
|
+
recorder.insertRight(templateOffset + startOffset, `tuiInputDateMulti${migrationAttrs}`);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
function getHint(attrName) {
|
|
151
|
+
const lower = attrName.toLowerCase();
|
|
152
|
+
if (lower.includes('tagValidator'.toLowerCase())) {
|
|
153
|
+
return 'use <tui-input-chip *tuiItem="let ctx" [appearance]="myValidator(ctx.item) ? \'\' : \'negative\'"> inside <tui-textfield multi>. See https://taiga-ui.dev/components/input-chip#customization';
|
|
154
|
+
}
|
|
155
|
+
if (lower.includes('search')) {
|
|
156
|
+
return 'use native (input) event on <input tuiInputDateMulti (input)="onSearch($any($event).target.value)"> instead.';
|
|
157
|
+
}
|
|
158
|
+
return 'no direct equivalent in v5. Update component logic manually.';
|
|
159
|
+
}
|
|
160
|
+
function normalizeAttrName(name) {
|
|
161
|
+
switch (name.toLowerCase()) {
|
|
162
|
+
case '[formControl]'.toLowerCase():
|
|
163
|
+
return '[formControl]';
|
|
164
|
+
case '[ngModel]'.toLowerCase():
|
|
165
|
+
return '[ngModel]';
|
|
166
|
+
case 'formControl'.toLowerCase():
|
|
167
|
+
return 'formControl';
|
|
168
|
+
case 'formControlName'.toLowerCase():
|
|
169
|
+
return 'formControlName';
|
|
170
|
+
case 'ngModel'.toLowerCase():
|
|
171
|
+
return 'ngModel';
|
|
172
|
+
case '[(ngmodel)]':
|
|
173
|
+
return '[(ngModel)]';
|
|
174
|
+
default:
|
|
175
|
+
return name;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=migrate-input-date-multi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-input-date-multi.js","sourceRoot":"","sources":["../../../../../../../projects/cdk/schematics/ng-update/v5/steps/templates/migrate-input-date-multi.ts"],"names":[],"mappings":"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"}
|
|
@@ -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/template-resource';
|
|
4
|
+
export declare function migrateInputDateRange({ resource, recorder, fileSystem, }: {
|
|
5
|
+
fileSystem: DevkitFileSystem;
|
|
6
|
+
recorder: UpdateRecorder;
|
|
7
|
+
resource: TemplateResource;
|
|
8
|
+
}): void;
|