@taiga-ui/cdk 3.12.1 → 3.14.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 (143) hide show
  1. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +1 -1
  2. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  3. package/bundles/taiga-ui-cdk-constants.umd.js +1 -1
  4. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  5. package/bundles/taiga-ui-cdk-directives-drag.umd.js +6 -0
  6. package/bundles/taiga-ui-cdk-directives-drag.umd.js.map +1 -1
  7. package/bundles/taiga-ui-cdk-directives-let.umd.js.map +1 -1
  8. package/bundles/taiga-ui-cdk-directives-resizer.umd.js +508 -0
  9. package/bundles/taiga-ui-cdk-directives-resizer.umd.js.map +1 -0
  10. package/bundles/taiga-ui-cdk-directives.umd.js +10 -4
  11. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  12. package/bundles/taiga-ui-cdk-services.umd.js +7 -1
  13. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  14. package/bundles/taiga-ui-cdk-tokens.umd.js +1 -1
  15. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  16. package/bundles/taiga-ui-cdk-utils-dom.umd.js +8 -6
  17. package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
  18. package/constants/version.d.ts +1 -1
  19. package/constants/version.js +1 -1
  20. package/directives/drag/drag.directive.d.ts +3 -0
  21. package/directives/drag/drag.module.d.ts +3 -0
  22. package/directives/index.d.ts +1 -0
  23. package/directives/let/let.directive.d.ts +1 -1
  24. package/directives/resizer/index.d.ts +3 -0
  25. package/directives/resizer/package.json +10 -0
  26. package/directives/resizer/resizeable.directive.d.ts +6 -0
  27. package/directives/resizer/resizer.directive.d.ts +21 -0
  28. package/directives/resizer/resizer.module.d.ts +8 -0
  29. package/directives/resizer/taiga-ui-cdk-directives-resizer.d.ts +5 -0
  30. package/esm2015/components/dialog-host/dialog-host.component.js +2 -2
  31. package/esm2015/constants/version.js +2 -2
  32. package/esm2015/directives/drag/drag.directive.js +4 -1
  33. package/esm2015/directives/drag/drag.module.js +4 -1
  34. package/esm2015/directives/index.js +2 -1
  35. package/esm2015/directives/let/let.directive.js +1 -1
  36. package/esm2015/directives/resizer/index.js +4 -0
  37. package/esm2015/directives/resizer/resizeable.directive.js +14 -0
  38. package/esm2015/directives/resizer/resizer.directive.js +107 -0
  39. package/esm2015/directives/resizer/resizer.module.js +17 -0
  40. package/esm2015/directives/resizer/taiga-ui-cdk-directives-resizer.js +5 -0
  41. package/esm2015/services/resize.service.js +8 -3
  42. package/esm2015/tokens/active-element.js +2 -2
  43. package/esm2015/utils/dom/contains-or-after.js +8 -3
  44. package/esm2015/utils/dom/get-actual-target.js +2 -5
  45. package/fesm2015/taiga-ui-cdk-components-dialog-host.js +1 -1
  46. package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  47. package/fesm2015/taiga-ui-cdk-constants.js +1 -1
  48. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  49. package/fesm2015/taiga-ui-cdk-directives-drag.js +6 -0
  50. package/fesm2015/taiga-ui-cdk-directives-drag.js.map +1 -1
  51. package/fesm2015/taiga-ui-cdk-directives-let.js.map +1 -1
  52. package/fesm2015/taiga-ui-cdk-directives-resizer.js +138 -0
  53. package/fesm2015/taiga-ui-cdk-directives-resizer.js.map +1 -0
  54. package/fesm2015/taiga-ui-cdk-directives.js +1 -0
  55. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  56. package/fesm2015/taiga-ui-cdk-services.js +7 -2
  57. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  58. package/fesm2015/taiga-ui-cdk-tokens.js +1 -1
  59. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  60. package/fesm2015/taiga-ui-cdk-utils-dom.js +8 -6
  61. package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
  62. package/package.json +1 -1
  63. package/schematics/collection.json +2 -2
  64. package/schematics/constants/file-globs.js +21 -1
  65. package/schematics/migration.json +7 -2
  66. package/schematics/ng-update/{constants/warnings.d.ts → interfaces/migration-warning.d.ts} +0 -1
  67. package/schematics/ng-update/interfaces/migration-warning.js +2 -0
  68. package/schematics/ng-update/interfaces/removed-module.d.ts +4 -0
  69. package/schematics/ng-update/interfaces/removed-module.js +2 -0
  70. package/schematics/ng-update/{constants/consts.d.ts → interfaces/replacement-const.d.ts} +0 -1
  71. package/schematics/ng-update/interfaces/replacement-const.js +2 -0
  72. package/schematics/ng-update/{constants/enums.d.ts → interfaces/replacement-enum.d.ts} +1 -3
  73. package/schematics/ng-update/interfaces/replacement-enum.js +2 -0
  74. package/schematics/ng-update/{constants/services.d.ts → interfaces/replacement-service.d.ts} +1 -2
  75. package/schematics/ng-update/interfaces/replacement-service.js +2 -0
  76. package/schematics/ng-update/{constants/types.d.ts → interfaces/type-to-rename.d.ts} +0 -1
  77. package/schematics/ng-update/interfaces/type-to-rename.js +2 -0
  78. package/schematics/ng-update/steps/remove-module.d.ts +2 -1
  79. package/schematics/ng-update/steps/remove-module.js +2 -3
  80. package/schematics/ng-update/steps/rename-types.d.ts +2 -1
  81. package/schematics/ng-update/steps/rename-types.js +2 -3
  82. package/schematics/ng-update/steps/replace-const.d.ts +2 -2
  83. package/schematics/ng-update/steps/replace-const.js +2 -3
  84. package/schematics/ng-update/steps/replace-enums.d.ts +2 -1
  85. package/schematics/ng-update/steps/replace-enums.js +2 -3
  86. package/schematics/ng-update/steps/replace-services.d.ts +2 -1
  87. package/schematics/ng-update/steps/replace-services.js +2 -3
  88. package/schematics/ng-update/steps/show-warnings.d.ts +2 -1
  89. package/schematics/ng-update/steps/show-warnings.js +2 -3
  90. package/schematics/ng-update/utils/get-file-system.d.ts +3 -0
  91. package/schematics/ng-update/utils/get-file-system.js +11 -0
  92. package/schematics/ng-update/{constants → v3/constants}/breakpoints.d.ts +0 -0
  93. package/schematics/ng-update/{constants → v3/constants}/breakpoints.js +0 -0
  94. package/schematics/ng-update/v3/constants/consts.d.ts +2 -0
  95. package/schematics/ng-update/{constants → v3/constants}/consts.js +0 -0
  96. package/schematics/ng-update/{constants → v3/constants}/deprecated-functions.d.ts +1 -1
  97. package/schematics/ng-update/{constants → v3/constants}/deprecated-functions.js +0 -0
  98. package/schematics/ng-update/v3/constants/enums.d.ts +2 -0
  99. package/schematics/ng-update/{constants → v3/constants}/enums.js +0 -0
  100. package/schematics/ng-update/v3/constants/modules.d.ts +2 -0
  101. package/schematics/ng-update/{constants → v3/constants}/modules.js +0 -0
  102. package/schematics/ng-update/v3/constants/services.d.ts +2 -0
  103. package/schematics/ng-update/{constants → v3/constants}/services.js +0 -0
  104. package/schematics/ng-update/{constants → v3/constants}/templates.d.ts +0 -0
  105. package/schematics/ng-update/{constants → v3/constants}/templates.js +1 -1
  106. package/schematics/ng-update/{constants → v3/constants}/tui-interactive-selectors.d.ts +0 -0
  107. package/schematics/ng-update/{constants → v3/constants}/tui-interactive-selectors.js +0 -0
  108. package/schematics/ng-update/v3/constants/types.d.ts +2 -0
  109. package/schematics/ng-update/{constants → v3/constants}/types.js +0 -0
  110. package/schematics/ng-update/v3/constants/warnings.d.ts +2 -0
  111. package/schematics/ng-update/{constants → v3/constants}/warnings.js +0 -0
  112. package/schematics/ng-update/{index.d.ts → v3/index.d.ts} +1 -1
  113. package/schematics/ng-update/{index.js → v3/index.js} +29 -28
  114. package/schematics/ng-update/{schema.json → v3/schema.json} +0 -0
  115. package/schematics/ng-update/{steps → v3/steps}/migrate-date-time.d.ts +1 -1
  116. package/schematics/ng-update/{steps → v3/steps}/migrate-date-time.js +4 -4
  117. package/schematics/ng-update/{steps → v3/steps}/migrate-polymorpheus.d.ts +1 -1
  118. package/schematics/ng-update/{steps → v3/steps}/migrate-polymorpheus.js +4 -4
  119. package/schematics/ng-update/{steps → v3/steps}/migrate-progress.d.ts +1 -1
  120. package/schematics/ng-update/{steps → v3/steps}/migrate-progress.js +5 -5
  121. package/schematics/ng-update/{steps → v3/steps}/migrate-sliders/index.d.ts +1 -1
  122. package/schematics/ng-update/{steps → v3/steps}/migrate-sliders/index.js +1 -1
  123. package/schematics/ng-update/{steps → v3/steps}/migrate-sliders/migrate-input-range.d.ts +1 -1
  124. package/schematics/ng-update/{steps → v3/steps}/migrate-sliders/migrate-input-range.js +6 -6
  125. package/schematics/ng-update/{steps → v3/steps}/migrate-sliders/migrate-input-slider.d.ts +1 -1
  126. package/schematics/ng-update/{steps → v3/steps}/migrate-sliders/migrate-input-slider.js +7 -7
  127. package/schematics/ng-update/{steps → v3/steps}/migrate-taiga-proprietary-icons.d.ts +1 -1
  128. package/schematics/ng-update/{steps → v3/steps}/migrate-taiga-proprietary-icons.js +3 -3
  129. package/schematics/ng-update/{steps → v3/steps}/migrate-templates.d.ts +1 -1
  130. package/schematics/ng-update/{steps → v3/steps}/migrate-templates.js +12 -12
  131. package/schematics/ng-update/{steps → v3/steps}/migrate-textfield-controller.d.ts +1 -1
  132. package/schematics/ng-update/{steps → v3/steps}/migrate-textfield-controller.js +3 -3
  133. package/schematics/ng-update/{steps → v3/steps}/miscellaneous.d.ts +1 -1
  134. package/schematics/ng-update/{steps → v3/steps}/miscellaneous.js +3 -3
  135. package/schematics/ng-update/{steps → v3/steps}/replace-functions.d.ts +1 -1
  136. package/schematics/ng-update/{steps → v3/steps}/replace-functions.js +3 -3
  137. package/schematics/ng-update/{steps → v3/steps}/replace-styles.d.ts +0 -0
  138. package/schematics/ng-update/{steps → v3/steps}/replace-styles.js +0 -0
  139. package/schematics/ng-update/v3-5/index.d.ts +3 -0
  140. package/schematics/ng-update/v3-5/index.js +20 -0
  141. package/schematics/ng-update/v4/index.d.ts +3 -0
  142. package/schematics/ng-update/v4/index.js +17 -0
  143. package/schematics/ng-update/constants/modules.d.ts +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-dom.js","sources":["../../../projects/cdk/utils/dom/can-scroll.ts","../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/element-checks.ts","../../../projects/cdk/utils/dom/get-actual-target.ts","../../../projects/cdk/utils/dom/get-clipboard-data-text.ts","../../../projects/cdk/utils/dom/get-document-or-shadow-root.ts","../../../projects/cdk/utils/dom/get-element-obscurers.ts","../../../projects/cdk/utils/dom/get-element-offset.ts","../../../projects/cdk/utils/dom/get-scroll-parent.ts","../../../projects/cdk/utils/dom/get-selected-text.ts","../../../projects/cdk/utils/dom/is-current-target.ts","../../../projects/cdk/utils/dom/is-element-editable.ts","../../../projects/cdk/utils/dom/is-inside-iframe.ts","../../../projects/cdk/utils/dom/is-node-in.ts","../../../projects/cdk/utils/dom/point-to-client-rect.ts","../../../projects/cdk/utils/dom/taiga-ui-cdk-utils-dom.ts"],"sourcesContent":["export function tuiCanScroll(\n element: Element,\n rootElement: Element,\n vertical: boolean,\n scrollEnd: boolean,\n): boolean {\n return vertical\n ? canScrollVertical(element, rootElement, scrollEnd)\n : canScrollHorizontal(element, rootElement, scrollEnd);\n}\n\nfunction canScrollVertical(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollTop) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollTop + currentElement.clientHeight) <\n currentElement.scrollHeight &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nfunction canScrollHorizontal(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollLeft) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollLeft + currentElement.clientWidth) <\n currentElement.scrollWidth &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n","export function tuiContainsOrAfter(current: Node, node: Node): boolean {\n return (\n current.contains(node) ||\n !!(node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING)\n );\n}\n","export function tuiIsInput(element: Element): element is HTMLInputElement {\n return element.matches(`input`);\n}\n\nexport function tuiIsTextarea(element: Element): element is HTMLTextAreaElement {\n return element.matches(`textarea`);\n}\n\nexport function tuiIsTextfield(\n element: Element,\n): element is HTMLInputElement | HTMLTextAreaElement {\n return tuiIsInput(element) || tuiIsTextarea(element);\n}\n\nexport function tuiIsElement(\n node?: Element | EventTarget | Node | null,\n): node is Element {\n return !!node && `nodeType` in node && node.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function tuiIsHTMLElement(node: unknown): node is HTMLElement {\n // TODO: iframe warning\n return node instanceof HTMLElement;\n}\n\nexport function tuiIsTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE;\n}\n","/**\n * Gets actual target from open Shadow DOM if event happened within it\n */\nexport function tuiGetActualTarget(event: Event): Node {\n if (`composedPath` in event) {\n return (event as any).composedPath()[0];\n }\n\n return (event as any).target;\n}\n","const DEFAULT_FORMAT = `text/plain`;\n\n/**\n * Gets text from data of clipboardEvent, it also works in IE and Edge browsers\n */\nexport function tuiGetClipboardDataText(\n event: ClipboardEvent,\n format: string = DEFAULT_FORMAT,\n): string {\n return `clipboardData` in event && event.clipboardData !== null\n ? event.clipboardData.getData(format) ||\n event.clipboardData.getData(DEFAULT_FORMAT)\n : (event as any).target.ownerDocument.defaultView.clipboardData.getData(`text`);\n}\n","export function tuiGetDocumentOrShadowRoot(node: Node): DocumentOrShadowRoot {\n return `getRootNode` in node && node.isConnected\n ? (node.getRootNode() as Document)\n : (node.ownerDocument as DocumentOrShadowRoot);\n}\n","import {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {tuiGetDocumentOrShadowRoot} from './get-document-or-shadow-root';\n\n/**\n * Returns array of Elements covering edges of given element or null if at least one edge middle point is visible\n *\n * CAUTION: Empty array means element if offscreen i.e. covered by no elements, rather than not covered\n * TODO: v4.0 change function signature to\n * ```ts\n * function tuiGetElementObscures(element: Element): readonly [Element, Element, Element, Element] | [] | null\n * ```\n */\nexport function tuiGetElementObscures(element: Element): readonly Element[] | null {\n const {ownerDocument} = element;\n\n if (!ownerDocument?.defaultView || !element.getBoundingClientRect) {\n return null;\n }\n\n const {innerWidth, innerHeight} = ownerDocument.defaultView;\n const documentRef = tuiGetDocumentOrShadowRoot(element);\n const rect = element.getBoundingClientRect();\n const left = tuiClamp(Math.round(rect.left) + 2, 0, innerWidth);\n const top = tuiClamp(Math.round(rect.top) + 2, 0, innerHeight);\n const right = tuiClamp(Math.round(rect.right) - 2, 0, innerWidth);\n const bottom = tuiClamp(Math.round(rect.bottom) - 2, 0, innerHeight);\n const horizontalMiddle = tuiClamp(\n Math.round(rect.left + rect.width / 2),\n 0,\n innerWidth,\n );\n const verticalMiddle = tuiClamp(\n Math.round(rect.top + rect.height / 2),\n 0,\n innerHeight,\n );\n const elements = [\n documentRef.elementFromPoint(horizontalMiddle, top),\n documentRef.elementFromPoint(horizontalMiddle, bottom),\n documentRef.elementFromPoint(left, verticalMiddle),\n documentRef.elementFromPoint(right, verticalMiddle),\n ];\n const nonNull = elements.filter(tuiIsPresent);\n\n if (!nonNull.length) {\n return nonNull;\n }\n\n const filtered = nonNull.filter(el => !element.contains(el));\n\n return filtered.length === 4 ? filtered : null;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nimport {tuiIsHTMLElement} from './element-checks';\n\n/**\n * Calculates offset for an element relative to it's parent several levels above\n *\n * @param host parent element\n * @param element\n * @return object with offsetTop and offsetLeft number properties\n */\nexport function tuiGetElementOffset(\n host: Element,\n element: HTMLElement,\n): {offsetTop: number; offsetLeft: number} {\n tuiAssert.assert(host.contains(element), `Host must contain element`);\n\n let {offsetTop, offsetLeft, offsetParent} = element;\n\n while (tuiIsHTMLElement(offsetParent) && offsetParent !== host) {\n offsetTop += offsetParent.offsetTop;\n offsetLeft += offsetParent.offsetLeft;\n offsetParent = offsetParent.offsetParent;\n }\n\n return {offsetTop, offsetLeft};\n}\n","/**\n * Finds the nearest parent with scroll in it\n *\n * @param element initial element\n * @param vertical flag for orientation of scroll\n */\nexport function tuiGetScrollParent(\n element: Element | null,\n vertical: boolean = true,\n): Element | null {\n if (element === null) {\n return null;\n }\n\n if (vertical && element.scrollHeight > element.clientHeight) {\n return element;\n }\n\n if (!vertical && element.scrollWidth > element.clientWidth) {\n return element;\n }\n\n return tuiGetScrollParent(element.parentElement, vertical);\n}\n","import {tuiIsTextfield} from './element-checks';\n\n/**\n * @description:\n * cross browser way to get selected text\n *\n * History:\n * BUG - window.getSelection() fails when text selected in a form field\n * https://bugzilla.mozilla.org/show_bug.cgi?id=85686\n */\nexport function tuiGetSelectedText({getSelection, document}: Window): string | null {\n return document.activeElement && tuiIsTextfield(document.activeElement)\n ? document.activeElement.value.slice(\n document.activeElement.selectionStart || 0,\n document.activeElement.selectionEnd || 0,\n )\n : getSelection()?.toString() || null;\n}\n","export function tuiIsCurrentTarget({target, currentTarget}: Event): boolean {\n return target === currentTarget;\n}\n","import {tuiIsTextfield} from './element-checks';\n\nexport function tuiIsElementEditable(element: HTMLElement): boolean {\n return (tuiIsTextfield(element) && !element.readOnly) || element.isContentEditable;\n}\n","/**\n * Checks if an app is running inside <iframe /> tag\n */\nexport function tuiIsInsideIframe(windowRef: Window): boolean {\n return windowRef.parent !== windowRef;\n}\n","import {tuiIsElement, tuiIsTextNode} from './element-checks';\n\n/**\n * Checks if node is inside a specific selector\n *\n * @param node\n * @param selector\n * @return true if node is inside a particular selector\n */\nexport function tuiIsNodeIn(node: Node, selector: string): boolean {\n return tuiIsTextNode(node)\n ? !!node.parentElement?.closest(selector)\n : tuiIsElement(node) && !!node.closest(selector);\n}\n","export function tuiPointToClientRect(x: number = 0, y: number = 0): DOMRect {\n const rect = {\n x,\n y,\n left: x,\n right: x,\n top: y,\n bottom: y,\n width: 0,\n height: 0,\n } as const;\n\n return {\n ...rect,\n toJSON() {\n return rect;\n },\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-dom.js","sources":["../../../projects/cdk/utils/dom/can-scroll.ts","../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/element-checks.ts","../../../projects/cdk/utils/dom/get-actual-target.ts","../../../projects/cdk/utils/dom/get-clipboard-data-text.ts","../../../projects/cdk/utils/dom/get-document-or-shadow-root.ts","../../../projects/cdk/utils/dom/get-element-obscurers.ts","../../../projects/cdk/utils/dom/get-element-offset.ts","../../../projects/cdk/utils/dom/get-scroll-parent.ts","../../../projects/cdk/utils/dom/get-selected-text.ts","../../../projects/cdk/utils/dom/is-current-target.ts","../../../projects/cdk/utils/dom/is-element-editable.ts","../../../projects/cdk/utils/dom/is-inside-iframe.ts","../../../projects/cdk/utils/dom/is-node-in.ts","../../../projects/cdk/utils/dom/point-to-client-rect.ts","../../../projects/cdk/utils/dom/taiga-ui-cdk-utils-dom.ts"],"sourcesContent":["export function tuiCanScroll(\n element: Element,\n rootElement: Element,\n vertical: boolean,\n scrollEnd: boolean,\n): boolean {\n return vertical\n ? canScrollVertical(element, rootElement, scrollEnd)\n : canScrollHorizontal(element, rootElement, scrollEnd);\n}\n\nfunction canScrollVertical(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollTop) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollTop + currentElement.clientHeight) <\n currentElement.scrollHeight &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nfunction canScrollHorizontal(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollLeft) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollLeft + currentElement.clientWidth) <\n currentElement.scrollWidth &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n","export function tuiContainsOrAfter(current: Node, node: Node): boolean {\n try {\n return (\n current.contains(node) ||\n !!(node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING)\n );\n } catch {\n return false;\n }\n}\n","export function tuiIsInput(element: Element): element is HTMLInputElement {\n return element.matches(`input`);\n}\n\nexport function tuiIsTextarea(element: Element): element is HTMLTextAreaElement {\n return element.matches(`textarea`);\n}\n\nexport function tuiIsTextfield(\n element: Element,\n): element is HTMLInputElement | HTMLTextAreaElement {\n return tuiIsInput(element) || tuiIsTextarea(element);\n}\n\nexport function tuiIsElement(\n node?: Element | EventTarget | Node | null,\n): node is Element {\n return !!node && `nodeType` in node && node.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function tuiIsHTMLElement(node: unknown): node is HTMLElement {\n // TODO: iframe warning\n return node instanceof HTMLElement;\n}\n\nexport function tuiIsTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE;\n}\n","/**\n * Gets actual target from open Shadow DOM if event happened within it\n */\nexport function tuiGetActualTarget(event: Event): Node {\n return event.composedPath()[0] as Node;\n}\n","const DEFAULT_FORMAT = `text/plain`;\n\n/**\n * Gets text from data of clipboardEvent, it also works in IE and Edge browsers\n */\nexport function tuiGetClipboardDataText(\n event: ClipboardEvent,\n format: string = DEFAULT_FORMAT,\n): string {\n return `clipboardData` in event && event.clipboardData !== null\n ? event.clipboardData.getData(format) ||\n event.clipboardData.getData(DEFAULT_FORMAT)\n : (event as any).target.ownerDocument.defaultView.clipboardData.getData(`text`);\n}\n","export function tuiGetDocumentOrShadowRoot(node: Node): DocumentOrShadowRoot {\n return `getRootNode` in node && node.isConnected\n ? (node.getRootNode() as Document)\n : (node.ownerDocument as DocumentOrShadowRoot);\n}\n","import {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {tuiGetDocumentOrShadowRoot} from './get-document-or-shadow-root';\n\n/**\n * Returns array of Elements covering edges of given element or null if at least one edge middle point is visible\n *\n * CAUTION: Empty array means element if offscreen i.e. covered by no elements, rather than not covered\n * TODO: v4.0 change function signature to\n * ```ts\n * function tuiGetElementObscures(element: Element): readonly [Element, Element, Element, Element] | [] | null\n * ```\n */\nexport function tuiGetElementObscures(element: Element): readonly Element[] | null {\n const {ownerDocument} = element;\n\n if (!ownerDocument?.defaultView || !element.getBoundingClientRect) {\n return null;\n }\n\n const {innerWidth, innerHeight} = ownerDocument.defaultView;\n const documentRef = tuiGetDocumentOrShadowRoot(element);\n const rect = element.getBoundingClientRect();\n const left = tuiClamp(Math.round(rect.left) + 2, 0, innerWidth);\n const top = tuiClamp(Math.round(rect.top) + 2, 0, innerHeight);\n const right = tuiClamp(Math.round(rect.right) - 2, 0, innerWidth);\n const bottom = tuiClamp(Math.round(rect.bottom) - 2, 0, innerHeight);\n const horizontalMiddle = tuiClamp(\n Math.round(rect.left + rect.width / 2),\n 0,\n innerWidth,\n );\n const verticalMiddle = tuiClamp(\n Math.round(rect.top + rect.height / 2),\n 0,\n innerHeight,\n );\n const elements = [\n documentRef.elementFromPoint(horizontalMiddle, top),\n documentRef.elementFromPoint(horizontalMiddle, bottom),\n documentRef.elementFromPoint(left, verticalMiddle),\n documentRef.elementFromPoint(right, verticalMiddle),\n ];\n const nonNull = elements.filter(tuiIsPresent);\n\n if (!nonNull.length) {\n return nonNull;\n }\n\n const filtered = nonNull.filter(el => !element.contains(el));\n\n return filtered.length === 4 ? filtered : null;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nimport {tuiIsHTMLElement} from './element-checks';\n\n/**\n * Calculates offset for an element relative to it's parent several levels above\n *\n * @param host parent element\n * @param element\n * @return object with offsetTop and offsetLeft number properties\n */\nexport function tuiGetElementOffset(\n host: Element,\n element: HTMLElement,\n): {offsetTop: number; offsetLeft: number} {\n tuiAssert.assert(host.contains(element), `Host must contain element`);\n\n let {offsetTop, offsetLeft, offsetParent} = element;\n\n while (tuiIsHTMLElement(offsetParent) && offsetParent !== host) {\n offsetTop += offsetParent.offsetTop;\n offsetLeft += offsetParent.offsetLeft;\n offsetParent = offsetParent.offsetParent;\n }\n\n return {offsetTop, offsetLeft};\n}\n","/**\n * Finds the nearest parent with scroll in it\n *\n * @param element initial element\n * @param vertical flag for orientation of scroll\n */\nexport function tuiGetScrollParent(\n element: Element | null,\n vertical: boolean = true,\n): Element | null {\n if (element === null) {\n return null;\n }\n\n if (vertical && element.scrollHeight > element.clientHeight) {\n return element;\n }\n\n if (!vertical && element.scrollWidth > element.clientWidth) {\n return element;\n }\n\n return tuiGetScrollParent(element.parentElement, vertical);\n}\n","import {tuiIsTextfield} from './element-checks';\n\n/**\n * @description:\n * cross browser way to get selected text\n *\n * History:\n * BUG - window.getSelection() fails when text selected in a form field\n * https://bugzilla.mozilla.org/show_bug.cgi?id=85686\n */\nexport function tuiGetSelectedText({getSelection, document}: Window): string | null {\n return document.activeElement && tuiIsTextfield(document.activeElement)\n ? document.activeElement.value.slice(\n document.activeElement.selectionStart || 0,\n document.activeElement.selectionEnd || 0,\n )\n : getSelection()?.toString() || null;\n}\n","export function tuiIsCurrentTarget({target, currentTarget}: Event): boolean {\n return target === currentTarget;\n}\n","import {tuiIsTextfield} from './element-checks';\n\nexport function tuiIsElementEditable(element: HTMLElement): boolean {\n return (tuiIsTextfield(element) && !element.readOnly) || element.isContentEditable;\n}\n","/**\n * Checks if an app is running inside <iframe /> tag\n */\nexport function tuiIsInsideIframe(windowRef: Window): boolean {\n return windowRef.parent !== windowRef;\n}\n","import {tuiIsElement, tuiIsTextNode} from './element-checks';\n\n/**\n * Checks if node is inside a specific selector\n *\n * @param node\n * @param selector\n * @return true if node is inside a particular selector\n */\nexport function tuiIsNodeIn(node: Node, selector: string): boolean {\n return tuiIsTextNode(node)\n ? !!node.parentElement?.closest(selector)\n : tuiIsElement(node) && !!node.closest(selector);\n}\n","export function tuiPointToClientRect(x: number = 0, y: number = 0): DOMRect {\n const rect = {\n x,\n y,\n left: x,\n right: x,\n top: y,\n bottom: y,\n width: 0,\n height: 0,\n } as const;\n\n return {\n ...rect,\n toJSON() {\n return rect;\n },\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/cdk",
3
- "version": "3.12.1",
3
+ "version": "3.14.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",
@@ -15,8 +15,8 @@
15
15
  "updateToV3": {
16
16
  "private": true,
17
17
  "description": "Manually run migration to update Taiga to v3.x.x",
18
- "factory": "./ng-update/index#updateToV3",
19
- "schema": "./ng-update/schema.json"
18
+ "factory": "./ng-update/v3/index#updateToV3",
19
+ "schema": "./ng-update/v3/schema.json"
20
20
  }
21
21
  }
22
22
  }
