@taiga-ui/core 2.48.0 → 2.49.2

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 (140) hide show
  1. package/bundles/taiga-ui-core-components-data-list.umd.js +1 -1
  2. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-data-list.umd.min.js +1 -1
  4. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-dialog.umd.js +1 -1
  6. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
  8. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-scrollbar.umd.js +1 -5
  12. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-core-constants.umd.js +1 -1
  15. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  17. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-core-pipes-format-phone.umd.js +1 -1
  21. package/bundles/taiga-ui-core-pipes-format-phone.umd.js.map +1 -1
  22. package/bundles/taiga-ui-core-pipes-format-phone.umd.min.js +1 -1
  23. package/bundles/taiga-ui-core-pipes-format-phone.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-core-utils-format.umd.js +2 -2
  29. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  30. package/bundles/taiga-ui-core-utils-format.umd.min.js +1 -1
  31. package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-core-utils-mask.umd.js +7 -6
  33. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  34. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  35. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-core-utils-polyfills.umd.js +2 -1
  37. package/bundles/taiga-ui-core-utils-polyfills.umd.js.map +1 -1
  38. package/bundles/taiga-ui-core-utils-polyfills.umd.min.js.map +1 -1
  39. package/components/data-list/option/option.component.d.ts +2 -1
  40. package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
  41. package/components/dialog/dialog.component.d.ts +2 -2
  42. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  43. package/components/scrollbar/scrollbar.component.d.ts +1 -8
  44. package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
  45. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  46. package/constants/version.d.ts +1 -1
  47. package/esm2015/components/data-list/option/option.component.js +2 -2
  48. package/esm2015/components/dialog/dialog.component.js +2 -2
  49. package/esm2015/components/primitive-textfield/primitive-textfield.directive.js +1 -1
  50. package/esm2015/components/scrollbar/scrollbar.component.js +2 -6
  51. package/esm2015/constants/version.js +2 -2
  52. package/esm2015/interfaces/dropdown-directive.js +1 -1
  53. package/esm2015/interfaces/number-format-settings.js +1 -1
  54. package/esm2015/pipes/format-number/format-number.pipe.js +1 -1
  55. package/esm2015/pipes/format-phone/format-phone.pipe.js +3 -3
  56. package/esm2015/tokens/data-list-host.js +1 -1
  57. package/esm2015/tokens/number-format.js +1 -1
  58. package/esm2015/types/dialog-size.js +1 -1
  59. package/esm2015/utils/dom/are-css-vars-supported.js +1 -1
  60. package/esm2015/utils/format/format-number.js +3 -3
  61. package/esm2015/utils/format/format-phone.js +3 -2
  62. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +4 -4
  63. package/esm2015/utils/mask/create-number-mask.js +5 -4
  64. package/esm2015/utils/mask/enable-auto-correct-decimal-symbol.js +1 -1
  65. package/esm2015/utils/mask/masked-money-value-is-empty.js +4 -3
  66. package/esm2015/utils/polyfills/inner-html.js +3 -2
  67. package/esm5/components/data-list/option/option.component.js +2 -2
  68. package/esm5/components/dialog/dialog.component.js +2 -2
  69. package/esm5/components/primitive-textfield/primitive-textfield.directive.js +1 -1
  70. package/esm5/components/scrollbar/scrollbar.component.js +2 -6
  71. package/esm5/constants/version.js +2 -2
  72. package/esm5/interfaces/dropdown-directive.js +1 -1
  73. package/esm5/interfaces/number-format-settings.js +1 -1
  74. package/esm5/pipes/format-number/format-number.pipe.js +1 -1
  75. package/esm5/pipes/format-phone/format-phone.pipe.js +3 -3
  76. package/esm5/tokens/data-list-host.js +1 -1
  77. package/esm5/tokens/number-format.js +1 -1
  78. package/esm5/types/dialog-size.js +1 -1
  79. package/esm5/utils/dom/are-css-vars-supported.js +1 -1
  80. package/esm5/utils/format/format-number.js +3 -3
  81. package/esm5/utils/format/format-phone.js +3 -2
  82. package/esm5/utils/mask/create-auto-corrected-money-pipe.js +4 -4
  83. package/esm5/utils/mask/create-number-mask.js +5 -4
  84. package/esm5/utils/mask/enable-auto-correct-decimal-symbol.js +1 -1
  85. package/esm5/utils/mask/masked-money-value-is-empty.js +4 -3
  86. package/esm5/utils/polyfills/inner-html.js +3 -2
  87. package/fesm2015/taiga-ui-core-components-data-list.js +1 -1
  88. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  89. package/fesm2015/taiga-ui-core-components-dialog.js +1 -1
  90. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  91. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  92. package/fesm2015/taiga-ui-core-components-scrollbar.js +1 -5
  93. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  94. package/fesm2015/taiga-ui-core-constants.js +1 -1
  95. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  96. package/fesm2015/taiga-ui-core-pipes-format-number.js.map +1 -1
  97. package/fesm2015/taiga-ui-core-pipes-format-phone.js +2 -2
  98. package/fesm2015/taiga-ui-core-pipes-format-phone.js.map +1 -1
  99. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  100. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  101. package/fesm2015/taiga-ui-core-utils-format.js +3 -3
  102. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  103. package/fesm2015/taiga-ui-core-utils-mask.js +8 -7
  104. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  105. package/fesm2015/taiga-ui-core-utils-polyfills.js +2 -1
  106. package/fesm2015/taiga-ui-core-utils-polyfills.js.map +1 -1
  107. package/fesm5/taiga-ui-core-components-data-list.js +1 -1
  108. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  109. package/fesm5/taiga-ui-core-components-dialog.js +1 -1
  110. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  111. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  112. package/fesm5/taiga-ui-core-components-scrollbar.js +1 -5
  113. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  114. package/fesm5/taiga-ui-core-constants.js +1 -1
  115. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  116. package/fesm5/taiga-ui-core-pipes-format-number.js.map +1 -1
  117. package/fesm5/taiga-ui-core-pipes-format-phone.js +2 -2
  118. package/fesm5/taiga-ui-core-pipes-format-phone.js.map +1 -1
  119. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  120. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  121. package/fesm5/taiga-ui-core-utils-format.js +3 -3
  122. package/fesm5/taiga-ui-core-utils-format.js.map +1 -1
  123. package/fesm5/taiga-ui-core-utils-mask.js +8 -7
  124. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  125. package/fesm5/taiga-ui-core-utils-polyfills.js +2 -1
  126. package/fesm5/taiga-ui-core-utils-polyfills.js.map +1 -1
  127. package/interfaces/dropdown-directive.d.ts +1 -1
  128. package/interfaces/number-format-settings.d.ts +7 -1
  129. package/interfaces/taiga-ui-core-interfaces.metadata.json +1 -1
  130. package/package.json +4 -4
  131. package/pipes/format-number/format-number.pipe.d.ts +2 -2
  132. package/pipes/format-number/taiga-ui-core-pipes-format-number.metadata.json +1 -1
  133. package/styles/theme/wrapper/base.less +1 -1
  134. package/styles/theme/wrapper/icon.less +20 -0
  135. package/tokens/data-list-host.d.ts +1 -1
  136. package/tokens/number-format.d.ts +2 -2
  137. package/types/dialog-size.d.ts +1 -1
  138. package/utils/dom/are-css-vars-supported.d.ts +1 -1
  139. package/utils/mask/enable-auto-correct-decimal-symbol.d.ts +2 -2
  140. package/utils/polyfills/inner-html.d.ts +2 -1
@@ -1,4 +1,4 @@
1
- import { CHAR_NO_BREAK_SPACE, getDocumentOrShadowRoot, isNativeFocused, isSafari, tuiAssert, } from '@taiga-ui/cdk';
1
+ import { CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, getDocumentOrShadowRoot, isNativeFocused, isSafari, tuiAssert, } from '@taiga-ui/cdk';
2
2
  /**
3
3
  * Used to finish a number with zeros to a given precision
4
4
  */
@@ -19,8 +19,8 @@ export function tuiCreateAutoCorrectedNumberPipe(decimalLimit, decimalSymbol, th
19
19
  }
