@taiga-ui/cdk 2.26.0 → 2.27.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 (95) hide show
  1. package/abstract/control.d.ts +1 -1
  2. package/abstract/interactive.d.ts +4 -4
  3. package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
  4. package/bundles/taiga-ui-cdk-abstract.umd.js +3 -3
  5. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  6. package/bundles/taiga-ui-cdk-abstract.umd.min.js +1 -1
  7. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-cdk-date-time.umd.js +331 -331
  9. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  10. package/bundles/taiga-ui-cdk-date-time.umd.min.js +1 -1
  11. package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js +276 -0
  13. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -0
  14. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js +16 -0
  15. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js.map +1 -0
  16. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-cdk-directives-media.umd.js +1 -1
  19. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  20. package/bundles/taiga-ui-cdk-directives-media.umd.min.js +1 -1
  21. package/bundles/taiga-ui-cdk-directives-media.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-cdk-services.umd.js +2 -2
  23. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  24. package/bundles/taiga-ui-cdk-services.umd.min.js +1 -1
  25. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  26. package/date-time/day-range.d.ts +14 -14
  27. package/date-time/day.d.ts +57 -57
  28. package/date-time/month-range.d.ts +1 -1
  29. package/date-time/month.d.ts +26 -26
  30. package/date-time/taiga-ui-cdk-date-time.metadata.json +1 -1
  31. package/date-time/time.d.ts +12 -12
  32. package/date-time/year.d.ts +27 -27
  33. package/directives/copy-processor/copy-processor.directive.d.ts +7 -0
  34. package/directives/copy-processor/copy-processor.module.d.ts +2 -0
  35. package/directives/copy-processor/index.d.ts +2 -0
  36. package/directives/copy-processor/package.json +13 -0
  37. package/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.d.ts +4 -0
  38. package/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.metadata.json +1 -0
  39. package/directives/for/for.directive.d.ts +1 -1
  40. package/directives/for/taiga-ui-cdk-directives-for.metadata.json +1 -1
  41. package/directives/media/media.directive.d.ts +1 -1
  42. package/directives/media/taiga-ui-cdk-directives-media.metadata.json +1 -1
  43. package/esm2015/abstract/control.js +1 -1
  44. package/esm2015/abstract/interactive.js +4 -4
  45. package/esm2015/date-time/day-range.js +26 -26
  46. package/esm2015/date-time/day.js +120 -120
  47. package/esm2015/date-time/month-range.js +6 -6
  48. package/esm2015/date-time/month.js +56 -56
  49. package/esm2015/date-time/time.js +40 -40
  50. package/esm2015/date-time/year.js +49 -49
  51. package/esm2015/directives/copy-processor/copy-processor.directive.js +37 -0
  52. package/esm2015/directives/copy-processor/copy-processor.module.js +13 -0
  53. package/esm2015/directives/copy-processor/index.js +3 -0
  54. package/esm2015/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.js +5 -0
  55. package/esm2015/directives/for/for.directive.js +1 -1
  56. package/esm2015/directives/media/media.directive.js +2 -2
  57. package/esm2015/services/pan.service.js +3 -3
  58. package/esm5/abstract/control.js +1 -1
  59. package/esm5/abstract/interactive.js +4 -4
  60. package/esm5/date-time/day-range.js +26 -26
  61. package/esm5/date-time/day.js +120 -120
  62. package/esm5/date-time/month-range.js +6 -6
  63. package/esm5/date-time/month.js +56 -56
  64. package/esm5/date-time/time.js +41 -41
  65. package/esm5/date-time/year.js +49 -49
  66. package/esm5/directives/copy-processor/copy-processor.directive.js +38 -0
  67. package/esm5/directives/copy-processor/copy-processor.module.js +16 -0
  68. package/esm5/directives/copy-processor/index.js +3 -0
  69. package/esm5/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.js +5 -0
  70. package/esm5/directives/for/for.directive.js +1 -1
  71. package/esm5/directives/media/media.directive.js +2 -2
  72. package/esm5/services/pan.service.js +3 -3
  73. package/fesm2015/taiga-ui-cdk-abstract.js +3 -3
  74. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  75. package/fesm2015/taiga-ui-cdk-date-time.js +322 -322
  76. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  77. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js +52 -0
  78. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -0
  79. package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
  80. package/fesm2015/taiga-ui-cdk-directives-media.js +1 -1
  81. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  82. package/fesm2015/taiga-ui-cdk-services.js +2 -2
  83. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  84. package/fesm5/taiga-ui-cdk-abstract.js +3 -3
  85. package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
  86. package/fesm5/taiga-ui-cdk-date-time.js +331 -331
  87. package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
  88. package/fesm5/taiga-ui-cdk-directives-copy-processor.js +56 -0
  89. package/fesm5/taiga-ui-cdk-directives-copy-processor.js.map +1 -0
  90. package/fesm5/taiga-ui-cdk-directives-for.js.map +1 -1
  91. package/fesm5/taiga-ui-cdk-directives-media.js +1 -1
  92. package/fesm5/taiga-ui-cdk-directives-media.js.map +1 -1
  93. package/fesm5/taiga-ui-cdk-services.js +2 -2
  94. package/fesm5/taiga-ui-cdk-services.js.map +1 -1
  95. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/cdk/services/destroy.service.ts","ng://@taiga-ui/cdk/services/directive-styles.service.ts","ng://@taiga-ui/cdk/services/focus-visible.service.ts","ng://@taiga-ui/cdk/services/hovered.service.ts","ng://@taiga-ui/cdk/services/id.service.ts","ng://@taiga-ui/cdk/services/parents-scroll.service.ts","ng://@taiga-ui/cdk/services/obscured.service.ts","ng://@taiga-ui/cdk/services/pan.service.ts","ng://@taiga-ui/cdk/services/resize.service.ts","ng://@taiga-ui/cdk/services/scroll.service.ts","ng://@taiga-ui/cdk/services/static-request.service.ts","ng://@taiga-ui/cdk/services/swipe.service.ts","ng://@taiga-ui/cdk/services/zoom.service.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","TuiDestroyService","_super","ngOnDestroy","complete","Injectable","Subject","TuiDirectiveStylesService","documentRef","renderer","addStyle","styles","attribute","head","querySelector","style","createElement","setProperty","setAttribute","appendChild","Document","type","Inject","args","DOCUMENT","Renderer2","TUI_DEFAULT_RENDERER","providedIn","TuiFocusVisibleService","_a","changeDetectorRef","destroy$","nativeElement","_this","subscriber","focusVisible$","subscribe","focusVisibleObservable","pipe","watch","takeUntil","ElementRef","ChangeDetectorRef","Observable","TuiHoveredService","ngZone","documentEvents$","merge","typedFromEvent","capture","createHovered$","options","passive","switchMap","filter","event","contains","getActualTarget","tuiZoneOptimized","take","mapTo","startWith","distinctUntilChanged","NgZone","TuiIdService","generate","TuiIdService_1","autoId","Date","now","TuiParentsScrollService","windowRef","callback$","defer","eventTargets","parentElement","apply","concat","__spread","map","element","Window","WINDOW","TuiObscuredService","parentsScroll$","animationFrame$","obscured$","fromEvent","delay","throttleTime","POLLING_TIME","getElementObscurers","Self","ANIMATION_FRAME","TuiPanService","switchMapTo","touches","pairwise","_b","first","second","clientX","clientY","repeat","TuiResizeService","elementRef","support","box","catchError","clientWidth","clientHeight","EMPTY_ARRAY","debounceTime","tuiZonefree","RESIZE_OBSERVER_SUPPORT","RESIZE_OPTION_BOX","ResizeObserverService","TuiScrollService","performanceRef","scroll$","scrollTop","scrollLeft","duration","tuiAssert","assert","initialTop","initialLeft","deltaTop","deltaLeft","of","start","timer","elapsed","easeInOutQuad","clamp","percent","tap","Performance","PERFORMANCE","TuiStaticRequestService","cache","Map","request","url","get","piped","observer","xhr","XMLHttpRequest","onreadystatechange","readyState","response","responseType","responseText","status","open","send","abort","shareReplay","set","TuiSwipeService","timeout","threshold","identifier","changedTouches","end","startX","startY","distanceX","distanceY","timeStamp","Math","abs","direction","getSwipeDirection","events","isPresent","TUI_SWIPE_OPTIONS","TuiZoomService","wheelSensitivity","startEvent","scan","prev","distance","distanceBetweenTouches","delta","preventDefault","wheel","deltaY","TUI_ZOOM_OPTIONS"],"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 {Injectable, OnDestroy} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * Observable abstraction over ngOnDestroy to use with takeUntil\n */\n@Injectable()\nexport class TuiDestroyService extends Subject<void> implements OnDestroy {\n ngOnDestroy() {\n this.next();\n this.complete();\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, Renderer2} from '@angular/core';\nimport {TUI_DEFAULT_RENDERER} from '@taiga-ui/cdk/tokens';\n\n/**\n * Service to use styles with directives\n * @dynamic\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiDirectiveStylesService {\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_DEFAULT_RENDERER) private readonly renderer: Renderer2,\n ) {}\n\n addStyle(styles: string, attribute: string) {\n if (this.documentRef.head.querySelector(`style[${attribute}]`)) {\n return;\n }\n\n const style = this.renderer.createElement('style');\n\n this.renderer.setProperty(style, 'textContent', styles);\n this.renderer.setAttribute(style, attribute, '');\n this.documentRef.head.appendChild(style);\n }\n}\n","import {ChangeDetectorRef, ElementRef, Inject, Injectable} from '@angular/core';\nimport {focusVisibleObservable, watch} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n/**\n * Service to imitate :focus-visible\n * (https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible)\n * in browsers that do not support it\n * @dynamic\n */\n@Injectable()\nexport class TuiFocusVisibleService extends Observable<boolean> {\n private readonly focusVisible$: Observable<boolean>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n super(subscriber => this.focusVisible$.subscribe(subscriber));\n\n this.focusVisible$ = focusVisibleObservable(nativeElement).pipe(\n watch(changeDetectorRef),\n takeUntil(destroy$),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, NgZone} from '@angular/core';\nimport {tuiZoneOptimized, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {getActualTarget} from '@taiga-ui/cdk/utils/dom';\nimport {merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n mapTo,\n startWith,\n switchMap,\n take,\n} from 'rxjs/operators';\n\n// @dynamic\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiHoveredService {\n private readonly documentEvents$: Observable<Event>;\n\n constructor(\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(NgZone) private readonly ngZone: NgZone,\n ) {\n this.documentEvents$ = merge(\n typedFromEvent(documentRef, 'mousemove'),\n typedFromEvent(documentRef, 'touchstart', {capture: true}),\n );\n }\n\n createHovered$(\n target: Element,\n options: AddEventListenerOptions = {passive: true},\n ): Observable<boolean> {\n return merge(\n typedFromEvent(target, 'mouseenter', options),\n typedFromEvent(target, 'touchstart', options),\n ).pipe(\n switchMap(() =>\n merge(\n typedFromEvent(target, 'mouseleave', options),\n this.documentEvents$.pipe(\n filter(event => !target.contains(getActualTarget(event))),\n tuiZoneOptimized(this.ngZone),\n take(1),\n ),\n ).pipe(mapTo(false), startWith(true)),\n ),\n distinctUntilChanged(),\n );\n }\n}\n","import {Injectable} from '@angular/core';\n\nconst TUI = 'tui_';\n\n/**\n * Generates unique ids\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiIdService {\n private static autoId = 0;\n\n generate(): string {\n return `${TUI}${TuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {defer, merge, Observable} from 'rxjs';\n\n/**\n * Service that subscribes to scroll events of all parent elements\n */\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Injectable()\nexport class TuiParentsScrollService extends Observable<Event> {\n private readonly callback$: Observable<Event>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(WINDOW) windowRef: Window,\n ) {\n super(subscriber => this.callback$.subscribe(subscriber));\n\n this.callback$ = defer(() => {\n const eventTargets: Array<Element | Window> = [windowRef, nativeElement];\n\n while (nativeElement.parentElement) {\n nativeElement = nativeElement.parentElement;\n eventTargets.push(nativeElement);\n }\n\n return merge<Event>(\n ...eventTargets.map<Observable<Event>>(element =>\n typedFromEvent(element, 'scroll'),\n ),\n );\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone, Self} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {getElementObscurers} from '@taiga-ui/cdk/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {\n delay,\n distinctUntilChanged,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\nimport {TuiParentsScrollService} from './parents-scroll.service';\n\n// @bad TODO: Consider Intersection Observer with fallback to current implementation\n/**\n * Service that monitors element visibility by subscribing to scrolls\n * and polling with set interval, returns either null or an array\n * of elements that overlap given element edges\n */\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Injectable()\nexport class TuiObscuredService extends Observable<null | ReadonlyArray<Element>> {\n private obscured$: Observable<null | ReadonlyArray<Element>>;\n\n constructor(\n @Inject(TuiParentsScrollService)\n @Self()\n parentsScroll$: TuiParentsScrollService,\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(WINDOW) windowRef: Window,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(subscriber => this.obscured$.subscribe(subscriber));\n\n this.obscured$ = merge(\n // delay is added so it will not interfere with other listeners\n merge(parentsScroll$, fromEvent(windowRef, 'resize')).pipe(delay(0)),\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n ).pipe(\n map(() => getElementObscurers(nativeElement)),\n startWith(null),\n distinctUntilChanged(),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise, repeat, switchMapTo, takeUntil} from 'rxjs/operators';\n\n/**\n * @dynamic\n */\n@Injectable()\nexport class TuiPanService extends Observable<readonly [number, number]> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}),\n typedFromEvent(nativeElement, 'mousedown'),\n )\n .pipe(\n switchMapTo(\n merge(\n typedFromEvent(nativeElement, 'touchmove', {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length < 2),\n map(({touches}) => touches[0]),\n ),\n typedFromEvent(nativeElement, 'mousemove'),\n ),\n ),\n pairwise(),\n map(([first, second]) => {\n const deltaX = second.clientX - first.clientX;\n const deltaY = second.clientY - first.clientY;\n\n return [deltaX, deltaY] as [number, number];\n }),\n takeUntil(\n merge(\n typedFromEvent(documentRef, 'touchend'),\n typedFromEvent(documentRef, 'mouseup'),\n ),\n ),\n repeat(),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {\n RESIZE_OBSERVER_SUPPORT,\n RESIZE_OPTION_BOX,\n ResizeObserverService,\n} from '@ng-web-apis/resize-observer';\nimport {EMPTY_ARRAY, POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {\n catchError,\n debounceTime,\n distinctUntilChanged,\n map,\n mapTo,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n// @dynamic\n@Injectable()\nexport class TuiResizeService extends ResizeObserverService {\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(RESIZE_OBSERVER_SUPPORT) support: boolean,\n @Inject(RESIZE_OPTION_BOX) box: ResizeObserverOptions['box'],\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(elementRef, ngZone, support, box);\n\n return this.pipe(\n catchError(() =>\n animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(\n () =>\n `${elementRef.nativeElement.clientWidth} ${elementRef.nativeElement.clientHeight}`,\n ),\n distinctUntilChanged(),\n mapTo(EMPTY_ARRAY),\n ),\n ),\n takeUntil(destroy$),\n debounceTime(0),\n tuiZonefree(ngZone),\n );\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {ANIMATION_FRAME, PERFORMANCE} from '@ng-web-apis/common';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {clamp} from '@taiga-ui/cdk/utils/math';\nimport {easeInOutQuad} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {defer, Observable, of, timer} from 'rxjs';\nimport {map, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nconst SCROLL_TIME = 300;\n\n// @dynamic\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiScrollService {\n constructor(\n @Inject(PERFORMANCE) private readonly performanceRef: Performance,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n ) {}\n\n scroll$(\n element: Element,\n scrollTop: number,\n scrollLeft: number = element.scrollLeft,\n duration: number = SCROLL_TIME,\n ): Observable<[number, number]> {\n tuiAssert.assert(duration >= 0, 'Duration cannot be negative');\n tuiAssert.assert(scrollTop >= 0, 'scrollTop cannot be negative');\n tuiAssert.assert(scrollLeft >= 0, 'scrollLeft cannot be negative');\n\n const initialTop = element.scrollTop;\n const initialLeft = element.scrollLeft;\n const deltaTop = scrollTop - initialTop;\n const deltaLeft = scrollLeft - initialLeft;\n const observable = !duration\n ? of([scrollTop, scrollLeft] as [number, number])\n : defer(() => of(this.performanceRef.now())).pipe(\n switchMap(start => this.animationFrame$.pipe(map(now => now - start))),\n takeUntil(timer(duration)),\n map(elapsed => easeInOutQuad(clamp(elapsed / duration, 0, 1))),\n map(\n percent =>\n [\n initialTop + deltaTop * percent,\n initialLeft + deltaLeft * percent,\n ] as [number, number],\n ),\n );\n\n return observable.pipe(\n tap(([scrollTop, scrollLeft]) => {\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }),\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Observer} from 'rxjs';\nimport {shareReplay} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiStaticRequestService {\n private cache = new Map<string, Observable<string>>();\n\n request(url: string): Observable<string> {\n const cache = this.cache.get(url);\n\n if (cache) {\n return cache;\n }\n\n const observable = new Observable((observer: Observer<string>) => {\n const xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n const response = xhr.responseType ? xhr.response : xhr.responseText;\n\n if (xhr.status === 200) {\n observer.next(response);\n observer.complete();\n } else {\n observer.error(response);\n }\n }\n };\n\n xhr.open('GET', url);\n xhr.send();\n\n return () => {\n xhr.abort();\n };\n });\n const piped = observable.pipe(shareReplay(1));\n\n this.cache.set(url, piped);\n\n return piped;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiSwipe, TuiSwipeOptions} from '@taiga-ui/cdk/interfaces';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_SWIPE_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {getSwipeDirection, isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise} from 'rxjs/operators';\n\n/**\n * @dynamic\n */\n@Injectable()\nexport class TuiSwipeService extends Observable<TuiSwipe> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(TUI_SWIPE_OPTIONS) {timeout, threshold}: TuiSwipeOptions,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}),\n typedFromEvent(documentRef, 'touchend'),\n )\n .pipe(\n pairwise(),\n filter(\n ([first, second]) =>\n !!first.touches.length &&\n first.touches[0].identifier ===\n second.changedTouches[0].identifier,\n ),\n map(([start, end]) => {\n const startX = start.touches[0].clientX;\n const startY = start.touches[0].clientY;\n const endX = end.changedTouches[0].clientX;\n const endY = end.changedTouches[0].clientY;\n\n const distanceX = startX - endX;\n const distanceY = startY - endY;\n const duration = end.timeStamp - start.timeStamp;\n\n if (\n (Math.abs(distanceX) > threshold ||\n Math.abs(distanceY) > threshold) &&\n duration < timeout\n ) {\n return {\n direction: getSwipeDirection(distanceX, distanceY),\n events: [start, end] as [TouchEvent, TouchEvent],\n };\n }\n\n return null;\n }),\n filter(isPresent),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiZoom, TuiZoomOptions} from '@taiga-ui/cdk/interfaces';\nimport {preventDefault, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_ZOOM_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {distanceBetweenTouches} from '@taiga-ui/cdk/utils';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, scan, switchMap, takeUntil} from 'rxjs/operators';\n\nconst TOUCH_SENSITIVITY = 0.01;\n\n// @dynamic\n@Injectable()\nexport class TuiZoomService extends Observable<TuiZoom> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TUI_ZOOM_OPTIONS) {wheelSensitivity}: TuiZoomOptions,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(\n filter(({touches}) => touches.length > 1),\n switchMap(startEvent =>\n typedFromEvent(nativeElement, 'touchmove', {\n passive: true,\n }).pipe(\n takeUntil(typedFromEvent(nativeElement, 'touchend')),\n scan(\n (prev, event) => {\n const distance = distanceBetweenTouches(event);\n\n return {\n event,\n distance,\n delta:\n (distance - prev.distance) *\n TOUCH_SENSITIVITY,\n };\n },\n {\n event: startEvent,\n distance: distanceBetweenTouches(startEvent),\n delta: 0,\n },\n ),\n map(({event, delta}) => {\n event.preventDefault();\n\n const clientX =\n (event.touches[0].clientX +\n event.touches[1].clientX) /\n 2;\n const clientY =\n (event.touches[0].clientY +\n event.touches[1].clientY) /\n 2;\n\n return {clientX, clientY, delta, event};\n }),\n ),\n ),\n ),\n typedFromEvent(nativeElement, 'wheel', {passive: false}).pipe(\n preventDefault(),\n map(wheel => ({\n clientX: wheel.clientX,\n clientY: wheel.clientY,\n delta: -wheel.deltaY * wheelSensitivity,\n event: wheel,\n })),\n ),\n ).subscribe(subscriber);\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/cdk/services/destroy.service.ts","ng://@taiga-ui/cdk/services/directive-styles.service.ts","ng://@taiga-ui/cdk/services/focus-visible.service.ts","ng://@taiga-ui/cdk/services/hovered.service.ts","ng://@taiga-ui/cdk/services/id.service.ts","ng://@taiga-ui/cdk/services/parents-scroll.service.ts","ng://@taiga-ui/cdk/services/obscured.service.ts","ng://@taiga-ui/cdk/services/pan.service.ts","ng://@taiga-ui/cdk/services/resize.service.ts","ng://@taiga-ui/cdk/services/scroll.service.ts","ng://@taiga-ui/cdk/services/static-request.service.ts","ng://@taiga-ui/cdk/services/swipe.service.ts","ng://@taiga-ui/cdk/services/zoom.service.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","TuiDestroyService","_super","ngOnDestroy","complete","Injectable","Subject","TuiDirectiveStylesService","documentRef","renderer","addStyle","styles","attribute","head","querySelector","style","createElement","setProperty","setAttribute","appendChild","Document","type","Inject","args","DOCUMENT","Renderer2","TUI_DEFAULT_RENDERER","providedIn","TuiFocusVisibleService","_a","changeDetectorRef","destroy$","nativeElement","_this","subscriber","focusVisible$","subscribe","focusVisibleObservable","pipe","watch","takeUntil","ElementRef","ChangeDetectorRef","Observable","TuiHoveredService","ngZone","documentEvents$","merge","typedFromEvent","capture","createHovered$","options","passive","switchMap","filter","event","contains","getActualTarget","tuiZoneOptimized","take","mapTo","startWith","distinctUntilChanged","NgZone","TuiIdService","generate","TuiIdService_1","autoId","Date","now","TuiParentsScrollService","windowRef","callback$","defer","eventTargets","parentElement","apply","concat","__spread","map","element","Window","WINDOW","TuiObscuredService","parentsScroll$","animationFrame$","obscured$","fromEvent","delay","throttleTime","POLLING_TIME","getElementObscurers","Self","ANIMATION_FRAME","TuiPanService","switchMapTo","touches","pairwise","_b","first","second","clientX","clientY","repeat","TuiResizeService","elementRef","support","box","catchError","clientWidth","clientHeight","EMPTY_ARRAY","debounceTime","tuiZonefree","RESIZE_OBSERVER_SUPPORT","RESIZE_OPTION_BOX","ResizeObserverService","TuiScrollService","performanceRef","scroll$","scrollTop","scrollLeft","duration","tuiAssert","assert","initialTop","initialLeft","deltaTop","deltaLeft","of","start","timer","elapsed","easeInOutQuad","clamp","percent","tap","Performance","PERFORMANCE","TuiStaticRequestService","cache","Map","request","url","get","piped","observer","xhr","XMLHttpRequest","onreadystatechange","readyState","response","responseType","responseText","status","open","send","abort","shareReplay","set","TuiSwipeService","timeout","threshold","identifier","changedTouches","end","startX","startY","distanceX","distanceY","timeStamp","Math","abs","direction","getSwipeDirection","events","isPresent","TUI_SWIPE_OPTIONS","TuiZoomService","wheelSensitivity","startEvent","scan","prev","distance","distanceBetweenTouches","delta","preventDefault","wheel","deltaY","TUI_ZOOM_OPTIONS"],"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 {Injectable, OnDestroy} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * Observable abstraction over ngOnDestroy to use with takeUntil\n */\n@Injectable()\nexport class TuiDestroyService extends Subject<void> implements OnDestroy {\n ngOnDestroy() {\n this.next();\n this.complete();\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, Renderer2} from '@angular/core';\nimport {TUI_DEFAULT_RENDERER} from '@taiga-ui/cdk/tokens';\n\n/**\n * Service to use styles with directives\n * @dynamic\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiDirectiveStylesService {\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_DEFAULT_RENDERER) private readonly renderer: Renderer2,\n ) {}\n\n addStyle(styles: string, attribute: string) {\n if (this.documentRef.head.querySelector(`style[${attribute}]`)) {\n return;\n }\n\n const style = this.renderer.createElement('style');\n\n this.renderer.setProperty(style, 'textContent', styles);\n this.renderer.setAttribute(style, attribute, '');\n this.documentRef.head.appendChild(style);\n }\n}\n","import {ChangeDetectorRef, ElementRef, Inject, Injectable} from '@angular/core';\nimport {focusVisibleObservable, watch} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n/**\n * Service to imitate :focus-visible\n * (https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible)\n * in browsers that do not support it\n * @dynamic\n */\n@Injectable()\nexport class TuiFocusVisibleService extends Observable<boolean> {\n private readonly focusVisible$: Observable<boolean>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n super(subscriber => this.focusVisible$.subscribe(subscriber));\n\n this.focusVisible$ = focusVisibleObservable(nativeElement).pipe(\n watch(changeDetectorRef),\n takeUntil(destroy$),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, NgZone} from '@angular/core';\nimport {tuiZoneOptimized, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {getActualTarget} from '@taiga-ui/cdk/utils/dom';\nimport {merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n mapTo,\n startWith,\n switchMap,\n take,\n} from 'rxjs/operators';\n\n// @dynamic\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiHoveredService {\n private readonly documentEvents$: Observable<Event>;\n\n constructor(\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(NgZone) private readonly ngZone: NgZone,\n ) {\n this.documentEvents$ = merge(\n typedFromEvent(documentRef, 'mousemove'),\n typedFromEvent(documentRef, 'touchstart', {capture: true}),\n );\n }\n\n createHovered$(\n target: Element,\n options: AddEventListenerOptions = {passive: true},\n ): Observable<boolean> {\n return merge(\n typedFromEvent(target, 'mouseenter', options),\n typedFromEvent(target, 'touchstart', options),\n ).pipe(\n switchMap(() =>\n merge(\n typedFromEvent(target, 'mouseleave', options),\n this.documentEvents$.pipe(\n filter(event => !target.contains(getActualTarget(event))),\n tuiZoneOptimized(this.ngZone),\n take(1),\n ),\n ).pipe(mapTo(false), startWith(true)),\n ),\n distinctUntilChanged(),\n );\n }\n}\n","import {Injectable} from '@angular/core';\n\nconst TUI = 'tui_';\n\n/**\n * Generates unique ids\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiIdService {\n private static autoId = 0;\n\n generate(): string {\n return `${TUI}${TuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {defer, merge, Observable} from 'rxjs';\n\n/**\n * Service that subscribes to scroll events of all parent elements\n */\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Injectable()\nexport class TuiParentsScrollService extends Observable<Event> {\n private readonly callback$: Observable<Event>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(WINDOW) windowRef: Window,\n ) {\n super(subscriber => this.callback$.subscribe(subscriber));\n\n this.callback$ = defer(() => {\n const eventTargets: Array<Element | Window> = [windowRef, nativeElement];\n\n while (nativeElement.parentElement) {\n nativeElement = nativeElement.parentElement;\n eventTargets.push(nativeElement);\n }\n\n return merge<Event>(\n ...eventTargets.map<Observable<Event>>(element =>\n typedFromEvent(element, 'scroll'),\n ),\n );\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone, Self} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {getElementObscurers} from '@taiga-ui/cdk/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {\n delay,\n distinctUntilChanged,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\nimport {TuiParentsScrollService} from './parents-scroll.service';\n\n// @bad TODO: Consider Intersection Observer with fallback to current implementation\n/**\n * Service that monitors element visibility by subscribing to scrolls\n * and polling with set interval, returns either null or an array\n * of elements that overlap given element edges\n */\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Injectable()\nexport class TuiObscuredService extends Observable<null | ReadonlyArray<Element>> {\n private obscured$: Observable<null | ReadonlyArray<Element>>;\n\n constructor(\n @Inject(TuiParentsScrollService)\n @Self()\n parentsScroll$: TuiParentsScrollService,\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(WINDOW) windowRef: Window,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(subscriber => this.obscured$.subscribe(subscriber));\n\n this.obscured$ = merge(\n // delay is added so it will not interfere with other listeners\n merge(parentsScroll$, fromEvent(windowRef, 'resize')).pipe(delay(0)),\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n ).pipe(\n map(() => getElementObscurers(nativeElement)),\n startWith(null),\n distinctUntilChanged(),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise, repeat, switchMapTo, takeUntil} from 'rxjs/operators';\n\n/**\n * @dynamic\n */\n@Injectable()\nexport class TuiPanService extends Observable<readonly [number, number]> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}),\n typedFromEvent(nativeElement, 'mousedown'),\n )\n .pipe(\n switchMapTo(\n merge(\n typedFromEvent(documentRef, 'touchmove', {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length < 2),\n map(({touches}) => touches[0]),\n ),\n typedFromEvent(documentRef, 'mousemove'),\n ),\n ),\n pairwise(),\n map(([first, second]) => {\n const deltaX = second.clientX - first.clientX;\n const deltaY = second.clientY - first.clientY;\n\n return [deltaX, deltaY] as [number, number];\n }),\n takeUntil(\n merge(\n typedFromEvent(documentRef, 'touchend'),\n typedFromEvent(documentRef, 'mouseup'),\n ),\n ),\n repeat(),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {\n RESIZE_OBSERVER_SUPPORT,\n RESIZE_OPTION_BOX,\n ResizeObserverService,\n} from '@ng-web-apis/resize-observer';\nimport {EMPTY_ARRAY, POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {\n catchError,\n debounceTime,\n distinctUntilChanged,\n map,\n mapTo,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n// @dynamic\n@Injectable()\nexport class TuiResizeService extends ResizeObserverService {\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(RESIZE_OBSERVER_SUPPORT) support: boolean,\n @Inject(RESIZE_OPTION_BOX) box: ResizeObserverOptions['box'],\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(elementRef, ngZone, support, box);\n\n return this.pipe(\n catchError(() =>\n animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(\n () =>\n `${elementRef.nativeElement.clientWidth} ${elementRef.nativeElement.clientHeight}`,\n ),\n distinctUntilChanged(),\n mapTo(EMPTY_ARRAY),\n ),\n ),\n takeUntil(destroy$),\n debounceTime(0),\n tuiZonefree(ngZone),\n );\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {ANIMATION_FRAME, PERFORMANCE} from '@ng-web-apis/common';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {clamp} from '@taiga-ui/cdk/utils/math';\nimport {easeInOutQuad} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {defer, Observable, of, timer} from 'rxjs';\nimport {map, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nconst SCROLL_TIME = 300;\n\n// @dynamic\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiScrollService {\n constructor(\n @Inject(PERFORMANCE) private readonly performanceRef: Performance,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n ) {}\n\n scroll$(\n element: Element,\n scrollTop: number,\n scrollLeft: number = element.scrollLeft,\n duration: number = SCROLL_TIME,\n ): Observable<[number, number]> {\n tuiAssert.assert(duration >= 0, 'Duration cannot be negative');\n tuiAssert.assert(scrollTop >= 0, 'scrollTop cannot be negative');\n tuiAssert.assert(scrollLeft >= 0, 'scrollLeft cannot be negative');\n\n const initialTop = element.scrollTop;\n const initialLeft = element.scrollLeft;\n const deltaTop = scrollTop - initialTop;\n const deltaLeft = scrollLeft - initialLeft;\n const observable = !duration\n ? of([scrollTop, scrollLeft] as [number, number])\n : defer(() => of(this.performanceRef.now())).pipe(\n switchMap(start => this.animationFrame$.pipe(map(now => now - start))),\n takeUntil(timer(duration)),\n map(elapsed => easeInOutQuad(clamp(elapsed / duration, 0, 1))),\n map(\n percent =>\n [\n initialTop + deltaTop * percent,\n initialLeft + deltaLeft * percent,\n ] as [number, number],\n ),\n );\n\n return observable.pipe(\n tap(([scrollTop, scrollLeft]) => {\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }),\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Observer} from 'rxjs';\nimport {shareReplay} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiStaticRequestService {\n private cache = new Map<string, Observable<string>>();\n\n request(url: string): Observable<string> {\n const cache = this.cache.get(url);\n\n if (cache) {\n return cache;\n }\n\n const observable = new Observable((observer: Observer<string>) => {\n const xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n const response = xhr.responseType ? xhr.response : xhr.responseText;\n\n if (xhr.status === 200) {\n observer.next(response);\n observer.complete();\n } else {\n observer.error(response);\n }\n }\n };\n\n xhr.open('GET', url);\n xhr.send();\n\n return () => {\n xhr.abort();\n };\n });\n const piped = observable.pipe(shareReplay(1));\n\n this.cache.set(url, piped);\n\n return piped;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiSwipe, TuiSwipeOptions} from '@taiga-ui/cdk/interfaces';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_SWIPE_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {getSwipeDirection, isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise} from 'rxjs/operators';\n\n/**\n * @dynamic\n */\n@Injectable()\nexport class TuiSwipeService extends Observable<TuiSwipe> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(TUI_SWIPE_OPTIONS) {timeout, threshold}: TuiSwipeOptions,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}),\n typedFromEvent(documentRef, 'touchend'),\n )\n .pipe(\n pairwise(),\n filter(\n ([first, second]) =>\n !!first.touches.length &&\n first.touches[0].identifier ===\n second.changedTouches[0].identifier,\n ),\n map(([start, end]) => {\n const startX = start.touches[0].clientX;\n const startY = start.touches[0].clientY;\n const endX = end.changedTouches[0].clientX;\n const endY = end.changedTouches[0].clientY;\n\n const distanceX = startX - endX;\n const distanceY = startY - endY;\n const duration = end.timeStamp - start.timeStamp;\n\n if (\n (Math.abs(distanceX) > threshold ||\n Math.abs(distanceY) > threshold) &&\n duration < timeout\n ) {\n return {\n direction: getSwipeDirection(distanceX, distanceY),\n events: [start, end] as [TouchEvent, TouchEvent],\n };\n }\n\n return null;\n }),\n filter(isPresent),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiZoom, TuiZoomOptions} from '@taiga-ui/cdk/interfaces';\nimport {preventDefault, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_ZOOM_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {distanceBetweenTouches} from '@taiga-ui/cdk/utils';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, scan, switchMap, takeUntil} from 'rxjs/operators';\n\nconst TOUCH_SENSITIVITY = 0.01;\n\n// @dynamic\n@Injectable()\nexport class TuiZoomService extends Observable<TuiZoom> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TUI_ZOOM_OPTIONS) {wheelSensitivity}: TuiZoomOptions,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(\n filter(({touches}) => touches.length > 1),\n switchMap(startEvent =>\n typedFromEvent(nativeElement, 'touchmove', {\n passive: true,\n }).pipe(\n takeUntil(typedFromEvent(nativeElement, 'touchend')),\n scan(\n (prev, event) => {\n const distance = distanceBetweenTouches(event);\n\n return {\n event,\n distance,\n delta:\n (distance - prev.distance) *\n TOUCH_SENSITIVITY,\n };\n },\n {\n event: startEvent,\n distance: distanceBetweenTouches(startEvent),\n delta: 0,\n },\n ),\n map(({event, delta}) => {\n event.preventDefault();\n\n const clientX =\n (event.touches[0].clientX +\n event.touches[1].clientX) /\n 2;\n const clientY =\n (event.touches[0].clientY +\n event.touches[1].clientY) /\n 2;\n\n return {clientX, clientY, delta, event};\n }),\n ),\n ),\n ),\n typedFromEvent(nativeElement, 'wheel', {passive: false}).pipe(\n preventDefault(),\n map(wheel => ({\n clientX: wheel.clientX,\n clientY: wheel.clientY,\n delta: -wheel.deltaY * wheelSensitivity,\n event: wheel,\n })),\n ),\n ).subscribe(subscriber);\n });\n }\n}\n"]}
