@taiga-ui/cdk 5.4.0-canary.d26a6e2 → 5.5.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 (43) hide show
  1. package/constants/version.d.ts +1 -1
  2. package/constants/version.js +1 -1
  3. package/constants/version.js.map +1 -1
  4. package/fesm2022/taiga-ui-cdk-constants.mjs +1 -1
  5. package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
  6. package/fesm2022/taiga-ui-cdk-directives-truncate.mjs +3 -3
  7. package/fesm2022/taiga-ui-cdk-directives-truncate.mjs.map +1 -1
  8. package/fesm2022/taiga-ui-cdk-utils-math.mjs +9 -5
  9. package/fesm2022/taiga-ui-cdk-utils-math.mjs.map +1 -1
  10. package/package.json +18 -18
  11. package/schematics/ng-add/constants/versions.d.ts +1 -1
  12. package/schematics/ng-update/utils/templates/control-state-attrs.d.ts +8 -0
  13. package/schematics/ng-update/utils/templates/control-state-attrs.js +46 -0
  14. package/schematics/ng-update/utils/templates/control-state-attrs.js.map +1 -0
  15. package/schematics/ng-update/utils/templates/index.d.ts +1 -0
  16. package/schematics/ng-update/utils/templates/index.js +1 -0
  17. package/schematics/ng-update/utils/templates/index.js.map +1 -1
  18. package/schematics/ng-update/v5/steps/templates/migrate-combo-box.js +12 -5
  19. package/schematics/ng-update/v5/steps/templates/migrate-combo-box.js.map +1 -1
  20. package/schematics/ng-update/v5/steps/templates/migrate-hint-on-legacy-controls.d.ts +7 -0
  21. package/schematics/ng-update/v5/steps/templates/migrate-hint-on-legacy-controls.js +20 -3
  22. package/schematics/ng-update/v5/steps/templates/migrate-hint-on-legacy-controls.js.map +1 -1
  23. package/schematics/ng-update/v5/steps/templates/migrate-input-date-range.js +5 -1
  24. package/schematics/ng-update/v5/steps/templates/migrate-input-date-range.js.map +1 -1
  25. package/schematics/ng-update/v5/steps/templates/migrate-input-date.js +5 -1
  26. package/schematics/ng-update/v5/steps/templates/migrate-input-date.js.map +1 -1
  27. package/schematics/ng-update/v5/steps/templates/migrate-input-password.js +14 -3
  28. package/schematics/ng-update/v5/steps/templates/migrate-input-password.js.map +1 -1
  29. package/schematics/ng-update/v5/steps/templates/migrate-input-phone.js +5 -1
  30. package/schematics/ng-update/v5/steps/templates/migrate-input-phone.js.map +1 -1
  31. package/schematics/ng-update/v5/steps/templates/migrate-input-tag.js +5 -1
  32. package/schematics/ng-update/v5/steps/templates/migrate-input-tag.js.map +1 -1
  33. package/schematics/ng-update/v5/steps/templates/migrate-input-time.js +5 -1
  34. package/schematics/ng-update/v5/steps/templates/migrate-input-time.js.map +1 -1
  35. package/schematics/ng-update/v5/steps/templates/migrate-input.js +58 -11
  36. package/schematics/ng-update/v5/steps/templates/migrate-input.js.map +1 -1
  37. package/schematics/ng-update/v5/steps/templates/migrate-multi-select.js +9 -3
  38. package/schematics/ng-update/v5/steps/templates/migrate-multi-select.js.map +1 -1
  39. package/schematics/ng-update/v5/steps/templates/migrate-select.js +8 -3
  40. package/schematics/ng-update/v5/steps/templates/migrate-select.js.map +1 -1
  41. package/schematics/ng-update/v5/steps/templates/migrate-textarea.js +13 -4
  42. package/schematics/ng-update/v5/steps/templates/migrate-textarea.js.map +1 -1
  43. package/utils/math/sum.d.ts +3 -0
@@ -1 +1 @@
1
- export declare const TUI_VERSION = "5.4.0-canary.d26a6e2";
1
+ export declare const TUI_VERSION = "5.5.0";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TUI_VERSION = void 0;
4
- exports.TUI_VERSION = '5.4.0-canary.d26a6e2';
4
+ exports.TUI_VERSION = '5.5.0';
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../projects/cdk/constants/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../projects/cdk/constants/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,OAAO,CAAC"}
@@ -187,7 +187,7 @@ const TUI_USED_ICONS = [
187
187
  '@tui.x',
188
188
  ];
189
189
 
190
- const TUI_VERSION = '5.4.0-canary.d26a6e2';
190
+ const TUI_VERSION = '5.5.0';
191
191
 
192
192
  /**
193
193
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["const rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","import {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * Handler that always returns `false`.\n */\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\nexport const TUI_TRUE_HANDLER = (): true => true;\nexport const TUI_STRINGIFY: PolymorpheusContent = ({$implicit}) => String($implicit);\n","import {type TuiHandler, type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `&minus;`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in ./projects\n */\nexport const TUI_USED_ICONS = [\n '@img.amex',\n '@img.diners-club',\n '@img.discover',\n '@img.humo',\n '@img.jcb',\n '@img.maestro',\n '@img.mastercard',\n '@img.ru-pay',\n '@img.union-pay',\n '@img.uzcard',\n '@img.verve',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.calendar',\n '@tui.check',\n '@tui.chevron-down',\n '@tui.chevron-left',\n '@tui.chevron-right',\n '@tui.chevron-up',\n '@tui.chevrons-up-down',\n '@tui.circle-alert',\n '@tui.circle-check',\n '@tui.circle-help',\n '@tui.circle-x',\n '@tui.clock',\n '@tui.code',\n '@tui.copy',\n '@tui.electron',\n '@tui.ellipsis',\n '@tui.expand',\n '@tui.eye',\n '@tui.eye-off',\n '@tui.file',\n '@tui.filter',\n '@tui.grip-vertical',\n '@tui.heart',\n '@tui.heart-filled',\n '@tui.info',\n '@tui.layout-grid',\n '@tui.link',\n '@tui.menu',\n '@tui.minimize',\n '@tui.minus',\n '@tui.mir',\n '@tui.plus',\n '@tui.rotate-ccw-square',\n '@tui.search',\n '@tui.shrink',\n '@tui.star',\n '@tui.trash',\n '@tui.visa',\n '@tui.x',\n] as const;\n","export const TUI_VERSION = '5.4.0-canary.d26a6e2';\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-constants.mjs","sources":["../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["const rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","import {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * Handler that always returns `false`.\n */\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\nexport const TUI_TRUE_HANDLER = (): true => true;\nexport const TUI_STRINGIFY: PolymorpheusContent = ({$implicit}) => String($implicit);\n","import {type TuiHandler, type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `&minus;`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in ./projects\n */\nexport const TUI_USED_ICONS = [\n '@img.amex',\n '@img.diners-club',\n '@img.discover',\n '@img.humo',\n '@img.jcb',\n '@img.maestro',\n '@img.mastercard',\n '@img.ru-pay',\n '@img.union-pay',\n '@img.uzcard',\n '@img.verve',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.calendar',\n '@tui.check',\n '@tui.chevron-down',\n '@tui.chevron-left',\n '@tui.chevron-right',\n '@tui.chevron-up',\n '@tui.chevrons-up-down',\n '@tui.circle-alert',\n '@tui.circle-check',\n '@tui.circle-help',\n '@tui.circle-x',\n '@tui.clock',\n '@tui.code',\n '@tui.copy',\n '@tui.electron',\n '@tui.ellipsis',\n '@tui.expand',\n '@tui.eye',\n '@tui.eye-off',\n '@tui.file',\n '@tui.filter',\n '@tui.grip-vertical',\n '@tui.heart',\n '@tui.heart-filled',\n '@tui.info',\n '@tui.layout-grid',\n '@tui.link',\n '@tui.menu',\n '@tui.minimize',\n '@tui.minus',\n '@tui.mir',\n '@tui.plus',\n '@tui.rotate-ccw-square',\n '@tui.search',\n '@tui.shrink',\n '@tui.star',\n '@tui.trash',\n '@tui.visa',\n '@tui.x',\n] as const;\n","export const TUI_VERSION = '5.5.0';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -106,11 +106,11 @@ function truncate(text, left, right) {
106
106
 
107
107
  class Styles {
108
108
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-truncate-5.4.0-canary.d26a6e2"], ngImport: i0, template: '', isInline: true, styles: ["[tuiTruncate]:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"]){display:-webkit-box;letter-spacing:-1rem;-webkit-text-fill-color:transparent;-webkit-box-orient:block-axis;-webkit-line-clamp:1;overflow:hidden}[tuiTruncate]:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"])[data-lines=\"1\"]:before{white-space:nowrap}[tuiTruncate]:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"]):before{content:attr(data-text);inline-size:100%;letter-spacing:normal;-webkit-text-fill-color:currentColor;white-space:normal;overflow-wrap:anywhere}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-truncate-5.5.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiTruncate]:where(*[data-tui-version=\"5.5.0\"]){display:-webkit-box;letter-spacing:-1rem;-webkit-text-fill-color:transparent;-webkit-box-orient:block-axis;-webkit-line-clamp:1;overflow:hidden}[tuiTruncate]:where(*[data-tui-version=\"5.5.0\"])[data-lines=\"1\"]:before{white-space:nowrap}[tuiTruncate]:where(*[data-tui-version=\"5.5.0\"]):before{content:attr(data-text);inline-size:100%;letter-spacing:normal;-webkit-text-fill-color:currentColor;white-space:normal;overflow-wrap:anywhere}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
110
110
  }
111
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: Styles, decorators: [{
112
112
  type: Component,
113
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-truncate-${TUI_VERSION}`, styles: ["[tuiTruncate]:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"]){display:-webkit-box;letter-spacing:-1rem;-webkit-text-fill-color:transparent;-webkit-box-orient:block-axis;-webkit-line-clamp:1;overflow:hidden}[tuiTruncate]:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"])[data-lines=\"1\"]:before{white-space:nowrap}[tuiTruncate]:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"]):before{content:attr(data-text);inline-size:100%;letter-spacing:normal;-webkit-text-fill-color:currentColor;white-space:normal;overflow-wrap:anywhere}\n"] }]
113
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-truncate-${TUI_VERSION}`, styles: ["[tuiTruncate]:where(*[data-tui-version=\"5.5.0\"]){display:-webkit-box;letter-spacing:-1rem;-webkit-text-fill-color:transparent;-webkit-box-orient:block-axis;-webkit-line-clamp:1;overflow:hidden}[tuiTruncate]:where(*[data-tui-version=\"5.5.0\"])[data-lines=\"1\"]:before{white-space:nowrap}[tuiTruncate]:where(*[data-tui-version=\"5.5.0\"]):before{content:attr(data-text);inline-size:100%;letter-spacing:normal;-webkit-text-fill-color:currentColor;white-space:normal;overflow-wrap:anywhere}\n"] }]
114
114
  }] });
