@taiga-ui/cdk 2.59.1 → 2.62.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.
Files changed (93) hide show
  1. package/bundles/taiga-ui-cdk-constants.umd.js +4 -1
  2. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  3. package/bundles/taiga-ui-cdk-constants.umd.min.js +1 -1
  4. package/bundles/taiga-ui-cdk-constants.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-cdk-observables.umd.js +8 -0
  6. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  7. package/bundles/taiga-ui-cdk-observables.umd.min.js +1 -1
  8. package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-cdk-pipes-keys.umd.js +286 -0
  10. package/bundles/taiga-ui-cdk-pipes-keys.umd.js.map +1 -0
  11. package/bundles/taiga-ui-cdk-pipes-keys.umd.min.js +2 -0
  12. package/bundles/taiga-ui-cdk-pipes-keys.umd.min.js.map +1 -0
  13. package/bundles/taiga-ui-cdk-pipes.umd.js +12 -4
  14. package/bundles/taiga-ui-cdk-pipes.umd.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-pipes.umd.min.js +1 -1
  16. package/constants/index.d.ts +1 -0
  17. package/constants/taiga-ui-cdk-constants.metadata.json +1 -1
  18. package/constants/version.d.ts +1 -0
  19. package/constants/version.js +3 -0
  20. package/esm2015/constants/index.js +2 -1
  21. package/esm2015/constants/parent-animation.js +2 -2
  22. package/esm2015/constants/version.js +2 -0
  23. package/esm2015/observables/index.js +2 -1
  24. package/esm2015/observables/is-observed.js +7 -0
  25. package/esm2015/pipes/index.js +2 -1
  26. package/esm2015/pipes/keys/index.js +3 -0
  27. package/esm2015/pipes/keys/keys.module.js +13 -0
  28. package/esm2015/pipes/keys/keys.pipe.js +12 -0
  29. package/esm2015/pipes/keys/taiga-ui-cdk-pipes-keys.js +5 -0
  30. package/esm5/constants/index.js +2 -1
  31. package/esm5/constants/parent-animation.js +2 -2
  32. package/esm5/constants/version.js +2 -0
  33. package/esm5/observables/index.js +2 -1
  34. package/esm5/observables/is-observed.js +7 -0
  35. package/esm5/pipes/index.js +2 -1
  36. package/esm5/pipes/keys/index.js +3 -0
  37. package/esm5/pipes/keys/keys.module.js +16 -0
  38. package/esm5/pipes/keys/keys.pipe.js +15 -0
  39. package/esm5/pipes/keys/taiga-ui-cdk-pipes-keys.js +5 -0
  40. package/fesm2015/taiga-ui-cdk-constants.js +4 -2
  41. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  42. package/fesm2015/taiga-ui-cdk-observables.js +8 -1
  43. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  44. package/fesm2015/taiga-ui-cdk-pipes-keys.js +27 -0
  45. package/fesm2015/taiga-ui-cdk-pipes-keys.js.map +1 -0
  46. package/fesm2015/taiga-ui-cdk-pipes.js +1 -0
  47. package/fesm2015/taiga-ui-cdk-pipes.js.map +1 -1
  48. package/fesm5/taiga-ui-cdk-constants.js +4 -2
  49. package/fesm5/taiga-ui-cdk-constants.js.map +1 -1
  50. package/fesm5/taiga-ui-cdk-observables.js +8 -1
  51. package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
  52. package/fesm5/taiga-ui-cdk-pipes-keys.js +33 -0
  53. package/fesm5/taiga-ui-cdk-pipes-keys.js.map +1 -0
  54. package/fesm5/taiga-ui-cdk-pipes.js +1 -0
  55. package/fesm5/taiga-ui-cdk-pipes.js.map +1 -1
  56. package/observables/index.d.ts +1 -0
  57. package/observables/is-observed.d.ts +5 -0
  58. package/observables/taiga-ui-cdk-observables.metadata.json +1 -1
  59. package/package.json +1 -1
  60. package/pipes/index.d.ts +1 -0
  61. package/pipes/keys/index.d.ts +2 -0
  62. package/pipes/keys/keys.module.d.ts +2 -0
  63. package/pipes/keys/keys.pipe.d.ts +4 -0
  64. package/pipes/keys/package.json +13 -0
  65. package/pipes/keys/taiga-ui-cdk-pipes-keys.d.ts +4 -0
  66. package/pipes/keys/taiga-ui-cdk-pipes-keys.metadata.json +1 -0
  67. package/pipes/taiga-ui-cdk-pipes.metadata.json +1 -1
  68. package/schematics/collection.json +6 -0
  69. package/schematics/constants/file-globs.d.ts +2 -0
  70. package/schematics/constants/file-globs.js +10 -0
  71. package/schematics/constants/index.d.ts +1 -0
  72. package/schematics/constants/index.js +4 -0
  73. package/schematics/ng-add/constants/versions.js +2 -2
  74. package/schematics/ng-update/index.d.ts +11 -2
  75. package/schematics/ng-update/index.js +8 -8
  76. package/schematics/ng-update/schema.json +13 -0
  77. package/schematics/ng-update/steps/migrate-date-time.js +45 -1
  78. package/schematics/ng-update/steps/migrate-progress.js +2 -1
  79. package/schematics/ng-update/steps/migrate-sliders/index.js +2 -0
  80. package/schematics/ng-update/steps/migrate-sliders/migrate-input-range.js +4 -3
  81. package/schematics/ng-update/steps/migrate-sliders/migrate-input-slider.js +3 -2
  82. package/schematics/ng-update/steps/migrate-templates.js +10 -4
  83. package/schematics/ng-update/steps/replace-deep-import.js +2 -1
  84. package/schematics/ng-update/steps/replace-enums.js +2 -1
  85. package/schematics/ng-update/steps/replace-functions.js +6 -2
  86. package/schematics/ng-update/steps/show-warnings.js +2 -1
  87. package/schematics/utils/angular/ng-module.js +2 -1
  88. package/schematics/utils/get-execution-time.d.ts +1 -0
  89. package/schematics/utils/get-execution-time.js +7 -0
  90. package/schematics/utils/get-named-import-references.js +2 -1
  91. package/schematics/utils/progress.d.ts +1 -0
  92. package/schematics/utils/progress.js +12 -0
  93. package/schematics/utils/templates/get-component-templates.js +1 -1