@@ -7,6 +7,20 @@ export declare class TuiDayRange extends TuiMonthRange {
7
7
  readonly from: TuiDay;
8
8
  readonly to: TuiDay;
9
9
  constructor(from: TuiDay, to: TuiDay);
10
+ /**
11
+ * Creates range from two days after sorting them
12
+ *
13
+ * @param day1
14
+ * @param day2
15
+ * @return new range with sorted days
16
+ */
17
+ static sort(day1: TuiDay, day2: TuiDay): TuiDayRange;
18
+ /**
19
+ * @deprecated
20
+ * TODO rm deprecated version in v3.0
21
+ */
22
+ static normalizeParse(rangeString: string, dateFiller: string, dateRangeFiller: string): TuiDayRange;
23
+ static normalizeParse(rangeString: string): TuiDayRange;
10
24
  get isSingleDay(): boolean;
11
25
  /**
12
26
  * Human readable format.
@@ -27,18 +41,4 @@ export declare class TuiDayRange extends TuiMonthRange {
27
41
  * @return range — clamped range
28
42
  */
29
43
  dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDayRange;
30
- /**
31
- * Creates range from two days after sorting them
32
- *
33
- * @param day1
34
- * @param day2
35
- * @return new range with sorted days
36
- */
37
- static sort(day1: TuiDay, day2: TuiDay): TuiDayRange;
38
- /**
39
- * @deprecated
40
- * TODO rm deprecated version in v3.0
41
- */
42
- static normalizeParse(rangeString: string, dateFiller: string, dateRangeFiller: string): TuiDayRange;
43
- static normalizeParse(rangeString: string): TuiDayRange;
44
44
  }
