@taiga-ui/core 3.9.0 → 3.10.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 (124) hide show
  1. package/bundles/taiga-ui-core-abstract.umd.js +1 -1
  2. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-alert.umd.js +1 -1
  4. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-button.umd.js +1 -1
  6. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-calendar.umd.js +1 -1
  8. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-data-list.umd.js +39 -21
  10. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-dialog.umd.js +2 -2
  12. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-error.umd.js +1 -1
  14. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-expand.umd.js +1 -1
  16. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-group.umd.js +1 -1
  18. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +35 -24
  20. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-label.umd.js +1 -1
  22. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-link.umd.js +1 -1
  24. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-loader.umd.js +1 -1
  26. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
  28. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +2 -2
  30. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +1 -1
  32. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  33. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +1 -1
  34. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +3 -3
  36. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +3 -2
  38. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  39. package/bundles/taiga-ui-core-components-root.umd.js +2 -2
  40. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  41. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +1 -1
  42. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  43. package/bundles/taiga-ui-core-components-scrollbar.umd.js +1 -1
  44. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  45. package/bundles/taiga-ui-core-components-svg.umd.js +1 -1
  46. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-theme-night.umd.js +1 -1
  48. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  49. package/bundles/taiga-ui-core-components-tooltip.umd.js +1 -1
  50. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  51. package/bundles/taiga-ui-core-directives-dropdown.umd.js +3 -3
  52. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  53. package/bundles/taiga-ui-core-directives-hint.umd.js +2 -1
  54. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  55. package/bundles/taiga-ui-core-directives-mode.umd.js +1 -1
  56. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  57. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +1 -1
  58. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  59. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +1 -1
  60. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  61. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +1 -1
  62. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  63. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +1 -1
  64. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  65. package/bundles/taiga-ui-core-pipes-order-week-days.umd.js +1 -1
  66. package/bundles/taiga-ui-core-pipes-order-week-days.umd.js.map +1 -1
  67. package/bundles/taiga-ui-core-services.umd.js +1 -1
  68. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  69. package/bundles/taiga-ui-core-tokens.umd.js +1 -1
  70. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  71. package/bundles/taiga-ui-core-utils-dom.umd.js +1 -0
  72. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  73. package/bundles/taiga-ui-core-utils-format.umd.js +1 -1
  74. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  75. package/bundles/taiga-ui-core-utils-mask.umd.js +3 -2
  76. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  77. package/components/data-list/data-list.component.d.ts +6 -3
  78. package/components/data-list/option/option.component.d.ts +2 -1
  79. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +9 -3
  80. package/components/svg/svg.component.d.ts +1 -1
  81. package/directives/hint/hint.directive.d.ts +2 -2
  82. package/esm2015/components/data-list/data-list.component.js +26 -8
  83. package/esm2015/components/data-list/option/option.component.js +4 -3
  84. package/esm2015/components/dialog/dialog.component.js +1 -1
  85. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +18 -8
  86. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +1 -1
  87. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -1
  88. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +1 -1
  89. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -2
  90. package/esm2015/components/root/root.component.js +2 -2
  91. package/esm2015/components/svg/svg.component.js +1 -1
  92. package/esm2015/directives/dropdown/dropdown.component.js +3 -3
  93. package/esm2015/directives/hint/hint-position.directive.js +2 -1
  94. package/esm2015/directives/hint/hint.directive.js +1 -1
  95. package/esm2015/pipes/calendar-sheet/utils.js +2 -2
  96. package/esm2015/utils/dom/get-word-range.js +2 -1
  97. package/esm2015/utils/mask/create-number-mask.js +3 -2
  98. package/fesm2015/taiga-ui-core-components-data-list.js +27 -8
  99. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  100. package/fesm2015/taiga-ui-core-components-dialog.js +1 -1
  101. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +18 -8
  102. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  103. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +1 -1
  104. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +2 -2
  105. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  106. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -1
  107. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  108. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  109. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  110. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  111. package/fesm2015/taiga-ui-core-directives-dropdown.js +2 -2
  112. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  113. package/fesm2015/taiga-ui-core-directives-hint.js +1 -0
  114. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  115. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +1 -1
  116. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  117. package/fesm2015/taiga-ui-core-utils-dom.js +1 -0
  118. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  119. package/fesm2015/taiga-ui-core-utils-mask.js +2 -1
  120. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  121. package/package.json +4 -4
  122. package/styles/mixins/mixins.less +17 -0
  123. package/styles/mixins/picker.less +1 -1
  124. package/styles/mixins/picker.scss +1 -1
