@taiga-ui/cdk 4.0.0-rc.2 → 4.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 (192) hide show
  1. package/classes/control.d.ts +1 -1
  2. package/constants/used-icons.d.ts +1 -1
  3. package/constants/version.d.ts +1 -1
  4. package/constants/version.js +1 -1
  5. package/directives/auto-focus/autofocus.options.d.ts +1 -1
  6. package/directives/for/for.directive.d.ts +3 -3
  7. package/directives/platform/platform.directive.d.ts +1 -1
  8. package/directives/value-changes/value-changes.directive.d.ts +3 -3
  9. package/esm2022/classes/control.mjs +2 -2
  10. package/esm2022/constants/used-icons.mjs +5 -5
  11. package/esm2022/constants/version.mjs +2 -2
  12. package/esm2022/directives/active-zone/active-zone.directive.mjs +2 -2
  13. package/esm2022/directives/auto-focus/handlers/ios.handler.mjs +3 -3
  14. package/esm2022/directives/click-outside/click-outside.directive.mjs +2 -2
  15. package/esm2022/directives/droppable/droppable.directive.mjs +3 -3
  16. package/esm2022/directives/for/for.directive.mjs +6 -6
  17. package/esm2022/directives/hovered/hovered.service.mjs +2 -2
  18. package/esm2022/directives/obscured/obscured.directive.mjs +2 -2
  19. package/esm2022/directives/obscured/obscured.service.mjs +2 -2
  20. package/esm2022/directives/pan/pan.service.mjs +2 -2
  21. package/esm2022/directives/platform/platform.directive.mjs +6 -6
  22. package/esm2022/directives/swipe/swipe.service.mjs +2 -2
  23. package/esm2022/directives/value-changes/value-changes.directive.mjs +6 -6
  24. package/esm2022/directives/zoom/zoom.service.mjs +4 -4
  25. package/esm2022/observables/control-value.mjs +2 -2
  26. package/esm2022/observables/drag-and-drop-from.mjs +2 -2
  27. package/esm2022/observables/events.mjs +3 -3
  28. package/esm2022/observables/if-map.mjs +2 -2
  29. package/esm2022/observables/must-be-present.mjs +2 -2
  30. package/esm2022/observables/zone.mjs +4 -4
  31. package/esm2022/pipes/filter/filter.pipe.mjs +2 -2
  32. package/esm2022/services/popover.service.mjs +3 -3
  33. package/esm2022/services/scroll.service.mjs +2 -2
  34. package/esm2022/services/static-request.service.mjs +1 -1
  35. package/esm2022/tokens/active-element.mjs +3 -3
  36. package/esm2022/tokens/removed-element.mjs +2 -2
  37. package/esm2022/utils/color/get-gradient-data.mjs +6 -0
  38. package/esm2022/utils/color/hex-to-rgb.mjs +2 -2
  39. package/esm2022/utils/color/index.mjs +3 -1
  40. package/esm2022/utils/color/parse-color.mjs +3 -3
  41. package/esm2022/utils/color/parse-gradient.mjs +70 -0
  42. package/esm2022/utils/color/rgb-to-hex.mjs +2 -2
  43. package/esm2022/utils/dom/get-element-obscurers.mjs +2 -2
  44. package/esm2022/utils/dom/get-element-point.mjs +6 -0
  45. package/esm2022/utils/dom/index.mjs +2 -1
  46. package/esm2022/utils/focus/focused-in.mjs +7 -0
  47. package/esm2022/utils/focus/index.mjs +2 -1
  48. package/esm2022/utils/miscellaneous/mark-control-as-touched-and-validate.mjs +3 -3
  49. package/esm2022/utils/miscellaneous/with-styles.mjs +2 -2
  50. package/fesm2022/taiga-ui-cdk-classes.mjs +1 -1
  51. package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-cdk-constants.mjs +5 -5
  53. package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs +1 -1
  55. package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +2 -2
  57. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs +1 -1
  59. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs +2 -2
  61. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-cdk-directives-for.mjs +5 -5
  63. package/fesm2022/taiga-ui-cdk-directives-for.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-cdk-directives-hovered.mjs +1 -1
  65. package/fesm2022/taiga-ui-cdk-directives-hovered.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +2 -2
  67. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-cdk-directives-pan.mjs +1 -1
  69. package/fesm2022/taiga-ui-cdk-directives-pan.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-cdk-directives-platform.mjs +5 -5
  71. package/fesm2022/taiga-ui-cdk-directives-platform.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +1 -1
  73. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs +5 -5
  75. package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +3 -3
  77. package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-cdk-observables.mjs +9 -9
  79. package/fesm2022/taiga-ui-cdk-observables.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-cdk-pipes-filter.mjs +1 -1
  81. package/fesm2022/taiga-ui-cdk-pipes-filter.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-cdk-services.mjs +3 -3
  83. package/fesm2022/taiga-ui-cdk-services.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-cdk-tokens.mjs +3 -3
  85. package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-cdk-utils-color.mjs +80 -5
  87. package/fesm2022/taiga-ui-cdk-utils-color.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-cdk-utils-dom.mjs +7 -2
  89. package/fesm2022/taiga-ui-cdk-utils-dom.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-cdk-utils-focus.mjs +8 -2
  91. package/fesm2022/taiga-ui-cdk-utils-focus.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +3 -3
  93. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
  94. package/package.json +6 -6
  95. package/schematics/ng-add/index.js +1 -1
  96. package/schematics/ng-add/steps/add-taiga-icons.js +1 -1
  97. package/schematics/ng-add/steps/add-taiga-modules.js +3 -3
  98. package/schematics/ng-update/steps/icons/replace-imports.js +5 -5
  99. package/schematics/ng-update/steps/index.d.ts +1 -0
  100. package/schematics/ng-update/steps/index.js +1 -0
  101. package/schematics/ng-update/steps/remove-module.js +2 -2
  102. package/schematics/ng-update/steps/rename-types.js +2 -2
  103. package/schematics/ng-update/steps/replace-deep-import.js +2 -2
  104. package/schematics/ng-update/steps/replace-enums.js +2 -2
  105. package/schematics/ng-update/steps/replace-identifier.js +1 -1
  106. package/schematics/ng-update/steps/replace-package-name.d.ts +5 -0
  107. package/schematics/ng-update/steps/replace-package-name.js +19 -0
  108. package/schematics/ng-update/steps/replace-services.js +5 -5
  109. package/schematics/ng-update/steps/show-warnings.js +4 -4
  110. package/schematics/ng-update/utils/replace-text.js +1 -1
  111. package/schematics/ng-update/utils/templates/replace-attr-values.js +3 -3
  112. package/schematics/ng-update/utils/templates/replace-attrs.js +1 -1
  113. package/schematics/ng-update/utils/templates/template-comments.js +4 -2
  114. package/schematics/ng-update/v3/constants/templates.js +9 -9
  115. package/schematics/ng-update/v3/index.js +1 -1
  116. package/schematics/ng-update/v3/steps/migrate-date-time.js +10 -10
  117. package/schematics/ng-update/v3/steps/migrate-polymorpheus.js +8 -8
  118. package/schematics/ng-update/v3/steps/migrate-progress.js +4 -4
  119. package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-range.js +3 -3
  120. package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-slider.js +4 -4
  121. package/schematics/ng-update/v3/steps/migrate-taiga-proprietary-icons.js +2 -2
  122. package/schematics/ng-update/v3/steps/migrate-templates.js +16 -16
  123. package/schematics/ng-update/v3/steps/migrate-textfield-controller.js +8 -8
  124. package/schematics/ng-update/v3/steps/miscellaneous.js +5 -5
  125. package/schematics/ng-update/v3/steps/replace-functions.js +12 -12
  126. package/schematics/ng-update/v3/steps/replace-styles.js +2 -2
  127. package/schematics/ng-update/v3-36/index.js +7 -17
  128. package/schematics/ng-update/v3-40/index.js +1 -1
  129. package/schematics/ng-update/v3-5/steps/migrate-expand-templates.js +4 -4
  130. package/schematics/ng-update/v4/index.js +9 -6
  131. package/schematics/ng-update/v4/migrate-css-vars/palette.d.ts +11 -2
  132. package/schematics/ng-update/v4/migrate-css-vars/palette.js +18 -8
  133. package/schematics/ng-update/v4/migrate-css-vars/rename-css-vars.js +10 -2
  134. package/schematics/ng-update/v4/migrate-icons/index.js +8 -6
  135. package/schematics/ng-update/v4/migrate-icons/rename-icons.js +2 -2
  136. package/schematics/ng-update/v4/migrate-icons/rename-proprietary-icons.d.ts +2 -0
  137. package/schematics/ng-update/v4/migrate-icons/rename-proprietary-icons.js +66 -0
  138. package/schematics/ng-update/v4/steps/constants/attr-to-directive-replace.js +2 -2
  139. package/schematics/ng-update/v4/steps/constants/attr-with-values-to-replace.js +9 -1
  140. package/schematics/ng-update/v4/steps/constants/attrs-to-replace.js +10 -9
  141. package/schematics/ng-update/v4/steps/constants/enums.js +31 -0
  142. package/schematics/ng-update/v4/steps/constants/html-comments.js +10 -0
  143. package/schematics/ng-update/v4/steps/constants/identifiers-to-replace.js +180 -118
  144. package/schematics/ng-update/v4/steps/constants/inputs-to-remove.js +1 -1
  145. package/schematics/ng-update/v4/steps/constants/migration-warnings.js +5 -0
  146. package/schematics/ng-update/v4/steps/constants/modules-to-remove.js +8 -0
  147. package/schematics/ng-update/v4/steps/constants/modules-to-replace.d.ts +12 -0
  148. package/schematics/ng-update/v4/steps/constants/modules-to-replace.js +15 -0
  149. package/schematics/ng-update/v4/steps/constants/tags-to-replace.js +5 -4
  150. package/schematics/ng-update/v4/steps/constants/types.js +6 -0
  151. package/schematics/ng-update/v4/steps/index.d.ts +4 -0
  152. package/schematics/ng-update/v4/steps/index.js +4 -0
  153. package/schematics/ng-update/v4/steps/migrate-all-country-iso-codes.js +1 -1
  154. package/schematics/ng-update/v4/steps/migrate-destroy-service.js +7 -4
  155. package/schematics/ng-update/v4/steps/migrate-legacy-mask.js +2 -2
  156. package/schematics/ng-update/v4/steps/migrate-option-providers.js +2 -2
  157. package/schematics/ng-update/v4/steps/migrate-proprietary.js +3 -3
  158. package/schematics/ng-update/v4/steps/migrate-styles.js +1 -1
  159. package/schematics/ng-update/v4/steps/migrate-templates.js +1 -1
  160. package/schematics/ng-update/v4/steps/templates/migrate-avatar.js +24 -6
  161. package/schematics/ng-update/v4/steps/templates/migrate-badge.js +4 -4
  162. package/schematics/ng-update/v4/steps/templates/migrate-expandable.js +2 -2
  163. package/schematics/ng-update/v4/steps/templates/migrate-focusable.js +1 -1
  164. package/schematics/ng-update/v4/steps/templates/migrate-labeled.js +1 -3
  165. package/schematics/ng-update/v4/steps/templates/migrate-money.js +1 -1
  166. package/schematics/ng-update/v4/steps/templates/migrate-thumbnail-card.js +1 -1
  167. package/schematics/ng-update/v4/steps/templates/toggles/common.d.ts +1 -1
  168. package/schematics/ng-update/v4/steps/templates/toggles/common.js +3 -3
  169. package/schematics/ng-update/v4/steps/update-packages.d.ts +4 -0
  170. package/schematics/ng-update/v4/steps/update-packages.js +29 -0
  171. package/schematics/ng-update/v4/steps/utils/remove-attrs.js +1 -1
  172. package/schematics/ng-update/v4/steps/utils/replace-modules-with-providers.d.ts +13 -0
  173. package/schematics/ng-update/v4/steps/utils/replace-modules-with-providers.js +47 -0
  174. package/schematics/ng-update/v4/steps/utils/replace-substrings.js +1 -1
  175. package/schematics/ng-update/v4/tests/migrate-destroy-service/utils.js +1 -0
  176. package/schematics/utils/add-unique-import.js +1 -1
  177. package/schematics/utils/angular-json-manipulations.js +4 -4
  178. package/schematics/utils/get-named-import-references.js +4 -4
  179. package/schematics/utils/get-standalone-bootstrap-function.js +2 -2
  180. package/schematics/utils/import-manipulations.js +1 -1
  181. package/schematics/utils/push-to-array-property.js +1 -1
  182. package/schematics/utils/templates/elements.js +16 -13
  183. package/schematics/utils/templates/get-component-templates.js +1 -1
  184. package/schematics/utils/templates/inputs.js +1 -1
  185. package/schematics/utils/templates/ng-component-input-manipulations.js +5 -5
  186. package/utils/color/get-gradient-data.d.ts +1 -0
  187. package/utils/color/index.d.ts +2 -0
  188. package/utils/color/parse-gradient.d.ts +10 -0
  189. package/utils/dom/get-element-point.d.ts +2 -0
  190. package/utils/dom/index.d.ts +1 -0
  191. package/utils/focus/focused-in.d.ts +2 -0
  192. package/utils/focus/index.d.ts +1 -0