@@ -1,7 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ALL_FILES = exports.ALL_TS_FILES = void 0;
4
- const EXCLUDE_DIRECTORIES = [`scripts`, `dist`, `node_modules`].join(`|`);
4
+ const EXCLUDE_DIRECTORIES = [
5
+ // compiled
6
+ `scripts`,
7
+ `dist`,
8
+ `node_modules`,
9
+ `coverage`,
10
+ `dll`,
11
+ `tmp`,
12
+ `__build__`,
13
+ // hidden directories
14
+ `.rpt2_cache`,
15
+ `.husky`,
16
+ `.vscode`,
17
+ `.idea`,
18
+ `.github`,
19
+ `.gitlab`,
20
+ `.devplatform`,
21
+ `.angular`,
22
+ `.tmp`,
23
+ `.nx`,
24
+ ].join(`|`);
5
25
  const EXCLUDE_FILE_PATTERNS = [
6
26
  `*__name@dasherize__*`,
7
27
  `*.d`, // typings
@@ -4,12 +4,17 @@
4
4
  "updateToV3": {
5
5
  "description": "Updates Taiga UI packages to v3",
6
6
  "version": "3.0.0",
7
- "factory": "./ng-update/index#updateToV3"
7
+ "factory": "./ng-update/v3/index#updateToV3"
8
8
  },
9
9
  "updateToV3_5": {
10
10
  "description": "Small migration for expand",
11
11
  "version": "3.5.0",
12
- "factory": "./ng-update/index#updateToV3_5"
12
+ "factory": "./ng-update/v3-5/index#updateToV3_5"
13
+ },
14
+ "updateToV4": {
15
+ "description": "Updates Taiga UI packages to v4",
16
+ "version": "4.0.0",
17
+ "factory": "./ng-update/v4/index#updateToV4"
13
18
  }
14
19
  }