@@ -1,6 +1,7 @@
1
1
  export * from './drag-and-drop-from';
2
2
  export * from './focus-visible-observable';
3
3
  export * from './is-alive';
4
+ export * from './is-observed';
4
5
  export * from './items-query-list-observable';
5
6
  export * from './mouse-drag-finish-from';
6
7
  export * from './must-be-present';
@@ -0,0 +1,5 @@
1
+ import { Subject } from 'rxjs';
2
+ /**
3
+ * In RxJS 8 `observers` will be removed, this util is for future safety
4
+ */
5
+ export declare function tuiIsObserved<T>(observable: Subject<T>): boolean;
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiDragStage":{"Start":0,"Continues":1,"End":2},"TuiDragState":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":15,"character":32,"context":{"typeName":"TuiDragStage"},"module":"./drag-and-drop-from"},{"__symbolic":"error","message":"Could not resolve type","line":15,"character":62,"context":{"typeName":"MouseEvent"},"module":"./drag-and-drop-from"}]}]}},"dragAndDropFrom":{"__symbolic":"function"},"tuiDragAndDropFrom":{"__symbolic":"reference","name":"dragAndDropFrom"},"focusVisibleObservable":{"__symbolic":"function"},"tuiFocusVisibleObservable":{"__symbolic":"reference","name":"focusVisibleObservable"},"tuiIsAlive":{"__symbolic":"function","parameters":["lifespan"],"defaults":[0],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"pipe","line":7,"character":11},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"switchMapTo","line":8,"character":8},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"timer","line":8,"character":20},"arguments":[{"__symbolic":"reference","name":"lifespan"}]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"mapTo","line":8,"character":41},"arguments":[false]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"startWith","line":8,"character":55},"arguments":[true]}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"distinctUntilChanged","line":9,"character":8}}]}},"itemsQueryListObservable":{"__symbolic":"function","parameters":["queryList"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"queryList"},"member":"changes"},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":14,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":14,"character":12,"module":"./items-query-list-observable"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"startWith","line":15,"character":8},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/utils/miscellaneous","name":"getOriginalArrayFromQueryList","line":15,"character":18},"arguments":[{"__symbolic":"reference","name":"queryList"}]}]}]}},"tuiItemsQueryListObservable":{"__symbolic":"reference","name":"itemsQueryListObservable"},"mouseDragFinishFrom":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"merge","line":14,"character":11},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"typedFromEvent"},"arguments":[{"__symbolic":"reference","name":"target"},"mouseup"]},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"typedFromEvent"},"arguments":[{"__symbolic":"reference","name":"target"},"dragend"]}]}},"tuiMouseDragFinishFrom":{"__symbolic":"reference","name":"mouseDragFinishFrom"},"mustBePresent":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":10,"character":11},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":10,"character":15,"module":"./must-be-present"}]}},"tuiMustBePresent":{"__symbolic":"reference","name":"mustBePresent"},"TuiPressedObservableOptions":{"__symbolic":"interface"},"pressedObservable":{"__symbolic":"function"},"tuiPressedObservable":{"__symbolic":"reference","name":"pressedObservable"},"preventDefault":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"tap","line":8,"character":11},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":8,"character":15,"module":"./prevent-default"}]}},"tuiPreventDefault":{"__symbolic":"reference","name":"preventDefault"},"tuiReplayedValueChangesFrom":{"__symbolic":"function","parameters":["control"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"rxjs","name":"Observable","line":12,"character":15},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":12,"character":26,"module":"./replay-control-value-changes"}]}},"stopPropagation":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"tap","line":8,"character":11},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":8,"character":15,"module":"./stop-propagation"}]}},"tuiStopPropagation":{"__symbolic":"reference","name":"stopPropagation"},"typedFromEvent":{"__symbolic":"function","parameters":["target","event","options"],"defaults":[null,null,{}],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"fromEvent","line":60,"character":11},"arguments":[{"__symbolic":"reference","name":"target"},{"__symbolic":"reference","name":"event"},{"__symbolic":"reference","name":"options"}]}},"tuiTypedFromEvent":{"__symbolic":"reference","name":"typedFromEvent"},"watch":{"__symbolic":"function","parameters":["changeDetectorRef"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"tap","line":11,"character":11},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":11,"character":15,"module":"./watch"}]}},"tuiWatch":{"__symbolic":"reference","name":"watch"},"tuiZonefull":{"__symbolic":"function","parameters":["ngZone"],"value":{"__symbolic":"error","message":"Lambda not supported","line":4,"character":11,"module":"./zone-free"}},"tuiZonefree":{"__symbolic":"function","parameters":["ngZone"],"value":{"__symbolic":"error","message":"Lambda not supported","line":15,"character":11,"module":"./zone-free"}},"tuiZoneOptimized":{"__symbolic":"function","parameters":["ngZone"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"pipe","line":22,"character":11},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"tuiZonefree"},"arguments":[{"__symbolic":"reference","name":"ngZone"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"tuiZonefull"},"arguments":[{"__symbolic":"reference","name":"ngZone"}]}]}}},"origins":{"TuiDragStage":"./drag-and-drop-from","TuiDragState":"./drag-and-drop-from","dragAndDropFrom":"./drag-and-drop-from","tuiDragAndDropFrom":"./drag-and-drop-from","focusVisibleObservable":"./focus-visible-observable","tuiFocusVisibleObservable":"./focus-visible-observable","tuiIsAlive":"./is-alive","itemsQueryListObservable":"./items-query-list-observable","tuiItemsQueryListObservable":"./items-query-list-observable","mouseDragFinishFrom":"./mouse-drag-finish-from","tuiMouseDragFinishFrom":"./mouse-drag-finish-from","mustBePresent":"./must-be-present","tuiMustBePresent":"./must-be-present","TuiPressedObservableOptions":"./pressed-observable","pressedObservable":"./pressed-observable","tuiPressedObservable":"./pressed-observable","preventDefault":"./prevent-default","tuiPreventDefault":"./prevent-default","tuiReplayedValueChangesFrom":"./replay-control-value-changes","stopPropagation":"./stop-propagation","tuiStopPropagation":"./stop-propagation","typedFromEvent":"./typed-from-event","tuiTypedFromEvent":"./typed-from-event","watch":"./watch","tuiWatch":"./watch","tuiZonefull":"./zone-free","tuiZonefree":"./zone-free","tuiZoneOptimized":"./zone-free"},"importAs":"@taiga-ui/cdk/observables"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiDragStage":{"Start":0,"Continues":1,"End":2},"TuiDragState":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":15,"character":32,"context":{"typeName":"TuiDragStage"},"module":"./drag-and-drop-from"},{"__symbolic":"error","message":"Could not resolve type","line":15,"character":62,"context":{"typeName":"MouseEvent"},"module":"./drag-and-drop-from"}]}]}},"dragAndDropFrom":{"__symbolic":"function"},"tuiDragAndDropFrom":{"__symbolic":"reference","name":"dragAndDropFrom"},"focusVisibleObservable":{"__symbolic":"function"},"tuiFocusVisibleObservable":{"__symbolic":"reference","name":"focusVisibleObservable"},"tuiIsAlive":{"__symbolic":"function","parameters":["lifespan"],"defaults":[0],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"pipe","line":7,"character":11},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"switchMapTo","line":8,"character":8},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"timer","line":8,"character":20},"arguments":[{"__symbolic":"reference","name":"lifespan"}]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"mapTo","line":8,"character":41},"arguments":[false]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"startWith","line":8,"character":55},"arguments":[true]}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"distinctUntilChanged","line":9,"character":8}}]}},"tuiIsObserved":{"__symbolic":"function","parameters":["observable"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"observable"},"member":"observed"},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"observable"},"member":"observers"},"member":"length"}}}}},"itemsQueryListObservable":{"__symbolic":"function","parameters":["queryList"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"queryList"},"member":"changes"},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":14,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":14,"character":12,"module":"./items-query-list-observable"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"startWith","line":15,"character":8},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/utils/miscellaneous","name":"getOriginalArrayFromQueryList","line":15,"character":18},"arguments":[{"__symbolic":"reference","name":"queryList"}]}]}]}},"tuiItemsQueryListObservable":{"__symbolic":"reference","name":"itemsQueryListObservable"},"mouseDragFinishFrom":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"merge","line":14,"character":11},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"typedFromEvent"},"arguments":[{"__symbolic":"reference","name":"target"},"mouseup"]},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"typedFromEvent"},"arguments":[{"__symbolic":"reference","name":"target"},"dragend"]}]}},"tuiMouseDragFinishFrom":{"__symbolic":"reference","name":"mouseDragFinishFrom"},"mustBePresent":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":10,"character":11},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":10,"character":15,"module":"./must-be-present"}]}},"tuiMustBePresent":{"__symbolic":"reference","name":"mustBePresent"},"TuiPressedObservableOptions":{"__symbolic":"interface"},"pressedObservable":{"__symbolic":"function"},"tuiPressedObservable":{"__symbolic":"reference","name":"pressedObservable"},"preventDefault":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"tap","line":8,"character":11},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":8,"character":15,"module":"./prevent-default"}]}},"tuiPreventDefault":{"__symbolic":"reference","name":"preventDefault"},"tuiReplayedValueChangesFrom":{"__symbolic":"function","parameters":["control"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"rxjs","name":"Observable","line":12,"character":15},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":12,"character":26,"module":"./replay-control-value-changes"}]}},"stopPropagation":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"tap","line":8,"character":11},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":8,"character":15,"module":"./stop-propagation"}]}},"tuiStopPropagation":{"__symbolic":"reference","name":"stopPropagation"},"typedFromEvent":{"__symbolic":"function","parameters":["target","event","options"],"defaults":[null,null,{}],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"fromEvent","line":60,"character":11},"arguments":[{"__symbolic":"reference","name":"target"},{"__symbolic":"reference","name":"event"},{"__symbolic":"reference","name":"options"}]}},"tuiTypedFromEvent":{"__symbolic":"reference","name":"typedFromEvent"},"watch":{"__symbolic":"function","parameters":["changeDetectorRef"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"tap","line":11,"character":11},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":11,"character":15,"module":"./watch"}]}},"tuiWatch":{"__symbolic":"reference","name":"watch"},"tuiZonefull":{"__symbolic":"function","parameters":["ngZone"],"value":{"__symbolic":"error","message":"Lambda not supported","line":4,"character":11,"module":"./zone-free"}},"tuiZonefree":{"__symbolic":"function","parameters":["ngZone"],"value":{"__symbolic":"error","message":"Lambda not supported","line":15,"character":11,"module":"./zone-free"}},"tuiZoneOptimized":{"__symbolic":"function","parameters":["ngZone"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"pipe","line":22,"character":11},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"tuiZonefree"},"arguments":[{"__symbolic":"reference","name":"ngZone"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"tuiZonefull"},"arguments":[{"__symbolic":"reference","name":"ngZone"}]}]}}},"origins":{"TuiDragStage":"./drag-and-drop-from","TuiDragState":"./drag-and-drop-from","dragAndDropFrom":"./drag-and-drop-from","tuiDragAndDropFrom":"./drag-and-drop-from","focusVisibleObservable":"./focus-visible-observable","tuiFocusVisibleObservable":"./focus-visible-observable","tuiIsAlive":"./is-alive","tuiIsObserved":"./is-observed","itemsQueryListObservable":"./items-query-list-observable","tuiItemsQueryListObservable":"./items-query-list-observable","mouseDragFinishFrom":"./mouse-drag-finish-from","tuiMouseDragFinishFrom":"./mouse-drag-finish-from","mustBePresent":"./must-be-present","tuiMustBePresent":"./must-be-present","TuiPressedObservableOptions":"./pressed-observable","pressedObservable":"./pressed-observable","tuiPressedObservable":"./pressed-observable","preventDefault":"./prevent-default","tuiPreventDefault":"./prevent-default","tuiReplayedValueChangesFrom":"./replay-control-value-changes","stopPropagation":"./stop-propagation","tuiStopPropagation":"./stop-propagation","typedFromEvent":"./typed-from-event","tuiTypedFromEvent":"./typed-from-event","watch":"./watch","tuiWatch":"./watch","tuiZonefull":"./zone-free","tuiZonefree":"./zone-free","tuiZoneOptimized":"./zone-free"},"importAs":"@taiga-ui/cdk/observables"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/cdk",
3
- "version": "2.59.1",
3
+ "version": "2.62.0",
4
4
  "description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
