@taiga-ui/core 3.34.0 → 3.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/bundles/taiga-ui-core-components-alert.umd.js +33 -3
  2. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-expand.umd.js +6 -7
  4. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +3 -1
  6. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  8. package/bundles/taiga-ui-core-constants.umd.js +8 -0
  9. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-directives-dropdown.umd.js +36 -25
  11. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-enums.umd.js +9 -0
  13. package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-utils-mask.umd.js +19 -0
  15. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  16. package/components/alert/alert.directive.d.ts +7 -0
  17. package/components/alert/alert.module.d.ts +5 -4
  18. package/components/alert/index.d.ts +1 -0
  19. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +1 -1
  20. package/constants/cache-basting-payload.d.ts +1 -1
  21. package/constants/decimal-symbols.d.ts +4 -0
  22. package/constants/mask-caret-trap.d.ts +4 -0
  23. package/directives/dropdown/dropdown-options.directive.d.ts +3 -1
  24. package/directives/dropdown/dropdown.component.d.ts +5 -4
  25. package/directives/dropdown/dropdown.module.d.ts +1 -2
  26. package/esm2015/components/alert/alert.directive.js +28 -0
  27. package/esm2015/components/alert/alert.module.js +5 -4
  28. package/esm2015/components/alert/index.js +2 -1
  29. package/esm2015/components/expand/expand.component.js +7 -8
  30. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +4 -2
  31. package/esm2015/components/root/root.component.js +1 -1
  32. package/esm2015/constants/decimal-symbols.js +5 -1
  33. package/esm2015/constants/mask-caret-trap.js +5 -1
  34. package/esm2015/directives/dropdown/dropdown-options.directive.js +8 -3
  35. package/esm2015/directives/dropdown/dropdown.component.js +30 -20
  36. package/esm2015/directives/dropdown/dropdown.module.js +1 -5
  37. package/esm2015/enums/appearance.js +3 -1
  38. package/esm2015/enums/dropdown-animation.js +2 -1
  39. package/esm2015/enums/interactive-state.js +3 -1
  40. package/esm2015/enums/notification.js +3 -1
  41. package/esm2015/enums/range-state.js +3 -1
  42. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +3 -1
  43. package/esm2015/utils/mask/create-number-mask.js +3 -1
  44. package/esm2015/utils/mask/enable-auto-correct-decimal-symbol.js +5 -1
  45. package/esm2015/utils/mask/masked-money-value-is-empty.js +8 -1
  46. package/esm2015/utils/mask/masked-number-string-to-number.js +5 -1
  47. package/fesm2015/taiga-ui-core-components-alert.js +30 -6
  48. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  49. package/fesm2015/taiga-ui-core-components-expand.js +6 -7
  50. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  51. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +3 -1
  52. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  53. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  54. package/fesm2015/taiga-ui-core-constants.js +8 -0
  55. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  56. package/fesm2015/taiga-ui-core-directives-dropdown.js +27 -16
  57. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  58. package/fesm2015/taiga-ui-core-enums.js +9 -0
  59. package/fesm2015/taiga-ui-core-enums.js.map +1 -1
  60. package/fesm2015/taiga-ui-core-utils-mask.js +19 -0
  61. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  62. package/package.json +6 -6
  63. package/utils/mask/create-auto-corrected-money-pipe.d.ts +2 -0
  64. package/utils/mask/create-number-mask.d.ts +2 -0
  65. package/utils/mask/enable-auto-correct-decimal-symbol.d.ts +4 -0
  66. package/utils/mask/masked-money-value-is-empty.d.ts +7 -0
  67. package/utils/mask/masked-number-string-to-number.d.ts +4 -0
@@ -1,5 +1,7 @@
1
1
  import { CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, tuiAssert, tuiGetDocumentOrShadowRoot, tuiIsNativeFocused, tuiIsSafari, } from '@taiga-ui/cdk';
2
2
  /**
3
+ * TODO: delete in v4.0
4
+ * @deprecated Use {@link https://tinkoff.github.io/maskito/kit/number Number} from {@link https://github.com/Tinkoff/maskito Maskito} instead <br/>
3
5
  * Used to finish a number with zeros to a given precision
4
6
  */
