@taiga-ui/cdk 5.0.0-rc.3 → 5.0.0-rc.4

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 (144) hide show
  1. package/constants/used-icons.d.ts +1 -1
  2. package/constants/version.d.ts +1 -1
  3. package/constants/version.js +1 -1
  4. package/directives/font-size/font-size.directive.d.ts +1 -0
  5. package/fesm2022/taiga-ui-cdk-constants.mjs +37 -37
  6. package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
  7. package/fesm2022/taiga-ui-cdk-directives-font-size.mjs +5 -4
  8. package/fesm2022/taiga-ui-cdk-directives-font-size.mjs.map +1 -1
  9. package/fesm2022/taiga-ui-cdk-utils-math.mjs +6 -2
  10. package/fesm2022/taiga-ui-cdk-utils-math.mjs.map +1 -1
  11. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +2 -34
  12. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
  13. package/package.json +3 -1
  14. package/schematics/constants/file-globs.d.ts +2 -1
  15. package/schematics/constants/file-globs.js +11 -2
  16. package/schematics/constants/file-globs.js.map +1 -1
  17. package/schematics/ng-add/constants/versions.d.ts +1 -1
  18. package/schematics/ng-add/steps/add-taiga-modules.js +4 -4
  19. package/schematics/ng-add/steps/add-taiga-modules.js.map +1 -1
  20. package/schematics/ng-update/interfaces/html-comment.d.ts +3 -1
  21. package/schematics/ng-update/interfaces/removable-input.d.ts +3 -1
  22. package/schematics/ng-update/interfaces/replacement-function-parameter.d.ts +10 -0
  23. package/schematics/ng-update/interfaces/replacement-function-parameter.js +3 -0
  24. package/schematics/ng-update/interfaces/replacement-function-parameter.js.map +1 -0
  25. package/schematics/ng-update/steps/index.d.ts +1 -0
  26. package/schematics/ng-update/steps/index.js +1 -0
  27. package/schematics/ng-update/steps/index.js.map +1 -1
  28. package/schematics/ng-update/{v4/steps → steps}/remove-duplicates.d.ts +1 -1
  29. package/schematics/ng-update/{v4/steps → steps}/remove-duplicates.js +1 -1
  30. package/schematics/ng-update/steps/remove-duplicates.js.map +1 -0
  31. package/schematics/ng-update/utils/add-comment-for-styles.d.ts +4 -0
  32. package/schematics/ng-update/utils/add-comment-for-styles.js +20 -0
  33. package/schematics/ng-update/utils/add-comment-for-styles.js.map +1 -0
  34. package/schematics/ng-update/utils/replace-function-parameters.d.ts +2 -0
  35. package/schematics/ng-update/utils/replace-function-parameters.js +48 -0
  36. package/schematics/ng-update/utils/replace-function-parameters.js.map +1 -0
  37. package/schematics/ng-update/v4/index.js +1 -4
  38. package/schematics/ng-update/v4/index.js.map +1 -1
  39. package/schematics/ng-update/v4/migrate-css-vars/palette.js +4 -4
  40. package/schematics/ng-update/v4/migrate-css-vars/palette.js.map +1 -1
  41. package/schematics/ng-update/v4/steps/constants/identifiers-to-replace.js +10 -0
  42. package/schematics/ng-update/v4/steps/constants/identifiers-to-replace.js.map +1 -1
  43. package/schematics/ng-update/v4/steps/index.d.ts +0 -1
  44. package/schematics/ng-update/v4/steps/index.js +0 -1
  45. package/schematics/ng-update/v4/steps/index.js.map +1 -1
  46. package/schematics/ng-update/v4/steps/styles/index.js +1 -2
  47. package/schematics/ng-update/v4/steps/styles/index.js.map +1 -1
  48. package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js +16 -13
  49. package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js.map +1 -1
  50. package/schematics/ng-update/v5/index.js +28 -4
  51. package/schematics/ng-update/v5/index.js.map +1 -1
  52. package/schematics/ng-update/v5/steps/constants/attr-with-values-to-replace.d.ts +2 -0
  53. package/schematics/ng-update/v5/steps/constants/attr-with-values-to-replace.js +126 -0
  54. package/schematics/ng-update/v5/steps/constants/attr-with-values-to-replace.js.map +1 -0
  55. package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js +44 -0
  56. package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js.map +1 -1
  57. package/schematics/ng-update/v5/steps/constants/function-parameters-to-replace.d.ts +2 -0
  58. package/schematics/ng-update/v5/steps/constants/function-parameters-to-replace.js +48 -0
  59. package/schematics/ng-update/v5/steps/constants/function-parameters-to-replace.js.map +1 -0
  60. package/schematics/ng-update/v5/steps/constants/html-comments.js +32 -0
  61. package/schematics/ng-update/v5/steps/constants/html-comments.js.map +1 -1
  62. package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js +422 -0
  63. package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js.map +1 -1
  64. package/schematics/ng-update/v5/steps/constants/inputs-to-remove.d.ts +2 -0
  65. package/schematics/ng-update/v5/steps/constants/inputs-to-remove.js +12 -0
  66. package/schematics/ng-update/v5/steps/constants/inputs-to-remove.js.map +1 -0
  67. package/schematics/ng-update/v5/steps/constants/migration-warnings.js +10 -0
  68. package/schematics/ng-update/v5/steps/constants/migration-warnings.js.map +1 -1
  69. package/schematics/ng-update/v5/steps/constants/modules-to-remove.d.ts +2 -0
  70. package/schematics/ng-update/v5/steps/constants/modules-to-remove.js +22 -0
  71. package/schematics/ng-update/v5/steps/constants/modules-to-remove.js.map +1 -0
  72. package/schematics/ng-update/v5/steps/constants/style-comments.d.ts +3 -0
  73. package/schematics/ng-update/v5/steps/constants/style-comments.js +24 -0
  74. package/schematics/ng-update/v5/steps/constants/style-comments.js.map +1 -0
  75. package/schematics/ng-update/v5/steps/constants/tags-to-replace.js +11 -0
  76. package/schematics/ng-update/v5/steps/constants/tags-to-replace.js.map +1 -1
  77. package/schematics/ng-update/v5/steps/migrate-breakpoint-service.d.ts +3 -0
  78. package/schematics/ng-update/v5/steps/migrate-breakpoint-service.js +92 -0
  79. package/schematics/ng-update/v5/steps/migrate-breakpoint-service.js.map +1 -0
  80. package/schematics/ng-update/v5/steps/migrate-closeable.d.ts +3 -0
  81. package/schematics/ng-update/v5/steps/migrate-closeable.js +59 -0
  82. package/schematics/ng-update/v5/steps/migrate-closeable.js.map +1 -0
  83. package/schematics/ng-update/v5/steps/migrate-css-variables.d.ts +1 -0
  84. package/schematics/ng-update/v5/steps/migrate-css-variables.js +29 -11
  85. package/schematics/ng-update/v5/steps/migrate-css-variables.js.map +1 -1
  86. package/schematics/ng-update/v5/steps/migrate-packages.d.ts +1 -0
  87. package/schematics/ng-update/v5/steps/migrate-packages.js +15 -0
  88. package/schematics/ng-update/v5/steps/migrate-packages.js.map +1 -0
  89. package/schematics/ng-update/v5/steps/migrate-templates.js +18 -0
  90. package/schematics/ng-update/v5/steps/migrate-templates.js.map +1 -1
  91. package/schematics/ng-update/v5/steps/styles/add-comments.d.ts +1 -0
  92. package/schematics/ng-update/v5/steps/styles/add-comments.js +11 -0
  93. package/schematics/ng-update/v5/steps/styles/add-comments.js.map +1 -0
  94. package/schematics/ng-update/v5/steps/styles/index.js +9 -7
  95. package/schematics/ng-update/v5/steps/styles/index.js.map +1 -1
  96. package/schematics/ng-update/v5/steps/styles/migrate-imports.d.ts +1 -0
  97. package/schematics/ng-update/v5/steps/styles/migrate-imports.js +10 -0
  98. package/schematics/ng-update/v5/steps/styles/migrate-imports.js.map +1 -0
  99. package/schematics/ng-update/v5/steps/templates/migrate-amount-currency-align.d.ts +10 -0
  100. package/schematics/ng-update/v5/steps/templates/migrate-amount-currency-align.js +16 -0
  101. package/schematics/ng-update/v5/steps/templates/migrate-amount-currency-align.js.map +1 -0
  102. package/schematics/ng-update/v5/steps/templates/migrate-async-pipes.d.ts +8 -0
  103. package/schematics/ng-update/v5/steps/templates/migrate-async-pipes.js +30 -0
  104. package/schematics/ng-update/v5/steps/templates/migrate-async-pipes.js.map +1 -0
  105. package/schematics/ng-update/v5/steps/templates/migrate-axes.d.ts +10 -0
  106. package/schematics/ng-update/v5/steps/templates/migrate-axes.js +37 -0
  107. package/schematics/ng-update/v5/steps/templates/migrate-axes.js.map +1 -0
  108. package/schematics/ng-update/v5/steps/templates/migrate-closeable.d.ts +10 -0
  109. package/schematics/ng-update/v5/steps/templates/migrate-closeable.js +34 -0
  110. package/schematics/ng-update/v5/steps/templates/migrate-closeable.js.map +1 -0
  111. package/schematics/ng-update/v5/steps/templates/migrate-field-error.d.ts +10 -0
  112. package/schematics/ng-update/v5/steps/templates/migrate-field-error.js +60 -0
  113. package/schematics/ng-update/v5/steps/templates/migrate-field-error.js.map +1 -0
  114. package/schematics/ng-update/v5/steps/templates/migrate-repeat-times.d.ts +8 -0
  115. package/schematics/ng-update/v5/steps/templates/migrate-repeat-times.js +77 -0
  116. package/schematics/ng-update/v5/steps/templates/migrate-repeat-times.js.map +1 -0
  117. package/schematics/ng-update/v5/steps/templates/migrate-tag.d.ts +8 -0
  118. package/schematics/ng-update/v5/steps/templates/migrate-tag.js +145 -0
  119. package/schematics/ng-update/v5/steps/templates/migrate-tag.js.map +1 -0
  120. package/schematics/utils/is-service-method-call.d.ts +5 -0
  121. package/schematics/utils/is-service-method-call.js +85 -0
  122. package/schematics/utils/is-service-method-call.js.map +1 -0
  123. package/schematics/utils/remove-module.js +10 -0
  124. package/schematics/utils/remove-module.js.map +1 -1
  125. package/schematics/utils/run-migration.d.ts +4 -0
  126. package/schematics/utils/run-migration.js +14 -3
  127. package/schematics/utils/run-migration.js.map +1 -1
  128. package/schematics/utils/templates/elements.d.ts +1 -0
  129. package/schematics/utils/templates/elements.js +10 -0
  130. package/schematics/utils/templates/elements.js.map +1 -1
  131. package/utils/math/sum.d.ts +1 -1
  132. package/utils/miscellaneous/index.d.ts +0 -1
  133. package/utils/miscellaneous/set-signal.d.ts +2 -2
  134. package/schematics/ng-update/utils/replace-functions.d.ts +0 -2
  135. package/schematics/ng-update/utils/replace-functions.js +0 -19
  136. package/schematics/ng-update/utils/replace-functions.js.map +0 -1
  137. package/schematics/ng-update/v4/steps/constants/functions.d.ts +0 -2
  138. package/schematics/ng-update/v4/steps/constants/functions.js +0 -11
  139. package/schematics/ng-update/v4/steps/constants/functions.js.map +0 -1
  140. package/schematics/ng-update/v4/steps/remove-duplicates.js.map +0 -1
  141. package/schematics/ng-update/v5/steps/constants/functions.d.ts +0 -2
  142. package/schematics/ng-update/v5/steps/constants/functions.js +0 -67
  143. package/schematics/ng-update/v5/steps/constants/functions.js.map +0 -1
  144. package/utils/miscellaneous/font-size-watcher.d.ts +0 -1