5
5
  "keywords": [
6
6
  "angular",
package/pipes/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from '@taiga-ui/cdk/pipes/filter';
2
+ export * from '@taiga-ui/cdk/pipes/keys';
2
3
  export * from '@taiga-ui/cdk/pipes/mapper';
@@ -0,0 +1,2 @@
1
+ export * from './keys.module';
2
+ export * from './keys.pipe';
@@ -0,0 +1,2 @@
1
+ export declare class TuiKeysPipeModule {
2
+ }
@@ -0,0 +1,4 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ export declare class TuiKeysPipe implements PipeTransform {
3
+ transform(object: Record<any, any>): string[];
4
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "main": "../../bundles/taiga-ui-cdk-pipes-keys.umd.js",
3
+ "module": "../../fesm5/taiga-ui-cdk-pipes-keys.js",
4
+ "es2015": "../../fesm2015/taiga-ui-cdk-pipes-keys.js",
5
+ "esm5": "../../esm5/pipes/keys/taiga-ui-cdk-pipes-keys.js",
6
+ "esm2015": "../../esm2015/pipes/keys/taiga-ui-cdk-pipes-keys.js",
7
+ "fesm5": "../../fesm5/taiga-ui-cdk-pipes-keys.js",
8
+ "fesm2015": "../../fesm2015/taiga-ui-cdk-pipes-keys.js",
9
+ "typings": "taiga-ui-cdk-pipes-keys.d.ts",
10
+ "metadata": "taiga-ui-cdk-pipes-keys.metadata.json",
11
+ "sideEffects": false,
12
+ "name": "@taiga-ui/cdk/pipes/keys"
13
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiKeysPipeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"TuiKeysPipe"}],"declarations":[{"__symbolic":"reference","name":"TuiKeysPipe"}]}]}],"members":{}},"TuiKeysPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":2,"character":1},"arguments":[{"name":"tuiKeys"}]}],"members":{"transform":[{"__symbolic":"method"}]}}},"origins":{"TuiKeysPipeModule":"./keys.module","TuiKeysPipe":"./keys.pipe"},"importAs":"@taiga-ui/cdk/pipes/keys"}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"exports":[{"from":"@taiga-ui/cdk/pipes/filter"},{"from":"@taiga-ui/cdk/pipes/mapper"}],"metadata":{},"origins":{},"importAs":"@taiga-ui/cdk/pipes"}
1
+ {"__symbolic":"module","version":4,"exports":[{"from":"@taiga-ui/cdk/pipes/filter"},{"from":"@taiga-ui/cdk/pipes/keys"},{"from":"@taiga-ui/cdk/pipes/mapper"}],"metadata":{},"origins":{},"importAs":"@taiga-ui/cdk/pipes"}
@@ -11,6 +11,12 @@
11
11
  "description": "Sets up the project after dependencies have been installed",