5
7
  export function tuiCreateAutoCorrectedNumberPipe(decimalLimit = 0, decimalSymbol = `,`, thousandSymbol = CHAR_NO_BREAK_SPACE, nativeInput, allowNegative, isIOS = false) {
@@ -87,4 +89,4 @@ function calculateCaretGap(previousValue = ``, current, thousandSymbol) {
87
89
  const nowSpaces = current.split(thousandSymbol).length;
88
90
  return nowSpaces - wereSpaces;
89
91
  }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL21hc2svY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBSXZCOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdDQUFnQyxDQUM1QyxlQUF1QixDQUFDLEVBQ3hCLGdCQUFrQyxHQUFHLEVBQ3JDLGlCQUF5QixtQkFBbUIsRUFDNUMsV0FBcUMsRUFDckMsYUFBdUIsRUFDdkIsS0FBSyxHQUFHLEtBQUs7SUFFYixTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFakQseUNBQXlDO0lBQ3pDLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUM7SUFFckUsSUFBSSxXQUFXLElBQUksT0FBTyxFQUFFO1FBQ3hCLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQzdDLGFBQWEsR0FBRyxXQUFXLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztLQUNOO0lBRUQsT0FBTyxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUM5QixvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLFdBQVcsSUFBSSxhQUFhLEVBQUU7WUFDckUsT0FBTyxXQUFX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QU0sQ0FBQztJQUV2RCxPQUFPLFNBQVMsR0FBRyxVQUFVLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ0hBUl9IWVBIRU4sXG4gICAgQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICB0dWlBc3NlcnQsXG4gICAgdHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIHR1aUlzU2FmYXJpLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpVGV4dE1hc2tQaXBlSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvbWFzayc7XG5pbXBvcnQge1R1aURlY2ltYWxTeW1ib2x9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcblxuLyoqXG4gKiBVc2VkIHRvIGZpbmlzaCBhIG51bWJlciB3aXRoIHplcm9zIHRvIGEgZ2l2ZW4gcHJlY2lzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkTnVtYmVyUGlwZShcbiAgICBkZWNpbWFsTGltaXQ6IG51bWJlciA9IDAsXG4gICAgZGVjaW1hbFN5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCA9IGAsYCxcbiAgICB0aG91c2FuZFN5bWJvbDogc3RyaW5nID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBuYXRpdmVJbnB1dD86IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsLFxuICAgIGFsbG93TmVnYXRpdmU/OiBib29sZWFuLFxuICAgIGlzSU9TID0gZmFsc2UsXG4pOiBUdWlUZXh0TWFza1BpcGVIYW5kbGVyIHtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG5cbiAgICAvLyBHdWVzcyBmb3Igd2hpY2ggYnJvd3NlciBJIG5lZWQgdGhpcyA6KVxuICAgIGxldCBwcmV2aW91c0NhcmV0ID0gLTE7XG4gICAgY29uc3QgdW5sdWNreSA9ICghIW5hdGl2ZUlucHV0ICYmIHR1aUlzU2FmYXJpKG5hdGl2ZUlucHV0KSkgfHwgaXNJT1M7XG5cbiAgICBpZiAobmF0aXZlSW5wdXQgJiYgdW5sdWNreSkge1xuICAgICAgICBuYXRpdmVJbnB1dC5hZGRFdmVudExpc3RlbmVyKGBiZWZvcmVpbnB1dGAsICgpID0+IHtcbiAgICAgICAgICAgIHByZXZpb3VzQ2FyZXQgPSBuYXRpdmVJbnB1dC5zZWxlY3Rpb25TdGFydCB8fCAwO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKGNvbmZvcm1lZFZhbHVlLCBjb25maWcpID0+IHtcbiAgICAgICAgLy8gUmVtb3ZpbmcgZXZlcnl0aGluZyBieSBzZWxlY3RpbmcgYW5kIHByZXNzaW5nICctJ1xuICAgICAgICBpZiAoIWNvbmZvcm1lZFZhbHVlICYmIGNvbmZpZy5yYXdWYWx1ZSA9PT0gQ0hBUl9IWVBIRU4gJiYgYWxsb3dOZWdhdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuIENIQVJfSFlQSEVOO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVtb3ZlIHRoZXNlIGhhY2tzIGFmdGVyIHRleHQgbWFzayBsaWJyYXJ5IGhhcyBjaGFuZ2VkXG4gICAgICAgIGlmIChuYXRpdmVJbnB1dCAmJiB1bmx1Y2t5ICYmIHR1aUlzTmF0aXZlRm9jdXNlZChuYXRpdmVJbnB1dCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhcmV0ID0gY2FsY3VsYXRlU2FmYXJpQ2FyZXQoXG4gICAgICAgICAgICAgICAgY29uZmlnLnByZXZpb3VzQ29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgY29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgcHJldmlvdXNDYXJldCxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUlucHV0LnNldFNlbGVjdGlvblJhbmdlKGNhcmV0LCBjYXJldCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG5hdGl2ZUlucHV0ICYmXG4gICAgICAgICAgICBuYXRpdmVJbnB1dC5vd25lckRvY3VtZW50ICE9PSB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdChuYXRpdmVJbnB1dCkgJiZcbiAgICAgICAgICAgIHR1aUlzTmF0aXZlRm9jdXNlZChuYXRpdmVJbnB1dCkgJiZcbiAgICAgICAgICAgIGNvbmZpZy5jdXJyZW50Q2FyZXRQb3NpdGlvblxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWxDYXJldFBvc2l0aW9uID1cbiAgICAgICAgICAgICAgICBjb25maWcuY3VycmVudENhcmV0UG9zaXRpb24gK1xuICAgICAgICAgICAgICAgIGNhbGN1bGF0ZUNhcmV0R2FwKFxuICAgICAgICAgICAgICAgICAgICBjb25maWcucHJldmlvdXNDb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUlucHV0LnNldFNlbGVjdGlvblJhbmdlKHJlYWxDYXJldFBvc2l0aW9uLCByZWFsQ2FyZXRQb3NpdGlvbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25mb3JtZWRWYWx1ZSA9PT0gYGAgfHwgIWRlY2ltYWxMaW1pdCB8fCAhTnVtYmVyLmlzSW50ZWdlcihkZWNpbWFsTGltaXQpKSB7XG4gICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiBjb25mb3JtZWRWYWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB3aXRoRGVjaW1hbFN5bWJvbCA9IGFkZERlY2ltYWxTeW1ib2xJZk5lZWRlZChjb25mb3JtZWRWYWx1ZSwgZGVjaW1hbFN5bWJvbCk7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID0gd2l0aERlY2ltYWxTeW1ib2wuc3BsaXQoZGVjaW1hbFN5bWJvbClbMV07XG4gICAgICAgIGNvbnN0IHplcm9QYWRkaW5nU2l6ZSA9IGRlY2ltYWxMaW1pdCAtIGRlY2ltYWxQYXJ0Lmxlbmd0aDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IHdpdGhEZWNpbWFsU3ltYm9sICsgYDBgLnJlcGVhdCh6ZXJvUGFkZGluZ1NpemUpLFxuICAgICAgICB9O1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIGFkZERlY2ltYWxTeW1ib2xJZk5lZWRlZChcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wgPSBgLGAsXG4pOiBzdHJpbmcge1xuICAgIHJldHVybiAhdmFsdWUuaW5jbHVkZXMoZGVjaW1hbFN5bWJvbCkgPyB2YWx1ZSArIGRlY2ltYWxTeW1ib2wgOiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlU2FmYXJpQ2FyZXQoXG4gICAgcHJldmlvdXNWYWx1ZTogc3RyaW5nID0gYGAsXG4gICAgY3VycmVudDogc3RyaW5nLFxuICAgIHByZXZpb3VzQ2FyZXQ6IG51bWJlcixcbiAgICBkZWNpbWFsU3ltYm9sOiBzdHJpbmcgPSBgLGAsXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IHRhaWxSZWdleCA9IG5ldyBSZWdFeHAoYCR7ZGVjaW1hbFN5bWJvbH0uK2ApO1xuICAgIGNvbnN0IHByZXZpb3VzV2l0aG91dFRhaWwgPSBwcmV2aW91c1ZhbHVlLnJlcGxhY2UodGFpbFJlZ2V4LCBgYCk7XG4gICAgY29uc3QgY3VycmVudFdpdGhvdXRUYWlsID0gY3VycmVudC5yZXBsYWNlKHRhaWxSZWdleCwgYGApO1xuXG4gICAgY29uc3QgcGFzdGVPckN1dE9wZXJhdGlvbiA9XG4gICAgICAgIE1hdGguYWJzKHByZXZpb3VzV2l0aG91dFRhaWwubGVuZ3RoIC0gY3VycmVudFdpdGhvdXRUYWlsLmxlbmd0aCkgPiAyO1xuXG4gICAgaWYgKHBhc3RlT3JDdXRPcGVyYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQubGVuZ3RoO1xuICAgIH1cblxuICAgIGlmIChwcmV2aW91c1ZhbHVlLmxlbmd0aCA9PT0gY3VycmVudC5sZW5ndGgpIHtcbiAgICAgICAgaWYgKHByZXZpb3VzVmFsdWUuaW5kZXhPZihkZWNpbWFsU3ltYm9sKSA8PSBwcmV2aW91c0NhcmV0KSB7XG4gICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlQ2hhbmdlZFRhaWxJbmRleChwcmV2aW91c1ZhbHVlLCBjdXJyZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcmV2aW91c1dpdGhvdXRUYWlsID09PSBjdXJyZW50V2l0aG91dFRhaWxcbiAgICAgICAgICAgID8gcHJldmlvdXNDYXJldCAtIDFcbiAgICAgICAgICAgIDogcHJldmlvdXNDYXJldCArIDE7XG4gICAgfVxuXG4gICAgaWYgKHByZXZpb3VzVmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZUxlbmd0aCA9IGN1cnJlbnQubGVuZ3RoIC0gcHJldmlvdXNWYWx1ZS5sZW5ndGg7XG5cbiAgICByZXR1cm4gcHJldmlvdXNDYXJldCArIGNoYW5nZUxlbmd0aDtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlQ2hhbmdlZFRhaWxJbmRleChwcmV2aW91czogc3RyaW5nLCBjdXJyZW50OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3VycmVudC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAocHJldmlvdXNbaV0gIT09IGN1cnJlbnRbaV0pIHtcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50W2ldID09PSBgMGAgPyBpIDogaSArIDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudC5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNhcmV0R2FwKFxuICAgIHByZXZpb3VzVmFsdWU6IHN0cmluZyA9IGBgLFxuICAgIGN1cnJlbnQ6IHN0cmluZyxcbiAgICB0aG91c2FuZFN5bWJvbDogc3RyaW5nLFxuKTogbnVtYmVyIHtcbiAgICBjb25zdCBwYXN0ZU9yQ3V0T3BlcmF0aW9uID0gTWF0aC5hYnMocHJldmlvdXNWYWx1ZS5sZW5ndGggLSBjdXJyZW50Lmxlbmd0aCkgPiAyO1xuXG4gICAgaWYgKHBhc3RlT3JDdXRPcGVyYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3Qgd2VyZVNwYWNlcyA9IHByZXZpb3VzVmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmxlbmd0aDtcbiAgICBjb25zdCBub3dTcGFjZXMgPSBjdXJyZW50LnNwbGl0KHRob3VzYW5kU3ltYm9sKS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbm93U3BhY2VzIC0gd2VyZVNwYWNlcztcbn1cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL21hc2svY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBSXZCOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDLENBQzVDLGVBQXVCLENBQUMsRUFDeEIsZ0JBQWtDLEdBQUcsRUFDckMsaUJBQXlCLG1CQUFtQixFQUM1QyxXQUFxQyxFQUNyQyxhQUF1QixFQUN2QixLQUFLLEdBQUcsS0FBSztJQUViLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVqRCx5Q0FBeUM7SUFDekMsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUVyRSxJQUFJLFdBQVcsSUFBSSxPQUFPLEVBQUU7UUFDeEIsV0FBVyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7WUFDN0MsYUFBYSxHQUFHLFdBQVcsQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0tBQ047SUFFRCxPQUFPLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzlCLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssV0FBVyxJQUFJLGFBQWEsRUFBRTtZQUNyRSxPQUFPLFdB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TUFBTSxDQUFDO0lBRXZELE9BQU8sU0FBUyxHQUFHLFVBQVUsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDSEFSX0hZUEhFTixcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIHR1aUFzc2VydCxcbiAgICB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpSXNTYWZhcmksXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlUZXh0TWFza1BpcGVIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcbmltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG4vKipcbiAqIFRPRE86IGRlbGV0ZSBpbiB2NC4wXG4gKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIGh0dHBzOi8vdGlua29mZi5naXRodWIuaW8vbWFza2l0by9raXQvbnVtYmVyIE51bWJlcn0gZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL1RpbmtvZmYvbWFza2l0byBNYXNraXRvfSBpbnN0ZWFkIDxici8+XG4gKiBVc2VkIHRvIGZpbmlzaCBhIG51bWJlciB3aXRoIHplcm9zIHRvIGEgZ2l2ZW4gcHJlY2lzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkTnVtYmVyUGlwZShcbiAgICBkZWNpbWFsTGltaXQ6IG51bWJlciA9IDAsXG4gICAgZGVjaW1hbFN5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCA9IGAsYCxcbiAgICB0aG91c2FuZFN5bWJvbDogc3RyaW5nID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBuYXRpdmVJbnB1dD86IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsLFxuICAgIGFsbG93TmVnYXRpdmU/OiBib29sZWFuLFxuICAgIGlzSU9TID0gZmFsc2UsXG4pOiBUdWlUZXh0TWFza1BpcGVIYW5kbGVyIHtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG5cbiAgICAvLyBHdWVzcyBmb3Igd2hpY2ggYnJvd3NlciBJIG5lZWQgdGhpcyA6KVxuICAgIGxldCBwcmV2aW91c0NhcmV0ID0gLTE7XG4gICAgY29uc3QgdW5sdWNreSA9ICghIW5hdGl2ZUlucHV0ICYmIHR1aUlzU2FmYXJpKG5hdGl2ZUlucHV0KSkgfHwgaXNJT1M7XG5cbiAgICBpZiAobmF0aXZlSW5wdXQgJiYgdW5sdWNreSkge1xuICAgICAgICBuYXRpdmVJbnB1dC5hZGRFdmVudExpc3RlbmVyKGBiZWZvcmVpbnB1dGAsICgpID0+IHtcbiAgICAgICAgICAgIHByZXZpb3VzQ2FyZXQgPSBuYXRpdmVJbnB1dC5zZWxlY3Rpb25TdGFydCB8fCAwO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKGNvbmZvcm1lZFZhbHVlLCBjb25maWcpID0+IHtcbiAgICAgICAgLy8gUmVtb3ZpbmcgZXZlcnl0aGluZyBieSBzZWxlY3RpbmcgYW5kIHByZXNzaW5nICctJ1xuICAgICAgICBpZiAoIWNvbmZvcm1lZFZhbHVlICYmIGNvbmZpZy5yYXdWYWx1ZSA9PT0gQ0hBUl9IWVBIRU4gJiYgYWxsb3dOZWdhdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuIENIQVJfSFlQSEVOO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVtb3ZlIHRoZXNlIGhhY2tzIGFmdGVyIHRleHQgbWFzayBsaWJyYXJ5IGhhcyBjaGFuZ2VkXG4gICAgICAgIGlmIChuYXRpdmVJbnB1dCAmJiB1bmx1Y2t5ICYmIHR1aUlzTmF0aXZlRm9jdXNlZChuYXRpdmVJbnB1dCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhcmV0ID0gY2FsY3VsYXRlU2FmYXJpQ2FyZXQoXG4gICAgICAgICAgICAgICAgY29uZmlnLnByZXZpb3VzQ29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgY29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgcHJldmlvdXNDYXJldCxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUlucHV0LnNldFNlbGVjdGlvblJhbmdlKGNhcmV0LCBjYXJldCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG5hdGl2ZUlucHV0ICYmXG4gICAgICAgICAgICBuYXRpdmVJbnB1dC5vd25lckRvY3VtZW50ICE9PSB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdChuYXRpdmVJbnB1dCkgJiZcbiAgICAgICAgICAgIHR1aUlzTmF0aXZlRm9jdXNlZChuYXRpdmVJbnB1dCkgJiZcbiAgICAgICAgICAgIGNvbmZpZy5jdXJyZW50Q2FyZXRQb3NpdGlvblxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWxDYXJldFBvc2l0aW9uID1cbiAgICAgICAgICAgICAgICBjb25maWcuY3VycmVudENhcmV0UG9zaXRpb24gK1xuICAgICAgICAgICAgICAgIGNhbGN1bGF0ZUNhcmV0R2FwKFxuICAgICAgICAgICAgICAgICAgICBjb25maWcucHJldmlvdXNDb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUlucHV0LnNldFNlbGVjdGlvblJhbmdlKHJlYWxDYXJldFBvc2l0aW9uLCByZWFsQ2FyZXRQb3NpdGlvbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25mb3JtZWRWYWx1ZSA9PT0gYGAgfHwgIWRlY2ltYWxMaW1pdCB8fCAhTnVtYmVyLmlzSW50ZWdlcihkZWNpbWFsTGltaXQpKSB7XG4gICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiBjb25mb3JtZWRWYWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB3aXRoRGVjaW1hbFN5bWJvbCA9IGFkZERlY2ltYWxTeW1ib2xJZk5lZWRlZChjb25mb3JtZWRWYWx1ZSwgZGVjaW1hbFN5bWJvbCk7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID0gd2l0aERlY2ltYWxTeW1ib2wuc3BsaXQoZGVjaW1hbFN5bWJvbClbMV07XG4gICAgICAgIGNvbnN0IHplcm9QYWRkaW5nU2l6ZSA9IGRlY2ltYWxMaW1pdCAtIGRlY2ltYWxQYXJ0Lmxlbmd0aDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IHdpdGhEZWNpbWFsU3ltYm9sICsgYDBgLnJlcGVhdCh6ZXJvUGFkZGluZ1NpemUpLFxuICAgICAgICB9O1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIGFkZERlY2ltYWxTeW1ib2xJZk5lZWRlZChcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wgPSBgLGAsXG4pOiBzdHJpbmcge1xuICAgIHJldHVybiAhdmFsdWUuaW5jbHVkZXMoZGVjaW1hbFN5bWJvbCkgPyB2YWx1ZSArIGRlY2ltYWxTeW1ib2wgOiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlU2FmYXJpQ2FyZXQoXG4gICAgcHJldmlvdXNWYWx1ZTogc3RyaW5nID0gYGAsXG4gICAgY3VycmVudDogc3RyaW5nLFxuICAgIHByZXZpb3VzQ2FyZXQ6IG51bWJlcixcbiAgICBkZWNpbWFsU3ltYm9sOiBzdHJpbmcgPSBgLGAsXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IHRhaWxSZWdleCA9IG5ldyBSZWdFeHAoYCR7ZGVjaW1hbFN5bWJvbH0uK2ApO1xuICAgIGNvbnN0IHByZXZpb3VzV2l0aG91dFRhaWwgPSBwcmV2aW91c1ZhbHVlLnJlcGxhY2UodGFpbFJlZ2V4LCBgYCk7XG4gICAgY29uc3QgY3VycmVudFdpdGhvdXRUYWlsID0gY3VycmVudC5yZXBsYWNlKHRhaWxSZWdleCwgYGApO1xuXG4gICAgY29uc3QgcGFzdGVPckN1dE9wZXJhdGlvbiA9XG4gICAgICAgIE1hdGguYWJzKHByZXZpb3VzV2l0aG91dFRhaWwubGVuZ3RoIC0gY3VycmVudFdpdGhvdXRUYWlsLmxlbmd0aCkgPiAyO1xuXG4gICAgaWYgKHBhc3RlT3JDdXRPcGVyYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQubGVuZ3RoO1xuICAgIH1cblxuICAgIGlmIChwcmV2aW91c1ZhbHVlLmxlbmd0aCA9PT0gY3VycmVudC5sZW5ndGgpIHtcbiAgICAgICAgaWYgKHByZXZpb3VzVmFsdWUuaW5kZXhPZihkZWNpbWFsU3ltYm9sKSA8PSBwcmV2aW91c0NhcmV0KSB7XG4gICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlQ2hhbmdlZFRhaWxJbmRleChwcmV2aW91c1ZhbHVlLCBjdXJyZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcmV2aW91c1dpdGhvdXRUYWlsID09PSBjdXJyZW50V2l0aG91dFRhaWxcbiAgICAgICAgICAgID8gcHJldmlvdXNDYXJldCAtIDFcbiAgICAgICAgICAgIDogcHJldmlvdXNDYXJldCArIDE7XG4gICAgfVxuXG4gICAgaWYgKHByZXZpb3VzVmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZUxlbmd0aCA9IGN1cnJlbnQubGVuZ3RoIC0gcHJldmlvdXNWYWx1ZS5sZW5ndGg7XG5cbiAgICByZXR1cm4gcHJldmlvdXNDYXJldCArIGNoYW5nZUxlbmd0aDtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlQ2hhbmdlZFRhaWxJbmRleChwcmV2aW91czogc3RyaW5nLCBjdXJyZW50OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3VycmVudC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAocHJldmlvdXNbaV0gIT09IGN1cnJlbnRbaV0pIHtcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50W2ldID09PSBgMGAgPyBpIDogaSArIDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudC5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNhcmV0R2FwKFxuICAgIHByZXZpb3VzVmFsdWU6IHN0cmluZyA9IGBgLFxuICAgIGN1cnJlbnQ6IHN0cmluZyxcbiAgICB0aG91c2FuZFN5bWJvbDogc3RyaW5nLFxuKTogbnVtYmVyIHtcbiAgICBjb25zdCBwYXN0ZU9yQ3V0T3BlcmF0aW9uID0gTWF0aC5hYnMocHJldmlvdXNWYWx1ZS5sZW5ndGggLSBjdXJyZW50Lmxlbmd0aCkgPiAyO1xuXG4gICAgaWYgKHBhc3RlT3JDdXRPcGVyYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3Qgd2VyZVNwYWNlcyA9IHByZXZpb3VzVmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmxlbmd0aDtcbiAgICBjb25zdCBub3dTcGFjZXMgPSBjdXJyZW50LnNwbGl0KHRob3VzYW5kU3ltYm9sKS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbm93U3BhY2VzIC0gd2VyZVNwYWNlcztcbn1cbiJdfQ==
@@ -3,6 +3,8 @@ import { MASK_CARET_TRAP, TUI_DIGIT_REGEXP, TUI_LEADING_ZEROES_REGEXP, TUI_NON_D
3
3
  import { tuiOtherDecimalSymbol } from '@taiga-ui/core/utils/format';
4
4
  const NON_ZERO_DIGIT = /[1-9]/;
5
5
  /**
6
+ * TODO: delete in v4.0
7
+ * @deprecated Use {@link https://tinkoff.github.io/maskito/kit/number Number} from {@link https://github.com/Tinkoff/maskito Maskito} instead <br/>
6
8
  * Adaptation for {@link https://github.com/text-mask/text-mask/tree/master/addons#createnumbermask `createNumberMask`}
7
9
  */
8
10
  export function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = `,`, thousandSymbol = CHAR_NO_BREAK_SPACE, autoCorrectDecimalSymbol = true, decimalLimit = 2, requireDecimal = false, allowNegative = false, integerLimit = 0, } = {}) {
@@ -117,4 +119,4 @@ function addThousandsSeparator(strNumber, thousandSymbol) {
117
119
  strNumber.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSymbol)
118
120
  : strNumber;
119
121
  }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL2NyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUUvQjs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQUNoQyxZQUFZLEdBQUcsS0FBSyxFQUNwQixhQUFhLEdBQUcsR0FBRyxFQUNuQixjQUFjLEdBQUcsbUJBQW1CLEVBQ3BDLHdCQUF3QixHQUFHLElBQUksRUFDL0IsWUFBWSxHQUFHLENBQUMsRUFDaEIsY0FBYyxHQUFHLEtBQUssRUFDdEIsYUFBYSxHQUFHLEtBQUssRUFDckIsWUFBWSxHQUFHLENBQUMsTUFDTSxFQUFFO0lBQ3hCLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDOUQsU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRWpELDBDQUEwQztJQUMxQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUMsc0JBQXNCLEVBQUMsRUFBRSxFQUFFO1FBQzFDLElBQUksc0JBQXNCLElBQUksY0FB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RSxDQUFDO1NBQ1QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLFNBQWlCLEVBQUUsY0FBc0I7SUFDcEUsT0FBTyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDdkIsQ0FBQyxDQUFDLCtGQUErRjtZQUMvRixtREFBbUQ7WUFDbkQsU0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxjQUFjLENBQUM7UUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX0VOX0RBU0gsIENIQVJfSFlQSEVOLCBDSEFSX05PX0JSRUFLX1NQQUNFLCB0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNQVNLX0NBUkVUX1RSQVAsXG4gICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfTEVBRElOR19aRVJPRVNfUkVHRVhQLFxuICAgIFRVSV9OT05fRElHSVRTX1JFR0VYUCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTnVtYmVyTWFza09wdGlvbnMsIFR1aVRleHRNYXNrTGlzdEhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL21hc2snO1xuaW1wb3J0IHtUdWlEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aU90aGVyRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZm9ybWF0JztcblxuY29uc3QgTk9OX1pFUk9fRElHSVQgPSAvWzEtOV0vO1xuXG4vKipcbiAqIEFkYXB0YXRpb24gZm9yIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGV4dC1tYXNrL3RleHQtbWFzay90cmVlL21hc3Rlci9hZGRvbnMjY3JlYXRlbnVtYmVybWFzayBgY3JlYXRlTnVtYmVyTWFza2B9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICBhbGxvd0RlY2ltYWwgPSBmYWxzZSxcbiAgICBkZWNpbWFsU3ltYm9sID0gYCxgLFxuICAgIHRob3VzYW5kU3ltYm9sID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wgPSB0cnVlLFxuICAgIGRlY2ltYWxMaW1pdCA9IDIsXG4gICAgcmVxdWlyZURlY2ltYWwgPSBmYWxzZSxcbiAgICBhbGxvd05lZ2F0aXZlID0gZmFsc2UsXG4gICAgaW50ZWdlckxpbWl0ID0gMCxcbn06IFR1aU51bWJlck1hc2tPcHRpb25zID0ge30pOiBUdWlUZXh0TWFza0xpc3RIYW5kbGVyIHtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG4gICAgbmdEZXZNb2RlICYmIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihpbnRlZ2VyTGltaXQpKTtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChpbnRlZ2VyTGltaXQgPj0gMCk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LXN0YXRlbWVudHNcbiAgICByZXR1cm4gKHJhd1ZhbHVlLCB7cHJldmlvdXNDb25mb3JtZWRWYWx1ZX0pID0+IHtcbiAgICAgICAgaWYgKHByZXZpb3VzQ29uZm9ybWVkVmFsdWUgJiYgcmVxdWlyZURlY2ltYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPSByYXdWYWx1ZS5zcGxpdCh0aG91c2FuZFN5bWJvbCkuam9pbihgYCk7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c0NvbmZvcm1lZFZhbHVlV2l0aG91dERlY2ltYWxTeW1ib2xBbmRTZXBhcmF0b3IgPVxuICAgICAgICAgICAgICAgIHByZXZpb3VzQ29uZm9ybWVkVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KHRob3VzYW5kU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihgYClcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KGRlY2ltYWxTeW1ib2wpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKGBgKTtcblxuICAgICAgICAgICAgLy8gRm9yYmlkIHJlbW92YWwgb2YgZGVjaW1hbCBzZXBhcmF0b3IgaWYgZGVjaW1hbCBwYXJ0IGlzIHJlcXVpcmVkXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgY29uZm9ybWVkV2l0aG91dFNlcGFyYXRvciA9PT1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlV2l0aG91dERlY2ltYWxTeW1ib2xBbmRTZXBhcmF0b3JcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJhd1ZhbHVlID0gcHJldmlvdXNDb25mb3JtZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzTmVnYXRpdmUgPVxuICAgICAgICAgICAgKHJhd1ZhbHVlPy5zdGFydHNXaXRoKENIQVJfSFlQSEVOKSB8fCByYXdWYWx1ZT8uc3RhcnRzV2l0aChDSEFSX0VOX0RBU0gpKSAmJlxuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBpc0RlY2ltYWxTeW1ib2wocmF3VmFsdWUsIGRlY2ltYWxTeW1ib2wsIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkgJiZcbiAgICAgICAgICAgIGFsbG93RGVjaW1hbFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBbYDBgLCBkZWNpbWFsU3ltYm9sLCBUVUlfRElHSVRfUkVHRVhQXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc05lZ2F0aXZlKSB7XG4gICAgICAgICAgICByYXdWYWx1ZSA9IHJhd1ZhbHVlLnNsaWNlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVjaW1hbEluZGV4ID0gZ2V0RGVjaW1hbFN5bWJvbEluZGV4KFxuICAgICAgICAgICAgcmF3VmFsdWUsXG4gICAgICAgICAgICBkZWNpbWFsU3ltYm9sLFxuICAgICAgICAgICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBoYXNEZWNpbWFsID0gZGVjaW1hbEluZGV4ICE9PSAtMTtcbiAgICAgICAgY29uc3QgaW50ZWdlciA9IGhhc0RlY2ltYWwgPyByYXdWYWx1ZS5zbGljZSgwLCBkZWNpbWFsSW5kZXgpIDogcmF3VmFsdWU7XG4gICAgICAgIGNvbnN0IHRob3VzYW5kU2VwYXJhdG9ycyA9IGludGVnZXIubWF0Y2gobmV3IFJlZ0V4cCh0aG91c2FuZFN5bWJvbCwgYGdgKSkgfHwgW107XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWQgPSBpbnRlZ2VyTGltaXRcbiAgICAgICAgICAgID8gaW50ZWdlci5zbGljZSgwLCBpbnRlZ2VyTGltaXQgKyB0aG91c2FuZFNlcGFyYXRvcnMubGVuZ3RoKVxuICAgICAgICAgICAgOiBpbnRlZ2VyO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkQ2xlYW4gPSBpbnRlZ2VyQ2FwcGVkLnJlcGxhY2UoVFVJX05PTl9ESUdJVFNfUkVHRVhQLCBgYCk7XG4gICAgICAgIGNvbnN0IFtsZWFkaW5nWmVyb3NNYXRjaF0gPSBpbnRlZ2VyQ2FwcGVkQ2xlYW4ubWF0Y2goXG4gICAgICAgICAgICBUVUlfTEVBRElOR19aRVJPRVNfUkVHRVhQLFxuICAgICAgICApIHx8IFtgYF07XG4gICAgICAgIGNvbnN0IGxlYWRpbmdaZXJvc0Ftb3VudCA9IGxlYWRpbmdaZXJvc01hdGNoLmxlbmd0aDtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPSBpbnRlZ2VyQ2FwcGVkQ2xlYW5cbiAgICAgICAgICAgIC5yZXBsYWNlKC9eMCsoPyFcXC58JCkvLCBgYClcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgICAgIGNvbnN0IHdpdGhTZXBhcmF0b3IgPSBhZGRUaG91c2FuZHNTZXBhcmF0b3IoXG4gICAgICAgICAgICBpbnRlZ2VyQ2FwcGVkWmVyb3NDbGVhbixcbiAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBtYXNrID0gY29udmVydFRvTWFzayh3aXRoU2VwYXJhdG9yKTtcblxuICAgICAgICBpZiAoKGhhc0RlY2ltYWwgJiYgYWxsb3dEZWNpbWFsKSB8fCByZXF1aXJlRGVjaW1hbCkge1xuICAgICAgICAgICAgY29uc3QgZnJhY3Rpb24gPSBoYXNEZWNpbWFsXG4gICAgICAgICAgICAgICAgPyBjb252ZXJ0VG9NYXNrKFxuICAgICAgICAgICAgICAgICAgICAgIHJhd1ZhbHVlLnNsaWNlKGRlY2ltYWxJbmRleCArIDEpLnJlcGxhY2UoVFVJX05PTl9ESUdJVFNfUkVHRVhQLCBgYCksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBbXTtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uQ2FwcGVkID0gZGVjaW1hbExpbWl0XG4gICAgICAgICAgICAgICAgPyBmcmFjdGlvbi5zbGljZSgwLCBkZWNpbWFsTGltaXQpXG4gICAgICAgICAgICAgICAgOiBmcmFjdGlvbjtcblxuICAgICAgICAgICAgaWYgKHJhd1ZhbHVlW2RlY2ltYWxJbmRleF0gIT09IHR1aU90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSkge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChNQVNLX0NBUkVUX1RSQVApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnB1c2goZGVjaW1hbFN5bWJvbCwgTUFTS19DQVJFVF9UUkFQLCAuLi5mcmFjdGlvbkNhcHBlZCk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTWF0aC5taW4oZGVjaW1hbExpbWl0IC0gZnJhY3Rpb25DYXBwZWQubGVuZ3RoLCAyMCk7IGkrKykge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChUVUlfRElHSVRfUkVHRVhQKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzT25seVplcm9EaWdpdCA9IG1hc2subGVuZ3RoID09PSAxICYmIGludGVnZXJDYXBwZWRaZXJvc0NsZWFuID09PSBgMGA7XG5cbiAgICAgICAgaWYgKGlzTmVnYXRpdmUpIHtcbiAgICAgICAgICAgIGlmIChtYXNrLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChUVUlfRElHSVRfUkVHRVhQKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFzay51bnNoaWZ0KENIQVJfSFlQSEVOKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcmV2ZW50TGVhZGluZ1plcm9lcyhtYXNrLCBpc09ubHlaZXJvRGlnaXQsIGxlYWRpbmdaZXJvc0Ftb3VudCk7XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gcHJldmVudExlYWRpbmdaZXJvZXMoXG4gICAgbWFzazogQXJyYXk8UmVnRXhwIHwgc3RyaW5nPixcbiAgICBpc09ubHlaZXJvRGlnaXQ6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBsZWFkaW5nWmVyb3NBbW91bnQ6IG51bWJlciA9IDAsXG4pOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICBpZiAoaXNPbmx5WmVyb0RpZ2l0IHx8IGxlYWRpbmdaZXJvc0Ftb3VudCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdERpZ2l0SW5kZXggPSBtYXNrLmluZGV4T2YoVFVJX0RJR0lUX1JFR0VYUCk7XG5cbiAgICBpZiAoZmlyc3REaWdpdEluZGV4ID09PSAtMSkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRNYXNrRGlnaXQgPSBtYXNrW2ZpcnN0RGlnaXRJbmRleCArIDFdO1xuICAgIGNvbnN0IGlzQ2FyZXRUcmFwID0gc2Vjb25kTWFza0RpZ2l0ID09PSBNQVNLX0NBUkVUX1RSQVA7XG5cbiAgICBpZiAoaXNDYXJldFRyYXAgJiYgbGVhZGluZ1plcm9zQW1vdW50ID09PSAxKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGlmIChpc0NhcmV0VHJhcCkge1xuICAgICAgICBtYXNrLnVuc2hpZnQoTk9OX1pFUk9fRElHSVQpO1xuXG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIG1hc2tbZmlyc3REaWdpdEluZGV4XSA9IE5PTl9aRVJPX0RJR0lUO1xuXG4gICAgcmV0dXJuIG1hc2s7XG59XG5cbmZ1bmN0aW9uIGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogYm9vbGVhbixcbik6IG51bWJlciB7XG4gICAgaWYgKCFhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKTtcbiAgICB9XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKSxcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKHR1aU90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSksXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gaXNEZWNpbWFsU3ltYm9sKFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogYm9vbGVhbiB7XG4gICAgaWYgKGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gL15bLC5dJC8udGVzdChzdHIpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHIgPT09IGRlY2ltYWxTeW1ib2w7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb01hc2soc3RyTnVtYmVyOiBzdHJpbmcpOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICByZXR1cm4gc3RyTnVtYmVyXG4gICAgICAgIC5zcGxpdChgYClcbiAgICAgICAgLm1hcChjaGFyID0+IChUVUlfRElHSVRfUkVHRVhQLnRlc3QoY2hhcikgPyBUVUlfRElHSVRfUkVHRVhQIDogY2hhcikpO1xufVxuXG5mdW5jdGlvbiBhZGRUaG91c2FuZHNTZXBhcmF0b3Ioc3RyTnVtYmVyOiBzdHJpbmcsIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJOdW1iZXIubGVuZ3RoID4gM1xuICAgICAgICA/IC8vIFRPRE86IGludmVzdGlnYXRlIHRvIGRpc2FsbG93IHBvdGVudGlhbGx5IGNhdGFzdHJvcGhpYyBleHBvbmVudGlhbC10aW1lIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tdW5zYWZlLXJlZ2V4XG4gICAgICAgICAgc3RyTnVtYmVyLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRob3VzYW5kU3ltYm9sKVxuICAgICAgICA6IHN0ck51bWJlcjtcbn1cbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL2NyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUUvQjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEVBQ2hDLFlBQVksR0FBRyxLQUFLLEVBQ3BCLGFBQWEsR0FBRyxHQUFHLEVBQ25CLGNBQWMsR0FBRyxtQkFBbUIsRUFDcEMsd0JBQXdCLEdBQUcsSUFBSSxFQUMvQixZQUFZLEdBQUcsQ0FBQyxFQUNoQixjQUFjLEdBQUcsS0FBSyxFQUN0QixhQUFhLEdBQUcsS0FBSyxFQUNyQixZQUFZLEdBQUcsQ0FBQyxNQUNNLEVBQUU7SUFDeEIsU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUM5RCxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFakQsMENBQTBDO0lBQzFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBQyxzQkFBc0IsRUFBQyxFQUFFLEVBQUU7UUFDMUMsSUFBSSxzQkFBc0IsSUFBSSxj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QUFFLENBQUM7U0FDVCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsU0FBaUIsRUFBRSxjQUFzQjtJQUNwRSxPQUFPLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN2QixDQUFDLENBQUMsK0ZBQStGO1lBQy9GLG1EQUFtRDtZQUNuRCxTQUFTLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLGNBQWMsQ0FBQztRQUM1RCxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfRU5fREFTSCwgQ0hBUl9IWVBIRU4sIENIQVJfTk9fQlJFQUtfU1BBQ0UsIHR1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1BU0tfQ0FSRVRfVFJBUCxcbiAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgIFRVSV9MRUFESU5HX1pFUk9FU19SRUdFWFAsXG4gICAgVFVJX05PTl9ESUdJVFNfUkVHRVhQLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlOdW1iZXJNYXNrT3B0aW9ucywgVHVpVGV4dE1hc2tMaXN0SGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvbWFzayc7XG5pbXBvcnQge1R1aURlY2ltYWxTeW1ib2x9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7dHVpT3RoZXJEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuXG5jb25zdCBOT05fWkVST19ESUdJVCA9IC9bMS05XS87XG5cbi8qKlxuICogVE9ETzogZGVsZXRlIGluIHY0LjBcbiAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgaHR0cHM6Ly90aW5rb2ZmLmdpdGh1Yi5pby9tYXNraXRvL2tpdC9udW1iZXIgTnVtYmVyfSBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vVGlua29mZi9tYXNraXRvIE1hc2tpdG99IGluc3RlYWQgPGJyLz5cbiAqIEFkYXB0YXRpb24gZm9yIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGV4dC1tYXNrL3RleHQtbWFzay90cmVlL21hc3Rlci9hZGRvbnMjY3JlYXRlbnVtYmVybWFzayBgY3JlYXRlTnVtYmVyTWFza2B9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICBhbGxvd0RlY2ltYWwgPSBmYWxzZSxcbiAgICBkZWNpbWFsU3ltYm9sID0gYCxgLFxuICAgIHRob3VzYW5kU3ltYm9sID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wgPSB0cnVlLFxuICAgIGRlY2ltYWxMaW1pdCA9IDIsXG4gICAgcmVxdWlyZURlY2ltYWwgPSBmYWxzZSxcbiAgICBhbGxvd05lZ2F0aXZlID0gZmFsc2UsXG4gICAgaW50ZWdlckxpbWl0ID0gMCxcbn06IFR1aU51bWJlck1hc2tPcHRpb25zID0ge30pOiBUdWlUZXh0TWFza0xpc3RIYW5kbGVyIHtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG4gICAgbmdEZXZNb2RlICYmIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihpbnRlZ2VyTGltaXQpKTtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChpbnRlZ2VyTGltaXQgPj0gMCk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LXN0YXRlbWVudHNcbiAgICByZXR1cm4gKHJhd1ZhbHVlLCB7cHJldmlvdXNDb25mb3JtZWRWYWx1ZX0pID0+IHtcbiAgICAgICAgaWYgKHByZXZpb3VzQ29uZm9ybWVkVmFsdWUgJiYgcmVxdWlyZURlY2ltYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPSByYXdWYWx1ZS5zcGxpdCh0aG91c2FuZFN5bWJvbCkuam9pbihgYCk7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c0NvbmZvcm1lZFZhbHVlV2l0aG91dERlY2ltYWxTeW1ib2xBbmRTZXBhcmF0b3IgPVxuICAgICAgICAgICAgICAgIHByZXZpb3VzQ29uZm9ybWVkVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KHRob3VzYW5kU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihgYClcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KGRlY2ltYWxTeW1ib2wpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKGBgKTtcblxuICAgICAgICAgICAgLy8gRm9yYmlkIHJlbW92YWwgb2YgZGVjaW1hbCBzZXBhcmF0b3IgaWYgZGVjaW1hbCBwYXJ0IGlzIHJlcXVpcmVkXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgY29uZm9ybWVkV2l0aG91dFNlcGFyYXRvciA9PT1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlV2l0aG91dERlY2ltYWxTeW1ib2xBbmRTZXBhcmF0b3JcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJhd1ZhbHVlID0gcHJldmlvdXNDb25mb3JtZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzTmVnYXRpdmUgPVxuICAgICAgICAgICAgKHJhd1ZhbHVlPy5zdGFydHNXaXRoKENIQVJfSFlQSEVOKSB8fCByYXdWYWx1ZT8uc3RhcnRzV2l0aChDSEFSX0VOX0RBU0gpKSAmJlxuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBpc0RlY2ltYWxTeW1ib2wocmF3VmFsdWUsIGRlY2ltYWxTeW1ib2wsIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkgJiZcbiAgICAgICAgICAgIGFsbG93RGVjaW1hbFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBbYDBgLCBkZWNpbWFsU3ltYm9sLCBUVUlfRElHSVRfUkVHRVhQXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc05lZ2F0aXZlKSB7XG4gICAgICAgICAgICByYXdWYWx1ZSA9IHJhd1ZhbHVlLnNsaWNlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVjaW1hbEluZGV4ID0gZ2V0RGVjaW1hbFN5bWJvbEluZGV4KFxuICAgICAgICAgICAgcmF3VmFsdWUsXG4gICAgICAgICAgICBkZWNpbWFsU3ltYm9sLFxuICAgICAgICAgICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBoYXNEZWNpbWFsID0gZGVjaW1hbEluZGV4ICE9PSAtMTtcbiAgICAgICAgY29uc3QgaW50ZWdlciA9IGhhc0RlY2ltYWwgPyByYXdWYWx1ZS5zbGljZSgwLCBkZWNpbWFsSW5kZXgpIDogcmF3VmFsdWU7XG4gICAgICAgIGNvbnN0IHRob3VzYW5kU2VwYXJhdG9ycyA9IGludGVnZXIubWF0Y2gobmV3IFJlZ0V4cCh0aG91c2FuZFN5bWJvbCwgYGdgKSkgfHwgW107XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWQgPSBpbnRlZ2VyTGltaXRcbiAgICAgICAgICAgID8gaW50ZWdlci5zbGljZSgwLCBpbnRlZ2VyTGltaXQgKyB0aG91c2FuZFNlcGFyYXRvcnMubGVuZ3RoKVxuICAgICAgICAgICAgOiBpbnRlZ2VyO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkQ2xlYW4gPSBpbnRlZ2VyQ2FwcGVkLnJlcGxhY2UoVFVJX05PTl9ESUdJVFNfUkVHRVhQLCBgYCk7XG4gICAgICAgIGNvbnN0IFtsZWFkaW5nWmVyb3NNYXRjaF0gPSBpbnRlZ2VyQ2FwcGVkQ2xlYW4ubWF0Y2goXG4gICAgICAgICAgICBUVUlfTEVBRElOR19aRVJPRVNfUkVHRVhQLFxuICAgICAgICApIHx8IFtgYF07XG4gICAgICAgIGNvbnN0IGxlYWRpbmdaZXJvc0Ftb3VudCA9IGxlYWRpbmdaZXJvc01hdGNoLmxlbmd0aDtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPSBpbnRlZ2VyQ2FwcGVkQ2xlYW5cbiAgICAgICAgICAgIC5yZXBsYWNlKC9eMCsoPyFcXC58JCkvLCBgYClcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgICAgIGNvbnN0IHdpdGhTZXBhcmF0b3IgPSBhZGRUaG91c2FuZHNTZXBhcmF0b3IoXG4gICAgICAgICAgICBpbnRlZ2VyQ2FwcGVkWmVyb3NDbGVhbixcbiAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBtYXNrID0gY29udmVydFRvTWFzayh3aXRoU2VwYXJhdG9yKTtcblxuICAgICAgICBpZiAoKGhhc0RlY2ltYWwgJiYgYWxsb3dEZWNpbWFsKSB8fCByZXF1aXJlRGVjaW1hbCkge1xuICAgICAgICAgICAgY29uc3QgZnJhY3Rpb24gPSBoYXNEZWNpbWFsXG4gICAgICAgICAgICAgICAgPyBjb252ZXJ0VG9NYXNrKFxuICAgICAgICAgICAgICAgICAgICAgIHJhd1ZhbHVlLnNsaWNlKGRlY2ltYWxJbmRleCArIDEpLnJlcGxhY2UoVFVJX05PTl9ESUdJVFNfUkVHRVhQLCBgYCksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBbXTtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uQ2FwcGVkID0gZGVjaW1hbExpbWl0XG4gICAgICAgICAgICAgICAgPyBmcmFjdGlvbi5zbGljZSgwLCBkZWNpbWFsTGltaXQpXG4gICAgICAgICAgICAgICAgOiBmcmFjdGlvbjtcblxuICAgICAgICAgICAgaWYgKHJhd1ZhbHVlW2RlY2ltYWxJbmRleF0gIT09IHR1aU90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSkge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChNQVNLX0NBUkVUX1RSQVApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnB1c2goZGVjaW1hbFN5bWJvbCwgTUFTS19DQVJFVF9UUkFQLCAuLi5mcmFjdGlvbkNhcHBlZCk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTWF0aC5taW4oZGVjaW1hbExpbWl0IC0gZnJhY3Rpb25DYXBwZWQubGVuZ3RoLCAyMCk7IGkrKykge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChUVUlfRElHSVRfUkVHRVhQKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzT25seVplcm9EaWdpdCA9IG1hc2subGVuZ3RoID09PSAxICYmIGludGVnZXJDYXBwZWRaZXJvc0NsZWFuID09PSBgMGA7XG5cbiAgICAgICAgaWYgKGlzTmVnYXRpdmUpIHtcbiAgICAgICAgICAgIGlmIChtYXNrLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChUVUlfRElHSVRfUkVHRVhQKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFzay51bnNoaWZ0KENIQVJfSFlQSEVOKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcmV2ZW50TGVhZGluZ1plcm9lcyhtYXNrLCBpc09ubHlaZXJvRGlnaXQsIGxlYWRpbmdaZXJvc0Ftb3VudCk7XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gcHJldmVudExlYWRpbmdaZXJvZXMoXG4gICAgbWFzazogQXJyYXk8UmVnRXhwIHwgc3RyaW5nPixcbiAgICBpc09ubHlaZXJvRGlnaXQ6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBsZWFkaW5nWmVyb3NBbW91bnQ6IG51bWJlciA9IDAsXG4pOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICBpZiAoaXNPbmx5WmVyb0RpZ2l0IHx8IGxlYWRpbmdaZXJvc0Ftb3VudCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdERpZ2l0SW5kZXggPSBtYXNrLmluZGV4T2YoVFVJX0RJR0lUX1JFR0VYUCk7XG5cbiAgICBpZiAoZmlyc3REaWdpdEluZGV4ID09PSAtMSkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRNYXNrRGlnaXQgPSBtYXNrW2ZpcnN0RGlnaXRJbmRleCArIDFdO1xuICAgIGNvbnN0IGlzQ2FyZXRUcmFwID0gc2Vjb25kTWFza0RpZ2l0ID09PSBNQVNLX0NBUkVUX1RSQVA7XG5cbiAgICBpZiAoaXNDYXJldFRyYXAgJiYgbGVhZGluZ1plcm9zQW1vdW50ID09PSAxKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGlmIChpc0NhcmV0VHJhcCkge1xuICAgICAgICBtYXNrLnVuc2hpZnQoTk9OX1pFUk9fRElHSVQpO1xuXG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIG1hc2tbZmlyc3REaWdpdEluZGV4XSA9IE5PTl9aRVJPX0RJR0lUO1xuXG4gICAgcmV0dXJuIG1hc2s7XG59XG5cbmZ1bmN0aW9uIGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogYm9vbGVhbixcbik6IG51bWJlciB7XG4gICAgaWYgKCFhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKTtcbiAgICB9XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKSxcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKHR1aU90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSksXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gaXNEZWNpbWFsU3ltYm9sKFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogYm9vbGVhbiB7XG4gICAgaWYgKGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gL15bLC5dJC8udGVzdChzdHIpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHIgPT09IGRlY2ltYWxTeW1ib2w7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb01hc2soc3RyTnVtYmVyOiBzdHJpbmcpOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICByZXR1cm4gc3RyTnVtYmVyXG4gICAgICAgIC5zcGxpdChgYClcbiAgICAgICAgLm1hcChjaGFyID0+IChUVUlfRElHSVRfUkVHRVhQLnRlc3QoY2hhcikgPyBUVUlfRElHSVRfUkVHRVhQIDogY2hhcikpO1xufVxuXG5mdW5jdGlvbiBhZGRUaG91c2FuZHNTZXBhcmF0b3Ioc3RyTnVtYmVyOiBzdHJpbmcsIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJOdW1iZXIubGVuZ3RoID4gM1xuICAgICAgICA/IC8vIFRPRE86IGludmVzdGlnYXRlIHRvIGRpc2FsbG93IHBvdGVudGlhbGx5IGNhdGFzdHJvcGhpYyBleHBvbmVudGlhbC10aW1lIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tdW5zYWZlLXJlZ2V4XG4gICAgICAgICAgc3RyTnVtYmVyLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRob3VzYW5kU3ltYm9sKVxuICAgICAgICA6IHN0ck51bWJlcjtcbn1cbiJdfQ==