@@ -4,4 +4,4 @@
4
4
  *
5
5
  * Array of icons used in ./projects
6
6
  */
7
- export declare const TUI_USED_ICONS: readonly ["@tui.mir", "@tui.visa", "@tui.electron", "@img.mastercard", "@img.maestro", "@img.amex", "@img.diners-club", "@img.discover", "@img.humo", "@img.jcb", "@img.ru-pay", "@img.union-pay", "@img.uzcard", "@img.verve", "@tui.search", "@tui.sun", "@tui.moon", "@tui.code", "@tui.menu", "@tui.copy", "@tui.check", "@tui.link", "@tui.languages", "@tui.shrink", "@tui.expand", "@tui.case-upper", "@tui.arrow-left", "@tui.eye-off", "@tui.eye", "@tui.grip-vertical", "@tui.chevron-up", "@tui.chevron-down", "@tui.chevrons-up-down", "@tui.minus", "@tui.info", "@tui.circle-check", "@tui.circle-x", "@tui.circle-alert", "@tui.circle-help", "@tui.x", "@tui.chevron-right", "@tui.ellipsis", "@tui.chevron-left", "@tui.clock", "@tui.trash", "@tui.file", "@tui.calendar", "@tui.plus", "@tui.heart", "@tui.heart-filled", "@tui.rotate-ccw-square", "@tui.arrow-right", "@tui.minimize", "@tui.star", "@tui.filter", "@tui.layout-grid"];
7
+ export declare const TUI_USED_ICONS: readonly ["@img.amex", "@img.diners-club", "@img.discover", "@img.humo", "@img.jcb", "@img.maestro", "@img.mastercard", "@img.ru-pay", "@img.union-pay", "@img.uzcard", "@img.verve", "@tui.arrow-left", "@tui.arrow-right", "@tui.calendar", "@tui.case-upper", "@tui.check", "@tui.chevron-down", "@tui.chevron-left", "@tui.chevron-right", "@tui.chevron-up", "@tui.chevrons-up-down", "@tui.circle-alert", "@tui.circle-check", "@tui.circle-help", "@tui.circle-x", "@tui.clock", "@tui.code", "@tui.copy", "@tui.electron", "@tui.ellipsis", "@tui.expand", "@tui.eye", "@tui.eye-off", "@tui.file", "@tui.filter", "@tui.grip-vertical", "@tui.heart", "@tui.heart-filled", "@tui.info", "@tui.languages", "@tui.layout-grid", "@tui.link", "@tui.menu", "@tui.minimize", "@tui.minus", "@tui.mir", "@tui.moon", "@tui.plus", "@tui.rotate-ccw-square", "@tui.search", "@tui.shrink", "@tui.star", "@tui.sun", "@tui.trash", "@tui.visa", "@tui.x"];
@@ -1 +1 @@
1
- export declare const TUI_VERSION = "5.0.0-rc.3";
1
+ export declare const TUI_VERSION = "5.0.0-rc.4";
@@ -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.0.0-rc.3';
4
+ exports.TUI_VERSION = '5.0.0-rc.4';
5
5
  //# sourceMappingURL=version.js.map
@@ -3,6 +3,7 @@ import * as i0 from "@angular/core";
3
3
  export declare const TUI_FONT_SIZE_HANDLER: InjectionToken<(size: number) => void>;