20
20
  return function (conformedValue, config) {
21
21
  // Removing everything by selecting and pressing '-'
22
- if (!conformedValue && config.rawValue === '-' && allowNegative) {
23
- return '-';
22
+ if (!conformedValue && config.rawValue === CHAR_HYPHEN && allowNegative) {
23
+ return CHAR_HYPHEN;
24
24
  }
25
25
  // remove these hacks after text mask library has changed
26
26
  if (nativeInput && unlucky && isNativeFocused(nativeInput)) {
@@ -96,4 +96,4 @@ function calculateCaretGap(previousValue, current, thousandSymbol) {
96
96
  var nowSpaces = current.split(thousandSymbol).length;
97
97
  return nowSpaces - wereSpaces;
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS91dGlscy9tYXNrLyIsInNvdXJjZXMiOlsiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsZUFBZSxFQUNmLFFBQVEsRUFDUixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFJdkI7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDLENBQzVDLFlBQXdCLEVBQ3hCLGFBQXFDLEVBQ3JDLGNBQTRDLEVBQzVDLFdBQXFDLEVBQ3JDLGFBQXVCLEVBQ3ZCLEtBQWE7SUFMYiw2QkFBQSxFQUFBLGdCQUF3QjtJQUN4Qiw4QkFBQSxFQUFBLG1CQUFxQztJQUNyQywrQkFBQSxFQUFBLG9DQUE0QztJQUc1QyxzQkFBQSxFQUFBLGFBQWE7SUFFYixTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVwQyx5Q0FBeUM7SUFDekMsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkIsSUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUVsRSxJQUFJLFdBQVcsSUFBSSxPQUFPLEVBQUU7UUFDeEIsV0FBVyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRTtZQUN4QyxhQUFhLEdBQUcsV0FBVyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7S0FDTjtJQUVELE9BQU8sVUFBQyxjQUFjLEVBQUUsTUFBTTtRQUMxQixvREFBb0Q7UUFD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YyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzlELElBQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBRXZELE9BQU8sU0FBUyxHQUFHLFVBQVUsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIGdldERvY3VtZW50T3JTaGFkb3dSb290LFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBpc1NhZmFyaSxcbiAgICB0dWlBc3NlcnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlUZXh0TWFza1BpcGVIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcbmltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG4vKipcbiAqIFVzZWQgdG8gZmluaXNoIGEgbnVtYmVyIHdpdGggemVyb3MgdG8gYSBnaXZlbiBwcmVjaXNpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWROdW1iZXJQaXBlKFxuICAgIGRlY2ltYWxMaW1pdDogbnVtYmVyID0gMCxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sID0gJywnLFxuICAgIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcgPSBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIG5hdGl2ZUlucHV0PzogSFRNTElucHV0RWxlbWVudCB8IG51bGwsXG4gICAgYWxsb3dOZWdhdGl2ZT86IGJvb2xlYW4sXG4gICAgaXNJT1MgPSBmYWxzZSxcbik6IFR1aVRleHRNYXNrUGlwZUhhbmRsZXIge1xuICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihkZWNpbWFsTGltaXQpKTtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KGRlY2ltYWxMaW1pdCA+PSAwKTtcblxuICAgIC8vIEd1ZXNzIGZvciB3aGljaCBicm93c2VyIEkgbmVlZCB0aGlzIDopXG4gICAgbGV0IHByZXZpb3VzQ2FyZXQgPSAtMTtcbiAgICBjb25zdCB1bmx1Y2t5ID0gKCEhbmF0aXZlSW5wdXQgJiYgaXNTYWZhcmkobmF0aXZlSW5wdXQpKSB8fCBpc0lPUztcblxuICAgIGlmIChuYXRpdmVJbnB1dCAmJiB1bmx1Y2t5KSB7XG4gICAgICAgIG5hdGl2ZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZWlucHV0JywgKCkgPT4ge1xuICAgICAgICAgICAgcHJldmlvdXNDYXJldCA9IG5hdGl2ZUlucHV0LnNlbGVjdGlvblN0YXJ0IHx8IDA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiAoY29uZm9ybWVkVmFsdWUsIGNvbmZpZykgPT4ge1xuICAgICAgICAvLyBSZW1vdmluZyBldmVyeXRoaW5nIGJ5IHNlbGVjdGluZyBhbmQgcHJlc3NpbmcgJy0nXG4gICAgICAgIGlmICghY29uZm9ybWVkVmFsdWUgJiYgY29uZmlnLnJhd1ZhbHVlID09PSAnLScgJiYgYWxsb3dOZWdhdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuICctJztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJlbW92ZSB0aGVzZSBoYWNrcyBhZnRlciB0ZXh0IG1hc2sgbGlicmFyeSBoYXMgY2hhbmdlZFxuICAgICAgICBpZiAobmF0aXZlSW5wdXQgJiYgdW5sdWNreSAmJiBpc05hdGl2ZUZvY3VzZWQobmF0aXZlSW5wdXQpKSB7XG4gICAgICAgICAgICBjb25zdCBjYXJldCA9IGNhbGN1bGF0ZVNhZmFyaUNhcmV0KFxuICAgICAgICAgICAgICAgIGNvbmZpZy5wcmV2aW91c0NvbmZvcm1lZFZhbHVlLFxuICAgICAgICAgICAgICAgIGNvbmZvcm1lZFZhbHVlLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzQ2FyZXQsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBuYXRpdmVJbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShjYXJldCwgY2FyZXQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBuYXRpdmVJbnB1dCAmJlxuICAgICAgICAgICAgbmF0aXZlSW5wdXQub3duZXJEb2N1bWVudCAhPT0gZ2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QobmF0aXZlSW5wdXQpICYmXG4gICAgICAgICAgICBpc05hdGl2ZUZvY3VzZWQobmF0aXZlSW5wdXQpICYmXG4gICAgICAgICAgICBjb25maWcuY3VycmVudENhcmV0UG9zaXRpb25cbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCByZWFsQ2FyZXRQb3NpdGlvbiA9XG4gICAgICAgICAgICAgICAgY29uZmlnLmN1cnJlbnRDYXJldFBvc2l0aW9uICtcbiAgICAgICAgICAgICAgICBjYWxjdWxhdGVDYXJldEdhcChcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnLnByZXZpb3VzQ29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZvcm1lZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB0aG91c2FuZFN5bWJvbCxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBuYXRpdmVJbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShyZWFsQ2FyZXRQb3NpdGlvbiwgcmVhbENhcmV0UG9zaXRpb24pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29uZm9ybWVkVmFsdWUgPT09ICcnIHx8ICFkZWNpbWFsTGltaXQpIHtcbiAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IGNvbmZvcm1lZFZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdpdGhEZWNpbWFsU3ltYm9sID0gYWRkRGVjaW1hbFN5bWJvbElmTmVlZGVkKGNvbmZvcm1lZFZhbHVlLCBkZWNpbWFsU3ltYm9sKTtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPSB3aXRoRGVjaW1hbFN5bWJvbC5zcGxpdChkZWNpbWFsU3ltYm9sKVsxXTtcbiAgICAgICAgY29uc3QgemVyb1BhZGRpbmdTaXplID0gZGVjaW1hbExpbWl0IC0gZGVjaW1hbFBhcnQubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogd2l0aERlY2ltYWxTeW1ib2wgKyAnMCcucmVwZWF0KHplcm9QYWRkaW5nU2l6ZSksXG4gICAgICAgIH07XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gYWRkRGVjaW1hbFN5bWJvbElmTmVlZGVkKFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgZGVjaW1hbFN5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCA9ICcsJyxcbik6IHN0cmluZyB7XG4gICAgcmV0dXJuICF2YWx1ZS5pbmNsdWRlcyhkZWNpbWFsU3ltYm9sKSA/IHZhbHVlICsgZGVjaW1hbFN5bWJvbCA6IHZhbHVlO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVTYWZhcmlDYXJldChcbiAgICBwcmV2aW91c1ZhbHVlOiBzdHJpbmcgPSAnJyxcbiAgICBjdXJyZW50OiBzdHJpbmcsXG4gICAgcHJldmlvdXNDYXJldDogbnVtYmVyLFxuICAgIGRlY2ltYWxTeW1ib2w6IHN0cmluZyA9ICcsJyxcbik6IG51bWJlciB7XG4gICAgY29uc3QgdGFpbFJlZ2V4ID0gbmV3IFJlZ0V4cChgJHtkZWNpbWFsU3ltYm9sfS4rYCk7XG4gICAgY29uc3QgcHJldmlvdXNXaXRob3V0VGFpbCA9IHByZXZpb3VzVmFsdWUucmVwbGFjZSh0YWlsUmVnZXgsICcnKTtcbiAgICBjb25zdCBjdXJyZW50V2l0aG91dFRhaWwgPSBjdXJyZW50LnJlcGxhY2UodGFpbFJlZ2V4LCAnJyk7XG5cbiAgICBjb25zdCBwYXN0ZU9yQ3V0T3BlcmF0aW9uID1cbiAgICAgICAgTWF0aC5hYnMocHJldmlvdXNXaXRob3V0VGFpbC5sZW5ndGggLSBjdXJyZW50V2l0aG91dFRhaWwubGVuZ3RoKSA+IDI7XG5cbiAgICBpZiAocGFzdGVPckN1dE9wZXJhdGlvbikge1xuICAgICAgICByZXR1cm4gY3VycmVudC5sZW5ndGg7XG4gICAgfVxuXG4gICAgaWYgKHByZXZpb3VzVmFsdWUubGVuZ3RoID09PSBjdXJyZW50Lmxlbmd0aCkge1xuICAgICAgICBpZiAocHJldmlvdXNWYWx1ZS5pbmRleE9mKGRlY2ltYWxTeW1ib2wpIDw9IHByZXZpb3VzQ2FyZXQpIHtcbiAgICAgICAgICAgIHJldHVybiBjYWxjdWxhdGVDaGFuZ2VkVGFpbEluZGV4KHByZXZpb3VzVmFsdWUsIGN1cnJlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZpb3VzV2l0aG91dFRhaWwgPT09IGN1cnJlbnRXaXRob3V0VGFpbFxuICAgICAgICAgICAgPyBwcmV2aW91c0NhcmV0IC0gMVxuICAgICAgICAgICAgOiBwcmV2aW91c0NhcmV0ICsgMTtcbiAgICB9XG5cbiAgICBpZiAocHJldmlvdXNWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgY29uc3QgY2hhbmdlTGVuZ3RoID0gY3VycmVudC5sZW5ndGggLSBwcmV2aW91c1ZhbHVlLmxlbmd0aDtcblxuICAgIHJldHVybiBwcmV2aW91c0NhcmV0ICsgY2hhbmdlTGVuZ3RoO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVDaGFuZ2VkVGFpbEluZGV4KHByZXZpb3VzOiBzdHJpbmcsIGN1cnJlbnQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJyZW50Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChwcmV2aW91c1tpXSAhPT0gY3VycmVudFtpXSkge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRbaV0gPT09ICcwJyA/IGkgOiBpICsgMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50Lmxlbmd0aDtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlQ2FyZXRHYXAoXG4gICAgcHJldmlvdXNWYWx1ZTogc3RyaW5nID0gJycsXG4gICAgY3VycmVudDogc3RyaW5nLFxuICAgIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcsXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IHBhc3RlT3JDdXRPcGVyYXRpb24gPSBNYXRoLmFicyhwcmV2aW91c1ZhbHVlLmxlbmd0aCAtIGN1cnJlbnQubGVuZ3RoKSA+IDI7XG5cbiAgICBpZiAocGFzdGVPckN1dE9wZXJhdGlvbikge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCB3ZXJlU3BhY2VzID0gcHJldmlvdXNWYWx1ZS5zcGxpdCh0aG91c2FuZFN5bWJvbCkubGVuZ3RoO1xuICAgIGNvbnN0IG5vd1NwYWNlcyA9IGN1cnJlbnQuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmxlbmd0aDtcblxuICAgIHJldHVybiBub3dTcGFjZXMgLSB3ZXJlU3BhY2VzO1xufVxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS91dGlscy9tYXNrLyIsInNvdXJjZXMiOlsiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDZixRQUFRLEVBQ1IsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBSXZCOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdDQUFnQyxDQUM1QyxZQUF3QixFQUN4QixhQUFxQyxFQUNyQyxjQUE0QyxFQUM1QyxXQUFxQyxFQUNyQyxhQUF1QixFQUN2QixLQUFhO0lBTGIsNkJBQUEsRUFBQSxnQkFBd0I7SUFDeEIsOEJBQUEsRUFBQSxtQkFBcUM7SUFDckMsK0JBQUEsRUFBQSxvQ0FBNEM7SUFHNUMsc0JBQUEsRUFBQSxhQUFhO0lBRWIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDakQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFcEMseUNBQXlDO0lBQ3pDLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLElBQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUM7SUFFbEUsSUFBSSxXQUFXLElBQUksT0FBTyxFQUFFO1FBQ3hCLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUU7WUFDeEMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0tBQ047SUFFRCxPQUFPLFVBQUMsY0FBYyxFQUFFLE1BQU07UUFDMUIs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QUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDOUQsSUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFdkQsT0FBTyxTQUFTLEdBQUcsVUFBVSxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENIQVJfSFlQSEVOLFxuICAgIENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgZ2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIGlzU2FmYXJpLFxuICAgIHR1aUFzc2VydCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVRleHRNYXNrUGlwZUhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL21hc2snO1xuaW1wb3J0IHtUdWlEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbi8qKlxuICogVXNlZCB0byBmaW5pc2ggYSBudW1iZXIgd2l0aCB6ZXJvcyB0byBhIGdpdmVuIHByZWNpc2lvblxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZE51bWJlclBpcGUoXG4gICAgZGVjaW1hbExpbWl0OiBudW1iZXIgPSAwLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wgPSAnLCcsXG4gICAgdGhvdXNhbmRTeW1ib2w6IHN0cmluZyA9IENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgbmF0aXZlSW5wdXQ/OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCxcbiAgICBhbGxvd05lZ2F0aXZlPzogYm9vbGVhbixcbiAgICBpc0lPUyA9IGZhbHNlLFxuKTogVHVpVGV4dE1hc2tQaXBlSGFuZGxlciB7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGRlY2ltYWxMaW1pdCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoZGVjaW1hbExpbWl0ID49IDApO1xuXG4gICAgLy8gR3Vlc3MgZm9yIHdoaWNoIGJyb3dzZXIgSSBuZWVkIHRoaXMgOilcbiAgICBsZXQgcHJldmlvdXNDYXJldCA9IC0xO1xuICAgIGNvbnN0IHVubHVja3kgPSAoISFuYXRpdmVJbnB1dCAmJiBpc1NhZmFyaShuYXRpdmVJbnB1dCkpIHx8IGlzSU9TO1xuXG4gICAgaWYgKG5hdGl2ZUlucHV0ICYmIHVubHVja3kpIHtcbiAgICAgICAgbmF0aXZlSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JlaW5wdXQnLCAoKSA9PiB7XG4gICAgICAgICAgICBwcmV2aW91c0NhcmV0ID0gbmF0aXZlSW5wdXQuc2VsZWN0aW9uU3RhcnQgfHwgMDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChjb25mb3JtZWRWYWx1ZSwgY29uZmlnKSA9PiB7XG4gICAgICAgIC8vIFJlbW92aW5nIGV2ZXJ5dGhpbmcgYnkgc2VsZWN0aW5nIGFuZCBwcmVzc2luZyAnLSdcbiAgICAgICAgaWYgKCFjb25mb3JtZWRWYWx1ZSAmJiBjb25maWcucmF3VmFsdWUgPT09IENIQVJfSFlQSEVOICYmIGFsbG93TmVnYXRpdmUpIHtcbiAgICAgICAgICAgIHJldHVybiBDSEFSX0hZUEhFTjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJlbW92ZSB0aGVzZSBoYWNrcyBhZnRlciB0ZXh0IG1hc2sgbGlicmFyeSBoYXMgY2hhbmdlZFxuICAgICAgICBpZiAobmF0aXZlSW5wdXQgJiYgdW5sdWNreSAmJiBpc05hdGl2ZUZvY3VzZWQobmF0aXZlSW5wdXQpKSB7XG4gICAgICAgICAgICBjb25zdCBjYXJldCA9IGNhbGN1bGF0ZVNhZmFyaUNhcmV0KFxuICAgICAgICAgICAgICAgIGNvbmZpZy5wcmV2aW91c0NvbmZvcm1lZFZhbHVlLFxuICAgICAgICAgICAgICAgIGNvbmZvcm1lZFZhbHVlLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzQ2FyZXQsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBuYXRpdmVJbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShjYXJldCwgY2FyZXQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBuYXRpdmVJbnB1dCAmJlxuICAgICAgICAgICAgbmF0aXZlSW5wdXQub3duZXJEb2N1bWVudCAhPT0gZ2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QobmF0aXZlSW5wdXQpICYmXG4gICAgICAgICAgICBpc05hdGl2ZUZvY3VzZWQobmF0aXZlSW5wdXQpICYmXG4gICAgICAgICAgICBjb25maWcuY3VycmVudENhcmV0UG9zaXRpb25cbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCByZWFsQ2FyZXRQb3NpdGlvbiA9XG4gICAgICAgICAgICAgICAgY29uZmlnLmN1cnJlbnRDYXJldFBvc2l0aW9uICtcbiAgICAgICAgICAgICAgICBjYWxjdWxhdGVDYXJldEdhcChcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnLnByZXZpb3VzQ29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZvcm1lZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB0aG91c2FuZFN5bWJvbCxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBuYXRpdmVJbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShyZWFsQ2FyZXRQb3NpdGlvbiwgcmVhbENhcmV0UG9zaXRpb24pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29uZm9ybWVkVmFsdWUgPT09ICcnIHx8ICFkZWNpbWFsTGltaXQpIHtcbiAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IGNvbmZvcm1lZFZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdpdGhEZWNpbWFsU3ltYm9sID0gYWRkRGVjaW1hbFN5bWJvbElmTmVlZGVkKGNvbmZvcm1lZFZhbHVlLCBkZWNpbWFsU3ltYm9sKTtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPSB3aXRoRGVjaW1hbFN5bWJvbC5zcGxpdChkZWNpbWFsU3ltYm9sKVsxXTtcbiAgICAgICAgY29uc3QgemVyb1BhZGRpbmdTaXplID0gZGVjaW1hbExpbWl0IC0gZGVjaW1hbFBhcnQubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogd2l0aERlY2ltYWxTeW1ib2wgKyAnMCcucmVwZWF0KHplcm9QYWRkaW5nU2l6ZSksXG4gICAgICAgIH07XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gYWRkRGVjaW1hbFN5bWJvbElmTmVlZGVkKFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgZGVjaW1hbFN5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCA9ICcsJyxcbik6IHN0cmluZyB7XG4gICAgcmV0dXJuICF2YWx1ZS5pbmNsdWRlcyhkZWNpbWFsU3ltYm9sKSA/IHZhbHVlICsgZGVjaW1hbFN5bWJvbCA6IHZhbHVlO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVTYWZhcmlDYXJldChcbiAgICBwcmV2aW91c1ZhbHVlOiBzdHJpbmcgPSAnJyxcbiAgICBjdXJyZW50OiBzdHJpbmcsXG4gICAgcHJldmlvdXNDYXJldDogbnVtYmVyLFxuICAgIGRlY2ltYWxTeW1ib2w6IHN0cmluZyA9ICcsJyxcbik6IG51bWJlciB7XG4gICAgY29uc3QgdGFpbFJlZ2V4ID0gbmV3IFJlZ0V4cChgJHtkZWNpbWFsU3ltYm9sfS4rYCk7XG4gICAgY29uc3QgcHJldmlvdXNXaXRob3V0VGFpbCA9IHByZXZpb3VzVmFsdWUucmVwbGFjZSh0YWlsUmVnZXgsICcnKTtcbiAgICBjb25zdCBjdXJyZW50V2l0aG91dFRhaWwgPSBjdXJyZW50LnJlcGxhY2UodGFpbFJlZ2V4LCAnJyk7XG5cbiAgICBjb25zdCBwYXN0ZU9yQ3V0T3BlcmF0aW9uID1cbiAgICAgICAgTWF0aC5hYnMocHJldmlvdXNXaXRob3V0VGFpbC5sZW5ndGggLSBjdXJyZW50V2l0aG91dFRhaWwubGVuZ3RoKSA+IDI7XG5cbiAgICBpZiAocGFzdGVPckN1dE9wZXJhdGlvbikge1xuICAgICAgICByZXR1cm4gY3VycmVudC5sZW5ndGg7XG4gICAgfVxuXG4gICAgaWYgKHByZXZpb3VzVmFsdWUubGVuZ3RoID09PSBjdXJyZW50Lmxlbmd0aCkge1xuICAgICAgICBpZiAocHJldmlvdXNWYWx1ZS5pbmRleE9mKGRlY2ltYWxTeW1ib2wpIDw9IHByZXZpb3VzQ2FyZXQpIHtcbiAgICAgICAgICAgIHJldHVybiBjYWxjdWxhdGVDaGFuZ2VkVGFpbEluZGV4KHByZXZpb3VzVmFsdWUsIGN1cnJlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZpb3VzV2l0aG91dFRhaWwgPT09IGN1cnJlbnRXaXRob3V0VGFpbFxuICAgICAgICAgICAgPyBwcmV2aW91c0NhcmV0IC0gMVxuICAgICAgICAgICAgOiBwcmV2aW91c0NhcmV0ICsgMTtcbiAgICB9XG5cbiAgICBpZiAocHJldmlvdXNWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgY29uc3QgY2hhbmdlTGVuZ3RoID0gY3VycmVudC5sZW5ndGggLSBwcmV2aW91c1ZhbHVlLmxlbmd0aDtcblxuICAgIHJldHVybiBwcmV2aW91c0NhcmV0ICsgY2hhbmdlTGVuZ3RoO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVDaGFuZ2VkVGFpbEluZGV4KHByZXZpb3VzOiBzdHJpbmcsIGN1cnJlbnQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJyZW50Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChwcmV2aW91c1tpXSAhPT0gY3VycmVudFtpXSkge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRbaV0gPT09ICcwJyA/IGkgOiBpICsgMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50Lmxlbmd0aDtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlQ2FyZXRHYXAoXG4gICAgcHJldmlvdXNWYWx1ZTogc3RyaW5nID0gJycsXG4gICAgY3VycmVudDogc3RyaW5nLFxuICAgIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcsXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IHBhc3RlT3JDdXRPcGVyYXRpb24gPSBNYXRoLmFicyhwcmV2aW91c1ZhbHVlLmxlbmd0aCAtIGN1cnJlbnQubGVuZ3RoKSA+IDI7XG5cbiAgICBpZiAocGFzdGVPckN1dE9wZXJhdGlvbikge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCB3ZXJlU3BhY2VzID0gcHJldmlvdXNWYWx1ZS5zcGxpdCh0aG91c2FuZFN5bWJvbCkubGVuZ3RoO1xuICAgIGNvbnN0IG5vd1NwYWNlcyA9IGN1cnJlbnQuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmxlbmd0aDtcblxuICAgIHJldHVybiBub3dTcGFjZXMgLSB3ZXJlU3BhY2VzO1xufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { __read, __spread } from "tslib";
2
- import { CHAR_EN_DASH, CHAR_NO_BREAK_SPACE, tuiAssert } from '@taiga-ui/cdk';
2
+ import { CHAR_EN_DASH, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, tuiAssert } from '@taiga-ui/cdk';
3
3
  import { MASK_CARET_TRAP, TUI_DIGIT_REGEXP, TUI_LEADING_ZEROES_REGEXP, TUI_NON_DIGITS_REGEXP, } from '@taiga-ui/core/constants';
4
4
  import { otherDecimalSymbol } from '@taiga-ui/core/utils/format';
5
5
  var NON_ZERO_DIGIT = /[1-9]/;
@@ -27,7 +27,8 @@ export function tuiCreateNumberMask(_a) {
27
27
  rawValue = previousConformedValue;
28
28
  }
29
29
  }
30
- var isNegative = (rawValue[0] === '-' || rawValue[0] === CHAR_EN_DASH) && allowNegative;
30
+ var isNegative = (rawValue[0] === CHAR_HYPHEN || rawValue[0] === CHAR_EN_DASH) &&
31
+ allowNegative;
31
32
  if (isDecimalSymbol(rawValue, decimalSymbol, autoCorrectDecimalSymbol) &&
32
33
  allowDecimal) {
33
34
  return ['0', decimalSymbol, TUI_DIGIT_REGEXP];
@@ -70,7 +71,7 @@ export function tuiCreateNumberMask(_a) {
70
71
  if (mask.length === 0) {
71
72
  mask.push(TUI_DIGIT_REGEXP);
72
73
  }
73
- mask.unshift('-');
74
+ mask.unshift(CHAR_HYPHEN);
74
75
  }
75
76
  return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);
76
77
  };
@@ -119,4 +120,4 @@ function addThousandsSeparator(strNumber, thousandSymbol) {
119
120
  ? strNumber.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSymbol)
120
121
  : strNumber;
121
122
  }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELElBQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUUvQjs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQVNSO1FBVFEsNEJBU1IsRUFSeEIsb0JBQW9CLEVBQXBCLHlDQUFvQixFQUNwQixxQkFBbUIsRUFBbkIsd0NBQW1CLEVBQ25CLHNCQUFvQyxFQUFwQyx5REFBb0MsRUFDcEMsZ0NBQStCLEVBQS9CLG9EQUErQixFQUMvQixvQkFBZ0IsRUFBaEIscUNBQWdCLEVBQ2hCLHNCQUFzQixFQUF0QiwyQ0FBc0IsRUFDdEIscUJBQXFCLEVBQXJCLDBDQUFxQixFQUNyQixvQkFBZ0IsRUFBaEIscUNBQWdCO0lBRWhCLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRXBDLE9BQU8sVUFBQyxRQUFRLEVBQUUsRUFBd0I7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SSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBdkQsQ0FBdUQsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLFNBQWlCLEVBQUUsY0FBc0I7SUFDcEUsT0FBTyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDdkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsY0FBYyxDQUFDO1FBQzVELENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q0hBUl9FTl9EQVNILCBDSEFSX05PX0JSRUFLX1NQQUNFLCB0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNQVNLX0NBUkVUX1RSQVAsXG4gICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfTEVBRElOR19aRVJPRVNfUkVHRVhQLFxuICAgIFRVSV9OT05fRElHSVRTX1JFR0VYUCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTnVtYmVyTWFza09wdGlvbnMsIFR1aVRleHRNYXNrTGlzdEhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL21hc2snO1xuaW1wb3J0IHtUdWlEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge290aGVyRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZm9ybWF0JztcblxuY29uc3QgTk9OX1pFUk9fRElHSVQgPSAvWzEtOV0vO1xuXG4vKipcbiAqIEFkYXB0YXRpb24gZm9yIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGV4dC1tYXNrL3RleHQtbWFzay90cmVlL21hc3Rlci9hZGRvbnMjY3JlYXRlbnVtYmVybWFzayBgY3JlYXRlTnVtYmVyTWFza2B9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICBhbGxvd0RlY2ltYWwgPSBmYWxzZSxcbiAgICBkZWNpbWFsU3ltYm9sID0gJywnLFxuICAgIHRob3VzYW5kU3ltYm9sID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wgPSB0cnVlLFxuICAgIGRlY2ltYWxMaW1pdCA9IDIsXG4gICAgcmVxdWlyZURlY2ltYWwgPSBmYWxzZSxcbiAgICBhbGxvd05lZ2F0aXZlID0gZmFsc2UsXG4gICAgaW50ZWdlckxpbWl0ID0gMCxcbn06IFR1aU51bWJlck1hc2tPcHRpb25zID0ge30pOiBUdWlUZXh0TWFza0xpc3RIYW5kbGVyIHtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoZGVjaW1hbExpbWl0KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGludGVnZXJMaW1pdCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoaW50ZWdlckxpbWl0ID49IDApO1xuXG4gICAgcmV0dXJuIChyYXdWYWx1ZSwge3ByZXZpb3VzQ29uZm9ybWVkVmFsdWV9KSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NvbmZvcm1lZFZhbHVlICYmIHJlcXVpcmVEZWNpbWFsKSB7XG4gICAgICAgICAgICBjb25zdCBjb25mb3JtZWRXaXRob3V0U2VwYXJhdG9yID0gcmF3VmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmpvaW4oJycpO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yID1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCh0aG91c2FuZFN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdChkZWNpbWFsU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignJyk7XG5cbiAgICAgICAgICAgIC8vIEZvcmJpZCByZW1vdmFsIG9mIGRlY2ltYWwgc2VwYXJhdG9yIGlmIGRlY2ltYWwgcGFydCBpcyByZXF1aXJlZFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPT09XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByYXdWYWx1ZSA9IHByZXZpb3VzQ29uZm9ybWVkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc05lZ2F0aXZlID1cbiAgICAgICAgICAgIChyYXdWYWx1ZVswXSA9PT0gJy0nIHx8IHJhd1ZhbHVlWzBdID09PSBDSEFSX0VOX0RBU0gpICYmIGFsbG93TmVnYXRpdmU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNEZWNpbWFsU3ltYm9sKHJhd1ZhbHVlLCBkZWNpbWFsU3ltYm9sLCBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpICYmXG4gICAgICAgICAgICBhbGxvd0RlY2ltYWxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gWycwJywgZGVjaW1hbFN5bWJvbCwgVFVJX0RJR0lUX1JFR0VYUF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgcmF3VmFsdWUgPSByYXdWYWx1ZS5zbGljZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY2ltYWxJbmRleCA9IGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICAgICAgICAgIHJhd1ZhbHVlLFxuICAgICAgICAgICAgZGVjaW1hbFN5bWJvbCxcbiAgICAgICAgICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaGFzRGVjaW1hbCA9IGRlY2ltYWxJbmRleCAhPT0gLTE7XG4gICAgICAgIGNvbnN0IGludGVnZXIgPSBoYXNEZWNpbWFsID8gcmF3VmFsdWUuc2xpY2UoMCwgZGVjaW1hbEluZGV4KSA6IHJhd1ZhbHVlO1xuICAgICAgICBjb25zdCB0aG91c2FuZFNlcGFyYXRvcnMgPSBpbnRlZ2VyLm1hdGNoKG5ldyBSZWdFeHAodGhvdXNhbmRTeW1ib2wsICdnJykpIHx8IFtdO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkID0gaW50ZWdlckxpbWl0XG4gICAgICAgICAgICA/IGludGVnZXIuc2xpY2UoMCwgaW50ZWdlckxpbWl0ICsgdGhvdXNhbmRTZXBhcmF0b3JzLmxlbmd0aClcbiAgICAgICAgICAgIDogaW50ZWdlcjtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZENsZWFuID0gaW50ZWdlckNhcHBlZC5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgJycpO1xuICAgICAgICBjb25zdCBbbGVhZGluZ1plcm9zTWF0Y2hdID0gaW50ZWdlckNhcHBlZENsZWFuLm1hdGNoKFxuICAgICAgICAgICAgVFVJX0xFQURJTkdfWkVST0VTX1JFR0VYUCxcbiAgICAgICAgKSB8fCBbJyddO1xuICAgICAgICBjb25zdCBsZWFkaW5nWmVyb3NBbW91bnQgPSBsZWFkaW5nWmVyb3NNYXRjaC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWRaZXJvc0NsZWFuID0gaW50ZWdlckNhcHBlZENsZWFuXG4gICAgICAgICAgICAucmVwbGFjZSgvXjArKD8hXFwufCQpLywgJycpXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgICAgICBjb25zdCB3aXRoU2VwYXJhdG9yID0gYWRkVGhvdXNhbmRzU2VwYXJhdG9yKFxuICAgICAgICAgICAgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4sXG4gICAgICAgICAgICB0aG91c2FuZFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbWFzayA9IGNvbnZlcnRUb01hc2sod2l0aFNlcGFyYXRvcik7XG5cbiAgICAgICAgaWYgKChoYXNEZWNpbWFsICYmIGFsbG93RGVjaW1hbCkgfHwgcmVxdWlyZURlY2ltYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uID0gaGFzRGVjaW1hbFxuICAgICAgICAgICAgICAgID8gY29udmVydFRvTWFzayhcbiAgICAgICAgICAgICAgICAgICAgICByYXdWYWx1ZS5zbGljZShkZWNpbWFsSW5kZXggKyAxKS5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgJycpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogW107XG4gICAgICAgICAgICBjb25zdCBmcmFjdGlvbkNhcHBlZCA9IGRlY2ltYWxMaW1pdFxuICAgICAgICAgICAgICAgID8gZnJhY3Rpb24uc2xpY2UoMCwgZGVjaW1hbExpbWl0KVxuICAgICAgICAgICAgICAgIDogZnJhY3Rpb247XG5cbiAgICAgICAgICAgIGlmIChyYXdWYWx1ZVtkZWNpbWFsSW5kZXhdICE9PSBvdGhlckRlY2ltYWxTeW1ib2woZGVjaW1hbFN5bWJvbCkpIHtcbiAgICAgICAgICAgICAgICBtYXNrLnB1c2goTUFTS19DQVJFVF9UUkFQKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFzay5wdXNoKGRlY2ltYWxTeW1ib2wsIE1BU0tfQ0FSRVRfVFJBUCwgLi4uZnJhY3Rpb25DYXBwZWQpO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlY2ltYWxMaW1pdCAtIGZyYWN0aW9uQ2FwcGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNPbmx5WmVyb0RpZ2l0ID0gbWFzay5sZW5ndGggPT09IDEgJiYgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPT09ICcwJztcblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgaWYgKG1hc2subGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnVuc2hpZnQoJy0nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcmV2ZW50TGVhZGluZ1plcm9lcyhtYXNrLCBpc09ubHlaZXJvRGlnaXQsIGxlYWRpbmdaZXJvc0Ftb3VudCk7XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gcHJldmVudExlYWRpbmdaZXJvZXMoXG4gICAgbWFzazogQXJyYXk8c3RyaW5nIHwgUmVnRXhwPixcbiAgICBpc09ubHlaZXJvRGlnaXQ6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBsZWFkaW5nWmVyb3NBbW91bnQ6IG51bWJlciA9IDAsXG4pOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+IHtcbiAgICBpZiAoaXNPbmx5WmVyb0RpZ2l0IHx8IGxlYWRpbmdaZXJvc0Ftb3VudCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdERpZ2l0SW5kZXggPSBtYXNrLmluZGV4T2YoVFVJX0RJR0lUX1JFR0VYUCk7XG5cbiAgICBpZiAoZmlyc3REaWdpdEluZGV4ID09PSAtMSkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRNYXNrRGlnaXQgPSBtYXNrW2ZpcnN0RGlnaXRJbmRleCArIDFdO1xuICAgIGNvbnN0IGlzQ2FyZXRUcmFwID0gc2Vjb25kTWFza0RpZ2l0ID09PSBNQVNLX0NBUkVUX1RSQVA7XG5cbiAgICBpZiAoaXNDYXJldFRyYXAgJiYgbGVhZGluZ1plcm9zQW1vdW50ID09PSAxKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH0gZWxzZSBpZiAoaXNDYXJldFRyYXApIHtcbiAgICAgICAgbWFzay51bnNoaWZ0KE5PTl9aRVJPX0RJR0lUKTtcblxuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBtYXNrW2ZpcnN0RGlnaXRJbmRleF0gPSBOT05fWkVST19ESUdJVDtcblxuICAgIHJldHVybiBtYXNrO1xufVxuXG5mdW5jdGlvbiBnZXREZWNpbWFsU3ltYm9sSW5kZXgoXG4gICAgc3RyOiBzdHJpbmcsXG4gICAgZGVjaW1hbFN5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2w6IGJvb2xlYW4sXG4pOiBudW1iZXIge1xuICAgIGlmICghYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKSB7XG4gICAgICAgIHJldHVybiBzdHIubGFzdEluZGV4T2YoZGVjaW1hbFN5bWJvbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGgubWF4KFxuICAgICAgICBzdHIubGFzdEluZGV4T2YoZGVjaW1hbFN5bWJvbCksXG4gICAgICAgIHN0ci5sYXN0SW5kZXhPZihvdGhlckRlY2ltYWxTeW1ib2woZGVjaW1hbFN5bWJvbCkpLFxuICAgICk7XG59XG5cbmZ1bmN0aW9uIGlzRGVjaW1hbFN5bWJvbChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogYm9vbGVhbixcbik6IGJvb2xlYW4ge1xuICAgIGlmIChhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIC9eWywuXSQvLnRlc3Qoc3RyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyID09PSBkZWNpbWFsU3ltYm9sO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VG9NYXNrKHN0ck51bWJlcjogc3RyaW5nKTogQXJyYXk8c3RyaW5nIHwgUmVnRXhwPiB7XG4gICAgcmV0dXJuIHN0ck51bWJlclxuICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgIC5tYXAoY2hhciA9PiAoVFVJX0RJR0lUX1JFR0VYUC50ZXN0KGNoYXIpID8gVFVJX0RJR0lUX1JFR0VYUCA6IGNoYXIpKTtcbn1cblxuZnVuY3Rpb24gYWRkVGhvdXNhbmRzU2VwYXJhdG9yKHN0ck51bWJlcjogc3RyaW5nLCB0aG91c2FuZFN5bWJvbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyTnVtYmVyLmxlbmd0aCA+IDNcbiAgICAgICAgPyBzdHJOdW1iZXIucmVwbGFjZSgvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZywgdGhvdXNhbmRTeW1ib2wpXG4gICAgICAgIDogc3RyTnVtYmVyO1xufVxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFDSCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLHlCQUF5QixFQUN6QixxQkFBcUIsR0FDeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUdsQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRCxJQUFNLGNBQWMsR0FBRyxPQUFPLENBQUM7QUFFL0I7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFTUjtRQVRRLDRCQVNSLEVBUnhCLG9CQUFvQixFQUFwQix5Q0FBb0IsRUFDcEIscUJBQW1CLEVBQW5CLHdDQUFtQixFQUNuQixzQkFBb0MsRUFBcEMseURBQW9DLEVBQ3BDLGdDQUErQixFQUEvQixvREFBK0IsRUFDL0Isb0JBQWdCLEVBQWhCLHFDQUFnQixFQUNoQixzQkFBc0IsRUFBdEIsMkNBQXNCLEVBQ3RCLHFCQUFxQixFQUFyQiwwQ0FBcUIsRUFDckIsb0JBQWdCLEVBQWhCLHFDQUFnQjtJQUVoQixTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVwQyxPQUFPLFVBQUMsUUFBUSxF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QUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUF2RCxDQUF1RCxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsU0FBaUIsRUFBRSxjQUFzQjtJQUNwRSxPQUFPLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN2QixDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxjQUFjLENBQUM7UUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX0VOX0RBU0gsIENIQVJfSFlQSEVOLCBDSEFSX05PX0JSRUFLX1NQQUNFLCB0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNQVNLX0NBUkVUX1RSQVAsXG4gICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfTEVBRElOR19aRVJPRVNfUkVHRVhQLFxuICAgIFRVSV9OT05fRElHSVRTX1JFR0VYUCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTnVtYmVyTWFza09wdGlvbnMsIFR1aVRleHRNYXNrTGlzdEhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL21hc2snO1xuaW1wb3J0IHtUdWlEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge290aGVyRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZm9ybWF0JztcblxuY29uc3QgTk9OX1pFUk9fRElHSVQgPSAvWzEtOV0vO1xuXG4vKipcbiAqIEFkYXB0YXRpb24gZm9yIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGV4dC1tYXNrL3RleHQtbWFzay90cmVlL21hc3Rlci9hZGRvbnMjY3JlYXRlbnVtYmVybWFzayBgY3JlYXRlTnVtYmVyTWFza2B9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICBhbGxvd0RlY2ltYWwgPSBmYWxzZSxcbiAgICBkZWNpbWFsU3ltYm9sID0gJywnLFxuICAgIHRob3VzYW5kU3ltYm9sID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wgPSB0cnVlLFxuICAgIGRlY2ltYWxMaW1pdCA9IDIsXG4gICAgcmVxdWlyZURlY2ltYWwgPSBmYWxzZSxcbiAgICBhbGxvd05lZ2F0aXZlID0gZmFsc2UsXG4gICAgaW50ZWdlckxpbWl0ID0gMCxcbn06IFR1aU51bWJlck1hc2tPcHRpb25zID0ge30pOiBUdWlUZXh0TWFza0xpc3RIYW5kbGVyIHtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoZGVjaW1hbExpbWl0KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGludGVnZXJMaW1pdCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoaW50ZWdlckxpbWl0ID49IDApO1xuXG4gICAgcmV0dXJuIChyYXdWYWx1ZSwge3ByZXZpb3VzQ29uZm9ybWVkVmFsdWV9KSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NvbmZvcm1lZFZhbHVlICYmIHJlcXVpcmVEZWNpbWFsKSB7XG4gICAgICAgICAgICBjb25zdCBjb25mb3JtZWRXaXRob3V0U2VwYXJhdG9yID0gcmF3VmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmpvaW4oJycpO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yID1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCh0aG91c2FuZFN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdChkZWNpbWFsU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignJyk7XG5cbiAgICAgICAgICAgIC8vIEZvcmJpZCByZW1vdmFsIG9mIGRlY2ltYWwgc2VwYXJhdG9yIGlmIGRlY2ltYWwgcGFydCBpcyByZXF1aXJlZFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPT09XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByYXdWYWx1ZSA9IHByZXZpb3VzQ29uZm9ybWVkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc05lZ2F0aXZlID1cbiAgICAgICAgICAgIChyYXdWYWx1ZVswXSA9PT0gQ0hBUl9IWVBIRU4gfHwgcmF3VmFsdWVbMF0gPT09IENIQVJfRU5fREFTSCkgJiZcbiAgICAgICAgICAgIGFsbG93TmVnYXRpdmU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNEZWNpbWFsU3ltYm9sKHJhd1ZhbHVlLCBkZWNpbWFsU3ltYm9sLCBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpICYmXG4gICAgICAgICAgICBhbGxvd0RlY2ltYWxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gWycwJywgZGVjaW1hbFN5bWJvbCwgVFVJX0RJR0lUX1JFR0VYUF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgcmF3VmFsdWUgPSByYXdWYWx1ZS5zbGljZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY2ltYWxJbmRleCA9IGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICAgICAgICAgIHJhd1ZhbHVlLFxuICAgICAgICAgICAgZGVjaW1hbFN5bWJvbCxcbiAgICAgICAgICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaGFzRGVjaW1hbCA9IGRlY2ltYWxJbmRleCAhPT0gLTE7XG4gICAgICAgIGNvbnN0IGludGVnZXIgPSBoYXNEZWNpbWFsID8gcmF3VmFsdWUuc2xpY2UoMCwgZGVjaW1hbEluZGV4KSA6IHJhd1ZhbHVlO1xuICAgICAgICBjb25zdCB0aG91c2FuZFNlcGFyYXRvcnMgPSBpbnRlZ2VyLm1hdGNoKG5ldyBSZWdFeHAodGhvdXNhbmRTeW1ib2wsICdnJykpIHx8IFtdO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkID0gaW50ZWdlckxpbWl0XG4gICAgICAgICAgICA/IGludGVnZXIuc2xpY2UoMCwgaW50ZWdlckxpbWl0ICsgdGhvdXNhbmRTZXBhcmF0b3JzLmxlbmd0aClcbiAgICAgICAgICAgIDogaW50ZWdlcjtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZENsZWFuID0gaW50ZWdlckNhcHBlZC5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgJycpO1xuICAgICAgICBjb25zdCBbbGVhZGluZ1plcm9zTWF0Y2hdID0gaW50ZWdlckNhcHBlZENsZWFuLm1hdGNoKFxuICAgICAgICAgICAgVFVJX0xFQURJTkdfWkVST0VTX1JFR0VYUCxcbiAgICAgICAgKSB8fCBbJyddO1xuICAgICAgICBjb25zdCBsZWFkaW5nWmVyb3NBbW91bnQgPSBsZWFkaW5nWmVyb3NNYXRjaC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWRaZXJvc0NsZWFuID0gaW50ZWdlckNhcHBlZENsZWFuXG4gICAgICAgICAgICAucmVwbGFjZSgvXjArKD8hXFwufCQpLywgJycpXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgICAgICBjb25zdCB3aXRoU2VwYXJhdG9yID0gYWRkVGhvdXNhbmRzU2VwYXJhdG9yKFxuICAgICAgICAgICAgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4sXG4gICAgICAgICAgICB0aG91c2FuZFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbWFzayA9IGNvbnZlcnRUb01hc2sod2l0aFNlcGFyYXRvcik7XG5cbiAgICAgICAgaWYgKChoYXNEZWNpbWFsICYmIGFsbG93RGVjaW1hbCkgfHwgcmVxdWlyZURlY2ltYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uID0gaGFzRGVjaW1hbFxuICAgICAgICAgICAgICAgID8gY29udmVydFRvTWFzayhcbiAgICAgICAgICAgICAgICAgICAgICByYXdWYWx1ZS5zbGljZShkZWNpbWFsSW5kZXggKyAxKS5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgJycpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogW107XG4gICAgICAgICAgICBjb25zdCBmcmFjdGlvbkNhcHBlZCA9IGRlY2ltYWxMaW1pdFxuICAgICAgICAgICAgICAgID8gZnJhY3Rpb24uc2xpY2UoMCwgZGVjaW1hbExpbWl0KVxuICAgICAgICAgICAgICAgIDogZnJhY3Rpb247XG5cbiAgICAgICAgICAgIGlmIChyYXdWYWx1ZVtkZWNpbWFsSW5kZXhdICE9PSBvdGhlckRlY2ltYWxTeW1ib2woZGVjaW1hbFN5bWJvbCkpIHtcbiAgICAgICAgICAgICAgICBtYXNrLnB1c2goTUFTS19DQVJFVF9UUkFQKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFzay5wdXNoKGRlY2ltYWxTeW1ib2wsIE1BU0tfQ0FSRVRfVFJBUCwgLi4uZnJhY3Rpb25DYXBwZWQpO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlY2ltYWxMaW1pdCAtIGZyYWN0aW9uQ2FwcGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNPbmx5WmVyb0RpZ2l0ID0gbWFzay5sZW5ndGggPT09IDEgJiYgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPT09ICcwJztcblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgaWYgKG1hc2subGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnVuc2hpZnQoQ0hBUl9IWVBIRU4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZlbnRMZWFkaW5nWmVyb2VzKG1hc2ssIGlzT25seVplcm9EaWdpdCwgbGVhZGluZ1plcm9zQW1vdW50KTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBwcmV2ZW50TGVhZGluZ1plcm9lcyhcbiAgICBtYXNrOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+LFxuICAgIGlzT25seVplcm9EaWdpdDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGxlYWRpbmdaZXJvc0Ftb3VudDogbnVtYmVyID0gMCxcbik6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4ge1xuICAgIGlmIChpc09ubHlaZXJvRGlnaXQgfHwgbGVhZGluZ1plcm9zQW1vdW50ID09PSAwKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0RGlnaXRJbmRleCA9IG1hc2suaW5kZXhPZihUVUlfRElHSVRfUkVHRVhQKTtcblxuICAgIGlmIChmaXJzdERpZ2l0SW5kZXggPT09IC0xKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY29uZE1hc2tEaWdpdCA9IG1hc2tbZmlyc3REaWdpdEluZGV4ICsgMV07XG4gICAgY29uc3QgaXNDYXJldFRyYXAgPSBzZWNvbmRNYXNrRGlnaXQgPT09IE1BU0tfQ0FSRVRfVFJBUDtcblxuICAgIGlmIChpc0NhcmV0VHJhcCAmJiBsZWFkaW5nWmVyb3NBbW91bnQgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfSBlbHNlIGlmIChpc0NhcmV0VHJhcCkge1xuICAgICAgICBtYXNrLnVuc2hpZnQoTk9OX1pFUk9fRElHSVQpO1xuXG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIG1hc2tbZmlyc3REaWdpdEluZGV4XSA9IE5PTl9aRVJPX0RJR0lUO1xuXG4gICAgcmV0dXJuIG1hc2s7XG59XG5cbmZ1bmN0aW9uIGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogYm9vbGVhbixcbik6IG51bWJlciB7XG4gICAgaWYgKCFhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKTtcbiAgICB9XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKSxcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKG90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSksXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gaXNEZWNpbWFsU3ltYm9sKFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogYm9vbGVhbiB7XG4gICAgaWYgKGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gL15bLC5dJC8udGVzdChzdHIpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHIgPT09IGRlY2ltYWxTeW1ib2w7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb01hc2soc3RyTnVtYmVyOiBzdHJpbmcpOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+IHtcbiAgICByZXR1cm4gc3RyTnVtYmVyXG4gICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgLm1hcChjaGFyID0+IChUVUlfRElHSVRfUkVHRVhQLnRlc3QoY2hhcikgPyBUVUlfRElHSVRfUkVHRVhQIDogY2hhcikpO1xufVxuXG5mdW5jdGlvbiBhZGRUaG91c2FuZHNTZXBhcmF0b3Ioc3RyTnVtYmVyOiBzdHJpbmcsIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJOdW1iZXIubGVuZ3RoID4gM1xuICAgICAgICA/IHN0ck51bWJlci5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCB0aG91c2FuZFN5bWJvbClcbiAgICAgICAgOiBzdHJOdW1iZXI7XG59XG4iXX0=
@@ -3,4 +3,4 @@ export function tuiEnableAutoCorrectDecimalSymbol(_a) {
3
3
  var thousandSeparator = _a.thousandSeparator;
4
4
  return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5hYmxlLWF1dG8tY29ycmVjdC1kZWNpbWFsLXN5bWJvbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL3V0aWxzL21hc2svIiwic291cmNlcyI6WyJlbmFibGUtYXV0by1jb3JyZWN0LWRlY2ltYWwtc3ltYm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzdELE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxFQUUzQjtRQURuQix3Q0FBaUI7SUFFakIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RVSV9ERUNJTUFMX1NZTUJPTFN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge051bWJlckZvcm1hdFNldHRpbmdzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUVuYWJsZUF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCh7XG4gICAgdGhvdXNhbmRTZXBhcmF0b3IsXG59OiBOdW1iZXJGb3JtYXRTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhVFVJX0RFQ0lNQUxfU1lNQk9MUy5pbmNsdWRlcyh0aG91c2FuZFNlcGFyYXRvcik7XG59XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5hYmxlLWF1dG8tY29ycmVjdC1kZWNpbWFsLXN5bWJvbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL3V0aWxzL21hc2svIiwic291cmNlcyI6WyJlbmFibGUtYXV0by1jb3JyZWN0LWRlY2ltYWwtc3ltYm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzdELE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxFQUV4QjtRQUR0Qix3Q0FBaUI7SUFFakIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RVSV9ERUNJTUFMX1NZTUJPTFN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aU51bWJlckZvcm1hdFNldHRpbmdzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUVuYWJsZUF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCh7XG4gICAgdGhvdXNhbmRTZXBhcmF0b3IsXG59OiBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhVFVJX0RFQ0lNQUxfU1lNQk9MUy5pbmNsdWRlcyh0aG91c2FuZFNlcGFyYXRvcik7XG59XG4iXX0=
@@ -1,12 +1,13 @@
1
+ import { CHAR_HYPHEN } from '@taiga-ui/cdk';
1
2
  export function maskedMoneyValueIsEmpty(value) {
2
3
  switch (value) {
3
4
  case '':
4
- case '-':
5
+ case CHAR_HYPHEN:
5
6
  case ',':
6
- case '-,':
7
+ case CHAR_HYPHEN + ",":
7
8
  return true;
8
9
  default:
9
10
  return false;
10
11
  }
11
12
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2VkLW1vbmV5LXZhbHVlLWlzLWVtcHR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbIm1hc2tlZC1tb25leS12YWx1ZS1pcy1lbXB0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsdUJBQXVCLENBQUMsS0FBYTtJQUNqRCxRQUFRLEtBQUssRUFBRTtRQUNYLEtBQUssRUFBRSxDQUFDO1FBQ1IsS0FBSyxHQUFHLENBQUM7UUFDVCxLQUFLLEdBQUcsQ0FBQztRQUNULEtBQUssSUFBSTtZQUNMLE9BQU8sSUFBSSxDQUFDO1FBQ2hCO1lBQ0ksT0FBTyxLQUFLLENBQUM7S0FDcEI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICAgIGNhc2UgJyc6XG4gICAgICAgIGNhc2UgJy0nOlxuICAgICAgICBjYXNlICcsJzpcbiAgICAgICAgY2FzZSAnLSwnOlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2VkLW1vbmV5LXZhbHVlLWlzLWVtcHR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbIm1hc2tlZC1tb25leS12YWx1ZS1pcy1lbXB0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFhO0lBQ2pELFFBQVEsS0FBSyxFQUFFO1FBQ1gsS0FBSyxFQUFFLENBQUM7UUFDUixLQUFLLFdBQVcsQ0FBQztRQUNqQixLQUFLLEdBQUcsQ0FBQztRQUNULEtBQVEsV0FBVyxNQUFHO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCO1lBQ0ksT0FBTyxLQUFLLENBQUM7S0FDcEI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX0hZUEhFTn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXNrZWRNb25leVZhbHVlSXNFbXB0eSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgICBjYXNlICcnOlxuICAgICAgICBjYXNlIENIQVJfSFlQSEVOOlxuICAgICAgICBjYXNlICcsJzpcbiAgICAgICAgY2FzZSBgJHtDSEFSX0hZUEhFTn0sYDpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { TuiXmlParsingException } from '@taiga-ui/cdk';
2
2
  /**
3
- * @internal
3
+ * @deprecated
4
+ * TODO: remove in v3.0
4
5
  */
5
6
  export function innerHTML(documentRef) {
6
7
  var svg = documentRef.createElementNS('http://www.w3.org/2000/svg', 'svg');
@@ -35,4 +36,4 @@ export function innerHTML(documentRef) {
35
36
  },
36
37
  });
37
38
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5uZXItaHRtbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL3V0aWxzL3BvbHlmaWxscy8iLCJzb3VyY2VzIjpbImlubmVyLWh0bWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxXQUFxQjtJQUMzQyxJQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLDRCQUE0QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTdFLElBQUksR0FBRyxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7UUFDN0IsT0FBTztLQUNWO0lBRUQsSUFBTSxVQUFVLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUN2QyxJQUFNLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO0lBRS9CLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUU7UUFDckQsR0FBRyxFQUFFO1lBQ0QsSUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1lBQzVCLElBQUksU0FBUyxHQUFRLElBQUksQ0FBQyxVQUFVLENBQUM7WUFFckMsT0FBTyxTQUFTLEVBQUU7Z0JBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDckQsU0FBUyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUM7YUFDckM7WUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELEdBQUcsRUFBRSxVQUE0QixJQUFZO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDckM7WUFFRCxJQUFJO2dCQUNBLElBQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQ3hDLElBQUksRUFDSixlQUFlLENBQ2xCLENBQUMsZUFBZSxDQUFDO2dCQUVsQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7aUJBQ3hFO2FBQ0o7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixNQUFNLElBQUksc0JBQXNCLEVBQUUsQ0FBQzthQUN0QztRQUNMLENBQUM7S0FDSixDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlYbWxQYXJzaW5nRXhjZXB0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlubmVySFRNTChkb2N1bWVudFJlZjogRG9jdW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzdmcgPSBkb2N1bWVudFJlZi5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3N2ZycpO1xuXG4gICAgaWYgKHN2Zy5pbm5lckhUTUwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VyaWFsaXplciA9IG5ldyBYTUxTZXJpYWxpemVyKCk7XG4gICAgY29uc3QgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFNWR0VsZW1lbnQucHJvdG90eXBlLCAnaW5uZXJIVE1MJywge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICh0aGlzOiBTVkdFbGVtZW50KTogc3RyaW5nIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgICAgIGxldCBjaGlsZE5vZGU6IGFueSA9IHRoaXMuZmlyc3RDaGlsZDtcblxuICAgICAgICAgICAgd2hpbGUgKGNoaWxkTm9kZSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHNlcmlhbGl6ZXIuc2VyaWFsaXplVG9TdHJpbmcoY2hpbGROb2RlKSk7XG4gICAgICAgICAgICAgICAgY2hpbGROb2RlID0gY2hpbGROb2RlLm5leHRTaWJsaW5nO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0LmpvaW4oJycpO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh0aGlzOiBTVkdFbGVtZW50LCB0ZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgICAgIHdoaWxlICh0aGlzLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUNoaWxkKHRoaXMuZmlyc3RDaGlsZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3ZnRG9jRWxlbWVudCA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoXG4gICAgICAgICAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICAgICAgICAgICdpbWFnZS9zdmcreG1sJyxcbiAgICAgICAgICAgICAgICApLmRvY3VtZW50RWxlbWVudDtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm93bmVyRG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDaGlsZCh0aGlzLm93bmVyRG9jdW1lbnQuaW1wb3J0Tm9kZShzdmdEb2NFbGVtZW50LCB0cnVlKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUdWlYbWxQYXJzaW5nRXhjZXB0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5uZXItaHRtbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL3V0aWxzL3BvbHlmaWxscy8iLCJzb3VyY2VzIjpbImlubmVyLWh0bWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsV0FBcUI7SUFDM0MsSUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUU3RSxJQUFJLEdBQUcsQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1FBQzdCLE9BQU87S0FDVjtJQUVELElBQU0sVUFBVSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7SUFDdkMsSUFBTSxNQUFNLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztJQUUvQixNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFO1FBQ3JELEdBQUcsRUFBRTtZQUNELElBQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztZQUM1QixJQUFJLFNBQVMsR0FBUSxJQUFJLENBQUMsVUFBVSxDQUFDO1lBRXJDLE9BQU8sU0FBUyxFQUFFO2dCQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JELFNBQVMsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDO2FBQ3JDO1lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxHQUFHLEVBQUUsVUFBNEIsSUFBWTtZQUN6QyxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3JDO1lBRUQsSUFBSTtnQkFDQSxJQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUN4QyxJQUFJLEVBQ0osZUFBZSxDQUNsQixDQUFDLGVBQWUsQ0FBQztnQkFFbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUN4RTthQUNKO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsTUFBTSxJQUFJLHNCQUFzQixFQUFFLENBQUM7YUFDdEM7UUFDTCxDQUFDO0tBQ0osQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpWG1sUGFyc2luZ0V4Y2VwdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIFRPRE86IHJlbW92ZSBpbiB2My4wXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbm5lckhUTUwoZG9jdW1lbnRSZWY6IERvY3VtZW50KTogdm9pZCB7XG4gICAgY29uc3Qgc3ZnID0gZG9jdW1lbnRSZWYuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdzdmcnKTtcblxuICAgIGlmIChzdmcuaW5uZXJIVE1MICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlcmlhbGl6ZXIgPSBuZXcgWE1MU2VyaWFsaXplcigpO1xuICAgIGNvbnN0IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTVkdFbGVtZW50LnByb3RvdHlwZSwgJ2lubmVySFRNTCcsIHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAodGhpczogU1ZHRWxlbWVudCk6IHN0cmluZyB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XG4gICAgICAgICAgICBsZXQgY2hpbGROb2RlOiBhbnkgPSB0aGlzLmZpcnN0Q2hpbGQ7XG5cbiAgICAgICAgICAgIHdoaWxlIChjaGlsZE5vZGUpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChzZXJpYWxpemVyLnNlcmlhbGl6ZVRvU3RyaW5nKGNoaWxkTm9kZSkpO1xuICAgICAgICAgICAgICAgIGNoaWxkTm9kZSA9IGNoaWxkTm9kZS5uZXh0U2libGluZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5qb2luKCcnKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodGhpczogU1ZHRWxlbWVudCwgdGV4dDogc3RyaW5nKSB7XG4gICAgICAgICAgICB3aGlsZSAodGhpcy5maXJzdENoaWxkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVDaGlsZCh0aGlzLmZpcnN0Q2hpbGQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN2Z0RvY0VsZW1lbnQgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKFxuICAgICAgICAgICAgICAgICAgICB0ZXh0LFxuICAgICAgICAgICAgICAgICAgICAnaW1hZ2Uvc3ZnK3htbCcsXG4gICAgICAgICAgICAgICAgKS5kb2N1bWVudEVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vd25lckRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kQ2hpbGQodGhpcy5vd25lckRvY3VtZW50LmltcG9ydE5vZGUoc3ZnRG9jRWxlbWVudCwgdHJ1ZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHVpWG1sUGFyc2luZ0V4Y2VwdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH0pO1xufVxuIl19
@@ -45,7 +45,7 @@ let TuiOptionComponent = class TuiOptionComponent {
45
45
  };
46
46
  TuiOptionComponent.ctorParameters = () => [
47
47
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [TUI_OPTION_CONTENT,] }] },
48
- { type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => TuiDataListComponent),] }] },
48
+ { type: TuiDataListComponent, decorators: [{ type: Inject, args: [forwardRef(() => TuiDataListComponent),] }] },
49
49
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
50
50
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [TUI_DATA_LIST_HOST,] }] },
51
51
  { type: TuiDropdownDirective, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TuiDropdownDirective,] }] }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-data-list.js","sources":["ng://@taiga-ui/core/components/data-list/option/option.component.ts","ng://@taiga-ui/core/components/data-list/data-list.component.ts","ng://@taiga-ui/core/components/data-list/data-list.directive.ts","ng://@taiga-ui/core/components/data-list/data-list-dropdown-manager.directive.ts","ng://@taiga-ui/core/components/data-list/opt-group.directive.ts","ng://@taiga-ui/core/components/data-list/data-list.module.ts","ng://@taiga-ui/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {\n isNativeFocused,\n setNativeFocused,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiEventWith,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from '../data-list.component';\n\nexport function shouldFocus({\n currentTarget,\n}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !isNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: `button[tuiOption], a[tuiOption]`,\n templateUrl: './option.template.html',\n styleUrls: ['./option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: '-1',\n type: 'button',\n '[attr.disabled]': 'disabled || null',\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeL = 'm';\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiOptionRole = 'option';\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n value?: T;\n\n // TODO: 3.0 Fix dataList type when updated to Ivy and compilation drops metadata\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n > | null,\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: any,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding('class._with-dropdown')\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener('click')\n onClick(): void {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener('mousemove.init', ['$event'])\n @HostListener('mousemove.silent', ['$event'])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): void {\n setNativeFocused(currentTarget, true, true);\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy(): void {\n this.dataList.handleFocusLossIfNecessary(this.elementRef.nativeElement);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isNativeFocusedIn,\n isPresent,\n itemsQueryListObservable,\n moveFocus,\n setNativeMouseFocused,\n tuiAssertIsHTMLElement,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_ACCESSOR, TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n// @dynamic\n@Component({\n selector: 'tui-data-list',\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListComponent),\n },\n ],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiDataListRole = 'listbox';\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = '';\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener('mousedown.prevent')\n noop(): void {}\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n moveFocus(elements.indexOf(current), elements, step);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener('wheel.silent.passive', ['$event.currentTarget'])\n @HostListener('mouseleave', ['$event.target'])\n handleFocusLossIfNecessary(element: HTMLElement): void {\n if (this.origin && isNativeFocusedIn(element)) {\n setNativeMouseFocused(this.origin, true, true);\n }\n }\n\n getOptions(includeDisabled: boolean = false): readonly T[] {\n return this.options\n .toArray()\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(isPresent);\n }\n\n onFocus({target}: Event, top: boolean): void {\n tuiAssertIsHTMLElement(target);\n\n const {elements} = this;\n\n moveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(target);\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.elementRef.nativeElement.querySelectorAll('[tuiOption]'));\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestKeyboardFocusable,\n itemsQueryListObservable,\n preventDefault,\n setNativeFocused,\n tuiPure,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {\n debounceTime,\n filter,\n map,\n mapTo,\n shareReplay,\n switchMap,\n take,\n tap,\n} from 'rxjs/operators';\n\n// TODO: 3.0 Move into separate module\n@Directive({\n selector: 'tui-data-list[tuiDataListDropdownManager]',\n})\nexport class TuiDataListDropdownManagerDirective implements AfterViewInit {\n @ContentChildren(TuiDropdownDirective, {descendants: true})\n private readonly dropdowns: QueryList<TuiDropdownDirective> = EMPTY_QUERY;\n\n @ContentChildren(TuiDropdownDirective, {read: ElementRef, descendants: true})\n private readonly elements: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n ngAfterViewInit(): void {\n this.right$.subscribe(index => {\n this.tryToFocus(index);\n });\n\n merge(this.immediate$, this.debounce$)\n .pipe(\n switchMap(active => {\n this.dropdowns.forEach((dropdown, index) => {\n dropdown.open = index === active;\n });\n\n const element = this.elements.toArray()[active];\n const dropdown = this.dropdowns.toArray()[active];\n\n if (!element || !dropdown || !dropdown.dropdownBoxRef) {\n return EMPTY;\n }\n\n const {nativeElement} = dropdown.dropdownBoxRef.location;\n const mouseEnter$ = typedFromEvent(nativeElement, 'mouseenter').pipe(\n take(1),\n );\n const esc$ = merge(\n typedFromEvent(element.nativeElement, 'keydown'),\n typedFromEvent(nativeElement, 'keydown'),\n ).pipe(filter(({keyCode}) => keyCode === 27));\n\n return merge(mouseEnter$, esc$).pipe(\n tap(event => {\n if (dropdown.dropdownBoxRef) {\n event.stopPropagation();\n }\n\n setNativeFocused(element.nativeElement);\n // TODO: iframe warning\n dropdown.open = event instanceof MouseEvent;\n }),\n );\n }),\n )\n .subscribe();\n }\n\n @tuiPure\n private get elements$(): Observable<readonly HTMLElement[]> {\n return itemsQueryListObservable(this.elements).pipe(\n map(array => array.map(({nativeElement}) => nativeElement)),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n @tuiPure\n private get right$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'keydown').pipe(\n filter(({keyCode}) => keyCode === 39),\n preventDefault(),\n mapTo(index),\n ),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get immediate$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'click').pipe(mapTo(index)),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get debounce$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n merge(\n typedFromEvent(element, 'focus'),\n typedFromEvent(element, 'blur'),\n ).pipe(\n filter(({relatedTarget}) =>\n this.notInDropdown(relatedTarget, index),\n ),\n map(({type}) => (type === 'focus' ? index : NaN)),\n ),\n ),\n ),\n ),\n debounceTime(300),\n );\n }\n\n private notInDropdown(element: EventTarget | null, index: number): boolean {\n const dropdown = this.dropdowns.toArray()[index];\n\n return (\n !dropdown ||\n !dropdown.dropdownBoxRef ||\n !dropdown.dropdownBoxRef.location.nativeElement.contains(element)\n );\n }\n\n private tryToFocus(index: number): void {\n const dropdown = this.dropdowns.toArray()[index];\n const content = dropdown?.dropdownBoxRef?.instance.contentElementRef;\n\n if (!content) {\n return;\n }\n\n const item = getClosestKeyboardFocusable(\n content.nativeElement,\n false,\n content.nativeElement,\n );\n\n if (item) {\n setNativeFocused(item);\n }\n }\n}\n","import {Directive, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding('attr.data-label')\n @tuiDefaultProp()\n label = '';\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiDataListDropdownManagerDirective} from './data-list-dropdown-manager.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n})\nexport class TuiDataListModule {}\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-core-components-data-list.js","sources":["ng://@taiga-ui/core/components/data-list/option/option.component.ts","ng://@taiga-ui/core/components/data-list/data-list.component.ts","ng://@taiga-ui/core/components/data-list/data-list.directive.ts","ng://@taiga-ui/core/components/data-list/data-list-dropdown-manager.directive.ts","ng://@taiga-ui/core/components/data-list/opt-group.directive.ts","ng://@taiga-ui/core/components/data-list/data-list.module.ts","ng://@taiga-ui/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {\n isNativeFocused,\n setNativeFocused,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiEventWith,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from '../data-list.component';\n\nexport function shouldFocus({\n currentTarget,\n}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !isNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: `button[tuiOption], a[tuiOption]`,\n templateUrl: './option.template.html',\n styleUrls: ['./option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: '-1',\n type: 'button',\n '[attr.disabled]': 'disabled || null',\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeL = 'm';\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiOptionRole = 'option';\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n value?: T;\n\n // TODO: 3.0 Fix dataList type when updated to Ivy and compilation drops metadata\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n > | null,\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: TuiDataListComponent<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding('class._with-dropdown')\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener('click')\n onClick(): void {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener('mousemove.init', ['$event'])\n @HostListener('mousemove.silent', ['$event'])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): void {\n setNativeFocused(currentTarget, true, true);\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy(): void {\n this.dataList.handleFocusLossIfNecessary(this.elementRef.nativeElement);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isNativeFocusedIn,\n isPresent,\n itemsQueryListObservable,\n moveFocus,\n setNativeMouseFocused,\n tuiAssertIsHTMLElement,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_ACCESSOR, TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n// @dynamic\n@Component({\n selector: 'tui-data-list',\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListComponent),\n },\n ],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiDataListRole = 'listbox';\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = '';\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener('mousedown.prevent')\n noop(): void {}\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n moveFocus(elements.indexOf(current), elements, step);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener('wheel.silent.passive', ['$event.currentTarget'])\n @HostListener('mouseleave', ['$event.target'])\n handleFocusLossIfNecessary(element: HTMLElement): void {\n if (this.origin && isNativeFocusedIn(element)) {\n setNativeMouseFocused(this.origin, true, true);\n }\n }\n\n getOptions(includeDisabled: boolean = false): readonly T[] {\n return this.options\n .toArray()\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(isPresent);\n }\n\n onFocus({target}: Event, top: boolean): void {\n tuiAssertIsHTMLElement(target);\n\n const {elements} = this;\n\n moveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(target);\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.elementRef.nativeElement.querySelectorAll('[tuiOption]'));\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestKeyboardFocusable,\n itemsQueryListObservable,\n preventDefault,\n setNativeFocused,\n tuiPure,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {\n debounceTime,\n filter,\n map,\n mapTo,\n shareReplay,\n switchMap,\n take,\n tap,\n} from 'rxjs/operators';\n\n// TODO: 3.0 Move into separate module\n@Directive({\n selector: 'tui-data-list[tuiDataListDropdownManager]',\n})\nexport class TuiDataListDropdownManagerDirective implements AfterViewInit {\n @ContentChildren(TuiDropdownDirective, {descendants: true})\n private readonly dropdowns: QueryList<TuiDropdownDirective> = EMPTY_QUERY;\n\n @ContentChildren(TuiDropdownDirective, {read: ElementRef, descendants: true})\n private readonly elements: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n ngAfterViewInit(): void {\n this.right$.subscribe(index => {\n this.tryToFocus(index);\n });\n\n merge(this.immediate$, this.debounce$)\n .pipe(\n switchMap(active => {\n this.dropdowns.forEach((dropdown, index) => {\n dropdown.open = index === active;\n });\n\n const element = this.elements.toArray()[active];\n const dropdown = this.dropdowns.toArray()[active];\n\n if (!element || !dropdown || !dropdown.dropdownBoxRef) {\n return EMPTY;\n }\n\n const {nativeElement} = dropdown.dropdownBoxRef.location;\n const mouseEnter$ = typedFromEvent(nativeElement, 'mouseenter').pipe(\n take(1),\n );\n const esc$ = merge(\n typedFromEvent(element.nativeElement, 'keydown'),\n typedFromEvent(nativeElement, 'keydown'),\n ).pipe(filter(({keyCode}) => keyCode === 27));\n\n return merge(mouseEnter$, esc$).pipe(\n tap(event => {\n if (dropdown.dropdownBoxRef) {\n event.stopPropagation();\n }\n\n setNativeFocused(element.nativeElement);\n // TODO: iframe warning\n dropdown.open = event instanceof MouseEvent;\n }),\n );\n }),\n )\n .subscribe();\n }\n\n @tuiPure\n private get elements$(): Observable<readonly HTMLElement[]> {\n return itemsQueryListObservable(this.elements).pipe(\n map(array => array.map(({nativeElement}) => nativeElement)),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n @tuiPure\n private get right$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'keydown').pipe(\n filter(({keyCode}) => keyCode === 39),\n preventDefault(),\n mapTo(index),\n ),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get immediate$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'click').pipe(mapTo(index)),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get debounce$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n merge(\n typedFromEvent(element, 'focus'),\n typedFromEvent(element, 'blur'),\n ).pipe(\n filter(({relatedTarget}) =>\n this.notInDropdown(relatedTarget, index),\n ),\n map(({type}) => (type === 'focus' ? index : NaN)),\n ),\n ),\n ),\n ),\n debounceTime(300),\n );\n }\n\n private notInDropdown(element: EventTarget | null, index: number): boolean {\n const dropdown = this.dropdowns.toArray()[index];\n\n return (\n !dropdown ||\n !dropdown.dropdownBoxRef ||\n !dropdown.dropdownBoxRef.location.nativeElement.contains(element)\n );\n }\n\n private tryToFocus(index: number): void {\n const dropdown = this.dropdowns.toArray()[index];\n const content = dropdown?.dropdownBoxRef?.instance.contentElementRef;\n\n if (!content) {\n return;\n }\n\n const item = getClosestKeyboardFocusable(\n content.nativeElement,\n false,\n content.nativeElement,\n );\n\n if (item) {\n setNativeFocused(item);\n }\n }\n}\n","import {Directive, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding('attr.data-label')\n @tuiDefaultProp()\n label = '';\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiDataListDropdownManagerDirective} from './data-list-dropdown-manager.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n})\nexport class TuiDataListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -119,7 +119,7 @@ TuiDialogComponent = __decorate([
