@taiga-ui/kit 2.35.0 → 2.36.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 (111) hide show
  1. package/bundles/taiga-ui-kit-components-combo-box.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  4. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-range.umd.js +2 -2
  6. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
  8. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-slider.umd.js +2 -2
  10. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  12. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -2
  14. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +2 -2
  16. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -0
  18. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  20. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-slider.umd.js +129 -12
  22. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  24. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-text-area.umd.js +50 -13
  26. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  28. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +22 -5
  30. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  32. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  33. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  34. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  35. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  36. package/components/slider/index.d.ts +2 -0
  37. package/components/slider/slider-key-steps.directive.d.ts +17 -0
  38. package/components/slider/slider-options.d.ts +9 -0
  39. package/components/slider/slider.component.d.ts +6 -3
  40. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  41. package/components/text-area/index.d.ts +1 -0
  42. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  43. package/components/text-area/text-area.component.d.ts +2 -1
  44. package/components/text-area/text-area.directive.d.ts +5 -0
  45. package/directives/dropdown-selection/dropdown-selection.directive.d.ts +2 -2
  46. package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
  47. package/esm2015/components/combo-box/combo-box.component.js +2 -2
  48. package/esm2015/components/input-range/input-range.component.js +3 -3
  49. package/esm2015/components/input-slider/input-slider.component.js +3 -3
  50. package/esm2015/components/input-tag/input-tag.component.js +3 -3
  51. package/esm2015/components/line-clamp/line-clamp.directive.js +2 -1
  52. package/esm2015/components/slider/index.js +3 -1
  53. package/esm2015/components/slider/slider-key-steps.directive.js +81 -0
  54. package/esm2015/components/slider/slider-options.js +11 -0
  55. package/esm2015/components/slider/slider.component.js +19 -11
  56. package/esm2015/components/slider/slider.module.js +4 -3
  57. package/esm2015/components/text-area/index.js +2 -1
  58. package/esm2015/components/text-area/text-area.component.js +21 -13
  59. package/esm2015/components/text-area/text-area.directive.js +22 -0
  60. package/esm2015/components/text-area/text-area.module.js +7 -6
  61. package/esm2015/components/text-area/text-area.providers.js +6 -2
  62. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +23 -6
  63. package/esm5/components/combo-box/combo-box.component.js +2 -2
  64. package/esm5/components/input-range/input-range.component.js +3 -3
  65. package/esm5/components/input-slider/input-slider.component.js +3 -3
  66. package/esm5/components/input-tag/input-tag.component.js +3 -3
  67. package/esm5/components/line-clamp/line-clamp.directive.js +2 -1
  68. package/esm5/components/slider/index.js +3 -1
  69. package/esm5/components/slider/slider-key-steps.directive.js +102 -0
  70. package/esm5/components/slider/slider-options.js +12 -0
  71. package/esm5/components/slider/slider.component.js +19 -11
  72. package/esm5/components/slider/slider.module.js +4 -3
  73. package/esm5/components/text-area/index.js +2 -1
  74. package/esm5/components/text-area/text-area.component.js +21 -13
  75. package/esm5/components/text-area/text-area.directive.js +28 -0
  76. package/esm5/components/text-area/text-area.module.js +7 -6
  77. package/esm5/components/text-area/text-area.providers.js +6 -2
  78. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +23 -6
  79. package/fesm2015/taiga-ui-kit-components-combo-box.js +1 -1
  80. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  81. package/fesm2015/taiga-ui-kit-components-input-range.js +2 -2
  82. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  83. package/fesm2015/taiga-ui-kit-components-input-slider.js +2 -2
  84. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  85. package/fesm2015/taiga-ui-kit-components-input-tag.js +2 -2
  86. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  87. package/fesm2015/taiga-ui-kit-components-line-clamp.js +1 -0
  88. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  89. package/fesm2015/taiga-ui-kit-components-slider.js +107 -15
  90. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  91. package/fesm2015/taiga-ui-kit-components-text-area.js +47 -17
  92. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  93. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +22 -5
  94. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  95. package/fesm5/taiga-ui-kit-components-combo-box.js +1 -1
  96. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  97. package/fesm5/taiga-ui-kit-components-input-range.js +2 -2
  98. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  99. package/fesm5/taiga-ui-kit-components-input-slider.js +2 -2
  100. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  101. package/fesm5/taiga-ui-kit-components-input-tag.js +2 -2
  102. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  103. package/fesm5/taiga-ui-kit-components-line-clamp.js +1 -0
  104. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  105. package/fesm5/taiga-ui-kit-components-slider.js +129 -16
  106. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  107. package/fesm5/taiga-ui-kit-components-text-area.js +53 -17
  108. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  109. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +22 -5
  110. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  111. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-dropdown-selection.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.directive.ts","ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n getNativeFocused,\n px,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiDestroyService,\n TuiParentsScrollService,\n TuiPortalService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n AbstractTuiDropdown,\n TUI_DOCUMENT_OR_SHADOW_ROOT,\n TUI_DROPDOWN_DIRECTIVE,\n TUI_ELEMENT_REF,\n TuiDropdown,\n} from '@taiga-ui/core';\nimport {getWordRange} from '@taiga-ui/kit/utils/dom';\nimport {merge} from 'rxjs';\nimport {map, switchMapTo, takeUntil} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiDropdownSelection]:not(ng-container)',\n providers: [\n {\n provide: TUI_DROPDOWN_DIRECTIVE,\n useExisting: forwardRef(() => TuiDropdownSelectionDirective),\n },\n TuiParentsScrollService,\n TuiDestroyService,\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends AbstractTuiDropdown\n implements TuiDropdown, OnDestroy\n{\n private visibilityHandler: TuiBooleanHandler<Range> = ALWAYS_TRUE_HANDLER;\n private readonly documentRef: Document;\n private ghost?: HTMLElement;\n private range: Range;\n\n @Input()\n set tuiDropdownSelection(handler: TuiBooleanHandler<Range> | undefined) {\n if (!handler) {\n return;\n }\n\n const inHostAndValid =\n this.elementRef.nativeElement.contains(this.range.commonAncestorContainer) &&\n handler(this.range);\n\n this.visibilityHandler = handler;\n this.toggleDropdownBox(inHostAndValid);\n }\n\n @Input('tuiDropdownSelectionPosition')\n position: 'selection' | 'word' | 'tag' = 'selection';\n\n constructor(\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(ComponentFactoryResolver)\n componentFactoryResolver: ComponentFactoryResolver,\n @Inject(Injector) injector: Injector,\n @Inject(TuiPortalService) portalService: TuiPortalService,\n @Host() @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(TuiActiveZoneDirective)\n @Optional()\n activeZone: TuiActiveZoneDirective | null,\n @Inject(TUI_DOCUMENT_OR_SHADOW_ROOT)\n @Optional()\n shadowRootRef: Document | null,\n @Inject(TUI_ELEMENT_REF)\n @Optional()\n customElementRef: ElementRef<HTMLElement> | null,\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(TuiParentsScrollService) readonly refresh$: TuiParentsScrollService,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n ) {\n super(\n componentFactoryResolver,\n injector,\n portalService,\n customElementRef || elementRef,\n activeZone,\n );\n this.documentRef = shadowRootRef || documentRef;\n this.range = this.documentRef.createRange();\n\n const {nativeElement} = this.elementRef;\n\n merge(\n typedFromEvent(this.documentRef, 'mouseup'),\n typedFromEvent(nativeElement, 'mousedown').pipe(\n switchMapTo(\n typedFromEvent(nativeElement, 'mousemove').pipe(\n takeUntil(typedFromEvent(this.documentRef, 'mouseup')),\n ),\n ),\n ),\n typedFromEvent(nativeElement, 'keyup'),\n )\n .pipe(\n map(() => {\n const active = getNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n // TODO: iframe warning\n if (\n (active instanceof HTMLInputElement ||\n active instanceof HTMLTextAreaElement) &&\n nativeElement.contains(active)\n ) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection && selection.rangeCount\n ? selection.getRangeAt(0)\n : this.range;\n }),\n takeUntil(destroy$),\n )\n .subscribe(range => {\n const contained = nativeElement.contains(range.commonAncestorContainer);\n\n this.range = contained ? range : this.range;\n\n const valid =\n contained &&\n (!this.visibilityHandler || this.visibilityHandler(this.range));\n\n this.toggleDropdownBox(valid || this.inDropdown(range));\n });\n }\n\n get clientRect(): ClientRect {\n const {defaultView} = this.documentRef;\n const {rangeRect} = this;\n const frameElement = defaultView ? defaultView.frameElement : null;\n\n if (!frameElement) {\n return rangeRect;\n }\n\n const documentRect = frameElement.getBoundingClientRect();\n\n return {\n top: rangeRect.top + documentRect.top,\n left: rangeRect.left + documentRect.left,\n right: rangeRect.left + documentRect.left + rangeRect.width,\n bottom: rangeRect.top + documentRect.top + rangeRect.height,\n width: rangeRect.width,\n height: rangeRect.height,\n };\n }\n\n ngOnDestroy() {\n this.closeDropdownBox();\n\n if (this.ghost) {\n this.renderer.removeChild(\n this.viewContainerRef.element.nativeElement,\n this.ghost,\n );\n }\n }\n\n /**\n * get ClientRect of current Range according to provided position\n */\n private get rangeRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element =\n commonAncestorContainer.nodeType === Node.ELEMENT_NODE\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return (element as Element).getBoundingClientRect();\n }\n case 'word':\n return getWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n /**\n * Toggle dropdown visibility (has to be in ngZone.run because it could be initiated inside iframe in Editor)\n */\n private toggleDropdownBox(visible: boolean) {\n this.ngZone.run(() => {\n if (visible) {\n this.openDropdownBox();\n } else {\n this.closeDropdownBox();\n }\n\n this.changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return (\n !!this.dropdownBoxRef &&\n this.dropdownBoxRef.location.nativeElement.contains(node)\n );\n }\n\n /**\n * Check if given range is at leaset partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) &&\n this.elementRef.nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) &&\n this.elementRef.nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n /**\n * Position invisible DIV and create Range similar to selected range inside input/textarea\n */\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = px(top - hostRect.top);\n ghost.style.left = px(left - hostRect.left);\n ghost.style.width = px(width);\n ghost.style.height = px(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + element.value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild!, selectionStart || 0);\n range.setEnd(ghost.firstChild!, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.renderer.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n this.renderer.appendChild(nativeElement, ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDropdownBoxModule} from '@taiga-ui/core';\n\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [TuiDropdownBoxModule],\n declarations: [TuiDropdownSelectionDirective],\n exports: [TuiDropdownSelectionDirective],\n})\nexport class TuiDropdownSelectionModule {}\n"],"names":["ALWAYS_TRUE_HANDLER","merge","typedFromEvent","switchMapTo","takeUntil","map","getNativeFocused","getWordRange","px","CHAR_ZERO_WIDTH_SPACE","CHAR_NO_BREAK_SPACE","Inject","DOCUMENT","ComponentFactoryResolver","Injector","TuiPortalService","ElementRef","Host","TuiActiveZoneDirective","Optional","TUI_DOCUMENT_OR_SHADOW_ROOT","TUI_ELEMENT_REF","TuiDestroyService","TuiParentsScrollService","ChangeDetectorRef","NgZone","Renderer2","ViewContainerRef","Input","Directive","TUI_DROPDOWN_DIRECTIVE","forwardRef","AbstractTuiDropdown","NgModule","TuiDropdownBoxModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-dropdown-selection.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.directive.ts","ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n getNativeFocused,\n px,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiDestroyService,\n TuiParentsScrollService,\n TuiPortalService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n AbstractTuiDropdown,\n TUI_DOCUMENT_OR_SHADOW_ROOT,\n TUI_DROPDOWN_DIRECTIVE,\n TUI_ELEMENT_REF,\n TuiDropdown,\n} from '@taiga-ui/core';\nimport {getWordRange} from '@taiga-ui/kit/utils/dom';\nimport {merge} from 'rxjs';\nimport {map, switchMapTo, takeUntil} from 'rxjs/operators';\n\nconst EMPTY_RECT: ClientRect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n};\n\n// @dynamic\n@Directive({\n selector: '[tuiDropdownSelection]:not(ng-container)',\n providers: [\n {\n provide: TUI_DROPDOWN_DIRECTIVE,\n useExisting: forwardRef(() => TuiDropdownSelectionDirective),\n },\n TuiParentsScrollService,\n TuiDestroyService,\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends AbstractTuiDropdown\n implements TuiDropdown, OnDestroy\n{\n private visibilityHandler: TuiBooleanHandler<Range> = ALWAYS_TRUE_HANDLER;\n private readonly documentRef: Document;\n private ghost?: HTMLElement;\n private range?: Range;\n\n @Input()\n set tuiDropdownSelection(handler: TuiBooleanHandler<Range> | undefined) {\n if (!handler || !this.range) {\n return;\n }\n\n const inHostAndValid =\n this.elementRef.nativeElement.contains(this.range.commonAncestorContainer) &&\n handler(this.range);\n\n this.visibilityHandler = handler;\n this.toggleDropdownBox(inHostAndValid);\n }\n\n @Input('tuiDropdownSelectionPosition')\n position: 'selection' | 'word' | 'tag' = 'selection';\n\n constructor(\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(ComponentFactoryResolver)\n componentFactoryResolver: ComponentFactoryResolver,\n @Inject(Injector) injector: Injector,\n @Inject(TuiPortalService) portalService: TuiPortalService,\n @Host() @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(TuiActiveZoneDirective)\n @Optional()\n activeZone: TuiActiveZoneDirective | null,\n @Inject(TUI_DOCUMENT_OR_SHADOW_ROOT)\n @Optional()\n shadowRootRef: Document | null,\n @Inject(TUI_ELEMENT_REF)\n @Optional()\n customElementRef: ElementRef<HTMLElement> | null,\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(TuiParentsScrollService) readonly refresh$: TuiParentsScrollService,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n ) {\n super(\n componentFactoryResolver,\n injector,\n portalService,\n customElementRef || elementRef,\n activeZone,\n );\n this.documentRef = shadowRootRef || documentRef;\n\n // SSR protection\n if (!this.documentRef.createRange) {\n return;\n }\n\n this.range = this.documentRef.createRange();\n\n const {nativeElement} = this.elementRef;\n\n merge(\n typedFromEvent(this.documentRef, 'mouseup'),\n typedFromEvent(nativeElement, 'mousedown').pipe(\n switchMapTo(\n typedFromEvent(nativeElement, 'mousemove').pipe(\n takeUntil(typedFromEvent(this.documentRef, 'mouseup')),\n ),\n ),\n ),\n typedFromEvent(nativeElement, 'keyup'),\n )\n .pipe(\n map(() => {\n const active = getNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n // TODO: iframe warning\n if (\n (active instanceof HTMLInputElement ||\n active instanceof HTMLTextAreaElement) &&\n nativeElement.contains(active)\n ) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection && selection.rangeCount\n ? selection.getRangeAt(0)\n : this.range;\n }),\n takeUntil(destroy$),\n )\n .subscribe(range => {\n const contained =\n !!range && nativeElement.contains(range.commonAncestorContainer);\n\n this.range = contained ? range : this.range;\n\n const valid =\n contained &&\n (!this.visibilityHandler ||\n !this.range ||\n this.visibilityHandler(this.range));\n\n this.toggleDropdownBox(!!range && (valid || this.inDropdown(range)));\n });\n }\n\n get clientRect(): ClientRect {\n const {defaultView} = this.documentRef;\n const {rangeRect} = this;\n const frameElement = defaultView ? defaultView.frameElement : null;\n\n if (!frameElement) {\n return rangeRect;\n }\n\n const documentRect = frameElement.getBoundingClientRect();\n\n return {\n top: rangeRect.top + documentRect.top,\n left: rangeRect.left + documentRect.left,\n right: rangeRect.left + documentRect.left + rangeRect.width,\n bottom: rangeRect.top + documentRect.top + rangeRect.height,\n width: rangeRect.width,\n height: rangeRect.height,\n };\n }\n\n ngOnDestroy() {\n this.closeDropdownBox();\n\n if (this.ghost) {\n this.renderer.removeChild(\n this.viewContainerRef.element.nativeElement,\n this.ghost,\n );\n }\n }\n\n /**\n * get ClientRect of current Range according to provided position\n */\n private get rangeRect(): ClientRect {\n if (!this.range) {\n return EMPTY_RECT;\n }\n\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element =\n commonAncestorContainer.nodeType === Node.ELEMENT_NODE\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return (element as Element).getBoundingClientRect();\n }\n case 'word':\n return getWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n /**\n * Toggle dropdown visibility (has to be in ngZone.run because it could be initiated inside iframe in Editor)\n */\n private toggleDropdownBox(visible: boolean) {\n this.ngZone.run(() => {\n if (visible) {\n this.openDropdownBox();\n } else {\n this.closeDropdownBox();\n }\n\n this.changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return (\n !!this.dropdownBoxRef &&\n this.dropdownBoxRef.location.nativeElement.contains(node)\n );\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) &&\n this.elementRef.nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) &&\n this.elementRef.nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n /**\n * Position invisible DIV and create Range similar to selected range inside input/textarea\n */\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = px(top - hostRect.top);\n ghost.style.left = px(left - hostRect.left);\n ghost.style.width = px(width);\n ghost.style.height = px(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + element.value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild!, selectionStart || 0);\n range.setEnd(ghost.firstChild!, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.renderer.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n this.renderer.appendChild(nativeElement, ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDropdownBoxModule} from '@taiga-ui/core';\n\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [TuiDropdownBoxModule],\n declarations: [TuiDropdownSelectionDirective],\n exports: [TuiDropdownSelectionDirective],\n})\nexport class TuiDropdownSelectionModule {}\n"],"names":["ALWAYS_TRUE_HANDLER","merge","typedFromEvent","switchMapTo","takeUntil","map","getNativeFocused","getWordRange","px","CHAR_ZERO_WIDTH_SPACE","CHAR_NO_BREAK_SPACE","Inject","DOCUMENT","ComponentFactoryResolver","Injector","TuiPortalService","ElementRef","Host","TuiActiveZoneDirective","Optional","TUI_DOCUMENT_OR_SHADOW_ROOT","TUI_ELEMENT_REF","TuiDestroyService","TuiParentsScrollService","ChangeDetectorRef","NgZone","Renderer2","ViewContainerRef","Input","Directive","TUI_DROPDOWN_DIRECTIVE","forwardRef","AbstractTuiDropdown","NgModule","TuiDropdownBoxModule"],"mappings":";;;;;;IAAA;IACA;AACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;AACF;IACO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;AACD;IACO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;AACD;IACO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;AACD;IACO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;AACD;IACO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;AACD;IACO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;AACD;IACO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;AACD;IACO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;AACD;IACO,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;IAC7C,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACD;IACO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;AACD;IACO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,OAAO;IAClD,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;AACD;IACO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;AACD;IACO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;AACD;IACO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;AACF;IACO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;AACD;IACO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;AACD;IACO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;AACD;IACO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;AACD;IACO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACF;IACO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;AACD;IACO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;AACD;IACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE;IAC7D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;AACD;IACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;IACpE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,CAAC;IACjB;;IChLA,IAAM,UAAU,GAAe;QAC3B,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;KACX,CAAC;IAEF;;QAaY,iDAAmB;QAyB3B,uCACsB,WAAqB,EAEvC,wBAAkD,EAChC,QAAkB,EACV,aAA+B,EAC7B,UAAmC,EAG/D,UAAyC,EAGzC,aAA8B,EAG9B,gBAAgD,EAEhD,QAA2B,EACe,QAAiC,EAC/B,iBAAoC,EAC/C,MAAc,EACX,QAAmB,EACZ,gBAAkC;YAtBjF,YAwBI,kBACI,wBAAwB,EACxB,QAAQ,EACR,aAAa,EACb,gBAAgB,IAAI,UAAU,EAC9B,UAAU,CACb,SAyDJ;YArE6C,cAAQ,GAAR,QAAQ,CAAyB;YAC/B,uBAAiB,GAAjB,iBAAiB,CAAmB;YAC/C,YAAM,GAAN,MAAM,CAAQ;YACX,cAAQ,GAAR,QAAQ,CAAW;YACZ,sBAAgB,GAAhB,gBAAgB,CAAkB;YA5CzE,uBAAiB,GAA6BA,uBAAmB,CAAC;YAoB1E,cAAQ,GAAiC,WAAW,CAAC;YAiCjD,KAAI,CAAC,WAAW,GAAG,aAAa,IAAI,WAAW,CAAC;;YAGhD,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,WAAW,EAAE;;aAElC;YAED,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAErC,IAAA,8CAAa,CAAoB;YAExCC,UAAK,CACDC,kBAAc,CAAC,KAAI,CAAC,WAAW,EAAE,SAAS,CAAC,EAC3CA,kBAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC3CC,qBAAW,CACPD,kBAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC3CE,mBAAS,CAACF,kBAAc,CAAC,KAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CACzD,CACJ,CACJ,EACDA,kBAAc,CAAC,aAAa,EAAE,OAAO,CAAC,CACzC;iBACI,IAAI,CACDG,aAAG,CAAC;gBACA,IAAM,MAAM,GAAGC,oBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;gBAClD,IAAM,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;;gBAGlD,IACI,CAAC,MAAM,YAAY,gBAAgB;oBAC/B,MAAM,YAAY,mBAAmB;oBACzC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAChC;oBACE,OAAO,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;iBAC3C;gBAED,OAAO,SAAS,IAAI,SAAS,CAAC,UAAU;sBAClC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;sBACvB,KAAI,CAAC,KAAK,CAAC;aACpB,CAAC,EACFF,mBAAS,CAAC,QAAQ,CAAC,CACtB;iBACA,SAAS,CAAC,UAAA,KAAK;gBACZ,IAAM,SAAS,GACX,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAErE,KAAI,CAAC,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC;gBAE5C,IAAM,KAAK,GACP,SAAS;qBACR,CAAC,KAAI,CAAC,iBAAiB;wBACpB,CAAC,KAAI,CAAC,KAAK;wBACX,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE5C,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxE,CAAC,CAAC;;SACV;0CAjHQ,6BAA6B;QAUtC,sBAAI,+DAAoB;iBAAxB,UAAyB,OAA6C;gBAClE,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACzB,OAAO;iBACV;gBAED,IAAM,cAAc,GAChB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC;oBAC1E,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAExB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;gBACjC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;aAC1C;;;WAAA;QA8FD,sBAAI,qDAAU;iBAAd;gBACW,IAAA,0CAAW,CAAqB;gBAChC,IAAA,0BAAS,CAAS;gBACzB,IAAM,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC;gBAEnE,IAAI,CAAC,YAAY,EAAE;oBACf,OAAO,SAAS,CAAC;iBACpB;gBAED,IAAM,YAAY,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC;gBAE1D,OAAO;oBACH,GAAG,EAAE,SAAS,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG;oBACrC,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI;oBACxC,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK;oBAC3D,MAAM,EAAE,SAAS,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM;oBAC3D,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,MAAM,EAAE,SAAS,CAAC,MAAM;iBAC3B,CAAC;aACL;;;WAAA;QAED,mDAAW,GAAX;YACI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,CACrB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,EAC3C,IAAI,CAAC,KAAK,CACb,CAAC;aACL;SACJ;QAKD,sBAAY,oDAAS;;;;iBAArB;gBACI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACb,OAAO,UAAU,CAAC;iBACrB;gBAED,QAAQ,IAAI,CAAC,QAAQ;oBACjB,KAAK,KAAK,EAAE;wBACD,IAAA,4DAAuB,CAAe;wBAC7C,IAAM,OAAO,GACT,uBAAuB,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;8BAChD,uBAAuB;8BACvB,uBAAuB,CAAC,UAAU,CAAC;wBAE7C,OAAQ,OAAmB,CAAC,qBAAqB,EAAE,CAAC;qBACvD;oBACD,KAAK,MAAM;wBACP,OAAOG,gBAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,CAAC;oBAC5D;wBACI,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;iBACjD;aACJ;;;WAAA;;;;QAKO,yDAAiB,GAAzB,UAA0B,OAAgB;YAA1C,iBAUC;YATG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACZ,IAAI,OAAO,EAAE;oBACT,KAAI,CAAC,eAAe,EAAE,CAAC;iBAC1B;qBAAM;oBACH,KAAI,CAAC,gBAAgB,EAAE,CAAC;iBAC3B;gBAED,KAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;aACzC,CAAC,CAAC;SACN;;;;QAKO,mDAAW,GAAnB,UAAoB,IAAU;YAC1B,QACI,CAAC,CAAC,IAAI,CAAC,cAAc;gBACrB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC3D;SACL;;;;QAKO,kDAAU,GAAlB,UAAmB,KAAY;YACpB,IAAA,qCAAc,EAAE,iCAAY,CAAU;YAC7C,IAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACnE,IAAM,cAAc,GAChB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC3D,IAAM,cAAc,GAChB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;gBAChC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEzD,OAAO,UAAU,IAAI,cAAc,IAAI,cAAc,CAAC;SACzD;;;;QAKO,2DAAmB,GAA3B,UAA4B,OAA+C;YAChE,IAAA,eAA+B,EAA/B,oDAA+B,CAAS;YACzC,IAAA,oCAA4D,EAA3D,YAAG,EAAE,cAAI,EAAE,gBAAK,EAAE,kBAAyC,CAAC;YAC5D,IAAA,uCAAc,EAAE,mCAAY,CAAY;YAC/C,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAEvE,KAAK,CAAC,KAAK,CAAC,GAAG,GAAGC,MAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAGA,MAAE,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,KAAK,CAAC,KAAK,CAAC,KAAK,GAAGA,MAAE,CAAC,KAAK,CAAC,CAAC;YAC9B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAGA,MAAE,CAAC,MAAM,CAAC,CAAC;YAChC,KAAK,CAAC,WAAW,GAAGC,yBAAqB,GAAG,OAAO,CAAC,KAAK,GAAGC,uBAAmB,CAAC;YAEhF,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAW,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC;YACvD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAW,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;YAEnD,OAAO,KAAK,CAAC;SAChB;;;;QAKO,iDAAS,GAAjB,UAAkB,OAA+C;YAC7D,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAA,2DAAa,CAAkC;YAChD,IAAA,8BAAyE,EAAxE,cAAI,EAAE,gCAAa,EAAE,gCAAa,EAAE,oBAAoC,CAAC;YAEhF,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAClC,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;YACnC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;YAC1B,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;YACpC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YACxB,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;YAC1C,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;YAC1C,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAE9B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAEnB,OAAO,KAAK,CAAC;SAChB;;;oBArOkC,QAAQ,uBAAtCC,WAAM,SAACC,eAAQ;oBAEUC,6BAAwB,uBADjDF,WAAM,SAACE,6BAAwB;oBAEJC,aAAQ,uBAAnCH,WAAM,SAACG,aAAQ;oBACyBC,oBAAgB,uBAAxDJ,WAAM,SAACI,oBAAgB;oBACgBC,eAAU,uBAAjDC,SAAI,YAAIN,WAAM,SAACK,eAAU;oBAGdE,0BAAsB,uBAFjCP,WAAM,SAACO,0BAAsB,cAC7BC,aAAQ;oBAIM,QAAQ,uBAFtBR,WAAM,SAACS,kCAA2B,cAClCD,aAAQ;oBAISH,eAAU,uBAF3BL,WAAM,SAACU,sBAAe,cACtBF,aAAQ;oBAGCG,qBAAiB,uBAD1BX,WAAM,SAACW,qBAAiB;oBAE2BC,2BAAuB,uBAA1EZ,WAAM,SAACY,2BAAuB;oBACgCC,sBAAiB,uBAA/Eb,WAAM,SAACa,sBAAiB;oBACgBC,WAAM,uBAA9Cd,WAAM,SAACc,WAAM;oBACgCC,cAAS,uBAAtDf,WAAM,SAACe,cAAS;oBAC4CC,qBAAgB,uBAA5EhB,WAAM,SAACgB,qBAAgB;;QAtC5B;YADCC,UAAK,EAAE;iFAYP;QAGD;YADCA,UAAK,CAAC,8BAA8B,CAAC;uEACe;QAxB5C,6BAA6B;YAXzCC,cAAS,CAAC;gBACP,QAAQ,EAAE,0CAA0C;gBACpD,SAAS,EAAE;oBACP;wBACI,OAAO,EAAEC,6BAAsB;wBAC/B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,+BAA6B,GAAA,CAAC;qBAC/D;oBACDR,2BAAuB;oBACvBD,qBAAiB;iBACpB;aACJ,CAAC;YA4BO,WAAAX,WAAM,CAACC,eAAQ,CAAC,CAAA;YAChB,WAAAD,WAAM,CAACE,6BAAwB,CAAC,CAAA;YAEhC,WAAAF,WAAM,CAACG,aAAQ,CAAC,CAAA;YAChB,WAAAH,WAAM,CAACI,oBAAgB,CAAC,CAAA;YACxB,WAAAE,SAAI,EAAE,CAAA,EAAE,WAAAN,WAAM,CAACK,eAAU,CAAC,CAAA;YAC1B,WAAAL,WAAM,CAACO,0BAAsB,CAAC,CAAA;YAC9B,WAAAC,aAAQ,EAAE,CAAA;YAEV,WAAAR,WAAM,CAACS,kCAA2B,CAAC,CAAA;YACnC,WAAAD,aAAQ,EAAE,CAAA;YAEV,WAAAR,WAAM,CAACU,sBAAe,CAAC,CAAA;YACvB,WAAAF,aAAQ,EAAE,CAAA;YAEV,WAAAR,WAAM,CAACW,qBAAiB,CAAC,CAAA;YAEzB,WAAAX,WAAM,CAACY,2BAAuB,CAAC,CAAA;YAC/B,YAAAZ,WAAM,CAACa,sBAAiB,CAAC,CAAA;YACzB,YAAAb,WAAM,CAACc,WAAM,CAAC,CAAA;YACd,YAAAd,WAAM,CAACe,cAAS,CAAC,CAAA;YACjB,YAAAf,WAAM,CAACgB,qBAAgB,CAAC,CAAA;WAhDpB,6BAA6B,CAiQzC;QAAD,oCAAC;KAAA,CAhQWK,0BAAmB;;;QCrD/B;SAA0C;QAA7B,0BAA0B;YALtCC,aAAQ,CAAC;gBACN,OAAO,EAAE,CAACC,2BAAoB,CAAC;gBAC/B,YAAY,EAAE,CAAC,6BAA6B,CAAC;gBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;aAC3C,CAAC;WACW,0BAA0B,CAAG;QAAD,iCAAC;KAA1C;;;;;;;;;;;;;"}
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */var s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function p(e,t,n,o){var r,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function u(e,t){return function(n,o){t(n,o,e)}}var l=function(e){function l(t,n,r,i,s,p,u,l,d,g,f,y,m,v){var h=e.call(this,n,r,i,l||s,p)||this;h.refresh$=g,h.changeDetectorRef=f,h.ngZone=y,h.renderer=m,h.viewContainerRef=v,h.visibilityHandler=o.ALWAYS_TRUE_HANDLER,h.position="selection",h.documentRef=u||t,h.range=h.documentRef.createRange();var R=h.elementRef.nativeElement;return a.merge(o.typedFromEvent(h.documentRef,"mouseup"),o.typedFromEvent(R,"mousedown").pipe(c.switchMapTo(o.typedFromEvent(R,"mousemove").pipe(c.takeUntil(o.typedFromEvent(h.documentRef,"mouseup"))))),o.typedFromEvent(R,"keyup")).pipe(c.map((function(){var e=o.getNativeFocused(h.documentRef),t=h.documentRef.getSelection();return(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&R.contains(e)?h.veryVerySadInputFix(e):t&&t.rangeCount?t.getRangeAt(0):h.range})),c.takeUntil(d)).subscribe((function(e){var t=R.contains(e.commonAncestorContainer);h.range=t?e:h.range;var n=t&&(!h.visibilityHandler||h.visibilityHandler(h.range));h.toggleDropdownBox(n||h.inDropdown(e))})),h}var d;return function(e,t){function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(l,e),d=l,Object.defineProperty(l.prototype,"tuiDropdownSelection",{set:function(e){if(e){var t=this.elementRef.nativeElement.contains(this.range.commonAncestorContainer)&&e(this.range);this.visibilityHandler=e,this.toggleDropdownBox(t)}},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"clientRect",{get:function(){var e=this.documentRef.defaultView,t=this.rangeRect,n=e?e.frameElement:null;if(!n)return t;var o=n.getBoundingClientRect();return{top:t.top+o.top,left:t.left+o.left,right:t.left+o.left+t.width,bottom:t.top+o.top+t.height,width:t.width,height:t.height}},enumerable:!0,configurable:!0}),l.prototype.ngOnDestroy=function(){this.closeDropdownBox(),this.ghost&&this.renderer.removeChild(this.viewContainerRef.element.nativeElement,this.ghost)},Object.defineProperty(l.prototype,"rangeRect",{get:function(){switch(this.position){case"tag":var e=this.range.commonAncestorContainer;return(e.nodeType===Node.ELEMENT_NODE?e:e.parentNode).getBoundingClientRect();case"word":return i.getWordRange(this.range).getBoundingClientRect();default:return this.range.getBoundingClientRect()}},enumerable:!0,configurable:!0}),l.prototype.toggleDropdownBox=function(e){var t=this;this.ngZone.run((function(){e?t.openDropdownBox():t.closeDropdownBox(),t.changeDetectorRef.markForCheck()}))},l.prototype.boxContains=function(e){return!!this.dropdownBoxRef&&this.dropdownBoxRef.location.nativeElement.contains(e)},l.prototype.inDropdown=function(e){var t=e.startContainer,n=e.endContainer,o=this.boxContains(e.commonAncestorContainer),r=this.boxContains(n)&&this.elementRef.nativeElement.contains(t),i=this.boxContains(t)&&this.elementRef.nativeElement.contains(n);return o||r||i},l.prototype.veryVerySadInputFix=function(e){var t=this.ghost,n=void 0===t?this.initGhost(e):t,r=e.getBoundingClientRect(),i=r.top,a=r.left,c=r.width,s=r.height,p=e.selectionStart,u=e.selectionEnd,l=this.documentRef.createRange(),d=this.elementRef.nativeElement.getBoundingClientRect();return n.style.top=o.px(i-d.top),n.style.left=o.px(a-d.left),n.style.width=o.px(c),n.style.height=o.px(s),n.textContent=o.CHAR_ZERO_WIDTH_SPACE+e.value+o.CHAR_NO_BREAK_SPACE,l.setStart(n.firstChild,p||0),l.setEnd(n.firstChild,u||0),l},l.prototype.initGhost=function(e){var t=this.renderer.createElement("div"),n=this.viewContainerRef.element.nativeElement,o=getComputedStyle(e),r=o.font,i=o.letterSpacing,a=o.textTransform,c=o.padding;return t.style.position="absolute",t.style.pointerEvents="none",t.style.opacity="0",t.style.whiteSpace="pre-wrap",t.style.font=r,t.style.letterSpacing=i,t.style.textTransform=a,t.style.padding=c,this.renderer.appendChild(n,t),this.ghost=t,t},l.ctorParameters=function(){return[{type:Document,decorators:[{type:n.Inject,args:[t.DOCUMENT]}]},{type:n.ComponentFactoryResolver,decorators:[{type:n.Inject,args:[n.ComponentFactoryResolver]}]},{type:n.Injector,decorators:[{type:n.Inject,args:[n.Injector]}]},{type:o.TuiPortalService,decorators:[{type:n.Inject,args:[o.TuiPortalService]}]},{type:n.ElementRef,decorators:[{type:n.Host},{type:n.Inject,args:[n.ElementRef]}]},{type:o.TuiActiveZoneDirective,decorators:[{type:n.Inject,args:[o.TuiActiveZoneDirective]},{type:n.Optional}]},{type:Document,decorators:[{type:n.Inject,args:[r.TUI_DOCUMENT_OR_SHADOW_ROOT]},{type:n.Optional}]},{type:n.ElementRef,decorators:[{type:n.Inject,args:[r.TUI_ELEMENT_REF]},{type:n.Optional}]},{type:o.TuiDestroyService,decorators:[{type:n.Inject,args:[o.TuiDestroyService]}]},{type:o.TuiParentsScrollService,decorators:[{type:n.Inject,args:[o.TuiParentsScrollService]}]},{type:n.ChangeDetectorRef,decorators:[{type:n.Inject,args:[n.ChangeDetectorRef]}]},{type:n.NgZone,decorators:[{type:n.Inject,args:[n.NgZone]}]},{type:n.Renderer2,decorators:[{type:n.Inject,args:[n.Renderer2]}]},{type:n.ViewContainerRef,decorators:[{type:n.Inject,args:[n.ViewContainerRef]}]}]},p([n.Input()],l.prototype,"tuiDropdownSelection",null),p([n.Input("tuiDropdownSelectionPosition")],l.prototype,"position",void 0),l=d=p([n.Directive({selector:"[tuiDropdownSelection]:not(ng-container)",providers:[{provide:r.TUI_DROPDOWN_DIRECTIVE,useExisting:n.forwardRef((function(){return d}))},o.TuiParentsScrollService,o.TuiDestroyService]}),u(0,n.Inject(t.DOCUMENT)),u(1,n.Inject(n.ComponentFactoryResolver)),u(2,n.Inject(n.Injector)),u(3,n.Inject(o.TuiPortalService)),u(4,n.Host()),u(4,n.Inject(n.ElementRef)),u(5,n.Inject(o.TuiActiveZoneDirective)),u(5,n.Optional()),u(6,n.Inject(r.TUI_DOCUMENT_OR_SHADOW_ROOT)),u(6,n.Optional()),u(7,n.Inject(r.TUI_ELEMENT_REF)),u(7,n.Optional()),u(8,n.Inject(o.TuiDestroyService)),u(9,n.Inject(o.TuiParentsScrollService)),u(10,n.Inject(n.ChangeDetectorRef)),u(11,n.Inject(n.NgZone)),u(12,n.Inject(n.Renderer2)),u(13,n.Inject(n.ViewContainerRef))],l)}(r.AbstractTuiDropdown),d=function(){function e(){}return e=p([n.NgModule({imports:[r.TuiDropdownBoxModule],declarations:[l],exports:[l]})],e)}();e.TuiDropdownSelectionDirective=l,e.TuiDropdownSelectionModule=d,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */var s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function p(e,t,n,o){var r,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function u(e,t){return function(n,o){t(n,o,e)}}var l={bottom:0,height:0,left:0,right:0,top:0,width:0},d=function(e){function d(t,n,r,i,s,p,u,l,d,g,f,y,h,m){var v=e.call(this,n,r,i,l||s,p)||this;if(v.refresh$=g,v.changeDetectorRef=f,v.ngZone=y,v.renderer=h,v.viewContainerRef=m,v.visibilityHandler=o.ALWAYS_TRUE_HANDLER,v.position="selection",v.documentRef=u||t,!v.documentRef.createRange)return v;v.range=v.documentRef.createRange();var R=v.elementRef.nativeElement;return a.merge(o.typedFromEvent(v.documentRef,"mouseup"),o.typedFromEvent(R,"mousedown").pipe(c.switchMapTo(o.typedFromEvent(R,"mousemove").pipe(c.takeUntil(o.typedFromEvent(v.documentRef,"mouseup"))))),o.typedFromEvent(R,"keyup")).pipe(c.map((function(){var e=o.getNativeFocused(v.documentRef),t=v.documentRef.getSelection();return(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&R.contains(e)?v.veryVerySadInputFix(e):t&&t.rangeCount?t.getRangeAt(0):v.range})),c.takeUntil(d)).subscribe((function(e){var t=!!e&&R.contains(e.commonAncestorContainer);v.range=t?e:v.range;var n=t&&(!v.visibilityHandler||!v.range||v.visibilityHandler(v.range));v.toggleDropdownBox(!!e&&(n||v.inDropdown(e)))})),v}var g;return function(e,t){function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(d,e),g=d,Object.defineProperty(d.prototype,"tuiDropdownSelection",{set:function(e){if(e&&this.range){var t=this.elementRef.nativeElement.contains(this.range.commonAncestorContainer)&&e(this.range);this.visibilityHandler=e,this.toggleDropdownBox(t)}},enumerable:!0,configurable:!0}),Object.defineProperty(d.prototype,"clientRect",{get:function(){var e=this.documentRef.defaultView,t=this.rangeRect,n=e?e.frameElement:null;if(!n)return t;var o=n.getBoundingClientRect();return{top:t.top+o.top,left:t.left+o.left,right:t.left+o.left+t.width,bottom:t.top+o.top+t.height,width:t.width,height:t.height}},enumerable:!0,configurable:!0}),d.prototype.ngOnDestroy=function(){this.closeDropdownBox(),this.ghost&&this.renderer.removeChild(this.viewContainerRef.element.nativeElement,this.ghost)},Object.defineProperty(d.prototype,"rangeRect",{get:function(){if(!this.range)return l;switch(this.position){case"tag":var e=this.range.commonAncestorContainer;return(e.nodeType===Node.ELEMENT_NODE?e:e.parentNode).getBoundingClientRect();case"word":return i.getWordRange(this.range).getBoundingClientRect();default:return this.range.getBoundingClientRect()}},enumerable:!0,configurable:!0}),d.prototype.toggleDropdownBox=function(e){var t=this;this.ngZone.run((function(){e?t.openDropdownBox():t.closeDropdownBox(),t.changeDetectorRef.markForCheck()}))},d.prototype.boxContains=function(e){return!!this.dropdownBoxRef&&this.dropdownBoxRef.location.nativeElement.contains(e)},d.prototype.inDropdown=function(e){var t=e.startContainer,n=e.endContainer,o=this.boxContains(e.commonAncestorContainer),r=this.boxContains(n)&&this.elementRef.nativeElement.contains(t),i=this.boxContains(t)&&this.elementRef.nativeElement.contains(n);return o||r||i},d.prototype.veryVerySadInputFix=function(e){var t=this.ghost,n=void 0===t?this.initGhost(e):t,r=e.getBoundingClientRect(),i=r.top,a=r.left,c=r.width,s=r.height,p=e.selectionStart,u=e.selectionEnd,l=this.documentRef.createRange(),d=this.elementRef.nativeElement.getBoundingClientRect();return n.style.top=o.px(i-d.top),n.style.left=o.px(a-d.left),n.style.width=o.px(c),n.style.height=o.px(s),n.textContent=o.CHAR_ZERO_WIDTH_SPACE+e.value+o.CHAR_NO_BREAK_SPACE,l.setStart(n.firstChild,p||0),l.setEnd(n.firstChild,u||0),l},d.prototype.initGhost=function(e){var t=this.renderer.createElement("div"),n=this.viewContainerRef.element.nativeElement,o=getComputedStyle(e),r=o.font,i=o.letterSpacing,a=o.textTransform,c=o.padding;return t.style.position="absolute",t.style.pointerEvents="none",t.style.opacity="0",t.style.whiteSpace="pre-wrap",t.style.font=r,t.style.letterSpacing=i,t.style.textTransform=a,t.style.padding=c,this.renderer.appendChild(n,t),this.ghost=t,t},d.ctorParameters=function(){return[{type:Document,decorators:[{type:n.Inject,args:[t.DOCUMENT]}]},{type:n.ComponentFactoryResolver,decorators:[{type:n.Inject,args:[n.ComponentFactoryResolver]}]},{type:n.Injector,decorators:[{type:n.Inject,args:[n.Injector]}]},{type:o.TuiPortalService,decorators:[{type:n.Inject,args:[o.TuiPortalService]}]},{type:n.ElementRef,decorators:[{type:n.Host},{type:n.Inject,args:[n.ElementRef]}]},{type:o.TuiActiveZoneDirective,decorators:[{type:n.Inject,args:[o.TuiActiveZoneDirective]},{type:n.Optional}]},{type:Document,decorators:[{type:n.Inject,args:[r.TUI_DOCUMENT_OR_SHADOW_ROOT]},{type:n.Optional}]},{type:n.ElementRef,decorators:[{type:n.Inject,args:[r.TUI_ELEMENT_REF]},{type:n.Optional}]},{type:o.TuiDestroyService,decorators:[{type:n.Inject,args:[o.TuiDestroyService]}]},{type:o.TuiParentsScrollService,decorators:[{type:n.Inject,args:[o.TuiParentsScrollService]}]},{type:n.ChangeDetectorRef,decorators:[{type:n.Inject,args:[n.ChangeDetectorRef]}]},{type:n.NgZone,decorators:[{type:n.Inject,args:[n.NgZone]}]},{type:n.Renderer2,decorators:[{type:n.Inject,args:[n.Renderer2]}]},{type:n.ViewContainerRef,decorators:[{type:n.Inject,args:[n.ViewContainerRef]}]}]},p([n.Input()],d.prototype,"tuiDropdownSelection",null),p([n.Input("tuiDropdownSelectionPosition")],d.prototype,"position",void 0),d=g=p([n.Directive({selector:"[tuiDropdownSelection]:not(ng-container)",providers:[{provide:r.TUI_DROPDOWN_DIRECTIVE,useExisting:n.forwardRef((function(){return g}))},o.TuiParentsScrollService,o.TuiDestroyService]}),u(0,n.Inject(t.DOCUMENT)),u(1,n.Inject(n.ComponentFactoryResolver)),u(2,n.Inject(n.Injector)),u(3,n.Inject(o.TuiPortalService)),u(4,n.Host()),u(4,n.Inject(n.ElementRef)),u(5,n.Inject(o.TuiActiveZoneDirective)),u(5,n.Optional()),u(6,n.Inject(r.TUI_DOCUMENT_OR_SHADOW_ROOT)),u(6,n.Optional()),u(7,n.Inject(r.TUI_ELEMENT_REF)),u(7,n.Optional()),u(8,n.Inject(o.TuiDestroyService)),u(9,n.Inject(o.TuiParentsScrollService)),u(10,n.Inject(n.ChangeDetectorRef)),u(11,n.Inject(n.NgZone)),u(12,n.Inject(n.Renderer2)),u(13,n.Inject(n.ViewContainerRef))],d)}(r.AbstractTuiDropdown),g=function(){function e(){}return e=p([n.NgModule({imports:[r.TuiDropdownBoxModule],declarations:[d],exports:[d]})],e)}();e.TuiDropdownSelectionDirective=d,e.TuiDropdownSelectionModule=g,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=taiga-ui-kit-directives-dropdown-selection.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.directive.ts","ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","TuiDropdownSelectionDirective","documentRef","componentFactoryResolver","injector","portalService","elementRef","activeZone","shadowRootRef","customElementRef","destroy$","refresh$","changeDetectorRef","ngZone","renderer","viewContainerRef","_this","_super","call","this","visibilityHandler","ALWAYS_TRUE_HANDLER","position","range","createRange","nativeElement","merge","typedFromEvent","pipe","switchMapTo","takeUntil","map","active","getNativeFocused","selection","getSelection","HTMLInputElement","HTMLTextAreaElement","contains","veryVerySadInputFix","rangeCount","getRangeAt","subscribe","contained","commonAncestorContainer","valid","toggleDropdownBox","inDropdown","__","constructor","prototype","create","__extends","handler","inHostAndValid","defaultView","rangeRect","frameElement","documentRect","getBoundingClientRect","top","left","right","width","bottom","height","ngOnDestroy","closeDropdownBox","ghost","removeChild","element","nodeType","Node","ELEMENT_NODE","parentNode","getWordRange","visible","run","openDropdownBox","markForCheck","boxContains","node","dropdownBoxRef","location","startContainer","endContainer","hostToDropdown","dropdownToHost","_a","initGhost","_b","selectionStart","selectionEnd","hostRect","style","px","textContent","CHAR_ZERO_WIDTH_SPACE","value","CHAR_NO_BREAK_SPACE","setStart","firstChild","setEnd","createElement","getComputedStyle","font","letterSpacing","textTransform","padding","pointerEvents","opacity","whiteSpace","appendChild","Document","type","Inject","args","DOCUMENT","ComponentFactoryResolver","Injector","TuiPortalService","ElementRef","Host","TuiActiveZoneDirective","Optional","TUI_DOCUMENT_OR_SHADOW_ROOT","TUI_ELEMENT_REF","TuiDestroyService","TuiParentsScrollService","ChangeDetectorRef","NgZone","Renderer2","ViewContainerRef","Input","TuiDropdownSelectionDirective_1","Directive","selector","providers","provide","TUI_DROPDOWN_DIRECTIVE","useExisting","forwardRef","AbstractTuiDropdown","TuiDropdownSelectionModule","NgModule","imports","TuiDropdownBoxModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n getNativeFocused,\n px,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiDestroyService,\n TuiParentsScrollService,\n TuiPortalService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n AbstractTuiDropdown,\n TUI_DOCUMENT_OR_SHADOW_ROOT,\n TUI_DROPDOWN_DIRECTIVE,\n TUI_ELEMENT_REF,\n TuiDropdown,\n} from '@taiga-ui/core';\nimport {getWordRange} from '@taiga-ui/kit/utils/dom';\nimport {merge} from 'rxjs';\nimport {map, switchMapTo, takeUntil} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiDropdownSelection]:not(ng-container)',\n providers: [\n {\n provide: TUI_DROPDOWN_DIRECTIVE,\n useExisting: forwardRef(() => TuiDropdownSelectionDirective),\n },\n TuiParentsScrollService,\n TuiDestroyService,\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends AbstractTuiDropdown\n implements TuiDropdown, OnDestroy\n{\n private visibilityHandler: TuiBooleanHandler<Range> = ALWAYS_TRUE_HANDLER;\n private readonly documentRef: Document;\n private ghost?: HTMLElement;\n private range: Range;\n\n @Input()\n set tuiDropdownSelection(handler: TuiBooleanHandler<Range> | undefined) {\n if (!handler) {\n return;\n }\n\n const inHostAndValid =\n this.elementRef.nativeElement.contains(this.range.commonAncestorContainer) &&\n handler(this.range);\n\n this.visibilityHandler = handler;\n this.toggleDropdownBox(inHostAndValid);\n }\n\n @Input('tuiDropdownSelectionPosition')\n position: 'selection' | 'word' | 'tag' = 'selection';\n\n constructor(\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(ComponentFactoryResolver)\n componentFactoryResolver: ComponentFactoryResolver,\n @Inject(Injector) injector: Injector,\n @Inject(TuiPortalService) portalService: TuiPortalService,\n @Host() @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(TuiActiveZoneDirective)\n @Optional()\n activeZone: TuiActiveZoneDirective | null,\n @Inject(TUI_DOCUMENT_OR_SHADOW_ROOT)\n @Optional()\n shadowRootRef: Document | null,\n @Inject(TUI_ELEMENT_REF)\n @Optional()\n customElementRef: ElementRef<HTMLElement> | null,\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(TuiParentsScrollService) readonly refresh$: TuiParentsScrollService,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n ) {\n super(\n componentFactoryResolver,\n injector,\n portalService,\n customElementRef || elementRef,\n activeZone,\n );\n this.documentRef = shadowRootRef || documentRef;\n this.range = this.documentRef.createRange();\n\n const {nativeElement} = this.elementRef;\n\n merge(\n typedFromEvent(this.documentRef, 'mouseup'),\n typedFromEvent(nativeElement, 'mousedown').pipe(\n switchMapTo(\n typedFromEvent(nativeElement, 'mousemove').pipe(\n takeUntil(typedFromEvent(this.documentRef, 'mouseup')),\n ),\n ),\n ),\n typedFromEvent(nativeElement, 'keyup'),\n )\n .pipe(\n map(() => {\n const active = getNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n // TODO: iframe warning\n if (\n (active instanceof HTMLInputElement ||\n active instanceof HTMLTextAreaElement) &&\n nativeElement.contains(active)\n ) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection && selection.rangeCount\n ? selection.getRangeAt(0)\n : this.range;\n }),\n takeUntil(destroy$),\n )\n .subscribe(range => {\n const contained = nativeElement.contains(range.commonAncestorContainer);\n\n this.range = contained ? range : this.range;\n\n const valid =\n contained &&\n (!this.visibilityHandler || this.visibilityHandler(this.range));\n\n this.toggleDropdownBox(valid || this.inDropdown(range));\n });\n }\n\n get clientRect(): ClientRect {\n const {defaultView} = this.documentRef;\n const {rangeRect} = this;\n const frameElement = defaultView ? defaultView.frameElement : null;\n\n if (!frameElement) {\n return rangeRect;\n }\n\n const documentRect = frameElement.getBoundingClientRect();\n\n return {\n top: rangeRect.top + documentRect.top,\n left: rangeRect.left + documentRect.left,\n right: rangeRect.left + documentRect.left + rangeRect.width,\n bottom: rangeRect.top + documentRect.top + rangeRect.height,\n width: rangeRect.width,\n height: rangeRect.height,\n };\n }\n\n ngOnDestroy() {\n this.closeDropdownBox();\n\n if (this.ghost) {\n this.renderer.removeChild(\n this.viewContainerRef.element.nativeElement,\n this.ghost,\n );\n }\n }\n\n /**\n * get ClientRect of current Range according to provided position\n */\n private get rangeRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element =\n commonAncestorContainer.nodeType === Node.ELEMENT_NODE\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return (element as Element).getBoundingClientRect();\n }\n case 'word':\n return getWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n /**\n * Toggle dropdown visibility (has to be in ngZone.run because it could be initiated inside iframe in Editor)\n */\n private toggleDropdownBox(visible: boolean) {\n this.ngZone.run(() => {\n if (visible) {\n this.openDropdownBox();\n } else {\n this.closeDropdownBox();\n }\n\n this.changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return (\n !!this.dropdownBoxRef &&\n this.dropdownBoxRef.location.nativeElement.contains(node)\n );\n }\n\n /**\n * Check if given range is at leaset partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) &&\n this.elementRef.nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) &&\n this.elementRef.nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n /**\n * Position invisible DIV and create Range similar to selected range inside input/textarea\n */\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = px(top - hostRect.top);\n ghost.style.left = px(left - hostRect.left);\n ghost.style.width = px(width);\n ghost.style.height = px(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + element.value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild!, selectionStart || 0);\n range.setEnd(ghost.firstChild!, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.renderer.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n this.renderer.appendChild(nativeElement, ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDropdownBoxModule} from '@taiga-ui/core';\n\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [TuiDropdownBoxModule],\n declarations: [TuiDropdownSelectionDirective],\n exports: [TuiDropdownSelectionDirective],\n})\nexport class TuiDropdownSelectionModule {}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.directive.ts","ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","EMPTY_RECT","bottom","height","left","right","top","width","TuiDropdownSelectionDirective","documentRef","componentFactoryResolver","injector","portalService","elementRef","activeZone","shadowRootRef","customElementRef","destroy$","refresh$","changeDetectorRef","ngZone","renderer","viewContainerRef","_this","_super","call","this","visibilityHandler","ALWAYS_TRUE_HANDLER","position","createRange","range","nativeElement","merge","typedFromEvent","pipe","switchMapTo","takeUntil","map","active","getNativeFocused","selection","getSelection","HTMLInputElement","HTMLTextAreaElement","contains","veryVerySadInputFix","rangeCount","getRangeAt","subscribe","contained","commonAncestorContainer","valid","toggleDropdownBox","inDropdown","__","constructor","prototype","create","__extends","handler","inHostAndValid","defaultView","rangeRect","frameElement","documentRect","getBoundingClientRect","ngOnDestroy","closeDropdownBox","ghost","removeChild","element","nodeType","Node","ELEMENT_NODE","parentNode","getWordRange","visible","run","openDropdownBox","markForCheck","boxContains","node","dropdownBoxRef","location","startContainer","endContainer","hostToDropdown","dropdownToHost","_a","initGhost","_b","selectionStart","selectionEnd","hostRect","style","px","textContent","CHAR_ZERO_WIDTH_SPACE","value","CHAR_NO_BREAK_SPACE","setStart","firstChild","setEnd","createElement","getComputedStyle","font","letterSpacing","textTransform","padding","pointerEvents","opacity","whiteSpace","appendChild","Document","type","Inject","args","DOCUMENT","ComponentFactoryResolver","Injector","TuiPortalService","ElementRef","Host","TuiActiveZoneDirective","Optional","TUI_DOCUMENT_OR_SHADOW_ROOT","TUI_ELEMENT_REF","TuiDestroyService","TuiParentsScrollService","ChangeDetectorRef","NgZone","Renderer2","ViewContainerRef","Input","TuiDropdownSelectionDirective_1","Directive","selector","providers","provide","TUI_DROPDOWN_DIRECTIVE","useExisting","forwardRef","AbstractTuiDropdown","TuiDropdownSelectionModule","NgModule","imports","TuiDropdownBoxModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n getNativeFocused,\n px,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiDestroyService,\n TuiParentsScrollService,\n TuiPortalService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n AbstractTuiDropdown,\n TUI_DOCUMENT_OR_SHADOW_ROOT,\n TUI_DROPDOWN_DIRECTIVE,\n TUI_ELEMENT_REF,\n TuiDropdown,\n} from '@taiga-ui/core';\nimport {getWordRange} from '@taiga-ui/kit/utils/dom';\nimport {merge} from 'rxjs';\nimport {map, switchMapTo, takeUntil} from 'rxjs/operators';\n\nconst EMPTY_RECT: ClientRect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n};\n\n// @dynamic\n@Directive({\n selector: '[tuiDropdownSelection]:not(ng-container)',\n providers: [\n {\n provide: TUI_DROPDOWN_DIRECTIVE,\n useExisting: forwardRef(() => TuiDropdownSelectionDirective),\n },\n TuiParentsScrollService,\n TuiDestroyService,\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends AbstractTuiDropdown\n implements TuiDropdown, OnDestroy\n{\n private visibilityHandler: TuiBooleanHandler<Range> = ALWAYS_TRUE_HANDLER;\n private readonly documentRef: Document;\n private ghost?: HTMLElement;\n private range?: Range;\n\n @Input()\n set tuiDropdownSelection(handler: TuiBooleanHandler<Range> | undefined) {\n if (!handler || !this.range) {\n return;\n }\n\n const inHostAndValid =\n this.elementRef.nativeElement.contains(this.range.commonAncestorContainer) &&\n handler(this.range);\n\n this.visibilityHandler = handler;\n this.toggleDropdownBox(inHostAndValid);\n }\n\n @Input('tuiDropdownSelectionPosition')\n position: 'selection' | 'word' | 'tag' = 'selection';\n\n constructor(\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(ComponentFactoryResolver)\n componentFactoryResolver: ComponentFactoryResolver,\n @Inject(Injector) injector: Injector,\n @Inject(TuiPortalService) portalService: TuiPortalService,\n @Host() @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(TuiActiveZoneDirective)\n @Optional()\n activeZone: TuiActiveZoneDirective | null,\n @Inject(TUI_DOCUMENT_OR_SHADOW_ROOT)\n @Optional()\n shadowRootRef: Document | null,\n @Inject(TUI_ELEMENT_REF)\n @Optional()\n customElementRef: ElementRef<HTMLElement> | null,\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(TuiParentsScrollService) readonly refresh$: TuiParentsScrollService,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n ) {\n super(\n componentFactoryResolver,\n injector,\n portalService,\n customElementRef || elementRef,\n activeZone,\n );\n this.documentRef = shadowRootRef || documentRef;\n\n // SSR protection\n if (!this.documentRef.createRange) {\n return;\n }\n\n this.range = this.documentRef.createRange();\n\n const {nativeElement} = this.elementRef;\n\n merge(\n typedFromEvent(this.documentRef, 'mouseup'),\n typedFromEvent(nativeElement, 'mousedown').pipe(\n switchMapTo(\n typedFromEvent(nativeElement, 'mousemove').pipe(\n takeUntil(typedFromEvent(this.documentRef, 'mouseup')),\n ),\n ),\n ),\n typedFromEvent(nativeElement, 'keyup'),\n )\n .pipe(\n map(() => {\n const active = getNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n // TODO: iframe warning\n if (\n (active instanceof HTMLInputElement ||\n active instanceof HTMLTextAreaElement) &&\n nativeElement.contains(active)\n ) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection && selection.rangeCount\n ? selection.getRangeAt(0)\n : this.range;\n }),\n takeUntil(destroy$),\n )\n .subscribe(range => {\n const contained =\n !!range && nativeElement.contains(range.commonAncestorContainer);\n\n this.range = contained ? range : this.range;\n\n const valid =\n contained &&\n (!this.visibilityHandler ||\n !this.range ||\n this.visibilityHandler(this.range));\n\n this.toggleDropdownBox(!!range && (valid || this.inDropdown(range)));\n });\n }\n\n get clientRect(): ClientRect {\n const {defaultView} = this.documentRef;\n const {rangeRect} = this;\n const frameElement = defaultView ? defaultView.frameElement : null;\n\n if (!frameElement) {\n return rangeRect;\n }\n\n const documentRect = frameElement.getBoundingClientRect();\n\n return {\n top: rangeRect.top + documentRect.top,\n left: rangeRect.left + documentRect.left,\n right: rangeRect.left + documentRect.left + rangeRect.width,\n bottom: rangeRect.top + documentRect.top + rangeRect.height,\n width: rangeRect.width,\n height: rangeRect.height,\n };\n }\n\n ngOnDestroy() {\n this.closeDropdownBox();\n\n if (this.ghost) {\n this.renderer.removeChild(\n this.viewContainerRef.element.nativeElement,\n this.ghost,\n );\n }\n }\n\n /**\n * get ClientRect of current Range according to provided position\n */\n private get rangeRect(): ClientRect {\n if (!this.range) {\n return EMPTY_RECT;\n }\n\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element =\n commonAncestorContainer.nodeType === Node.ELEMENT_NODE\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return (element as Element).getBoundingClientRect();\n }\n case 'word':\n return getWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n /**\n * Toggle dropdown visibility (has to be in ngZone.run because it could be initiated inside iframe in Editor)\n */\n private toggleDropdownBox(visible: boolean) {\n this.ngZone.run(() => {\n if (visible) {\n this.openDropdownBox();\n } else {\n this.closeDropdownBox();\n }\n\n this.changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return (\n !!this.dropdownBoxRef &&\n this.dropdownBoxRef.location.nativeElement.contains(node)\n );\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) &&\n this.elementRef.nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) &&\n this.elementRef.nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n /**\n * Position invisible DIV and create Range similar to selected range inside input/textarea\n */\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = px(top - hostRect.top);\n ghost.style.left = px(left - hostRect.left);\n ghost.style.width = px(width);\n ghost.style.height = px(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + element.value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild!, selectionStart || 0);\n range.setEnd(ghost.firstChild!, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.renderer.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n this.renderer.appendChild(nativeElement, ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDropdownBoxModule} from '@taiga-ui/core';\n\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [TuiDropdownBoxModule],\n declarations: [TuiDropdownSelectionDirective],\n exports: [TuiDropdownSelectionDirective],\n})\nexport class TuiDropdownSelectionModule {}\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiInputRangeComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@taiga-ui/kit/abstract","name":"AbstractTuiInputSlider","line":46,"character":12},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":33,"character":1},"arguments":[{"selector":"tui-input-range","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":37,"character":21},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_FOCUSABLE_ITEM_ACCESSOR","line":40,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiInputRangeComponent"}}],"template":"<div class=\"zone\" (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n >\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-range__placeholder\"\n class=\"placeholder placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <div class=\"content\">\n <span *ngIf=\"!showMinLabel\" class=\"label\">\n <span class=\"value\">{{ inputValueLeft }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-left\"\n class=\"pluralize\"\n >\n {{ value[0] | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-range__min-label\"\n class=\"label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-range__max-label\"\n class=\"max\"\n >\n {{ maxLabel }}\n </span>\n </div>\n <tui-range\n class=\"slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralize\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-range>\n </tui-wrapper>\n\n <div class=\"native-wrapper\" (tuiHoveredChange)=\"onHovered($event)\">\n <input\n #nativeLeft\n automation-id=\"tui-input-range__native-left\"\n class=\"native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.native_hidden]=\"showMinLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueLeft\"\n (ngModelChange)=\"onInputLeft()\"\n (tuiFocusedChange)=\"onLeftFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpLeft($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownLeft($event)\"\n />\n <input\n #nativeRight\n automation-id=\"tui-input-range__native-right\"\n class=\"native native_right\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.native_hidden]=\"showMaxLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueRight\"\n (ngModelChange)=\"onInputRight()\"\n (tuiFocusedChange)=\"onRightFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpRight($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownRight($event)\"\n />\n <span\n *ngIf=\"pluralizeMap && !showMaxLabel\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"pluralize pluralize_right\"\n (mousedown)=\"onMouseDown()\"\n >\n {{ value[1] | i18nPlural: pluralizeMap }}\n </span>\n </div>\n</div>\n","styles":[":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented{border-bottom:26px solid transparent}:host[data-mode=onDark]{color:var(--tui-base-01)}.zone{border-radius:inherit}.native-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex}.pluralize{display:flex;align-items:center;padding-right:.75rem;margin-left:-.5rem}.pluralize_right{margin-left:-.75rem}:host[data-size='l'] .pluralize_right{padding-top:1.25rem}:host._disabled .pluralize_right{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .pluralize_right{color:var(--tui-text-03-night)}.native{padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;flex:1;min-width:0;color:var(--tui-text-01);box-sizing:border-box;outline:0}.native:-webkit-autofill,.native:-webkit-autofill:focus,.native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.native_right{text-align:right}.native_hidden{opacity:0}:host._disabled .native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host[data-size='l'] .native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .native{color:var(--tui-text-03-night)}.content{display:flex;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between;align-items:center}:host[data-size='l'] .content{height:var(--tui-height-l);padding:0 1rem}:host[data-size='l']._disabled .content{color:var(--tui-text-03)}:host[data-size='l'][data-mode=onDark]._disabled .content{color:var(--tui-text-03-night)}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;position:absolute;top:0;width:100%;height:100%;left:1rem;line-height:var(--tui-height-l)}.placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-size='l']._focused._label-outside .placeholder,:host[data-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-size='l'] .placeholder{font-size:.9375rem}:host[data-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .placeholder,:host[data-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}.value{visibility:hidden;overflow:hidden;padding-right:.75rem}:host._disabled .value{color:var(--tui-text-03)}.label{display:flex;width:50%}:host[data-size='l'] .label{padding-top:1.25rem}.max{text-align:right;flex:1}:host[data-size='l'] .max{padding-top:1.25rem;line-height:calc(var(--tui-height-l) - 1.25rem)}.slider{position:absolute;top:100%;left:0;right:0;z-index:1;border-top-left-radius:0;border-top-right-radius:0;margin:-.5625rem 0 0;color:transparent}:host._disabled .slider,:host._readonly .slider{pointer-events:none}"]}]}],"members":{"nativeLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":49,"character":5},"arguments":["nativeLeft"]}]}],"nativeRight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":5},"arguments":["nativeRight"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":56,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":57,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":58,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":60,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":60,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":61,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":62,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":62,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":64,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_MOBILE","line":64,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":66,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_NUMBER_FORMAT","line":66,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":68,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_TEXTFIELD_APPEARANCE","line":68,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":59,"character":17},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":60,"character":54},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":63,"character":42},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"NumberFormatSettings","line":67,"character":41},{"__symbolic":"reference","name":"string"}]}],"showMinLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":90,"character":5},"arguments":["class._min-label"]}]}],"showMaxLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":95,"character":5},"arguments":["class._max-label"]}]}],"onActiveZone":[{"__symbolic":"method"}],"onMouseDown":[{"__symbolic":"method"}],"onKeyDownArrowUpLeft":[{"__symbolic":"method"}],"onKeyDownArrowDownLeft":[{"__symbolic":"method"}],"onKeyDownArrowUpRight":[{"__symbolic":"method"}],"onKeyDownArrowDownRight":[{"__symbolic":"method"}],"onInputLeft":[{"__symbolic":"method"}],"onInputRight":[{"__symbolic":"method"}],"onRangeValue":[{"__symbolic":"method"}],"onLeftFocused":[{"__symbolic":"method"}],"onRightFocused":[{"__symbolic":"method"}],"getFallbackValue":[{"__symbolic":"method"}],"formatNumber":[{"__symbolic":"method"}],"processStep":[{"__symbolic":"method"}]}},"TuiInputRangeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":20,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":21,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":22,"character":8},{"__symbolic":"reference","module":"angular2-text-mask","name":"TextMaskModule","line":23,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusableModule","line":24,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusedModule","line":25,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredModule","line":26,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiPressedModule","line":27,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiMapperPipeModule","line":28,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiInputModeModule","line":29,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneModule","line":30,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit/components/range","name":"TuiRangeModule","line":31,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiWrapperModule","line":32,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiInputRangeComponent"}],"exports":[{"__symbolic":"reference","name":"TuiInputRangeComponent"}]}]}],"members":{}}},"origins":{"TuiInputRangeComponent":"./input-range.component","TuiInputRangeModule":"./input-range.module"},"importAs":"@taiga-ui/kit/components/input-range"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiInputRangeComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@taiga-ui/kit/abstract","name":"AbstractTuiInputSlider","line":46,"character":12},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":33,"character":1},"arguments":[{"selector":"tui-input-range","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":37,"character":21},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_FOCUSABLE_ITEM_ACCESSOR","line":40,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiInputRangeComponent"}}],"template":"<div class=\"t-zone\" (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n >\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-range__placeholder\"\n class=\"t-placeholder t-placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <div class=\"t-content\">\n <span *ngIf=\"!showMinLabel\" class=\"t-label\">\n <span class=\"t-value\">{{ inputValueLeft }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-left\"\n class=\"t-pluralize\"\n >\n {{ value[0] | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-range__min-label\"\n class=\"t-label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-range__max-label\"\n class=\"t-max\"\n >\n {{ maxLabel }}\n </span>\n </div>\n <tui-range\n class=\"t-slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralize\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-range>\n </tui-wrapper>\n\n <div class=\"t-native-wrapper\" (tuiHoveredChange)=\"onHovered($event)\">\n <input\n #nativeLeft\n automation-id=\"tui-input-range__native-left\"\n class=\"t-native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.t-native_hidden]=\"showMinLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueLeft\"\n (ngModelChange)=\"onInputLeft()\"\n (tuiFocusedChange)=\"onLeftFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpLeft($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownLeft($event)\"\n />\n <input\n #nativeRight\n automation-id=\"tui-input-range__native-right\"\n class=\"t-native t-native_right\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.t-native_hidden]=\"showMaxLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueRight\"\n (ngModelChange)=\"onInputRight()\"\n (tuiFocusedChange)=\"onRightFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpRight($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownRight($event)\"\n />\n <span\n *ngIf=\"pluralizeMap && !showMaxLabel\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"t-pluralize t-pluralize_right\"\n (mousedown)=\"onMouseDown()\"\n >\n {{ value[1] | i18nPlural: pluralizeMap }}\n </span>\n </div>\n</div>\n","styles":[":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented{border-bottom:26px solid transparent}:host[data-mode=onDark]{color:var(--tui-base-01)}.t-zone{border-radius:inherit}.t-native-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex}.t-pluralize{display:flex;align-items:center;padding-right:.75rem;margin-left:-.5rem}.t-pluralize_right{margin-left:-.75rem}:host[data-size='l'] .t-pluralize_right{padding-top:1.25rem}:host._disabled .t-pluralize_right{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .t-pluralize_right{color:var(--tui-text-03-night)}.t-native{padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;flex:1;min-width:0;color:var(--tui-text-01);box-sizing:border-box;outline:0}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-native_right{text-align:right}.t-native_hidden{opacity:0}:host._disabled .t-native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host[data-size='l'] .t-native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .t-native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .t-native{color:var(--tui-text-03-night)}.t-content{display:flex;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between;align-items:center}:host[data-size='l'] .t-content{height:var(--tui-height-l);padding:0 1rem}:host[data-size='l']._disabled .t-content{color:var(--tui-text-03)}:host[data-size='l'][data-mode=onDark]._disabled .t-content{color:var(--tui-text-03-night)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;position:absolute;top:0;width:100%;height:100%;left:1rem;line-height:var(--tui-height-l)}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}.t-value{visibility:hidden;overflow:hidden;padding-right:.75rem}:host._disabled .t-value{color:var(--tui-text-03)}.t-label{display:flex;width:50%}:host[data-size='l'] .t-label{padding-top:1.25rem}.t-max{text-align:right;flex:1}:host[data-size='l'] .t-max{padding-top:1.25rem;line-height:calc(var(--tui-height-l) - 1.25rem)}.t-slider{position:absolute;top:100%;left:0;right:0;z-index:1;border-top-left-radius:0;border-top-right-radius:0;margin:-.5625rem 0 0;color:transparent}:host._disabled .t-slider,:host._readonly .t-slider{pointer-events:none}"]}]}],"members":{"nativeLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":49,"character":5},"arguments":["nativeLeft"]}]}],"nativeRight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":5},"arguments":["nativeRight"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":56,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":57,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":58,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":60,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":60,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":61,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":62,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":62,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":64,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_MOBILE","line":64,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":66,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_NUMBER_FORMAT","line":66,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":68,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_TEXTFIELD_APPEARANCE","line":68,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":59,"character":17},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":60,"character":54},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":63,"character":42},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"NumberFormatSettings","line":67,"character":41},{"__symbolic":"reference","name":"string"}]}],"showMinLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":90,"character":5},"arguments":["class._min-label"]}]}],"showMaxLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":95,"character":5},"arguments":["class._max-label"]}]}],"onActiveZone":[{"__symbolic":"method"}],"onMouseDown":[{"__symbolic":"method"}],"onKeyDownArrowUpLeft":[{"__symbolic":"method"}],"onKeyDownArrowDownLeft":[{"__symbolic":"method"}],"onKeyDownArrowUpRight":[{"__symbolic":"method"}],"onKeyDownArrowDownRight":[{"__symbolic":"method"}],"onInputLeft":[{"__symbolic":"method"}],"onInputRight":[{"__symbolic":"method"}],"onRangeValue":[{"__symbolic":"method"}],"onLeftFocused":[{"__symbolic":"method"}],"onRightFocused":[{"__symbolic":"method"}],"getFallbackValue":[{"__symbolic":"method"}],"formatNumber":[{"__symbolic":"method"}],"processStep":[{"__symbolic":"method"}]}},"TuiInputRangeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":20,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":21,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":22,"character":8},{"__symbolic":"reference","module":"angular2-text-mask","name":"TextMaskModule","line":23,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusableModule","line":24,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusedModule","line":25,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredModule","line":26,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiPressedModule","line":27,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiMapperPipeModule","line":28,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiInputModeModule","line":29,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneModule","line":30,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit/components/range","name":"TuiRangeModule","line":31,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiWrapperModule","line":32,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiInputRangeComponent"}],"exports":[{"__symbolic":"reference","name":"TuiInputRangeComponent"}]}]}],"members":{}}},"origins":{"TuiInputRangeComponent":"./input-range.component","TuiInputRangeModule":"./input-range.module"},"importAs":"@taiga-ui/kit/components/input-range"}