12
12
  "factory": "./ng-add/setup-project",
13
13
  "schema": "./ng-add/schema.json"
14
+ },
15
+ "updateToV3": {
16
+ "private": true,
17
+ "description": "Manually run migration to update Taiga to v3.x.x",
18
+ "factory": "./ng-update/index#updateToV3",
19
+ "schema": "./ng-update/schema.json"
14
20
  }
15
21
  }
16
22
  }
@@ -0,0 +1,2 @@
1
+ export declare const ALL_TS_FILES: string;
2
+ export declare const ALL_FILES: string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const EXCLUDE_DIRECTORIES = ['scripts', 'dist', 'node_modules'].join('|');
4
+ const EXCLUDE_FILE_PATTERNS = [
5
+ `*__name@dasherize__*`,
6
+ `*.d`,
7
+ ].join('|');
8
+ const FILTERED_PATHS = `!(${EXCLUDE_DIRECTORIES})/**/!(${EXCLUDE_FILE_PATTERNS})`;
9
+ exports.ALL_TS_FILES = `${FILTERED_PATHS}.ts`;
10
+ exports.ALL_FILES = `${FILTERED_PATHS}.{html,ts}`;
@@ -0,0 +1 @@
1
+ export * from './file-globs';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./file-globs"), exports);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const { version } = require('../../../package.json');
4
- exports.TAIGA_VERSION = `^${version}`;
3
+ const version_1 = require("../../../constants/version");
4
+ exports.TAIGA_VERSION = `^${version_1.TUI_VERSION}`;
5
5
  exports.NG_DOMPURIFY_VERSION = '3.0.0';
6
6
  exports.DOMPURIFY_VERSION = '2.2.9';
7
7
  exports.DOMPURIFY_TYPES_VERSION = '2.2.3';