@@ -1,5 +1,9 @@
1
1
  import { TUI_DECIMAL_SYMBOLS } from '@taiga-ui/core/constants';
2
+ /**
3
+ * TODO: delete in v4.0
4
+ * @deprecated Use {@link https://tinkoff.github.io/maskito/kit/number Number} from {@link https://github.com/Tinkoff/maskito Maskito} instead
5
+ */
2
6
  export function tuiEnableAutoCorrectDecimalSymbol({ thousandSeparator, }) {
3
7
  return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);
4
8
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5hYmxlLWF1dG8tY29ycmVjdC1kZWNpbWFsLXN5bWJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdXRpbHMvbWFzay9lbmFibGUtYXV0by1jb3JyZWN0LWRlY2ltYWwtc3ltYm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzdELE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxFQUM5QyxpQkFBaUIsR0FDSztJQUN0QixPQUFPLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VFVJX0RFQ0lNQUxfU1lNQk9MU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpRW5hYmxlQXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKHtcbiAgICB0aG91c2FuZFNlcGFyYXRvcixcbn06IFR1aU51bWJlckZvcm1hdFNldHRpbmdzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFUVUlfREVDSU1BTF9TWU1CT0xTLmluY2x1ZGVzKHRob3VzYW5kU2VwYXJhdG9yKTtcbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5hYmxlLWF1dG8tY29ycmVjdC1kZWNpbWFsLXN5bWJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdXRpbHMvbWFzay9lbmFibGUtYXV0by1jb3JyZWN0LWRlY2ltYWwtc3ltYm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzdEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxFQUM5QyxpQkFBaUIsR0FDSztJQUN0QixPQUFPLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VFVJX0RFQ0lNQUxfU1lNQk9MU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIFRPRE86IGRlbGV0ZSBpbiB2NC4wXG4gKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIGh0dHBzOi8vdGlua29mZi5naXRodWIuaW8vbWFza2l0by9raXQvbnVtYmVyIE51bWJlcn0gZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL1RpbmtvZmYvbWFza2l0byBNYXNraXRvfSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlFbmFibGVBdXRvQ29ycmVjdERlY2ltYWxTeW1ib2woe1xuICAgIHRob3VzYW5kU2VwYXJhdG9yLFxufTogVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIVRVSV9ERUNJTUFMX1NZTUJPTFMuaW5jbHVkZXModGhvdXNhbmRTZXBhcmF0b3IpO1xufVxuIl19
@@ -1,4 +1,11 @@
1
1
  import { CHAR_HYPHEN } from '@taiga-ui/cdk';