@@ -6,6 +6,63 @@ import { TuiMonth } from './month';
6
6
  export declare class TuiDay extends TuiMonth {
7
7
  readonly day: number;
8
8
  constructor(year: number, month: number, day: number);
9
+ /**
10
+ * Creates {@link TuiDay} from native {@link Date} based on local time zone
11
+ */
12
+ static fromLocalNativeDate(date: Date): TuiDay;
13
+ /**
14
+ * Creates {@link TuiDay} from native {@link Date} using UTC
15
+ */
16
+ static fromUtcNativeDate(date: Date): TuiDay;
17
+ /**
18
+ * Check validity of year, month and day
19
+ *
20
+ * @param year
21
+ * @param month
22
+ * @param day
23
+ * @return boolean validity
24
+ */
25
+ static isValidDay(year: number, month: number, day: number): boolean;
26
+ /**
27
+ * @deprecated DONT USE IT (will be deleted soon)
28
+ *
29
+ * Calculated day on a calendar grid
30
+ *
31
+ * @param month
32
+ * @param row row in a calendar
33
+ * @param col column in a calendar
34
+ * @return resulting day on these coordinates (could exceed passed month)
35
+ */
36
+ static getDayFromMonthRowCol(month: TuiMonth, row: number, col: number): TuiDay;
37
+ /**
38
+ * Current day based on local time zone
39
+ */
40
+ static currentLocal(): TuiDay;
41
+ /**
42
+ * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.
43
+ *
44
+ * @param year any year value, including invalid
45
+ * @param month any month value, including invalid (months start with 0)
46
+ * @param day any day value, including invalid
47
+ * @return normalized date
48
+ */
49
+ static normalizeOf(year: number, month: number, day: number): TuiDay;
50
+ static lengthBetween(from: TuiDay, to: TuiDay): number;
51
+ /**
52
+ * Parsing a string with date with normalization
53
+ *
54
+ * @param yearMonthDayString date string in format of DD.MM.Yyyy
55
+ * @return normalized date
56
+ */
57
+ static normalizeParse(yearMonthDayString: string): TuiDay;
58
+ /**
59
+ * Parsing a date stringified in a toJSON format
60
+ * @param yearMonthDayString date string in format of YYYY-MM-DD
61
+ * @return date
62
+ * @throws exceptions if any part of the date is invalid
63
+ */
64
+ static jsonParse(yearMonthDayString: string): TuiDay;
65
+ protected static normalizeDayPart(day: number, month: number, year: number): number;
9
66
  get formattedDayPart(): string;
10
67
  /**
11
68
  * Formatted whole date
@@ -69,61 +126,4 @@ export declare class TuiDay extends TuiMonth {
69
126
  * Returns native {@link Date} based on UTC
70
127
  */
71
128
  toUtcNativeDate(): Date;
72
- /**
73
- * Creates {@link TuiDay} from native {@link Date} based on local time zone
74
- */
75
- static fromLocalNativeDate(date: Date): TuiDay;
76
- /**
77
- * Creates {@link TuiDay} from native {@link Date} using UTC
78
- */
79
- static fromUtcNativeDate(date: Date): TuiDay;
80
- /**
81
- * Check validity of year, month and day
82
- *
83
- * @param year
84
- * @param month
85
- * @param day
86
- * @return boolean validity
87
- */
88
- static isValidDay(year: number, month: number, day: number): boolean;
89
- /**
90
- * @deprecated DONT USE IT (will be deleted soon)
91
- *
92
- * Calculated day on a calendar grid
93
- *
94
- * @param month
95
- * @param row row in a calendar
96
- * @param col column in a calendar
97
- * @return resulting day on these coordinates (could exceed passed month)
98
- */
99
- static getDayFromMonthRowCol(month: TuiMonth, row: number, col: number): TuiDay;
100
- /**
101
- * Current day based on local time zone
102
- */
103
- static currentLocal(): TuiDay;
104
- /**
105
- * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.
106
- *
107
- * @param year any year value, including invalid
108
- * @param month any month value, including invalid (months start with 0)
109
- * @param day any day value, including invalid
110
- * @return normalized date
111
- */
112
- static normalizeOf(year: number, month: number, day: number): TuiDay;
113
- static lengthBetween(from: TuiDay, to: TuiDay): number;
114
- /**
115
- * Parsing a string with date with normalization
116
- *
117
- * @param yearMonthDayString date string in format of DD.MM.Yyyy
118
- * @return normalized date
119
- */
120
- static normalizeParse(yearMonthDayString: string): TuiDay;
121
- /**
122
- * Parsing a date stringified in a toJSON format
123
- * @param yearMonthDayString date string in format of YYYY-MM-DD
124
- * @return date
125
- * @throws exceptions if any part of the date is invalid
126
- */
127
- static jsonParse(yearMonthDayString: string): TuiDay;
128
- protected static normalizeDayPart(day: number, month: number, year: number): number;
129
129
  }