@@ -5,7 +5,7 @@ export function tuiParseColor(color) {
5
5
  .replace('rgba(', '')
6
6
  .replace('rgb(', '')
7
7
  .replace(')', '');
8
- const array = stripped.split(',').map(item => parseFloat(item));
8
+ const array = stripped.split(',').map((item) => parseFloat(item));
9
9
  if (array.length === 4) {
10
10
  return array;
11
11
  }
@@ -16,7 +16,7 @@ export function tuiParseColor(color) {
16
16
  if (!matches) {
17
17
  return DEFAULT;
18
18
  }
19
- const parsed = matches.map(char => parseInt(stripped.length % 2 ? char + char : char, 16));
19
+ const parsed = matches.map((char) => parseInt(stripped.length % 2 ? char + char : char, 16));
20
20
  return [
21
21
  parsed[0] || DEFAULT[0],
22
22
  parsed[1] || DEFAULT[1],
@@ -24,4 +24,4 @@ export function tuiParseColor(color) {
24
24
  parsed[3] === undefined ? DEFAULT[3] : parsed[3],
25
25
  ];
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvcGFyc2UtY29sb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLEdBQXFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFL0QsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFhO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLEtBQUs7U0FDakIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7U0FDaEIsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDcEIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7U0FDbkIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRWhFLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDcEIsT0FBTyxLQUF5QyxDQUFDO0tBQ3BEO0lBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNwQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFxQyxDQUFDO0tBQzlEO0lBRUQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUUvRSxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1YsT0FBTyxPQUFPLENBQUM7S0FDbEI7SUFFRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzlCLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUN6RCxDQUFDO0lBRUYsT0FBTztRQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztLQUNuRCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IERFRkFVTFQ6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzAsIDAsIDAsIDFdO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpUGFyc2VDb2xvcihjb2xvcjogc3RyaW5nKTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICAgIGNvbnN0IHN0cmlwcGVkID0gY29sb3JcbiAgICAgICAgLnJlcGxhY2UoJyMnLCAnJylcbiAgICAgICAgLnJlcGxhY2UoJ3JnYmEoJywgJycpXG4gICAgICAgIC5yZXBsYWNlKCdyZ2IoJywgJycpXG4gICAgICAgIC5yZXBsYWNlKCcpJywgJycpO1xuICAgIGNvbnN0IGFycmF5ID0gc3RyaXBwZWQuc3BsaXQoJywnKS5tYXAoaXRlbSA9PiBwYXJzZUZsb2F0KGl0ZW0pKTtcblxuICAgIGlmIChhcnJheS5sZW5ndGggPT09IDQpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5IGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICAgIH1cblxuICAgIGlmIChhcnJheS5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5LmNvbmNhdCgxKSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaGVzID0gc3RyaXBwZWQubWF0Y2gobmV3IFJlZ0V4cChgKC57JHtzdHJpcHBlZC5sZW5ndGggLyAzfX0pYCwgJ2cnKSk7XG5cbiAgICBpZiAoIW1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIERFRkFVTFQ7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkID0gbWF0Y2hlcy5tYXAoY2hhciA9PlxuICAgICAgICBwYXJzZUludChzdHJpcHBlZC5sZW5ndGggJSAyID8gY2hhciArIGNoYXIgOiBjaGFyLCAxNiksXG4gICAgKTtcblxuICAgIHJldHVybiBbXG4gICAgICAgIHBhcnNlZFswXSB8fCBERUZBVUxUWzBdLFxuICAgICAgICBwYXJzZWRbMV0gfHwgREVGQVVMVFsxXSxcbiAgICAgICAgcGFyc2VkWzJdIHx8IERFRkFVTFRbMl0sXG4gICAgICAgIHBhcnNlZFszXSA9PT0gdW5kZWZpbmVkID8gREVGQVVMVFszXSA6IHBhcnNlZFszXSxcbiAgICBdO1xufVxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvcGFyc2UtY29sb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLEdBQXFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFL0QsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFhO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLEtBQUs7U0FDakIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7U0FDaEIsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDcEIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7U0FDbkIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFbEUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNwQixPQUFPLEtBQXlDLENBQUM7S0FDcEQ7SUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3BCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQXFDLENBQUM7S0FDOUQ7SUFFRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRS9FLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDVixPQUFPLE9BQU8sQ0FBQztLQUNsQjtJQUVELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNoQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FDekQsQ0FBQztJQUVGLE9BQU87UUFDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7S0FDbkQsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBERUZBVUxUOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSA9IFswLCAwLCAwLCAxXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVBhcnNlQ29sb3IoY29sb3I6IHN0cmluZyk6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdIHtcbiAgICBjb25zdCBzdHJpcHBlZCA9IGNvbG9yXG4gICAgICAgIC5yZXBsYWNlKCcjJywgJycpXG4gICAgICAgIC5yZXBsYWNlKCdyZ2JhKCcsICcnKVxuICAgICAgICAucmVwbGFjZSgncmdiKCcsICcnKVxuICAgICAgICAucmVwbGFjZSgnKScsICcnKTtcbiAgICBjb25zdCBhcnJheSA9IHN0cmlwcGVkLnNwbGl0KCcsJykubWFwKChpdGVtKSA9PiBwYXJzZUZsb2F0KGl0ZW0pKTtcblxuICAgIGlmIChhcnJheS5sZW5ndGggPT09IDQpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5IGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICAgIH1cblxuICAgIGlmIChhcnJheS5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5LmNvbmNhdCgxKSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaGVzID0gc3RyaXBwZWQubWF0Y2gobmV3IFJlZ0V4cChgKC57JHtzdHJpcHBlZC5sZW5ndGggLyAzfX0pYCwgJ2cnKSk7XG5cbiAgICBpZiAoIW1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIERFRkFVTFQ7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkID0gbWF0Y2hlcy5tYXAoKGNoYXIpID0+XG4gICAgICAgIHBhcnNlSW50KHN0cmlwcGVkLmxlbmd0aCAlIDIgPyBjaGFyICsgY2hhciA6IGNoYXIsIDE2KSxcbiAgICApO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICAgcGFyc2VkWzBdIHx8IERFRkFVTFRbMF0sXG4gICAgICAgIHBhcnNlZFsxXSB8fCBERUZBVUxUWzFdLFxuICAgICAgICBwYXJzZWRbMl0gfHwgREVGQVVMVFsyXSxcbiAgICAgICAgcGFyc2VkWzNdID09PSB1bmRlZmluZWQgPyBERUZBVUxUWzNdIDogcGFyc2VkWzNdLFxuICAgIF07XG59XG4iXX0=
@@ -0,0 +1,70 @@
1
+ import { tuiParseColor } from './parse-color';
2
+ //
3
+ // TypeScript parser based on Dean Taylor's answer:
4
+ // https://stackoverflow.com/a/20238168/2706426
5
+ //
6
+ // SETUP CODE
7
+ const COMMA = '\\s*,\\s*'; // Allow space around comma.
8
+ const HEX = '#(?:[a-f0-9]{6}|[a-f0-9]{3})'; // 3 or 6 character form
9
+ const RGB = '\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*\\)'; // "(1, 2, 3)"
10
+ const RGBA = '\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*,\\s*\\d*\\.?\\d+\\)'; // "(1, 2, 3, 4)"
11
+ const VALUE = '(?:[+-]?\\d*\\.?\\d+)(?:%|[a-z]+)?'; // ".9", "-5px", "100%".
12
+ const KEYWORD = '[_a-z-][_a-z0-9-]*'; // "red", "transparent", "border-collapse".
13
+ const COLOR = [
14
+ '(?:',
15
+ HEX,
16
+ '|',
17
+ '(?:rgb|hsl)',
18
+ RGB,
19
+ '|',
20
+ '(?:rgba|hsla)',
21
+ RGBA,
22
+ '|',
23
+ KEYWORD,
24
+ ')',
25
+ ];
26
+ const REGEXP_ARRAY = [
27
+ '\\s*(',
28
+ ...COLOR,
29
+ ')',
30
+ '(?:\\s+',
31
+ '(',
32
+ VALUE,
33
+ '))?',
34
+ '(?:',
35
+ COMMA,
36
+ '\\s*)?',
37
+ ];
38
+ function getPosition(match, stops) {
39
+ const fallback = stops === 1 ? '100%' : `${stops}%`;
40
+ return match?.includes('%') ? match : fallback;
41
+ }
42
+ export function tuiParseGradient(input) {
43
+ const stopsRegexp = new RegExp(REGEXP_ARRAY.join(''), 'gi');
44
+ const stopsString = input.startsWith('to') || input.match(/^\d/)
45
+ ? input.slice(Math.max(0, input.indexOf(',') + 1)).trim()
46
+ : input;
47
+ const side = input.startsWith('to')
48
+ ? input.split(',')[0]
49
+ : 'to bottom';
50
+ let stops = [];
51
+ let matchColorStop = stopsRegexp.exec(stopsString);
52
+ while (matchColorStop !== null) {
53
+ stops = stops.concat({
54
+ color: matchColorStop[1],
55
+ position: getPosition(matchColorStop[2], stops.length),
56
+ });
57
+ matchColorStop = stopsRegexp.exec(stopsString);
58
+ }
59
+ stops = stops.filter(({ color }) => color.startsWith('#') || color.startsWith('rgb'));
60
+ return {
61
+ stops,
62
+ side,
63
+ };
64
+ }
65
+ export function tuiToGradient({ stops, side }) {
66
+ return `linear-gradient(${side}, ${stops
67
+ .map(({ color, position }) => `rgba(${tuiParseColor(color).join(', ')}) ${position}`)
68
+ .join(', ')})`;
69
+ }
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZ3JhZGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvcGFyc2UtZ3JhZGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQW9CNUMsRUFBRTtBQUNGLG1EQUFtRDtBQUNuRCwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLGFBQWE7QUFDYixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyw0QkFBNEI7QUFDdkQsTUFBTSxHQUFHLEdBQUcsOEJBQThCLENBQUMsQ0FBQyx3QkFBd0I7QUFDcEUsTUFBTSxHQUFHLEdBQUcsZ0RBQWdELENBQUMsQ0FBQyxjQUFjO0FBQzVFLE1BQU0sSUFBSSxHQUFHLGlFQUFpRSxDQUFDLENBQUMsaUJBQWlCO0FBQ2pHLE1BQU0sS0FBSyxHQUFHLG9DQUFvQyxDQUFDLENBQUMsd0JBQXdCO0FBQzVFLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLENBQUMsMkNBQTJDO0FBQ2pGLE1BQU0sS0FBSyxHQUFHO0lBQ1YsS0FBSztJQUNMLEdBQUc7SUFDSCxHQUFHO0lBQ0gsYUFBYTtJQUNiLEdBQUc7SUFDSCxHQUFHO0lBQ0gsZUFBZTtJQUNmLElBQUk7SUFDSixHQUFHO0lBQ0gsT0FBTztJQUNQLEdBQUc7Q0FDTixDQUFDO0FBQ0YsTUFBTSxZQUFZLEdBQUc7SUFDakIsT0FBTztJQUNQLEdBQUcsS0FBSztJQUNSLEdBQUc7SUFDSCxTQUFTO0lBQ1QsR0FBRztJQUNILEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxRQUFRO0NBQ1gsQ0FBQztBQUVGLFNBQVMsV0FBVyxDQUFDLEtBQWEsRUFBRSxLQUFhO0lBQzdDLE1BQU0sUUFBUSxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQztJQUVwRCxPQUFPLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYTtJQUMxQyxNQUFNLFdBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELE1BQU0sV0FBVyxHQUNiLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtRQUN6RCxDQUFDLENBQUMsS0FBSyxDQUFDO0lBRWhCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQy9CLENBQUMsQ0FBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBMEI7UUFDL0MsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNsQixJQUFJLEtBQUssR0FBK0IsRUFBRSxDQUFDO0lBRTNDLElBQUksY0FBYyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFbkQsT0FBTyxjQUFjLEtBQUssSUFBSSxFQUFFO1FBQzVCLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pCLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDekQsQ0FBQyxDQUFDO1FBRUgsY0FBYyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDbEQ7SUFFRCxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBRXBGLE9BQU87UUFDSCxLQUFLO1FBQ0wsSUFBSTtLQUNQLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQW9CO0lBQzFELE9BQU8sbUJBQW1CLElBQUksS0FBSyxLQUFLO1NBQ25DLEdBQUcsQ0FDQSxDQUFDLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssUUFBUSxFQUFFLENBQ2hGO1NBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpUGFyc2VDb2xvcn0gZnJvbSAnLi9wYXJzZS1jb2xvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpUGFyc2VkR3JhZGllbnQge1xuICAgIHJlYWRvbmx5IHNpZGU6IFR1aUdyYWRpZW50RGlyZWN0aW9uO1xuICAgIHJlYWRvbmx5IHN0b3BzOiBSZWFkb25seUFycmF5PHtcbiAgICAgICAgcmVhZG9ubHkgY29sb3I6IHN0cmluZztcbiAgICAgICAgcmVhZG9ubHkgcG9zaXRpb246IHN0cmluZztcbiAgICB9Pjtcbn1cblxuZXhwb3J0IHR5cGUgVHVpR3JhZGllbnREaXJlY3Rpb24gPVxuICAgIHwgJ3RvIGJvdHRvbSBsZWZ0J1xuICAgIHwgJ3RvIGJvdHRvbSByaWdodCdcbiAgICB8ICd0byBib3R0b20nXG4gICAgfCAndG8gbGVmdCdcbiAgICB8ICd0byByaWdodCdcbiAgICB8ICd0byB0b3AgbGVmdCdcbiAgICB8ICd0byB0b3AgcmlnaHQnXG4gICAgfCAndG8gdG9wJztcblxuLy9cbi8vIFR5cGVTY3JpcHQgcGFyc2VyIGJhc2VkIG9uIERlYW4gVGF5bG9yJ3MgYW5zd2VyOlxuLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzIwMjM4MTY4LzI3MDY0MjZcbi8vXG4vLyBTRVRVUCBDT0RFXG5jb25zdCBDT01NQSA9ICdcXFxccyosXFxcXHMqJzsgLy8gQWxsb3cgc3BhY2UgYXJvdW5kIGNvbW1hLlxuY29uc3QgSEVYID0gJyMoPzpbYS1mMC05XXs2fXxbYS1mMC05XXszfSknOyAvLyAzIG9yIDYgY2hhcmFjdGVyIGZvcm1cbmNvbnN0IFJHQiA9ICdcXFxcKFxcXFxzKig/OlxcXFxkezEsM31cXFxccyosXFxcXHMqKXsyfVxcXFxkezEsM31cXFxccypcXFxcKSc7IC8vIFwiKDEsIDIsIDMpXCJcbmNvbnN0IFJHQkEgPSAnXFxcXChcXFxccyooPzpcXFxcZHsxLDN9XFxcXHMqLFxcXFxzKil7Mn1cXFxcZHsxLDN9XFxcXHMqLFxcXFxzKlxcXFxkKlxcXFwuP1xcXFxkK1xcXFwpJzsgLy8gXCIoMSwgMiwgMywgNClcIlxuY29uc3QgVkFMVUUgPSAnKD86WystXT9cXFxcZCpcXFxcLj9cXFxcZCspKD86JXxbYS16XSspPyc7IC8vIFwiLjlcIiwgXCItNXB4XCIsIFwiMTAwJVwiLlxuY29uc3QgS0VZV09SRCA9ICdbX2Etei1dW19hLXowLTktXSonOyAvLyBcInJlZFwiLCBcInRyYW5zcGFyZW50XCIsIFwiYm9yZGVyLWNvbGxhcHNlXCIuXG5jb25zdCBDT0xPUiA9IFtcbiAgICAnKD86JyxcbiAgICBIRVgsXG4gICAgJ3wnLFxuICAgICcoPzpyZ2J8aHNsKScsXG4gICAgUkdCLFxuICAgICd8JyxcbiAgICAnKD86cmdiYXxoc2xhKScsXG4gICAgUkdCQSxcbiAgICAnfCcsXG4gICAgS0VZV09SRCxcbiAgICAnKScsXG5dO1xuY29uc3QgUkVHRVhQX0FSUkFZID0gW1xuICAgICdcXFxccyooJyxcbiAgICAuLi5DT0xPUixcbiAgICAnKScsXG4gICAgJyg/OlxcXFxzKycsXG4gICAgJygnLFxuICAgIFZBTFVFLFxuICAgICcpKT8nLFxuICAgICcoPzonLFxuICAgIENPTU1BLFxuICAgICdcXFxccyopPycsXG5dO1xuXG5mdW5jdGlvbiBnZXRQb3NpdGlvbihtYXRjaDogc3RyaW5nLCBzdG9wczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBmYWxsYmFjayA9IHN0b3BzID09PSAxID8gJzEwMCUnIDogYCR7c3RvcHN9JWA7XG5cbiAgICByZXR1cm4gbWF0Y2g/LmluY2x1ZGVzKCclJykgPyBtYXRjaCA6IGZhbGxiYWNrO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpUGFyc2VHcmFkaWVudChpbnB1dDogc3RyaW5nKTogVHVpUGFyc2VkR3JhZGllbnQge1xuICAgIGNvbnN0IHN0b3BzUmVnZXhwID0gbmV3IFJlZ0V4cChSRUdFWFBfQVJSQVkuam9pbignJyksICdnaScpO1xuICAgIGNvbnN0IHN0b3BzU3RyaW5nID1cbiAgICAgICAgaW5wdXQuc3RhcnRzV2l0aCgndG8nKSB8fCBpbnB1dC5tYXRjaCgvXlxcZC8pXG4gICAgICAgICAgICA/IGlucHV0LnNsaWNlKE1hdGgubWF4KDAsIGlucHV0LmluZGV4T2YoJywnKSArIDEpKS50cmltKClcbiAgICAgICAgICAgIDogaW5wdXQ7XG5cbiAgICBjb25zdCBzaWRlID0gaW5wdXQuc3RhcnRzV2l0aCgndG8nKVxuICAgICAgICA/IChpbnB1dC5zcGxpdCgnLCcpWzBdIGFzIFR1aUdyYWRpZW50RGlyZWN0aW9uKVxuICAgICAgICA6ICd0byBib3R0b20nO1xuICAgIGxldCBzdG9wczogVHVpUGFyc2VkR3JhZGllbnRbJ3N0b3BzJ10gPSBbXTtcblxuICAgIGxldCBtYXRjaENvbG9yU3RvcCA9IHN0b3BzUmVnZXhwLmV4ZWMoc3RvcHNTdHJpbmcpO1xuXG4gICAgd2hpbGUgKG1hdGNoQ29sb3JTdG9wICE9PSBudWxsKSB7XG4gICAgICAgIHN0b3BzID0gc3RvcHMuY29uY2F0KHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXRjaENvbG9yU3RvcFsxXSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiBnZXRQb3NpdGlvbihtYXRjaENvbG9yU3RvcFsyXSwgc3RvcHMubGVuZ3RoKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbWF0Y2hDb2xvclN0b3AgPSBzdG9wc1JlZ2V4cC5leGVjKHN0b3BzU3RyaW5nKTtcbiAgICB9XG5cbiAgICBzdG9wcyA9IHN0b3BzLmZpbHRlcigoe2NvbG9yfSkgPT4gY29sb3Iuc3RhcnRzV2l0aCgnIycpIHx8IGNvbG9yLnN0YXJ0c1dpdGgoJ3JnYicpKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIHN0b3BzLFxuICAgICAgICBzaWRlLFxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlUb0dyYWRpZW50KHtzdG9wcywgc2lkZX06IFR1aVBhcnNlZEdyYWRpZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGxpbmVhci1ncmFkaWVudCgke3NpZGV9LCAke3N0b3BzXG4gICAgICAgIC5tYXAoXG4gICAgICAgICAgICAoe2NvbG9yLCBwb3NpdGlvbn0pID0+IGByZ2JhKCR7dHVpUGFyc2VDb2xvcihjb2xvcikuam9pbignLCAnKX0pICR7cG9zaXRpb259YCxcbiAgICAgICAgKVxuICAgICAgICAuam9pbignLCAnKX0pYDtcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  export function tuiRgbToHex(r, g, b) {
2
- return `#${[r, g, b].map(x => x.toString(16).padStart(2, '0')).join('')}`;
2
+ return `#${[r, g, b].map((x) => x.toString(16).padStart(2, '0')).join('')}`;
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmdiLXRvLWhleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay91dGlscy9jb2xvci9yZ2ItdG8taGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO0lBQ3ZELE9BQU8sSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiB0dWlSZ2JUb0hleChyOiBudW1iZXIsIGc6IG51bWJlciwgYjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCMke1tyLCBnLCBiXS5tYXAoeCA9PiB4LnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCAnMCcpKS5qb2luKCcnKX1gO1xufVxuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmdiLXRvLWhleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay91dGlscy9jb2xvci9yZ2ItdG8taGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO0lBQ3ZELE9BQU8sSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNoRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHR1aVJnYlRvSGV4KHI6IG51bWJlciwgZzogbnVtYmVyLCBiOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBgIyR7W3IsIGcsIGJdLm1hcCgoeCkgPT4geC50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKSkuam9pbignJyl9YDtcbn1cbiJdfQ==
@@ -36,9 +36,9 @@ export function tuiGetElementObscures(element) {
36
36
  if (!nonNull.length) {
37
37
  return [];
38
38
  }
39
- const filtered = nonNull.filter(el => !element.contains(el) && !el.contains(element));
39
+ const filtered = nonNull.filter((el) => !element.contains(el) && !el.contains(element));
40
40
  return filtered.length === 4
41
41
  ? filtered
42
42
  : null;
43
43
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtb2JzY3VyZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL2RvbS9nZXQtZWxlbWVudC1vYnNjdXJlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUUvRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNqQyxPQUFnQjtJQUVoQixNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsT0FBTyxDQUFDO0lBRWhDLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFO1FBQy9ELE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxNQUFNLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDNUQsTUFBTSxHQUFHLEdBQUcsMEJBQTBCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFN0MsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN2QyxPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEUsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0QsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbEUsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckUsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUN0QyxDQUFDLEVBQ0QsVUFBVSxDQUNiLENBQUM7SUFDRixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUN0QyxDQUFDLEVBQ0QsV0FBVyxDQUNkLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRztRQUNiLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUM7UUFDM0MsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztRQUM5QyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQztRQUMxQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQztLQUM5QyxDQUFDO0lBQ0YsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUU5QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUNqQixPQUFPLEVBQUUsQ0FBQztLQUNiO0lBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUV0RixPQUFPLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUN4QixDQUFDLENBQUUsUUFBaUQ7UUFDcEQsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUNsYW1wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbmltcG9ydCB7dHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3R9IGZyb20gJy4vZ2V0LWRvY3VtZW50LW9yLXNoYWRvdy1yb290JztcblxuLyoqXG4gKiBSZXR1cm5zIGFycmF5IG9mIEVsZW1lbnRzIGNvdmVyaW5nIGVkZ2VzIG9mIGdpdmVuIGVsZW1lbnQgb3IgbnVsbCBpZiBhdCBsZWFzdCBvbmUgZWRnZSBtaWRkbGUgcG9pbnQgaXMgdmlzaWJsZVxuICpcbiAqIENBVVRJT046IEVtcHR5IGFycmF5IG1lYW5zIGVsZW1lbnQgaWYgb2Zmc2NyZWVuIGkuZS4gY292ZXJlZCBieSBubyBlbGVtZW50cywgcmF0aGVyIHRoYW4gbm90IGNvdmVyZWRcbiAqIGBgYHRzXG4gKiBmdW5jdGlvbiB0dWlHZXRFbGVtZW50T2JzY3VyZXMoZWxlbWVudDogRWxlbWVudCk6IHJlYWRvbmx5IFtFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50XSB8IFtdIHwgbnVsbFxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlHZXRFbGVtZW50T2JzY3VyZXMoXG4gICAgZWxlbWVudDogRWxlbWVudCxcbik6IHJlYWRvbmx5IFtFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50XSB8IFtdIHwgbnVsbCB7XG4gICAgY29uc3Qge293bmVyRG9jdW1lbnR9ID0gZWxlbWVudDtcblxuICAgIGlmICghb3duZXJEb2N1bWVudD8uZGVmYXVsdFZpZXcgfHwgIWVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHtpbm5lcldpZHRoLCBpbm5lckhlaWdodH0gPSBvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgIGNvbnN0IGRvYyA9IHR1aUdldERvY3VtZW50T3JTaGFkb3dSb290KGVsZW1lbnQpO1xuICAgIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgaWYgKHJlY3Qud2lkdGggPT09IDAgJiYgcmVjdC5oZWlnaHQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGVmdCA9IHR1aUNsYW1wKE1hdGgucm91bmQocmVjdC5sZWZ0KSArIDIsIDAsIGlubmVyV2lkdGgpO1xuICAgIGNvbnN0IHRvcCA9IHR1aUNsYW1wKE1hdGgucm91bmQocmVjdC50b3ApICsgMiwgMCwgaW5uZXJIZWlnaHQpO1xuICAgIGNvbnN0IHJpZ2h0ID0gdHVpQ2xhbXAoTWF0aC5yb3VuZChyZWN0LnJpZ2h0KSAtIDIsIDAsIGlubmVyV2lkdGgpO1xuICAgIGNvbnN0IGJvdHRvbSA9IHR1aUNsYW1wKE1hdGgucm91bmQocmVjdC5ib3R0b20pIC0gMiwgMCwgaW5uZXJIZWlnaHQpO1xuICAgIGNvbnN0IGhvcml6b250YWxNaWRkbGUgPSB0dWlDbGFtcChcbiAgICAgICAgTWF0aC5yb3VuZChyZWN0LmxlZnQgKyByZWN0LndpZHRoIC8gMiksXG4gICAgICAgIDAsXG4gICAgICAgIGlubmVyV2lkdGgsXG4gICAgKTtcbiAgICBjb25zdCB2ZXJ0aWNhbE1pZGRsZSA9IHR1aUNsYW1wKFxuICAgICAgICBNYXRoLnJvdW5kKHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyKSxcbiAgICAgICAgMCxcbiAgICAgICAgaW5uZXJIZWlnaHQsXG4gICAgKTtcbiAgICBjb25zdCBlbGVtZW50cyA9IFtcbiAgICAgICAgZG9jLmVsZW1lbnRGcm9tUG9pbnQoaG9yaXpvbnRhbE1pZGRsZSwgdG9wKSxcbiAgICAgICAgZG9jLmVsZW1lbnRGcm9tUG9pbnQoaG9yaXpvbnRhbE1pZGRsZSwgYm90dG9tKSxcbiAgICAgICAgZG9jLmVsZW1lbnRGcm9tUG9pbnQobGVmdCwgdmVydGljYWxNaWRkbGUpLFxuICAgICAgICBkb2MuZWxlbWVudEZyb21Qb2ludChyaWdodCwgdmVydGljYWxNaWRkbGUpLFxuICAgIF07XG4gICAgY29uc3Qgbm9uTnVsbCA9IGVsZW1lbnRzLmZpbHRlcih0dWlJc1ByZXNlbnQpO1xuXG4gICAgaWYgKCFub25OdWxsLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyZWQgPSBub25OdWxsLmZpbHRlcihlbCA9PiAhZWxlbWVudC5jb250YWlucyhlbCkgJiYgIWVsLmNvbnRhaW5zKGVsZW1lbnQpKTtcblxuICAgIHJldHVybiBmaWx0ZXJlZC5sZW5ndGggPT09IDRcbiAgICAgICAgPyAoZmlsdGVyZWQgYXMgW0VsZW1lbnQsIEVsZW1lbnQsIEVsZW1lbnQsIEVsZW1lbnRdKVxuICAgICAgICA6IG51bGw7XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtb2JzY3VyZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL2RvbS9nZXQtZWxlbWVudC1vYnNjdXJlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUUvRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNqQyxPQUFnQjtJQUVoQixNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsT0FBTyxDQUFDO0lBRWhDLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFO1FBQy9ELE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxNQUFNLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDNUQsTUFBTSxHQUFHLEdBQUcsMEJBQTBCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFN0MsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN2QyxPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEUsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0QsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbEUsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckUsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUN0QyxDQUFDLEVBQ0QsVUFBVSxDQUNiLENBQUM7SUFDRixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUN0QyxDQUFDLEVBQ0QsV0FBVyxDQUNkLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRztRQUNiLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUM7UUFDM0MsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztRQUM5QyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQztRQUMxQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQztLQUM5QyxDQUFDO0lBQ0YsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUU5QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUNqQixPQUFPLEVBQUUsQ0FBQztLQUNiO0lBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDM0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQ3pELENBQUM7SUFFRixPQUFPLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUN4QixDQUFDLENBQUUsUUFBaUQ7UUFDcEQsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUNsYW1wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbmltcG9ydCB7dHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3R9IGZyb20gJy4vZ2V0LWRvY3VtZW50LW9yLXNoYWRvdy1yb290JztcblxuLyoqXG4gKiBSZXR1cm5zIGFycmF5IG9mIEVsZW1lbnRzIGNvdmVyaW5nIGVkZ2VzIG9mIGdpdmVuIGVsZW1lbnQgb3IgbnVsbCBpZiBhdCBsZWFzdCBvbmUgZWRnZSBtaWRkbGUgcG9pbnQgaXMgdmlzaWJsZVxuICpcbiAqIENBVVRJT046IEVtcHR5IGFycmF5IG1lYW5zIGVsZW1lbnQgaWYgb2Zmc2NyZWVuIGkuZS4gY292ZXJlZCBieSBubyBlbGVtZW50cywgcmF0aGVyIHRoYW4gbm90IGNvdmVyZWRcbiAqIGBgYHRzXG4gKiBmdW5jdGlvbiB0dWlHZXRFbGVtZW50T2JzY3VyZXMoZWxlbWVudDogRWxlbWVudCk6IHJlYWRvbmx5IFtFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50XSB8IFtdIHwgbnVsbFxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlHZXRFbGVtZW50T2JzY3VyZXMoXG4gICAgZWxlbWVudDogRWxlbWVudCxcbik6IHJlYWRvbmx5IFtFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50XSB8IFtdIHwgbnVsbCB7XG4gICAgY29uc3Qge293bmVyRG9jdW1lbnR9ID0gZWxlbWVudDtcblxuICAgIGlmICghb3duZXJEb2N1bWVudD8uZGVmYXVsdFZpZXcgfHwgIWVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHtpbm5lcldpZHRoLCBpbm5lckhlaWdodH0gPSBvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgIGNvbnN0IGRvYyA9IHR1aUdldERvY3VtZW50T3JTaGFkb3dSb290KGVsZW1lbnQpO1xuICAgIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgaWYgKHJlY3Qud2lkdGggPT09IDAgJiYgcmVjdC5oZWlnaHQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGVmdCA9IHR1aUNsYW1wKE1hdGgucm91bmQocmVjdC5sZWZ0KSArIDIsIDAsIGlubmVyV2lkdGgpO1xuICAgIGNvbnN0IHRvcCA9IHR1aUNsYW1wKE1hdGgucm91bmQocmVjdC50b3ApICsgMiwgMCwgaW5uZXJIZWlnaHQpO1xuICAgIGNvbnN0IHJpZ2h0ID0gdHVpQ2xhbXAoTWF0aC5yb3VuZChyZWN0LnJpZ2h0KSAtIDIsIDAsIGlubmVyV2lkdGgpO1xuICAgIGNvbnN0IGJvdHRvbSA9IHR1aUNsYW1wKE1hdGgucm91bmQocmVjdC5ib3R0b20pIC0gMiwgMCwgaW5uZXJIZWlnaHQpO1xuICAgIGNvbnN0IGhvcml6b250YWxNaWRkbGUgPSB0dWlDbGFtcChcbiAgICAgICAgTWF0aC5yb3VuZChyZWN0LmxlZnQgKyByZWN0LndpZHRoIC8gMiksXG4gICAgICAgIDAsXG4gICAgICAgIGlubmVyV2lkdGgsXG4gICAgKTtcbiAgICBjb25zdCB2ZXJ0aWNhbE1pZGRsZSA9IHR1aUNsYW1wKFxuICAgICAgICBNYXRoLnJvdW5kKHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyKSxcbiAgICAgICAgMCxcbiAgICAgICAgaW5uZXJIZWlnaHQsXG4gICAgKTtcbiAgICBjb25zdCBlbGVtZW50cyA9IFtcbiAgICAgICAgZG9jLmVsZW1lbnRGcm9tUG9pbnQoaG9yaXpvbnRhbE1pZGRsZSwgdG9wKSxcbiAgICAgICAgZG9jLmVsZW1lbnRGcm9tUG9pbnQoaG9yaXpvbnRhbE1pZGRsZSwgYm90dG9tKSxcbiAgICAgICAgZG9jLmVsZW1lbnRGcm9tUG9pbnQobGVmdCwgdmVydGljYWxNaWRkbGUpLFxuICAgICAgICBkb2MuZWxlbWVudEZyb21Qb2ludChyaWdodCwgdmVydGljYWxNaWRkbGUpLFxuICAgIF07XG4gICAgY29uc3Qgbm9uTnVsbCA9IGVsZW1lbnRzLmZpbHRlcih0dWlJc1ByZXNlbnQpO1xuXG4gICAgaWYgKCFub25OdWxsLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyZWQgPSBub25OdWxsLmZpbHRlcihcbiAgICAgICAgKGVsKSA9PiAhZWxlbWVudC5jb250YWlucyhlbCkgJiYgIWVsLmNvbnRhaW5zKGVsZW1lbnQpLFxuICAgICk7XG5cbiAgICByZXR1cm4gZmlsdGVyZWQubGVuZ3RoID09PSA0XG4gICAgICAgID8gKGZpbHRlcmVkIGFzIFtFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50XSlcbiAgICAgICAgOiBudWxsO1xufVxuIl19
@@ -0,0 +1,6 @@
1
+ import { tuiClamp } from '@taiga-ui/cdk/utils/math';
2
+ export function tuiGetElementPoint(x, y, element) {
3
+ const { left, top, width, height } = element.getBoundingClientRect();
4
+ return [tuiClamp(x - left, 0, width) / width, tuiClamp(y - top, 0, height) / height];
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtcG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZG9tL2dldC1lbGVtZW50LXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUdsRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxPQUFvQjtJQUN6RSxNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFbkUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0FBQ3pGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUNsYW1wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHR5cGUge1R1aVBvaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlHZXRFbGVtZW50UG9pbnQoeDogbnVtYmVyLCB5OiBudW1iZXIsIGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogVHVpUG9pbnQge1xuICAgIGNvbnN0IHtsZWZ0LCB0b3AsIHdpZHRoLCBoZWlnaHR9ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIHJldHVybiBbdHVpQ2xhbXAoeCAtIGxlZnQsIDAsIHdpZHRoKSAvIHdpZHRoLCB0dWlDbGFtcCh5IC0gdG9wLCAwLCBoZWlnaHQpIC8gaGVpZ2h0XTtcbn1cbiJdfQ==
@@ -6,6 +6,7 @@ export * from './get-clipboard-data-text';
6
6
  export * from './get-document-or-shadow-root';
7
7
  export * from './get-element-obscurers';
8
8
  export * from './get-element-offset';
9
+ export * from './get-element-point';
9
10
  export * from './get-selected-text';
10
11
  export * from './inject-element';
11
12
  export * from './is-current-target';
@@ -14,4 +15,4 @@ export * from './is-inside-iframe';
14
15
  export * from './is-node-in';
15
16
  export * from './point-to-client-rect';
16
17
  export * from './retarget-boundary-crossing';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZG9tL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb250YWlucy1vci1hZnRlcic7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnQtY2hlY2tzJztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnQtY2hlY2tzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWFjdHVhbC10YXJnZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtY2xpcGJvYXJkLWRhdGEtdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1kb2N1bWVudC1vci1zaGFkb3ctcm9vdCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1lbGVtZW50LW9ic2N1cmVycyc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1lbGVtZW50LW9mZnNldCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1zZWxlY3RlZC10ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0LWVsZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1jdXJyZW50LXRhcmdldCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWVsZW1lbnQtZWRpdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1pbnNpZGUtaWZyYW1lJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbm9kZS1pbic7XG5leHBvcnQgKiBmcm9tICcuL3BvaW50LXRvLWNsaWVudC1yZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vcmV0YXJnZXQtYm91bmRhcnktY3Jvc3NpbmcnO1xuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZG9tL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRhaW5zLW9yLWFmdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudC1jaGVja3MnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudC1jaGVja3MnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtYWN0dWFsLXRhcmdldCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1jbGlwYm9hcmQtZGF0YS10ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWRvY3VtZW50LW9yLXNoYWRvdy1yb290JztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWVsZW1lbnQtb2JzY3VyZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWVsZW1lbnQtb2Zmc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWVsZW1lbnQtcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtc2VsZWN0ZWQtdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdC1lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaXMtY3VycmVudC10YXJnZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1lbGVtZW50LWVkaXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtaW5zaWRlLWlmcmFtZSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW5vZGUtaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9wb2ludC10by1jbGllbnQtcmVjdCc7XG5leHBvcnQgKiBmcm9tICcuL3JldGFyZ2V0LWJvdW5kYXJ5LWNyb3NzaW5nJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { toSignal } from '@angular/core/rxjs-interop';
2
+ import { TUI_FALSE_HANDLER, TUI_TRUE_HANDLER } from '@taiga-ui/cdk/constants';
3
+ import { fromEvent, map, merge } from 'rxjs';
4
+ export function tuiFocusedIn(node) {
5
+ return toSignal(merge(fromEvent(node, 'focusin').pipe(map(TUI_TRUE_HANDLER)), fromEvent(node, 'focusout').pipe(map(TUI_FALSE_HANDLER))), { initialValue: false });
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNlZC1pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay91dGlscy9mb2N1cy9mb2N1c2VkLWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RSxPQUFPLEVBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFM0MsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFVO0lBQ25DLE9BQU8sUUFBUSxDQUNYLEtBQUssQ0FDRCxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUN0RCxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUMzRCxFQUNELEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBQyxDQUN4QixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtTaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUiwgVFVJX1RSVUVfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1hcCwgbWVyZ2V9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpRm9jdXNlZEluKG5vZGU6IE5vZGUpOiBTaWduYWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0b1NpZ25hbChcbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQobm9kZSwgJ2ZvY3VzaW4nKS5waXBlKG1hcChUVUlfVFJVRV9IQU5ETEVSKSksXG4gICAgICAgICAgICBmcm9tRXZlbnQobm9kZSwgJ2ZvY3Vzb3V0JykucGlwZShtYXAoVFVJX0ZBTFNFX0hBTkRMRVIpKSxcbiAgICAgICAgKSxcbiAgICAgICAge2luaXRpYWxWYWx1ZTogZmFsc2V9LFxuICAgICk7XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './blur-native-focused';
2
+ export * from './focused-in';
2
3
  export * from './get-closest-focusable';
3
4
  export * from './get-native-focused';
4
5
  export * from './is-native-focused';
@@ -6,4 +7,4 @@ export * from './is-native-focused-in';
6
7
  export * from './is-native-keyboard-focusable';
7
8
  export * from './is-native-mouse-focusable';
8
9
  export * from './move-focus';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZm9jdXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmx1ci1uYXRpdmUtZm9jdXNlZCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1jbG9zZXN0LWZvY3VzYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1uYXRpdmUtZm9jdXNlZCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW5hdGl2ZS1mb2N1c2VkJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbmF0aXZlLWZvY3VzZWQtaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1uYXRpdmUta2V5Ym9hcmQtZm9jdXNhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbmF0aXZlLW1vdXNlLWZvY3VzYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL21vdmUtZm9jdXMnO1xuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZm9jdXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmx1ci1uYXRpdmUtZm9jdXNlZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZvY3VzZWQtaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtY2xvc2VzdC1mb2N1c2FibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtbmF0aXZlLWZvY3VzZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1uYXRpdmUtZm9jdXNlZCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW5hdGl2ZS1mb2N1c2VkLWluJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbmF0aXZlLWtleWJvYXJkLWZvY3VzYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW5hdGl2ZS1tb3VzZS1mb2N1c2FibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb3ZlLWZvY3VzJztcbiJdfQ==
@@ -1,16 +1,16 @@
1
1
  import { FormArray, FormGroup } from '@angular/forms';
2
2
  export function tuiMarkControlAsTouchedAndValidate(control) {
3
3
  if (control instanceof FormArray) {
4
- control.controls.forEach(nestedControl => {
4
+ control.controls.forEach((nestedControl) => {
5
5
  tuiMarkControlAsTouchedAndValidate(nestedControl);
6
6
  });
7
7
  }
8
8
  if (control instanceof FormGroup) {
9
- Object.values(control.controls).forEach(nestedControl => {
9
+ Object.values(control.controls).forEach((nestedControl) => {
10
10
  tuiMarkControlAsTouchedAndValidate(nestedControl);
11
11
  });
12
12
  }
13
13
  control.markAsTouched();
14
14
  control.updateValueAndValidity();
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay1jb250cm9sLWFzLXRvdWNoZWQtYW5kLXZhbGlkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvbWFyay1jb250cm9sLWFzLXRvdWNoZWQtYW5kLXZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLE9BQXdCO0lBQ3ZFLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRTtRQUM5QixPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNyQyxrQ0FBa0MsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztLQUNOO0lBRUQsSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNwRCxrQ0FBa0MsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztLQUNOO0lBRUQsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3hCLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7QWJzdHJhY3RDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Zvcm1BcnJheSwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlNYXJrQ29udHJvbEFzVG91Y2hlZEFuZFZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHZvaWQge1xuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICAgIGNvbnRyb2wuY29udHJvbHMuZm9yRWFjaChuZXN0ZWRDb250cm9sID0+IHtcbiAgICAgICAgICAgIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUobmVzdGVkQ29udHJvbCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgIE9iamVjdC52YWx1ZXMoY29udHJvbC5jb250cm9scykuZm9yRWFjaChuZXN0ZWRDb250cm9sID0+IHtcbiAgICAgICAgICAgIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUobmVzdGVkQ29udHJvbCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay1jb250cm9sLWFzLXRvdWNoZWQtYW5kLXZhbGlkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvbWFyay1jb250cm9sLWFzLXRvdWNoZWQtYW5kLXZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLE9BQXdCO0lBQ3ZFLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRTtRQUM5QixPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3ZDLGtDQUFrQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0tBQ047SUFFRCxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7UUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDdEQsa0NBQWtDLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7S0FDTjtJQUVELE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4QixPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0Fic3RyYWN0Q29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGb3JtQXJyYXksIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpTWFya0NvbnRyb2xBc1RvdWNoZWRBbmRWYWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB2b2lkIHtcbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgICBjb250cm9sLmNvbnRyb2xzLmZvckVhY2goKG5lc3RlZENvbnRyb2wpID0+IHtcbiAgICAgICAgICAgIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUobmVzdGVkQ29udHJvbCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgIE9iamVjdC52YWx1ZXMoY29udHJvbC5jb250cm9scykuZm9yRWFjaCgobmVzdGVkQ29udHJvbCkgPT4ge1xuICAgICAgICAgICAgdHVpTWFya0NvbnRyb2xBc1RvdWNoZWRBbmRWYWxpZGF0ZShuZXN0ZWRDb250cm9sKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { createComponent, DestroyRef, EnvironmentInjector, inject } from '@angul
2
2
  import { tuiCreateTokenFromFactory } from './create-token';
3
3
  const MAP = tuiCreateTokenFromFactory(() => {
4
4
  const map = new Map();
5
- inject(DestroyRef).onDestroy(() => map.forEach(component => component.destroy()));
5
+ inject(DestroyRef).onDestroy(() => map.forEach((component) => component.destroy()));
6
6
  return map;
7
7
  });
8
8
  export function tuiWithStyles(component) {
@@ -13,4 +13,4 @@ export function tuiWithStyles(component) {
13
13
  }
14
14
  return undefined;
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1zdHlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cy93aXRoLXN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsTUFBTSxHQUFHLEdBQUcseUJBQXlCLENBQUMsR0FBRyxFQUFFO0lBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFFdEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVsRixPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLGFBQWEsQ0FBQyxTQUF3QjtJQUNsRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUV4RCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUNyQixHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsU0FBUyxFQUFFLEVBQUMsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekU7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtjcmVhdGVDb21wb25lbnQsIERlc3Ryb3lSZWYsIEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeX0gZnJvbSAnLi9jcmVhdGUtdG9rZW4nO1xuXG5jb25zdCBNQVAgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KCgpID0+IHtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwKCk7XG5cbiAgICBpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IG1hcC5mb3JFYWNoKGNvbXBvbmVudCA9PiBjb21wb25lbnQuZGVzdHJveSgpKSk7XG5cbiAgICByZXR1cm4gbWFwO1xufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlXaXRoU3R5bGVzKGNvbXBvbmVudDogVHlwZTx1bmtub3duPik6IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWFwID0gaW5qZWN0KE1BUCk7XG4gICAgY29uc3QgZW52aXJvbm1lbnRJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKTtcblxuICAgIGlmICghbWFwLmhhcyhjb21wb25lbnQpKSB7XG4gICAgICAgIG1hcC5zZXQoY29tcG9uZW50LCBjcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7ZW52aXJvbm1lbnRJbmplY3Rvcn0pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1zdHlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cy93aXRoLXN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsTUFBTSxHQUFHLEdBQUcseUJBQXlCLENBQUMsR0FBRyxFQUFFO0lBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFFdEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXBGLE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQXdCO0lBQ2xELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXhELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ3JCLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBQyxtQkFBbUIsRUFBQyxDQUFDLENBQUMsQ0FBQztLQUN6RTtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2NyZWF0ZUNvbXBvbmVudCwgRGVzdHJveVJlZiwgRW52aXJvbm1lbnRJbmplY3RvciwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5fSBmcm9tICcuL2NyZWF0ZS10b2tlbic7XG5cbmNvbnN0IE1BUCA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoKCkgPT4ge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcblxuICAgIGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4gbWFwLmZvckVhY2goKGNvbXBvbmVudCkgPT4gY29tcG9uZW50LmRlc3Ryb3koKSkpO1xuXG4gICAgcmV0dXJuIG1hcDtcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpV2l0aFN0eWxlcyhjb21wb25lbnQ6IFR5cGU8dW5rbm93bj4pOiB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1hcCA9IGluamVjdChNQVApO1xuICAgIGNvbnN0IGVudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG5cbiAgICBpZiAoIW1hcC5oYXMoY29tcG9uZW50KSkge1xuICAgICAgICBtYXAuc2V0KGNvbXBvbmVudCwgY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwge2Vudmlyb25tZW50SW5qZWN0b3J9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
@@ -41,7 +41,7 @@ class TuiControl {
41
41
  this.onChange = EMPTY_FUNCTION;
42
42
  this.control.valueAccessor = this;
43
43
  this.refresh$
44
- .pipe(delay(0), startWith(null), map(() => this.control.control), filter(tuiIsPresent), distinctUntilChanged(), switchMap(control => merge(control.valueChanges, control.statusChanges)), takeUntilDestroyed(this.destroyRef))
44
+ .pipe(delay(0), startWith(null), map(() => this.control.control), filter(tuiIsPresent), distinctUntilChanged(), switchMap((control) => merge(control.valueChanges, control.statusChanges)), takeUntilDestroyed(this.destroyRef))
45
45
  .subscribe(() => {
46
46
  this.update();
47
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-classes.mjs","sources":["../../../projects/cdk/classes/value-transformer.ts","../../../projects/cdk/classes/control.ts","../../../projects/cdk/classes/controller.ts","../../../projects/cdk/classes/portals.ts","../../../projects/cdk/classes/validation-error.ts","../../../projects/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["export abstract class TuiValueTransformer<From, To = unknown> {\n public abstract toControlValue(componentValue: From): To;\n public abstract fromControlValue(controlValue: To): From;\n}\n","import type {Provider, Type} from '@angular/core';\nimport {\n ChangeDetectorRef,\n computed,\n DestroyRef,\n Directive,\n inject,\n Input,\n signal,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {ControlValueAccessor, FormControlStatus} from '@angular/forms';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {TUI_FALLBACK_VALUE} from '@taiga-ui/cdk/tokens';\nimport {tuiIsPresent, tuiProvide, tuiPure} from '@taiga-ui/cdk/utils';\nimport {\n delay,\n distinctUntilChanged,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TuiValueTransformer} from './value-transformer';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class TuiControl<T> implements ControlValueAccessor {\n private readonly refresh$ = new Subject<void>();\n private readonly pseudoInvalid = signal<boolean | null>(null);\n private readonly internal = signal(\n inject(TUI_FALLBACK_VALUE, {self: true, optional: true}) as T,\n );\n\n protected readonly control = inject(NgControl, {self: true});\n protected readonly destroyRef = inject(DestroyRef);\n protected readonly cdr = inject(ChangeDetectorRef);\n protected readonly transformer = inject<TuiValueTransformer<T>>(TuiValueTransformer, {\n optional: true,\n });\n\n public readonly value = computed(() => this.internal());\n public readonly readOnly = signal(false);\n public readonly touched = signal(false);\n public readonly status = signal<FormControlStatus | undefined>(undefined);\n public readonly disabled = computed(() => this.status() === 'DISABLED');\n public readonly interactive = computed(() => !this.disabled() && !this.readOnly());\n public readonly invalid = computed(() =>\n this.pseudoInvalid() !== null\n ? !!this.pseudoInvalid() && this.interactive()\n : this.interactive() && this.touched() && this.status() === 'INVALID',\n );\n\n public readonly mode = computed(() =>\n // eslint-disable-next-line no-nested-ternary\n this.readOnly() ? 'readonly' : this.invalid() ? 'invalid' : 'valid',\n );\n\n public onTouched = EMPTY_FUNCTION;\n public onChange: (value: T) => void = EMPTY_FUNCTION;\n\n constructor() {\n this.control.valueAccessor = this;\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.control.control),\n filter(tuiIsPresent),\n distinctUntilChanged(),\n switchMap(control => merge(control.valueChanges, control.statusChanges)),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this.update();\n });\n }\n\n @Input('readOnly')\n public set readOnlySetter(readOnly: boolean) {\n this.readOnly.set(readOnly);\n }\n\n @Input('invalid')\n public set invalidSetter(invalid: boolean | null) {\n this.pseudoInvalid.set(invalid);\n }\n\n public registerOnChange(onChange: (value: T | unknown) => void): void {\n this.refresh$.next();\n\n this.onChange = (value: T) => {\n if (value === this.internal()) {\n return;\n }\n\n onChange(this.toControlValue(value));\n this.internal.set(value);\n this.update();\n };\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = () => {\n onTouched();\n this.update();\n };\n }\n\n public setDisabledState(): void {\n this.update();\n }\n\n public writeValue(value: T | null): void {\n // TODO: https://github.com/angular/angular/issues/14988\n const safe = this.control instanceof NgModel ? this.control.model : value;\n\n this.internal.set(this.fromControlValue(safe));\n this.update();\n }\n\n @tuiPure\n private fromControlValue(value: unknown): T {\n return this.transformer ? this.transformer.fromControlValue(value) : (value as T);\n }\n\n @tuiPure\n private toControlValue(value: T): unknown {\n return this.transformer ? this.transformer.toControlValue(value) : value;\n }\n\n private update(): void {\n this.status.set(this.control.control?.status);\n this.touched.set(!!this.control.control?.touched);\n this.cdr.markForCheck();\n }\n}\n\nexport function tuiAsControl<T>(control: Type<TuiControl<T>>): Provider {\n return tuiProvide(TuiControl, control);\n}\n","import type {OnChanges} from '@angular/core';\nimport {Directive} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive()\nexport abstract class AbstractTuiController implements OnChanges {\n public readonly change$ = new Subject<void>();\n\n public ngOnChanges(): void {\n this.change$.next();\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport type {ComponentRef, EmbeddedViewRef, Provider, TemplateRef} from '@angular/core';\nimport {\n Directive,\n inject,\n Injectable,\n INJECTOR,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\nimport type {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class TuiPortals {\n @ViewChild('viewContainer', {read: ViewContainerRef})\n private readonly vcr!: ViewContainerRef;\n\n private readonly injector = inject(INJECTOR);\n\n protected readonly nothing = inject(TuiPortalService).attach(this);\n\n public addComponentChild<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n const injector = component.createInjector(this.injector);\n const ref = this.vcr.createComponent(component.component, {injector});\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n public addTemplateChild<C>(\n templateRef: TemplateRef<C>,\n context?: C,\n ): EmbeddedViewRef<C> {\n return this.vcr.createEmbeddedView(templateRef, context);\n }\n}\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class TuiPortalService {\n protected host?: TuiPortals;\n\n public attach(host: TuiPortals): void {\n this.host = host;\n }\n\n public add<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n public remove<C>({hostView}: ComponentRef<C>): void {\n if (!hostView.destroyed) {\n hostView.destroy();\n }\n }\n\n public addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n public removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void {\n if (!viewRef.destroyed) {\n viewRef.destroy();\n }\n }\n\n protected get safeHost(): TuiPortals {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n}\n\nexport function tuiAsPortal(portal: typeof TuiPortalService): Provider {\n return tuiProvide(TuiPortalService, portal);\n}\n\nexport class TuiNoHostException extends Error {\n constructor() {\n super(ngDevMode ? 'Portals cannot be used without TuiPortalHostComponent' : '');\n }\n}\n","import type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiValidationError<T extends Record<string, any> = Record<string, unknown>> {\n constructor(\n public readonly message: PolymorpheusContent<T>,\n public readonly context: T = {} as T,\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-classes.mjs","sources":["../../../projects/cdk/classes/value-transformer.ts","../../../projects/cdk/classes/control.ts","../../../projects/cdk/classes/controller.ts","../../../projects/cdk/classes/portals.ts","../../../projects/cdk/classes/validation-error.ts","../../../projects/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["export abstract class TuiValueTransformer<From, To = unknown> {\n public abstract toControlValue(componentValue: From): To;\n public abstract fromControlValue(controlValue: To): From;\n}\n","import type {Provider, Type} from '@angular/core';\nimport {\n ChangeDetectorRef,\n computed,\n DestroyRef,\n Directive,\n inject,\n Input,\n signal,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {ControlValueAccessor, FormControlStatus} from '@angular/forms';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {TUI_FALLBACK_VALUE} from '@taiga-ui/cdk/tokens';\nimport {tuiIsPresent, tuiProvide, tuiPure} from '@taiga-ui/cdk/utils';\nimport {\n delay,\n distinctUntilChanged,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TuiValueTransformer} from './value-transformer';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class TuiControl<T> implements ControlValueAccessor {\n private readonly refresh$ = new Subject<void>();\n private readonly pseudoInvalid = signal<boolean | null>(null);\n private readonly internal = signal(\n inject(TUI_FALLBACK_VALUE, {self: true, optional: true}) as T,\n );\n\n protected readonly control = inject(NgControl, {self: true});\n protected readonly destroyRef = inject(DestroyRef);\n protected readonly cdr = inject(ChangeDetectorRef);\n protected readonly transformer = inject<TuiValueTransformer<T>>(TuiValueTransformer, {\n optional: true,\n });\n\n public readonly value = computed(() => this.internal());\n public readonly readOnly = signal(false);\n public readonly touched = signal(false);\n public readonly status = signal<FormControlStatus | undefined>(undefined);\n public readonly disabled = computed(() => this.status() === 'DISABLED');\n public readonly interactive = computed(() => !this.disabled() && !this.readOnly());\n public readonly invalid = computed(() =>\n this.pseudoInvalid() !== null\n ? !!this.pseudoInvalid() && this.interactive()\n : this.interactive() && this.touched() && this.status() === 'INVALID',\n );\n\n public readonly mode = computed(() =>\n // eslint-disable-next-line no-nested-ternary\n this.readOnly() ? 'readonly' : this.invalid() ? 'invalid' : 'valid',\n );\n\n public onTouched = EMPTY_FUNCTION;\n public onChange: (value: T) => void = EMPTY_FUNCTION;\n\n constructor() {\n this.control.valueAccessor = this;\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.control.control),\n filter(tuiIsPresent),\n distinctUntilChanged(),\n switchMap((control) =>\n merge(control.valueChanges, control.statusChanges),\n ),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this.update();\n });\n }\n\n @Input('readOnly')\n public set readOnlySetter(readOnly: boolean) {\n this.readOnly.set(readOnly);\n }\n\n @Input('invalid')\n public set invalidSetter(invalid: boolean | null) {\n this.pseudoInvalid.set(invalid);\n }\n\n public registerOnChange(onChange: (value: T | unknown) => void): void {\n this.refresh$.next();\n\n this.onChange = (value: T) => {\n if (value === this.internal()) {\n return;\n }\n\n onChange(this.toControlValue(value));\n this.internal.set(value);\n this.update();\n };\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = () => {\n onTouched();\n this.update();\n };\n }\n\n public setDisabledState(): void {\n this.update();\n }\n\n public writeValue(value: T | null): void {\n // TODO: https://github.com/angular/angular/issues/14988\n const safe = this.control instanceof NgModel ? this.control.model : value;\n\n this.internal.set(this.fromControlValue(safe));\n this.update();\n }\n\n @tuiPure\n private fromControlValue(value: unknown): T {\n return this.transformer ? this.transformer.fromControlValue(value) : (value as T);\n }\n\n @tuiPure\n private toControlValue(value: T): unknown {\n return this.transformer ? this.transformer.toControlValue(value) : value;\n }\n\n private update(): void {\n this.status.set(this.control.control?.status);\n this.touched.set(!!this.control.control?.touched);\n this.cdr.markForCheck();\n }\n}\n\nexport function tuiAsControl<T>(control: Type<TuiControl<T>>): Provider {\n return tuiProvide(TuiControl, control);\n}\n","import type {OnChanges} from '@angular/core';\nimport {Directive} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive()\nexport abstract class AbstractTuiController implements OnChanges {\n public readonly change$ = new Subject<void>();\n\n public ngOnChanges(): void {\n this.change$.next();\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport type {ComponentRef, EmbeddedViewRef, Provider, TemplateRef} from '@angular/core';\nimport {\n Directive,\n inject,\n Injectable,\n INJECTOR,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\nimport type {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class TuiPortals {\n @ViewChild('viewContainer', {read: ViewContainerRef})\n private readonly vcr!: ViewContainerRef;\n\n private readonly injector = inject(INJECTOR);\n\n protected readonly nothing = inject(TuiPortalService).attach(this);\n\n public addComponentChild<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n const injector = component.createInjector(this.injector);\n const ref = this.vcr.createComponent(component.component, {injector});\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n public addTemplateChild<C>(\n templateRef: TemplateRef<C>,\n context?: C,\n ): EmbeddedViewRef<C> {\n return this.vcr.createEmbeddedView(templateRef, context);\n }\n}\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class TuiPortalService {\n protected host?: TuiPortals;\n\n public attach(host: TuiPortals): void {\n this.host = host;\n }\n\n public add<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n public remove<C>({hostView}: ComponentRef<C>): void {\n if (!hostView.destroyed) {\n hostView.destroy();\n }\n }\n\n public addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n public removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void {\n if (!viewRef.destroyed) {\n viewRef.destroy();\n }\n }\n\n protected get safeHost(): TuiPortals {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n}\n\nexport function tuiAsPortal(portal: typeof TuiPortalService): Provider {\n return tuiProvide(TuiPortalService, portal);\n}\n\nexport class TuiNoHostException extends Error {\n constructor() {\n super(ngDevMode ? 'Portals cannot be used without TuiPortalHostComponent' : '');\n }\n}\n","import type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiValidationError<T extends Record<string, any> = Record<string, unknown>> {\n constructor(\n public readonly message: PolymorpheusContent<T>,\n public readonly context: T = {} as T,\n ) {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -157,16 +157,16 @@ const TUI_USED_ICONS = [
157
157
  '@tui.union-pay',
158
158
  '@tui.uzcard',
159
159
  '@tui.verve',
160
- '@tui.copy',
161
- '@tui.check',
162
- '@tui.link',
163
160
  '@tui.search',
164
161
  '@tui.sun',
165
162
  '@tui.moon',
166
163
  '@tui.code',
167
164
  '@tui.menu',
168
- '@tui.eye',
165
+ '@tui.copy',
166
+ '@tui.check',
167
+ '@tui.link',
169
168
  '@tui.eye-off',
169
+ '@tui.eye',
170
170
  '@tui.grip-vertical',
171
171
  '@tui.chevron-up',
172
172
  '@tui.chevron-down',
@@ -192,7 +192,7 @@ const TUI_USED_ICONS = [
192
192
  '@tui.clock',
193
193
  ];
194
194
 
195
- const TUI_VERSION = '4.0.0-rc.2';
195
+ const TUI_VERSION = '4.0.0-rc.4';
196
196
 
197
197
  /**
198
198
  * 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":["import {QueryList} from '@angular/core';\n\nconst 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\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, 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 taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.eye',\n '@tui.eye-off',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\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.chevron-left',\n '@tui.calendar',\n '@tui.minus',\n '@tui.file',\n '@tui.trash',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.plus',\n '@tui.minimize',\n '@tui.clock',\n] as const;\n","export const TUI_VERSION = '4.0.0-rc.2';\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":["import {QueryList} from '@angular/core';\n\nconst 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\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, 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 taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.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.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\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.chevron-left',\n '@tui.calendar',\n '@tui.minus',\n '@tui.file',\n '@tui.trash',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.plus',\n '@tui.minimize',\n '@tui.clock',\n] as const;\n","export const TUI_VERSION = '4.0.0-rc.4';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ class TuiActiveZone {
19
19
  skipSelf: true,
20
20
  optional: true,
21
21
  });
22
- this.tuiActiveZoneChange = this.active$.pipe(map(element => !!element && this.contains(element)), startWith(false), distinctUntilChanged(), skip(1), tap(active => {
22
+ this.tuiActiveZoneChange = this.active$.pipe(map((element) => !!element && this.contains(element)), startWith(false), distinctUntilChanged(), skip(1), tap((active) => {
23
23
  if (!active && typeof this.control?.valueAccessor.onTouched === 'function') {
24
24
  this.control.valueAccessor.onTouched();
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-active-zone.mjs","sources":["../../../projects/cdk/directives/active-zone/active-zone.directive.ts","../../../projects/cdk/directives/active-zone/taiga-ui-cdk-directives-active-zone.ts"],"sourcesContent":["import type {OnDestroy} from '@angular/core';\nimport {Directive, inject, Input, NgZone, Output} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_ACTIVE_ELEMENT} from '@taiga-ui/cdk/tokens';\nimport {tuiArrayRemove, tuiInjectElement, tuiPure} from '@taiga-ui/cdk/utils';\nimport type {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, skip, startWith, tap} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector:\n '[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)',\n exportAs: 'tuiActiveZone',\n host: {\n '(document:mousedown.silent)': '(0)',\n },\n})\nexport class TuiActiveZone implements OnDestroy {\n private readonly control: any = inject(NgControl, {optional: true, self: true});\n private readonly active$ = inject<Observable<Element | null>>(TUI_ACTIVE_ELEMENT);\n private readonly zone = inject(NgZone);\n private readonly el = tuiInjectElement();\n private tuiActiveZoneParent: TuiActiveZone | null = null;\n private subActiveZones: readonly TuiActiveZone[] = [];\n private readonly directParentActiveZone = inject(TuiActiveZone, {\n skipSelf: true,\n optional: true,\n });\n\n @Output()\n public readonly tuiActiveZoneChange = this.active$.pipe(\n map(element => !!element && this.contains(element)),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tap(active => {\n if (!active && typeof this.control?.valueAccessor.onTouched === 'function') {\n this.control.valueAccessor.onTouched();\n }\n }),\n tuiZoneOptimized(this.zone),\n );\n\n constructor() {\n this.directParentActiveZone?.addSubActiveZone(this);\n }\n\n @Input('tuiActiveZoneParent')\n public set tuiActiveZoneParentSetter(zone: TuiActiveZone | null) {\n this.setZone(zone);\n }\n\n public ngOnDestroy(): void {\n this.directParentActiveZone?.removeSubActiveZone(this);\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n }\n\n public contains(node: Node): boolean {\n return (\n this.el.contains(node) ||\n this.subActiveZones.some(\n (item, index, array) =>\n array.indexOf(item) === index && item.contains(node),\n )\n );\n }\n\n @tuiPure\n private setZone(zone: TuiActiveZone | null): void {\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n zone?.addSubActiveZone(this);\n this.tuiActiveZoneParent = zone;\n }\n\n private addSubActiveZone(activeZone: TuiActiveZone): void {\n this.subActiveZones = [...this.subActiveZones, activeZone];\n }\n\n private removeSubActiveZone(activeZone: TuiActiveZone): void {\n this.subActiveZones = tuiArrayRemove(\n this.subActiveZones,\n this.subActiveZones.indexOf(activeZone),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-active-zone.mjs","sources":["../../../projects/cdk/directives/active-zone/active-zone.directive.ts","../../../projects/cdk/directives/active-zone/taiga-ui-cdk-directives-active-zone.ts"],"sourcesContent":["import type {OnDestroy} from '@angular/core';\nimport {Directive, inject, Input, NgZone, Output} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_ACTIVE_ELEMENT} from '@taiga-ui/cdk/tokens';\nimport {tuiArrayRemove, tuiInjectElement, tuiPure} from '@taiga-ui/cdk/utils';\nimport type {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, skip, startWith, tap} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector:\n '[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)',\n exportAs: 'tuiActiveZone',\n host: {\n '(document:mousedown.silent)': '(0)',\n },\n})\nexport class TuiActiveZone implements OnDestroy {\n private readonly control: any = inject(NgControl, {optional: true, self: true});\n private readonly active$ = inject<Observable<Element | null>>(TUI_ACTIVE_ELEMENT);\n private readonly zone = inject(NgZone);\n private readonly el = tuiInjectElement();\n private tuiActiveZoneParent: TuiActiveZone | null = null;\n private subActiveZones: readonly TuiActiveZone[] = [];\n private readonly directParentActiveZone = inject(TuiActiveZone, {\n skipSelf: true,\n optional: true,\n });\n\n @Output()\n public readonly tuiActiveZoneChange = this.active$.pipe(\n map((element) => !!element && this.contains(element)),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tap((active) => {\n if (!active && typeof this.control?.valueAccessor.onTouched === 'function') {\n this.control.valueAccessor.onTouched();\n }\n }),\n tuiZoneOptimized(this.zone),\n );\n\n constructor() {\n this.directParentActiveZone?.addSubActiveZone(this);\n }\n\n @Input('tuiActiveZoneParent')\n public set tuiActiveZoneParentSetter(zone: TuiActiveZone | null) {\n this.setZone(zone);\n }\n\n public ngOnDestroy(): void {\n this.directParentActiveZone?.removeSubActiveZone(this);\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n }\n\n public contains(node: Node): boolean {\n return (\n this.el.contains(node) ||\n this.subActiveZones.some(\n (item, index, array) =>\n array.indexOf(item) === index && item.contains(node),\n )\n );\n }\n\n @tuiPure\n private setZone(zone: TuiActiveZone | null): void {\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n zone?.addSubActiveZone(this);\n this.tuiActiveZoneParent = zone;\n }\n\n private addSubActiveZone(activeZone: TuiActiveZone): void {\n this.subActiveZones = [...this.subActiveZones, activeZone];\n }\n\n private removeSubActiveZone(activeZone: TuiActiveZone): void {\n this.subActiveZones = tuiArrayRemove(\n this.subActiveZones,\n this.subActiveZones.indexOf(activeZone),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -158,7 +158,7 @@ class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
158
158
  * so that when focusing the dialogs don't shake
159
159
  */
160
160
  patchCssStyles() {
161
- [this.win.document.documentElement, this.win.document.body].forEach(element => {
161
+ [this.win.document.documentElement, this.win.document.body].forEach((element) => {
162
162
  element.style.setProperty('overflow', 'auto');
163
163
  element.style.setProperty('height', '100%');
164
164
  });
@@ -170,7 +170,7 @@ class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
170
170
  * for example [inputMode=numeric, autocomplete=cc-number]
171
171
  */
172
172
  patchFakeInputFromFocusableElement(fakeInput) {
173
- TEXTFIELD_ATTRS.forEach(attr => {
173
+ TEXTFIELD_ATTRS.forEach((attr) => {
174
174
  const value = this.element.getAttribute(attr);
175
175
  if (tuiIsPresent(value)) {
176
176
  fakeInput.setAttribute(attr, value);