2
+ /**
3
+ * TODO: delete in v4.0
4
+ * @deprecated use {@link https://tinkoff.github.io/maskito/kit/number maskitoParseNumber} instead
5
+ * ```ts
6
+ * Number.isNaN(maskitoParseNumber(value, decimalSeparator))
7
+ * ```
8
+ */
2
9
  export function tuiMaskedMoneyValueIsEmpty(value) {
3
10
  switch (value) {
4
11
  case ``:
@@ -10,4 +17,4 @@ export function tuiMaskedMoneyValueIsEmpty(value) {
10
17
  return false;
11
18
  }
12
19
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2VkLW1vbmV5LXZhbHVlLWlzLWVtcHR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL21hc2tlZC1tb25leS12YWx1ZS1pcy1lbXB0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxLQUFhO0lBQ3BELFFBQVEsS0FBSyxFQUFFO1FBQ1gsS0FBSyxFQUFFLENBQUM7UUFDUixLQUFLLFdBQVcsQ0FBQztRQUNqQixLQUFLLEdBQUcsQ0FBQztRQUNULEtBQUssR0FBRyxXQUFXLEdBQUc7WUFDbEIsT0FBTyxJQUFJLENBQUM7UUFDaEI7WUFDSSxPQUFPLEtBQUssQ0FBQztLQUNwQjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfSFlQSEVOfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aU1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICAgIGNhc2UgYGA6XG4gICAgICAgIGNhc2UgQ0hBUl9IWVBIRU46XG4gICAgICAgIGNhc2UgYCxgOlxuICAgICAgICBjYXNlIGAke0NIQVJfSFlQSEVOfSxgOlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2VkLW1vbmV5LXZhbHVlLWlzLWVtcHR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL21hc2tlZC1tb25leS12YWx1ZS1pcy1lbXB0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFDOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxLQUFhO0lBQ3BELFFBQVEsS0FBSyxFQUFFO1FBQ1gsS0FBSyxFQUFFLENBQUM7UUFDUixLQUFLLFdBQVcsQ0FBQztRQUNqQixLQUFLLEdBQUcsQ0FBQztRQUNULEtBQUssR0FBRyxXQUFXLEdBQUc7WUFDbEIsT0FBTyxJQUFJLENBQUM7UUFDaEI7WUFDSSxPQUFPLEtBQUssQ0FBQztLQUNwQjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfSFlQSEVOfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuLyoqXG4gKiBUT0RPOiBkZWxldGUgaW4gdjQuMFxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBodHRwczovL3RpbmtvZmYuZ2l0aHViLmlvL21hc2tpdG8va2l0L251bWJlciBtYXNraXRvUGFyc2VOdW1iZXJ9IGluc3RlYWRcbiAqIGBgYHRzXG4gKiBOdW1iZXIuaXNOYU4obWFza2l0b1BhcnNlTnVtYmVyKHZhbHVlLCBkZWNpbWFsU2VwYXJhdG9yKSlcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpTWFza2VkTW9uZXlWYWx1ZUlzRW1wdHkodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgY2FzZSBgYDpcbiAgICAgICAgY2FzZSBDSEFSX0hZUEhFTjpcbiAgICAgICAgY2FzZSBgLGA6XG4gICAgICAgIGNhc2UgYCR7Q0hBUl9IWVBIRU59LGA6XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
@@ -1,4 +1,8 @@
1
+ /**
2
+ * TODO: delete in v4.0
3
+ * @deprecated use {@link https://tinkoff.github.io/maskito/kit/number maskitoParseNumber} instead
4
+ */
1
5
  export function tuiMaskedNumberStringToNumber(value, decimalsSymbol, thousandSymbol) {
2
6
  return parseFloat(value.split(thousandSymbol).join(``).split(decimalsSymbol).join(`.`));
3
7
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2VkLW51bWJlci1zdHJpbmctdG8tbnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL21hc2tlZC1udW1iZXItc3RyaW5nLXRvLW51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsNkJBQTZCLENBQ3pDLEtBQWEsRUFDYixjQUFnQyxFQUNoQyxjQUFzQjtJQUV0QixPQUFPLFVBQVUsQ0FDYixLQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUN2RSxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpTWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBkZWNpbWFsc1N5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCxcbiAgICB0aG91c2FuZFN5bWJvbDogc3RyaW5nLFxuKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcGFyc2VGbG9hdChcbiAgICAgICAgdmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmpvaW4oYGApLnNwbGl0KGRlY2ltYWxzU3ltYm9sKS5qb2luKGAuYCksXG4gICAgKTtcbn1cbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2VkLW51bWJlci1zdHJpbmctdG8tbnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL21hc2tlZC1udW1iZXItc3RyaW5nLXRvLW51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQ3pDLEtBQWEsRUFDYixjQUFnQyxFQUNoQyxjQUFzQjtJQUV0QixPQUFPLFVBQVUsQ0FDYixLQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUN2RSxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG4vKipcbiAqIFRPRE86IGRlbGV0ZSBpbiB2NC4wXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIGh0dHBzOi8vdGlua29mZi5naXRodWIuaW8vbWFza2l0by9raXQvbnVtYmVyIG1hc2tpdG9QYXJzZU51bWJlcn0gaW5zdGVhZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpTWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBkZWNpbWFsc1N5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCxcbiAgICB0aG91c2FuZFN5bWJvbDogc3RyaW5nLFxuKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcGFyc2VGbG9hdChcbiAgICAgICAgdmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmpvaW4oYGApLnNwbGl0KGRlY2ltYWxzU3ltYm9sKS5qb2luKGAuYCksXG4gICAgKTtcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ElementRef, Component, ChangeDetectionStrategy, Inject, Self, Injectable, NgModule } from '@angular/core';
2
+ import { ElementRef, Component, ChangeDetectionStrategy, Inject, Self, Injectable, Directive, NgModule } from '@angular/core';
3
3
  import * as i4 from '@taiga-ui/cdk';
4
- import { tuiIsNumber, TuiDestroyService, AbstractTuiDialogService, TuiIdService, tuiAsAlerts } from '@taiga-ui/cdk';
4
+ import { tuiIsNumber, TuiDestroyService, AbstractTuiDialogService, TuiIdService, AbstractTuiDialogDirective, tuiAsAlerts } from '@taiga-ui/cdk';
5
5
  import { tuiFadeIn, tuiSlideInRight, tuiHeightCollapse } from '@taiga-ui/core/animations';
6
6
  import { TUI_NOTIFICATION_OPTIONS, TUI_ANIMATION_OPTIONS } from '@taiga-ui/core/tokens';
7
7
  import * as i3 from '@tinkoff/ng-polymorpheus';
@@ -109,17 +109,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
109
109
  args: [TuiIdService]
110
110
  }] }]; } });