119
119
  changeDetection: ChangeDetectionStrategy.OnPush,
120
120
  providers: TUI_DIALOG_PROVIDERS,
121
121
  animations: [tuiSlideInTop, tuiFadeIn],
122
- styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:2.5rem solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:'';border-radius:inherit;pointer-events:none}:host[data-size='s']{width:30rem}:host[data-size='s'] .t-content{padding:1.5rem}:host[data-size='s'] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .t-heading{margin-bottom:.75rem;font:var(--tui-font-heading-4)}:host[data-size='l']{width:55rem}:host[data-size='l'] .t-heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem var(--tui-base-01)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{margin-bottom:1rem}:host[data-size=page] .t-content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}.t-heading{margin:0;word-wrap:break-word;font:var(--tui-font-heading-3)}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-wrapper{position:-webkit-sticky;position:sticky;top:0;order:-1}.t-close{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.t-close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .t-close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .t-close{display:none}:host-context(tui-root._mobile) .t-close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}:host-context(tui-root._mobile) .t-close:hover{color:var(--tui-base-07)}.t-buttons{margin-top:1.25rem;text-align:right}"]
122
+ styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:2.5rem solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:'';border-radius:inherit;pointer-events:none}:host[data-size=auto]{width:auto}:host[data-size='s']{width:30rem}:host[data-size='s'] .t-content{padding:1.5rem}:host[data-size='s'] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .t-heading{margin-bottom:.75rem;font:var(--tui-font-heading-4)}:host[data-size='l']{width:55rem}:host[data-size='l'] .t-heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem var(--tui-base-01)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{margin-bottom:1rem}:host[data-size=page] .t-content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}.t-heading{margin:0;word-wrap:break-word;font:var(--tui-font-heading-3)}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-wrapper{position:-webkit-sticky;position:sticky;top:0;order:-1}.t-close{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.t-close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .t-close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .t-close{display:none}:host-context(tui-root._mobile) .t-close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}:host-context(tui-root._mobile) .t-close:hover{color:var(--tui-base-07)}.t-buttons{margin-top:1.25rem;text-align:right}"]
123
123
  }),