@@ -6,9 +6,9 @@ export declare class TuiMonthRange {
6
6
  readonly from: TuiMonth;
7
7
  readonly to: TuiMonth;
8
8
  constructor(from: TuiMonth, to: TuiMonth);
9
+ static sort(month1: TuiMonth, month2: TuiMonth): TuiMonthRange;
9
10
  get isSingleMonth(): boolean;
10
11
  get formattedMonthRange(): string;
11
12
  monthSame(another: TuiMonthRange): boolean;
12
13
  toString(): string;
13
- static sort(month1: TuiMonth, month2: TuiMonth): TuiMonthRange;
14
14
  }
@@ -10,6 +10,32 @@ export declare class TuiMonth extends TuiYear implements TuiMonthLike {
10
10
  * @param month (starting with 0)
11
11
  */
12
12
  constructor(year: number, month: number);
13
+ /**
14
+ * Tests month and year for validity
15
+ */
16
+ static isValidMonth(year: number, month: number): boolean;
17
+ /**
18
+ * Returns number of days in a month
19
+ */
20
+ static getMonthDaysCount(month: number, isLeapYear: boolean): number;
21
+ /**
22
+ * Returns current month and year based on local time zone
23
+ * @nosideeffects
24
+ */
25
+ static currentLocal(): TuiMonth;
26
+ /**
27
+ * Returns current month and year based on UTC
28
+ */
29
+ static currentUtc(): TuiMonth;
30
+ static lengthBetween(from: TuiMonth, to: TuiMonth): number;
31
+ /**
32
+ * Normalizes number by clamping it between min and max month
33
+ */
34
+ protected static normalizeMonthPart(month: number): number;
35
+ /**
36
+ * Tests month for validity
37
+ */
38
+ private static isValidMonthPart;
13
39
  get formattedMonthPart(): string;
14
40
  /**
15
41
  * Formatter month and year
@@ -69,30 +95,4 @@ export declare class TuiMonth extends TuiYear implements TuiMonthLike {
69
95
  * Returns native {@link Date} based on UTC
70
96
  */
71
97
  toUtcNativeDate(): Date;
72
- /**
73
- * Tests month and year for validity
74
- */
75
- static isValidMonth(year: number, month: number): boolean;
76
- /**
77
- * Returns number of days in a month
78
- */
79
- static getMonthDaysCount(month: number, isLeapYear: boolean): number;
80
- /**
81
- * Returns current month and year based on local time zone
82
- * @nosideeffects
83
- */
84
- static currentLocal(): TuiMonth;
85
- /**
86
- * Returns current month and year based on UTC
87
- */
88
- static currentUtc(): TuiMonth;
89
- static lengthBetween(from: TuiMonth, to: TuiMonth): number;
90
- /**
91
- * Normalizes number by clamping it between min and max month
92
- */
93
- protected static normalizeMonthPart(month: number): number;
94
- /**
95
- * Tests month for validity
96
- */
97
- private static isValidMonthPart;
98
98
  }