@@ -1,3 +1,12 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
- import { Schema } from '../ng-add/schema';
3
- export declare function updateToV3(_: Schema): Rule;
2
+ interface Schema {
3
+ /**
4
+ * @example
5
+ * ```console
6
+ * schematics ./dist/cdk:updateToV3 --allow-private --skip-deep-imports --dry-run false
7
+ * ```
8
+ */
9
+ 'skip-deep-imports': boolean;
10
+ }
11
+ export declare function updateToV3(cliFlags: Schema): Rule;
12
+ export {};
@@ -9,6 +9,7 @@ const replace_const_1 = require("./steps/replace-const");
9
9
  const replace_deep_import_1 = require("./steps/replace-deep-import");
10
10
  const show_warnings_1 = require("./steps/show-warnings");
11
11
  const replace_services_1 = require("./steps/replace-services");
12
+ const migrate_date_time_1 = require("./steps/migrate-date-time");
12
13
  const migrate_templates_1 = require("./steps/migrate-templates");
13
14
  const migrate_sliders_1 = require("./steps/migrate-sliders");
14
15
  const remove_module_1 = require("./steps/remove-module");
@@ -16,13 +17,14 @@ const miscellaneous_1 = require("./steps/miscellaneous");
16
17
  const replace_functions_1 = require("./steps/replace-functions");
17
18
  const migrate_progress_1 = require("./steps/migrate-progress");
18
19
  const colored_log_1 = require("../utils/colored-log");
19
- const migrate_date_time_1 = require("./steps/migrate-date-time");
20
- function updateToV3(_) {
20
+ const constants_1 = require("../constants");
21
+ const get_execution_time_1 = require("../utils/get-execution-time");
22
+ function updateToV3(cliFlags) {
21
23
  return (tree, context) => tslib_1.__awaiter(this, void 0, void 0, function* () {
22
24
  const t0 = performance.now();
23
25
  colored_log_1.titleLog(`\n\n${colored_log_1.START_SYMBOL} Your packages will be updated to @taiga-ui/*@${versions_1.TAIGA_VERSION}\n`);
24
26
  const fileSystem = getFileSystem(tree);
25
- replace_deep_import_1.replaceDeepImports();
27
+ !cliFlags['skip-deep-imports'] && replace_deep_import_1.replaceDeepImports();
26
28
  replace_enums_1.replaceEnums();
27
29
  rename_types_1.renameTypes();
28
30
  replace_const_1.replaceConstants();
@@ -39,15 +41,13 @@ function updateToV3(_) {
39
41
  replace_functions_1.replaceFunctions();
40
42
  miscellaneous_1.miscellaneousMigrations();
41
43
  ng_morph_1.saveActiveProject();
42
- const t1 = performance.now();
43
- const sum = t1 - t0;
44
- const result = sum > 1000 ? `${(sum / 1000).toFixed(2)} sec.` : `${sum.toFixed(2)} ms.`;
45
- colored_log_1.titleLog(`${colored_log_1.FINISH_SYMBOL} We migrated packages to @taiga-ui/*@${versions_1.TAIGA_VERSION} in ${result} \n`);
44
+ const executionTime = get_execution_time_1.getExecutionTime(t0, performance.now());
45
+ colored_log_1.titleLog(`${colored_log_1.FINISH_SYMBOL} We migrated packages to @taiga-ui/*@${versions_1.TAIGA_VERSION} in ${executionTime}. \n`);
46
46
  });
47
47
  }
48
48
  exports.updateToV3 = updateToV3;
49
49
  function getFileSystem(tree) {
50
- const project = ng_morph_1.createProject(tree, '/', '**/**.{html,ts}');
50
+ const project = ng_morph_1.createProject(tree, '/', [constants_1.ALL_FILES]);
51
51
  ng_morph_1.setActiveProject(project);
52
52
  return project.getFileSystem().fs;
53
53
  }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "taiga-ui-ng-update-v3",
4
+ "title": "Taiga UI ng-update v3",
5
+ "type": "object",
6
+ "properties": {
7
+ "skip-deep-imports": {
8
+ "description": "Ignore deep imports replacements",
9
+ "type": "boolean",
10
+ "default": false
11
+ }
12
+ }
13
+ }
@@ -4,14 +4,19 @@ const ng_morph_1 = require("ng-morph");
4
4
  const get_named_import_references_1 = require("../../utils/get-named-import-references");
5
5
  const insert_todo_1 = require("../../utils/insert-todo");
6
6
  const colored_log_1 = require("../../utils/colored-log");
7
+ const get_execution_time_1 = require("../../utils/get-execution-time");
7
8
  function dateTimeMigrations() {
8
9
  colored_log_1.infoLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} migrating taiga date/time...`);
10
+ let start = performance.now();
9
11
  migrateProperty({
10
12
  namedImport: 'TuiDay',
11
13
  moduleSpecifier: '@taiga-ui/cdk',
12
14
  from: 'formattedDay',
13
15
  callback: node => node.replaceWithText(node.getText().replace('formattedDay', 'getFormattedDay("DMY", ".")')),
14
16
  });
17
+ colored_log_1.processLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.PROCESSING_SYMBOL}TuiDay.formattedDay ` +
18
+ `(${get_execution_time_1.getExecutionTime(start, performance.now())})`);
19
+ start = performance.now();
15
20
  migrateProperty({
16
21
  namedImport: 'TuiDayRange',
17
22
  moduleSpecifier: '@taiga-ui/cdk',
@@ -20,6 +25,9 @@ function dateTimeMigrations() {
20
25
  .getText()
21
26
  .replace('formattedDayRange', 'getFormattedDayRange("DMY", ".")')),
22
27
  });