124
124
  __param(0, Inject(TUI_ANIMATIONS_DURATION)),
125
125
  __param(1, Inject(TUI_IS_MOBILE)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-dialog.js","sources":["ng://@taiga-ui/core/components/dialog/dialog.providers.ts","ng://@taiga-ui/core/components/dialog/dialog.component.ts","ng://@taiga-ui/core/components/dialog/dialog.service.ts","ng://@taiga-ui/core/components/dialog/dialog.directive.ts","ng://@taiga-ui/core/components/dialog/dialog.module.ts","ng://@taiga-ui/core/components/dialog/taiga-ui-core-components-dialog.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n containsOrAfter,\n isCurrentTarget,\n TuiDestroyService,\n TuiDialog,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, switchMapTo, take, takeUntil} from 'rxjs/operators';\n\nexport const TUI_DIALOGS_CLOSE = new InjectionToken<Observable<unknown>>(\n 'A stream to close dialogs',\n {\n factory: () => EMPTY,\n },\n);\n\nconst SCROLLBAR_PLACEHOLDER = 17;\n\nexport function dialogCloseStreamFactory(\n documentRef: Document,\n windowRef: Window,\n {nativeElement}: ElementRef<HTMLElement>,\n close$: Observable<void>,\n destroy$: Observable<void>,\n {dismissible}: TuiDialog<TuiDialogOptions<unknown>, unknown>,\n): Observable<unknown> {\n return dismissible\n ? merge(\n typedFromEvent(nativeElement, 'click').pipe(filter(isCurrentTarget)),\n typedFromEvent(documentRef, 'keydown').pipe(\n // TODO: iframe warning\n filter(\n ({key, target}) =>\n key === 'Escape' &&\n target instanceof Element &&\n (!containsOrAfter(nativeElement, target) ||\n nativeElement.contains(target)),\n ),\n ),\n typedFromEvent(documentRef, 'mousedown').pipe(\n // TODO: iframe warning\n filter(\n ({target, clientX}) =>\n target instanceof Element &&\n windowRef.innerWidth - clientX > SCROLLBAR_PLACEHOLDER &&\n !containsOrAfter(nativeElement, target),\n ),\n switchMapTo(\n typedFromEvent(documentRef, 'mouseup').pipe(\n take(1),\n // TODO: iframe warning\n filter(\n ({target}) =>\n target instanceof Element &&\n !containsOrAfter(nativeElement, target),\n ),\n ),\n ),\n ),\n close$,\n ).pipe(takeUntil(destroy$))\n : close$;\n}\n\nexport const TUI_DIALOG_CLOSE_STREAM = new InjectionToken<Observable<unknown>>(\n 'Dialogs closing stream',\n);\nexport const TUI_DIALOG_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_DIALOG_CLOSE_STREAM,\n deps: [\n DOCUMENT,\n WINDOW,\n ElementRef,\n TUI_DIALOGS_CLOSE,\n TuiDestroyService,\n POLYMORPHEUS_CONTEXT,\n ],\n useFactory: dialogCloseStreamFactory,\n },\n];\n","import {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TUI_IS_MOBILE, TuiDialog} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions, TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATIONS_DURATION, TUI_CLOSE_WORD} from '@taiga-ui/core/tokens';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_DIALOG_CLOSE_STREAM, TUI_DIALOG_PROVIDERS} from './dialog.providers';\n\nconst REQUIRED_ERROR = new Error('Required dialog was dismissed');\n\n// @dynamic\n@Component({\n selector: 'tui-dialog',\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_DIALOG_PROVIDERS,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiDialogComponent<O, I> {\n private readonly animation = {\n value: '',\n params: {\n start: '40px',\n duration: this.duration,\n },\n } as const;\n\n private readonly fullscreenAnimation = {\n value: '',\n params: {\n start: '100vh',\n duration: this.duration,\n },\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) private readonly duration: number,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiDialogOptions<I>, O>,\n @Inject(TUI_DIALOG_CLOSE_STREAM)\n close$: Observable<unknown>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n ) {\n close$.subscribe(() => {\n this.close();\n });\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeS | TuiSizeL | 'fullscreen' | 'page' {\n return this.context.size;\n }\n\n @HostBinding('class._centered')\n get header(): PolymorpheusContent {\n return this.context.header;\n }\n\n @HostBinding('@tuiSlideInTop')\n @HostBinding('@tuiFadeIn')\n get slideInTop(): TuiAnimationOptions {\n return this.size === 'fullscreen' || this.size === 'page' || this.isMobile\n ? this.fullscreenAnimation\n : this.animation;\n }\n\n close(): void {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\n\nconst DIALOG = new PolymorpheusComponent(TuiDialogComponent);\nconst DEFAULT_OPTIONS = {\n size: 'm',\n required: false,\n closeable: true,\n dismissible: true,\n label: '',\n header: '',\n} as const;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiDialogService extends AbstractTuiDialogService<TuiDialogOptions<any>> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiDialogOptions<any> = DEFAULT_OPTIONS as any;\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiDialogService,\n },\n ],\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n})\nexport class TuiDialogDirective<T> extends AbstractTuiDialogDirective<\n TuiDialogOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_DIALOGS, TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TuiDialogDirective} from './dialog.directive';\nimport {TuiDialogService} from './dialog.service';\n\n@NgModule({\n imports: [PolymorpheusModule, TuiButtonModule, CommonModule, TuiPreventDefaultModule],\n declarations: [TuiDialogComponent, TuiDialogDirective],\n exports: [TuiDialogComponent, TuiDialogDirective],\n entryComponents: [TuiDialogComponent],\n providers: [\n {\n provide: TUI_DIALOGS,\n useExisting: TuiDialogService,\n multi: true,\n },\n ],\n})\nexport class TuiDialogModule {}\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-core-components-dialog.js","sources":["ng://@taiga-ui/core/components/dialog/dialog.providers.ts","ng://@taiga-ui/core/components/dialog/dialog.component.ts","ng://@taiga-ui/core/components/dialog/dialog.service.ts","ng://@taiga-ui/core/components/dialog/dialog.directive.ts","ng://@taiga-ui/core/components/dialog/dialog.module.ts","ng://@taiga-ui/core/components/dialog/taiga-ui-core-components-dialog.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n containsOrAfter,\n isCurrentTarget,\n TuiDestroyService,\n TuiDialog,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, switchMapTo, take, takeUntil} from 'rxjs/operators';\n\nexport const TUI_DIALOGS_CLOSE = new InjectionToken<Observable<unknown>>(\n 'A stream to close dialogs',\n {\n factory: () => EMPTY,\n },\n);\n\nconst SCROLLBAR_PLACEHOLDER = 17;\n\nexport function dialogCloseStreamFactory(\n documentRef: Document,\n windowRef: Window,\n {nativeElement}: ElementRef<HTMLElement>,\n close$: Observable<void>,\n destroy$: Observable<void>,\n {dismissible}: TuiDialog<TuiDialogOptions<unknown>, unknown>,\n): Observable<unknown> {\n return dismissible\n ? merge(\n typedFromEvent(nativeElement, 'click').pipe(filter(isCurrentTarget)),\n typedFromEvent(documentRef, 'keydown').pipe(\n // TODO: iframe warning\n filter(\n ({key, target}) =>\n key === 'Escape' &&\n target instanceof Element &&\n (!containsOrAfter(nativeElement, target) ||\n nativeElement.contains(target)),\n ),\n ),\n typedFromEvent(documentRef, 'mousedown').pipe(\n // TODO: iframe warning\n filter(\n ({target, clientX}) =>\n target instanceof Element &&\n windowRef.innerWidth - clientX > SCROLLBAR_PLACEHOLDER &&\n !containsOrAfter(nativeElement, target),\n ),\n switchMapTo(\n typedFromEvent(documentRef, 'mouseup').pipe(\n take(1),\n // TODO: iframe warning\n filter(\n ({target}) =>\n target instanceof Element &&\n !containsOrAfter(nativeElement, target),\n ),\n ),\n ),\n ),\n close$,\n ).pipe(takeUntil(destroy$))\n : close$;\n}\n\nexport const TUI_DIALOG_CLOSE_STREAM = new InjectionToken<Observable<unknown>>(\n 'Dialogs closing stream',\n);\nexport const TUI_DIALOG_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_DIALOG_CLOSE_STREAM,\n deps: [\n DOCUMENT,\n WINDOW,\n ElementRef,\n TUI_DIALOGS_CLOSE,\n TuiDestroyService,\n POLYMORPHEUS_CONTEXT,\n ],\n useFactory: dialogCloseStreamFactory,\n },\n];\n","import {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TUI_IS_MOBILE, TuiDialog} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions, TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATIONS_DURATION, TUI_CLOSE_WORD} from '@taiga-ui/core/tokens';\nimport {TuiDialogSize} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_DIALOG_CLOSE_STREAM, TUI_DIALOG_PROVIDERS} from './dialog.providers';\n\nconst REQUIRED_ERROR = new Error('Required dialog was dismissed');\n\n// @dynamic\n@Component({\n selector: 'tui-dialog',\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_DIALOG_PROVIDERS,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiDialogComponent<O, I> {\n private readonly animation = {\n value: '',\n params: {\n start: '40px',\n duration: this.duration,\n },\n } as const;\n\n private readonly fullscreenAnimation = {\n value: '',\n params: {\n start: '100vh',\n duration: this.duration,\n },\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) private readonly duration: number,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiDialogOptions<I>, O>,\n @Inject(TUI_DIALOG_CLOSE_STREAM)\n close$: Observable<unknown>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n ) {\n close$.subscribe(() => {\n this.close();\n });\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiDialogSize {\n return this.context.size;\n }\n\n @HostBinding('class._centered')\n get header(): PolymorpheusContent {\n return this.context.header;\n }\n\n @HostBinding('@tuiSlideInTop')\n @HostBinding('@tuiFadeIn')\n get slideInTop(): TuiAnimationOptions {\n return this.size === 'fullscreen' || this.size === 'page' || this.isMobile\n ? this.fullscreenAnimation\n : this.animation;\n }\n\n close(): void {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\n\nconst DIALOG = new PolymorpheusComponent(TuiDialogComponent);\nconst DEFAULT_OPTIONS = {\n size: 'm',\n required: false,\n closeable: true,\n dismissible: true,\n label: '',\n header: '',\n} as const;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiDialogService extends AbstractTuiDialogService<TuiDialogOptions<any>> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiDialogOptions<any> = DEFAULT_OPTIONS as any;\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiDialogService,\n },\n ],\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n})\nexport class TuiDialogDirective<T> extends AbstractTuiDialogDirective<\n TuiDialogOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_DIALOGS, TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TuiDialogDirective} from './dialog.directive';\nimport {TuiDialogService} from './dialog.service';\n\n@NgModule({\n imports: [PolymorpheusModule, TuiButtonModule, CommonModule, TuiPreventDefaultModule],\n declarations: [TuiDialogComponent, TuiDialogDirective],\n exports: [TuiDialogComponent, TuiDialogDirective],\n entryComponents: [TuiDialogComponent],\n providers: [\n {\n provide: TUI_DIALOGS,\n useExisting: TuiDialogService,\n multi: true,\n },\n ],\n})\nexport class TuiDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}