@@ -22,7 +22,7 @@ export const getDayFromMonthRowCol = ({ month, rowIndex, colIndex, firstDayOfWee
22
22
  getMonthStartDaysOffset(month, firstDayOfWeek) +
23
23
  1;
24
24
  if (day > month.daysCount) {
25
- day = day - month.daysCount;
25
+ day -= month.daysCount;
26
26
  month = month.append({ month: 1 });
27
27
  }
28
28
  if (day <= 0) {
@@ -31,4 +31,4 @@ export const getDayFromMonthRowCol = ({ month, rowIndex, colIndex, firstDayOfWee
31
31
  }
32
32
  return new TuiDay(month.year, month.month, day);
33
33
  };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3BpcGVzL2NhbGVuZGFyLXNoZWV0L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxZQUFZLEVBQ1osU0FBUyxFQUNULE1BQU0sRUFFTixVQUFVLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFFdkI7O0dBRUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQzVCLEtBQWUsRUFDZixjQUE0QixFQUN0QixFQUFFO0lBQ1IsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFakYsT0FBTywwQkFBMEIsSUFBSSxjQUFjO1FBQy9DLENBQUMsQ0FBQywwQkFBMEIsR0FBRyxjQUFjO1FBQzdDLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxjQUFjLEdBQUcsMEJBQTBCLENBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEVBQ2xDLEtBQUssRUFDTCxRQUFRLEVBQ1IsUUFBUSxFQUNSLGNBQWMsR0FlakIsRUFBVSxFQUFFO0lBQ1QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDN0MsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUV4RCxJQUFJLEdBQUcsR0FDSCxRQUFRLEdBQUcsWUFBWTtRQUN2QixRQUFRO1FBQ1IsdUJBQXVCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQztRQUM5QyxDQUFDLENBQUM7SUFFTixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFO1FBQ3ZCLEdBQUcsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0tBQ3BDO0lBRUQsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO1FBQ1YsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQ2xDLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztLQUMvQjtJQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgREFZU19JTl9XRUVLLFxuICAgIHR1aUFzc2VydCxcbiAgICBUdWlEYXksXG4gICAgVHVpRGF5T2ZXZWVrLFxuICAgIHR1aUluUmFuZ2UsXG4gICAgVHVpTW9udGgsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG4vKipcbiAqIENvbXB1dGVzIGRheSBvZiB3ZWVrIG9mZnNldCBvZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBtb250aFxuICovXG5jb25zdCBnZXRNb250aFN0YXJ0RGF5c09mZnNldCA9IChcbiAgICBtb250aDogVHVpTW9udGgsXG4gICAgZmlyc3REYXlPZldlZWs6IFR1aURheU9mV2Vlayxcbik6IG51bWJlciA9PiB7XG4gICAgY29uc3Qgc3RhcnRNb250aE9mZnNldEZyb21TdW5kYXkgPSBuZXcgRGF0ZShtb250aC55ZWFyLCBtb250aC5tb250aCwgMSkuZ2V0RGF5KCk7XG5cbiAgICByZXR1cm4gc3RhcnRNb250aE9mZnNldEZyb21TdW5kYXkgPj0gZmlyc3REYXlPZldlZWtcbiAgICAgICAgPyBzdGFydE1vbnRoT2Zmc2V0RnJvbVN1bmRheSAtIGZpcnN0RGF5T2ZXZWVrXG4gICAgICAgIDogREFZU19JTl9XRUVLIC0gKGZpcnN0RGF5T2ZXZWVrIC0gc3RhcnRNb250aE9mZnNldEZyb21TdW5kYXkpO1xufTtcblxuLyoqXG4gKiBDYWxjdWxhdGVkIGRheSBvbiBhIGNhbGVuZGFyIGdyaWRcbiAqIEByZXR1cm4gcmVzdWx0aW5nIGRheSBvbiB0aGVzZSBjb29yZGluYXRlcyAoY291bGQgZXhjZWVkIHBhc3NlZCBtb250aClcbiAqL1xuZXhwb3J0IGNvbnN0IGdldERheUZyb21Nb250aFJvd0NvbCA9ICh7XG4gICAgbW9udGgsXG4gICAgcm93SW5kZXgsXG4gICAgY29sSW5kZXgsXG4gICAgZmlyc3REYXlPZldlZWssXG59OiB7XG4gICAgbW9udGg6IFR1aU1vbnRoO1xuICAgIC8qKlxuICAgICAqIHJvdyBpbiBhIGNhbGVuZGFyXG4gICAgICovXG4gICAgcm93SW5kZXg6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBjb2x1bW4gaW4gYSBjYWxlbmRhclxuICAgICAqL1xuICAgIGNvbEluZGV4OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogZmlyc3QgZGF5IG9mIHRoZSB3ZWVrIGluZGV4IChTdW5kYXkgLSAwLCBTYXR1cmRheSAtIDYpXG4gICAgICovXG4gICAgZmlyc3REYXlPZldlZWs6IFR1aURheU9mV2Vlaztcbn0pOiBUdWlEYXkgPT4ge1xuICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihyb3dJbmRleCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQodHVpSW5SYW5nZShyb3dJbmRleCwgMCwgNikpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihjb2xJbmRleCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQodHVpSW5SYW5nZShjb2xJbmRleCwgMCwgREFZU19JTl9XRUVLKSk7XG5cbiAgICBsZXQgZGF5ID1cbiAgICAgICAgcm93SW5kZXggKiBEQVlTX0lOX1dFRUsgK1xuICAgICAgICBjb2xJbmRleCAtXG4gICAgICAgIGdldE1vbnRoU3RhcnREYXlzT2Zmc2V0KG1vbnRoLCBmaXJzdERheU9mV2VlaykgK1xuICAgICAgICAxO1xuXG4gICAgaWYgKGRheSA+IG1vbnRoLmRheXNDb3VudCkge1xuICAgICAgICBkYXkgPSBkYXkgLSBtb250aC5kYXlzQ291bnQ7XG4gICAgICAgIG1vbnRoID0gbW9udGguYXBwZW5kKHttb250aDogMX0pO1xuICAgIH1cblxuICAgIGlmIChkYXkgPD0gMCkge1xuICAgICAgICBtb250aCA9IG1vbnRoLmFwcGVuZCh7bW9udGg6IC0xfSk7XG4gICAgICAgIGRheSA9IG1vbnRoLmRheXNDb3VudCArIGRheTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFR1aURheShtb250aC55ZWFyLCBtb250aC5tb250aCwgZGF5KTtcbn07XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3BpcGVzL2NhbGVuZGFyLXNoZWV0L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxZQUFZLEVBQ1osU0FBUyxFQUNULE1BQU0sRUFFTixVQUFVLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFFdkI7O0dBRUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQzVCLEtBQWUsRUFDZixjQUE0QixFQUN0QixFQUFFO0lBQ1IsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFakYsT0FBTywwQkFBMEIsSUFBSSxjQUFjO1FBQy9DLENBQUMsQ0FBQywwQkFBMEIsR0FBRyxjQUFjO1FBQzdDLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxjQUFjLEdBQUcsMEJBQTBCLENBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEVBQ2xDLEtBQUssRUFDTCxRQUFRLEVBQ1IsUUFBUSxFQUNSLGNBQWMsR0FlakIsRUFBVSxFQUFFO0lBQ1QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDN0MsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUV4RCxJQUFJLEdBQUcsR0FDSCxRQUFRLEdBQUcsWUFBWTtRQUN2QixRQUFRO1FBQ1IsdUJBQXVCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQztRQUM5QyxDQUFDLENBQUM7SUFFTixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFO1FBQ3ZCLEdBQUcsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ3ZCLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7S0FDcEM7SUFFRCxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUU7UUFDVixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7UUFDbEMsR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO0tBQy9CO0lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEQVlTX0lOX1dFRUssXG4gICAgdHVpQXNzZXJ0LFxuICAgIFR1aURheSxcbiAgICBUdWlEYXlPZldlZWssXG4gICAgdHVpSW5SYW5nZSxcbiAgICBUdWlNb250aCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKlxuICogQ29tcHV0ZXMgZGF5IG9mIHdlZWsgb2Zmc2V0IG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1vbnRoXG4gKi9cbmNvbnN0IGdldE1vbnRoU3RhcnREYXlzT2Zmc2V0ID0gKFxuICAgIG1vbnRoOiBUdWlNb250aCxcbiAgICBmaXJzdERheU9mV2VlazogVHVpRGF5T2ZXZWVrLFxuKTogbnVtYmVyID0+IHtcbiAgICBjb25zdCBzdGFydE1vbnRoT2Zmc2V0RnJvbVN1bmRheSA9IG5ldyBEYXRlKG1vbnRoLnllYXIsIG1vbnRoLm1vbnRoLCAxKS5nZXREYXkoKTtcblxuICAgIHJldHVybiBzdGFydE1vbnRoT2Zmc2V0RnJvbVN1bmRheSA+PSBmaXJzdERheU9mV2Vla1xuICAgICAgICA/IHN0YXJ0TW9udGhPZmZzZXRGcm9tU3VuZGF5IC0gZmlyc3REYXlPZldlZWtcbiAgICAgICAgOiBEQVlTX0lOX1dFRUsgLSAoZmlyc3REYXlPZldlZWsgLSBzdGFydE1vbnRoT2Zmc2V0RnJvbVN1bmRheSk7XG59O1xuXG4vKipcbiAqIENhbGN1bGF0ZWQgZGF5IG9uIGEgY2FsZW5kYXIgZ3JpZFxuICogQHJldHVybiByZXN1bHRpbmcgZGF5IG9uIHRoZXNlIGNvb3JkaW5hdGVzIChjb3VsZCBleGNlZWQgcGFzc2VkIG1vbnRoKVxuICovXG5leHBvcnQgY29uc3QgZ2V0RGF5RnJvbU1vbnRoUm93Q29sID0gKHtcbiAgICBtb250aCxcbiAgICByb3dJbmRleCxcbiAgICBjb2xJbmRleCxcbiAgICBmaXJzdERheU9mV2Vlayxcbn06IHtcbiAgICBtb250aDogVHVpTW9udGg7XG4gICAgLyoqXG4gICAgICogcm93IGluIGEgY2FsZW5kYXJcbiAgICAgKi9cbiAgICByb3dJbmRleDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIGNvbHVtbiBpbiBhIGNhbGVuZGFyXG4gICAgICovXG4gICAgY29sSW5kZXg6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgaW5kZXggKFN1bmRheSAtIDAsIFNhdHVyZGF5IC0gNilcbiAgICAgKi9cbiAgICBmaXJzdERheU9mV2VlazogVHVpRGF5T2ZXZWVrO1xufSk6IFR1aURheSA9PiB7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKHJvd0luZGV4KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydCh0dWlJblJhbmdlKHJvd0luZGV4LCAwLCA2KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGNvbEluZGV4KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydCh0dWlJblJhbmdlKGNvbEluZGV4LCAwLCBEQVlTX0lOX1dFRUspKTtcblxuICAgIGxldCBkYXkgPVxuICAgICAgICByb3dJbmRleCAqIERBWVNfSU5fV0VFSyArXG4gICAgICAgIGNvbEluZGV4IC1cbiAgICAgICAgZ2V0TW9udGhTdGFydERheXNPZmZzZXQobW9udGgsIGZpcnN0RGF5T2ZXZWVrKSArXG4gICAgICAgIDE7XG5cbiAgICBpZiAoZGF5ID4gbW9udGguZGF5c0NvdW50KSB7XG4gICAgICAgIGRheSAtPSBtb250aC5kYXlzQ291bnQ7XG4gICAgICAgIG1vbnRoID0gbW9udGguYXBwZW5kKHttb250aDogMX0pO1xuICAgIH1cblxuICAgIGlmIChkYXkgPD0gMCkge1xuICAgICAgICBtb250aCA9IG1vbnRoLmFwcGVuZCh7bW9udGg6IC0xfSk7XG4gICAgICAgIGRheSA9IG1vbnRoLmRheXNDb3VudCArIGRheTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFR1aURheShtb250aC55ZWFyLCBtb250aC5tb250aCwgZGF5KTtcbn07XG4iXX0=
@@ -5,6 +5,7 @@ import { CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_SPACE, svgNodeFilter } from '@taig
5
5
  * @param currentRange a range to clone
6
6
  * @return modified range
7
7
  */
8
+ // eslint-disable-next-line max-statements
8
9
  export function tuiGetWordRange(currentRange) {
9
10
  const range = currentRange.cloneRange();
10
11
  const { startContainer, startOffset, endContainer, endOffset } = range;
@@ -47,4 +48,4 @@ export function tuiGetWordRange(currentRange) {
47
48
  } while (treeWalker.nextNode());
48
49
  return range;
49
50
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXdvcmQtcmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL2RvbS9nZXQtd29yZC1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxZQUFtQjtJQUMvQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsTUFBTSxFQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBQyxHQUFHLEtBQUssQ0FBQztJQUNyRSxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsY0FBYyxDQUFDO0lBRXZDLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDaEIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQzdDLGFBQWEsQ0FBQyxJQUFJLEVBQ2xCLFVBQVUsQ0FBQyxTQUFTLEVBQ3BCLGFBQWEsQ0FDaEIsQ0FBQztJQUVGLFVBQVUsQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDO0lBRXhDLEdBQUc7UUFDQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUNULFNBQVMsS0FBSyxjQUFjO1lBQ3hCLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUN0QixNQUFNLE1BQU0sR0FDUixJQUFJLENBQUMsR0FBRyxDQUNKLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQ3hCLE9BQU8sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsRUFDeEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUM3QyxHQUFHLENBQUMsQ0FBQztRQUVWLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdCLElBQUksTUFBTSxFQUFFO1lBQ1IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEMsTUFBTTtTQUNUO0tBQ0osUUFBUSxVQUFVLENBQUMsWUFBWSxFQUFFLEVBQUU7SUFFcEMsVUFBVSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7SUFFdEMsR0FBRztRQUNDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDekMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQ1QsU0FBUyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNoRixNQUFNLE1BQU0sR0FBRztZQUNYLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7WUFDcEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztTQUN6QyxDQUFDLE1BQU0sQ0FDSixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUNiLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUNoQyxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBRUYsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLElBQUksTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RFLE1BQU07U0FDVDtLQUNKLFFBQVEsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFO0lBRWhDLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfTk9fQlJFQUtfU1BBQ0UsIENIQVJfWkVST19XSURUSF9TUEFDRSwgc3ZnTm9kZUZpbHRlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNsb25lZCByYW5nZSB3aXRoIGl0cyBib3VuZGFyaWVzIHNldCBhdCB3b3JkIGJvdW5kYXJpZXNcbiAqXG4gKiBAcGFyYW0gY3VycmVudFJhbmdlIGEgcmFuZ2UgdG8gY2xvbmVcbiAqIEByZXR1cm4gbW9kaWZpZWQgcmFuZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUdldFdvcmRSYW5nZShjdXJyZW50UmFuZ2U6IFJhbmdlKTogUmFuZ2Uge1xuICAgIGNvbnN0IHJhbmdlID0gY3VycmVudFJhbmdlLmNsb25lUmFuZ2UoKTtcbiAgICBjb25zdCB7c3RhcnRDb250YWluZXIsIHN0YXJ0T2Zmc2V0LCBlbmRDb250YWluZXIsIGVuZE9mZnNldH0gPSByYW5nZTtcbiAgICBjb25zdCB7b3duZXJEb2N1bWVudH0gPSBzdGFydENvbnRhaW5lcjtcblxuICAgIGlmICghb3duZXJEb2N1bWVudCkge1xuICAgICAgICByZXR1cm4gcmFuZ2U7XG4gICAgfVxuXG4gICAgY29uc3QgdHJlZVdhbGtlciA9IG93bmVyRG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihcbiAgICAgICAgb3duZXJEb2N1bWVudC5ib2R5LFxuICAgICAgICBOb2RlRmlsdGVyLlNIT1dfVEVYVCxcbiAgICAgICAgc3ZnTm9kZUZpbHRlcixcbiAgICApO1xuXG4gICAgdHJlZVdhbGtlci5jdXJyZW50Tm9kZSA9IHN0YXJ0Q29udGFpbmVyO1xuXG4gICAgZG8ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlO1xuICAgICAgICBjb25zdCB0ZXh0Q29udGVudCA9IGNvbnRhaW5lci50ZXh0Q29udGVudCB8fCBgYDtcbiAgICAgICAgY29uc3QgY29udGVudCA9XG4gICAgICAgICAgICBjb250YWluZXIgPT09IHN0YXJ0Q29udGFpbmVyXG4gICAgICAgICAgICAgICAgPyB0ZXh0Q29udGVudC5zbGljZSgwLCBNYXRoLm1heCgwLCBzdGFydE9mZnNldCArIDEpKVxuICAgICAgICAgICAgICAgIDogdGV4dENvbnRlbnQ7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICAgICAgICBNYXRoLm1heChcbiAgICAgICAgICAgICAgICBjb250ZW50Lmxhc3RJbmRleE9mKGAgYCksXG4gICAgICAgICAgICAgICAgY29udGVudC5sYXN0SW5kZXhPZihDSEFSX05PX0JSRUFLX1NQQUNFKSxcbiAgICAgICAgICAgICAgICBjb250ZW50Lmxhc3RJbmRleE9mKENIQVJfWkVST19XSURUSF9TUEFDRSksXG4gICAgICAgICAgICApICsgMTtcblxuICAgICAgICByYW5nZS5zZXRTdGFydChjb250YWluZXIsIDApO1xuXG4gICAgICAgIGlmIChvZmZzZXQpIHtcbiAgICAgICAgICAgIHJhbmdlLnNldFN0YXJ0KGNvbnRhaW5lciwgb2Zmc2V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfSB3aGlsZSAodHJlZVdhbGtlci5wcmV2aW91c05vZGUoKSk7XG5cbiAgICB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlID0gZW5kQ29udGFpbmVyO1xuXG4gICAgZG8ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlO1xuICAgICAgICBjb25zdCB0ZXh0Q29udGVudCA9IGNvbnRhaW5lci50ZXh0Q29udGVudCB8fCBgYDtcbiAgICAgICAgY29uc3QgY29udGVudCA9XG4gICAgICAgICAgICBjb250YWluZXIgPT09IGVuZENvbnRhaW5lciA/IHRleHRDb250ZW50LnNsaWNlKGVuZE9mZnNldCArIDEpIDogdGV4dENvbnRlbnQ7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IFtcbiAgICAgICAgICAgIGNvbnRlbnQuaW5kZXhPZihgIGApLFxuICAgICAgICAgICAgY29udGVudC5pbmRleE9mKENIQVJfTk9fQlJFQUtfU1BBQ0UpLFxuICAgICAgICAgICAgY29udGVudC5pbmRleE9mKENIQVJfWkVST19XSURUSF9TUEFDRSksXG4gICAgICAgIF0ucmVkdWNlKFxuICAgICAgICAgICAgKHJlc3VsdCwgaXRlbSkgPT5cbiAgICAgICAgICAgICAgICByZXN1bHQgPT09IC0xIHx8IGl0ZW0gPT09IC0xXG4gICAgICAgICAgICAgICAgICAgID8gTWF0aC5tYXgocmVzdWx0LCBpdGVtKVxuICAgICAgICAgICAgICAgICAgICA6IE1hdGgubWluKHJlc3VsdCwgaXRlbSksXG4gICAgICAgICAgICAtMSxcbiAgICAgICAgKTtcblxuICAgICAgICByYW5nZS5zZXRFbmQoY29udGFpbmVyLCB0ZXh0Q29udGVudC5sZW5ndGgpO1xuXG4gICAgICAgIGlmIChvZmZzZXQgIT09IC0xKSB7XG4gICAgICAgICAgICByYW5nZS5zZXRFbmQoY29udGFpbmVyLCBvZmZzZXQgKyB0ZXh0Q29udGVudC5sZW5ndGggLSBjb250ZW50Lmxlbmd0aCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gd2hpbGUgKHRyZWVXYWxrZXIubmV4dE5vZGUoKSk7XG5cbiAgICByZXR1cm4gcmFuZ2U7XG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXdvcmQtcmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL2RvbS9nZXQtd29yZC1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhGOzs7OztHQUtHO0FBQ0gsMENBQTBDO0FBQzFDLE1BQU0sVUFBVSxlQUFlLENBQUMsWUFBbUI7SUFDL0MsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sRUFBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUMsR0FBRyxLQUFLLENBQUM7SUFDckUsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLGNBQWMsQ0FBQztJQUV2QyxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2hCLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBRUQsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUM3QyxhQUFhLENBQUMsSUFBSSxFQUNsQixVQUFVLENBQUMsU0FBUyxFQUNwQixhQUFhLENBQ2hCLENBQUM7SUFFRixVQUFVLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQztJQUV4QyxHQUFHO1FBQ0MsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQztRQUN6QyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxNQUFNLE9BQU8sR0FDVCxTQUFTLEtBQUssY0FBYztZQUN4QixDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDdEIsTUFBTSxNQUFNLEdBQ1IsSUFBSSxDQUFDLEdBQUcsQ0FDSixPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUN4QixPQUFPLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEVBQ3hDLE9BQU8sQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsQ0FDN0MsR0FBRyxDQUFDLENBQUM7UUFFVixLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU3QixJQUFJLE1BQU0sRUFBRTtZQUNSLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2xDLE1BQU07U0FDVDtLQUNKLFFBQVEsVUFBVSxDQUFDLFlBQVksRUFBRSxFQUFFO0lBRXBDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO0lBRXRDLEdBQUc7UUFDQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUNULFNBQVMsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDaEYsTUFBTSxNQUFNLEdBQUc7WUFDWCxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNwQixPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUM7U0FDekMsQ0FBQyxNQUFNLENBQ0osQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FDYixNQUFNLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQztZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFDaEMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUVGLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QyxJQUFJLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNmLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxNQUFNO1NBQ1Q7S0FDSixRQUFRLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtJQUVoQyxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX05PX0JSRUFLX1NQQUNFLCBDSEFSX1pFUk9fV0lEVEhfU1BBQ0UsIHN2Z05vZGVGaWx0ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjbG9uZWQgcmFuZ2Ugd2l0aCBpdHMgYm91bmRhcmllcyBzZXQgYXQgd29yZCBib3VuZGFyaWVzXG4gKlxuICogQHBhcmFtIGN1cnJlbnRSYW5nZSBhIHJhbmdlIHRvIGNsb25lXG4gKiBAcmV0dXJuIG1vZGlmaWVkIHJhbmdlXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtc3RhdGVtZW50c1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUdldFdvcmRSYW5nZShjdXJyZW50UmFuZ2U6IFJhbmdlKTogUmFuZ2Uge1xuICAgIGNvbnN0IHJhbmdlID0gY3VycmVudFJhbmdlLmNsb25lUmFuZ2UoKTtcbiAgICBjb25zdCB7c3RhcnRDb250YWluZXIsIHN0YXJ0T2Zmc2V0LCBlbmRDb250YWluZXIsIGVuZE9mZnNldH0gPSByYW5nZTtcbiAgICBjb25zdCB7b3duZXJEb2N1bWVudH0gPSBzdGFydENvbnRhaW5lcjtcblxuICAgIGlmICghb3duZXJEb2N1bWVudCkge1xuICAgICAgICByZXR1cm4gcmFuZ2U7XG4gICAgfVxuXG4gICAgY29uc3QgdHJlZVdhbGtlciA9IG93bmVyRG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihcbiAgICAgICAgb3duZXJEb2N1bWVudC5ib2R5LFxuICAgICAgICBOb2RlRmlsdGVyLlNIT1dfVEVYVCxcbiAgICAgICAgc3ZnTm9kZUZpbHRlcixcbiAgICApO1xuXG4gICAgdHJlZVdhbGtlci5jdXJyZW50Tm9kZSA9IHN0YXJ0Q29udGFpbmVyO1xuXG4gICAgZG8ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlO1xuICAgICAgICBjb25zdCB0ZXh0Q29udGVudCA9IGNvbnRhaW5lci50ZXh0Q29udGVudCB8fCBgYDtcbiAgICAgICAgY29uc3QgY29udGVudCA9XG4gICAgICAgICAgICBjb250YWluZXIgPT09IHN0YXJ0Q29udGFpbmVyXG4gICAgICAgICAgICAgICAgPyB0ZXh0Q29udGVudC5zbGljZSgwLCBNYXRoLm1heCgwLCBzdGFydE9mZnNldCArIDEpKVxuICAgICAgICAgICAgICAgIDogdGV4dENvbnRlbnQ7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICAgICAgICBNYXRoLm1heChcbiAgICAgICAgICAgICAgICBjb250ZW50Lmxhc3RJbmRleE9mKGAgYCksXG4gICAgICAgICAgICAgICAgY29udGVudC5sYXN0SW5kZXhPZihDSEFSX05PX0JSRUFLX1NQQUNFKSxcbiAgICAgICAgICAgICAgICBjb250ZW50Lmxhc3RJbmRleE9mKENIQVJfWkVST19XSURUSF9TUEFDRSksXG4gICAgICAgICAgICApICsgMTtcblxuICAgICAgICByYW5nZS5zZXRTdGFydChjb250YWluZXIsIDApO1xuXG4gICAgICAgIGlmIChvZmZzZXQpIHtcbiAgICAgICAgICAgIHJhbmdlLnNldFN0YXJ0KGNvbnRhaW5lciwgb2Zmc2V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfSB3aGlsZSAodHJlZVdhbGtlci5wcmV2aW91c05vZGUoKSk7XG5cbiAgICB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlID0gZW5kQ29udGFpbmVyO1xuXG4gICAgZG8ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlO1xuICAgICAgICBjb25zdCB0ZXh0Q29udGVudCA9IGNvbnRhaW5lci50ZXh0Q29udGVudCB8fCBgYDtcbiAgICAgICAgY29uc3QgY29udGVudCA9XG4gICAgICAgICAgICBjb250YWluZXIgPT09IGVuZENvbnRhaW5lciA/IHRleHRDb250ZW50LnNsaWNlKGVuZE9mZnNldCArIDEpIDogdGV4dENvbnRlbnQ7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IFtcbiAgICAgICAgICAgIGNvbnRlbnQuaW5kZXhPZihgIGApLFxuICAgICAgICAgICAgY29udGVudC5pbmRleE9mKENIQVJfTk9fQlJFQUtfU1BBQ0UpLFxuICAgICAgICAgICAgY29udGVudC5pbmRleE9mKENIQVJfWkVST19XSURUSF9TUEFDRSksXG4gICAgICAgIF0ucmVkdWNlKFxuICAgICAgICAgICAgKHJlc3VsdCwgaXRlbSkgPT5cbiAgICAgICAgICAgICAgICByZXN1bHQgPT09IC0xIHx8IGl0ZW0gPT09IC0xXG4gICAgICAgICAgICAgICAgICAgID8gTWF0aC5tYXgocmVzdWx0LCBpdGVtKVxuICAgICAgICAgICAgICAgICAgICA6IE1hdGgubWluKHJlc3VsdCwgaXRlbSksXG4gICAgICAgICAgICAtMSxcbiAgICAgICAgKTtcblxuICAgICAgICByYW5nZS5zZXRFbmQoY29udGFpbmVyLCB0ZXh0Q29udGVudC5sZW5ndGgpO1xuXG4gICAgICAgIGlmIChvZmZzZXQgIT09IC0xKSB7XG4gICAgICAgICAgICByYW5nZS5zZXRFbmQoY29udGFpbmVyLCBvZmZzZXQgKyB0ZXh0Q29udGVudC5sZW5ndGggLSBjb250ZW50Lmxlbmd0aCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gd2hpbGUgKHRyZWVXYWxrZXIubmV4dE5vZGUoKSk7XG5cbiAgICByZXR1cm4gcmFuZ2U7XG59XG4iXX0=
@@ -10,6 +10,7 @@ export function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = `,`,
10
10
  tuiAssert.assert(decimalLimit >= 0);
11
11
  tuiAssert.assert(Number.isInteger(integerLimit));
12
12
  tuiAssert.assert(integerLimit >= 0);
13
+ // eslint-disable-next-line max-statements
13
14
  return (rawValue, { previousConformedValue }) => {
14
15
  if (previousConformedValue && requireDecimal) {
15
16
  const conformedWithoutSeparator = rawValue.split(thousandSymbol).join(``);
@@ -86,7 +87,7 @@ function preventLeadingZeroes(mask, isOnlyZeroDigit = false, leadingZerosAmount
86
87
  if (isCaretTrap && leadingZerosAmount === 1) {
87
88
  return mask;
88
89
  }
89
- else if (isCaretTrap) {
90
+ if (isCaretTrap) {
90
91
  mask.unshift(NON_ZERO_DIGIT);
91
92
  return mask;
92
93
  }
@@ -117,4 +118,4 @@ function addThousandsSeparator(strNumber, thousandSymbol) {
117
118
  strNumber.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSymbol)
118
119
  : strNumber;
119
120
  }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL2NyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUUvQjs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQUNoQyxZQUFZLEdBQUcsS0FBSyxFQUNwQixhQUFhLEdBQUcsR0FBRyxFQUNuQixjQUFjLEdBQUcsbUJBQW1CLEVBQ3BDLHdCQUF3QixHQUFHLElBQUksRUFDL0IsWUFBWSxHQUFHLENBQUMsRUFDaEIsY0FBYyxHQUFHLEtBQUssRUFDdEIsYUFBYSxHQUFHLEtBQUssRUFDckIsWUFBWSxHQUFHLENBQUMsTUFDTSxFQUFFO0lBQ3hCLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRXBDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBQyxzQkFBc0IsRUFBQyxFQUFFLEVBQUU7UUFD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LENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLFNBQWlCLEVBQUUsY0FBc0I7SUFDcEUsT0FBTyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDdkIsQ0FBQyxDQUFDLCtGQUErRjtZQUMvRixtREFBbUQ7WUFDbkQsU0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxjQUFjLENBQUM7UUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX0VOX0RBU0gsIENIQVJfSFlQSEVOLCBDSEFSX05PX0JSRUFLX1NQQUNFLCB0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNQVNLX0NBUkVUX1RSQVAsXG4gICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfTEVBRElOR19aRVJPRVNfUkVHRVhQLFxuICAgIFRVSV9OT05fRElHSVRTX1JFR0VYUCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTnVtYmVyTWFza09wdGlvbnMsIFR1aVRleHRNYXNrTGlzdEhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL21hc2snO1xuaW1wb3J0IHtUdWlEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aU90aGVyRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZm9ybWF0JztcblxuY29uc3QgTk9OX1pFUk9fRElHSVQgPSAvWzEtOV0vO1xuXG4vKipcbiAqIEFkYXB0YXRpb24gZm9yIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGV4dC1tYXNrL3RleHQtbWFzay90cmVlL21hc3Rlci9hZGRvbnMjY3JlYXRlbnVtYmVybWFzayBgY3JlYXRlTnVtYmVyTWFza2B9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICBhbGxvd0RlY2ltYWwgPSBmYWxzZSxcbiAgICBkZWNpbWFsU3ltYm9sID0gYCxgLFxuICAgIHRob3VzYW5kU3ltYm9sID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wgPSB0cnVlLFxuICAgIGRlY2ltYWxMaW1pdCA9IDIsXG4gICAgcmVxdWlyZURlY2ltYWwgPSBmYWxzZSxcbiAgICBhbGxvd05lZ2F0aXZlID0gZmFsc2UsXG4gICAgaW50ZWdlckxpbWl0ID0gMCxcbn06IFR1aU51bWJlck1hc2tPcHRpb25zID0ge30pOiBUdWlUZXh0TWFza0xpc3RIYW5kbGVyIHtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoZGVjaW1hbExpbWl0KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGludGVnZXJMaW1pdCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoaW50ZWdlckxpbWl0ID49IDApO1xuXG4gICAgcmV0dXJuIChyYXdWYWx1ZSwge3ByZXZpb3VzQ29uZm9ybWVkVmFsdWV9KSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NvbmZvcm1lZFZhbHVlICYmIHJlcXVpcmVEZWNpbWFsKSB7XG4gICAgICAgICAgICBjb25zdCBjb25mb3JtZWRXaXRob3V0U2VwYXJhdG9yID0gcmF3VmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmpvaW4oYGApO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yID1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCh0aG91c2FuZFN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oYGApXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdChkZWNpbWFsU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihgYCk7XG5cbiAgICAgICAgICAgIC8vIEZvcmJpZCByZW1vdmFsIG9mIGRlY2ltYWwgc2VwYXJhdG9yIGlmIGRlY2ltYWwgcGFydCBpcyByZXF1aXJlZFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPT09XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByYXdWYWx1ZSA9IHByZXZpb3VzQ29uZm9ybWVkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc05lZ2F0aXZlID1cbiAgICAgICAgICAgIChyYXdWYWx1ZVswXSA9PT0gQ0hBUl9IWVBIRU4gfHwgcmF3VmFsdWVbMF0gPT09IENIQVJfRU5fREFTSCkgJiZcbiAgICAgICAgICAgIGFsbG93TmVnYXRpdmU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNEZWNpbWFsU3ltYm9sKHJhd1ZhbHVlLCBkZWNpbWFsU3ltYm9sLCBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpICYmXG4gICAgICAgICAgICBhbGxvd0RlY2ltYWxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gW2AwYCwgZGVjaW1hbFN5bWJvbCwgVFVJX0RJR0lUX1JFR0VYUF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgcmF3VmFsdWUgPSByYXdWYWx1ZS5zbGljZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY2ltYWxJbmRleCA9IGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICAgICAgICAgIHJhd1ZhbHVlLFxuICAgICAgICAgICAgZGVjaW1hbFN5bWJvbCxcbiAgICAgICAgICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaGFzRGVjaW1hbCA9IGRlY2ltYWxJbmRleCAhPT0gLTE7XG4gICAgICAgIGNvbnN0IGludGVnZXIgPSBoYXNEZWNpbWFsID8gcmF3VmFsdWUuc2xpY2UoMCwgZGVjaW1hbEluZGV4KSA6IHJhd1ZhbHVlO1xuICAgICAgICBjb25zdCB0aG91c2FuZFNlcGFyYXRvcnMgPSBpbnRlZ2VyLm1hdGNoKG5ldyBSZWdFeHAodGhvdXNhbmRTeW1ib2wsIGBnYCkpIHx8IFtdO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkID0gaW50ZWdlckxpbWl0XG4gICAgICAgICAgICA/IGludGVnZXIuc2xpY2UoMCwgaW50ZWdlckxpbWl0ICsgdGhvdXNhbmRTZXBhcmF0b3JzLmxlbmd0aClcbiAgICAgICAgICAgIDogaW50ZWdlcjtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZENsZWFuID0gaW50ZWdlckNhcHBlZC5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgYGApO1xuICAgICAgICBjb25zdCBbbGVhZGluZ1plcm9zTWF0Y2hdID0gaW50ZWdlckNhcHBlZENsZWFuLm1hdGNoKFxuICAgICAgICAgICAgVFVJX0xFQURJTkdfWkVST0VTX1JFR0VYUCxcbiAgICAgICAgKSB8fCBbYGBdO1xuICAgICAgICBjb25zdCBsZWFkaW5nWmVyb3NBbW91bnQgPSBsZWFkaW5nWmVyb3NNYXRjaC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWRaZXJvc0NsZWFuID0gaW50ZWdlckNhcHBlZENsZWFuXG4gICAgICAgICAgICAucmVwbGFjZSgvXjArKD8hXFwufCQpLywgYGApXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgICAgICBjb25zdCB3aXRoU2VwYXJhdG9yID0gYWRkVGhvdXNhbmRzU2VwYXJhdG9yKFxuICAgICAgICAgICAgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4sXG4gICAgICAgICAgICB0aG91c2FuZFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbWFzayA9IGNvbnZlcnRUb01hc2sod2l0aFNlcGFyYXRvcik7XG5cbiAgICAgICAgaWYgKChoYXNEZWNpbWFsICYmIGFsbG93RGVjaW1hbCkgfHwgcmVxdWlyZURlY2ltYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uID0gaGFzRGVjaW1hbFxuICAgICAgICAgICAgICAgID8gY29udmVydFRvTWFzayhcbiAgICAgICAgICAgICAgICAgICAgICByYXdWYWx1ZS5zbGljZShkZWNpbWFsSW5kZXggKyAxKS5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgYGApLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogW107XG4gICAgICAgICAgICBjb25zdCBmcmFjdGlvbkNhcHBlZCA9IGRlY2ltYWxMaW1pdFxuICAgICAgICAgICAgICAgID8gZnJhY3Rpb24uc2xpY2UoMCwgZGVjaW1hbExpbWl0KVxuICAgICAgICAgICAgICAgIDogZnJhY3Rpb247XG5cbiAgICAgICAgICAgIGlmIChyYXdWYWx1ZVtkZWNpbWFsSW5kZXhdICE9PSB0dWlPdGhlckRlY2ltYWxTeW1ib2woZGVjaW1hbFN5bWJvbCkpIHtcbiAgICAgICAgICAgICAgICBtYXNrLnB1c2goTUFTS19DQVJFVF9UUkFQKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFzay5wdXNoKGRlY2ltYWxTeW1ib2wsIE1BU0tfQ0FSRVRfVFJBUCwgLi4uZnJhY3Rpb25DYXBwZWQpO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlY2ltYWxMaW1pdCAtIGZyYWN0aW9uQ2FwcGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNPbmx5WmVyb0RpZ2l0ID0gbWFzay5sZW5ndGggPT09IDEgJiYgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPT09IGAwYDtcblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgaWYgKG1hc2subGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnVuc2hpZnQoQ0hBUl9IWVBIRU4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZlbnRMZWFkaW5nWmVyb2VzKG1hc2ssIGlzT25seVplcm9EaWdpdCwgbGVhZGluZ1plcm9zQW1vdW50KTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBwcmV2ZW50TGVhZGluZ1plcm9lcyhcbiAgICBtYXNrOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+LFxuICAgIGlzT25seVplcm9EaWdpdDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGxlYWRpbmdaZXJvc0Ftb3VudDogbnVtYmVyID0gMCxcbik6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4ge1xuICAgIGlmIChpc09ubHlaZXJvRGlnaXQgfHwgbGVhZGluZ1plcm9zQW1vdW50ID09PSAwKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0RGlnaXRJbmRleCA9IG1hc2suaW5kZXhPZihUVUlfRElHSVRfUkVHRVhQKTtcblxuICAgIGlmIChmaXJzdERpZ2l0SW5kZXggPT09IC0xKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY29uZE1hc2tEaWdpdCA9IG1hc2tbZmlyc3REaWdpdEluZGV4ICsgMV07XG4gICAgY29uc3QgaXNDYXJldFRyYXAgPSBzZWNvbmRNYXNrRGlnaXQgPT09IE1BU0tfQ0FSRVRfVFJBUDtcblxuICAgIGlmIChpc0NhcmV0VHJhcCAmJiBsZWFkaW5nWmVyb3NBbW91bnQgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfSBlbHNlIGlmIChpc0NhcmV0VHJhcCkge1xuICAgICAgICBtYXNrLnVuc2hpZnQoTk9OX1pFUk9fRElHSVQpO1xuXG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIG1hc2tbZmlyc3REaWdpdEluZGV4XSA9IE5PTl9aRVJPX0RJR0lUO1xuXG4gICAgcmV0dXJuIG1hc2s7XG59XG5cbmZ1bmN0aW9uIGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogYm9vbGVhbixcbik6IG51bWJlciB7XG4gICAgaWYgKCFhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKTtcbiAgICB9XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKSxcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKHR1aU90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSksXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gaXNEZWNpbWFsU3ltYm9sKFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogYm9vbGVhbiB7XG4gICAgaWYgKGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gL15bLC5dJC8udGVzdChzdHIpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHIgPT09IGRlY2ltYWxTeW1ib2w7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb01hc2soc3RyTnVtYmVyOiBzdHJpbmcpOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+IHtcbiAgICByZXR1cm4gc3RyTnVtYmVyXG4gICAgICAgIC5zcGxpdChgYClcbiAgICAgICAgLm1hcChjaGFyID0+IChUVUlfRElHSVRfUkVHRVhQLnRlc3QoY2hhcikgPyBUVUlfRElHSVRfUkVHRVhQIDogY2hhcikpO1xufVxuXG5mdW5jdGlvbiBhZGRUaG91c2FuZHNTZXBhcmF0b3Ioc3RyTnVtYmVyOiBzdHJpbmcsIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJOdW1iZXIubGVuZ3RoID4gM1xuICAgICAgICA/IC8vIFRPRE86IGludmVzdGlnYXRlIHRvIGRpc2FsbG93IHBvdGVudGlhbGx5IGNhdGFzdHJvcGhpYyBleHBvbmVudGlhbC10aW1lIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tdW5zYWZlLXJlZ2V4XG4gICAgICAgICAgc3RyTnVtYmVyLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRob3VzYW5kU3ltYm9sKVxuICAgICAgICA6IHN0ck51bWJlcjtcbn1cbiJdfQ==
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL2NyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUUvQjs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQUNoQyxZQUFZLEdBQUcsS0FBSyxFQUNwQixhQUFhLEdBQUcsR0FBRyxFQUNuQixjQUFjLEdBQUcsbUJBQW1CLEVBQ3BDLHdCQUF3QixHQUFHLElBQUksRUFDL0IsWUFBWSxHQUFHLENBQUMsRUFDaEIsY0FBYyxHQUFHLEtBQUssRUFDdEIsYUFBYSxHQUFHLEtBQUssRUFDckIsWUFBWSxHQUFHLENBQUMsTUFDTSxFQUFFO0lBQ3hCLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRXBDLDBDQUEwQztJQUMxQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUMsc0JBQXNCLEVBQUMs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Z0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLFNBQWlCLEVBQUUsY0FBc0I7SUFDcEUsT0FBTyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDdkIsQ0FBQyxDQUFDLCtGQUErRjtZQUMvRixtREFBbUQ7WUFDbkQsU0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxjQUFjLENBQUM7UUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX0VOX0RBU0gsIENIQVJfSFlQSEVOLCBDSEFSX05PX0JSRUFLX1NQQUNFLCB0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNQVNLX0NBUkVUX1RSQVAsXG4gICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfTEVBRElOR19aRVJPRVNfUkVHRVhQLFxuICAgIFRVSV9OT05fRElHSVRTX1JFR0VYUCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTnVtYmVyTWFza09wdGlvbnMsIFR1aVRleHRNYXNrTGlzdEhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL21hc2snO1xuaW1wb3J0IHtUdWlEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aU90aGVyRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZm9ybWF0JztcblxuY29uc3QgTk9OX1pFUk9fRElHSVQgPSAvWzEtOV0vO1xuXG4vKipcbiAqIEFkYXB0YXRpb24gZm9yIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGV4dC1tYXNrL3RleHQtbWFzay90cmVlL21hc3Rlci9hZGRvbnMjY3JlYXRlbnVtYmVybWFzayBgY3JlYXRlTnVtYmVyTWFza2B9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICBhbGxvd0RlY2ltYWwgPSBmYWxzZSxcbiAgICBkZWNpbWFsU3ltYm9sID0gYCxgLFxuICAgIHRob3VzYW5kU3ltYm9sID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wgPSB0cnVlLFxuICAgIGRlY2ltYWxMaW1pdCA9IDIsXG4gICAgcmVxdWlyZURlY2ltYWwgPSBmYWxzZSxcbiAgICBhbGxvd05lZ2F0aXZlID0gZmFsc2UsXG4gICAgaW50ZWdlckxpbWl0ID0gMCxcbn06IFR1aU51bWJlck1hc2tPcHRpb25zID0ge30pOiBUdWlUZXh0TWFza0xpc3RIYW5kbGVyIHtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoZGVjaW1hbExpbWl0KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGludGVnZXJMaW1pdCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoaW50ZWdlckxpbWl0ID49IDApO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1zdGF0ZW1lbnRzXG4gICAgcmV0dXJuIChyYXdWYWx1ZSwge3ByZXZpb3VzQ29uZm9ybWVkVmFsdWV9KSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NvbmZvcm1lZFZhbHVlICYmIHJlcXVpcmVEZWNpbWFsKSB7XG4gICAgICAgICAgICBjb25zdCBjb25mb3JtZWRXaXRob3V0U2VwYXJhdG9yID0gcmF3VmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmpvaW4oYGApO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yID1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCh0aG91c2FuZFN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oYGApXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdChkZWNpbWFsU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihgYCk7XG5cbiAgICAgICAgICAgIC8vIEZvcmJpZCByZW1vdmFsIG9mIGRlY2ltYWwgc2VwYXJhdG9yIGlmIGRlY2ltYWwgcGFydCBpcyByZXF1aXJlZFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPT09XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByYXdWYWx1ZSA9IHByZXZpb3VzQ29uZm9ybWVkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc05lZ2F0aXZlID1cbiAgICAgICAgICAgIChyYXdWYWx1ZVswXSA9PT0gQ0hBUl9IWVBIRU4gfHwgcmF3VmFsdWVbMF0gPT09IENIQVJfRU5fREFTSCkgJiZcbiAgICAgICAgICAgIGFsbG93TmVnYXRpdmU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNEZWNpbWFsU3ltYm9sKHJhd1ZhbHVlLCBkZWNpbWFsU3ltYm9sLCBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpICYmXG4gICAgICAgICAgICBhbGxvd0RlY2ltYWxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gW2AwYCwgZGVjaW1hbFN5bWJvbCwgVFVJX0RJR0lUX1JFR0VYUF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgcmF3VmFsdWUgPSByYXdWYWx1ZS5zbGljZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY2ltYWxJbmRleCA9IGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICAgICAgICAgIHJhd1ZhbHVlLFxuICAgICAgICAgICAgZGVjaW1hbFN5bWJvbCxcbiAgICAgICAgICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaGFzRGVjaW1hbCA9IGRlY2ltYWxJbmRleCAhPT0gLTE7XG4gICAgICAgIGNvbnN0IGludGVnZXIgPSBoYXNEZWNpbWFsID8gcmF3VmFsdWUuc2xpY2UoMCwgZGVjaW1hbEluZGV4KSA6IHJhd1ZhbHVlO1xuICAgICAgICBjb25zdCB0aG91c2FuZFNlcGFyYXRvcnMgPSBpbnRlZ2VyLm1hdGNoKG5ldyBSZWdFeHAodGhvdXNhbmRTeW1ib2wsIGBnYCkpIHx8IFtdO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkID0gaW50ZWdlckxpbWl0XG4gICAgICAgICAgICA/IGludGVnZXIuc2xpY2UoMCwgaW50ZWdlckxpbWl0ICsgdGhvdXNhbmRTZXBhcmF0b3JzLmxlbmd0aClcbiAgICAgICAgICAgIDogaW50ZWdlcjtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZENsZWFuID0gaW50ZWdlckNhcHBlZC5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgYGApO1xuICAgICAgICBjb25zdCBbbGVhZGluZ1plcm9zTWF0Y2hdID0gaW50ZWdlckNhcHBlZENsZWFuLm1hdGNoKFxuICAgICAgICAgICAgVFVJX0xFQURJTkdfWkVST0VTX1JFR0VYUCxcbiAgICAgICAgKSB8fCBbYGBdO1xuICAgICAgICBjb25zdCBsZWFkaW5nWmVyb3NBbW91bnQgPSBsZWFkaW5nWmVyb3NNYXRjaC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWRaZXJvc0NsZWFuID0gaW50ZWdlckNhcHBlZENsZWFuXG4gICAgICAgICAgICAucmVwbGFjZSgvXjArKD8hXFwufCQpLywgYGApXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgICAgICBjb25zdCB3aXRoU2VwYXJhdG9yID0gYWRkVGhvdXNhbmRzU2VwYXJhdG9yKFxuICAgICAgICAgICAgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4sXG4gICAgICAgICAgICB0aG91c2FuZFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbWFzayA9IGNvbnZlcnRUb01hc2sod2l0aFNlcGFyYXRvcik7XG5cbiAgICAgICAgaWYgKChoYXNEZWNpbWFsICYmIGFsbG93RGVjaW1hbCkgfHwgcmVxdWlyZURlY2ltYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uID0gaGFzRGVjaW1hbFxuICAgICAgICAgICAgICAgID8gY29udmVydFRvTWFzayhcbiAgICAgICAgICAgICAgICAgICAgICByYXdWYWx1ZS5zbGljZShkZWNpbWFsSW5kZXggKyAxKS5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgYGApLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogW107XG4gICAgICAgICAgICBjb25zdCBmcmFjdGlvbkNhcHBlZCA9IGRlY2ltYWxMaW1pdFxuICAgICAgICAgICAgICAgID8gZnJhY3Rpb24uc2xpY2UoMCwgZGVjaW1hbExpbWl0KVxuICAgICAgICAgICAgICAgIDogZnJhY3Rpb247XG5cbiAgICAgICAgICAgIGlmIChyYXdWYWx1ZVtkZWNpbWFsSW5kZXhdICE9PSB0dWlPdGhlckRlY2ltYWxTeW1ib2woZGVjaW1hbFN5bWJvbCkpIHtcbiAgICAgICAgICAgICAgICBtYXNrLnB1c2goTUFTS19DQVJFVF9UUkFQKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFzay5wdXNoKGRlY2ltYWxTeW1ib2wsIE1BU0tfQ0FSRVRfVFJBUCwgLi4uZnJhY3Rpb25DYXBwZWQpO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlY2ltYWxMaW1pdCAtIGZyYWN0aW9uQ2FwcGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNPbmx5WmVyb0RpZ2l0ID0gbWFzay5sZW5ndGggPT09IDEgJiYgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPT09IGAwYDtcblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgaWYgKG1hc2subGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnVuc2hpZnQoQ0hBUl9IWVBIRU4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZlbnRMZWFkaW5nWmVyb2VzKG1hc2ssIGlzT25seVplcm9EaWdpdCwgbGVhZGluZ1plcm9zQW1vdW50KTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBwcmV2ZW50TGVhZGluZ1plcm9lcyhcbiAgICBtYXNrOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+LFxuICAgIGlzT25seVplcm9EaWdpdDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGxlYWRpbmdaZXJvc0Ftb3VudDogbnVtYmVyID0gMCxcbik6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4ge1xuICAgIGlmIChpc09ubHlaZXJvRGlnaXQgfHwgbGVhZGluZ1plcm9zQW1vdW50ID09PSAwKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0RGlnaXRJbmRleCA9IG1hc2suaW5kZXhPZihUVUlfRElHSVRfUkVHRVhQKTtcblxuICAgIGlmIChmaXJzdERpZ2l0SW5kZXggPT09IC0xKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY29uZE1hc2tEaWdpdCA9IG1hc2tbZmlyc3REaWdpdEluZGV4ICsgMV07XG4gICAgY29uc3QgaXNDYXJldFRyYXAgPSBzZWNvbmRNYXNrRGlnaXQgPT09IE1BU0tfQ0FSRVRfVFJBUDtcblxuICAgIGlmIChpc0NhcmV0VHJhcCAmJiBsZWFkaW5nWmVyb3NBbW91bnQgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfVxuXG4gICAgaWYgKGlzQ2FyZXRUcmFwKSB7XG4gICAgICAgIG1hc2sudW5zaGlmdChOT05fWkVST19ESUdJVCk7XG5cbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfVxuXG4gICAgbWFza1tmaXJzdERpZ2l0SW5kZXhdID0gTk9OX1pFUk9fRElHSVQ7XG5cbiAgICByZXR1cm4gbWFzaztcbn1cblxuZnVuY3Rpb24gZ2V0RGVjaW1hbFN5bWJvbEluZGV4KFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogbnVtYmVyIHtcbiAgICBpZiAoIWF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gc3RyLmxhc3RJbmRleE9mKGRlY2ltYWxTeW1ib2wpO1xuICAgIH1cblxuICAgIHJldHVybiBNYXRoLm1heChcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKGRlY2ltYWxTeW1ib2wpLFxuICAgICAgICBzdHIubGFzdEluZGV4T2YodHVpT3RoZXJEZWNpbWFsU3ltYm9sKGRlY2ltYWxTeW1ib2wpKSxcbiAgICApO1xufVxuXG5mdW5jdGlvbiBpc0RlY2ltYWxTeW1ib2woXG4gICAgc3RyOiBzdHJpbmcsXG4gICAgZGVjaW1hbFN5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2w6IGJvb2xlYW4sXG4pOiBib29sZWFuIHtcbiAgICBpZiAoYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKSB7XG4gICAgICAgIHJldHVybiAvXlssLl0kLy50ZXN0KHN0cik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0ciA9PT0gZGVjaW1hbFN5bWJvbDtcbn1cblxuZnVuY3Rpb24gY29udmVydFRvTWFzayhzdHJOdW1iZXI6IHN0cmluZyk6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4ge1xuICAgIHJldHVybiBzdHJOdW1iZXJcbiAgICAgICAgLnNwbGl0KGBgKVxuICAgICAgICAubWFwKGNoYXIgPT4gKFRVSV9ESUdJVF9SRUdFWFAudGVzdChjaGFyKSA/IFRVSV9ESUdJVF9SRUdFWFAgOiBjaGFyKSk7XG59XG5cbmZ1bmN0aW9uIGFkZFRob3VzYW5kc1NlcGFyYXRvcihzdHJOdW1iZXI6IHN0cmluZywgdGhvdXNhbmRTeW1ib2w6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ck51bWJlci5sZW5ndGggPiAzXG4gICAgICAgID8gLy8gVE9ETzogaW52ZXN0aWdhdGUgdG8gZGlzYWxsb3cgcG90ZW50aWFsbHkgY2F0YXN0cm9waGljIGV4cG9uZW50aWFsLXRpbWUgcmVndWxhciBleHByZXNzaW9ucy5cbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby11bnNhZmUtcmVnZXhcbiAgICAgICAgICBzdHJOdW1iZXIucmVwbGFjZSgvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZywgdGhvdXNhbmRTeW1ib2wpXG4gICAgICAgIDogc3RyTnVtYmVyO1xufVxuIl19
@@ -2,6 +2,8 @@ import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { forwardRef, ElementRef, Component, ChangeDetectionStrategy, Optional, Inject, Self, Input, HostBinding, HostListener, ViewEncapsulation, ContentChildren, Directive, NgModule } from '@angular/core';
4
4
  import { tuiIsNativeFocused, tuiDefaultProp, EMPTY_QUERY, tuiItemsQueryListObservable, tuiMoveFocus, tuiIsNativeFocusedIn, tuiSetNativeMouseFocused, tuiIsPresent, tuiIsElement, tuiPure } from '@taiga-ui/cdk';
5
+ import * as i3 from '@taiga-ui/core/directives';
6
+ import { TuiTextfieldSizeDirective } from '@taiga-ui/core/directives';
5
7
  import { TUI_OPTION_CONTENT, TUI_DATA_LIST_HOST, TUI_NOTHING_FOUND_MESSAGE, tuiAsDataListAccessor } from '@taiga-ui/core/tokens';
6
8
  import { map } from 'rxjs/operators';
7
9
  import * as i5 from '@taiga-ui/core/directives/dropdown';
@@ -13,7 +15,7 @@ import * as i2 from '@tinkoff/ng-polymorpheus';
13
15
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
14
16
  import * as i1$1 from '@angular/common';
15
17
  import { CommonModule } from '@angular/common';
16
- import * as i3 from 'rxjs';
18
+ import * as i4 from 'rxjs';
17
19
 
18
20
  function shouldFocus({ currentTarget }) {
19
21
  return !tuiIsNativeFocused(currentTarget);
@@ -26,7 +28,8 @@ class TuiOptionComponent {
26
28
  this.elementRef = elementRef;
27
29
  this.host = host;
28
30
  this.dropdown = dropdown;
29
- this.size = `m`;
31
+ /** @deprecated use size on {@link TuiDataListComponent} instead */
32
+ this.size = null;
30
33
  this.role = `option`;
31
34
  this.disabled = false;
32
35
  }
@@ -48,7 +51,7 @@ class TuiOptionComponent {
48
51
  }
49
52
  }
50
53
  TuiOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiOptionComponent, deps: [{ token: TUI_OPTION_CONTENT, optional: true }, { token: forwardRef(() => TuiDataListComponent) }, { token: ElementRef }, { token: TUI_DATA_LIST_HOST, optional: true }, { token: TuiDropdownDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
51
- TuiOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: { size: "size", role: "role", disabled: "disabled", value: "value" }, host: { attributes: { "tabIndex": "-1", "type": "button" }, listeners: { "click": "onClick()", "mousemove.init": "onMouseMove($event)", "mousemove.silent": "onMouseMove($event)" }, properties: { "attr.disabled": "disabled || null", "attr.data-size": "this.size", "attr.role": "this.role", "class._with-dropdown": "this.active" } }, ngImport: i0, template: "<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-m);align-items:center;justify-content:space-between;text-align:left;box-sizing:border-box;color:var(--tui-text-01);border-radius:var(--tui-radius-s);outline:none;text-decoration:none;cursor:pointer;background-clip:padding-box}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host:focus,:host._with-dropdown{background-color:var(--tui-clear-disabled)}:host[data-size=xs]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .375rem;margin:.0625rem .375rem}:host[data-size=s]{min-height:2rem;padding:.3125rem .375rem;margin:.0625rem .375rem}:host[data-size=m]{min-height:2.75rem;padding:.375rem .5rem;margin:.125rem .5rem}:host[data-size=l]{min-height:3.5rem;padding:.375rem .5rem;margin:.125rem .5rem}.t-arrow{margin:0 -.5rem 0 .75rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
+ TuiOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: { size: "size", role: "role", disabled: "disabled", value: "value" }, host: { attributes: { "tabIndex": "-1", "type": "button" }, listeners: { "click": "onClick()", "mousemove.init": "onMouseMove($event)", "mousemove.silent": "onMouseMove($event)" }, properties: { "attr.disabled": "disabled || null", "attr.data-size": "this.size", "attr.role": "this.role", "class._with-dropdown": "this.active" } }, ngImport: i0, template: "<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:space-between;text-align:left;box-sizing:border-box;color:var(--tui-text-01);border-radius:var(--tui-radius-s);outline:none;text-decoration:none;cursor:pointer;background-clip:padding-box;font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem;margin:.125rem 0}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host:focus,:host._with-dropdown{background-color:var(--tui-clear-disabled)}:host :host-context([data-list-size=\"s\"]),:host :host-context([data-list-size=\"xs\"]),:host[data-size=s][data-size=s],:host[data-size=xs][data-size=xs]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .5rem;margin:0}:host :host-context([data-list-size=\"m\"]),:host[data-size=m][data-size=m]{font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem;margin:.125rem 0}:host :host-context([data-list-size=\"l\"]),:host[data-size=l][data-size=l]{font:var(--tui-font-text-m);min-height:2.75rem;padding:.375rem .625rem;margin:.25rem 0}.t-arrow{margin:0 -.5rem 0 .75rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
55
  __decorate([
53
56
  tuiDefaultProp()
54
57
  ], TuiOptionComponent.prototype, "size", void 0);
@@ -127,12 +130,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
127
130
 
128
131
  // TODO: Consider aria-activedescendant for proper accessibility implementation
129
132
  class TuiDataListComponent {
130
- constructor(elementRef, defaultEmptyContent$) {
133
+ constructor(controller, elementRef, defaultEmptyContent$) {
134
+ var _a;
135
+ this.controller = controller;
131
136
  this.elementRef = elementRef;
132
137
  this.defaultEmptyContent$ = defaultEmptyContent$;
133
138
  this.options = EMPTY_QUERY;
134
139
  this.role = `listbox`;
135
140
  this.emptyContent = ``;
141
+ this.size = ((_a = this.controller) === null || _a === void 0 ? void 0 : _a.size) || `m`;
136
142
  }
137
143
  get empty$() {
138
144
  return tuiItemsQueryListObservable(this.options).pipe(map(({ length }) => !length));
@@ -171,14 +177,17 @@ class TuiDataListComponent {
171
177
  return Array.from(this.elementRef.nativeElement.querySelectorAll(`[tuiOption]`));
172
178
  }
173
179
  }
174
- TuiDataListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDataListComponent, deps: [{ token: ElementRef }, { token: TUI_NOTHING_FOUND_MESSAGE }], target: i0.ɵɵFactoryTarget.Component });
175
- TuiDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDataListComponent, selector: "tui-data-list", inputs: { role: "role", emptyContent: "emptyContent" }, host: { listeners: { "focusin": "onFocusIn($event.relatedTarget,$event.currentTarget)", "mousedown.prevent": "noop()", "keydown.arrowDown.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target,-1)", "wheel.silent.passive": "handleFocusLossIfNecessary()", "mouseleave": "handleFocusLossIfNecessary($event.target)" }, properties: { "attr.role": "this.role" } }, providers: [tuiAsDataListAccessor(TuiDataListComponent)], queries: [{ propertyName: "options", predicate: i0.forwardRef(function () { return TuiOptionComponent; }), descendants: true }], ngImport: i0, template: "<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n", styles: ["tui-data-list{display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:.375rem 0;color:var(--tui-text-03)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list>.t-empty{margin:.75rem 1rem}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-s);color:var(--tui-text-02);flex-direction:column;line-height:1rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:.375rem 1rem .75rem;line-height:1rem;white-space:normal}tui-opt-group:not(:empty)~tui-opt-group:before{padding:.875rem 1rem .75rem}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before{padding:.5rem 0 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\";position:absolute;left:1rem;right:1rem;top:.25rem;height:1px;background:var(--tui-base-03)}tui-opt-group[data-label=\"\"]:before{padding:0 1rem}\n"], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i1$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
180
+ TuiDataListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDataListComponent, deps: [{ token: TuiTextfieldSizeDirective, optional: true }, { token: ElementRef }, { token: TUI_NOTHING_FOUND_MESSAGE }], target: i0.ɵɵFactoryTarget.Component });
181
+ TuiDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDataListComponent, selector: "tui-data-list", inputs: { role: "role", emptyContent: "emptyContent", size: "size" }, host: { listeners: { "focusin": "onFocusIn($event.relatedTarget,$event.currentTarget)", "mousedown.prevent": "noop()", "keydown.arrowDown.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target,-1)", "wheel.silent.passive": "handleFocusLossIfNecessary()", "mouseleave": "handleFocusLossIfNecessary($event.target)" }, properties: { "attr.role": "this.role", "attr.data-list-size": "this.size" } }, providers: [tuiAsDataListAccessor(TuiDataListComponent)], queries: [{ propertyName: "options", predicate: i0.forwardRef(function () { return TuiOptionComponent; }), descendants: true }], ngImport: i0, template: "<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n", styles: ["tui-data-list{--tui-padding: .25rem;display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:var(--tui-padding);color:var(--tui-text-03)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list[data-list-size=l]{--tui-padding: .375rem}tui-data-list>.t-empty{margin:.75rem 1rem}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);color:var(--tui-text-02);flex-direction:column;line-height:1rem}tui-data-list[data-list-size=l] tui-opt-group{font:var(--tui-font-text-s);line-height:1.25rem}tui-data-list[data-list-size=l] tui-opt-group:before{padding-left:.625rem;padding-right:.625rem}tui-data-list[data-list-size=l] tui-opt-group:after{left:.625rem;right:.625rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:var(--tui-padding) .5rem var(--tui-padding);white-space:normal;word-break:break-word}tui-opt-group:after{position:absolute;left:.5rem;right:.5rem;top:var(--tui-padding);height:1px;background:var(--tui-base-03)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-top:calc(.75rem + var(--tui-padding))}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before{padding:var(--tui-padding) 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\"}tui-opt-group[data-label=\"\"]:before{padding:0 .5rem}\n"], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i1$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
176
182
  __decorate([
177
183
  tuiDefaultProp()
178
184
  ], TuiDataListComponent.prototype, "role", void 0);
179
185
  __decorate([
180
186
  tuiDefaultProp()
181
187
  ], TuiDataListComponent.prototype, "emptyContent", void 0);
188
+ __decorate([
189
+ tuiDefaultProp()
190
+ ], TuiDataListComponent.prototype, "size", void 0);
182
191
  __decorate([
183
192
  tuiPure
184
193
  ], TuiDataListComponent.prototype, "empty$", null);
@@ -192,10 +201,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
192
201
  encapsulation: ViewEncapsulation.None,
193
202
  providers: [tuiAsDataListAccessor(TuiDataListComponent)],
194
203
  }]
195
- }], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
204
+ }], ctorParameters: function () { return [{ type: i3.TuiTextfieldSizeDirective, decorators: [{
205
+ type: Optional
206
+ }, {
207
+ type: Inject,
208
+ args: [TuiTextfieldSizeDirective]
209
+ }] }, { type: i0.ElementRef, decorators: [{
196
210
  type: Inject,
197
211
  args: [ElementRef]
198
- }] }, { type: i3.Observable, decorators: [{
212
+ }] }, { type: i4.Observable, decorators: [{
199
213
  type: Inject,
200
214
  args: [TUI_NOTHING_FOUND_MESSAGE]
201
215
  }] }]; }, propDecorators: { options: [{
@@ -208,6 +222,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
208
222
  args: [`attr.role`]
209
223
  }], emptyContent: [{
210
224
  type: Input
225
+ }], size: [{
226
+ type: Input
227
+ }, {
228
+ type: HostBinding,
229
+ args: [`attr.data-list-size`]
211
230
  }], empty$: [], onFocusIn: [{
212
231
  type: HostListener,
213
232
  args: [`focusin`, [`$event.relatedTarget`, `$event.currentTarget`]]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-data-list.js","sources":["../../../projects/core/components/data-list/option/option.component.ts","../../../projects/core/components/data-list/option/option.template.html","../../../projects/core/components/data-list/data-list.component.ts","../../../projects/core/components/data-list/data-list.template.html","../../../projects/core/components/data-list/data-list.directive.ts","../../../projects/core/components/data-list/opt-group.directive.ts","../../../projects/core/components/data-list/data-list.module.ts","../../../projects/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiEventWith,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDataListComponent} from '../data-list.component';\n\nfunction shouldFocus({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !tuiIsNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: `button[tuiOption], a[tuiOption]`,\n templateUrl: `./option.template.html`,\n styleUrls: [`./option.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: `-1`,\n type: `button`,\n '[attr.disabled]': `disabled || null`,\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeL = `m`;\n\n @Input()\n @HostBinding(`attr.role`)\n @tuiDefaultProp()\n role: TuiOptionRole = `option`;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n value?: T;\n\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n > | null,\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: TuiDataListComponent<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding(`class._with-dropdown`)\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener(`click`)\n onClick(): void {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener(`mousemove.init`, [`$event`])\n @HostListener(`mousemove.silent`, [`$event`])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): void {\n currentTarget.focus({preventScroll: true});\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy(): void {\n this.dataList.handleFocusLossIfNecessary(this.elementRef.nativeElement);\n }\n}\n","<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n tuiDefaultProp,\n tuiIsElement,\n tuiIsNativeFocusedIn,\n tuiIsPresent,\n tuiItemsQueryListObservable,\n tuiMoveFocus,\n tuiPure,\n tuiSetNativeMouseFocused,\n} from '@taiga-ui/cdk';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_NOTHING_FOUND_MESSAGE, tuiAsDataListAccessor} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n@Component({\n selector: `tui-data-list`,\n templateUrl: `./data-list.template.html`,\n styleUrls: [`./data-list.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [tuiAsDataListAccessor(TuiDataListComponent)],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n @Input()\n @HostBinding(`attr.role`)\n @tuiDefaultProp()\n role: TuiDataListRole = `listbox`;\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = ``;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return tuiItemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @HostListener(`focusin`, [`$event.relatedTarget`, `$event.currentTarget`])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener(`mousedown.prevent`)\n noop(): void {}\n\n @HostListener(`keydown.arrowDown.prevent`, [`$event.target`, `1`])\n @HostListener(`keydown.arrowUp.prevent`, [`$event.target`, `-1`])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener(`wheel.silent.passive`)\n @HostListener(`mouseleave`, [`$event.target`])\n handleFocusLossIfNecessary(element: Element = this.elementRef.nativeElement): void {\n if (this.origin && tuiIsNativeFocusedIn(element)) {\n tuiSetNativeMouseFocused(this.origin, true, true);\n }\n }\n\n getOptions(includeDisabled: boolean = false): readonly T[] {\n return this.options\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(tuiIsPresent);\n }\n\n onFocus({target}: Event, top: boolean): void {\n if (!tuiIsElement(target)) {\n return;\n }\n\n const {elements} = this;\n\n tuiMoveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(target);\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.elementRef.nativeElement.querySelectorAll(`[tuiOption]`));\n }\n}\n","<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: `ng-template[tuiDataList]`,\n})\nexport class TuiDataListDirective {}\n","import {Directive, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: `tui-opt-group`,\n host: {\n role: `group`,\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding(`attr.data-label`)\n @tuiDefaultProp()\n label = ``;\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n ],\n})\nexport class TuiDataListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-data-list.js","sources":["../../../projects/core/components/data-list/option/option.component.ts","../../../projects/core/components/data-list/option/option.template.html","../../../projects/core/components/data-list/data-list.component.ts","../../../projects/core/components/data-list/data-list.template.html","../../../projects/core/components/data-list/data-list.directive.ts","../../../projects/core/components/data-list/opt-group.directive.ts","../../../projects/core/components/data-list/data-list.module.ts","../../../projects/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiEventWith,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDataListComponent} from '../data-list.component';\n\nfunction shouldFocus({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !tuiIsNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: `button[tuiOption], a[tuiOption]`,\n templateUrl: `./option.template.html`,\n styleUrls: [`./option.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: `-1`,\n type: `button`,\n '[attr.disabled]': `disabled || null`,\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n /** @deprecated use size on {@link TuiDataListComponent} instead */\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeL | null = null;\n\n @Input()\n @HostBinding(`attr.role`)\n @tuiDefaultProp()\n role: TuiOptionRole = `option`;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n value?: T;\n\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n > | null,\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: TuiDataListComponent<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding(`class._with-dropdown`)\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener(`click`)\n onClick(): void {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener(`mousemove.init`, [`$event`])\n @HostListener(`mousemove.silent`, [`$event`])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): void {\n currentTarget.focus({preventScroll: true});\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy(): void {\n this.dataList.handleFocusLossIfNecessary(this.elementRef.nativeElement);\n }\n}\n","<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n tuiDefaultProp,\n tuiIsElement,\n tuiIsNativeFocusedIn,\n tuiIsPresent,\n tuiItemsQueryListObservable,\n tuiMoveFocus,\n tuiPure,\n tuiSetNativeMouseFocused,\n} from '@taiga-ui/cdk';\nimport {TuiTextfieldSizeDirective} from '@taiga-ui/core/directives';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_NOTHING_FOUND_MESSAGE, tuiAsDataListAccessor} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n@Component({\n selector: `tui-data-list`,\n templateUrl: `./data-list.template.html`,\n styleUrls: [`./data-list.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [tuiAsDataListAccessor(TuiDataListComponent)],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n @Input()\n @HostBinding(`attr.role`)\n @tuiDefaultProp()\n role: TuiDataListRole = `listbox`;\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = ``;\n\n @Input()\n @HostBinding(`attr.data-list-size`)\n @tuiDefaultProp()\n size = this.controller?.size || `m`;\n\n constructor(\n @Optional()\n @Inject(TuiTextfieldSizeDirective)\n private readonly controller: TuiTextfieldSizeDirective | null,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return tuiItemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @HostListener(`focusin`, [`$event.relatedTarget`, `$event.currentTarget`])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener(`mousedown.prevent`)\n noop(): void {}\n\n @HostListener(`keydown.arrowDown.prevent`, [`$event.target`, `1`])\n @HostListener(`keydown.arrowUp.prevent`, [`$event.target`, `-1`])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener(`wheel.silent.passive`)\n @HostListener(`mouseleave`, [`$event.target`])\n handleFocusLossIfNecessary(element: Element = this.elementRef.nativeElement): void {\n if (this.origin && tuiIsNativeFocusedIn(element)) {\n tuiSetNativeMouseFocused(this.origin, true, true);\n }\n }\n\n getOptions(includeDisabled: boolean = false): readonly T[] {\n return this.options\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(tuiIsPresent);\n }\n\n onFocus({target}: Event, top: boolean): void {\n if (!tuiIsElement(target)) {\n return;\n }\n\n const {elements} = this;\n\n tuiMoveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(target);\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.elementRef.nativeElement.querySelectorAll(`[tuiOption]`));\n }\n}\n","<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: `ng-template[tuiDataList]`,\n})\nexport class TuiDataListDirective {}\n","import {Directive, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: `tui-opt-group`,\n host: {\n role: `group`,\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding(`attr.data-label`)\n @tuiDefaultProp()\n label = ``;\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n ],\n})\nexport class TuiDataListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1"],"mappings":"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"}