111
111
 
112
+ class TuiAlertDirective extends AbstractTuiDialogDirective {
113
+ }
114
+ TuiAlertDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAlertDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
115
+ TuiAlertDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiAlertDirective, selector: "ng-template[tuiAlert]", inputs: { options: ["tuiAlertOptions", "options"], open: ["tuiAlert", "open"] }, outputs: { openChange: "tuiAlertChange" }, providers: [
116
+ {
117
+ provide: AbstractTuiDialogService,
118
+ useExisting: TuiAlertService,
119
+ },
120
+ ], usesInheritance: true, ngImport: i0 });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAlertDirective, decorators: [{
122
+ type: Directive,
123
+ args: [{
124
+ selector: 'ng-template[tuiAlert]',
125
+ providers: [
126
+ {
127
+ provide: AbstractTuiDialogService,
128
+ useExisting: TuiAlertService,
129
+ },
130
+ ],
131
+ inputs: ['options: tuiAlertOptions', 'open: tuiAlert'],
132
+ outputs: ['openChange: tuiAlertChange'],
133
+ }]
134
+ }] });
135
+
112
136
  class TuiAlertModule {
113
137
  }
114
138
  TuiAlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
115
- TuiAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAlertModule, declarations: [TuiAlertComponent], imports: [CommonModule, PolymorpheusModule, TuiNotificationModule], exports: [TuiAlertComponent] });
139
+ TuiAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAlertModule, declarations: [TuiAlertComponent, TuiAlertDirective], imports: [CommonModule, PolymorpheusModule, TuiNotificationModule], exports: [TuiAlertComponent, TuiAlertDirective] });
116
140
  TuiAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAlertModule, providers: [tuiAsAlerts(TuiAlertService)], imports: [[CommonModule, PolymorpheusModule, TuiNotificationModule]] });
117
141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAlertModule, decorators: [{
118
142
  type: NgModule,
119
143
  args: [{
120
144
  imports: [CommonModule, PolymorpheusModule, TuiNotificationModule],
121
- declarations: [TuiAlertComponent],
122
- exports: [TuiAlertComponent],
145
+ declarations: [TuiAlertComponent, TuiAlertDirective],
146
+ exports: [TuiAlertComponent, TuiAlertDirective],
123
147
  providers: [tuiAsAlerts(TuiAlertService)],
124
148
  }]
125
149
  }] });
@@ -128,5 +152,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
128
152
  * Generated bundle index. Do not edit.
129
153
  */
130
154
 
131
- export { TuiAlertComponent, TuiAlertModule, TuiAlertService };
155
+ export { TuiAlertComponent, TuiAlertDirective, TuiAlertModule, TuiAlertService };
132
156
  //# sourceMappingURL=taiga-ui-core-components-alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-alert.js","sources":["../../../projects/core/components/alert/alert.component.ts","../../../projects/core/components/alert/alert.template.html","../../../projects/core/components/alert/alert.service.ts","../../../projects/core/components/alert/alert.module.ts","../../../projects/core/components/alert/taiga-ui-core-components-alert.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnInit,\n Self,\n} from '@angular/core';\nimport {TuiDestroyService, TuiDialog, tuiIsNumber} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiHeightCollapse, tuiSlideInRight} from '@taiga-ui/core/animations';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {\n TUI_ANIMATION_OPTIONS,\n TUI_NOTIFICATION_OPTIONS,\n TuiNotificationDefaultOptions,\n} from '@taiga-ui/core/tokens';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, timer} from 'rxjs';\nimport {repeatWhen, takeUntil} from 'rxjs/operators';\n\n// TODO: get rid of $any in template\n@Component({\n selector: 'tui-alert',\n templateUrl: './alert.template.html',\n styleUrls: ['./alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],\n host: {\n role: 'alert',\n '[@tuiFadeIn]': 'animation',\n '[@tuiSlideInRight]': 'animation',\n '[@tuiHeightCollapse]': 'animation',\n },\n})\nexport class TuiAlertComponent<O, I> implements OnInit {\n private readonly autoClose =\n typeof this.item.autoClose === 'function'\n ? this.item.autoClose(this.item.status)\n : this.item.autoClose;\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(TUI_NOTIFICATION_OPTIONS)\n private readonly options: TuiNotificationDefaultOptions,\n @Inject(TUI_ANIMATION_OPTIONS) readonly animation: AnimationOptions,\n @Inject(POLYMORPHEUS_CONTEXT) readonly item: TuiDialog<TuiAlertOptions<I>, O>,\n ) {}\n\n ngOnInit(): void {\n this.initAutoClose();\n }\n\n closeNotification(): void {\n this.item.$implicit.complete();\n }\n\n private initAutoClose(): void {\n if (!this.autoClose) {\n return;\n }\n\n timer(\n tuiIsNumber(this.autoClose)\n ? this.autoClose\n : this.options.defaultAutoCloseTime,\n )\n .pipe(\n takeUntil(fromEvent(this.el.nativeElement, 'mouseenter')),\n /**\n * TODO: replace to\n * repeat({\n * delay: () => fromEvent(this.el.nativeElement, 'mouseleave'),\n * })\n *\n * in RxJS 7\n */\n // eslint-disable-next-line rxjs/no-ignored-notifier\n repeatWhen(() => fromEvent(this.el.nativeElement, 'mouseleave')),\n takeUntil(this.destroy$),\n )\n .subscribe(() => this.closeNotification());\n }\n}\n","<tui-notification\n [status]=\"item.status\"\n [hasIcon]=\"item.hasIcon\"\n [hideClose]=\"!item.hasCloseButton\"\n (close)=\"closeNotification()\"\n>\n <label\n *ngIf=\"item.label\"\n automation-id=\"tui-notification-alert__heading\"\n class=\"t-heading\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(item.label) as text; context: item\">\n {{ text }}\n </ng-container>\n </label>\n <div\n automation-id=\"tui-notification-alert__content\"\n class=\"t-content\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <div\n *polymorpheusOutlet=\"item.content as text; context: $any(item)\"\n [innerHTML]=\"text\"\n ></div>\n </div>\n</tui-notification>\n","import {Inject, Injectable} from '@angular/core';\nimport {AbstractTuiDialogService, TuiIdService} from '@taiga-ui/cdk';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAlertComponent} from './alert.component';\n\n@Injectable({providedIn: `root`})\nexport class TuiAlertService extends AbstractTuiDialogService<TuiAlertOptions<any>> {\n protected readonly component = new PolymorpheusComponent(TuiAlertComponent);\n\n constructor(\n @Inject(TUI_NOTIFICATION_OPTIONS)\n protected readonly defaultOptions: TuiAlertOptions<any>,\n @Inject(TuiIdService) idService: TuiIdService,\n ) {\n super(idService);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {tuiAsAlerts} from '@taiga-ui/cdk';\nimport {TuiNotificationModule} from '@taiga-ui/core/components/notification';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAlertComponent} from './alert.component';\nimport {TuiAlertService} from './alert.service';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiNotificationModule],\n declarations: [TuiAlertComponent],\n exports: [TuiAlertComponent],\n providers: [tuiAsAlerts(TuiAlertService)],\n})\nexport class TuiAlertModule {}\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-alert.js","sources":["../../../projects/core/components/alert/alert.component.ts","../../../projects/core/components/alert/alert.template.html","../../../projects/core/components/alert/alert.service.ts","../../../projects/core/components/alert/alert.directive.ts","../../../projects/core/components/alert/alert.module.ts","../../../projects/core/components/alert/taiga-ui-core-components-alert.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnInit,\n Self,\n} from '@angular/core';\nimport {TuiDestroyService, TuiDialog, tuiIsNumber} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiHeightCollapse, tuiSlideInRight} from '@taiga-ui/core/animations';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {\n TUI_ANIMATION_OPTIONS,\n TUI_NOTIFICATION_OPTIONS,\n TuiNotificationDefaultOptions,\n} from '@taiga-ui/core/tokens';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, timer} from 'rxjs';\nimport {repeatWhen, takeUntil} from 'rxjs/operators';\n\n// TODO: get rid of $any in template\n@Component({\n selector: 'tui-alert',\n templateUrl: './alert.template.html',\n styleUrls: ['./alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],\n host: {\n role: 'alert',\n '[@tuiFadeIn]': 'animation',\n '[@tuiSlideInRight]': 'animation',\n '[@tuiHeightCollapse]': 'animation',\n },\n})\nexport class TuiAlertComponent<O, I> implements OnInit {\n private readonly autoClose =\n typeof this.item.autoClose === 'function'\n ? this.item.autoClose(this.item.status)\n : this.item.autoClose;\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(TUI_NOTIFICATION_OPTIONS)\n private readonly options: TuiNotificationDefaultOptions,\n @Inject(TUI_ANIMATION_OPTIONS) readonly animation: AnimationOptions,\n @Inject(POLYMORPHEUS_CONTEXT) readonly item: TuiDialog<TuiAlertOptions<I>, O>,\n ) {}\n\n ngOnInit(): void {\n this.initAutoClose();\n }\n\n closeNotification(): void {\n this.item.$implicit.complete();\n }\n\n private initAutoClose(): void {\n if (!this.autoClose) {\n return;\n }\n\n timer(\n tuiIsNumber(this.autoClose)\n ? this.autoClose\n : this.options.defaultAutoCloseTime,\n )\n .pipe(\n takeUntil(fromEvent(this.el.nativeElement, 'mouseenter')),\n /**\n * TODO: replace to\n * repeat({\n * delay: () => fromEvent(this.el.nativeElement, 'mouseleave'),\n * })\n *\n * in RxJS 7\n */\n // eslint-disable-next-line rxjs/no-ignored-notifier\n repeatWhen(() => fromEvent(this.el.nativeElement, 'mouseleave')),\n takeUntil(this.destroy$),\n )\n .subscribe(() => this.closeNotification());\n }\n}\n","<tui-notification\n [status]=\"item.status\"\n [hasIcon]=\"item.hasIcon\"\n [hideClose]=\"!item.hasCloseButton\"\n (close)=\"closeNotification()\"\n>\n <label\n *ngIf=\"item.label\"\n automation-id=\"tui-notification-alert__heading\"\n class=\"t-heading\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(item.label) as text; context: item\">\n {{ text }}\n </ng-container>\n </label>\n <div\n automation-id=\"tui-notification-alert__content\"\n class=\"t-content\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <div\n *polymorpheusOutlet=\"item.content as text; context: $any(item)\"\n [innerHTML]=\"text\"\n ></div>\n </div>\n</tui-notification>\n","import {Inject, Injectable} from '@angular/core';\nimport {AbstractTuiDialogService, TuiIdService} from '@taiga-ui/cdk';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAlertComponent} from './alert.component';\n\n@Injectable({providedIn: `root`})\nexport class TuiAlertService extends AbstractTuiDialogService<TuiAlertOptions<any>> {\n protected readonly component = new PolymorpheusComponent(TuiAlertComponent);\n\n constructor(\n @Inject(TUI_NOTIFICATION_OPTIONS)\n protected readonly defaultOptions: TuiAlertOptions<any>,\n @Inject(TuiIdService) idService: TuiIdService,\n ) {\n super(idService);\n }\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiAlertService} from './alert.service';\n\n@Directive({\n selector: 'ng-template[tuiAlert]',\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiAlertService,\n },\n ],\n inputs: ['options: tuiAlertOptions', 'open: tuiAlert'],\n outputs: ['openChange: tuiAlertChange'],\n})\nexport class TuiAlertDirective<T> extends AbstractTuiDialogDirective<\n TuiAlertOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {tuiAsAlerts} from '@taiga-ui/cdk';\nimport {TuiNotificationModule} from '@taiga-ui/core/components/notification';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAlertComponent} from './alert.component';\nimport {TuiAlertDirective} from './alert.directive';\nimport {TuiAlertService} from './alert.service';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiNotificationModule],\n declarations: [TuiAlertComponent, TuiAlertDirective],\n exports: [TuiAlertComponent, TuiAlertDirective],\n providers: [tuiAsAlerts(TuiAlertService)],\n})\nexport class TuiAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -18,13 +18,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
18
18
  }]
19
19
  }] });
20
20
 