15
20
  }
@@ -3,4 +3,3 @@ export interface MigrationWarning {
3
3
  readonly moduleSpecifier?: string;
4
4
  readonly message: string;
5
5
  }
6
- export declare const MIGRATION_WARNINGS: readonly MigrationWarning[];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export interface RemovedModule {
2
+ readonly name: string;
3
+ readonly moduleSpecifier: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -9,4 +9,3 @@ export interface ReplacementConst {
9
9
  readonly moduleSpecifier: string;
10
10
  };
11
11
  }
12
- export declare const CONSTS_TO_REPLACE: ReplacementConst[];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,5 @@
1
- interface ReplacementEnum {
1
+ export interface ReplacementEnum {
2
2
  readonly name: string;
3
3
  readonly replaceValues: Record<string, string>;
4
4
  readonly keepAsType?: boolean;
5
5
  }
6
- export declare const ENUMS_TO_REPLACE: ReplacementEnum[];
7
- export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,8 +1,7 @@
1
- import { ReplacementConst } from './consts';
1
+ import { ReplacementConst } from './replacement-const';
2
2
  export interface ReplacementService extends ReplacementConst {
3
3
  readonly replaceMethods?: Array<{
4
4
  from: string;
5
5
  to: string;
6
6
  }>;
7
7
  }
8
- export declare const SERVICES_TO_REPLACE: ReplacementService[];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -4,4 +4,3 @@ export interface TypeToRename {
4
4
  readonly moduleSpecifier?: string[] | string;
5
5
  readonly preserveGenerics?: boolean;
6
6
  }
7
- export declare const TYPES_TO_RENAME: readonly TypeToRename[];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +1,4 @@
1
1
  import { TuiSchema } from '../../ng-add/schema';
2
- export declare function removeModules(options: TuiSchema): void;
2
+ import { RemovedModule } from '../interfaces/removed-module';
3
+ export declare function removeModules(options: TuiSchema, modules: readonly RemovedModule[]): void;
3
4
  export declare function removeModule(name: string, moduleSpecifier: string): void;
@@ -5,11 +5,10 @@ const ng_morph_1 = require("ng-morph");
5
5
  const colored_log_1 = require("../../utils/colored-log");
6
6
  const get_named_import_references_1 = require("../../utils/get-named-import-references");
7
7
  const import_manipulations_1 = require("../../utils/import-manipulations");
8
- const modules_1 = require("../constants/modules");
9
- function removeModules(options) {
8
+ function removeModules(options, modules) {
10
9
  !options[`skip-logs`] &&
11
10
  colored_log_1.infoLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} removing modules...`);
12
- modules_1.REMOVED_MODULES.forEach(({ name, moduleSpecifier }) => removeModule(name, moduleSpecifier));
11
+ modules.forEach(({ name, moduleSpecifier }) => removeModule(name, moduleSpecifier));
13
12
  !options[`skip-logs`] &&
14
13
  colored_log_1.successLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SUCCESS_SYMBOL} modules removed \n`);
15
14
  }