115
115
  class TuiTruncate {
116
116
  constructor() {
@@ -129,7 +129,7 @@ class TuiTruncate {
129
129
  return this.el.innerText.trim();
130
130
  }
131
131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTruncate, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
132
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiTruncate, isStandalone: true, selector: "[tuiTruncate]", inputs: { lines: { classPropertyName: "lines", publicName: "tuiTruncate", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.4.0-canary.d26a6e2", "tuiTruncate": "" }, properties: { "attr.data-lines": "lines()", "attr.data-text": "truncated()", "style.-webkit-line-clamp": "lines()" } }, providers: [
132
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiTruncate, isStandalone: true, selector: "[tuiTruncate]", inputs: { lines: { classPropertyName: "lines", publicName: "tuiTruncate", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.5.0", "tuiTruncate": "" }, properties: { "attr.data-lines": "lines()", "attr.data-text": "truncated()", "style.-webkit-line-clamp": "lines()" } }, providers: [
133
133
  TuiTruncateService,
134
134
  WaResizeObserverService,
135
135
  WaMutationObserverService,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-truncate.mjs","sources":["../../../projects/cdk/directives/truncate/truncate.service.ts","../../../projects/cdk/directives/truncate/truncate.directive.ts","../../../projects/cdk/directives/truncate/taiga-ui-cdk-directives-truncate.ts"],"sourcesContent":["import {DOCUMENT, isPlatformBrowser} from '@angular/common';\nimport {inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nconst ELLIPSIS = '\\u2026';\n\n@Injectable()\nexport class TuiTruncateService {\n private readonly el = tuiInjectElement();\n\n private readonly ctx = isPlatformBrowser(inject(PLATFORM_ID))\n ? inject(DOCUMENT).createElement('canvas').getContext('2d')\n : null;\n\n public truncate(text: string, lines: number): string {\n if (!this.ctx || !text || lines < 1) {\n return text;\n }\n\n const style = getComputedStyle(this.el);\n const fontFamily = style.fontFamily || 'sans-serif';\n const fontSize = style.fontSize || '14px';\n const fontWeight = style.fontWeight || '400';\n const paddingLeft = Number.parseFloat(style.paddingLeft) || 0;\n const paddingRight = Number.parseFloat(style.paddingRight) || 0;\n const availableWidth = this.el.clientWidth - paddingLeft - paddingRight;\n const safeWidth = Math.max(1, availableWidth - 4);\n\n this.ctx.font = `${fontWeight} ${fontSize} ${fontFamily}`;\n\n if (this.getLines(text, safeWidth).length <= lines) {\n return text;\n }\n\n let low = 1;\n let high = Math.max(1, text.length - ELLIPSIS.length);\n let best = truncate(text, 1, 0);\n\n while (low <= high) {\n const keepLength = Math.floor((low + high) / 2);\n const normalized = Math.max(1, keepLength);\n const left = Math.ceil(normalized / 2);\n const right = Math.floor(normalized / 2);\n const candidate = truncate(text, left, right);\n const candidateLines = this.getLines(candidate, safeWidth).length;\n\n if (candidateLines <= lines) {\n best = candidate;\n low = keepLength + 1;\n } else {\n high = keepLength - 1;\n }\n }\n\n return this.getLines(best, safeWidth).slice(0, lines).join(' ');\n }\n\n private getLines(text: string, maxWidth: number): string[] {\n if (!this.ctx || !text) {\n return [];\n }\n\n const words = text.split(' ');\n const lines: string[] = [];\n let currentLine = '';\n\n for (const word of words) {\n const candidate = currentLine ? `${currentLine} ${word}` : word;\n\n if (this.ctx.measureText(candidate).width <= maxWidth) {\n currentLine = candidate;\n continue;\n }\n\n if (currentLine) {\n lines.push(currentLine);\n currentLine = '';\n }\n\n if (this.ctx.measureText(word).width <= maxWidth) {\n currentLine = word;\n continue;\n }\n\n let chunk = '';\n\n for (const char of word) {\n const nextChunk = `${chunk}${char}`;\n\n if (this.ctx.measureText(nextChunk).width <= maxWidth) {\n chunk = nextChunk;\n } else {\n if (chunk) {\n lines.push(chunk);\n }\n\n chunk = char;\n }\n }\n\n currentLine = chunk;\n }\n\n if (currentLine) {\n lines.push(currentLine);\n }\n\n return lines;\n }\n}\n\nfunction truncate(text: string, left: number, right: number): string {\n return `${text.slice(0, left)}${ELLIPSIS}${right > 0 ? text.slice(-right) : ''}`;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n WA_MUTATION_OBSERVER_INIT,\n WaMutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {map} from 'rxjs';\n\nimport {TuiTruncateService} from './truncate.service';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './truncate.styles.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-truncate-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiTruncate]',\n providers: [\n TuiTruncateService,\n WaResizeObserverService,\n WaMutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n attributes: true,\n characterData: true,\n subtree: true,\n },\n },\n ],\n host: {\n 'data-tui-version': TUI_VERSION,\n tuiTruncate: '',\n '[attr.data-lines]': 'lines()',\n '[attr.data-text]': 'truncated()',\n '[style.-webkit-line-clamp]': 'lines()',\n },\n})\nexport class TuiTruncate {\n private readonly service = inject(TuiTruncateService);\n private readonly el = tuiInjectElement();\n\n private readonly width = toSignal(\n inject(WaResizeObserverService).pipe(map(([e]) => e?.contentRect.width ?? 0)),\n {initialValue: 0},\n );\n\n protected readonly text = toSignal(\n inject(WaMutationObserverService).pipe(map(() => this.innerText)),\n {initialValue: this.innerText},\n );\n\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly lines = input(1, {\n alias: 'tuiTruncate',\n transform: (value: number | string) => Math.max(Number(value) || 1, 1),\n });\n\n public readonly truncated = computed((_ = this.width()) =>\n this.service.truncate(this.text(), this.lines()),\n );\n\n private get innerText(): string {\n return this.el.innerText.trim();\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-directives-truncate.mjs","sources":["../../../projects/cdk/directives/truncate/truncate.service.ts","../../../projects/cdk/directives/truncate/truncate.directive.ts","../../../projects/cdk/directives/truncate/taiga-ui-cdk-directives-truncate.ts"],"sourcesContent":["import {DOCUMENT, isPlatformBrowser} from '@angular/common';\nimport {inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nconst ELLIPSIS = '\\u2026';\n\n@Injectable()\nexport class TuiTruncateService {\n private readonly el = tuiInjectElement();\n\n private readonly ctx = isPlatformBrowser(inject(PLATFORM_ID))\n ? inject(DOCUMENT).createElement('canvas').getContext('2d')\n : null;\n\n public truncate(text: string, lines: number): string {\n if (!this.ctx || !text || lines < 1) {\n return text;\n }\n\n const style = getComputedStyle(this.el);\n const fontFamily = style.fontFamily || 'sans-serif';\n const fontSize = style.fontSize || '14px';\n const fontWeight = style.fontWeight || '400';\n const paddingLeft = Number.parseFloat(style.paddingLeft) || 0;\n const paddingRight = Number.parseFloat(style.paddingRight) || 0;\n const availableWidth = this.el.clientWidth - paddingLeft - paddingRight;\n const safeWidth = Math.max(1, availableWidth - 4);\n\n this.ctx.font = `${fontWeight} ${fontSize} ${fontFamily}`;\n\n if (this.getLines(text, safeWidth).length <= lines) {\n return text;\n }\n\n let low = 1;\n let high = Math.max(1, text.length - ELLIPSIS.length);\n let best = truncate(text, 1, 0);\n\n while (low <= high) {\n const keepLength = Math.floor((low + high) / 2);\n const normalized = Math.max(1, keepLength);\n const left = Math.ceil(normalized / 2);\n const right = Math.floor(normalized / 2);\n const candidate = truncate(text, left, right);\n const candidateLines = this.getLines(candidate, safeWidth).length;\n\n if (candidateLines <= lines) {\n best = candidate;\n low = keepLength + 1;\n } else {\n high = keepLength - 1;\n }\n }\n\n return this.getLines(best, safeWidth).slice(0, lines).join(' ');\n }\n\n private getLines(text: string, maxWidth: number): string[] {\n if (!this.ctx || !text) {\n return [];\n }\n\n const words = text.split(' ');\n const lines: string[] = [];\n let currentLine = '';\n\n for (const word of words) {\n const candidate = currentLine ? `${currentLine} ${word}` : word;\n\n if (this.ctx.measureText(candidate).width <= maxWidth) {\n currentLine = candidate;\n continue;\n }\n\n if (currentLine) {\n lines.push(currentLine);\n currentLine = '';\n }\n\n if (this.ctx.measureText(word).width <= maxWidth) {\n currentLine = word;\n continue;\n }\n\n let chunk = '';\n\n for (const char of word) {\n const nextChunk = `${chunk}${char}`;\n\n if (this.ctx.measureText(nextChunk).width <= maxWidth) {\n chunk = nextChunk;\n } else {\n if (chunk) {\n lines.push(chunk);\n }\n\n chunk = char;\n }\n }\n\n currentLine = chunk;\n }\n\n if (currentLine) {\n lines.push(currentLine);\n }\n\n return lines;\n }\n}\n\nfunction truncate(text: string, left: number, right: number): string {\n return `${text.slice(0, left)}${ELLIPSIS}${right > 0 ? text.slice(-right) : ''}`;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n WA_MUTATION_OBSERVER_INIT,\n WaMutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {map} from 'rxjs';\n\nimport {TuiTruncateService} from './truncate.service';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './truncate.styles.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-truncate-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiTruncate]',\n providers: [\n TuiTruncateService,\n WaResizeObserverService,\n WaMutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n attributes: true,\n characterData: true,\n subtree: true,\n },\n },\n ],\n host: {\n 'data-tui-version': TUI_VERSION,\n tuiTruncate: '',\n '[attr.data-lines]': 'lines()',\n '[attr.data-text]': 'truncated()',\n '[style.-webkit-line-clamp]': 'lines()',\n },\n})\nexport class TuiTruncate {\n private readonly service = inject(TuiTruncateService);\n private readonly el = tuiInjectElement();\n\n private readonly width = toSignal(\n inject(WaResizeObserverService).pipe(map(([e]) => e?.contentRect.width ?? 0)),\n {initialValue: 0},\n );\n\n protected readonly text = toSignal(\n inject(WaMutationObserverService).pipe(map(() => this.innerText)),\n {initialValue: this.innerText},\n );\n\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly lines = input(1, {\n alias: 'tuiTruncate',\n transform: (value: number | string) => Math.max(Number(value) || 1, 1),\n });\n\n public readonly truncated = computed((_ = this.width()) =>\n this.service.truncate(this.text(), this.lines()),\n );\n\n private get innerText(): string {\n return this.el.innerText.trim();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -113,14 +113,18 @@ function tuiRoundWith({ value, precision, method, }) {
113
113
  }
114
114
  }
115
115
 
116
- /**
117
- * Calculates sum of any number of passed arguments with proper floating point precision
118
- */
119
116
  function tuiSum(...args) {
120
- const decimal = args.map((double) => (double.toString().split('.')[1] ?? '').length);
117
+ if (args.length === 0) {
118
+ return 0;
119
+ }
120
+ if (args.every((arg) => typeof arg === 'bigint')) {
121
+ return args.reduce((acc, n) => acc + n, BigInt(0));
122
+ }
123
+ const numbers = args.map((arg) => Number(arg));
124
+ const decimal = numbers.map((n) => (n.toString().split('.')[1] ?? '').length);
121
125
  const maxDecimal = Math.max(0, ...decimal);
122
126
  const precision = 10 ** maxDecimal;
123
- const sumInt = args.reduce((acc, n) => acc + Math.round(n * precision), 0);
127
+ const sumInt = numbers.reduce((acc, n) => acc + Math.round(n * precision), 0);
124
128
  return sumInt / precision;
125
129
  }
126
130
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-math.mjs","sources":["../../../projects/cdk/utils/math/clamp.ts","../../../projects/cdk/utils/math/in-range.ts","../../../projects/cdk/utils/math/normalize-to-int-number.ts","../../../projects/cdk/utils/math/quantize.ts","../../../projects/cdk/utils/math/round.ts","../../../projects/cdk/utils/math/round-with.ts","../../../projects/cdk/utils/math/sum.ts","../../../projects/cdk/utils/math/to-int.ts","../../../projects/cdk/utils/math/taiga-ui-cdk-utils-math.ts"],"sourcesContent":["/**\n * Clamps a value between two inclusive limits\n */\nexport function tuiClamp<T extends bigint | number>(\n value: T,\n minimum: T | null,\n maximum?: T | null,\n): T {\n ngDevMode && console.assert(!Number.isNaN(value));\n ngDevMode && console.assert(!Number.isNaN(minimum));\n ngDevMode && console.assert(!Number.isNaN(maximum));\n ngDevMode && maximum && minimum && console.assert(maximum >= minimum);\n\n const minClamped = max(minimum ?? value, value);\n\n return min(maximum ?? minClamped, minClamped);\n}\n\nfunction min<T extends bigint | number>(x: T, ...values: T[]): T {\n return values.reduce((a, b) => (a < b ? a : b), x);\n}\n\nfunction max<T extends bigint | number>(x: T, ...values: T[]): T {\n return values.reduce((a, b) => (a > b ? a : b), x);\n}\n","export function tuiInRange(\n value: number,\n fromInclude: number,\n toExclude: number,\n): boolean {\n ngDevMode && console.assert(!Number.isNaN(value));\n ngDevMode && console.assert(!Number.isNaN(fromInclude));\n ngDevMode && console.assert(!Number.isNaN(toExclude));\n ngDevMode && console.assert(fromInclude < toExclude);\n\n return value >= fromInclude && value < toExclude;\n}\n","/**\n * Normalizes any number to an integer within inclusive range\n *\n * @param value\n * @param min lower inclusive integer\n * @param max upper inclusive integer\n * @return an integer between min and max inclusive\n */\nexport function tuiNormalizeToIntNumber(value: number, min: number, max: number): number {\n ngDevMode && console.assert(Number.isInteger(min));\n ngDevMode && console.assert(Number.isInteger(max));\n ngDevMode && console.assert(min <= max);\n\n if (Number.isNaN(value) || value <= min) {\n return min;\n }\n\n if (value >= max) {\n return max;\n }\n\n return Math.round(value);\n}\n","/**\n * Rounds a number to the closest value in a fixed discrete series\n *\n * @param value\n * @param quantum series step\n */\nexport function tuiQuantize(value: number, quantum: number): number {\n ngDevMode && console.assert(Number.isFinite(value));\n ngDevMode && console.assert(Number.isFinite(quantum));\n ngDevMode && console.assert(quantum > 0);\n\n const remainder = value % quantum;\n\n return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;\n}\n","const MAX_PRECISION = 292;\n\n/**\n * Rounding number to the set precision\n *\n * @param value\n * @param precision number of digits in a float part\n * @param func rounding function (round, floor, ceil)\n */\nfunction calculate(\n value: number,\n precision: number,\n func: (x: number) => number,\n): number {\n if (value === Infinity) {\n return value;\n }\n\n ngDevMode && console.assert(!Number.isNaN(value), 'Value must be number');\n ngDevMode && console.assert(Number.isInteger(precision), 'Precision must be integer');\n\n precision = Math.min(precision, MAX_PRECISION);\n\n const [significand, exponent = ''] = `${value}`.split('e');\n const roundedInt = func(Number(`${significand}e${Number(exponent) + precision}`));\n\n /**\n * TODO: use BigInt after bumping Safari to 14+\n */\n ngDevMode &&\n console.assert(\n Number.isSafeInteger(roundedInt),\n 'Impossible to correctly round such a large number',\n );\n\n const processedPair = `${roundedInt}e`.split('e');\n\n return Number(`${processedPair[0]}e${Number(processedPair[1]) - precision}`);\n}\n\nexport function tuiRound(value: number, precision = 0): number {\n return calculate(value, precision, Math.round);\n}\n\nexport function tuiCeil(value: number, precision = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\nexport function tuiFloor(value: number, precision = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\nexport function tuiTrunc(value: number, precision = 0): number {\n return calculate(value, precision, Math.trunc);\n}\n\nexport function tuiIsSafeToRound(value: number, precision = 0): boolean {\n return Number.isSafeInteger(Math.trunc(value * 10 ** precision));\n}\n","import {type TuiRounding} from '@taiga-ui/cdk/types';\n\nimport {tuiCeil, tuiFloor, tuiRound, tuiTrunc} from './round';\n\nexport function tuiRoundWith({\n value,\n precision,\n method,\n}: {\n method: TuiRounding;\n precision: number;\n value: number;\n}): number {\n switch (method) {\n case 'ceil':\n return tuiCeil(value, precision);\n case 'floor':\n return tuiFloor(value, precision);\n case 'round':\n return tuiRound(value, precision);\n default:\n return tuiTrunc(value, precision);\n }\n}\n","/**\n * Calculates sum of any number of passed arguments with proper floating point precision\n */\nexport function tuiSum(...args: number[]): number {\n const decimal = args.map((double) => (double.toString().split('.')[1] ?? '').length);\n const maxDecimal = Math.max(0, ...decimal);\n const precision = 10 ** maxDecimal;\n const sumInt = args.reduce((acc, n) => acc + Math.round(n * precision), 0);\n\n return sumInt / precision;\n}\n","export function tuiToInt(bool: boolean): 0 | 1 {\n return bool ? 1 : 0;\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-math.mjs","sources":["../../../projects/cdk/utils/math/clamp.ts","../../../projects/cdk/utils/math/in-range.ts","../../../projects/cdk/utils/math/normalize-to-int-number.ts","../../../projects/cdk/utils/math/quantize.ts","../../../projects/cdk/utils/math/round.ts","../../../projects/cdk/utils/math/round-with.ts","../../../projects/cdk/utils/math/sum.ts","../../../projects/cdk/utils/math/to-int.ts","../../../projects/cdk/utils/math/taiga-ui-cdk-utils-math.ts"],"sourcesContent":["/**\n * Clamps a value between two inclusive limits\n */\nexport function tuiClamp<T extends bigint | number>(\n value: T,\n minimum: T | null,\n maximum?: T | null,\n): T {\n ngDevMode && console.assert(!Number.isNaN(value));\n ngDevMode && console.assert(!Number.isNaN(minimum));\n ngDevMode && console.assert(!Number.isNaN(maximum));\n ngDevMode && maximum && minimum && console.assert(maximum >= minimum);\n\n const minClamped = max(minimum ?? value, value);\n\n return min(maximum ?? minClamped, minClamped);\n}\n\nfunction min<T extends bigint | number>(x: T, ...values: T[]): T {\n return values.reduce((a, b) => (a < b ? a : b), x);\n}\n\nfunction max<T extends bigint | number>(x: T, ...values: T[]): T {\n return values.reduce((a, b) => (a > b ? a : b), x);\n}\n","export function tuiInRange(\n value: number,\n fromInclude: number,\n toExclude: number,\n): boolean {\n ngDevMode && console.assert(!Number.isNaN(value));\n ngDevMode && console.assert(!Number.isNaN(fromInclude));\n ngDevMode && console.assert(!Number.isNaN(toExclude));\n ngDevMode && console.assert(fromInclude < toExclude);\n\n return value >= fromInclude && value < toExclude;\n}\n","/**\n * Normalizes any number to an integer within inclusive range\n *\n * @param value\n * @param min lower inclusive integer\n * @param max upper inclusive integer\n * @return an integer between min and max inclusive\n */\nexport function tuiNormalizeToIntNumber(value: number, min: number, max: number): number {\n ngDevMode && console.assert(Number.isInteger(min));\n ngDevMode && console.assert(Number.isInteger(max));\n ngDevMode && console.assert(min <= max);\n\n if (Number.isNaN(value) || value <= min) {\n return min;\n }\n\n if (value >= max) {\n return max;\n }\n\n return Math.round(value);\n}\n","/**\n * Rounds a number to the closest value in a fixed discrete series\n *\n * @param value\n * @param quantum series step\n */\nexport function tuiQuantize(value: number, quantum: number): number {\n ngDevMode && console.assert(Number.isFinite(value));\n ngDevMode && console.assert(Number.isFinite(quantum));\n ngDevMode && console.assert(quantum > 0);\n\n const remainder = value % quantum;\n\n return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;\n}\n","const MAX_PRECISION = 292;\n\n/**\n * Rounding number to the set precision\n *\n * @param value\n * @param precision number of digits in a float part\n * @param func rounding function (round, floor, ceil)\n */\nfunction calculate(\n value: number,\n precision: number,\n func: (x: number) => number,\n): number {\n if (value === Infinity) {\n return value;\n }\n\n ngDevMode && console.assert(!Number.isNaN(value), 'Value must be number');\n ngDevMode && console.assert(Number.isInteger(precision), 'Precision must be integer');\n\n precision = Math.min(precision, MAX_PRECISION);\n\n const [significand, exponent = ''] = `${value}`.split('e');\n const roundedInt = func(Number(`${significand}e${Number(exponent) + precision}`));\n\n /**\n * TODO: use BigInt after bumping Safari to 14+\n */\n ngDevMode &&\n console.assert(\n Number.isSafeInteger(roundedInt),\n 'Impossible to correctly round such a large number',\n );\n\n const processedPair = `${roundedInt}e`.split('e');\n\n return Number(`${processedPair[0]}e${Number(processedPair[1]) - precision}`);\n}\n\nexport function tuiRound(value: number, precision = 0): number {\n return calculate(value, precision, Math.round);\n}\n\nexport function tuiCeil(value: number, precision = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\nexport function tuiFloor(value: number, precision = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\nexport function tuiTrunc(value: number, precision = 0): number {\n return calculate(value, precision, Math.trunc);\n}\n\nexport function tuiIsSafeToRound(value: number, precision = 0): boolean {\n return Number.isSafeInteger(Math.trunc(value * 10 ** precision));\n}\n","import {type TuiRounding} from '@taiga-ui/cdk/types';\n\nimport {tuiCeil, tuiFloor, tuiRound, tuiTrunc} from './round';\n\nexport function tuiRoundWith({\n value,\n precision,\n method,\n}: {\n method: TuiRounding;\n precision: number;\n value: number;\n}): number {\n switch (method) {\n case 'ceil':\n return tuiCeil(value, precision);\n case 'floor':\n return tuiFloor(value, precision);\n case 'round':\n return tuiRound(value, precision);\n default:\n return tuiTrunc(value, precision);\n }\n}\n","/**\n * Calculates sum of any number of passed arguments with proper floating point precision\n */\nexport function tuiSum(): 0;\nexport function tuiSum(...args: number[]): number;\nexport function tuiSum(...args: bigint[]): bigint;\nexport function tuiSum(...args: ReadonlyArray<bigint | number>): number;\nexport function tuiSum(...args: ReadonlyArray<bigint | number>): bigint | number {\n if (args.length === 0) {\n return 0;\n }\n\n if (args.every((arg) => typeof arg === 'bigint')) {\n return args.reduce<bigint>((acc, n) => acc + n, BigInt(0));\n }\n\n const numbers = args.map((arg) => Number(arg));\n const decimal = numbers.map((n) => (n.toString().split('.')[1] ?? '').length);\n const maxDecimal = Math.max(0, ...decimal);\n const precision = 10 ** maxDecimal;\n const sumInt = numbers.reduce((acc, n) => acc + Math.round(n * precision), 0);\n\n return sumInt / precision;\n}\n","export function tuiToInt(bool: boolean): 0 | 1 {\n return bool ? 1 : 0;\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": "5.4.0-canary.d26a6e2",
3
+ "version": "5.5.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",
@@ -116,6 +116,10 @@
116
116
  "types": "./directives/high-dpi/index.d.ts",
117
117
  "default": "./fesm2022/taiga-ui-cdk-directives-high-dpi.mjs"
118
118
  },
119
+ "./directives/hovered": {
120
+ "types": "./directives/hovered/index.d.ts",
121
+ "default": "./fesm2022/taiga-ui-cdk-directives-hovered.mjs"
122
+ },
119
123
  "./directives/item": {
120
124
  "types": "./directives/item/index.d.ts",
121
125
  "default": "./fesm2022/taiga-ui-cdk-directives-item.mjs"
@@ -124,9 +128,9 @@
124
128
  "types": "./directives/media/index.d.ts",
125
129
  "default": "./fesm2022/taiga-ui-cdk-directives-media.mjs"
126
130
  },
127
- "./directives/hovered": {
128
- "types": "./directives/hovered/index.d.ts",
129
- "default": "./fesm2022/taiga-ui-cdk-directives-hovered.mjs"
131
+ "./directives/native-validator": {
132
+ "types": "./directives/native-validator/index.d.ts",
133
+ "default": "./fesm2022/taiga-ui-cdk-directives-native-validator.mjs"
130
134
  },
131
135
  "./directives/obscured": {
132
136
  "types": "./directives/obscured/index.d.ts",
@@ -140,9 +144,9 @@
140
144
  "types": "./directives/platform/index.d.ts",
141
145
  "default": "./fesm2022/taiga-ui-cdk-directives-platform.mjs"
142
146
  },
143
- "./directives/native-validator": {
144
- "types": "./directives/native-validator/index.d.ts",
145
- "default": "./fesm2022/taiga-ui-cdk-directives-native-validator.mjs"
147
+ "./directives/resizer": {
148
+ "types": "./directives/resizer/index.d.ts",
149
+ "default": "./fesm2022/taiga-ui-cdk-directives-resizer.mjs"
146
150
  },
147
151
  "./directives/swipe": {
148
152
  "types": "./directives/swipe/index.d.ts",
@@ -156,18 +160,14 @@
156
160
  "types": "./directives/truncate/index.d.ts",
157
161
  "default": "./fesm2022/taiga-ui-cdk-directives-truncate.mjs"
158
162
  },
159
- "./directives/resizer": {
160
- "types": "./directives/resizer/index.d.ts",
161
- "default": "./fesm2022/taiga-ui-cdk-directives-resizer.mjs"
163
+ "./directives/validator": {
164
+ "types": "./directives/validator/index.d.ts",
165
+ "default": "./fesm2022/taiga-ui-cdk-directives-validator.mjs"
162
166
  },
163
167
  "./directives/value-changes": {
164
168
  "types": "./directives/value-changes/index.d.ts",
165
169
  "default": "./fesm2022/taiga-ui-cdk-directives-value-changes.mjs"
166
170
  },
167
- "./directives/validator": {
168
- "types": "./directives/validator/index.d.ts",
169
- "default": "./fesm2022/taiga-ui-cdk-directives-validator.mjs"
170
- },
171
171
  "./directives/vcr": {
172
172
  "types": "./directives/vcr/index.d.ts",
173
173
  "default": "./fesm2022/taiga-ui-cdk-directives-vcr.mjs"
@@ -184,14 +184,14 @@
184
184
  "types": "./directives/zoom/index.d.ts",
185
185
  "default": "./fesm2022/taiga-ui-cdk-directives-zoom.mjs"
186
186
  },
187
- "./pipes/mapper": {
188
- "types": "./pipes/mapper/index.d.ts",
189
- "default": "./fesm2022/taiga-ui-cdk-pipes-mapper.mjs"
190
- },
191
187
  "./pipes/filter": {
192
188
  "types": "./pipes/filter/index.d.ts",
193
189
  "default": "./fesm2022/taiga-ui-cdk-pipes-filter.mjs"
194
190
  },
191
+ "./pipes/mapper": {
192
+ "types": "./pipes/mapper/index.d.ts",
193
+ "default": "./fesm2022/taiga-ui-cdk-pipes-mapper.mjs"
194
+ },
195
195
  "./pipes/obfuscate": {
196
196
  "types": "./pipes/obfuscate/index.d.ts",
197
197
  "default": "./fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs"
@@ -1 +1 @@
1
- export declare const TAIGA_VERSION = "^5.4.0-canary.d26a6e2";
1
+ export declare const TAIGA_VERSION = "^5.5.0";
@@ -0,0 +1,8 @@
1
+ import { type UpdateRecorder } from '@angular-devkit/schematics';
2
+ import { type DefaultTreeAdapterTypes } from 'parse5';
3
+ type Element = DefaultTreeAdapterTypes.Element;
4
+ type Attribute = Element['attrs'][number];
5
+ export declare function getControlStateAttrs(element: Element): Attribute[];
6
+ export declare function removeControlStateAttrs(recorder: UpdateRecorder, templateOffset: number, element: Element, template: string, attrs?: Attribute[]): void;
7
+ export declare function stringifyControlStateAttrs(attrs: Attribute[]): string;
8
+ export {};
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getControlStateAttrs = getControlStateAttrs;
4
+ exports.removeControlStateAttrs = removeControlStateAttrs;
5
+ exports.stringifyControlStateAttrs = stringifyControlStateAttrs;
6
+ const CONTROL_STATE_ATTR_NAMES_LOWER = new Set([
7
+ '[disabled]'.toLowerCase(),
8
+ '[readOnly]'.toLowerCase(),
9
+ 'disabled'.toLowerCase(),
10
+ 'readOnly'.toLowerCase(),
11
+ ]);
12
+ const CANONICAL_NAME_BY_LOWER = new Map([
13
+ ['[disabled]'.toLowerCase(), '[disabled]'],
14
+ ['[readOnly]'.toLowerCase(), '[readOnly]'],
15
+ ['disabled'.toLowerCase(), 'disabled'],
16
+ ['readOnly'.toLowerCase(), 'readOnly'],
17
+ ]);
18
+ function getControlStateAttrs(element) {
19
+ return element.attrs.filter((attr) => CONTROL_STATE_ATTR_NAMES_LOWER.has(attr.name.toLowerCase()));
20
+ }
21
+ function removeControlStateAttrs(recorder, templateOffset, element, template, attrs = getControlStateAttrs(element)) {
22
+ var _a, _b, _c;
23
+ for (const attr of attrs) {
24
+ const { startOffset = 0, endOffset = 0 } = (_c = (_b = (_a = element.sourceCodeLocation) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b[attr.name]) !== null && _c !== void 0 ? _c : {};
25
+ const lineStart = template.lastIndexOf('\n', startOffset) + 1;
26
+ const lineEnd = template.indexOf('\n', endOffset);
27
+ const attrText = template.slice(startOffset, endOffset);
28
+ const lineText = lineEnd === -1 ? '' : template.slice(lineStart, lineEnd);
29
+ if (lineText.trim() === attrText.trim() && lineEnd !== -1) {
30
+ recorder.remove(templateOffset + lineStart, lineEnd - lineStart + 1);
31
+ continue;
32
+ }
33
+ recorder.remove(templateOffset + startOffset - 1, endOffset - startOffset + 1);
34
+ }
35
+ }
36
+ function stringifyControlStateAttrs(attrs) {
37
+ return attrs
38
+ .map(({ name, value }) => {
39
+ var _a;
40
+ const normalized = (_a = CANONICAL_NAME_BY_LOWER.get(name.toLowerCase())) !== null && _a !== void 0 ? _a : name;
41
+ const token = value ? `${normalized}="${value}"` : normalized;
42
+ return ` ${token}`;
43
+ })
44
+ .join('');
45
+ }
46
+ //# sourceMappingURL=control-state-attrs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-state-attrs.js","sourceRoot":"","sources":["../../../../../../projects/cdk/schematics/ng-update/utils/templates/control-state-attrs.ts"],"names":[],"mappings":";;AAqBA,oDAIC;AAED,0DAsBC;AAED,gEASC;AArDD,MAAM,8BAA8B,GAAwB,IAAI,GAAG,CAAC;IAChE,YAAY,CAAC,WAAW,EAAE;IAC1B,YAAY,CAAC,WAAW,EAAE;IAC1B,UAAU,CAAC,WAAW,EAAE;IACxB,UAAU,CAAC,WAAW,EAAE;CAC3B,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAgC,IAAI,GAAG,CAAC;IACjE,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC;IAC1C,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC;IAC1C,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC;IACtC,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC;CACzC,CAAC,CAAC;AAEH,SAAgB,oBAAoB,CAAC,OAAgB;IACjD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC9D,CAAC;AACN,CAAC;AAED,SAAgB,uBAAuB,CACnC,QAAwB,EACxB,cAAsB,EACtB,OAAgB,EAChB,QAAgB,EAChB,QAAqB,oBAAoB,CAAC,OAAO,CAAC;;IAElD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,EAAC,WAAW,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAC,GAClC,MAAA,MAAA,MAAA,OAAO,CAAC,kBAAkB,0CAAE,KAAK,0CAAG,IAAI,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE1E,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACxD,QAAQ,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;YACrE,SAAS;QACb,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,cAAc,GAAG,WAAW,GAAG,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;IACnF,CAAC;AACL,CAAC;AAED,SAAgB,0BAA0B,CAAC,KAAkB;IACzD,OAAO,KAAK;SACP,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,EAAE;;QACnB,MAAM,UAAU,GAAG,MAAA,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,mCAAI,IAAI,CAAC;QAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QAE9D,OAAO,IAAI,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './control-state-attrs';
1
2
  export * from './dom-traversal';
2
3
  export * from './remove-inputs';
3
4
  export * from './replace-attr-values';
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./control-state-attrs"), exports);
4
5
  tslib_1.__exportStar(require("./dom-traversal"), exports);
5
6
  tslib_1.__exportStar(require("./remove-inputs"), exports);
6
7
  tslib_1.__exportStar(require("./replace-attr-values"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../projects/cdk/schematics/ng-update/utils/templates/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,0DAAgC;AAChC,gEAAsC;AACtC,0DAAgC;AAChC,wDAA8B;AAC9B,yDAA+B;AAC/B,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../projects/cdk/schematics/ng-update/utils/templates/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,0DAAgC;AAChC,0DAAgC;AAChC,gEAAsC;AACtC,0DAAgC;AAChC,wDAA8B;AAC9B,yDAA+B;AAC/B,8DAAoC"}
@@ -4,6 +4,7 @@ exports.migrateComboBox = migrateComboBox;
4
4
  const insert_todo_1 = require("../../../../utils/insert-todo");
5
5
  const elements_1 = require("../../../../utils/templates/elements");
6
6
  const template_resource_1 = require("../../../../utils/templates/template-resource");
7
+ const control_state_attrs_1 = require("../../../utils/templates/control-state-attrs");
7
8
  const replace_tag_1 = require("../../../utils/templates/replace-tag");
8
9
  const DOCS_LINK = 'https://taiga-ui.dev/components/combo-box';
9
10
  const CONTROL_ATTR_NAMES = [
@@ -30,6 +31,7 @@ function migrateComboBox({ resource, recorder, fileSystem, }) {
30
31
  const controlAttrs = element.attrs.filter((attr) => CONTROL_ATTRS.has(attr.name.toLowerCase()));
31
32
  const inputAttrs = element.attrs.filter((attr) => INPUT_ATTRS.has(attr.name.toLowerCase()));
32
33
  const removeAttrs = element.attrs.filter((attr) => REMOVE_ATTRS.has(attr.name.toLowerCase()));
34
+ const controlStateAttrs = (0, control_state_attrs_1.getControlStateAttrs)(element);
33
35
  const labelOutsideAttr = removeAttrs.find((attr) => REMOVE_ATTRS.has(attr.name.toLowerCase()));
34
36
  const searchAttr = element.attrs.find((attr) => attr.name.toLowerCase() === '[search]');
35
37
  const searchChangeAttr = element.attrs.find((attr) => attr.name.toLowerCase() === '(searchChange)'.toLowerCase());
@@ -37,6 +39,7 @@ function migrateComboBox({ resource, recorder, fileSystem, }) {
37
39
  for (const attr of [...controlAttrs, ...inputAttrs, ...removeAttrs]) {
38
40
  removeAttr(recorder, templateOffset, element, attr.name, template);
39
41
  }
42
+ (0, control_state_attrs_1.removeControlStateAttrs)(recorder, templateOffset, element, template, controlStateAttrs);
40
43
  if (searchAttr) {
41
44
  removeAttr(recorder, templateOffset, element, searchAttr.name, template);
42
45
  }
@@ -76,6 +79,7 @@ function migrateComboBox({ resource, recorder, fileSystem, }) {
76
79
  template,
77
80
  controlAttrs,
78
81
  inputAttrs,
82
+ controlStateAttrs,
79
83
  searchHandler,
80
84
  placeholder: isLabelOutsideTrue ? getPlaceholderText(element) : '',
81
85
  });
@@ -102,6 +106,7 @@ function migrateComboBox({ resource, recorder, fileSystem, }) {
102
106
  templateOffset,
103
107
  controlAttrs,
104
108
  inputAttrs,
109
+ controlStateAttrs,
105
110
  searchHandler,
106
111
  sourceCodeLocation,
107
112
  isLabelOutsideTrue,
@@ -109,7 +114,7 @@ function migrateComboBox({ resource, recorder, fileSystem, }) {
109
114
  }
110
115
  });
111
116
  }
112
- function handleExistingInput({ inputs, recorder, templateOffset, template, controlAttrs, inputAttrs, searchHandler, placeholder, }) {
117
+ function handleExistingInput({ inputs, recorder, templateOffset, template, controlAttrs, inputAttrs, controlStateAttrs, searchHandler, placeholder, }) {
113
118
  inputs.forEach((input) => {
114
119
  var _a, _b, _c, _d, _e, _f;
115
120
  const legacyAttr = input.attrs.find((attr) => /^tuitextfieldlegacy$/i.test(attr.name));
@@ -130,26 +135,28 @@ function handleExistingInput({ inputs, recorder, templateOffset, template, contr
130
135
  const formAttrs = formatControlAttrs(controlAttrs);
131
136
  const inputAttrStr = formatInputAttrs(inputAttrs);
132
137
  const placeholderAttr = placeholder ? ` placeholder="${placeholder}"` : '';
133
- recorder.insertRight(templateOffset + insertOffset, ` tuiComboBox${formAttrs}${inputAttrStr}${searchHandler}${placeholderAttr}`);
138
+ const controlStateStr = (0, control_state_attrs_1.stringifyControlStateAttrs)(controlStateAttrs);
139
+ recorder.insertRight(templateOffset + insertOffset, ` tuiComboBox${formAttrs}${inputAttrStr}${searchHandler}${placeholderAttr}${controlStateStr}`);
134
140
  });
135
141
  }
136
- function handleGeneratedInput({ element, recorder, templateOffset, controlAttrs, inputAttrs, searchHandler, sourceCodeLocation, isLabelOutsideTrue, }) {
142
+ function handleGeneratedInput({ element, recorder, templateOffset, controlAttrs, inputAttrs, controlStateAttrs, searchHandler, sourceCodeLocation, isLabelOutsideTrue, }) {
137
143
  var _a, _b, _c, _d, _e, _f, _g, _h;
138
144
  const formAttrs = formatControlAttrs(controlAttrs);
139
145
  const inputAttrStr = formatInputAttrs(inputAttrs);
146
+ const controlStateStr = (0, control_state_attrs_1.stringifyControlStateAttrs)(controlStateAttrs);
140
147
  const labelNode = findTextNode(element);
141
148
  if (isLabelOutsideTrue && labelNode) {
142
149
  const labelText = labelNode.value.trim();
143
150
  const textStart = (_b = (_a = labelNode.sourceCodeLocation) === null || _a === void 0 ? void 0 : _a.startOffset) !== null && _b !== void 0 ? _b : 0;
144
151
  const textEnd = (_d = (_c = labelNode.sourceCodeLocation) === null || _c === void 0 ? void 0 : _c.endOffset) !== null && _d !== void 0 ? _d : 0;
145
152
  recorder.remove(templateOffset + textStart, textEnd - textStart);
146
- recorder.insertRight(templateOffset + textStart, `\n<input tuiComboBox${formAttrs}${inputAttrStr}${searchHandler} placeholder="${labelText}" />\n`);
153
+ recorder.insertRight(templateOffset + textStart, `\n<input tuiComboBox${formAttrs}${inputAttrStr}${searchHandler} placeholder="${labelText}"${controlStateStr} />\n`);
147
154
  return;
148
155
  }
149
156
  const insertOffset = labelNode
150
157
  ? ((_f = (_e = labelNode.sourceCodeLocation) === null || _e === void 0 ? void 0 : _e.endOffset) !== null && _f !== void 0 ? _f : 0)
151
158
  : ((_h = (_g = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.endTag) === null || _g === void 0 ? void 0 : _g.startOffset) !== null && _h !== void 0 ? _h : 0);
152
- recorder.insertRight(templateOffset + insertOffset, `\n<input tuiComboBox${formAttrs}${inputAttrStr}${searchHandler} />\n`);
159
+ recorder.insertRight(templateOffset + insertOffset, `\n<input tuiComboBox${formAttrs}${inputAttrStr}${searchHandler}${controlStateStr} />\n`);
153
160
  }
154
161
  function findTextNode(element) {
155
162
  return element.childNodes.find((node) => node.nodeName === '#text' && !!node.value.trim());
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-combo-box.js","sourceRoot":"","sources":["../../../../../../../projects/cdk/schematics/ng-update/v5/steps/templates/migrate-combo-box.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate-combo-box.js","sourceRoot":"","sources":["../../../../../../../projects/cdk/schematics/ng-update/v5/steps/templates/migrate-combo-box.ts"],"names":[],"mappings":";;AA4CA,0CAgKC;AAxMD,+DAAwD;AACxD,mEAA2E;AAC3E,qFAGuD;AAEvD,sFAIsD;AACtD,sEAAgE;AAQhE,MAAM,SAAS,GAAG,2CAA2C,CAAC;AAE9D,MAAM,kBAAkB,GAAG;IACvB,iBAAiB;IACjB,eAAe;IACf,aAAa;IACb,aAAa;IACb,WAAW;IACX,SAAS;CACH,CAAC;AAEX,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAEpF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;AAE3E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IACzB,4BAA4B,CAAC,WAAW,EAAE;IAC1C,0BAA0B,CAAC,WAAW,EAAE;CAC3C,CAAC,CAAC;AAEH,SAAgB,eAAe,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,UAAU,GAKb;IACG,MAAM,QAAQ,GAAG,IAAA,mDAA+B,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAA,gCAAqB,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAElE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;QACzB,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAEtD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/C,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC7C,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC7C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC3C,CAAC;QAEF,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9C,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC5C,CAAC;QAEF,MAAM,iBAAiB,GAAG,IAAA,0CAAoB,EAAC,OAAO,CAAC,CAAC;QAExD,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/C,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC5C,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CACjC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CACnD,CAAC;QAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,WAAW,EAAE,CACvE,CAAC;QAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,WAAW,EAAE,CACvE,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC;YAClE,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvE,CAAC;QAED,IAAA,6CAAuB,EACnB,QAAQ,EACR,cAAc,EACd,OAAO,EACP,QAAQ,EACR,iBAAiB,CACpB,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACb,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACnB,UAAU,CACN,QAAQ,EACR,cAAc,EACd,OAAO,EACP,gBAAgB,CAAC,IAAI,EACrB,QAAQ,CACX,CAAC;QACN,CAAC;QAED,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,IAAI,gBAAgB,EAAE,CAAC;YACnB,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAC1E,aAAa,CAAC,IAAI,CACd,eAAe,EACf,4CAA4C,gBAAgB,CAAC,KAAK,GAAG,CACxE,CAAC;QACN,CAAC;QAED,IAAA,wBAAU,EACN,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,QAAQ,EACR,cAAc,EACd,aAAa,CAChB,CAAC;QAEF,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG;gBACf,QAAQ,uBAAS,iCAAiC,SAAS,IAAI;gBAC/D,mFAAmF;gBACnF,OAAO;aACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,QAAQ,GAAG,CAAC,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,WAAW,mCAAI,CAAC,CAAC,GAAG,cAAc,CAAC;YAEzE,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,aAAa,GAAG,gBAAgB;YAClC,CAAC,CAAC,aAAa,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,qBAAqB,CAAC,GAAG;YACpF,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CACpC,CAAC,IAAe,EAAmB,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAClE,CAAC;QAEF,MAAM,SAAS,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mCAAI,KAAK,CAAC;QAClE,MAAM,kBAAkB,GACpB,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,MAAK,MAAM;YAClC,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QACxE,MAAM,qBAAqB,GACvB,CAAC,CAAC,gBAAgB;YAClB,CAAC,kBAAkB;YACnB,gBAAgB,CAAC,KAAK,KAAK,OAAO,CAAC;QAEvC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,mBAAmB,CAAC;gBAChB,MAAM;gBACN,QAAQ;gBACR,cAAc;gBACd,QAAQ;gBACR,YAAY;gBACZ,UAAU;gBACV,iBAAiB;gBACjB,aAAa;gBACb,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;aACrE,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC1D,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,kBAAkB,EAAE,CAAC;gBAC5B,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,qBAAqB,EAAE,CAAC;gBAC/B,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC1D,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,qBAAqB,EAAE,CAAC;gBAC/B,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrE,CAAC;YAED,oBAAoB,CAAC;gBACjB,OAAO;gBACP,QAAQ;gBACR,cAAc;gBACd,YAAY;gBACZ,UAAU;gBACV,iBAAiB;gBACjB,aAAa;gBACb,kBAAkB;gBAClB,kBAAkB;aACrB,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,mBAAmB,CAAC,EACzB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,WAAW,GAWd;IACG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;;QACrB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACzC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1C,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,EAAC,WAAW,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAC,GAClC,MAAA,MAAA,MAAA,KAAK,CAAC,kBAAkB,0CAAE,KAAK,0CAAG,UAAU,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;YAE7D,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAExD,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;gBACxD,QAAQ,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,MAAM,CAAC,cAAc,GAAG,WAAW,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GACd,CAAC,MAAA,MAAA,MAAA,KAAK,CAAC,kBAAkB,0CAAE,QAAQ,0CAAE,WAAW,mCAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC7E,MAAM,SAAS,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,eAAe,GAAG,IAAA,gDAA0B,EAAC,iBAAiB,CAAC,CAAC;QAEtE,QAAQ,CAAC,WAAW,CAChB,cAAc,GAAG,YAAY,EAC7B,eAAe,SAAS,GAAG,YAAY,GAAG,aAAa,GAAG,eAAe,GAAG,eAAe,EAAE,CAChG,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,oBAAoB,CAAC,EAC1B,OAAO,EACP,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GAWrB;;IACG,MAAM,SAAS,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,IAAA,gDAA0B,EAAC,iBAAiB,CAAC,CAAC;IAEtE,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,kBAAkB,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,MAAA,MAAA,SAAS,CAAC,kBAAkB,0CAAE,WAAW,mCAAI,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,MAAA,MAAA,SAAS,CAAC,kBAAkB,0CAAE,SAAS,mCAAI,CAAC,CAAC;QAE7D,QAAQ,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;QAEjE,QAAQ,CAAC,WAAW,CAChB,cAAc,GAAG,SAAS,EAC1B,uBAAuB,SAAS,GAAG,YAAY,GAAG,aAAa,iBAAiB,SAAS,IAAI,eAAe,OAAO,CACtH,CAAC;QAEF,OAAO;IACX,CAAC;IAED,MAAM,YAAY,GAAG,SAAS;QAC1B,CAAC,CAAC,CAAC,MAAA,MAAA,SAAS,CAAC,kBAAkB,0CAAE,SAAS,mCAAI,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,MAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,0CAAE,WAAW,mCAAI,CAAC,CAAC,CAAC;IAErD,QAAQ,CAAC,WAAW,CAChB,cAAc,GAAG,YAAY,EAC7B,uBAAuB,SAAS,GAAG,YAAY,GAAG,aAAa,GAAG,eAAe,OAAO,CAC3F,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB;IAClC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAC,IAAe,EAAoB,EAAE,CAClC,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAE,IAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,CACrE,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAgB;;IACxC,OAAO,MAAA,MAAA,YAAY,CAAC,OAAO,CAAC,0CAAE,KAAK,CAAC,IAAI,EAAE,mCAAI,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CACnB,QAAwB,EACxB,cAAsB,EACtB,OAAgB;;IAEhB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,MAAA,MAAA,SAAS,CAAC,kBAAkB,0CAAE,WAAW,mCAAI,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAA,MAAA,SAAS,CAAC,kBAAkB,0CAAE,SAAS,mCAAI,CAAC,CAAC;IAE7D,QAAQ,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,mBAAmB,CACxB,QAAwB,EACxB,cAAsB,EACtB,OAAgB,EAChB,QAAgB;;IAEhB,MAAM,YAAY,GAAG,MAAA,MAAA,OAAO,CAAC,kBAAkB,0CAAE,WAAW,mCAAI,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEvD,QAAQ,CAAC,WAAW,CAChB,cAAc,GAAG,YAAY,EAC7B,QAAQ,uBAAS,4LAA4L,MAAM,EAAE,CACxN,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CACpB,QAAwB,EACxB,cAAsB,EACtB,OAAgB;;IAEhB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IAED,MAAM,cAAc,GAChB,CAAC,MAAA,MAAA,SAAS,CAAC,kBAAkB,0CAAE,WAAW,mCAAI,CAAC,CAAC,GAAG,cAAc,CAAC;IACtE,MAAM,YAAY,GAAG,CAAC,MAAA,MAAA,SAAS,CAAC,kBAAkB,0CAAE,SAAS,mCAAI,CAAC,CAAC,GAAG,cAAc,CAAC;IAErF,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;IAC3D,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CACf,QAAwB,EACxB,cAAsB,EACtB,OAAgB,EAChB,IAAY,EACZ,QAAgB;;IAEhB,MAAM,YAAY,GAAG,MAAA,MAAA,OAAO,CAAC,kBAAkB,0CAAE,KAAK,0CAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAE7E,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE1E,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACxD,QAAQ,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;QAErE,OAAO;IACX,CAAC;IAED,QAAQ,CAAC,MAAM,CACX,cAAc,GAAG,YAAY,CAAC,WAAW,GAAG,CAAC,EAC7C,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,WAAW,GAAG,CAAC,CACxD,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA2C;IACnE,OAAO,KAAK;SACP,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC;SAChE,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA2C;IACjE,OAAO,KAAK;SACP,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,EAAE;QACnB,MAAM,QAAQ,GACV,IAAI,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC,WAAW,EAAE;YAClD,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAElC,OAAO,IAAI,QAAQ,KAAK,KAAK,GAAG,CAAC;IACrC,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACnC,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,KAAK,aAAa,CAAC,WAAW,EAAE;YAC5B,OAAO,aAAa,CAAC;QACzB,KAAK,eAAe,CAAC,WAAW,EAAE;YAC9B,OAAO,eAAe,CAAC;QAC3B,KAAK,WAAW,CAAC,WAAW,EAAE;YAC1B,OAAO,WAAW,CAAC;QACvB,KAAK,aAAa,CAAC,WAAW,EAAE;YAC5B,OAAO,aAAa,CAAC;QACzB,KAAK,iBAAiB,CAAC,WAAW,EAAE;YAChC,OAAO,iBAAiB,CAAC;QAC7B,KAAK,SAAS,CAAC,WAAW,EAAE;YACxB,OAAO,SAAS,CAAC;QACrB,KAAK,UAAU;YACX,OAAO,UAAU,CAAC;QACtB;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC"}
@@ -4,6 +4,13 @@ import { type DefaultTreeAdapterTypes } from 'parse5';
4
4
  import { type TemplateResource } from '../../../interfaces/template-resource';
5
5
  type Element = DefaultTreeAdapterTypes.Element;
6
6
  export declare function buildTuiIconStr(element: Element, template: string): string;
7
+ export declare function extractHintToTooltipIcon({ element, template, recorder, templateOffset, resource, }: {
8
+ element: Element;
9
+ recorder: UpdateRecorder;
10
+ resource: TemplateResource;
11
+ template: string;
12
+ templateOffset: number;
13
+ }): string;
7
14
  export declare function migrateHintOnLegacyControls({ resource, recorder, fileSystem, }: {
8
15
  fileSystem: DevkitFileSystem;
9
16
  recorder: UpdateRecorder;