21
- var State;
22
- (function (State) {
23
- State[State["Idle"] = 0] = "Idle";
24
- State[State["Loading"] = 1] = "Loading";
25
- State[State["Prepared"] = 2] = "Prepared";
26
- State[State["Animated"] = 3] = "Animated";
27
- })(State || (State = {}));
21
+ const State = {
22
+ Idle: 0,
23
+ Loading: 1,
24
+ Prepared: 2,
25
+ Animated: 3,
26
+ };
28
27
  const LOADER_HEIGHT = 48;
29
28
  class TuiExpandComponent {
30
29
  constructor(cdr) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-expand.js","sources":["../../../projects/core/components/expand/expand-content.directive.ts","../../../projects/core/components/expand/expand.component.ts","../../../projects/core/components/expand/expand.template.html","../../../projects/core/components/expand/expand.module.ts","../../../projects/core/components/expand/taiga-ui-core-components-expand.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiExpandContent]',\n})\nexport class TuiExpandContentDirective {}\n","import {NgIfContext} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk';\nimport {TUI_EXPAND_LOADED} from '@taiga-ui/core/constants';\n\nimport {TuiExpandContentDirective} from './expand-content.directive';\n\nenum State {\n Idle,\n Loading,\n Prepared,\n Animated,\n}\n\nconst LOADER_HEIGHT = 48;\n\n@Component({\n selector: 'tui-expand',\n templateUrl: './expand.template.html',\n styleUrls: ['./expand.style.less'],\n animations: [TUI_PARENT_ANIMATION],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiExpandComponent {\n @ViewChild('wrapper')\n private readonly contentWrapper?: ElementRef<HTMLDivElement>;\n\n private state = State.Idle;\n\n @Input()\n async = false;\n\n @Input('expanded')\n set expandedSetter(expanded: boolean | null) {\n if (this.expanded === null) {\n this.expanded = expanded;\n\n return;\n }\n\n if (this.state !== State.Idle) {\n this.expanded = expanded;\n this.state = State.Animated;\n\n return;\n }\n\n this.expanded = expanded;\n this.retrigger(this.async && expanded ? State.Loading : State.Animated);\n }\n\n @ContentChild(TuiExpandContentDirective, {read: TemplateRef})\n content: TemplateRef<NgIfContext<boolean>> | null = null;\n\n @HostBinding('class._expanded')\n @HostBinding('attr.aria-expanded')\n expanded: boolean | null = null;\n\n constructor(@Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef) {}\n\n @HostBinding('class._overflow')\n get overflow(): boolean {\n return this.state !== State.Idle;\n }\n\n @HostBinding('class._loading')\n get loading(): boolean {\n return !!this.expanded && this.async && this.state === State.Loading;\n }\n\n @HostBinding('style.height.px')\n get height(): number | null {\n const {expanded, state, contentWrapper} = this;\n\n if (\n (expanded && state === State.Prepared) ||\n (!expanded && state === State.Animated)\n ) {\n return 0;\n }\n\n if (\n contentWrapper &&\n ((!expanded && state === State.Prepared) ||\n (expanded && state === State.Animated))\n ) {\n return contentWrapper.nativeElement.offsetHeight;\n }\n\n if (contentWrapper && expanded && state === State.Loading) {\n return Math.max(contentWrapper.nativeElement.offsetHeight, LOADER_HEIGHT);\n }\n\n return null;\n }\n\n get contentVisible(): boolean {\n return this.expanded || this.state !== State.Idle;\n }\n\n @HostListener('transitionend.self', ['$event'])\n onTransitionEnd({propertyName}: TransitionEvent): void {\n if (propertyName === 'opacity' && this.state === State.Animated) {\n this.state = State.Idle;\n }\n }\n\n @HostListener(TUI_EXPAND_LOADED, ['$event'])\n onExpandLoaded(event: Event): void {\n event.stopPropagation();\n\n if (this.state === State.Loading) {\n this.retrigger(State.Animated);\n }\n }\n\n private retrigger(state: State): void {\n this.state = State.Prepared;\n\n // We need delay to re-trigger CSS height transition from the correct number\n setTimeout(() => {\n if (this.state !== State.Prepared) {\n return;\n }\n\n this.state = state;\n this.cdr.markForCheck();\n });\n }\n}\n","<div\n #wrapper\n class=\"t-wrapper\"\n @tuiParentAnimation\n [@.disabled]=\"overflow\"\n>\n <ng-container *ngIf=\"contentVisible\">\n <ng-content></ng-content>\n <tui-loader\n *ngIf=\"async; else content\"\n size=\"l\"\n [overlay]=\"true\"\n [showLoader]=\"loading\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </tui-loader>\n </ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLoaderModule} from '@taiga-ui/core/components/loader';\n\nimport {TuiExpandComponent} from './expand.component';\nimport {TuiExpandContentDirective} from './expand-content.directive';\n\n@NgModule({\n imports: [CommonModule, TuiLoaderModule],\n declarations: [TuiExpandComponent, TuiExpandContentDirective],\n exports: [TuiExpandComponent, TuiExpandContentDirective],\n})\nexport class TuiExpandModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MAKa,yBAAyB,CAAA;;uHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AACjC,iBAAA,CAAA;;;ACeD,IAAK,KAKJ,CAAA;AALD,CAAA,UAAK,KAAK,EAAA;AACN,IAAA,KAAA,CAAA,KAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,KAAA,CAAA,KAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO,CAAA;AACP,IAAA,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;AACR,IAAA,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;AACZ,CAAC,EALI,KAAK,KAAL,KAAK,GAKT,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,aAAa,GAAG,EAAE,CAAC;MASZ,kBAAkB,CAAA;AAmC3B,IAAA,WAAA,CAAwD,GAAsB,EAAA;QAAtB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AA/BtE,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QAG3B,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;QAsBd,IAAO,CAAA,OAAA,GAA6C,IAAI,CAAC;QAIzD,IAAQ,CAAA,QAAA,GAAmB,IAAI,CAAC;KAEkD;IA1BlF,IACI,cAAc,CAAC,QAAwB,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEzB,OAAO;AACV,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC;YAE5B,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC3E;AAWD,IAAA,IACI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC;KACpC;AAED,IAAA,IACI,OAAO,GAAA;AACP,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC;KACxE;AAED,IAAA,IACI,MAAM,GAAA;QACN,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAC,GAAG,IAAI,CAAC;QAE/C,IACI,CAAC,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC,QAAQ;aACpC,CAAC,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC,EACzC;AACE,YAAA,OAAO,CAAC,CAAC;AACZ,SAAA;AAED,QAAA,IACI,cAAc;aACb,CAAC,CAAC,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC,QAAQ;iBAClC,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,EAC7C;AACE,YAAA,OAAO,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC;AACpD,SAAA;QAED,IAAI,cAAc,IAAI,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE;AACvD,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC7E,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC;KACrD;IAGD,eAAe,CAAC,EAAC,YAAY,EAAkB,EAAA;QAC3C,IAAI,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,EAAE;AAC7D,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;AAC3B,SAAA;KACJ;AAGD,IAAA,cAAc,CAAC,KAAY,EAAA;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AAExB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE;AAC9B,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAClC,SAAA;KACJ;AAEO,IAAA,SAAS,CAAC,KAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC;;QAG5B,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,EAAE;gBAC/B,OAAO;AACV,aAAA;AAED,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;KACN;;AAzGQ,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAmCP,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oGAnC5B,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,CAAA,UAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA4Bb,yBAAyB,EAAS,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAW,wIC/D/D,ieAkBA,EAAA,MAAA,EAAA,CAAA,uSAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDcgB,CAAC,oBAAoB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FAGzB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,WAAW,EAAE,wBAAwB;oBACrC,SAAS,EAAE,CAAC,qBAAqB,CAAC;oBAClC,UAAU,EAAE,CAAC,oBAAoB,CAAC;oBAClC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA,CAAA;;0BAoCgB,MAAM;2BAAC,iBAAiB,CAAA;4CAjCpB,cAAc,EAAA,CAAA;sBAD9B,SAAS;uBAAC,SAAS,CAAA;gBAMpB,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAIF,cAAc,EAAA,CAAA;sBADjB,KAAK;uBAAC,UAAU,CAAA;gBAoBjB,OAAO,EAAA,CAAA;sBADN,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,yBAAyB,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAA;gBAK5D,QAAQ,EAAA,CAAA;sBAFP,WAAW;uBAAC,iBAAiB,CAAA;;sBAC7B,WAAW;uBAAC,oBAAoB,CAAA;gBAM7B,QAAQ,EAAA,CAAA;sBADX,WAAW;uBAAC,iBAAiB,CAAA;gBAM1B,OAAO,EAAA,CAAA;sBADV,WAAW;uBAAC,gBAAgB,CAAA;gBAMzB,MAAM,EAAA,CAAA;sBADT,WAAW;uBAAC,iBAAiB,CAAA;gBA+B9B,eAAe,EAAA,CAAA;sBADd,YAAY;uBAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAQ9C,cAAc,EAAA,CAAA;sBADb,YAAY;uBAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ME3GlC,eAAe,CAAA;;6GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8GAAf,eAAe,EAAA,YAAA,EAAA,CAHT,kBAAkB,EAAE,yBAAyB,CAAA,EAAA,OAAA,EAAA,CADlD,YAAY,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CAE7B,kBAAkB,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAE9C,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAJf,OAAA,EAAA,CAAA,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA,EAAA,CAAA,CAAA;4FAI/B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;AACxC,oBAAA,YAAY,EAAE,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;AAC7D,oBAAA,OAAO,EAAE,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;AAC3D,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-expand.js","sources":["../../../projects/core/components/expand/expand-content.directive.ts","../../../projects/core/components/expand/expand.component.ts","../../../projects/core/components/expand/expand.template.html","../../../projects/core/components/expand/expand.module.ts","../../../projects/core/components/expand/taiga-ui-core-components-expand.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiExpandContent]',\n})\nexport class TuiExpandContentDirective {}\n","import {NgIfContext} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION, TuiValuesOf} from '@taiga-ui/cdk';\nimport {TUI_EXPAND_LOADED} from '@taiga-ui/core/constants';\n\nimport {TuiExpandContentDirective} from './expand-content.directive';\n\nconst State = {\n Idle: 0,\n Loading: 1,\n Prepared: 2,\n Animated: 3,\n} as const;\n\nconst LOADER_HEIGHT = 48;\n\n@Component({\n selector: 'tui-expand',\n templateUrl: './expand.template.html',\n styleUrls: ['./expand.style.less'],\n animations: [TUI_PARENT_ANIMATION],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiExpandComponent {\n @ViewChild('wrapper')\n private readonly contentWrapper?: ElementRef<HTMLDivElement>;\n\n private state: TuiValuesOf<typeof State> = State.Idle;\n\n @Input()\n async = false;\n\n @Input('expanded')\n set expandedSetter(expanded: boolean | null) {\n if (this.expanded === null) {\n this.expanded = expanded;\n\n return;\n }\n\n if (this.state !== State.Idle) {\n this.expanded = expanded;\n this.state = State.Animated;\n\n return;\n }\n\n this.expanded = expanded;\n this.retrigger(this.async && expanded ? State.Loading : State.Animated);\n }\n\n @ContentChild(TuiExpandContentDirective, {read: TemplateRef})\n content: TemplateRef<NgIfContext<boolean>> | null = null;\n\n @HostBinding('class._expanded')\n @HostBinding('attr.aria-expanded')\n expanded: boolean | null = null;\n\n constructor(@Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef) {}\n\n @HostBinding('class._overflow')\n get overflow(): boolean {\n return this.state !== State.Idle;\n }\n\n @HostBinding('class._loading')\n get loading(): boolean {\n return !!this.expanded && this.async && this.state === State.Loading;\n }\n\n @HostBinding('style.height.px')\n get height(): number | null {\n const {expanded, state, contentWrapper} = this;\n\n if (\n (expanded && state === State.Prepared) ||\n (!expanded && state === State.Animated)\n ) {\n return 0;\n }\n\n if (\n contentWrapper &&\n ((!expanded && state === State.Prepared) ||\n (expanded && state === State.Animated))\n ) {\n return contentWrapper.nativeElement.offsetHeight;\n }\n\n if (contentWrapper && expanded && state === State.Loading) {\n return Math.max(contentWrapper.nativeElement.offsetHeight, LOADER_HEIGHT);\n }\n\n return null;\n }\n\n get contentVisible(): boolean {\n return this.expanded || this.state !== State.Idle;\n }\n\n @HostListener('transitionend.self', ['$event'])\n onTransitionEnd({propertyName}: TransitionEvent): void {\n if (propertyName === 'opacity' && this.state === State.Animated) {\n this.state = State.Idle;\n }\n }\n\n @HostListener(TUI_EXPAND_LOADED, ['$event'])\n onExpandLoaded(event: Event): void {\n event.stopPropagation();\n\n if (this.state === State.Loading) {\n this.retrigger(State.Animated);\n }\n }\n\n private retrigger(state: TuiValuesOf<typeof State>): void {\n this.state = State.Prepared;\n\n // We need delay to re-trigger CSS height transition from the correct number\n setTimeout(() => {\n if (this.state !== State.Prepared) {\n return;\n }\n\n this.state = state;\n this.cdr.markForCheck();\n });\n }\n}\n","<div\n #wrapper\n class=\"t-wrapper\"\n @tuiParentAnimation\n [@.disabled]=\"overflow\"\n>\n <ng-container *ngIf=\"contentVisible\">\n <ng-content></ng-content>\n <tui-loader\n *ngIf=\"async; else content\"\n size=\"l\"\n [overlay]=\"true\"\n [showLoader]=\"loading\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </tui-loader>\n </ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLoaderModule} from '@taiga-ui/core/components/loader';\n\nimport {TuiExpandComponent} from './expand.component';\nimport {TuiExpandContentDirective} from './expand-content.directive';\n\n@NgModule({\n imports: [CommonModule, TuiLoaderModule],\n declarations: [TuiExpandComponent, TuiExpandContentDirective],\n exports: [TuiExpandComponent, TuiExpandContentDirective],\n})\nexport class TuiExpandModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -216,7 +216,7 @@ class TuiHostedDropdownComponent {
216
216
  this.focusedChange.emit(focused);
217
217
  }
218
218
  }
219
- TuiHostedDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiHostedDropdownComponent, deps: [{ token: TuiDropdownHoverDirective, optional: true }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
219
+ TuiHostedDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiHostedDropdownComponent, deps: [{ token: TuiDropdownHoverDirective, optional: true, self: true }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
220
220
  TuiHostedDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: { content: "content", sided: "sided", canOpen: "canOpen", open: "open" }, outputs: { open$: "openChange", focusedChange: "focusedChange" }, host: { listeners: { "focusin": "onFocusIn($event.target)", "click": "onClick($event.target)", "document:keydown.silent": "onKeyDownEsc($event)", "keydown.arrowDown": "onArrow($event,true)", "keydown.arrowUp": "onArrow($event,false)" }, properties: { "class._hosted_dropdown_focused": "this.focused" } }, providers: [
221
221
  tuiAsFocusableItemAccessor(TuiHostedDropdownComponent),
222
222
  {
@@ -245,6 +245,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
245
245
  ],
246
246
  }]
247
247
  }], ctorParameters: function () { return [{ type: i3.TuiDropdownHoverDirective, decorators: [{
248
+ type: Self
249
+ }, {
248
250
  type: Optional
249
251
  }, {
250
252
  type: Inject,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-hosted-dropdown.js","sources":["../../../projects/core/components/hosted-dropdown/accessor-proxy.directive.ts","../../../projects/core/components/hosted-dropdown/hosted-dropdown-connector.directive.ts","../../../projects/core/components/hosted-dropdown/hosted-dropdown.component.ts","../../../projects/core/components/hosted-dropdown/hosted-dropdown.template.html","../../../projects/core/components/hosted-dropdown/hosted-dropdown.module.ts","../../../projects/core/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.ts"],"sourcesContent":["import {Directive, Optional, SkipSelf} from '@angular/core';\nimport {TuiPositionAccessor} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\n@Directive({\n selector: '[tuiAccessorProxy]',\n providers: [\n {\n provide: TuiPositionAccessor,\n multi: true,\n deps: [\n [new Optional(), new SkipSelf(), TuiAccessorProxyDirective],\n TuiAccessorProxyDirective,\n ],\n useFactory: (\n accessor: TuiPositionAccessor | null,\n fallback: TuiPositionAccessor,\n ) => accessor || fallback,\n },\n ],\n})\nexport class TuiAccessorProxyDirective extends TuiPositionAccessor {\n readonly type = 'dummy';\n\n getPosition(): TuiPoint {\n return [0, 0];\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiHostedDropdownHost]',\n})\nexport class TuiHostedDropdownConnectorDirective {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiGetClosestFocusable,\n tuiIsElement,\n tuiIsElementEditable,\n tuiIsHTMLElement,\n tuiIsNativeFocusedIn,\n tuiIsNativeKeyboardFocusable,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiPositionAccessor} from '@taiga-ui/core/abstract';\nimport {\n TuiDropdownDirective,\n TuiDropdownHoverDirective,\n} from '@taiga-ui/core/directives/dropdown';\nimport {tuiIsEditingKey} from '@taiga-ui/core/utils/miscellaneous';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, EMPTY, merge} from 'rxjs';\nimport {distinctUntilChanged, skip} from 'rxjs/operators';\n\nimport {TuiAccessorProxyDirective} from './accessor-proxy.directive';\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\nexport interface TuiHostedDropdownContext\n extends TuiContextWithImplicit<TuiActiveZoneDirective> {\n close(): void;\n}\n\nfunction shouldClose(\n this: TuiHostedDropdownComponent,\n event: Event | KeyboardEvent,\n): boolean {\n return (\n 'key' in event &&\n event.key.toLowerCase() === 'escape' &&\n this.canOpen &&\n this.open &&\n !this.dropdown?.nextElementSibling\n );\n}\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'tui-hosted-dropdown',\n templateUrl: './hosted-dropdown.template.html',\n styleUrls: ['./hosted-dropdown.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiHostedDropdownComponent),\n {\n provide: TuiAccessorProxyDirective,\n deps: [[new Optional(), new Self(), TuiPositionAccessor]],\n useFactory: (position: TuiPositionAccessor[] | null) => position?.[0],\n },\n ],\n})\nexport class TuiHostedDropdownComponent implements TuiFocusableElementAccessor {\n @ContentChild(TuiHostedDropdownConnectorDirective, {read: ElementRef})\n private readonly dropdownHost?: ElementRef<HTMLElement>;\n\n @ViewChild('wrapper', {read: ElementRef})\n private readonly wrapper?: ElementRef<HTMLDivElement>;\n\n @ViewChild(TuiDropdownDirective)\n private readonly dropdownDirective?: TuiDropdownDirective;\n\n /** TODO: rename in 4.0 */\n readonly openChange = new BehaviorSubject(false);\n\n @ViewChild(TuiActiveZoneDirective)\n readonly activeZone!: TuiActiveZoneDirective;\n\n @Input()\n content: PolymorpheusContent<TuiHostedDropdownContext>;\n\n @Input()\n sided = false;\n\n @Input()\n canOpen = true;\n\n @Output('openChange')\n readonly open$ = merge(this.openChange, this.hover$ || EMPTY).pipe(\n skip(1),\n distinctUntilChanged(),\n );\n\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n readonly context!: TuiContextWithImplicit<TuiActiveZoneDirective>;\n\n constructor(\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hover$: TuiDropdownHoverDirective | null,\n @Inject(ElementRef) private readonly el: ElementRef,\n ) {}\n\n @Input()\n set open(open: boolean) {\n this.openChange.next(open);\n }\n\n get open(): boolean {\n return this.openChange.value;\n }\n\n get host(): HTMLElement {\n return this.dropdownHost?.nativeElement || this.el.nativeElement;\n }\n\n get computedHost(): HTMLElement {\n return (\n this.dropdownHost?.nativeElement ||\n this.nativeFocusableElement ||\n this.el.nativeElement\n );\n }\n\n get dropdown(): HTMLElement | undefined {\n return this.dropdownDirective?.dropdownBoxRef?.location.nativeElement;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return tuiIsNativeKeyboardFocusable(this.host)\n ? this.host\n : tuiGetClosestFocusable({\n initial: this.host,\n root: this.el.nativeElement,\n });\n }\n\n @HostBinding('class._hosted_dropdown_focused')\n get focused(): boolean {\n return (\n tuiIsNativeFocusedIn(this.host) ||\n (this.open &&\n !!this.wrapper &&\n tuiIsNativeFocusedIn(this.wrapper.nativeElement))\n );\n }\n\n @HostListener('focusin', ['$event.target'])\n onFocusIn(target: HTMLElement): void {\n if (!this.computedHost.contains(target)) {\n this.updateOpen(false);\n }\n }\n\n @HostListener('click', ['$event.target'])\n onClick(target: HTMLElement): void {\n if (\n !this.hostEditable &&\n this.computedHost.contains(target) &&\n !this.hover$?.hovered\n ) {\n this.updateOpen(!this.open);\n }\n }\n\n @shouldCall(shouldClose)\n @HostListener('document:keydown.silent', ['$event'])\n onKeyDownEsc(event: Event): void {\n event.stopPropagation();\n this.closeDropdown();\n }\n\n @HostListener('keydown.arrowDown', ['$event', 'true'])\n @HostListener('keydown.arrowUp', ['$event', 'false'])\n onArrow(event: KeyboardEvent, down: boolean): void {\n this.focusDropdown(event, down);\n }\n\n onKeydown({key, target, defaultPrevented}: KeyboardEvent): void {\n if (\n !defaultPrevented &&\n tuiIsEditingKey(key) &&\n this.hostEditable &&\n tuiIsHTMLElement(target) &&\n !tuiIsElementEditable(target)\n ) {\n this.focusHost();\n }\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n\n if (!active) {\n this.updateOpen(false);\n }\n }\n\n onHostObscured(obscured: boolean): void {\n if (obscured) {\n this.closeDropdown();\n }\n }\n\n updateOpen(open: boolean): void {\n if (!open || this.canOpen) {\n this.open = open;\n }\n }\n\n readonly close = (): void => this.updateOpen(false);\n\n private get hostEditable(): boolean {\n return tuiIsElementEditable(this.computedHost);\n }\n\n private focusDropdown(event: KeyboardEvent, first: boolean): void {\n const host = this.nativeFocusableElement;\n\n if (\n !host ||\n !tuiIsHTMLElement(host) ||\n !tuiIsElement(event.target) ||\n !host.contains(event.target)\n ) {\n return;\n }\n\n if (\n !this.wrapper ||\n !this.open ||\n !this.dropdown ||\n !tuiIsHTMLElement(this.wrapper.nativeElement.nextElementSibling)\n ) {\n this.updateOpen(true);\n\n if (!tuiIsElementEditable(host)) {\n event.preventDefault();\n }\n\n return;\n }\n\n const initial = first\n ? this.wrapper.nativeElement\n : this.wrapper.nativeElement.nextElementSibling;\n const focusable = tuiGetClosestFocusable({\n initial,\n root: this.wrapper.nativeElement,\n previous: !first,\n });\n\n if (!focusable) {\n return;\n }\n\n focusable.focus();\n event.preventDefault();\n }\n\n private closeDropdown(): void {\n if (this.focused) {\n this.focusHost();\n }\n\n this.updateOpen(false);\n }\n\n private focusHost(): void {\n const host = this.nativeFocusableElement;\n\n if (host) {\n host.focus({preventScroll: true});\n }\n }\n\n private updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n}\n","<div\n *tuiLet=\"(open$ | async) ?? openChange.value as isOpen\"\n #activeZone=\"tuiActiveZone\"\n tuiAccessorProxy\n class=\"t-wrapper\"\n [tuiDropdownSided]=\"sided\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiObscured)=\"onHostObscured($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-content></ng-content>\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"context\"\n >\n <div\n #wrapper\n (keydown)=\"onKeydown($event)\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n content as text;\n context: {\n $implicit: activeZone,\n close: close\n }\n \"\n >\n {{ text }}\n </ng-container>\n </div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiLetModule, TuiObscuredModule} from '@taiga-ui/cdk';\nimport {\n TuiDropdownModule,\n TuiDropdownOptionsDirective,\n} from '@taiga-ui/core/directives/dropdown';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAccessorProxyDirective} from './accessor-proxy.directive';\nimport {TuiHostedDropdownComponent} from './hosted-dropdown.component';\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiObscuredModule,\n TuiActiveZoneModule,\n TuiDropdownModule,\n ],\n declarations: [\n TuiAccessorProxyDirective,\n TuiHostedDropdownComponent,\n TuiHostedDropdownConnectorDirective,\n ],\n exports: [\n TuiHostedDropdownComponent,\n TuiHostedDropdownConnectorDirective,\n TuiDropdownOptionsDirective,\n ],\n})\nexport class TuiHostedDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TuiAccessorProxyDirective"],"mappings":";;;;;;;;;;;;;;;;;AAqBM,MAAO,yBAA0B,SAAQ,mBAAmB,CAAA;AAjBlE,IAAA,WAAA,GAAA;;QAkBa,IAAI,CAAA,IAAA,GAAG,OAAO,CAAC;AAK3B,KAAA;IAHG,WAAW,GAAA;AACP,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACjB;;uHALQ,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAfvB,QAAA,EAAA,oBAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,mBAAmB;AAC5B,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,IAAI,EAAE;gBACF,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,yBAAyB,CAAC;gBAC3D,yBAAyB;AAC5B,aAAA;YACD,UAAU,EAAE,CACR,QAAoC,EACpC,QAA6B,KAC5B,QAAQ,IAAI,QAAQ;AAC5B,SAAA;AACJ,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAEQ,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAjBrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,IAAI,EAAE;AACF,gCAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAA4B,yBAAA,CAAA;;AAE9D,6BAAA;4BACD,UAAU,EAAE,CACR,QAAoC,EACpC,QAA6B,KAC5B,QAAQ,IAAI,QAAQ;AAC5B,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;;;MCfY,mCAAmC,CAAA;;iIAAnC,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAnC,mCAAmC,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAH/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yBAAyB;AACtC,iBAAA,CAAA;;;AC2CD,SAAS,WAAW,CAEhB,KAA4B,EAAA;;IAE5B,QACI,KAAK,IAAI,KAAK;AACd,QAAA,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,QAAQ;AACpC,QAAA,IAAI,CAAC,OAAO;AACZ,QAAA,IAAI,CAAC,IAAI;QACT,EAAC,MAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,kBAAkB,CAAA,EACpC;AACN,CAAC;AAED;MAea,0BAA0B,CAAA;IAoCnC,WAGqB,CAAA,MAAwC,EACpB,EAAc,EAAA;QADlC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkC;QACpB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;;AA7B9C,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QASjD,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;QAGd,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;QAGN,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,IAAI,CAC9D,IAAI,CAAC,CAAC,CAAC,EACP,oBAAoB,EAAE,CACzB,CAAC;AAGO,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAW,CAAC;QAsH5C,IAAK,CAAA,KAAA,GAAG,MAAY,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KA7GhD;IAEJ,IACI,IAAI,CAAC,IAAa,EAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;AAED,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;KAChC;AAED,IAAA,IAAI,IAAI,GAAA;;AACJ,QAAA,OAAO,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,KAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;KACpE;AAED,IAAA,IAAI,YAAY,GAAA;;AACZ,QAAA,QACI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,0CAAE,aAAa;AAChC,YAAA,IAAI,CAAC,sBAAsB;AAC3B,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EACvB;KACL;AAED,IAAA,IAAI,QAAQ,GAAA;;QACR,OAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,iBAAiB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC,aAAa,CAAC;KACzE;AAED,IAAA,IAAI,sBAAsB,GAAA;AACtB,QAAA,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;cACxC,IAAI,CAAC,IAAI;cACT,sBAAsB,CAAC;gBACnB,OAAO,EAAE,IAAI,CAAC,IAAI;AAClB,gBAAA,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa;AAC9B,aAAA,CAAC,CAAC;KACZ;AAED,IAAA,IACI,OAAO,GAAA;AACP,QAAA,QACI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC9B,IAAI,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,OAAO;gBACd,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EACvD;KACL;AAGD,IAAA,SAAS,CAAC,MAAmB,EAAA;QACzB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAA;KACJ;AAGD,IAAA,OAAO,CAAC,MAAmB,EAAA;;QACvB,IACI,CAAC,IAAI,CAAC,YAAY;AAClB,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YAClC,EAAC,MAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,EACvB;YACE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,SAAA;KACJ;AAID,IAAA,YAAY,CAAC,KAAY,EAAA;QACrB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAID,OAAO,CAAC,KAAoB,EAAE,IAAa,EAAA;AACvC,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACnC;AAED,IAAA,SAAS,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAgB,EAAA;AACpD,QAAA,IACI,CAAC,gBAAgB;YACjB,eAAe,CAAC,GAAG,CAAC;AACpB,YAAA,IAAI,CAAC,YAAY;YACjB,gBAAgB,CAAC,MAAM,CAAC;AACxB,YAAA,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAC/B;YACE,IAAI,CAAC,SAAS,EAAE,CAAC;AACpB,SAAA;KACJ;AAED,IAAA,YAAY,CAAC,MAAe,EAAA;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3B,IAAI,CAAC,MAAM,EAAE;AACT,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAA;KACJ;AAED,IAAA,cAAc,CAAC,QAAiB,EAAA;AAC5B,QAAA,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,aAAa,EAAE,CAAC;AACxB,SAAA;KACJ;AAED,IAAA,UAAU,CAAC,IAAa,EAAA;AACpB,QAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AACvB,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACpB,SAAA;KACJ;AAID,IAAA,IAAY,YAAY,GAAA;AACpB,QAAA,OAAO,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAClD;IAEO,aAAa,CAAC,KAAoB,EAAE,KAAc,EAAA;AACtD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAEzC,QAAA,IACI,CAAC,IAAI;YACL,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACvB,YAAA,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3B,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAC9B;YACE,OAAO;AACV,SAAA;QAED,IACI,CAAC,IAAI,CAAC,OAAO;YACb,CAAC,IAAI,CAAC,IAAI;YACV,CAAC,IAAI,CAAC,QAAQ;YACd,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAClE;AACE,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAEtB,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE;gBAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;AAC1B,aAAA;YAED,OAAO;AACV,SAAA;QAED,MAAM,OAAO,GAAG,KAAK;AACjB,cAAE,IAAI,CAAC,OAAO,CAAC,aAAa;cAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC;QACpD,MAAM,SAAS,GAAG,sBAAsB,CAAC;YACrC,OAAO;AACP,YAAA,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YAChC,QAAQ,EAAE,CAAC,KAAK;AACnB,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;AACV,SAAA;QAED,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,CAAC,cAAc,EAAE,CAAC;KAC1B;IAEO,aAAa,GAAA;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,SAAS,EAAE,CAAC;AACpB,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KAC1B;IAEO,SAAS,GAAA;AACb,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAEzC,QAAA,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;AACrC,SAAA;KACJ;AAEO,IAAA,aAAa,CAAC,OAAgB,EAAA;AAClC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACpC;;wHA1NQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAsCvB,yBAAyB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAEzB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAxCb,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EATxB,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,0BAAA,EAAA,OAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EAAA;QACP,0BAA0B,CAAC,0BAA0B,CAAC;AACtD,QAAA;AACI,YAAA,OAAO,EAAE,yBAAyB;AAClC,YAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,mBAAmB,CAAC,CAAC;AACzD,YAAA,UAAU,EAAE,CAAC,QAAsC,KAAK,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,CAAC,CAAC;AACxE,SAAA;KACJ,EAGa,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,mCAAmC,EAAS,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,EAGvC,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,iEAG5B,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAMpB,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxFrC,8mCAqCA,EAAA,MAAA,EAAA,CAAA,uGAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iCAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADiJI,UAAA,CAAA;IAFC,UAAU,CAAC,WAAW,CAAC;AAKvB,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,cAAA,EAAA,IAAA,CAAA,CAAA;4FA9GQ,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAdtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,WAAW,EAAE,iCAAiC;oBAC9C,SAAS,EAAE,CAAC,8BAA8B,CAAC;oBAC3C,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACP,wBAAA,0BAA0B,CAA4B,0BAAA,CAAA;AACtD,wBAAA;AACI,4BAAA,OAAO,EAAE,yBAAyB;AAClC,4BAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,mBAAmB,CAAC,CAAC;AACzD,4BAAA,UAAU,EAAE,CAAC,QAAsC,KAAK,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,CAAC,CAAC;AACxE,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;;0BAsCQ,QAAQ;;0BACR,MAAM;2BAAC,yBAAyB,CAAA;;0BAEhC,MAAM;2BAAC,UAAU,CAAA;4CAtCL,YAAY,EAAA,CAAA;sBAD5B,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,mCAAmC,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAA;gBAIpD,OAAO,EAAA,CAAA;sBADvB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAA;gBAIvB,iBAAiB,EAAA,CAAA;sBADjC,SAAS;uBAAC,oBAAoB,CAAA;gBAOtB,UAAU,EAAA,CAAA;sBADlB,SAAS;uBAAC,sBAAsB,CAAA;gBAIjC,OAAO,EAAA,CAAA;sBADN,KAAK;gBAIN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAIN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAIG,KAAK,EAAA,CAAA;sBADb,MAAM;uBAAC,YAAY,CAAA;gBAOX,aAAa,EAAA,CAAA;sBADrB,MAAM;gBAaH,IAAI,EAAA,CAAA;sBADP,KAAK;gBAmCF,OAAO,EAAA,CAAA;sBADV,WAAW;uBAAC,gCAAgC,CAAA;gBAW7C,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,SAAS,EAAE,CAAC,eAAe,CAAC,CAAA;gBAQ1C,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAA;gBAaxC,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAQnD,OAAO,EAAA,CAAA;sBAFN,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;;sBACpD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;;;ME3J3C,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAV5B,yBAAyB;QACzB,0BAA0B;AAC1B,QAAA,mCAAmC,aAVnC,YAAY;QACZ,kBAAkB;QAClB,YAAY;QACZ,iBAAiB;QACjB,mBAAmB;AACnB,QAAA,iBAAiB,aAQjB,0BAA0B;QAC1B,mCAAmC;QACnC,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAGtB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAnBvB,OAAA,EAAA,CAAA;YACL,YAAY;YACZ,kBAAkB;YAClB,YAAY;YACZ,iBAAiB;YACjB,mBAAmB;YACnB,iBAAiB;AACpB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAYQ,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBApBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,kBAAkB;wBAClB,YAAY;wBACZ,iBAAiB;wBACjB,mBAAmB;wBACnB,iBAAiB;AACpB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,yBAAyB;wBACzB,0BAA0B;wBAC1B,mCAAmC;AACtC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,0BAA0B;wBAC1B,mCAAmC;wBACnC,2BAA2B;AAC9B,qBAAA;AACJ,iBAAA,CAAA;;;AChCD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-hosted-dropdown.js","sources":["../../../projects/core/components/hosted-dropdown/accessor-proxy.directive.ts","../../../projects/core/components/hosted-dropdown/hosted-dropdown-connector.directive.ts","../../../projects/core/components/hosted-dropdown/hosted-dropdown.component.ts","../../../projects/core/components/hosted-dropdown/hosted-dropdown.template.html","../../../projects/core/components/hosted-dropdown/hosted-dropdown.module.ts","../../../projects/core/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.ts"],"sourcesContent":["import {Directive, Optional, SkipSelf} from '@angular/core';\nimport {TuiPositionAccessor} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\n@Directive({\n selector: '[tuiAccessorProxy]',\n providers: [\n {\n provide: TuiPositionAccessor,\n multi: true,\n deps: [\n [new Optional(), new SkipSelf(), TuiAccessorProxyDirective],\n TuiAccessorProxyDirective,\n ],\n useFactory: (\n accessor: TuiPositionAccessor | null,\n fallback: TuiPositionAccessor,\n ) => accessor || fallback,\n },\n ],\n})\nexport class TuiAccessorProxyDirective extends TuiPositionAccessor {\n readonly type = 'dummy';\n\n getPosition(): TuiPoint {\n return [0, 0];\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiHostedDropdownHost]',\n})\nexport class TuiHostedDropdownConnectorDirective {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiGetClosestFocusable,\n tuiIsElement,\n tuiIsElementEditable,\n tuiIsHTMLElement,\n tuiIsNativeFocusedIn,\n tuiIsNativeKeyboardFocusable,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiPositionAccessor} from '@taiga-ui/core/abstract';\nimport {\n TuiDropdownDirective,\n TuiDropdownHoverDirective,\n} from '@taiga-ui/core/directives/dropdown';\nimport {tuiIsEditingKey} from '@taiga-ui/core/utils/miscellaneous';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, EMPTY, merge} from 'rxjs';\nimport {distinctUntilChanged, skip} from 'rxjs/operators';\n\nimport {TuiAccessorProxyDirective} from './accessor-proxy.directive';\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\nexport interface TuiHostedDropdownContext\n extends TuiContextWithImplicit<TuiActiveZoneDirective> {\n close(): void;\n}\n\nfunction shouldClose(\n this: TuiHostedDropdownComponent,\n event: Event | KeyboardEvent,\n): boolean {\n return (\n 'key' in event &&\n event.key.toLowerCase() === 'escape' &&\n this.canOpen &&\n this.open &&\n !this.dropdown?.nextElementSibling\n );\n}\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'tui-hosted-dropdown',\n templateUrl: './hosted-dropdown.template.html',\n styleUrls: ['./hosted-dropdown.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiHostedDropdownComponent),\n {\n provide: TuiAccessorProxyDirective,\n deps: [[new Optional(), new Self(), TuiPositionAccessor]],\n useFactory: (position: TuiPositionAccessor[] | null) => position?.[0],\n },\n ],\n})\nexport class TuiHostedDropdownComponent implements TuiFocusableElementAccessor {\n @ContentChild(TuiHostedDropdownConnectorDirective, {read: ElementRef})\n private readonly dropdownHost?: ElementRef<HTMLElement>;\n\n @ViewChild('wrapper', {read: ElementRef})\n private readonly wrapper?: ElementRef<HTMLDivElement>;\n\n @ViewChild(TuiDropdownDirective)\n private readonly dropdownDirective?: TuiDropdownDirective;\n\n /** TODO: rename in 4.0 */\n readonly openChange = new BehaviorSubject(false);\n\n @ViewChild(TuiActiveZoneDirective)\n readonly activeZone!: TuiActiveZoneDirective;\n\n @Input()\n content: PolymorpheusContent<TuiHostedDropdownContext>;\n\n @Input()\n sided = false;\n\n @Input()\n canOpen = true;\n\n @Output('openChange')\n readonly open$ = merge(this.openChange, this.hover$ || EMPTY).pipe(\n skip(1),\n distinctUntilChanged(),\n );\n\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n readonly context!: TuiContextWithImplicit<TuiActiveZoneDirective>;\n\n constructor(\n @Self()\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hover$: TuiDropdownHoverDirective | null,\n @Inject(ElementRef) private readonly el: ElementRef,\n ) {}\n\n @Input()\n set open(open: boolean) {\n this.openChange.next(open);\n }\n\n get open(): boolean {\n return this.openChange.value;\n }\n\n get host(): HTMLElement {\n return this.dropdownHost?.nativeElement || this.el.nativeElement;\n }\n\n get computedHost(): HTMLElement {\n return (\n this.dropdownHost?.nativeElement ||\n this.nativeFocusableElement ||\n this.el.nativeElement\n );\n }\n\n get dropdown(): HTMLElement | undefined {\n return this.dropdownDirective?.dropdownBoxRef?.location.nativeElement;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return tuiIsNativeKeyboardFocusable(this.host)\n ? this.host\n : tuiGetClosestFocusable({\n initial: this.host,\n root: this.el.nativeElement,\n });\n }\n\n @HostBinding('class._hosted_dropdown_focused')\n get focused(): boolean {\n return (\n tuiIsNativeFocusedIn(this.host) ||\n (this.open &&\n !!this.wrapper &&\n tuiIsNativeFocusedIn(this.wrapper.nativeElement))\n );\n }\n\n @HostListener('focusin', ['$event.target'])\n onFocusIn(target: HTMLElement): void {\n if (!this.computedHost.contains(target)) {\n this.updateOpen(false);\n }\n }\n\n @HostListener('click', ['$event.target'])\n onClick(target: HTMLElement): void {\n if (\n !this.hostEditable &&\n this.computedHost.contains(target) &&\n !this.hover$?.hovered\n ) {\n this.updateOpen(!this.open);\n }\n }\n\n @shouldCall(shouldClose)\n @HostListener('document:keydown.silent', ['$event'])\n onKeyDownEsc(event: Event): void {\n event.stopPropagation();\n this.closeDropdown();\n }\n\n @HostListener('keydown.arrowDown', ['$event', 'true'])\n @HostListener('keydown.arrowUp', ['$event', 'false'])\n onArrow(event: KeyboardEvent, down: boolean): void {\n this.focusDropdown(event, down);\n }\n\n onKeydown({key, target, defaultPrevented}: KeyboardEvent): void {\n if (\n !defaultPrevented &&\n tuiIsEditingKey(key) &&\n this.hostEditable &&\n tuiIsHTMLElement(target) &&\n !tuiIsElementEditable(target)\n ) {\n this.focusHost();\n }\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n\n if (!active) {\n this.updateOpen(false);\n }\n }\n\n onHostObscured(obscured: boolean): void {\n if (obscured) {\n this.closeDropdown();\n }\n }\n\n updateOpen(open: boolean): void {\n if (!open || this.canOpen) {\n this.open = open;\n }\n }\n\n readonly close = (): void => this.updateOpen(false);\n\n private get hostEditable(): boolean {\n return tuiIsElementEditable(this.computedHost);\n }\n\n private focusDropdown(event: KeyboardEvent, first: boolean): void {\n const host = this.nativeFocusableElement;\n\n if (\n !host ||\n !tuiIsHTMLElement(host) ||\n !tuiIsElement(event.target) ||\n !host.contains(event.target)\n ) {\n return;\n }\n\n if (\n !this.wrapper ||\n !this.open ||\n !this.dropdown ||\n !tuiIsHTMLElement(this.wrapper.nativeElement.nextElementSibling)\n ) {\n this.updateOpen(true);\n\n if (!tuiIsElementEditable(host)) {\n event.preventDefault();\n }\n\n return;\n }\n\n const initial = first\n ? this.wrapper.nativeElement\n : this.wrapper.nativeElement.nextElementSibling;\n const focusable = tuiGetClosestFocusable({\n initial,\n root: this.wrapper.nativeElement,\n previous: !first,\n });\n\n if (!focusable) {\n return;\n }\n\n focusable.focus();\n event.preventDefault();\n }\n\n private closeDropdown(): void {\n if (this.focused) {\n this.focusHost();\n }\n\n this.updateOpen(false);\n }\n\n private focusHost(): void {\n const host = this.nativeFocusableElement;\n\n if (host) {\n host.focus({preventScroll: true});\n }\n }\n\n private updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n}\n","<div\n *tuiLet=\"(open$ | async) ?? openChange.value as isOpen\"\n #activeZone=\"tuiActiveZone\"\n tuiAccessorProxy\n class=\"t-wrapper\"\n [tuiDropdownSided]=\"sided\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiObscured)=\"onHostObscured($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-content></ng-content>\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"context\"\n >\n <div\n #wrapper\n (keydown)=\"onKeydown($event)\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n content as text;\n context: {\n $implicit: activeZone,\n close: close\n }\n \"\n >\n {{ text }}\n </ng-container>\n </div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiLetModule, TuiObscuredModule} from '@taiga-ui/cdk';\nimport {\n TuiDropdownModule,\n TuiDropdownOptionsDirective,\n} from '@taiga-ui/core/directives/dropdown';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAccessorProxyDirective} from './accessor-proxy.directive';\nimport {TuiHostedDropdownComponent} from './hosted-dropdown.component';\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiObscuredModule,\n TuiActiveZoneModule,\n TuiDropdownModule,\n ],\n declarations: [\n TuiAccessorProxyDirective,\n TuiHostedDropdownComponent,\n TuiHostedDropdownConnectorDirective,\n ],\n exports: [\n TuiHostedDropdownComponent,\n TuiHostedDropdownConnectorDirective,\n TuiDropdownOptionsDirective,\n ],\n})\nexport class TuiHostedDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TuiAccessorProxyDirective"],"mappings":"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"}
@@ -32,7 +32,7 @@ class TuiRootComponent {
32
32
  }
33
33
  }
34
34
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TUI_IS_MOBILE_RES }, { token: TUI_IS_IOS }, { token: TUI_IS_ANDROID }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
35
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.34.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
35
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.35.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{
@@ -2,6 +2,10 @@ import { TUI_VERSION, EMPTY_ARRAY, CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk';
2
2
 
3
3
  const TUI_CACHE_BUSTING_PAYLOAD = `?v=${TUI_VERSION}`;
4
4
 
5
+ /**
6
+ * @deprecated
7
+ * TODO: delete in v4.0
8
+ */
5
9
  const TUI_DECIMAL_SYMBOLS = [`,`, `.`];
6
10
 
7
11
  const DEFAULT_ICONS_PATH = name => name.includes(`.svg#`) ? name : `#${name}`;
@@ -62,6 +66,10 @@ const TUI_HINT_DIRECTIONS = [
62
66
  `right-bottom`,
63
67
  ];
64
68
 
69
+ /**
70
+ * @deprecated Use {@link https://github.com/Tinkoff/maskito Maskito}
71
+ * TODO: delete in v4.0
72
+ */
65
73
  const MASK_CARET_TRAP = `[]`;
66
74
 
67
75
  const TUI_DIGIT_REGEXP = /\d/;