@@ -1,2 +1,3 @@
1
1
  import { TuiSchema } from '../../ng-add/schema';
2
- export declare function renameTypes(options: TuiSchema): void;
2
+ import { TypeToRename } from '../interfaces/type-to-rename';
3
+ export declare function renameTypes(options: TuiSchema, types: readonly TypeToRename[]): void;
@@ -5,11 +5,10 @@ const ng_morph_1 = require("ng-morph");
5
5
  const colored_log_1 = require("../../utils/colored-log");
6
6
  const get_named_import_references_1 = require("../../utils/get-named-import-references");
7
7
  const import_manipulations_1 = require("../../utils/import-manipulations");
8
- const types_1 = require("../constants/types");
9
- function renameTypes(options) {
8
+ function renameTypes(options, types) {
10
9
  !options[`skip-logs`] &&
11
10
  colored_log_1.infoLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} renaming types...`);
12
- types_1.TYPES_TO_RENAME.forEach(({ from, to, moduleSpecifier, preserveGenerics }) => renameType(from, to, moduleSpecifier, preserveGenerics));
11
+ types.forEach(({ from, to, moduleSpecifier, preserveGenerics }) => renameType(from, to, moduleSpecifier, preserveGenerics));
13
12
  !options[`skip-logs`] &&
14
13
  colored_log_1.successLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SUCCESS_SYMBOL} types renamed \n`);