28
+ colored_log_1.processLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.PROCESSING_SYMBOL}TuiDayRange.formattedDayRange ` +
29
+ `(${get_execution_time_1.getExecutionTime(start, performance.now())})`);
30
+ start = performance.now();
23
31
  migrateProperty({
24
32
  namedImport: 'TuiDayRange',
25
33
  moduleSpecifier: '@taiga-ui/cdk',
@@ -31,6 +39,8 @@ function dateTimeMigrations() {
31
39
  }
32
40
  },
33
41
  });
42
+ colored_log_1.processLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.PROCESSING_SYMBOL}TuiDayRange.normalizeParse ` +
43
+ `(${get_execution_time_1.getExecutionTime(start, performance.now())})`);
34
44
  [
35
45
  {
36
46
  namedImport: 'TuiMonthRange',
@@ -68,12 +78,15 @@ function dateTimeMigrations() {
68
78
  message: 'weeksRowsCount has been removed in 3.0. If you need this utils check out this pipe https://github.com/Tinkoff/taiga-ui/tree/main/projects/core/pipes/calendar-sheet',
69
79
  },
70
80
  ].forEach(({ namedImport, field, message }) => {
81
+ start = performance.now();
71
82
  migrateProperty({
72
83
  namedImport,
73
84
  moduleSpecifier: '@taiga-ui/cdk',
74
85
  from: field,
75
86
  callback: node => insertTodoBeforeNode(node, message),
76
87
  });
88
+ colored_log_1.processLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.PROCESSING_SYMBOL}${namedImport}.${field} ` +
89
+ `(${get_execution_time_1.getExecutionTime(start, performance.now())})`);
77
90
  });
78
91
  colored_log_1.successLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SUCCESS_SYMBOL} date/time migrated \n`);
79
92
  }
@@ -117,12 +130,39 @@ function replaceIdentifier(node, from, callback) {
117
130
  }
118
131
  }
119
132
  function replaceIdentifierReferences(identifier, from, callback) {
120
- identifier.findReferencesAsNodes().forEach(ref => {
133
+ identifier
134
+ .findReferencesAsNodes()
135
+ /**
136
+ * `findReferencesAsNodes` has strange behavior.
137
+ * Imagine schematics run on the following file:
138
+ * ```
139
+ * class Dummy {
140
+ * var = 5;
141
+ * method1() {
142
+ * const {var} = this; // (1)
143
+ * return var; // (2)
144
+ * }
145
+ * method2() {
146
+ * const {var} = this; // (3)
147
+ * }
148
+ * }
149
+ * ```
150
+ * If `identifier` is equal to `var` from `method1` (1),
151
+ * then `identifier.findReferencesAsNodes` will return array with 2 references: (2) and (3).
152
+ */
153
+ .filter(ref => !areBothObjectDestructuring(ref, identifier))
154
+ .forEach(ref => {
155
+ if (ref.wasForgotten()) {
156
+ return;
157
+ }
121
158
  let parent = ref.getParent();
122
159
  if ((parent === null || parent === void 0 ? void 0 : parent.getText()) === `this.${identifier.getText()}` ||
123
160
  (parent === null || parent === void 0 ? void 0 : parent.getText()) === identifier.getText()) {
124
161
  replaceIdentifier(parent, from, callback);
125
162
  }
163
+ if (parent === null || parent === void 0 ? void 0 : parent.wasForgotten()) {
164
+ return;
165
+ }
126
166
  if (parent === null || parent === void 0 ? void 0 : parent.getText().startsWith('this')) {
127
167
  parent = parent === null || parent === void 0 ? void 0 : parent.getParent();
128
168
  }
@@ -153,3 +193,7 @@ function insertTodoBeforeNode(node, message) {
153
193
  insert_todo_1.insertTodo(identifier, message);
154
194
  }
155
195
  }
196
+ function areBothObjectDestructuring(ref, identifier) {
197
+ return Boolean(identifier.getFirstAncestorByKind(ng_morph_1.SyntaxKind.BindingElement) &&
198
+ ref.getFirstAncestorByKind(ng_morph_1.SyntaxKind.BindingElement));
199
+ }
@@ -5,11 +5,12 @@ const get_component_templates_1 = require("../../utils/templates/get-component-t
5
5
  const elements_1 = require("../../utils/templates/elements");
6
6
  const template_resource_1 = require("../../utils/templates/template-resource");
7
7
  const colored_log_1 = require("../../utils/colored-log");
8
+ const constants_1 = require("../../constants");
8
9
  exports.DEPRECATED_PROGRESS_PIPES_REG = /\s*\|\s*tuiProgressColorSegments(Async\s*\|\s*async)?/gi;
9
10
  const PROPERTY_FOR_DEPRECATED_PIPES = '[color]';
10
11
  function migrateProgress(fileSystem) {
11
12
  colored_log_1.infoLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} migrating progress bars...`);
12
- const templateResources = get_component_templates_1.getComponentTemplates('**/**.ts');
13
+ const templateResources = get_component_templates_1.getComponentTemplates(constants_1.ALL_TS_FILES);
13
14
  for (const templateResource of templateResources) {
14
15
  replaceProgressColorSegmentsPipe(templateResource, fileSystem);
15
16
  }
@@ -5,7 +5,9 @@ const migrate_input_range_1 = require("./migrate-input-range");
5
5
  const colored_log_1 = require("../../../utils/colored-log");
6
6
  function migrateSliders(fileSystem) {
7
7
  colored_log_1.infoLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} migrating sliders...`);
8
+ colored_log_1.processLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.PROCESSING_SYMBOL}InputSlider...`);
8
9
  migrate_input_slider_1.migrateInputSlider(fileSystem);
10
+ colored_log_1.processLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.PROCESSING_SYMBOL}InputRange...`);
9
11
  migrate_input_range_1.migrateInputRange(fileSystem);
10
12
  colored_log_1.successLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SUCCESS_SYMBOL} sliders migrated \n`);
11
13
  }
@@ -5,10 +5,11 @@ const ng_component_input_manipulations_1 = require("../../../utils/templates/ng-
5
5
  const ng_morph_1 = require("ng-morph");
6
6
  const ng_component_1 = require("../../../utils/angular/ng-component");
7
7
  const add_unique_import_1 = require("../../../utils/add-unique-import");
8
+ const constants_1 = require("../../../constants");
8
9
  const MIN_LABELS_MIGRATION_METHOD_NAME = 'tuiMigrationInputRangeMinLabel';
9
10
  const MAX_LABELS_MIGRATION_METHOD_NAME = 'tuiMigrationInputRangeMaxLabel';
10
11
  function migrateInputRange(fileSystem) {
11
- const templateResources = get_component_templates_1.getComponentTemplates('**/**.ts');
12
+ const templateResources = get_component_templates_1.getComponentTemplates(constants_1.ALL_TS_FILES);
12
13
  const COMPONENTS_WITH_MIN_LABELS = new Set();
13
14
  const COMPONENTS_WITH_MAX_LABELS = new Set();
14
15
  for (const templateResource of templateResources) {
@@ -16,7 +17,7 @@ function migrateInputRange(fileSystem) {
16
17
  replaceMaxLabel(templateResource, fileSystem, COMPONENTS_WITH_MAX_LABELS);
17
18
  }
18
19
  save(fileSystem);
19
- for (const componentPath of COMPONENTS_WITH_MIN_LABELS) {
20
+ for (const componentPath of Array.from(COMPONENTS_WITH_MIN_LABELS)) {
20
21
  addMinMaxLabelMethod(componentPath, MIN_LABELS_MIGRATION_METHOD_NAME, [
21
22
  'const currentValue = context.$implicit;',
22
23
  'const minValue = 0; // TODO: (Taiga UI migration) replace with the MIN value of the input-range',
@@ -25,7 +26,7 @@ function migrateInputRange(fileSystem) {
25
26
  'return String(currentValue);',
26
27
  ]);
27
28
  }
28
- for (const componentPath of COMPONENTS_WITH_MAX_LABELS) {
29
+ for (const componentPath of Array.from(COMPONENTS_WITH_MAX_LABELS)) {
29
30
  addMinMaxLabelMethod(componentPath, MAX_LABELS_MIGRATION_METHOD_NAME, [
30
31
  'const currentValue = context.$implicit;',
31
32
  'const maxValue = 100; // TODO: (Taiga UI migration) replace with the MAX value of the input',
@@ -6,8 +6,9 @@ const ng_component_1 = require("../../../utils/angular/ng-component");
6
6
  const add_unique_import_1 = require("../../../utils/add-unique-import");
7
7
  const get_component_templates_1 = require("../../../utils/templates/get-component-templates");
8
8
  const elements_1 = require("../../../utils/templates/elements");
9
+ const constants_1 = require("../../../constants");
9
10
  function migrateInputSlider(fileSystem) {
10
- const templateResources = get_component_templates_1.getComponentTemplates('**/**.ts');
11
+ const templateResources = get_component_templates_1.getComponentTemplates(constants_1.ALL_TS_FILES);
11
12
  const COMPONENTS_WITH_MIN_MAX_LABELS = new Set();
12
13
  for (const templateResource of templateResources) {
13
14
  replaceMinMaxLabels(templateResource, fileSystem, COMPONENTS_WITH_MIN_MAX_LABELS);
@@ -19,7 +20,7 @@ function migrateInputSlider(fileSystem) {
19
20
  fileSystem.commitEdits();
20
21
  ng_morph_1.saveActiveProject();
21
22
  ng_morph_1.setActiveProject(ng_morph_1.createProject(fileSystem.tree, '/', '**/**'));
22
- for (const componentPath of COMPONENTS_WITH_MIN_MAX_LABELS) {
23
+ for (const componentPath of Array.from(COMPONENTS_WITH_MIN_MAX_LABELS)) {
23
24
  addMinMaxLabelMethod(componentPath);
24
25
  }
25
26
  }
@@ -3,17 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const get_component_templates_1 = require("../../utils/templates/get-component-templates");
4
4
  const templates_1 = require("../constants/templates");
5
5
  const elements_1 = require("../../utils/templates/elements");
6
+ const ng_morph_1 = require("ng-morph");
6
7
  const ng_component_input_manipulations_1 = require("../../utils/templates/ng-component-input-manipulations");
7
8
  const template_resource_1 = require("../../utils/templates/template-resource");
8
- const ng_morph_1 = require("ng-morph");
9
9
  const ng_component_1 = require("../../utils/angular/ng-component");
10
10
  const add_unique_import_1 = require("../../utils/add-unique-import");
11
11
  const colored_log_1 = require("../../utils/colored-log");
12
+ const constants_1 = require("../../constants");
13
+ const progress_1 = require("../../utils/progress");
12
14
  const START_TAG_OFFSET = 1;
13
15
  const END_TAG_OFFSET = 2;
14
16
  function migrateTemplates(fileSystem) {
15
17
  colored_log_1.infoLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} migrating templates...`);