4
4
  export declare class TuiFontSize {
5
5
  private readonly handler;
6
+ private readonly enabled;
6
7
  protected readonly nothing: () => void;
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiFontSize, never>;
8
9
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiFontSize, never, never, {}, {}, never, never, true, never>;
@@ -133,65 +133,65 @@ const CHAR_ZERO_WIDTH_SPACE = '\u200B';
133
133
  * Array of icons used in ./projects
134
134
  */
135
135
  const TUI_USED_ICONS = [
136
- '@tui.mir',
137
- '@tui.visa',
138
- '@tui.electron',
139
- '@img.mastercard',
140
- '@img.maestro',
141
136
  '@img.amex',
142
137
  '@img.diners-club',
143
138
  '@img.discover',
144
139
  '@img.humo',
145
140
  '@img.jcb',
141
+ '@img.maestro',
142
+ '@img.mastercard',
146
143
  '@img.ru-pay',
147
144
  '@img.union-pay',
148
145
  '@img.uzcard',
149
146
  '@img.verve',
150
- '@tui.search',
151
- '@tui.sun',
152
- '@tui.moon',
153
- '@tui.code',
154
- '@tui.menu',
155
- '@tui.copy',
156
- '@tui.check',
157
- '@tui.link',
158
- '@tui.languages',
159
- '@tui.shrink',
160
- '@tui.expand',
161
- '@tui.case-upper',
162
147
  '@tui.arrow-left',
163
- '@tui.eye-off',
164
- '@tui.eye',
165
- '@tui.grip-vertical',
166
- '@tui.chevron-up',
148
+ '@tui.arrow-right',
149
+ '@tui.calendar',
150
+ '@tui.case-upper',
151
+ '@tui.check',
167
152
  '@tui.chevron-down',
153
+ '@tui.chevron-left',
154
+ '@tui.chevron-right',
155
+ '@tui.chevron-up',
168
156
  '@tui.chevrons-up-down',
169
- '@tui.minus',
170
- '@tui.info',
171
- '@tui.circle-check',
172
- '@tui.circle-x',
173
157
  '@tui.circle-alert',
158
+ '@tui.circle-check',
174
159
  '@tui.circle-help',
175
- '@tui.x',
176
- '@tui.chevron-right',
177
- '@tui.ellipsis',
178
- '@tui.chevron-left',
160
+ '@tui.circle-x',
179
161
  '@tui.clock',
180
- '@tui.trash',
162
+ '@tui.code',
163
+ '@tui.copy',
164
+ '@tui.electron',
165
+ '@tui.ellipsis',
166
+ '@tui.expand',
167
+ '@tui.eye',
168
+ '@tui.eye-off',
181
169
  '@tui.file',
182
- '@tui.calendar',
183
- '@tui.plus',
170
+ '@tui.filter',
171
+ '@tui.grip-vertical',
184
172
  '@tui.heart',
185
173
  '@tui.heart-filled',
186
- '@tui.rotate-ccw-square',
187
- '@tui.arrow-right',
174
+ '@tui.info',
175
+ '@tui.languages',
176
+ '@tui.layout-grid',
177
+ '@tui.link',
178
+ '@tui.menu',
188
179
  '@tui.minimize',
180
+ '@tui.minus',
181
+ '@tui.mir',
182
+ '@tui.moon',
183
+ '@tui.plus',
184
+ '@tui.rotate-ccw-square',
185
+ '@tui.search',
186
+ '@tui.shrink',
189
187
  '@tui.star',
190
- '@tui.filter',
191
- '@tui.layout-grid',
188
+ '@tui.sun',
189
+ '@tui.trash',
190
+ '@tui.visa',
191
+ '@tui.x',
192
192
  ];
193
193
 
194
- const TUI_VERSION = '5.0.0-rc.3';
194
+ const TUI_VERSION = '5.0.0-rc.4';
195
195
 
196
196
  /**
197
197
  * 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: Exclude<NodeFilter, (node: Node) => number> = {\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 '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@img.mastercard',\n '@img.maestro',\n '@img.amex',\n '@img.diners-club',\n '@img.discover',\n '@img.humo',\n '@img.jcb',\n '@img.ru-pay',\n '@img.union-pay',\n '@img.uzcard',\n '@img.verve',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.languages',\n '@tui.shrink',\n '@tui.expand',\n '@tui.case-upper',\n '@tui.arrow-left',\n '@tui.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\n '@tui.minus',\n '@tui.info',\n '@tui.circle-check',\n '@tui.circle-x',\n '@tui.circle-alert',\n '@tui.circle-help',\n '@tui.x',\n '@tui.chevron-right',\n '@tui.ellipsis',\n '@tui.chevron-left',\n '@tui.clock',\n '@tui.trash',\n '@tui.file',\n '@tui.calendar',\n '@tui.plus',\n '@tui.heart',\n '@tui.heart-filled',\n '@tui.rotate-ccw-square',\n '@tui.arrow-right',\n '@tui.minimize',\n '@tui.star',\n '@tui.filter',\n '@tui.layout-grid',\n] as const;\n","export const TUI_VERSION = '5.0.0-rc.3';\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: Exclude<NodeFilter, (node: Node) => number> = {\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.case-upper',\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.languages',\n '@tui.layout-grid',\n '@tui.link',\n '@tui.menu',\n '@tui.minimize',\n '@tui.minus',\n '@tui.mir',\n '@tui.moon',\n '@tui.plus',\n '@tui.rotate-ccw-square',\n '@tui.search',\n '@tui.shrink',\n '@tui.star',\n '@tui.sun',\n '@tui.trash',\n '@tui.visa',\n '@tui.x',\n] as const;\n","export const TUI_VERSION = '5.0.0-rc.4';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,16 +1,17 @@
1
1
  import { isPlatformBrowser, DOCUMENT } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, DestroyRef, PLATFORM_ID, Directive } from '@angular/core';
3
+ import { InjectionToken, inject, PLATFORM_ID, DestroyRef, Directive } from '@angular/core';
4
4
  import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
5
- import { tuiFontSizeWatcher } from '@taiga-ui/cdk/utils/miscellaneous';
5
+ import { tuiFontSizeWatcher } from '@taiga-ui/font-watcher';
6
6
 
7
7
  const TUI_FONT_SIZE_HANDLER = new InjectionToken(ngDevMode ? 'TUI_FONT_SIZE_HANDLER' : '');
8
8
  class TuiFontSize {
9
9
  constructor() {
10
10
  this.handler = inject(TUI_FONT_SIZE_HANDLER, { optional: true });
11
- this.nothing = inject(DestroyRef).onDestroy(this.handler &&
11
+ this.enabled = !inject(TuiFontSize, { optional: true, skipSelf: true }) &&
12
12
  isPlatformBrowser(inject(PLATFORM_ID)) &&
13
- typeof ResizeObserver !== 'undefined'
13
+ typeof ResizeObserver !== 'undefined';
14
+ this.nothing = inject(DestroyRef).onDestroy(this.enabled && this.handler
14
15
  ? tuiFontSizeWatcher(this.handler, inject(DOCUMENT).createElement('iframe'))
15
16
  : EMPTY_FUNCTION);
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-font-size.mjs","sources":["../../../projects/cdk/directives/font-size/font-size.directive.ts","../../../projects/cdk/directives/font-size/taiga-ui-cdk-directives-font-size.ts"],"sourcesContent":["import {DOCUMENT, isPlatformBrowser} from '@angular/common';\nimport {DestroyRef, Directive, inject, InjectionToken, PLATFORM_ID} from '@angular/core';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiFontSizeWatcher} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_FONT_SIZE_HANDLER = new InjectionToken<(size: number) => void>(\n ngDevMode ? 'TUI_FONT_SIZE_HANDLER' : '',\n);\n\n@Directive()\nexport class TuiFontSize {\n private readonly handler = inject(TUI_FONT_SIZE_HANDLER, {optional: true});\n protected readonly nothing = inject(DestroyRef).onDestroy(\n this.handler &&\n isPlatformBrowser(inject(PLATFORM_ID)) &&\n typeof ResizeObserver !== 'undefined'\n ? tuiFontSizeWatcher(this.handler, inject(DOCUMENT).createElement('iframe'))\n : EMPTY_FUNCTION,\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKa,MAAA,qBAAqB,GAAG,IAAI,cAAc,CACnD,SAAS,GAAG,uBAAuB,GAAG,EAAE;MAI/B,WAAW,CAAA;AADxB,IAAA,WAAA,GAAA;QAEqB,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QACvD,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CACrD,IAAI,CAAC,OAAO;AACR,YAAA,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtC,OAAO,cAAc,KAAK;AAC1B,cAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC;cACzE,cAAc,CACvB;AACJ;+GATY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-font-size.mjs","sources":["../../../projects/cdk/directives/font-size/font-size.directive.ts","../../../projects/cdk/directives/font-size/taiga-ui-cdk-directives-font-size.ts"],"sourcesContent":["import {DOCUMENT, isPlatformBrowser} from '@angular/common';\nimport {DestroyRef, Directive, inject, InjectionToken, PLATFORM_ID} from '@angular/core';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiFontSizeWatcher} from '@taiga-ui/font-watcher';\n\nexport const TUI_FONT_SIZE_HANDLER = new InjectionToken<(size: number) => void>(\n ngDevMode ? 'TUI_FONT_SIZE_HANDLER' : '',\n);\n\n@Directive()\nexport class TuiFontSize {\n private readonly handler = inject(TUI_FONT_SIZE_HANDLER, {optional: true});\n private readonly enabled =\n !inject(TuiFontSize, {optional: true, skipSelf: true}) &&\n isPlatformBrowser(inject(PLATFORM_ID)) &&\n typeof ResizeObserver !== 'undefined';\n\n protected readonly nothing = inject(DestroyRef).onDestroy(\n this.enabled && this.handler\n ? tuiFontSizeWatcher(this.handler, inject(DOCUMENT).createElement('iframe'))\n : EMPTY_FUNCTION,\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKa,MAAA,qBAAqB,GAAG,IAAI,cAAc,CACnD,SAAS,GAAG,uBAAuB,GAAG,EAAE;MAI/B,WAAW,CAAA;AADxB,IAAA,WAAA,GAAA;QAEqB,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AACzD,QAAA,IAAA,CAAA,OAAO,GACpB,CAAC,MAAM,CAAC,WAAW,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;AACtD,YAAA,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtC,OAAO,cAAc,KAAK,WAAW;AAEtB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CACrD,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;AACjB,cAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC;cACzE,cAAc,CACvB;AACJ;+GAZY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB;;;ACTD;;AAEG;;;;"}
@@ -119,10 +119,14 @@ function tuiRoundWith({ value, precision, method, }) {
119
119
  }
120
120
 
121
121
  /**
122
- * Calculates sum of any number of passed arguments
122
+ * Calculates sum of any number of passed arguments with proper floating point precision
123
123
  */
124
124
  function tuiSum(...args) {
125
- return args.reduce((a, b) => a + b, 0);
125
+ const decimal = args.map((double) => (double.toString().split('.')[1] ?? '').length);
126
+ const maxDecimal = Math.max(0, ...decimal);
127
+ const precision = 10 ** maxDecimal;
128
+ const sumInt = args.reduce((acc, n) => acc + Math.round(n * precision), 0);
129
+ return sumInt / precision;
126
130
  }
127
131
 
128
132
  function tuiToInt(bool) {
@@ -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":["/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\n/**\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","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nexport 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","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\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","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\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","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nconst 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\n */\nexport function tuiSum(...args: number[]): number {\n return args.reduce((a, b) => a + b, 0);\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":["/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\n/**\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","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nexport 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","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\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","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\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","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nconst 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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"}
@@ -57,41 +57,9 @@ function tuiEaseInOutQuad(t) {
57
57
  return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
58
58
  }
59
59
 
60
- const IFRAME = {
61
- position: 'fixed',
62
- visibility: 'hidden',
63
- pointerEvents: 'none',
64
- };
65
- const BODY = {
66
- height: 'fit-content',
67
- lineHeight: '1em',
68
- fontSize: 'calc(env(preferred-text-scale) * 1em)',
69
- };
70
- function tuiFontSizeWatcher(callback, iframe = globalThis.document.createElement('iframe')) {
71
- const resize = () => {
72
- const { innerWidth = 0, outerWidth = 0, devicePixelRatio = 0, } = iframe.ownerDocument?.defaultView || {};
73
- iframe.width = `${innerWidth === outerWidth ? innerWidth : innerWidth / devicePixelRatio}`;
74
- };
75
- iframe.ownerDocument?.body.append(iframe);
76
- iframe.ownerDocument?.defaultView?.addEventListener('resize', resize);
77
- const doc = iframe.contentDocument;
78
- const observer = new ResizeObserver(() => callback(doc?.body.offsetHeight || 0));
79
- Object.assign(iframe.style, IFRAME);
80
- Object.assign(doc?.body.style || {}, BODY);
81
- doc?.documentElement.style.setProperty('font', '-apple-system-body');
82
- doc?.body.insertAdjacentText('beforeend', '.'.repeat(1000));
83
- observer.observe(doc?.body || iframe);
84
- resize();
85
- return () => {
86
- observer.disconnect();
87
- iframe.ownerDocument?.defaultView?.removeEventListener('resize', resize);
88
- iframe.remove();
89
- };
90
- }
91
-
92
60
  let autoId = 0;
93
61
  function tuiGenerateId() {
94
- return `tui_${autoId++}${Date.now()}`;
62
+ return `tui_${autoId++}${Date.now().toString(36)}`;
95
63
  }
96
64
 
97
65
  function tuiIsNumber(value) {
@@ -265,5 +233,5 @@ function tuiWithStyles(component) {
265
233
  * Generated bundle index. Do not edit.
266
234
  */
267
235
 
268
- export { tuiArrayRemove, tuiArrayShallowEquals, tuiArrayToggle, tuiCountFilledControls, tuiDefaultSort, tuiDistanceBetweenTouches, tuiEaseInOutQuad, tuiFontSizeWatcher, tuiGenerateId, tuiIsControlEmpty, tuiIsNumber, tuiIsObject, tuiIsPresent, tuiIsString, tuiMarkControlAsTouchedAndValidate, tuiNullableSame, tuiObfuscate, tuiPx, tuiSanitizeText, tuiSetSignal, tuiWithStyles };
236
+ export { tuiArrayRemove, tuiArrayShallowEquals, tuiArrayToggle, tuiCountFilledControls, tuiDefaultSort, tuiDistanceBetweenTouches, tuiEaseInOutQuad, tuiGenerateId, tuiIsControlEmpty, tuiIsNumber, tuiIsObject, tuiIsPresent, tuiIsString, tuiMarkControlAsTouchedAndValidate, tuiNullableSame, tuiObfuscate, tuiPx, tuiSanitizeText, tuiSetSignal, tuiWithStyles };
269
237
  //# sourceMappingURL=taiga-ui-cdk-utils-miscellaneous.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-miscellaneous.mjs","sources":["../../../projects/cdk/utils/miscellaneous/array-remove.ts","../../../projects/cdk/utils/miscellaneous/array-shallow-equals.ts","../../../projects/cdk/utils/miscellaneous/array-toggle.ts","../../../projects/cdk/utils/miscellaneous/is-control-empty.ts","../../../projects/cdk/utils/miscellaneous/count-filled-controls.ts","../../../projects/cdk/utils/miscellaneous/is-string.ts","../../../projects/cdk/utils/miscellaneous/default-sort.ts","../../../projects/cdk/utils/miscellaneous/distance-between-touches.ts","../../../projects/cdk/utils/miscellaneous/ease-in-out-quad.ts","../../../projects/cdk/utils/miscellaneous/font-size-watcher.ts","../../../projects/cdk/utils/miscellaneous/generate-id.ts","../../../projects/cdk/utils/miscellaneous/is-number.ts","../../../projects/cdk/utils/miscellaneous/is-object.ts","../../../projects/cdk/utils/miscellaneous/is-present.ts","../../../projects/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","../../../projects/cdk/utils/miscellaneous/nullable-same.ts","../../../projects/cdk/utils/miscellaneous/obfuscate.ts","../../../projects/cdk/utils/miscellaneous/px.ts","../../../projects/cdk/utils/miscellaneous/sanitize-text.ts","../../../projects/cdk/utils/miscellaneous/set-signal.ts","../../../projects/cdk/utils/miscellaneous/with-styles.ts","../../../projects/cdk/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.ts"],"sourcesContent":["export function tuiArrayRemove<T>(array: readonly T[], index: number): T[] {\n return array.slice(0, Math.max(index, 0)).concat(array.slice(Math.max(index + 1, 0)));\n}\n","export function tuiArrayShallowEquals<T>(a: readonly T[], b: readonly T[]): boolean {\n return a.length === b.length && a.every((item, index) => Object.is(item, b[index]));\n}\n","import {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {tuiArrayRemove} from './array-remove';\n\nexport function tuiArrayToggle<T>(\n array: readonly T[],\n item: T,\n identity?: TuiIdentityMatcher<T>,\n): T[] {\n const index = identity\n ? array.findIndex((it) => identity(it, item))\n : array.indexOf(item);\n\n return index === -1 ? [...array, item] : tuiArrayRemove(array, index);\n}\n","import {type AbstractControl} from '@angular/forms';\n\nexport function tuiIsControlEmpty({value = null}: AbstractControl): boolean {\n return value === null || value === '' || (Array.isArray(value) && !value.length);\n}\n","import {type AbstractControl, FormArray, FormGroup} from '@angular/forms';\nimport {tuiToInt} from '@taiga-ui/cdk/utils/math';\n\nimport {tuiIsControlEmpty} from './is-control-empty';\n\nexport function tuiCountFilledControls(control: AbstractControl): number {\n if (control instanceof FormArray) {\n return control.controls.reduce(\n (acc, nestedControl) => acc + tuiCountFilledControls(nestedControl),\n 0,\n );\n }\n\n if (control instanceof FormGroup) {\n return Object.values(control.controls).reduce(\n (acc, nestedControl) => acc + tuiCountFilledControls(nestedControl),\n 0,\n );\n }\n\n return tuiToInt(!tuiIsControlEmpty(control));\n}\n","export function tuiIsString(value: unknown): value is string {\n return typeof value === 'string';\n}\n","import {tuiIsString} from './is-string';\n\nexport function tuiDefaultSort<T>(x: T, y: T): number {\n if (x === y) {\n return 0;\n }\n\n if (tuiIsString(x) && tuiIsString(y)) {\n return x.localeCompare(y, undefined, {numeric: true});\n }\n\n return x > y ? 1 : -1;\n}\n","export function tuiDistanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n (touches[0]?.clientX ?? 0) - (touches[1]?.clientX ?? 0),\n (touches[0]?.clientY ?? 0) - (touches[1]?.clientY ?? 0),\n );\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nexport function tuiEaseInOutQuad(t: number): number {\n ngDevMode &&\n console.assert(\n t >= 0 && t <= 1,\n 'Input must be between 0 and 1 inclusive but received ',\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","const IFRAME: Partial<CSSStyleDeclaration> = {\n position: 'fixed',\n visibility: 'hidden',\n pointerEvents: 'none',\n};\n\nconst BODY: Partial<CSSStyleDeclaration> = {\n height: 'fit-content',\n lineHeight: '1em',\n fontSize: 'calc(env(preferred-text-scale) * 1em)',\n};\n\nexport function tuiFontSizeWatcher(\n callback: (fontSize: number) => void,\n iframe: HTMLIFrameElement = globalThis.document.createElement('iframe'),\n): () => void {\n const resize = (): void => {\n const {\n innerWidth = 0,\n outerWidth = 0,\n devicePixelRatio = 0,\n } = iframe.ownerDocument?.defaultView || {};\n\n iframe.width = `${innerWidth === outerWidth ? innerWidth : innerWidth / devicePixelRatio}`;\n };\n\n iframe.ownerDocument?.body.append(iframe);\n iframe.ownerDocument?.defaultView?.addEventListener('resize', resize);\n\n const doc = iframe.contentDocument;\n const observer = new ResizeObserver(() => callback(doc?.body.offsetHeight || 0));\n\n Object.assign(iframe.style, IFRAME);\n Object.assign(doc?.body.style || {}, BODY);\n doc?.documentElement.style.setProperty('font', '-apple-system-body');\n doc?.body.insertAdjacentText('beforeend', '.'.repeat(1000));\n observer.observe(doc?.body || iframe);\n resize();\n\n return () => {\n observer.disconnect();\n iframe.ownerDocument?.defaultView?.removeEventListener('resize', resize);\n iframe.remove();\n };\n}\n","let autoId = 0;\n\nexport function tuiGenerateId(): string {\n return `tui_${autoId++}${Date.now()}`;\n}\n","export function tuiIsNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","export function tuiIsObject<T extends Record<string, any>>(\n value: unknown,\n): value is NonNullable<T> {\n return typeof value === 'object' && !!value;\n}\n","export function tuiIsPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","import {type AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function tuiMarkControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach((nestedControl) => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach((nestedControl) => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function tuiNullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","/**\n * Obfuscates a string by replacing certain characters with a symbol.\n *\n * @param value the input string to obfuscate\n * @param symbol the symbol for obfuscation\n * @return the obfuscated string\n *\n * The function determines which characters to obfuscate using a regular expression and the string's length:\n * - 8 or more: show first 2 and last 2 characters\n * - 4 to 7: show first and last character\n * - less than 4: obfuscate all characters\n * - obfuscates only alphanumeric characters\n */\nexport function tuiObfuscate(value: string, symbol: string): string {\n if (!value) {\n return value;\n }\n\n const match = /[\\p{L}\\p{N}]/gu;\n\n let visible = 0;\n let obfuscateIndexes: number[] = getObfuscateIndexes(value, match);\n\n if (obfuscateIndexes.length >= 8) {\n visible = 2;\n } else if (obfuscateIndexes.length >= 4) {\n visible = 1;\n }\n\n obfuscateIndexes = obfuscateIndexes.slice(visible, obfuscateIndexes.length);\n\n const lastIndex = (obfuscateIndexes.length satisfies number) - visible;\n\n obfuscateIndexes = obfuscateIndexes.slice(0, lastIndex < 0 ? 0 : lastIndex);\n\n const result = value.split('');\n\n obfuscateIndexes.forEach((index) => {\n result[index] = symbol;\n });\n\n return result.join('');\n}\n\nfunction getObfuscateIndexes(value: string, match?: RegExp): number[] {\n if (!match) {\n return Array.from({length: value.length}).map((_, index) => index);\n }\n\n const obfuscateIndexes: number[] = [];\n let matchResult;\n let count = 0;\n\n while ((matchResult = match.exec(value)) !== null && count < value.length) {\n const start = matchResult.index;\n const end = match.lastIndex - 1;\n\n for (let i = start; i <= end; i++) {\n obfuscateIndexes.push(i);\n }\n\n count++;\n }\n\n return obfuscateIndexes;\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\n/**\n * Adds 'px' to the number and turns it into a string\n */\nexport function tuiPx(value: number): string {\n ngDevMode && console.assert(Number.isFinite(value), 'Value must be finite number');\n\n return `${value}px`;\n}\n","/**\n * Sanitizes pasted or dropped text by removing invisible and control characters\n * that can appear in clipboard or drag-and-drop data.\n *\n * Removes:\n * 1. ASCII control characters (0x00–0x1F) — non-printable characters like\n * NULL, BEL, BS, CR, LF, TAB, ESC, etc.\n * 2. Extended control characters (0x7F–0x9F) — C1 control codes from ISO-8859-1,\n * often found in legacy or malformed text encodings.\n * 3. Zero-width and special Unicode characters:\n * - U+200B ZERO WIDTH SPACE\n * - U+200C ZERO WIDTH NON-JOINER\n * - U+200D ZERO WIDTH JOINER\n * - U+FEFF BYTE ORDER MARK (BOM)\n *\n * @param {string} value - The input string from clipboard or drag event.\n * @returns {string} - A cleaned string without control or invisible characters.\n *\n * @example\n * tuiSanitizeText('Hello\\u0000World\\u200B!');\n * // → \"HelloWorld!\"\n */\nexport function tuiSanitizeText(value: string): string {\n // eslint-disable-next-line no-control-regex\n const controlCharsRegex = /[\\x00-\\x1F\\x7F-\\x9F]/g;\n const zeroWidthCharsRegex = /[\\u200B-\\u200D\\uFEFF]/g;\n\n return value\n .trim()\n .replaceAll(controlCharsRegex, '')\n .replaceAll(zeroWidthCharsRegex, '');\n}\n","import {type InputSignal, type WritableSignal} from '@angular/core';\nimport {SIGNAL} from '@angular/core/primitives/signals';\n\nexport function tuiSetSignal<T>(\n signal: InputSignal<T> | WritableSignal<T>,\n value: T,\n): void {\n if ('set' in signal) {\n signal.set(value);\n } else if ('applyValueToInputSignal' in signal[SIGNAL]) {\n signal[SIGNAL].applyValueToInputSignal(signal[SIGNAL], value);\n } else {\n ngDevMode && console.assert(false, 'tuiSetSignal was called on read-only signal');\n }\n}\n","import {\n createComponent,\n DestroyRef,\n EnvironmentInjector,\n inject,\n InjectionToken,\n type Type,\n} from '@angular/core';\n\nconst MAP = new InjectionToken(ngDevMode ? 'MAP' : '', {\n factory: () => {\n const map = new Map();\n\n inject(DestroyRef).onDestroy(() =>\n map.forEach((component) => component.destroy()),\n );\n\n return map;\n },\n});\n\nexport function tuiWithStyles(component: Type<unknown>): undefined {\n const map = inject(MAP);\n const environmentInjector = inject(EnvironmentInjector);\n\n if (!map.has(component)) {\n map.set(component, createComponent(component, {environmentInjector}));\n }\n\n return undefined;\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-miscellaneous.mjs","sources":["../../../projects/cdk/utils/miscellaneous/array-remove.ts","../../../projects/cdk/utils/miscellaneous/array-shallow-equals.ts","../../../projects/cdk/utils/miscellaneous/array-toggle.ts","../../../projects/cdk/utils/miscellaneous/is-control-empty.ts","../../../projects/cdk/utils/miscellaneous/count-filled-controls.ts","../../../projects/cdk/utils/miscellaneous/is-string.ts","../../../projects/cdk/utils/miscellaneous/default-sort.ts","../../../projects/cdk/utils/miscellaneous/distance-between-touches.ts","../../../projects/cdk/utils/miscellaneous/ease-in-out-quad.ts","../../../projects/cdk/utils/miscellaneous/generate-id.ts","../../../projects/cdk/utils/miscellaneous/is-number.ts","../../../projects/cdk/utils/miscellaneous/is-object.ts","../../../projects/cdk/utils/miscellaneous/is-present.ts","../../../projects/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","../../../projects/cdk/utils/miscellaneous/nullable-same.ts","../../../projects/cdk/utils/miscellaneous/obfuscate.ts","../../../projects/cdk/utils/miscellaneous/px.ts","../../../projects/cdk/utils/miscellaneous/sanitize-text.ts","../../../projects/cdk/utils/miscellaneous/set-signal.ts","../../../projects/cdk/utils/miscellaneous/with-styles.ts","../../../projects/cdk/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.ts"],"sourcesContent":["export function tuiArrayRemove<T>(array: readonly T[], index: number): T[] {\n return array.slice(0, Math.max(index, 0)).concat(array.slice(Math.max(index + 1, 0)));\n}\n","export function tuiArrayShallowEquals<T>(a: readonly T[], b: readonly T[]): boolean {\n return a.length === b.length && a.every((item, index) => Object.is(item, b[index]));\n}\n","import {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {tuiArrayRemove} from './array-remove';\n\nexport function tuiArrayToggle<T>(\n array: readonly T[],\n item: T,\n identity?: TuiIdentityMatcher<T>,\n): T[] {\n const index = identity\n ? array.findIndex((it) => identity(it, item))\n : array.indexOf(item);\n\n return index === -1 ? [...array, item] : tuiArrayRemove(array, index);\n}\n","import {type AbstractControl} from '@angular/forms';\n\nexport function tuiIsControlEmpty({value = null}: AbstractControl): boolean {\n return value === null || value === '' || (Array.isArray(value) && !value.length);\n}\n","import {type AbstractControl, FormArray, FormGroup} from '@angular/forms';\nimport {tuiToInt} from '@taiga-ui/cdk/utils/math';\n\nimport {tuiIsControlEmpty} from './is-control-empty';\n\nexport function tuiCountFilledControls(control: AbstractControl): number {\n if (control instanceof FormArray) {\n return control.controls.reduce(\n (acc, nestedControl) => acc + tuiCountFilledControls(nestedControl),\n 0,\n );\n }\n\n if (control instanceof FormGroup) {\n return Object.values(control.controls).reduce(\n (acc, nestedControl) => acc + tuiCountFilledControls(nestedControl),\n 0,\n );\n }\n\n return tuiToInt(!tuiIsControlEmpty(control));\n}\n","export function tuiIsString(value: unknown): value is string {\n return typeof value === 'string';\n}\n","import {tuiIsString} from './is-string';\n\nexport function tuiDefaultSort<T>(x: T, y: T): number {\n if (x === y) {\n return 0;\n }\n\n if (tuiIsString(x) && tuiIsString(y)) {\n return x.localeCompare(y, undefined, {numeric: true});\n }\n\n return x > y ? 1 : -1;\n}\n","export function tuiDistanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n (touches[0]?.clientX ?? 0) - (touches[1]?.clientX ?? 0),\n (touches[0]?.clientY ?? 0) - (touches[1]?.clientY ?? 0),\n );\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nexport function tuiEaseInOutQuad(t: number): number {\n ngDevMode &&\n console.assert(\n t >= 0 && t <= 1,\n 'Input must be between 0 and 1 inclusive but received ',\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","let autoId = 0;\n\nexport function tuiGenerateId(): string {\n return `tui_${autoId++}${Date.now().toString(36)}`;\n}\n","export function tuiIsNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","export function tuiIsObject<T extends Record<string, any>>(\n value: unknown,\n): value is NonNullable<T> {\n return typeof value === 'object' && !!value;\n}\n","export function tuiIsPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","import {type AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function tuiMarkControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach((nestedControl) => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach((nestedControl) => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function tuiNullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","/**\n * Obfuscates a string by replacing certain characters with a symbol.\n *\n * @param value the input string to obfuscate\n * @param symbol the symbol for obfuscation\n * @return the obfuscated string\n *\n * The function determines which characters to obfuscate using a regular expression and the string's length:\n * - 8 or more: show first 2 and last 2 characters\n * - 4 to 7: show first and last character\n * - less than 4: obfuscate all characters\n * - obfuscates only alphanumeric characters\n */\nexport function tuiObfuscate(value: string, symbol: string): string {\n if (!value) {\n return value;\n }\n\n const match = /[\\p{L}\\p{N}]/gu;\n\n let visible = 0;\n let obfuscateIndexes: number[] = getObfuscateIndexes(value, match);\n\n if (obfuscateIndexes.length >= 8) {\n visible = 2;\n } else if (obfuscateIndexes.length >= 4) {\n visible = 1;\n }\n\n obfuscateIndexes = obfuscateIndexes.slice(visible, obfuscateIndexes.length);\n\n const lastIndex = (obfuscateIndexes.length satisfies number) - visible;\n\n obfuscateIndexes = obfuscateIndexes.slice(0, lastIndex < 0 ? 0 : lastIndex);\n\n const result = value.split('');\n\n obfuscateIndexes.forEach((index) => {\n result[index] = symbol;\n });\n\n return result.join('');\n}\n\nfunction getObfuscateIndexes(value: string, match?: RegExp): number[] {\n if (!match) {\n return Array.from({length: value.length}).map((_, index) => index);\n }\n\n const obfuscateIndexes: number[] = [];\n let matchResult;\n let count = 0;\n\n while ((matchResult = match.exec(value)) !== null && count < value.length) {\n const start = matchResult.index;\n const end = match.lastIndex - 1;\n\n for (let i = start; i <= end; i++) {\n obfuscateIndexes.push(i);\n }\n\n count++;\n }\n\n return obfuscateIndexes;\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\n/**\n * Adds 'px' to the number and turns it into a string\n */\nexport function tuiPx(value: number): string {\n ngDevMode && console.assert(Number.isFinite(value), 'Value must be finite number');\n\n return `${value}px`;\n}\n","/**\n * Sanitizes pasted or dropped text by removing invisible and control characters\n * that can appear in clipboard or drag-and-drop data.\n *\n * Removes:\n * 1. ASCII control characters (0x00–0x1F) — non-printable characters like\n * NULL, BEL, BS, CR, LF, TAB, ESC, etc.\n * 2. Extended control characters (0x7F–0x9F) — C1 control codes from ISO-8859-1,\n * often found in legacy or malformed text encodings.\n * 3. Zero-width and special Unicode characters:\n * - U+200B ZERO WIDTH SPACE\n * - U+200C ZERO WIDTH NON-JOINER\n * - U+200D ZERO WIDTH JOINER\n * - U+FEFF BYTE ORDER MARK (BOM)\n *\n * @param {string} value - The input string from clipboard or drag event.\n * @returns {string} - A cleaned string without control or invisible characters.\n *\n * @example\n * tuiSanitizeText('Hello\\u0000World\\u200B!');\n * // → \"HelloWorld!\"\n */\nexport function tuiSanitizeText(value: string): string {\n // eslint-disable-next-line no-control-regex\n const controlCharsRegex = /[\\x00-\\x1F\\x7F-\\x9F]/g;\n const zeroWidthCharsRegex = /[\\u200B-\\u200D\\uFEFF]/g;\n\n return value\n .trim()\n .replaceAll(controlCharsRegex, '')\n .replaceAll(zeroWidthCharsRegex, '');\n}\n","import {type InputSignalWithTransform, type WritableSignal} from '@angular/core';\nimport {SIGNAL} from '@angular/core/primitives/signals';\n\nexport function tuiSetSignal<T>(\n signal: InputSignalWithTransform<any, T> | WritableSignal<T>,\n value: T,\n): void {\n if ('set' in signal) {\n signal.set(value);\n } else if ('applyValueToInputSignal' in signal[SIGNAL]) {\n signal[SIGNAL].applyValueToInputSignal(signal[SIGNAL], value);\n } else {\n ngDevMode && console.assert(false, 'tuiSetSignal was called on read-only signal');\n }\n}\n","import {\n createComponent,\n DestroyRef,\n EnvironmentInjector,\n inject,\n InjectionToken,\n type Type,\n} from '@angular/core';\n\nconst MAP = new InjectionToken(ngDevMode ? 'MAP' : '', {\n factory: () => {\n const map = new Map();\n\n inject(DestroyRef).onDestroy(() =>\n map.forEach((component) => component.destroy()),\n );\n\n return map;\n },\n});\n\nexport function tuiWithStyles(component: Type<unknown>): undefined {\n const map = inject(MAP);\n const environmentInjector = inject(EnvironmentInjector);\n\n if (!map.has(component)) {\n map.set(component, createComponent(component, {environmentInjector}));\n }\n\n return undefined;\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.0.0-rc.3",
3
+ "version": "5.0.0-rc.4",
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",
@@ -209,6 +209,7 @@
209
209
  "@ng-web-apis/resize-observer": "^5.1.0",
210
210
  "@ng-web-apis/screen-orientation": "^5.1.0",
211
211
  "@taiga-ui/event-plugins": "^5.0.0",
212
+ "@taiga-ui/font-watcher": "~0.5.0",
212
213
  "@taiga-ui/polymorpheus": "^5.0.0",
213
214
  "rxjs": ">=7.0.0"
214
215
  },
@@ -226,6 +227,7 @@
226
227
  "@taiga-ui/cdk",
227
228
  "@taiga-ui/core",
228
229
  "@taiga-ui/kit",
230
+ "@taiga-ui/styles",
229
231
  "@taiga-ui/testing",
230
232
  "@taiga-ui/addon-doc",
231
233
  "@taiga-ui/addon-charts",
@@ -1,4 +1,5 @@
1
1
  import { type Pattern } from 'ng-morph';
2
- export declare const ALL_STYLE_FILES = "**/**.{less,sass,scss,css}";
2
+ export declare const ALL_STYLE_FILES: Pattern;
3
3
  export declare const ALL_TS_FILES: Pattern;
4
4
  export declare const ALL_FILES: Pattern;
5
+ export declare const PROJECT_JSON_FILES: Pattern;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALL_FILES = exports.ALL_TS_FILES = exports.ALL_STYLE_FILES = void 0;
3
+ exports.PROJECT_JSON_FILES = exports.ALL_FILES = exports.ALL_TS_FILES = exports.ALL_STYLE_FILES = void 0;
4
4
  const EXCLUDE_DIRECTORIES = [
5
5
  'e2e',
6
6
  // compiled
@@ -30,7 +30,10 @@ const EXCLUDE_FILE_PATTERNS = [
30
30
  '*__name@underscore__*',
31
31
  '*.d', // typings
32
32
  ].join('|');
33
- exports.ALL_STYLE_FILES = '**/**.{less,sass,scss,css}';
33
+ exports.ALL_STYLE_FILES = [
34
+ `!(${EXCLUDE_FILE_PATTERNS}).{less,sass,scss,css}`,
35
+ `!(${EXCLUDE_DIRECTORIES})/**/!(${EXCLUDE_FILE_PATTERNS}).{less,sass,scss,css}`,
36
+ ];
34
37
  exports.ALL_TS_FILES = [
35
38
  `!(${EXCLUDE_FILE_PATTERNS}).ts`,
36
39
  `!(${EXCLUDE_DIRECTORIES})/**/!(${EXCLUDE_FILE_PATTERNS}).ts`,
@@ -39,4 +42,10 @@ exports.ALL_FILES = [
39
42
  `!(${EXCLUDE_FILE_PATTERNS}).{html,ts,less,sass,scss,css,json}`,
40
43
  `!(${EXCLUDE_DIRECTORIES})/**/!(${EXCLUDE_FILE_PATTERNS}).{html,ts,less,sass,scss,css,json}`,
41
44
  ];
45
+ exports.PROJECT_JSON_FILES = [
46
+ 'project.json',
47
+ 'angular.json',
48
+ `!(${EXCLUDE_DIRECTORIES})/**/project.json`,
49
+ `!(${EXCLUDE_DIRECTORIES})/**/angular.json`,
50
+ ];
42
51
  //# sourceMappingURL=file-globs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-globs.js","sourceRoot":"","sources":["../../../../projects/cdk/schematics/constants/file-globs.ts"],"names":[],"mappings":";;;AAEA,MAAM,mBAAmB,GAAG;IACxB,KAAK;IACL,WAAW;IACX,SAAS;IACT,MAAM;IACN,cAAc;IACd,UAAU;IACV,KAAK;IACL,KAAK;IACL,WAAW;IACX,gBAAgB;IAChB,qBAAqB;IACrB,aAAa;IACb,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,cAAc;IACd,UAAU;IACV,MAAM;IACN,KAAK;CACR,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,qBAAqB,GAAG;IAC1B,sBAAsB;IACtB,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB;IACvB,KAAK,EAAE,UAAU;CACpB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEC,QAAA,eAAe,GAAG,4BAA4B,CAAC;AAE/C,QAAA,YAAY,GAAY;IACjC,KAAK,qBAAqB,MAAM;IAChC,KAAK,mBAAmB,UAAU,qBAAqB,MAAM;CAChE,CAAC;AACW,QAAA,SAAS,GAAY;IAC9B,KAAK,qBAAqB,qCAAqC;IAC/D,KAAK,mBAAmB,UAAU,qBAAqB,qCAAqC;CAC/F,CAAC"}
1
+ {"version":3,"file":"file-globs.js","sourceRoot":"","sources":["../../../../projects/cdk/schematics/constants/file-globs.ts"],"names":[],"mappings":";;;AAEA,MAAM,mBAAmB,GAAG;IACxB,KAAK;IACL,WAAW;IACX,SAAS;IACT,MAAM;IACN,cAAc;IACd,UAAU;IACV,KAAK;IACL,KAAK;IACL,WAAW;IACX,gBAAgB;IAChB,qBAAqB;IACrB,aAAa;IACb,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,cAAc;IACd,UAAU;IACV,MAAM;IACN,KAAK;CACR,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,qBAAqB,GAAG;IAC1B,sBAAsB;IACtB,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB;IACvB,KAAK,EAAE,UAAU;CACpB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEC,QAAA,eAAe,GAAY;IACpC,KAAK,qBAAqB,wBAAwB;IAClD,KAAK,mBAAmB,UAAU,qBAAqB,wBAAwB;CAClF,CAAC;AAEW,QAAA,YAAY,GAAY;IACjC,KAAK,qBAAqB,MAAM;IAChC,KAAK,mBAAmB,UAAU,qBAAqB,MAAM;CAChE,CAAC;AACW,QAAA,SAAS,GAAY;IAC9B,KAAK,qBAAqB,qCAAqC;IAC/D,KAAK,mBAAmB,UAAU,qBAAqB,qCAAqC;CAC/F,CAAC;AAEW,QAAA,kBAAkB,GAAY;IACvC,cAAc;IACd,cAAc;IACd,KAAK,mBAAmB,mBAAmB;IAC3C,KAAK,mBAAmB,mBAAmB;CAC9C,CAAC"}
@@ -1 +1 @@
1
- export declare const TAIGA_VERSION = "^5.0.0-rc.3";
1
+ export declare const TAIGA_VERSION = "^5.0.0-rc.4";
@@ -19,8 +19,8 @@ function addTuiModules({ mainClass, context, }) {
19
19
  (0, ng_morph_1.addImportToNgModule)(mainClass, module.name, { unique: true });
20
20
  (0, add_unique_import_1.addUniqueImport)(mainModulePath, module.name, module.packageName);
21
21
  });
22
- (0, ng_morph_1.addProviderToNgModule)(mainClass, 'provideEventPlugins()', { unique: true });
23
- (0, add_unique_import_1.addUniqueImport)(mainModulePath, 'provideEventPlugins', '@taiga-ui/event-plugins');
22
+ (0, ng_morph_1.addProviderToNgModule)(mainClass, 'provideTaiga()', { unique: true });
23
+ (0, add_unique_import_1.addUniqueImport)(mainModulePath, 'provideTaiga', '@taiga-ui/core');
24
24
  context.logger.info(`${modules.map((module) => module.name)} was added to ${mainModulePath}`);
25
25
  }
26
26
  function addTuiEntitiesToStandalone({ bootstrapFunction, options, context, }) {
@@ -39,9 +39,9 @@ function addTuiEntitiesToStandalone({ bootstrapFunction, options, context, }) {
39
39
  }
40
40
  }
41
41
  function addRootTuiProvidersToBootstrapFn(bootstrapOptions) {
42
- (0, push_to_array_property_1.pushToObjectArrayProperty)(bootstrapOptions, 'providers', 'provideEventPlugins()');
42
+ (0, push_to_array_property_1.pushToObjectArrayProperty)(bootstrapOptions, 'providers', 'provideTaiga()');
43
43
  const modules = [];
44
- modules.push({ name: 'provideEventPlugins', packageName: '@taiga-ui/event-plugins' });
44
+ modules.push({ name: 'provideTaiga', packageName: '@taiga-ui/core' });
45
45
  modules.forEach(({ name, packageName }) => {
46
46
  (0, add_unique_import_1.addUniqueImport)(bootstrapOptions.getSourceFile().getFilePath(), name, packageName);
47
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"add-taiga-modules.js","sourceRoot":"","sources":["../../../../../projects/cdk/schematics/ng-add/steps/add-taiga-modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-taiga-modules.js","sourceRoot":"","sources":["../../../../../projects/cdk/schematics/ng-add/steps/add-taiga-modules.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { type Element } from 'parse5/dist/tree-adapters/default';
1
+ import { type DefaultTreeAdapterTypes } from 'parse5';
2
+ type Element = DefaultTreeAdapterTypes.Element;
2
3
  export interface HtmlComment {
3
4
  readonly tag?: string;
4
5
  readonly withAttrs?: string[];
@@ -6,3 +7,4 @@ export interface HtmlComment {
6
7
  readonly comment: string;
7
8
  filterFn?(element: Element): boolean;
8
9
  }
10
+ export {};
@@ -1,6 +1,8 @@
1
- import { type Element } from 'parse5/dist/tree-adapters/default';
1
+ import { type DefaultTreeAdapterTypes } from 'parse5';
2
+ type Element = DefaultTreeAdapterTypes.Element;
2
3
  export interface RemovableInput {
3
4
  readonly inputName: string;
4
5
  readonly tags: string[];
5
6
  filterFn?(element: Element): boolean;
6
7
  }
8
+ export {};
@@ -0,0 +1,10 @@
1
+ export interface ReplacementFunctionParameter {
2
+ readonly names: string[];
3
+ readonly moduleSpecifier?: string[] | string;
4
+ readonly parameterName: string;
5
+ readonly newParameterName?: string;
6
+ readonly valueReplacer?: Array<{
7
+ readonly from: string;
8
+ readonly to: string;
9
+ }>;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=replacement-function-parameter.js.map