15
14
  }
@@ -1,4 +1,4 @@
1
1
  import { TuiSchema } from '../../ng-add/schema';
2
- import { ReplacementConst } from '../constants/consts';
3
- export declare function replaceConstants(options: TuiSchema): void;
2
+ import { ReplacementConst } from '../interfaces/replacement-const';
3
+ export declare function replaceConstants(options: TuiSchema, consts: readonly ReplacementConst[]): void;
4
4
  export declare function replaceConst({ from, to }: ReplacementConst): void;
@@ -6,11 +6,10 @@ const add_unique_import_1 = require("../../utils/add-unique-import");
6
6
  const colored_log_1 = require("../../utils/colored-log");
7
7
  const get_named_import_references_1 = require("../../utils/get-named-import-references");
8
8
  const import_manipulations_1 = require("../../utils/import-manipulations");
9
- const consts_1 = require("../constants/consts");
10
- function replaceConstants(options) {
9
+ function replaceConstants(options, consts) {
11
10
  !options[`skip-logs`] &&
12
11
  colored_log_1.infoLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} replacing constants...`);
13
- consts_1.CONSTS_TO_REPLACE.forEach(constToReplace => replaceConst(constToReplace));
12
+ consts.forEach(constToReplace => replaceConst(constToReplace));
14
13
  !options[`skip-logs`] &&
15
14
  colored_log_1.successLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SUCCESS_SYMBOL} constants replaced \n`);