@@ -94,7 +94,7 @@ class TuiDialogComponent {
94
94
  }
95
95
  }
96
96
  TuiDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDialogComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: TUI_IS_MOBILE }, { token: POLYMORPHEUS_CONTEXT }, { token: TUI_DIALOG_CLOSE_STREAM }, { token: TUI_CLOSE_WORD }], target: i0.ɵɵFactoryTarget.Component });
97
- TuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDialogComponent, selector: "tui-dialog", host: { properties: { "attr.data-size": "this.size", "class._centered": "this.header", "@tuiSlideInTop": "this.slideInTop", "@tuiFadeIn": "this.slideInTop" } }, providers: TUI_DIALOG_PROVIDERS, ngImport: i0, template: "<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n {{ text }}\n <div class=\"t-buttons\">\n <button\n tuiButton\n size=\"m\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div\n *ngIf=\"context.closeable\"\n class=\"t-wrapper\"\n>\n <button\n tuiIconButton\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-dialog__close\"\n size=\"s\"\n appearance=\"\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close()\"\n ></button>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:2.5rem solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:\"\";border-radius:inherit;pointer-events:none}:host[data-size=auto]{width:auto}:host[data-size=s]{width:30rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}:host[data-size=m]{width:42.5rem}:host[data-size=m] .t-heading{margin-bottom:.75rem;font:var(--tui-font-heading-4)}:host[data-size=l]{width:55rem}:host[data-size=l] .t-heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100%;min-height:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem var(--tui-base-01)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{margin-bottom:1rem}:host[data-size=page] .t-content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100%;width:100%;max-width:100%;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}.t-heading{margin:0;word-wrap:break-word;font:var(--tui-font-heading-3)}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-wrapper{position:-webkit-sticky;position:sticky;top:0;order:-1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.t-close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=\"fullscreen\"]) .t-close{animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=\"fullscreen\"]).ng-animating .t-close{display:none}:host-context(tui-root._mobile) .t-close{position:absolute;top:0;right:0;background:transparent;color:var(--tui-base-06)}:host-context(tui-root._mobile) .t-close:hover{color:var(--tui-base-07)}.t-buttons{margin-top:1.25rem;text-align:right}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }], pipes: { "async": i2.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.Default });
97
+ TuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDialogComponent, selector: "tui-dialog", host: { properties: { "attr.data-size": "this.size", "class._centered": "this.header", "@tuiSlideInTop": "this.slideInTop", "@tuiFadeIn": "this.slideInTop" } }, providers: TUI_DIALOG_PROVIDERS, ngImport: i0, template: "<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n {{ text }}\n <div class=\"t-buttons\">\n <button\n tuiButton\n size=\"m\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div\n *ngIf=\"context.closeable\"\n class=\"t-wrapper\"\n>\n <button\n tuiIconButton\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-dialog__close\"\n size=\"s\"\n appearance=\"\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close()\"\n ></button>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:2.5rem solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:\"\";border-radius:inherit;pointer-events:none}:host[data-size=auto]{width:auto}:host[data-size=s]{width:30rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}:host[data-size=m]{width:42.5rem}:host[data-size=m] .t-heading{margin-bottom:.75rem;font:var(--tui-font-heading-4)}:host[data-size=l]{width:55rem}:host[data-size=l] .t-heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100%;min-height:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem var(--tui-elevation-01)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{margin-bottom:1rem}:host[data-size=page] .t-content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100%;width:100%;max-width:100%;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1.5rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}.t-heading{margin:0;word-wrap:break-word;font:var(--tui-font-heading-3)}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-wrapper{position:-webkit-sticky;position:sticky;top:0;order:-1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.t-close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=\"fullscreen\"]) .t-close{animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=\"fullscreen\"]).ng-animating .t-close{display:none}:host-context(tui-root._mobile) .t-close{position:absolute;top:0;right:0;background:transparent;color:var(--tui-base-06)}:host-context(tui-root._mobile) .t-close:hover{color:var(--tui-base-07)}.t-buttons{margin-top:1.25rem;text-align:right}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }], pipes: { "async": i2.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.Default });
98
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDialogComponent, decorators: [{
99
99
  type: Component,
100
100
  args: [{
@@ -2,17 +2,17 @@ import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Directive, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, Optional, Inject, ContentChild, ViewChild, Input, Output, HostBinding, HostListener, NgModule } from '@angular/core';
4
4
  import * as i1 from '@taiga-ui/cdk';
5
- import { tuiIsNativeKeyboardFocusable, tuiGetClosestFocusable, tuiIsNativeFocusedIn, tuiIsHTMLElement, tuiIsElementEditable, tuiIsElement, tuiAsFocusableItemAccessor, tuiDefaultProp, TuiLetModule, TuiObscuredModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
6
- import * as i2 from '@taiga-ui/core/directives/dropdown';
5
+ import { tuiIsNativeKeyboardFocusable, tuiGetClosestFocusable, tuiIsNativeFocusedIn, tuiIsHTMLElement, tuiIsElementEditable, tuiIsElement, tuiAsFocusableItemAccessor, TuiActiveZoneDirective, tuiDefaultProp, TuiLetModule, TuiObscuredModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
6
+ import * as i3 from '@taiga-ui/core/directives/dropdown';
7
7
  import { TuiDropdownHoverDirective, TuiDropdownDirective, TuiDropdownModule, TuiDropdownOptionsDirective } from '@taiga-ui/core/directives/dropdown';
8
8
  import { tuiIsEditingKey } from '@taiga-ui/core/utils/miscellaneous';
9
9
  import * as i5 from 'rxjs';
10
10
  import { BehaviorSubject, combineLatest, EMPTY } from 'rxjs';
11
11
  import { startWith, map } from 'rxjs/operators';
12
- import * as i3 from '@tinkoff/ng-polymorpheus';
13
- import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
14
- import * as i4 from '@angular/common';
12
+ import * as i2 from '@angular/common';
15
13
  import { CommonModule } from '@angular/common';
14
+ import * as i4 from '@tinkoff/ng-polymorpheus';
15
+ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
16
16
 
17
17
  class TuiHostedDropdownConnectorDirective {
18
18
  }
@@ -31,6 +31,7 @@ class TuiHostedDropdownComponent {
31
31
  this.elementRef = elementRef;
32
32
  this.manual$ = new BehaviorSubject(false);
33
33
  this.content = ``;
34
+ this.sided = false;
34
35
  this.canOpen = true;
35
36
  this.openChange = new EventEmitter();
36
37
  this.focusedChange = new EventEmitter();
@@ -38,6 +39,7 @@ class TuiHostedDropdownComponent {
38
39
  this.manual$,
39
40
  (this.hover$ || EMPTY).pipe(startWith(false)),
40
41
  ]).pipe(map(([manual, hover]) => manual || hover));
42
+ this.close = () => this.updateOpen(false);
41
43
  }
42
44
  set open(open) {
43
45
  this.manual$.next(open);
@@ -172,10 +174,13 @@ class TuiHostedDropdownComponent {
172
174
  }
173
175
  }
174
176
  TuiHostedDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiHostedDropdownComponent, deps: [{ token: TuiDropdownHoverDirective, optional: true }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
175
- TuiHostedDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: { content: "content", canOpen: "canOpen", open: "open" }, outputs: { openChange: "openChange", focusedChange: "focusedChange" }, host: { listeners: { "focusin": "onFocusIn($event.target)", "click": "onClick($event.target)", "keydown.esc": "onKeyDownEsc($event)", "keydown.arrowDown": "onArrow($event,true)", "keydown.arrowUp": "onArrow($event,false)" }, properties: { "class._hosted_dropdown_focused": "this.focused" } }, providers: [tuiAsFocusableItemAccessor(TuiHostedDropdownComponent)], queries: [{ propertyName: "dropdownHost", first: true, predicate: TuiHostedDropdownConnectorDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, read: ElementRef }, { propertyName: "dropdownDirective", first: true, predicate: TuiDropdownDirective, descendants: true }], ngImport: i0, template: "<div\n *tuiLet=\"!!(open$ | async) as isOpen\"\n #activeZone=\"tuiActiveZone\"\n class=\"t-wrapper\"\n [tuiDropdownHost]=\"host\"\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.esc)=\"onKeyDownEsc($event)\"\n (keydown)=\"onKeydown($event)\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: activeZone}\">\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", styles: [":host{display:inline-flex}.t-wrapper{border-radius:inherit;height:inherit;flex:1 1 auto;width:100%}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i2.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i2.TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])" }, { type: i2.TuiDropdownHostDirective, selector: "[tuiDropdown][tuiDropdownHost]", inputs: ["tuiDropdownHost"] }, { type: i2.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i1.TuiObscuredDirective, selector: "[tuiObscured]", inputs: ["tuiObscuredEnabled"], outputs: ["tuiObscured"] }, { type: i1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
177
+ TuiHostedDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: { content: "content", sided: "sided", canOpen: "canOpen", open: "open" }, outputs: { openChange: "openChange", focusedChange: "focusedChange" }, host: { listeners: { "focusin": "onFocusIn($event.target)", "click": "onClick($event.target)", "keydown.esc": "onKeyDownEsc($event)", "keydown.arrowDown": "onArrow($event,true)", "keydown.arrowUp": "onArrow($event,false)" }, properties: { "class._hosted_dropdown_focused": "this.focused" } }, providers: [tuiAsFocusableItemAccessor(TuiHostedDropdownComponent)], queries: [{ propertyName: "dropdownHost", first: true, predicate: TuiHostedDropdownConnectorDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, read: ElementRef }, { propertyName: "dropdownDirective", first: true, predicate: TuiDropdownDirective, descendants: true }, { propertyName: "activeZone", first: true, predicate: TuiActiveZoneDirective, descendants: true }], ngImport: i0, template: "<ng-container *tuiLet=\"!!(open$ | async) as isOpen\">\n <div\n *ngIf=\"sided; else default\"\n tuiDropdownSided\n class=\"t-wrapper\"\n [tuiDropdownHost]=\"host\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiObscured)=\"onHostObscured($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n >\n <ng-container *ngTemplateOutlet=\"inner\"></ng-container>\n </div>\n <ng-template #default>\n <div\n class=\"t-wrapper\"\n [tuiDropdownHost]=\"host\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiObscured)=\"onHostObscured($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n >\n <ng-container *ngTemplateOutlet=\"inner\"></ng-container>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #inner>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"context\"\n>\n <div\n #wrapper\n (keydown.esc)=\"onKeyDownEsc($event)\"\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", styles: [":host{display:inline-flex}.t-wrapper{border-radius:inherit;height:inherit;flex:1 1 auto;width:100%}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]" }, { type: i3.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i3.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i3.TuiDropdownHostDirective, selector: "[tuiDropdown][tuiDropdownHost]", inputs: ["tuiDropdownHost"] }, { type: i3.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i1.TuiObscuredDirective, selector: "[tuiObscured]", inputs: ["tuiObscuredEnabled"], outputs: ["tuiObscured"] }, { type: i1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])" }, { type: i4.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
176
178
  __decorate([
177
179
  tuiDefaultProp()
178
180
  ], TuiHostedDropdownComponent.prototype, "content", void 0);
181
+ __decorate([
182
+ tuiDefaultProp()
183
+ ], TuiHostedDropdownComponent.prototype, "sided", void 0);
179
184
  __decorate([
180
185
  tuiDefaultProp()
181
186
  ], TuiHostedDropdownComponent.prototype, "canOpen", void 0);
@@ -208,16 +213,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
208
213
  }], dropdownDirective: [{
209
214
  type: ViewChild,
210
215
  args: [TuiDropdownDirective]
216
+ }], activeZone: [{
217
+ type: ViewChild,
218
+ args: [TuiActiveZoneDirective]
211
219
  }], content: [{
212
220
  type: Input
213
- }], canOpen: [{
221
+ }], sided: [{
214
222
  type: Input
215
- }], open: [{
223
+ }], canOpen: [{
216
224
  type: Input
217
225
  }], openChange: [{
218
226
  type: Output
219
227
  }], focusedChange: [{
220
228
  type: Output
229
+ }], open: [{
230
+ type: Input
221
231
  }], focused: [{
222
232
  type: HostBinding,
223
233
  args: [`class._hosted_dropdown_focused`]