16
- const componentWithTemplatesPaths = get_component_templates_1.getComponentTemplates('**/**');
18
+ const componentWithTemplatesPaths = get_component_templates_1.getComponentTemplates(constants_1.ALL_TS_FILES);
17
19
  const actions = [
18
20
  replaceTags,
19
21
  replaceAttrs,
@@ -25,10 +27,14 @@ function migrateTemplates(fileSystem) {
25
27
  migrateTuiHideSelectedPipe,
26
28
  removeInputs,
27
29
  ];
28
- componentWithTemplatesPaths.forEach(resource => {
30
+ componentWithTemplatesPaths.forEach((resource, templateIndex, templates) => {
29
31
  const path = fileSystem.resolve(template_resource_1.getPathFromTemplateResource(resource));
30
32
  const recorder = fileSystem.edit(path);
31
- actions.forEach(action => {
33
+ const isLastTemplate = templateIndex === templates.length - 1;
34
+ actions.forEach((action, actionIndex) => {
35
+ const isLastAction = actionIndex === actions.length - 1;
36
+ const progressLog = `${templateIndex + 1} / ${templates.length} (${action.name}...)`;
37
+ progress_1.printProgress(`${colored_log_1.SMALL_TAB_SYMBOL.repeat(2)}${progressLog}`, isLastTemplate && isLastAction);
32
38
  action({ resource, fileSystem, recorder });
33
39
  });
34
40
  });
@@ -2,10 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const ng_morph_1 = require("ng-morph");
4
4
  const colored_log_1 = require("../../utils/colored-log");
5
+ const constants_1 = require("../../constants");
5
6
  const DEEP_REGEX = /(@taiga-ui\/\w+)\/.*/;
6
7
  function replaceDeepImports() {
7
8
  colored_log_1.infoLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} replacing deep imports...`);
8
- const deepImports = ng_morph_1.getImports('**/**.ts').filter(imp => DEEP_REGEX.test(imp.getModuleSpecifier().getLiteralValue()));
9
+ const deepImports = ng_morph_1.getImports(constants_1.ALL_TS_FILES).filter(imp => DEEP_REGEX.test(imp.getModuleSpecifier().getLiteralValue()));
9
10
  ng_morph_1.editImports(deepImports, deepImport => {
10
11
  const specifier = deepImport.moduleSpecifier.replace(DEEP_REGEX, '$1');
11
12
  return { moduleSpecifier: specifier };
@@ -12,6 +12,7 @@ function replaceEnums() {
12
12
  }
13
13
  exports.replaceEnums = replaceEnums;
14
14
  function replaceEnumWithString(enumName, replaceValues, keepAsType = true) {
15
+ var _a;
15
16
  const references = get_named_import_references_1.getNamedImportReferences(enumName);
16
17
  for (let ref of references) {
17
18
  const parent = ref.getParent();
@@ -21,7 +22,7 @@ function replaceEnumWithString(enumName, replaceValues, keepAsType = true) {
21
22
  }
22
23
  if (ng_morph_1.Node.isTypeReferenceNode(parent) && !keepAsType) {
23
24
  const declaration = parent.getParent();
24
- declaration.removeType();
25
+ (_a = declaration.removeType) === null || _a === void 0 ? void 0 : _a.call(declaration);
25
26
  continue;
26
27
  }
27
28
  if (!ng_morph_1.Node.isPropertyAccessExpression(parent)) {
@@ -20,7 +20,7 @@ function replaceDeprecatedFunction() {
20
20
  get_named_import_references_1.getNamedImportReferences(from, moduleSpecifier).forEach(ref => {
21
21
  const parent = ref.getParent();
22
22
  if (ng_morph_1.Node.isImportSpecifier(parent) || ng_morph_1.Node.isCallExpression(parent)) {
23
- parent === null || parent === void 0 ? void 0 : parent.replaceWithText(parent === null || parent === void 0 ? void 0 : parent.getFullText().trim().replace(from, to !== null && to !== void 0 ? to : from));
23
+ parent === null || parent === void 0 ? void 0 : parent.replaceWithText(parent === null || parent === void 0 ? void 0 : parent.getText({ includeJsDocComments: false }).trim().replace(from, to !== null && to !== void 0 ? to : from));
24
24
  }
25
25
  });
26
26
  });
@@ -46,7 +46,11 @@ function replaceClosestElement(references) {
46
46
  }
47
47
  else if (ng_morph_1.Node.isCallExpression(parent)) {
48
48
  const [firstArg, secondArg] = parent.getArguments();
49
- parent.replaceWithText(`${firstArg.getText()}.closest(${secondArg.getText()})`);
49
+ const firstArgText = firstArg.getText();
50
+ const element = firstArgText.includes(' as ') // e.g, `getClosestElement(el as Element, ...)`
51
+ ? `(${firstArgText})`
52
+ : firstArgText;
53
+ parent.replaceWithText(`${element}.closest(${secondArg.getText()})`);
50
54
  }
51
55
  });
52
56
  }
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const ng_morph_1 = require("ng-morph");
4
4
  const warnings_1 = require("../constants/warnings");
5
+ const constants_1 = require("../../constants");
5
6
  function showWarnings(context) {
6
7
  warnings_1.MIGRATION_WARNINGS.forEach(warning => showWarning(warning, context));
7
8
  }
8
9
  exports.showWarnings = showWarnings;
9
10
  function showWarning({ name, message, moduleSpecifier = '**/**' }, { logger }) {
10
- const references = ng_morph_1.getImports('**/**', {
11
+ const references = ng_morph_1.getImports(constants_1.ALL_TS_FILES, {
11
12
  moduleSpecifier,
12
13
  namedImports: [name],
13
14
  })
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const ng_morph_1 = require("ng-morph");
4
+ const constants_1 = require("../../constants");
4
5
  function getNgModules(pattern, query) {
5
6
  return ng_morph_1.getClasses(pattern, query).filter(declaration => !!declaration.getDecorator('NgModule'));
6
7
  }
@@ -9,7 +10,7 @@ exports.getNgModules = getNgModules;
9
10
  * Find NgModule where the component was declared.
10
11
  */
11
12
  function findNgModule(ngComponent) {
12
- const allNgModules = getNgModules('**/**.ts');
13
+ const allNgModules = getNgModules(constants_1.ALL_TS_FILES);
13
14
  return (allNgModules.find(module => {
14
15
  const moduleFile = module.getSourceFile();
15
16
  const imports = ng_morph_1.getImports(moduleFile.getFilePath(), {
@@ -0,0 +1 @@
1
+ export declare function getExecutionTime(t0: number, t1: number): string;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getExecutionTime(t0, t1) {
4
+ const sum = t1 - t0;
5
+ return sum > 1000 ? `${(sum / 1000).toFixed(2)} sec` : `${sum.toFixed(2)} ms`;
6
+ }
7
+ exports.getExecutionTime = getExecutionTime;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const ng_morph_1 = require("ng-morph");
4
+ const constants_1 = require("../constants");
4
5
  function getNamedImportReferences(namedImport, moduleSpecifier = '**/**') {
5
- const importDeclarations = ng_morph_1.getImports('**/**', {
6
+ const importDeclarations = ng_morph_1.getImports(constants_1.ALL_TS_FILES, {
6
7
  namedImports: [namedImport],
7
8
  moduleSpecifier: moduleSpecifier,
8
9
  });
@@ -0,0 +1 @@
1
+ export declare function printProgress(progressLog: string, isLastLog?: boolean): void;