16
15
  }
@@ -1,2 +1,3 @@
1
1
  import { TuiSchema } from '../../ng-add/schema';
2
- export declare function replaceEnums(options: TuiSchema): void;
2
+ import { ReplacementEnum } from '../interfaces/replacement-enum';
3
+ export declare function replaceEnums(options: TuiSchema, enums: ReplacementEnum[]): void;
@@ -5,11 +5,10 @@ const ng_morph_1 = require("ng-morph");
5
5
  const colored_log_1 = require("../../utils/colored-log");
6
6
  const get_named_import_references_1 = require("../../utils/get-named-import-references");
7
7
  const import_manipulations_1 = require("../../utils/import-manipulations");
8
- const enums_1 = require("../constants/enums");
9
- function replaceEnums(options) {
8
+ function replaceEnums(options, enums) {
10
9
  !options[`skip-logs`] &&
11
10
  colored_log_1.infoLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} replacing enums imports...`);
12
- enums_1.ENUMS_TO_REPLACE.forEach(({ name, replaceValues, keepAsType }) => replaceEnumWithString(name, replaceValues, keepAsType));
11
+ enums.forEach(({ name, replaceValues, keepAsType }) => replaceEnumWithString(name, replaceValues, keepAsType));
13
12
  !options[`skip-logs`] &&
14
13
  colored_log_1.successLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SUCCESS_SYMBOL} enums replaced \n`);
15
14
  }
@@ -1,2 +1,3 @@
1
1
  import { TuiSchema } from '../../ng-add/schema';
2
- export declare function replaceServices(options: TuiSchema): void;
2
+ import { ReplacementService } from '../interfaces/replacement-service';
3
+ export declare function replaceServices(options: TuiSchema, services: readonly ReplacementService[]): void;
@@ -6,11 +6,10 @@ const add_unique_import_1 = require("../../utils/add-unique-import");
6
6
  const colored_log_1 = require("../../utils/colored-log");
7
7
  const get_named_import_references_1 = require("../../utils/get-named-import-references");
8
8
  const import_manipulations_1 = require("../../utils/import-manipulations");
9
- const services_1 = require("../constants/services");
10
- function replaceServices(options) {
9
+ function replaceServices(options, services) {
11
10
  !options[`skip-logs`] &&
12
11
  colored_log_1.infoLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} replacing services...`);
13
- services_1.SERVICES_TO_REPLACE.forEach(service => replaceService(service, options));
12
+ services.forEach(service => replaceService(service, options));
14
13
  !options[`skip-logs`] &&
15
14
  colored_log_1.successLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SUCCESS_SYMBOL} services replaced \n`);
16
15
  }
@@ -1,2 +1,3 @@
1
1
  import { SchematicContext } from '@angular-devkit/schematics';
2
- export declare function showWarnings(context: SchematicContext): void;
2
+ import { MigrationWarning } from '../interfaces/migration-warning';
3
+ export declare function showWarnings(context: SchematicContext, warnings: readonly MigrationWarning[]): void;
@@ -3,9 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.showWarnings = void 0;
4
4
  const ng_morph_1 = require("ng-morph");
5
5
  const constants_1 = require("../../constants");
6
- const warnings_1 = require("../constants/warnings");
7
- function showWarnings(context) {
8
- warnings_1.MIGRATION_WARNINGS.forEach(warning => showWarning(warning, context));
6
+ function showWarnings(context, warnings) {
7
+ warnings.forEach(warning => showWarning(warning, context));
9
8
  }
10
9
  exports.showWarnings = showWarnings;
11
10
  function showWarning({ name, message, moduleSpecifier = `**/**` }, { logger }) {
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@angular-devkit/schematics';
2
+ import { DevkitFileSystem } from 'ng-morph/project/classes/devkit-file-system';
3
+ export declare function getFileSystem(tree: Tree): DevkitFileSystem;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFileSystem = void 0;
4
+ const ng_morph_1 = require("ng-morph");
5
+ const constants_1 = require("../../constants");
6
+ function getFileSystem(tree) {
7
+ const project = ng_morph_1.createProject(tree, `/`, constants_1.ALL_FILES);
8
+ ng_morph_1.setActiveProject(project);
9
+ return project.getFileSystem().fs;
10
+ }
11
+ exports.getFileSystem = getFileSystem;
@@ -0,0 +1,2 @@
1
+ import { ReplacementConst } from '../../interfaces/replacement-const';
2
+ export declare const CONSTS_TO_REPLACE: ReplacementConst[];
@@ -1,2 +1,2 @@
1
- import { TypeToRename } from './types';
1
+ import { TypeToRename } from '../../interfaces/type-to-rename';
2
2
  export declare const DEPRECATED_FUNCTIONS: readonly TypeToRename[];
@@ -0,0 +1,2 @@
1
+ import { ReplacementEnum } from '../../interfaces/replacement-enum';
2
+ export declare const ENUMS_TO_REPLACE: ReplacementEnum[];
@@ -0,0 +1,2 @@
1
+ import { RemovedModule } from '../../interfaces/removed-module';
2
+ export declare const REMOVED_MODULES: readonly RemovedModule[];
@@ -0,0 +1,2 @@
1
+ import { ReplacementService } from '../../interfaces/replacement-service';
2
+ export declare const SERVICES_TO_REPLACE: ReplacementService[];
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TEMPLATE_COMMENTS = exports.TRUTHY_BOOLEAN_INPUT_TO_HTML_BINARY_ATTRIBUTE = exports.ATTR_TO_DIRECTIVE = exports.TAGS_TO_REPLACE = exports.INPUTS_TO_REMOVE = exports.ATTRS_TO_REPLACE = void 0;
4
- const elements_1 = require("../../utils/templates/elements");
4
+ const elements_1 = require("../../../utils/templates/elements");
5
5
  const tui_interactive_selectors_1 = require("./tui-interactive-selectors");
6
6
  exports.ATTRS_TO_REPLACE = [
7
7
  {
@@ -0,0 +1,2 @@
1
+ import { TypeToRename } from '../../interfaces/type-to-rename';
2
+ export declare const TYPES_TO_RENAME: readonly TypeToRename[];
@@ -0,0 +1,2 @@
1
+ import { MigrationWarning } from '../../interfaces/migration-warning';
2
+ export declare const MIGRATION_WARNINGS: readonly MigrationWarning[];
@@ -1,4 +1,4 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
- import { TuiSchema } from '../ng-add/schema';
2
+ import { TuiSchema } from '../../ng-add/schema';
3
3
  export declare function updateToV3(options: TuiSchema): Rule;
4
4
  export declare function updateToV3_5(options: TuiSchema): Rule;
@@ -5,28 +5,34 @@ const tslib_1 = require("tslib");
5
5
  const schematics_1 = require("@angular-devkit/schematics");
6
6
  const ng_morph_1 = require("ng-morph");
7
7
  const perf_hooks_1 = require("perf_hooks");
8
- const constants_1 = require("../constants");
9
- const taiga_styles_1 = require("../constants/taiga-styles");
10
- const versions_1 = require("../ng-add/constants/versions");
11
- const angular_json_manipulations_1 = require("../utils/angular-json-manipulations");
12
- const colored_log_1 = require("../utils/colored-log");
13
- const get_execution_time_1 = require("../utils/get-execution-time");
8
+ const taiga_styles_1 = require("../../constants/taiga-styles");
9
+ const versions_1 = require("../../ng-add/constants/versions");
10
+ const angular_json_manipulations_1 = require("../../utils/angular-json-manipulations");
11
+ const colored_log_1 = require("../../utils/colored-log");
12
+ const get_execution_time_1 = require("../../utils/get-execution-time");
13
+ const remove_module_1 = require("../steps/remove-module");
14
+ const rename_types_1 = require("../steps/rename-types");
15
+ const replace_const_1 = require("../steps/replace-const");
16
+ const replace_deep_import_1 = require("../steps/replace-deep-import");
17
+ const replace_enums_1 = require("../steps/replace-enums");
18
+ const replace_services_1 = require("../steps/replace-services");
19
+ const show_warnings_1 = require("../steps/show-warnings");
20
+ const get_file_system_1 = require("../utils/get-file-system");
21
+ const migrate_expand_templates_1 = require("../v3-5/steps/migrate-expand-templates");
22
+ const consts_1 = require("./constants/consts");
23
+ const enums_1 = require("./constants/enums");
24
+ const modules_1 = require("./constants/modules");
25
+ const services_1 = require("./constants/services");
26
+ const types_1 = require("./constants/types");
27
+ const warnings_1 = require("./constants/warnings");
14
28
  const migrate_date_time_1 = require("./steps/migrate-date-time");
15
29
  const migrate_progress_1 = require("./steps/migrate-progress");
16
30
  const migrate_sliders_1 = require("./steps/migrate-sliders");
17
31
  const migrate_taiga_proprietary_icons_1 = require("./steps/migrate-taiga-proprietary-icons");
18
32
  const migrate_templates_1 = require("./steps/migrate-templates");
19
33
  const miscellaneous_1 = require("./steps/miscellaneous");
20
- const remove_module_1 = require("./steps/remove-module");
21
- const rename_types_1 = require("./steps/rename-types");
22
- const replace_const_1 = require("./steps/replace-const");
23
- const replace_deep_import_1 = require("./steps/replace-deep-import");
24
- const replace_enums_1 = require("./steps/replace-enums");
25
34
  const replace_functions_1 = require("./steps/replace-functions");
26
- const replace_services_1 = require("./steps/replace-services");
27
35
  const replace_styles_1 = require("./steps/replace-styles");
28
- const show_warnings_1 = require("./steps/show-warnings");
29
- const migrate_expand_templates_1 = require("./v3-5/steps/migrate-expand-templates");
30
36
  function updateToV3(options) {
31
37
  const t0 = perf_hooks_1.performance.now();
32
38
  !options[`skip-logs`] &&
@@ -47,7 +53,7 @@ exports.updateToV3 = updateToV3;
47
53
  // eslint-disable-next-line @typescript-eslint/naming-convention
48
54
  function updateToV3_5(options) {
49
55
  return (tree, _) => {
50
- const fileSystem = getFileSystem(tree);
56
+ const fileSystem = get_file_system_1.getFileSystem(tree);
51
57
  migrate_expand_templates_1.migrateExpandTemplates(fileSystem, options);
52
58
  fileSystem.commitEdits();
53
59
  ng_morph_1.saveActiveProject();
@@ -58,21 +64,21 @@ function updateToV3_5(options) {
58
64
  exports.updateToV3_5 = updateToV3_5;
59
65
  function main(options) {
60
66
  return (tree, context) => {
61
- const fileSystem = getFileSystem(tree);
67
+ const fileSystem = get_file_system_1.getFileSystem(tree);
62
68
  replace_deep_import_1.replaceDeepImports(options);
63
- replace_enums_1.replaceEnums(options);
64
- rename_types_1.renameTypes(options);
65
- replace_const_1.replaceConstants(options);
66
- replace_services_1.replaceServices(options);
69
+ replace_enums_1.replaceEnums(options, enums_1.ENUMS_TO_REPLACE);
70
+ rename_types_1.renameTypes(options, types_1.TYPES_TO_RENAME);
71
+ replace_const_1.replaceConstants(options, consts_1.CONSTS_TO_REPLACE);
72
+ replace_services_1.replaceServices(options, services_1.SERVICES_TO_REPLACE);
67
73
  replace_styles_1.replaceStyles();
68
- show_warnings_1.showWarnings(context);
74
+ show_warnings_1.showWarnings(context, warnings_1.MIGRATION_WARNINGS);
69
75
  migrate_templates_1.migrateTemplates(fileSystem, options);
70
76
  fileSystem.commitEdits();
71
77
  ng_morph_1.saveActiveProject();
72
- const updatedFileSystem = getFileSystem(tree);
78
+ const updatedFileSystem = get_file_system_1.getFileSystem(tree);
73
79
  migrate_sliders_1.migrateSliders(updatedFileSystem, options);
74
80
  migrate_progress_1.migrateProgress(updatedFileSystem, options);
75
- remove_module_1.removeModules(options);
81
+ remove_module_1.removeModules(options, modules_1.REMOVED_MODULES);
76
82
  migrate_date_time_1.dateTimeMigrations(options);
77
83
  replace_functions_1.replaceFunctions(options);
78
84
  miscellaneous_1.miscellaneousMigrations(options);
@@ -95,11 +101,6 @@ function addTaigaStyles(options) {
95
101
  return angular_json_manipulations_1.addStylesToAngularJson(options, context, taigaStyles, existingStyles => !!(existingStyles === null || existingStyles === void 0 ? void 0 : existingStyles.some(s => String(s).includes(`tinkoff-theme`))), stylesToReplace, tree);
96
102
  });
97
103
  }
98
- function getFileSystem(tree) {
99
- const project = ng_morph_1.createProject(tree, `/`, constants_1.ALL_FILES);
100
- ng_morph_1.setActiveProject(project);
101
- return project.getFileSystem().fs;
102
- }
103
104
  function showNormalizeWarning() {
104
105
  return (tree, context) => {
105
106
  var _a;
@@ -1,2 +1,2 @@
1
- import { TuiSchema } from '../../ng-add/schema';
1
+ import { TuiSchema } from '../../../ng-add/schema';
2
2
  export declare function dateTimeMigrations(options: TuiSchema): void;
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dateTimeMigrations = void 0;
4
4
  const ng_morph_1 = require("ng-morph");
5
5
  const perf_hooks_1 = require("perf_hooks");
6
- const colored_log_1 = require("../../utils/colored-log");
7
- const get_execution_time_1 = require("../../utils/get-execution-time");
8
- const get_named_import_references_1 = require("../../utils/get-named-import-references");
9
- const insert_todo_1 = require("../../utils/insert-todo");
6
+ const colored_log_1 = require("../../../utils/colored-log");
7
+ const get_execution_time_1 = require("../../../utils/get-execution-time");
8
+ const get_named_import_references_1 = require("../../../utils/get-named-import-references");
9
+ const insert_todo_1 = require("../../../utils/insert-todo");
10
10
  function dateTimeMigrations(options) {
11
11
  !options[`skip-logs`] &&
12
12
  colored_log_1.infoLog(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} migrating taiga date/time...`);
@@ -1,6 +1,6 @@
1
1
  import { UpdateRecorder } from '@angular-devkit/schematics';
2
2
  import { DevkitFileSystem } from 'ng-morph/project/classes/devkit-file-system';
3
- import { TemplateResource } from '../interfaces/template-resourse';
3
+ import { TemplateResource } from '../../interfaces/template-resourse';
4
4
  export declare function migratePolymorpheus({ resource, fileSystem, recorder, }: {
5
5
  resource: TemplateResource;
6
6
  recorder: UpdateRecorder;