@taiga-ui/addon-mobile 2.27.1 → 2.28.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.
@@ -231,18 +231,18 @@
231
231
  cdk.TuiDestroyService,
232
232
  {
233
233
  provide: TUI_RIPPLE_START,
234
- deps: [cdk.TUI_IS_ANDROID, core.ElementRef, core.Renderer2],
234
+ deps: [cdk.TUI_TOUCH_SUPPORTED, cdk.TUI_IS_IOS, core.ElementRef, core.Renderer2],
235
235
  useFactory: rippleStartFactory,
236
236
  },
237
237
  {
238
238
  provide: TUI_RIPPLE_END,
239
- deps: [cdk.TUI_IS_ANDROID, core.ElementRef, cdk.TuiDestroyService],
239
+ deps: [cdk.TUI_TOUCH_SUPPORTED, cdk.TUI_IS_IOS, core.ElementRef, cdk.TuiDestroyService],
240
240
  useFactory: rippleEndFactory,
241
241
  },
242
242
  ];
243
- function rippleStartFactory(isAndroid, _a, renderer) {
243
+ function rippleStartFactory(touchSupported, isIOS, _a, renderer) {
244
244
  var nativeElement = _a.nativeElement;
245
- return !isAndroid
245
+ return isIOS || !touchSupported
246
246
  ? rxjs.EMPTY
247
247
  : cdk.typedFromEvent(nativeElement, 'touchstart').pipe(operators.map(function (_a) {
248
248
  var touches = _a.touches;
@@ -258,9 +258,9 @@
258
258
  return ripple;
259
259
  }));
260
260
  }
261
- function rippleEndFactory(isAndroid, _a, destroy$) {
261
+ function rippleEndFactory(touchSupported, isIOS, _a, destroy$) {
262
262
  var nativeElement = _a.nativeElement;
263
- return !isAndroid
263
+ return isIOS || !touchSupported
264
264
  ? rxjs.EMPTY
265
265
  : cdk.typedFromEvent(nativeElement, 'animationend').pipe(operators.filter(function (_a) {
266
266
  var animationName = _a.animationName;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.providers.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.directive.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.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 {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n isPresent,\n TUI_IS_ANDROID,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = 'tuiRippleOn';\nexport const RIPPLE_OFF = 'tuiRippleOff';\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to add',\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to remove',\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_IS_ANDROID, ElementRef, Renderer2],\n useFactory: rippleStartFactory,\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_IS_ANDROID, ElementRef, TuiDestroyService],\n useFactory: rippleEndFactory,\n },\n];\n\nexport function rippleStartFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n): Observable<HTMLElement> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(nativeElement, 'touchstart').pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement('div');\n\n renderer.addClass(ripple, 'tui-ripple');\n renderer.setAttribute(\n ripple,\n 'style',\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n}\n\nexport function rippleEndFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n): Observable<EventTarget> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(nativeElement, 'animationend').pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(isPresent),\n takeUntil(destroy$),\n );\n}\n","import {Directive, ElementRef, Inject, Input, Renderer2} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {\n mapTo,\n mergeMap,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n RIPPLE_ON,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\n\nconst TOUCH_MOVE_DELAY = 100;\nconst STYLE = `\n@keyframes ${RIPPLE_ON} {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes ${RIPPLE_OFF} {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n`;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiRippleDirective');\n\n const touchEnd$ = typedFromEvent(nativeElement, 'touchend');\n const touchMove$ = typedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = typedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race<unknown>(\n touchEnd$.pipe(switchMapTo(animationEndOn$)),\n animationEndOn$.pipe(switchMapTo(touchEnd$)),\n ),\n ),\n mapTo(ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\n\n@NgModule({\n declarations: [TuiRippleDirective],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n"],"names":["InjectionToken","TuiDestroyService","TUI_IS_ANDROID","ElementRef","Renderer2","EMPTY","typedFromEvent","map","filter","isPresent","takeUntil","mergeMap","race","timer","mapTo","take","tap","switchMap","switchMapTo","Inject","TuiDirectiveStylesService","Observable","Input","Directive","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.providers.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.directive.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.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 {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n isPresent,\n TUI_IS_IOS,\n TUI_TOUCH_SUPPORTED,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = 'tuiRippleOn';\nexport const RIPPLE_OFF = 'tuiRippleOff';\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to add',\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to remove',\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],\n useFactory: rippleStartFactory,\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],\n useFactory: rippleEndFactory,\n },\n];\n\nexport function rippleStartFactory(\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n): Observable<HTMLElement> {\n return isIOS || !touchSupported\n ? EMPTY\n : typedFromEvent(nativeElement, 'touchstart').pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement('div');\n\n renderer.addClass(ripple, 'tui-ripple');\n renderer.setAttribute(\n ripple,\n 'style',\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n}\n\nexport function rippleEndFactory(\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n): Observable<EventTarget> {\n return isIOS || !touchSupported\n ? EMPTY\n : typedFromEvent(nativeElement, 'animationend').pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(isPresent),\n takeUntil(destroy$),\n );\n}\n","import {Directive, ElementRef, Inject, Input, Renderer2} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {\n mapTo,\n mergeMap,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n RIPPLE_ON,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\n\nconst TOUCH_MOVE_DELAY = 100;\nconst STYLE = `\n@keyframes ${RIPPLE_ON} {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes ${RIPPLE_OFF} {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n`;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiRippleDirective');\n\n const touchEnd$ = typedFromEvent(nativeElement, 'touchend');\n const touchMove$ = typedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = typedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race<unknown>(\n touchEnd$.pipe(switchMapTo(animationEndOn$)),\n animationEndOn$.pipe(switchMapTo(touchEnd$)),\n ),\n ),\n mapTo(ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\n\n@NgModule({\n declarations: [TuiRippleDirective],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n"],"names":["InjectionToken","TuiDestroyService","TUI_TOUCH_SUPPORTED","TUI_IS_IOS","ElementRef","Renderer2","EMPTY","typedFromEvent","map","filter","isPresent","takeUntil","mergeMap","race","timer","mapTo","take","tap","switchMap","switchMapTo","Inject","TuiDirectiveStylesService","Observable","Input","Directive","NgModule"],"mappings":"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"}
@@ -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
- ***************************************************************************** */function o(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var p=e.length-1;p>=0;p--)(r=e[p])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}function a(e,t){return function(n,i){t(n,i,e)}}var p=new t.InjectionToken("Stream of ripple elements to add"),c=new t.InjectionToken("Stream of ripple elements to remove"),u=[n.TuiDestroyService,{provide:p,deps:[n.TUI_IS_ANDROID,t.ElementRef,t.Renderer2],useFactory:s},{provide:c,deps:[n.TUI_IS_ANDROID,t.ElementRef,n.TuiDestroyService],useFactory:l}];function s(e,t,o){var a=t.nativeElement;return e?n.typedFromEvent(a,"touchstart").pipe(r.map((function(e){var t=e.touches,n=t[t.length-1],i=n.clientX,r=n.clientY,p=a.getBoundingClientRect(),c=p.width,u=p.height,s=p.top,l=p.left,d=Math.sqrt(c*c+u*u),f=2*d,m=i-l-d,v=r-s-d,y=o.createElement("div");return o.addClass(y,"tui-ripple"),o.setAttribute(y,"style","\n width: "+f+"px;\n height: "+f+"px;\n left: "+m+"px;\n top: "+v+"px;\n animation-name: tuiRippleOn;\n "),y}))):i.EMPTY}function l(e,t,o){var a=t.nativeElement;return e?n.typedFromEvent(a,"animationend").pipe(r.filter((function(e){return"tuiRippleOff"===e.animationName})),r.map((function(e){return e.target})),r.filter(n.isPresent),r.takeUntil(o)):i.EMPTY}var d=function(){function e(e,t,o,a,p,c){var u=this,s=e.nativeElement;t.addStyle("\n@keyframes tuiRippleOn {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes tuiRippleOff {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n","TuiRippleDirective");var l=n.typedFromEvent(s,"touchend"),d=n.typedFromEvent(s,"touchmove");c.subscribe((function(e){o.removeChild(s,e)})),p.pipe(r.mergeMap((function(e){var t=n.typedFromEvent(e,"animationend");return i.race(i.timer(100).pipe(r.mapTo(!1)),l.pipe(r.mapTo(!0))).pipe(r.take(1),r.takeUntil(d),r.tap((function(){o.setStyle(e,"background",u.tuiRipple||null),o.appendChild(s,e)})),r.switchMap((function(e){return e?t:i.race(l.pipe(r.switchMapTo(t)),t.pipe(r.switchMapTo(l)))})),r.mapTo(e))})),r.takeUntil(a)).subscribe((function(e){o.setStyle(e,"animationName","tuiRippleOff")}))}return e.ctorParameters=function(){return[{type:t.ElementRef,decorators:[{type:t.Inject,args:[t.ElementRef]}]},{type:n.TuiDirectiveStylesService,decorators:[{type:t.Inject,args:[n.TuiDirectiveStylesService]}]},{type:t.Renderer2,decorators:[{type:t.Inject,args:[t.Renderer2]}]},{type:n.TuiDestroyService,decorators:[{type:t.Inject,args:[n.TuiDestroyService]}]},{type:i.Observable,decorators:[{type:t.Inject,args:[p]}]},{type:i.Observable,decorators:[{type:t.Inject,args:[c]}]}]},o([t.Input()],e.prototype,"tuiRipple",void 0),e=o([t.Directive({selector:"[tuiRipple]",providers:u}),a(0,t.Inject(t.ElementRef)),a(1,t.Inject(n.TuiDirectiveStylesService)),a(2,t.Inject(t.Renderer2)),a(3,t.Inject(n.TuiDestroyService)),a(4,t.Inject(p)),a(5,t.Inject(c))],e)}(),f=function(){function e(){}return e=o([t.NgModule({declarations:[d],exports:[d]})],e)}();e.RIPPLE_OFF="tuiRippleOff",e.RIPPLE_ON="tuiRippleOn",e.TUI_RIPPLE_END=c,e.TUI_RIPPLE_PROVIDERS=u,e.TUI_RIPPLE_START=p,e.TuiRippleDirective=d,e.TuiRippleModule=f,e.rippleEndFactory=l,e.rippleStartFactory=s,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */function o(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var p=e.length-1;p>=0;p--)(r=e[p])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}function a(e,t){return function(n,i){t(n,i,e)}}var p=new t.InjectionToken("Stream of ripple elements to add"),c=new t.InjectionToken("Stream of ripple elements to remove"),u=[n.TuiDestroyService,{provide:p,deps:[n.TUI_TOUCH_SUPPORTED,n.TUI_IS_IOS,t.ElementRef,t.Renderer2],useFactory:s},{provide:c,deps:[n.TUI_TOUCH_SUPPORTED,n.TUI_IS_IOS,t.ElementRef,n.TuiDestroyService],useFactory:l}];function s(e,t,o,a){var p=o.nativeElement;return t||!e?i.EMPTY:n.typedFromEvent(p,"touchstart").pipe(r.map((function(e){var t=e.touches,n=t[t.length-1],i=n.clientX,r=n.clientY,o=p.getBoundingClientRect(),c=o.width,u=o.height,s=o.top,l=o.left,d=Math.sqrt(c*c+u*u),f=2*d,m=i-l-d,v=r-s-d,y=a.createElement("div");return a.addClass(y,"tui-ripple"),a.setAttribute(y,"style","\n width: "+f+"px;\n height: "+f+"px;\n left: "+m+"px;\n top: "+v+"px;\n animation-name: tuiRippleOn;\n "),y})))}function l(e,t,o,a){var p=o.nativeElement;return t||!e?i.EMPTY:n.typedFromEvent(p,"animationend").pipe(r.filter((function(e){return"tuiRippleOff"===e.animationName})),r.map((function(e){return e.target})),r.filter(n.isPresent),r.takeUntil(a))}var d=function(){function e(e,t,o,a,p,c){var u=this,s=e.nativeElement;t.addStyle("\n@keyframes tuiRippleOn {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes tuiRippleOff {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n","TuiRippleDirective");var l=n.typedFromEvent(s,"touchend"),d=n.typedFromEvent(s,"touchmove");c.subscribe((function(e){o.removeChild(s,e)})),p.pipe(r.mergeMap((function(e){var t=n.typedFromEvent(e,"animationend");return i.race(i.timer(100).pipe(r.mapTo(!1)),l.pipe(r.mapTo(!0))).pipe(r.take(1),r.takeUntil(d),r.tap((function(){o.setStyle(e,"background",u.tuiRipple||null),o.appendChild(s,e)})),r.switchMap((function(e){return e?t:i.race(l.pipe(r.switchMapTo(t)),t.pipe(r.switchMapTo(l)))})),r.mapTo(e))})),r.takeUntil(a)).subscribe((function(e){o.setStyle(e,"animationName","tuiRippleOff")}))}return e.ctorParameters=function(){return[{type:t.ElementRef,decorators:[{type:t.Inject,args:[t.ElementRef]}]},{type:n.TuiDirectiveStylesService,decorators:[{type:t.Inject,args:[n.TuiDirectiveStylesService]}]},{type:t.Renderer2,decorators:[{type:t.Inject,args:[t.Renderer2]}]},{type:n.TuiDestroyService,decorators:[{type:t.Inject,args:[n.TuiDestroyService]}]},{type:i.Observable,decorators:[{type:t.Inject,args:[p]}]},{type:i.Observable,decorators:[{type:t.Inject,args:[c]}]}]},o([t.Input()],e.prototype,"tuiRipple",void 0),e=o([t.Directive({selector:"[tuiRipple]",providers:u}),a(0,t.Inject(t.ElementRef)),a(1,t.Inject(n.TuiDirectiveStylesService)),a(2,t.Inject(t.Renderer2)),a(3,t.Inject(n.TuiDestroyService)),a(4,t.Inject(p)),a(5,t.Inject(c))],e)}(),f=function(){function e(){}return e=o([t.NgModule({declarations:[d],exports:[d]})],e)}();e.RIPPLE_OFF="tuiRippleOff",e.RIPPLE_ON="tuiRippleOn",e.TUI_RIPPLE_END=c,e.TUI_RIPPLE_PROVIDERS=u,e.TUI_RIPPLE_START=p,e.TuiRippleDirective=d,e.TuiRippleModule=f,e.rippleEndFactory=l,e.rippleStartFactory=s,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=taiga-ui-addon-mobile-directives-ripple.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.providers.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.directive.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.module.ts"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","TUI_RIPPLE_START","InjectionToken","TUI_RIPPLE_END","TUI_RIPPLE_PROVIDERS","TuiDestroyService","provide","deps","TUI_IS_ANDROID","ElementRef","Renderer2","useFactory","rippleStartFactory","rippleEndFactory","isAndroid","_a","renderer","nativeElement","typedFromEvent","pipe","map","touches","_b","clientX","clientY","_c","getBoundingClientRect","width","height","top","left","radius","Math","sqrt","dimension","x","y","ripple","createElement","addClass","setAttribute","EMPTY","destroy$","filter","animationName","isPresent","takeUntil","TuiRippleDirective","directiveStyles","start$","end$","_this","this","addStyle","touchEnd$","touchMove$","subscribe","element","removeChild","mergeMap","animationEndOn$","race","timer","mapTo","take","tap","setStyle","tuiRipple","appendChild","switchMap","isTap","switchMapTo","type","Inject","args","TuiDirectiveStylesService","Observable","Input","Directive","selector","providers","TuiRippleModule","NgModule","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 {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n isPresent,\n TUI_IS_ANDROID,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = 'tuiRippleOn';\nexport const RIPPLE_OFF = 'tuiRippleOff';\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to add',\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to remove',\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_IS_ANDROID, ElementRef, Renderer2],\n useFactory: rippleStartFactory,\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_IS_ANDROID, ElementRef, TuiDestroyService],\n useFactory: rippleEndFactory,\n },\n];\n\nexport function rippleStartFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n): Observable<HTMLElement> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(nativeElement, 'touchstart').pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement('div');\n\n renderer.addClass(ripple, 'tui-ripple');\n renderer.setAttribute(\n ripple,\n 'style',\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n}\n\nexport function rippleEndFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n): Observable<EventTarget> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(nativeElement, 'animationend').pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(isPresent),\n takeUntil(destroy$),\n );\n}\n","import {Directive, ElementRef, Inject, Input, Renderer2} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {\n mapTo,\n mergeMap,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n RIPPLE_ON,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\n\nconst TOUCH_MOVE_DELAY = 100;\nconst STYLE = `\n@keyframes ${RIPPLE_ON} {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes ${RIPPLE_OFF} {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n`;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiRippleDirective');\n\n const touchEnd$ = typedFromEvent(nativeElement, 'touchend');\n const touchMove$ = typedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = typedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race<unknown>(\n touchEnd$.pipe(switchMapTo(animationEndOn$)),\n animationEndOn$.pipe(switchMapTo(touchEnd$)),\n ),\n ),\n mapTo(ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\n\n@NgModule({\n declarations: [TuiRippleDirective],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.providers.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.directive.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.module.ts"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","TUI_RIPPLE_START","InjectionToken","TUI_RIPPLE_END","TUI_RIPPLE_PROVIDERS","TuiDestroyService","provide","deps","TUI_TOUCH_SUPPORTED","TUI_IS_IOS","ElementRef","Renderer2","useFactory","rippleStartFactory","rippleEndFactory","touchSupported","isIOS","_a","renderer","nativeElement","EMPTY","typedFromEvent","pipe","map","touches","_b","clientX","clientY","_c","getBoundingClientRect","width","height","top","left","radius","Math","sqrt","dimension","x","y","ripple","createElement","addClass","setAttribute","destroy$","filter","animationName","isPresent","takeUntil","TuiRippleDirective","directiveStyles","start$","end$","_this","this","addStyle","touchEnd$","touchMove$","subscribe","element","removeChild","mergeMap","animationEndOn$","race","timer","mapTo","take","tap","setStyle","tuiRipple","appendChild","switchMap","isTap","switchMapTo","type","Inject","args","TuiDirectiveStylesService","Observable","Input","Directive","selector","providers","TuiRippleModule","NgModule","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 {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n isPresent,\n TUI_IS_IOS,\n TUI_TOUCH_SUPPORTED,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = 'tuiRippleOn';\nexport const RIPPLE_OFF = 'tuiRippleOff';\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to add',\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to remove',\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],\n useFactory: rippleStartFactory,\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],\n useFactory: rippleEndFactory,\n },\n];\n\nexport function rippleStartFactory(\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n): Observable<HTMLElement> {\n return isIOS || !touchSupported\n ? EMPTY\n : typedFromEvent(nativeElement, 'touchstart').pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement('div');\n\n renderer.addClass(ripple, 'tui-ripple');\n renderer.setAttribute(\n ripple,\n 'style',\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n}\n\nexport function rippleEndFactory(\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n): Observable<EventTarget> {\n return isIOS || !touchSupported\n ? EMPTY\n : typedFromEvent(nativeElement, 'animationend').pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(isPresent),\n takeUntil(destroy$),\n );\n}\n","import {Directive, ElementRef, Inject, Input, Renderer2} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {\n mapTo,\n mergeMap,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n RIPPLE_ON,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\n\nconst TOUCH_MOVE_DELAY = 100;\nconst STYLE = `\n@keyframes ${RIPPLE_ON} {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes ${RIPPLE_OFF} {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n`;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiRippleDirective');\n\n const touchEnd$ = typedFromEvent(nativeElement, 'touchend');\n const touchMove$ = typedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = typedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race<unknown>(\n touchEnd$.pipe(switchMapTo(animationEndOn$)),\n animationEndOn$.pipe(switchMapTo(touchEnd$)),\n ),\n ),\n mapTo(ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\n\n@NgModule({\n declarations: [TuiRippleDirective],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n"]}
@@ -5,5 +5,5 @@ export declare const RIPPLE_OFF = "tuiRippleOff";
5
5
  export declare const TUI_RIPPLE_START: InjectionToken<Observable<HTMLElement>>;
6
6
  export declare const TUI_RIPPLE_END: InjectionToken<Observable<HTMLElement>>;
7
7
  export declare const TUI_RIPPLE_PROVIDERS: Provider[];
8
- export declare function rippleStartFactory(isAndroid: boolean, { nativeElement }: ElementRef<HTMLElement>, renderer: Renderer2): Observable<HTMLElement>;
9
- export declare function rippleEndFactory(isAndroid: boolean, { nativeElement }: ElementRef<HTMLElement>, destroy$: Observable<void>): Observable<EventTarget>;
8
+ export declare function rippleStartFactory(touchSupported: boolean, isIOS: boolean, { nativeElement }: ElementRef<HTMLElement>, renderer: Renderer2): Observable<HTMLElement>;
9
+ export declare function rippleEndFactory(touchSupported: boolean, isIOS: boolean, { nativeElement }: ElementRef<HTMLElement>, destroy$: Observable<void>): Observable<EventTarget>;
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiRippleDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":68,"character":1},"arguments":[{"selector":"[tuiRipple]","providers":{"__symbolic":"reference","name":"TUI_RIPPLE_PROVIDERS"}}]}],"members":{"tuiRipple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":77,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":77,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":78,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDirectiveStylesService","line":78,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":79,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":79,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":80,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":80,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":81,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_RIPPLE_START"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":82,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_RIPPLE_END"}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":77,"character":56,"context":{"typeName":"HTMLElement"},"module":"./ripple.directive"}]},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDirectiveStylesService","line":78,"character":60},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":79,"character":37},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":80,"character":45},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":82,"character":49,"context":{"typeName":"EventTarget"},"module":"./ripple.directive"}]},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":82,"character":49,"context":{"typeName":"EventTarget"},"module":"./ripple.directive"}]}]}]}},"TuiRippleModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiRippleDirective"}],"exports":[{"__symbolic":"reference","name":"TuiRippleDirective"}]}]}],"members":{}},"RIPPLE_ON":"tuiRippleOn","RIPPLE_OFF":"tuiRippleOff","TUI_RIPPLE_START":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":12,"character":36},"arguments":["Stream of ripple elements to add"]},"TUI_RIPPLE_END":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":34},"arguments":["Stream of ripple elements to remove"]},"TUI_RIPPLE_PROVIDERS":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":19,"character":4},{"provide":{"__symbolic":"reference","name":"TUI_RIPPLE_START"},"deps":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_ANDROID","line":22,"character":15},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":22,"character":31},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":22,"character":43}],"useFactory":{"__symbolic":"reference","name":"rippleStartFactory"}},{"provide":{"__symbolic":"reference","name":"TUI_RIPPLE_END"},"deps":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_ANDROID","line":27,"character":15},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":27,"character":31},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":27,"character":43}],"useFactory":{"__symbolic":"reference","name":"rippleEndFactory"}}],"rippleStartFactory":{"__symbolic":"function","parameters":["isAndroid","nativeElement","renderer"],"value":{"__symbolic":"if","condition":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"reference","name":"isAndroid"}},"thenExpression":{"__symbolic":"reference","module":"rxjs","name":"EMPTY","line":38,"character":10},"elseExpression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"typedFromEvent","line":39,"character":10},"arguments":[{"__symbolic":"reference","name":"nativeElement"},"touchstart"]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":40,"character":14},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":40,"character":18,"module":"./ripple.providers"}]}]}}},"rippleEndFactory":{"__symbolic":"function","parameters":["isAndroid","nativeElement","destroy$"],"value":{"__symbolic":"if","condition":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"reference","name":"isAndroid"}},"thenExpression":{"__symbolic":"reference","module":"rxjs","name":"EMPTY","line":74,"character":10},"elseExpression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"typedFromEvent","line":75,"character":10},"arguments":[{"__symbolic":"reference","name":"nativeElement"},"animationend"]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":76,"character":14},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":76,"character":21,"module":"./ripple.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":77,"character":14},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":77,"character":18,"module":"./ripple.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":78,"character":14},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"isPresent","line":78,"character":21}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"takeUntil","line":79,"character":14},"arguments":[{"__symbolic":"reference","name":"destroy$"}]}]}}}},"origins":{"TuiRippleDirective":"./ripple.directive","TuiRippleModule":"./ripple.module","RIPPLE_ON":"./ripple.providers","RIPPLE_OFF":"./ripple.providers","TUI_RIPPLE_START":"./ripple.providers","TUI_RIPPLE_END":"./ripple.providers","TUI_RIPPLE_PROVIDERS":"./ripple.providers","rippleStartFactory":"./ripple.providers","rippleEndFactory":"./ripple.providers"},"importAs":"@taiga-ui/addon-mobile/directives/ripple"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiRippleDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":68,"character":1},"arguments":[{"selector":"[tuiRipple]","providers":{"__symbolic":"reference","name":"TUI_RIPPLE_PROVIDERS"}}]}],"members":{"tuiRipple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":77,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":77,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":78,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDirectiveStylesService","line":78,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":79,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":79,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":80,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":80,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":81,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_RIPPLE_START"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":82,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_RIPPLE_END"}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":77,"character":56,"context":{"typeName":"HTMLElement"},"module":"./ripple.directive"}]},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDirectiveStylesService","line":78,"character":60},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":79,"character":37},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":80,"character":45},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":82,"character":49,"context":{"typeName":"EventTarget"},"module":"./ripple.directive"}]},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":82,"character":49,"context":{"typeName":"EventTarget"},"module":"./ripple.directive"}]}]}]}},"TuiRippleModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiRippleDirective"}],"exports":[{"__symbolic":"reference","name":"TuiRippleDirective"}]}]}],"members":{}},"RIPPLE_ON":"tuiRippleOn","RIPPLE_OFF":"tuiRippleOff","TUI_RIPPLE_START":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":13,"character":36},"arguments":["Stream of ripple elements to add"]},"TUI_RIPPLE_END":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":16,"character":34},"arguments":["Stream of ripple elements to remove"]},"TUI_RIPPLE_PROVIDERS":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":20,"character":4},{"provide":{"__symbolic":"reference","name":"TUI_RIPPLE_START"},"deps":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_TOUCH_SUPPORTED","line":23,"character":15},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_IOS","line":23,"character":36},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":23,"character":48},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":23,"character":60}],"useFactory":{"__symbolic":"reference","name":"rippleStartFactory"}},{"provide":{"__symbolic":"reference","name":"TUI_RIPPLE_END"},"deps":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_TOUCH_SUPPORTED","line":28,"character":15},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_IOS","line":28,"character":36},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":28,"character":48},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":28,"character":60}],"useFactory":{"__symbolic":"reference","name":"rippleEndFactory"}}],"rippleStartFactory":{"__symbolic":"function","parameters":["touchSupported","isIOS","nativeElement","renderer"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"isIOS"},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"reference","name":"touchSupported"}}},"thenExpression":{"__symbolic":"reference","module":"rxjs","name":"EMPTY","line":40,"character":10},"elseExpression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"typedFromEvent","line":41,"character":10},"arguments":[{"__symbolic":"reference","name":"nativeElement"},"touchstart"]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":42,"character":14},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":42,"character":18,"module":"./ripple.providers"}]}]}}},"rippleEndFactory":{"__symbolic":"function","parameters":["touchSupported","isIOS","nativeElement","destroy$"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"isIOS"},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"reference","name":"touchSupported"}}},"thenExpression":{"__symbolic":"reference","module":"rxjs","name":"EMPTY","line":77,"character":10},"elseExpression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"typedFromEvent","line":78,"character":10},"arguments":[{"__symbolic":"reference","name":"nativeElement"},"animationend"]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":79,"character":14},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":79,"character":21,"module":"./ripple.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":80,"character":14},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":80,"character":18,"module":"./ripple.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":81,"character":14},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"isPresent","line":81,"character":21}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"takeUntil","line":82,"character":14},"arguments":[{"__symbolic":"reference","name":"destroy$"}]}]}}}},"origins":{"TuiRippleDirective":"./ripple.directive","TuiRippleModule":"./ripple.module","RIPPLE_ON":"./ripple.providers","RIPPLE_OFF":"./ripple.providers","TUI_RIPPLE_START":"./ripple.providers","TUI_RIPPLE_END":"./ripple.providers","TUI_RIPPLE_PROVIDERS":"./ripple.providers","rippleStartFactory":"./ripple.providers","rippleEndFactory":"./ripple.providers"},"importAs":"@taiga-ui/addon-mobile/directives/ripple"}
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, InjectionToken, Renderer2 } from '@angular/core';
2
- import { isPresent, TUI_IS_ANDROID, TuiDestroyService, typedFromEvent, } from '@taiga-ui/cdk';
2
+ import { isPresent, TUI_IS_IOS, TUI_TOUCH_SUPPORTED, TuiDestroyService, typedFromEvent, } from '@taiga-ui/cdk';
3
3
  import { EMPTY } from 'rxjs';
4
4
  import { filter, map, takeUntil } from 'rxjs/operators';
5
5
  export const RIPPLE_ON = 'tuiRippleOn';
@@ -10,17 +10,17 @@ export const TUI_RIPPLE_PROVIDERS = [
10
10
  TuiDestroyService,
11
11
  {
12
12
  provide: TUI_RIPPLE_START,
13
- deps: [TUI_IS_ANDROID, ElementRef, Renderer2],
13
+ deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],
14
14
  useFactory: rippleStartFactory,
15
15
  },
16
16
  {
17
17
  provide: TUI_RIPPLE_END,
18
- deps: [TUI_IS_ANDROID, ElementRef, TuiDestroyService],
18
+ deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],
19
19
  useFactory: rippleEndFactory,
20
20
  },
21
21
  ];
22
- export function rippleStartFactory(isAndroid, { nativeElement }, renderer) {
23
- return !isAndroid
22
+ export function rippleStartFactory(touchSupported, isIOS, { nativeElement }, renderer) {
23
+ return isIOS || !touchSupported
24
24
  ? EMPTY
25
25
  : typedFromEvent(nativeElement, 'touchstart').pipe(map(({ touches }) => {
26
26
  const { clientX, clientY } = touches[touches.length - 1];
@@ -41,9 +41,9 @@ export function rippleStartFactory(isAndroid, { nativeElement }, renderer) {
41
41
  return ripple;
42
42
  }));
43
43
  }
44
- export function rippleEndFactory(isAndroid, { nativeElement }, destroy$) {
45
- return !isAndroid
44
+ export function rippleEndFactory(touchSupported, isIOS, { nativeElement }, destroy$) {
45
+ return isIOS || !touchSupported
46
46
  ? EMPTY
47
47
  : typedFromEvent(nativeElement, 'animationend').pipe(filter(({ animationName }) => animationName === RIPPLE_OFF), map(({ target }) => target), filter(isPresent), takeUntil(destroy$));
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcy9yaXBwbGUvIiwic291cmNlcyI6WyJyaXBwbGUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFZLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsU0FBUyxFQUNULGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FDOUMsa0NBQWtDLENBQ3JDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQzVDLHFDQUFxQyxDQUN4QyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWU7SUFDNUMsaUJBQWlCO0lBQ2pCO1FBQ0ksT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztRQUM3QyxVQUFVLEVBQUUsa0JBQWtCO0tBQ2pDO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsY0FBYztRQUN2QixJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDO1FBQ3JELFVBQVUsRUFBRSxnQkFBZ0I7S0FDL0I7Q0FDSixDQUFDO0FBRUYsTUFBTSxVQUFVLGtCQUFrQixDQUM5QixTQUFrQixFQUNsQixFQUFDLGFBQWEsRUFBMEIsRUFDeEMsUUFBbUI7SUFFbkIsT0FBTyxDQUFDLFNBQVM7UUFDYixDQUFDLENBQUMsS0FBSztRQUNQLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDNUMsR0FBRyxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFO1lBQ2QsTUFBTSxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RCxNQUFNLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFDLEdBQzVCLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDMUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUM3QixNQUFNLENBQUMsR0FBRyxPQUFPLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNsQyxNQUFNLENBQUMsR0FBRyxPQUFPLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUNqQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTdDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3hDLFFBQVEsQ0FBQyxZQUFZLENBQ2pCLE1BQU0sRUFDTixPQUFPLEVBQ1A7aUNBQ1csU0FBUztrQ0FDUixTQUFTO2dDQUNYLENBQUM7K0JBQ0YsQ0FBQzswQ0FDVSxTQUFTO3FCQUM5QixDQUNGLENBQUM7WUFFRixPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDTCxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsU0FBa0IsRUFDbEIsRUFBQyxhQUFhLEVBQTBCLEVBQ3hDLFFBQTBCO0lBRTFCLE9BQU8sQ0FBQyxTQUFTO1FBQ2IsQ0FBQyxDQUFDLEtBQUs7UUFDUCxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQzlDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsYUFBYSxFQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsS0FBSyxVQUFVLENBQUMsRUFDekQsR0FBRyxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQ3pCLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFDakIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RWxlbWVudFJlZiwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyLCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBpc1ByZXNlbnQsXG4gICAgVFVJX0lTX0FORFJPSUQsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtFTVBUWSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IFJJUFBMRV9PTiA9ICd0dWlSaXBwbGVPbic7XG5leHBvcnQgY29uc3QgUklQUExFX09GRiA9ICd0dWlSaXBwbGVPZmYnO1xuZXhwb3J0IGNvbnN0IFRVSV9SSVBQTEVfU1RBUlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxIVE1MRWxlbWVudD4+KFxuICAgICdTdHJlYW0gb2YgcmlwcGxlIGVsZW1lbnRzIHRvIGFkZCcsXG4pO1xuZXhwb3J0IGNvbnN0IFRVSV9SSVBQTEVfRU5EID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8SFRNTEVsZW1lbnQ+PihcbiAgICAnU3RyZWFtIG9mIHJpcHBsZSBlbGVtZW50cyB0byByZW1vdmUnLFxuKTtcbmV4cG9ydCBjb25zdCBUVUlfUklQUExFX1BST1ZJREVSUzogUHJvdmlkZXJbXSA9IFtcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9SSVBQTEVfU1RBUlQsXG4gICAgICAgIGRlcHM6IFtUVUlfSVNfQU5EUk9JRCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyXSxcbiAgICAgICAgdXNlRmFjdG9yeTogcmlwcGxlU3RhcnRGYWN0b3J5LFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfUklQUExFX0VORCxcbiAgICAgICAgZGVwczogW1RVSV9JU19BTkRST0lELCBFbGVtZW50UmVmLCBUdWlEZXN0cm95U2VydmljZV0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IHJpcHBsZUVuZEZhY3RvcnksXG4gICAgfSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiByaXBwbGVTdGFydEZhY3RvcnkoXG4gICAgaXNBbmRyb2lkOiBib29sZWFuLFxuICAgIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbik6IE9ic2VydmFibGU8SFRNTEVsZW1lbnQ+IHtcbiAgICByZXR1cm4gIWlzQW5kcm9pZFxuICAgICAgICA/IEVNUFRZXG4gICAgICAgIDogdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ3RvdWNoc3RhcnQnKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKHt0b3VjaGVzfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3Qge2NsaWVudFgsIGNsaWVudFl9ID0gdG91Y2hlc1t0b3VjaGVzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgICAgY29uc3Qge3dpZHRoLCBoZWlnaHQsIHRvcCwgbGVmdH0gPVxuICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICBjb25zdCByYWRpdXMgPSBNYXRoLnNxcnQod2lkdGggKiB3aWR0aCArIGhlaWdodCAqIGhlaWdodCk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBkaW1lbnNpb24gPSByYWRpdXMgKiAyO1xuICAgICAgICAgICAgICAgICAgY29uc3QgeCA9IGNsaWVudFggLSBsZWZ0IC0gcmFkaXVzO1xuICAgICAgICAgICAgICAgICAgY29uc3QgeSA9IGNsaWVudFkgLSB0b3AgLSByYWRpdXM7XG4gICAgICAgICAgICAgICAgICBjb25zdCByaXBwbGUgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuYWRkQ2xhc3MocmlwcGxlLCAndHVpLXJpcHBsZScpO1xuICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICAgIHJpcHBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAnc3R5bGUnLFxuICAgICAgICAgICAgICAgICAgICAgIGBcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAke2RpbWVuc2lvbn1weDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHtkaW1lbnNpb259cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAke3h9cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6ICR7eX1weDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAke1JJUFBMRV9PTn07XG4gICAgICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gcmlwcGxlO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmlwcGxlRW5kRmFjdG9yeShcbiAgICBpc0FuZHJvaWQ6IGJvb2xlYW4sXG4gICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbik6IE9ic2VydmFibGU8RXZlbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gIWlzQW5kcm9pZFxuICAgICAgICA/IEVNUFRZXG4gICAgICAgIDogdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ2FuaW1hdGlvbmVuZCcpLnBpcGUoXG4gICAgICAgICAgICAgIGZpbHRlcigoe2FuaW1hdGlvbk5hbWV9KSA9PiBhbmltYXRpb25OYW1lID09PSBSSVBQTEVfT0ZGKSxcbiAgICAgICAgICAgICAgbWFwKCh7dGFyZ2V0fSkgPT4gdGFyZ2V0KSxcbiAgICAgICAgICAgICAgZmlsdGVyKGlzUHJlc2VudCksXG4gICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgKTtcbn1cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcy9yaXBwbGUvIiwic291cmNlcyI6WyJyaXBwbGUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFZLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQzlDLGtDQUFrQyxDQUNyQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUM1QyxxQ0FBcUMsQ0FDeEMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFlO0lBQzVDLGlCQUFpQjtJQUNqQjtRQUNJLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUM7UUFDOUQsVUFBVSxFQUFFLGtCQUFrQjtLQUNqQztJQUNEO1FBQ0ksT0FBTyxFQUFFLGNBQWM7UUFDdkIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztRQUN0RSxVQUFVLEVBQUUsZ0JBQWdCO0tBQy9CO0NBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsY0FBdUIsRUFDdkIsS0FBYyxFQUNkLEVBQUMsYUFBYSxFQUEwQixFQUN4QyxRQUFtQjtJQUVuQixPQUFPLEtBQUssSUFBSSxDQUFDLGNBQWM7UUFDM0IsQ0FBQyxDQUFDLEtBQUs7UUFDUCxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQzVDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRTtZQUNkLE1BQU0sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkQsTUFBTSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxHQUM1QixhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBQzFELE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDN0IsTUFBTSxDQUFDLEdBQUcsT0FBTyxHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7WUFDbEMsTUFBTSxDQUFDLEdBQUcsT0FBTyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDakMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU3QyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN4QyxRQUFRLENBQUMsWUFBWSxDQUNqQixNQUFNLEVBQ04sT0FBTyxFQUNQO2lDQUNXLFNBQVM7a0NBQ1IsU0FBUztnQ0FDWCxDQUFDOytCQUNGLENBQUM7MENBQ1UsU0FBUztxQkFDOUIsQ0FDRixDQUFDO1lBRUYsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLGNBQXVCLEVBQ3ZCLEtBQWMsRUFDZCxFQUFDLGFBQWEsRUFBMEIsRUFDeEMsUUFBMEI7SUFFMUIsT0FBTyxLQUFLLElBQUksQ0FBQyxjQUFjO1FBQzNCLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUM5QyxNQUFNLENBQUMsQ0FBQyxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLEtBQUssVUFBVSxDQUFDLEVBQ3pELEdBQUcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUN6QixNQUFNLENBQUMsU0FBUyxDQUFDLEVBQ2pCLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBQcm92aWRlciwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgaXNQcmVzZW50LFxuICAgIFRVSV9JU19JT1MsXG4gICAgVFVJX1RPVUNIX1NVUFBPUlRFRCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgUklQUExFX09OID0gJ3R1aVJpcHBsZU9uJztcbmV4cG9ydCBjb25zdCBSSVBQTEVfT0ZGID0gJ3R1aVJpcHBsZU9mZic7XG5leHBvcnQgY29uc3QgVFVJX1JJUFBMRV9TVEFSVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPEhUTUxFbGVtZW50Pj4oXG4gICAgJ1N0cmVhbSBvZiByaXBwbGUgZWxlbWVudHMgdG8gYWRkJyxcbik7XG5leHBvcnQgY29uc3QgVFVJX1JJUFBMRV9FTkQgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxIVE1MRWxlbWVudD4+KFxuICAgICdTdHJlYW0gb2YgcmlwcGxlIGVsZW1lbnRzIHRvIHJlbW92ZScsXG4pO1xuZXhwb3J0IGNvbnN0IFRVSV9SSVBQTEVfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX1JJUFBMRV9TVEFSVCxcbiAgICAgICAgZGVwczogW1RVSV9UT1VDSF9TVVBQT1JURUQsIFRVSV9JU19JT1MsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMl0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IHJpcHBsZVN0YXJ0RmFjdG9yeSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX1JJUFBMRV9FTkQsXG4gICAgICAgIGRlcHM6IFtUVUlfVE9VQ0hfU1VQUE9SVEVELCBUVUlfSVNfSU9TLCBFbGVtZW50UmVmLCBUdWlEZXN0cm95U2VydmljZV0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IHJpcHBsZUVuZEZhY3RvcnksXG4gICAgfSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiByaXBwbGVTdGFydEZhY3RvcnkoXG4gICAgdG91Y2hTdXBwb3J0ZWQ6IGJvb2xlYW4sXG4gICAgaXNJT1M6IGJvb2xlYW4sXG4gICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuKTogT2JzZXJ2YWJsZTxIVE1MRWxlbWVudD4ge1xuICAgIHJldHVybiBpc0lPUyB8fCAhdG91Y2hTdXBwb3J0ZWRcbiAgICAgICAgPyBFTVBUWVxuICAgICAgICA6IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0JykucGlwZShcbiAgICAgICAgICAgICAgbWFwKCh7dG91Y2hlc30pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHtjbGllbnRYLCBjbGllbnRZfSA9IHRvdWNoZXNbdG91Y2hlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0LCB0b3AsIGxlZnR9ID1cbiAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmFkaXVzID0gTWF0aC5zcXJ0KHdpZHRoICogd2lkdGggKyBoZWlnaHQgKiBoZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgZGltZW5zaW9uID0gcmFkaXVzICogMjtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHggPSBjbGllbnRYIC0gbGVmdCAtIHJhZGl1cztcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHkgPSBjbGllbnRZIC0gdG9wIC0gcmFkaXVzO1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmlwcGxlID0gcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLmFkZENsYXNzKHJpcHBsZSwgJ3R1aS1yaXBwbGUnKTtcbiAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgICByaXBwbGUsXG4gICAgICAgICAgICAgICAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgICAgICAgICAgICAgICBgXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHtkaW1lbnNpb259cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICR7ZGltZW5zaW9ufXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogJHt4fXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAke3l9cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogJHtSSVBQTEVfT059O1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHJpcHBsZTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJpcHBsZUVuZEZhY3RvcnkoXG4gICAgdG91Y2hTdXBwb3J0ZWQ6IGJvb2xlYW4sXG4gICAgaXNJT1M6IGJvb2xlYW4sXG4gICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbik6IE9ic2VydmFibGU8RXZlbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gaXNJT1MgfHwgIXRvdWNoU3VwcG9ydGVkXG4gICAgICAgID8gRU1QVFlcbiAgICAgICAgOiB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnYW5pbWF0aW9uZW5kJykucGlwZShcbiAgICAgICAgICAgICAgZmlsdGVyKCh7YW5pbWF0aW9uTmFtZX0pID0+IGFuaW1hdGlvbk5hbWUgPT09IFJJUFBMRV9PRkYpLFxuICAgICAgICAgICAgICBtYXAoKHt0YXJnZXR9KSA9PiB0YXJnZXQpLFxuICAgICAgICAgICAgICBmaWx0ZXIoaXNQcmVzZW50KSxcbiAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICApO1xufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, InjectionToken, Renderer2 } from '@angular/core';
2
- import { isPresent, TUI_IS_ANDROID, TuiDestroyService, typedFromEvent, } from '@taiga-ui/cdk';
2
+ import { isPresent, TUI_IS_IOS, TUI_TOUCH_SUPPORTED, TuiDestroyService, typedFromEvent, } from '@taiga-ui/cdk';
3
3
  import { EMPTY } from 'rxjs';
4
4
  import { filter, map, takeUntil } from 'rxjs/operators';
5
5
  export var RIPPLE_ON = 'tuiRippleOn';
@@ -10,18 +10,18 @@ export var TUI_RIPPLE_PROVIDERS = [
10
10
  TuiDestroyService,
11
11
  {
12
12
  provide: TUI_RIPPLE_START,
13
- deps: [TUI_IS_ANDROID, ElementRef, Renderer2],
13
+ deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],
14
14
  useFactory: rippleStartFactory,
15
15
  },
16
16
  {
17
17
  provide: TUI_RIPPLE_END,
18
- deps: [TUI_IS_ANDROID, ElementRef, TuiDestroyService],
18
+ deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],
19
19
  useFactory: rippleEndFactory,
20
20
  },
21
21
  ];
22
- export function rippleStartFactory(isAndroid, _a, renderer) {
22
+ export function rippleStartFactory(touchSupported, isIOS, _a, renderer) {
23
23
  var nativeElement = _a.nativeElement;
24
- return !isAndroid
24
+ return isIOS || !touchSupported
25
25
  ? EMPTY
26
26
  : typedFromEvent(nativeElement, 'touchstart').pipe(map(function (_a) {
27
27
  var touches = _a.touches;
@@ -37,9 +37,9 @@ export function rippleStartFactory(isAndroid, _a, renderer) {
37
37
  return ripple;
38
38
  }));
39
39
  }
40
- export function rippleEndFactory(isAndroid, _a, destroy$) {
40
+ export function rippleEndFactory(touchSupported, isIOS, _a, destroy$) {
41
41
  var nativeElement = _a.nativeElement;
42
- return !isAndroid
42
+ return isIOS || !touchSupported
43
43
  ? EMPTY
44
44
  : typedFromEvent(nativeElement, 'animationend').pipe(filter(function (_a) {
45
45
  var animationName = _a.animationName;
@@ -49,4 +49,4 @@ export function rippleEndFactory(isAndroid, _a, destroy$) {
49
49
  return target;
50
50
  }), filter(isPresent), takeUntil(destroy$));
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcy9yaXBwbGUvIiwic291cmNlcyI6WyJyaXBwbGUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFZLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsU0FBUyxFQUNULGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxJQUFNLFNBQVMsR0FBRyxhQUFhLENBQUM7QUFDdkMsTUFBTSxDQUFDLElBQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQztBQUN6QyxNQUFNLENBQUMsSUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FDOUMsa0NBQWtDLENBQ3JDLENBQUM7QUFDRixNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQzVDLHFDQUFxQyxDQUN4QyxDQUFDO0FBQ0YsTUFBTSxDQUFDLElBQU0sb0JBQW9CLEdBQWU7SUFDNUMsaUJBQWlCO0lBQ2pCO1FBQ0ksT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztRQUM3QyxVQUFVLEVBQUUsa0JBQWtCO0tBQ2pDO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsY0FBYztRQUN2QixJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDO1FBQ3JELFVBQVUsRUFBRSxnQkFBZ0I7S0FDL0I7Q0FDSixDQUFDO0FBRUYsTUFBTSxVQUFVLGtCQUFrQixDQUM5QixTQUFrQixFQUNsQixFQUF3QyxFQUN4QyxRQUFtQjtRQURsQixnQ0FBYTtJQUdkLE9BQU8sQ0FBQyxTQUFTO1FBQ2IsQ0FBQyxDQUFDLEtBQUs7UUFDUCxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQzVDLEdBQUcsQ0FBQyxVQUFDLEVBQVM7Z0JBQVIsb0JBQU87WUFDSCxJQUFBLGdDQUFnRCxFQUEvQyxvQkFBTyxFQUFFLG9CQUFzQyxDQUFDO1lBQ2pELElBQUEsMENBQ21DLEVBRGxDLGdCQUFLLEVBQUUsa0JBQU0sRUFBRSxZQUFHLEVBQUUsY0FDYyxDQUFDO1lBQzFDLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDMUQsSUFBTSxTQUFTLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUM3QixJQUFNLENBQUMsR0FBRyxPQUFPLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNsQyxJQUFNLENBQUMsR0FBRyxPQUFPLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUNqQyxJQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTdDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3hDLFFBQVEsQ0FBQyxZQUFZLENBQ2pCLE1BQU0sRUFDTixPQUFPLEVBQ1Asc0NBQ1csU0FBUyw2Q0FDUixTQUFTLDJDQUNYLENBQUMsMENBQ0YsQ0FBQyxxREFDVSxTQUFTLDRCQUM5QixDQUNGLENBQUM7WUFFRixPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDTCxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsU0FBa0IsRUFDbEIsRUFBd0MsRUFDeEMsUUFBMEI7UUFEekIsZ0NBQWE7SUFHZCxPQUFPLENBQUMsU0FBUztRQUNiLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUM5QyxNQUFNLENBQUMsVUFBQyxFQUFlO2dCQUFkLGdDQUFhO1lBQU0sT0FBQSxhQUFhLEtBQUssVUFBVTtRQUE1QixDQUE0QixDQUFDLEVBQ3pELEdBQUcsQ0FBQyxVQUFDLEVBQVE7Z0JBQVAsa0JBQU07WUFBTSxPQUFBLE1BQU07UUFBTixDQUFNLENBQUMsRUFDekIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUNqQixTQUFTLENBQUMsUUFBUSxDQUFDLENBQ3RCLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXIsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGlzUHJlc2VudCxcbiAgICBUVUlfSVNfQU5EUk9JRCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgUklQUExFX09OID0gJ3R1aVJpcHBsZU9uJztcbmV4cG9ydCBjb25zdCBSSVBQTEVfT0ZGID0gJ3R1aVJpcHBsZU9mZic7XG5leHBvcnQgY29uc3QgVFVJX1JJUFBMRV9TVEFSVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPEhUTUxFbGVtZW50Pj4oXG4gICAgJ1N0cmVhbSBvZiByaXBwbGUgZWxlbWVudHMgdG8gYWRkJyxcbik7XG5leHBvcnQgY29uc3QgVFVJX1JJUFBMRV9FTkQgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxIVE1MRWxlbWVudD4+KFxuICAgICdTdHJlYW0gb2YgcmlwcGxlIGVsZW1lbnRzIHRvIHJlbW92ZScsXG4pO1xuZXhwb3J0IGNvbnN0IFRVSV9SSVBQTEVfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX1JJUFBMRV9TVEFSVCxcbiAgICAgICAgZGVwczogW1RVSV9JU19BTkRST0lELCBFbGVtZW50UmVmLCBSZW5kZXJlcjJdLFxuICAgICAgICB1c2VGYWN0b3J5OiByaXBwbGVTdGFydEZhY3RvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9SSVBQTEVfRU5ELFxuICAgICAgICBkZXBzOiBbVFVJX0lTX0FORFJPSUQsIEVsZW1lbnRSZWYsIFR1aURlc3Ryb3lTZXJ2aWNlXSxcbiAgICAgICAgdXNlRmFjdG9yeTogcmlwcGxlRW5kRmFjdG9yeSxcbiAgICB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJpcHBsZVN0YXJ0RmFjdG9yeShcbiAgICBpc0FuZHJvaWQ6IGJvb2xlYW4sXG4gICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuKTogT2JzZXJ2YWJsZTxIVE1MRWxlbWVudD4ge1xuICAgIHJldHVybiAhaXNBbmRyb2lkXG4gICAgICAgID8gRU1QVFlcbiAgICAgICAgOiB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcpLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoe3RvdWNoZXN9KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB7Y2xpZW50WCwgY2xpZW50WX0gPSB0b3VjaGVzW3RvdWNoZXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgICBjb25zdCB7d2lkdGgsIGhlaWdodCwgdG9wLCBsZWZ0fSA9XG4gICAgICAgICAgICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJhZGl1cyA9IE1hdGguc3FydCh3aWR0aCAqIHdpZHRoICsgaGVpZ2h0ICogaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGRpbWVuc2lvbiA9IHJhZGl1cyAqIDI7XG4gICAgICAgICAgICAgICAgICBjb25zdCB4ID0gY2xpZW50WCAtIGxlZnQgLSByYWRpdXM7XG4gICAgICAgICAgICAgICAgICBjb25zdCB5ID0gY2xpZW50WSAtIHRvcCAtIHJhZGl1cztcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJpcHBsZSA9IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgICAgICAgICAgICByZW5kZXJlci5hZGRDbGFzcyhyaXBwbGUsICd0dWktcmlwcGxlJyk7XG4gICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgICAgcmlwcGxlLFxuICAgICAgICAgICAgICAgICAgICAgICdzdHlsZScsXG4gICAgICAgICAgICAgICAgICAgICAgYFxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICR7ZGltZW5zaW9ufXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAke2RpbWVuc2lvbn1weDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6ICR7eH1weDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogJHt5fXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6ICR7UklQUExFX09OfTtcbiAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiByaXBwbGU7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByaXBwbGVFbmRGYWN0b3J5KFxuICAgIGlzQW5kcm9pZDogYm9vbGVhbixcbiAgICB7bmF0aXZlRWxlbWVudH06IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuKTogT2JzZXJ2YWJsZTxFdmVudFRhcmdldD4ge1xuICAgIHJldHVybiAhaXNBbmRyb2lkXG4gICAgICAgID8gRU1QVFlcbiAgICAgICAgOiB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnYW5pbWF0aW9uZW5kJykucGlwZShcbiAgICAgICAgICAgICAgZmlsdGVyKCh7YW5pbWF0aW9uTmFtZX0pID0+IGFuaW1hdGlvbk5hbWUgPT09IFJJUFBMRV9PRkYpLFxuICAgICAgICAgICAgICBtYXAoKHt0YXJnZXR9KSA9PiB0YXJnZXQpLFxuICAgICAgICAgICAgICBmaWx0ZXIoaXNQcmVzZW50KSxcbiAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICApO1xufVxuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcy9yaXBwbGUvIiwic291cmNlcyI6WyJyaXBwbGUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFZLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxNQUFNLENBQUMsSUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxJQUFNLFVBQVUsR0FBRyxjQUFjLENBQUM7QUFDekMsTUFBTSxDQUFDLElBQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQzlDLGtDQUFrQyxDQUNyQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLElBQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUM1QyxxQ0FBcUMsQ0FDeEMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxJQUFNLG9CQUFvQixHQUFlO0lBQzVDLGlCQUFpQjtJQUNqQjtRQUNJLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUM7UUFDOUQsVUFBVSxFQUFFLGtCQUFrQjtLQUNqQztJQUNEO1FBQ0ksT0FBTyxFQUFFLGNBQWM7UUFDdkIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztRQUN0RSxVQUFVLEVBQUUsZ0JBQWdCO0tBQy9CO0NBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsY0FBdUIsRUFDdkIsS0FBYyxFQUNkLEVBQXdDLEVBQ3hDLFFBQW1CO1FBRGxCLGdDQUFhO0lBR2QsT0FBTyxLQUFLLElBQUksQ0FBQyxjQUFjO1FBQzNCLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUM1QyxHQUFHLENBQUMsVUFBQyxFQUFTO2dCQUFSLG9CQUFPO1lBQ0gsSUFBQSxnQ0FBZ0QsRUFBL0Msb0JBQU8sRUFBRSxvQkFBc0MsQ0FBQztZQUNqRCxJQUFBLDBDQUNtQyxFQURsQyxnQkFBSyxFQUFFLGtCQUFNLEVBQUUsWUFBRyxFQUFFLGNBQ2MsQ0FBQztZQUMxQyxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBQzFELElBQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDN0IsSUFBTSxDQUFDLEdBQUcsT0FBTyxHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7WUFDbEMsSUFBTSxDQUFDLEdBQUcsT0FBTyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDakMsSUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU3QyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN4QyxRQUFRLENBQUMsWUFBWSxDQUNqQixNQUFNLEVBQ04sT0FBTyxFQUNQLHNDQUNXLFNBQVMsNkNBQ1IsU0FBUywyQ0FDWCxDQUFDLDBDQUNGLENBQUMscURBQ1UsU0FBUyw0QkFDOUIsQ0FDRixDQUFDO1lBRUYsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLGNBQXVCLEVBQ3ZCLEtBQWMsRUFDZCxFQUF3QyxFQUN4QyxRQUEwQjtRQUR6QixnQ0FBYTtJQUdkLE9BQU8sS0FBSyxJQUFJLENBQUMsY0FBYztRQUMzQixDQUFDLENBQUMsS0FBSztRQUNQLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FDOUMsTUFBTSxDQUFDLFVBQUMsRUFBZTtnQkFBZCxnQ0FBYTtZQUFNLE9BQUEsYUFBYSxLQUFLLFVBQVU7UUFBNUIsQ0FBNEIsQ0FBQyxFQUN6RCxHQUFHLENBQUMsVUFBQyxFQUFRO2dCQUFQLGtCQUFNO1lBQU0sT0FBQSxNQUFNO1FBQU4sQ0FBTSxDQUFDLEVBQ3pCLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFDakIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RWxlbWVudFJlZiwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyLCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBpc1ByZXNlbnQsXG4gICAgVFVJX0lTX0lPUyxcbiAgICBUVUlfVE9VQ0hfU1VQUE9SVEVELFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7RU1QVFksIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBSSVBQTEVfT04gPSAndHVpUmlwcGxlT24nO1xuZXhwb3J0IGNvbnN0IFJJUFBMRV9PRkYgPSAndHVpUmlwcGxlT2ZmJztcbmV4cG9ydCBjb25zdCBUVUlfUklQUExFX1NUQVJUID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8SFRNTEVsZW1lbnQ+PihcbiAgICAnU3RyZWFtIG9mIHJpcHBsZSBlbGVtZW50cyB0byBhZGQnLFxuKTtcbmV4cG9ydCBjb25zdCBUVUlfUklQUExFX0VORCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPEhUTUxFbGVtZW50Pj4oXG4gICAgJ1N0cmVhbSBvZiByaXBwbGUgZWxlbWVudHMgdG8gcmVtb3ZlJyxcbik7XG5leHBvcnQgY29uc3QgVFVJX1JJUFBMRV9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfUklQUExFX1NUQVJULFxuICAgICAgICBkZXBzOiBbVFVJX1RPVUNIX1NVUFBPUlRFRCwgVFVJX0lTX0lPUywgRWxlbWVudFJlZiwgUmVuZGVyZXIyXSxcbiAgICAgICAgdXNlRmFjdG9yeTogcmlwcGxlU3RhcnRGYWN0b3J5LFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfUklQUExFX0VORCxcbiAgICAgICAgZGVwczogW1RVSV9UT1VDSF9TVVBQT1JURUQsIFRVSV9JU19JT1MsIEVsZW1lbnRSZWYsIFR1aURlc3Ryb3lTZXJ2aWNlXSxcbiAgICAgICAgdXNlRmFjdG9yeTogcmlwcGxlRW5kRmFjdG9yeSxcbiAgICB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJpcHBsZVN0YXJ0RmFjdG9yeShcbiAgICB0b3VjaFN1cHBvcnRlZDogYm9vbGVhbixcbiAgICBpc0lPUzogYm9vbGVhbixcbiAgICB7bmF0aXZlRWxlbWVudH06IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4pOiBPYnNlcnZhYmxlPEhUTUxFbGVtZW50PiB7XG4gICAgcmV0dXJuIGlzSU9TIHx8ICF0b3VjaFN1cHBvcnRlZFxuICAgICAgICA/IEVNUFRZXG4gICAgICAgIDogdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ3RvdWNoc3RhcnQnKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKHt0b3VjaGVzfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3Qge2NsaWVudFgsIGNsaWVudFl9ID0gdG91Y2hlc1t0b3VjaGVzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgICAgY29uc3Qge3dpZHRoLCBoZWlnaHQsIHRvcCwgbGVmdH0gPVxuICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICBjb25zdCByYWRpdXMgPSBNYXRoLnNxcnQod2lkdGggKiB3aWR0aCArIGhlaWdodCAqIGhlaWdodCk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBkaW1lbnNpb24gPSByYWRpdXMgKiAyO1xuICAgICAgICAgICAgICAgICAgY29uc3QgeCA9IGNsaWVudFggLSBsZWZ0IC0gcmFkaXVzO1xuICAgICAgICAgICAgICAgICAgY29uc3QgeSA9IGNsaWVudFkgLSB0b3AgLSByYWRpdXM7XG4gICAgICAgICAgICAgICAgICBjb25zdCByaXBwbGUgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuYWRkQ2xhc3MocmlwcGxlLCAndHVpLXJpcHBsZScpO1xuICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICAgIHJpcHBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAnc3R5bGUnLFxuICAgICAgICAgICAgICAgICAgICAgIGBcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAke2RpbWVuc2lvbn1weDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHtkaW1lbnNpb259cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAke3h9cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6ICR7eX1weDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAke1JJUFBMRV9PTn07XG4gICAgICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gcmlwcGxlO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmlwcGxlRW5kRmFjdG9yeShcbiAgICB0b3VjaFN1cHBvcnRlZDogYm9vbGVhbixcbiAgICBpc0lPUzogYm9vbGVhbixcbiAgICB7bmF0aXZlRWxlbWVudH06IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuKTogT2JzZXJ2YWJsZTxFdmVudFRhcmdldD4ge1xuICAgIHJldHVybiBpc0lPUyB8fCAhdG91Y2hTdXBwb3J0ZWRcbiAgICAgICAgPyBFTVBUWVxuICAgICAgICA6IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdhbmltYXRpb25lbmQnKS5waXBlKFxuICAgICAgICAgICAgICBmaWx0ZXIoKHthbmltYXRpb25OYW1lfSkgPT4gYW5pbWF0aW9uTmFtZSA9PT0gUklQUExFX09GRiksXG4gICAgICAgICAgICAgIG1hcCgoe3RhcmdldH0pID0+IHRhcmdldCksXG4gICAgICAgICAgICAgIGZpbHRlcihpc1ByZXNlbnQpLFxuICAgICAgICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgICAgICk7XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __param } from 'tslib';
2
2
  import { InjectionToken, ElementRef, Renderer2, Inject, Input, Directive, NgModule } from '@angular/core';
3
- import { TuiDestroyService, TUI_IS_ANDROID, typedFromEvent, isPresent, TuiDirectiveStylesService } from '@taiga-ui/cdk';
3
+ import { TuiDestroyService, TUI_TOUCH_SUPPORTED, TUI_IS_IOS, typedFromEvent, isPresent, TuiDirectiveStylesService } from '@taiga-ui/cdk';
4
4
  import { EMPTY, race, timer, Observable } from 'rxjs';
5
5
  import { map, filter, takeUntil, mergeMap, mapTo, take, tap, switchMap, switchMapTo } from 'rxjs/operators';
6
6
 
@@ -12,17 +12,17 @@ const TUI_RIPPLE_PROVIDERS = [
12
12
  TuiDestroyService,
13
13
  {
14
14
  provide: TUI_RIPPLE_START,
15
- deps: [TUI_IS_ANDROID, ElementRef, Renderer2],
15
+ deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],
16
16
  useFactory: rippleStartFactory,
17
17
  },
18
18
  {
19
19
  provide: TUI_RIPPLE_END,
20
- deps: [TUI_IS_ANDROID, ElementRef, TuiDestroyService],
20
+ deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],
21
21
  useFactory: rippleEndFactory,
22
22
  },
23
23
  ];
24
- function rippleStartFactory(isAndroid, { nativeElement }, renderer) {
25
- return !isAndroid
24
+ function rippleStartFactory(touchSupported, isIOS, { nativeElement }, renderer) {
25
+ return isIOS || !touchSupported
26
26
  ? EMPTY
27
27
  : typedFromEvent(nativeElement, 'touchstart').pipe(map(({ touches }) => {
28
28
  const { clientX, clientY } = touches[touches.length - 1];
@@ -43,8 +43,8 @@ function rippleStartFactory(isAndroid, { nativeElement }, renderer) {
43
43
  return ripple;
44
44
  }));
45
45
  }
46
- function rippleEndFactory(isAndroid, { nativeElement }, destroy$) {
47
- return !isAndroid
46
+ function rippleEndFactory(touchSupported, isIOS, { nativeElement }, destroy$) {
47
+ return isIOS || !touchSupported
48
48
  ? EMPTY
49
49
  : typedFromEvent(nativeElement, 'animationend').pipe(filter(({ animationName }) => animationName === RIPPLE_OFF), map(({ target }) => target), filter(isPresent), takeUntil(destroy$));
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.js","sources":["ng://@taiga-ui/addon-mobile/directives/ripple/ripple.providers.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.directive.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.module.ts","ng://@taiga-ui/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n isPresent,\n TUI_IS_ANDROID,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = 'tuiRippleOn';\nexport const RIPPLE_OFF = 'tuiRippleOff';\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to add',\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to remove',\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_IS_ANDROID, ElementRef, Renderer2],\n useFactory: rippleStartFactory,\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_IS_ANDROID, ElementRef, TuiDestroyService],\n useFactory: rippleEndFactory,\n },\n];\n\nexport function rippleStartFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n): Observable<HTMLElement> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(nativeElement, 'touchstart').pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement('div');\n\n renderer.addClass(ripple, 'tui-ripple');\n renderer.setAttribute(\n ripple,\n 'style',\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n}\n\nexport function rippleEndFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n): Observable<EventTarget> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(nativeElement, 'animationend').pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(isPresent),\n takeUntil(destroy$),\n );\n}\n","import {Directive, ElementRef, Inject, Input, Renderer2} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {\n mapTo,\n mergeMap,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n RIPPLE_ON,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\n\nconst TOUCH_MOVE_DELAY = 100;\nconst STYLE = `\n@keyframes ${RIPPLE_ON} {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes ${RIPPLE_OFF} {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n`;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiRippleDirective');\n\n const touchEnd$ = typedFromEvent(nativeElement, 'touchend');\n const touchMove$ = typedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = typedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race<unknown>(\n touchEnd$.pipe(switchMapTo(animationEndOn$)),\n animationEndOn$.pipe(switchMapTo(touchEnd$)),\n ),\n ),\n mapTo(ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\n\n@NgModule({\n declarations: [TuiRippleDirective],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.js","sources":["ng://@taiga-ui/addon-mobile/directives/ripple/ripple.providers.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.directive.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.module.ts","ng://@taiga-ui/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n isPresent,\n TUI_IS_IOS,\n TUI_TOUCH_SUPPORTED,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = 'tuiRippleOn';\nexport const RIPPLE_OFF = 'tuiRippleOff';\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to add',\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to remove',\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],\n useFactory: rippleStartFactory,\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],\n useFactory: rippleEndFactory,\n },\n];\n\nexport function rippleStartFactory(\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n): Observable<HTMLElement> {\n return isIOS || !touchSupported\n ? EMPTY\n : typedFromEvent(nativeElement, 'touchstart').pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement('div');\n\n renderer.addClass(ripple, 'tui-ripple');\n renderer.setAttribute(\n ripple,\n 'style',\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n}\n\nexport function rippleEndFactory(\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n): Observable<EventTarget> {\n return isIOS || !touchSupported\n ? EMPTY\n : typedFromEvent(nativeElement, 'animationend').pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(isPresent),\n takeUntil(destroy$),\n );\n}\n","import {Directive, ElementRef, Inject, Input, Renderer2} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {\n mapTo,\n mergeMap,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n RIPPLE_ON,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\n\nconst TOUCH_MOVE_DELAY = 100;\nconst STYLE = `\n@keyframes ${RIPPLE_ON} {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes ${RIPPLE_OFF} {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n`;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiRippleDirective');\n\n const touchEnd$ = typedFromEvent(nativeElement, 'touchend');\n const touchMove$ = typedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = typedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race<unknown>(\n touchEnd$.pipe(switchMapTo(animationEndOn$)),\n animationEndOn$.pipe(switchMapTo(touchEnd$)),\n ),\n ),\n mapTo(ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\n\n@NgModule({\n declarations: [TuiRippleDirective],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __param } from 'tslib';
2
2
  import { InjectionToken, ElementRef, Renderer2, Inject, Input, Directive, NgModule } from '@angular/core';
3
- import { TuiDestroyService, TUI_IS_ANDROID, typedFromEvent, isPresent, TuiDirectiveStylesService } from '@taiga-ui/cdk';
3
+ import { TuiDestroyService, TUI_TOUCH_SUPPORTED, TUI_IS_IOS, typedFromEvent, isPresent, TuiDirectiveStylesService } from '@taiga-ui/cdk';
4
4
  import { EMPTY, race, timer, Observable } from 'rxjs';
5
5
  import { map, filter, takeUntil, mergeMap, mapTo, take, tap, switchMap, switchMapTo } from 'rxjs/operators';
6
6
 
@@ -12,18 +12,18 @@ var TUI_RIPPLE_PROVIDERS = [
12
12
  TuiDestroyService,
13
13
  {
14
14
  provide: TUI_RIPPLE_START,
15
- deps: [TUI_IS_ANDROID, ElementRef, Renderer2],
15
+ deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],
16
16
  useFactory: rippleStartFactory,
17
17
  },
18
18
  {
19
19
  provide: TUI_RIPPLE_END,
20
- deps: [TUI_IS_ANDROID, ElementRef, TuiDestroyService],
20
+ deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],
21
21
  useFactory: rippleEndFactory,
22
22
  },
23
23
  ];
24
- function rippleStartFactory(isAndroid, _a, renderer) {
24
+ function rippleStartFactory(touchSupported, isIOS, _a, renderer) {
25
25
  var nativeElement = _a.nativeElement;
26
- return !isAndroid
26
+ return isIOS || !touchSupported
27
27
  ? EMPTY
28
28
  : typedFromEvent(nativeElement, 'touchstart').pipe(map(function (_a) {
29
29
  var touches = _a.touches;
@@ -39,9 +39,9 @@ function rippleStartFactory(isAndroid, _a, renderer) {
39
39
  return ripple;
40
40
  }));
41
41
  }
42
- function rippleEndFactory(isAndroid, _a, destroy$) {
42
+ function rippleEndFactory(touchSupported, isIOS, _a, destroy$) {
43
43
  var nativeElement = _a.nativeElement;
44
- return !isAndroid
44
+ return isIOS || !touchSupported
45
45
  ? EMPTY
46
46
  : typedFromEvent(nativeElement, 'animationend').pipe(filter(function (_a) {
47
47
  var animationName = _a.animationName;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.js","sources":["ng://@taiga-ui/addon-mobile/directives/ripple/ripple.providers.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.directive.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.module.ts","ng://@taiga-ui/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n isPresent,\n TUI_IS_ANDROID,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = 'tuiRippleOn';\nexport const RIPPLE_OFF = 'tuiRippleOff';\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to add',\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to remove',\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_IS_ANDROID, ElementRef, Renderer2],\n useFactory: rippleStartFactory,\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_IS_ANDROID, ElementRef, TuiDestroyService],\n useFactory: rippleEndFactory,\n },\n];\n\nexport function rippleStartFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n): Observable<HTMLElement> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(nativeElement, 'touchstart').pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement('div');\n\n renderer.addClass(ripple, 'tui-ripple');\n renderer.setAttribute(\n ripple,\n 'style',\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n}\n\nexport function rippleEndFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n): Observable<EventTarget> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(nativeElement, 'animationend').pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(isPresent),\n takeUntil(destroy$),\n );\n}\n","import {Directive, ElementRef, Inject, Input, Renderer2} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {\n mapTo,\n mergeMap,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n RIPPLE_ON,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\n\nconst TOUCH_MOVE_DELAY = 100;\nconst STYLE = `\n@keyframes ${RIPPLE_ON} {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes ${RIPPLE_OFF} {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n`;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiRippleDirective');\n\n const touchEnd$ = typedFromEvent(nativeElement, 'touchend');\n const touchMove$ = typedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = typedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race<unknown>(\n touchEnd$.pipe(switchMapTo(animationEndOn$)),\n animationEndOn$.pipe(switchMapTo(touchEnd$)),\n ),\n ),\n mapTo(ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\n\n@NgModule({\n declarations: [TuiRippleDirective],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.js","sources":["ng://@taiga-ui/addon-mobile/directives/ripple/ripple.providers.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.directive.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.module.ts","ng://@taiga-ui/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n isPresent,\n TUI_IS_IOS,\n TUI_TOUCH_SUPPORTED,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = 'tuiRippleOn';\nexport const RIPPLE_OFF = 'tuiRippleOff';\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to add',\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to remove',\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],\n useFactory: rippleStartFactory,\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],\n useFactory: rippleEndFactory,\n },\n];\n\nexport function rippleStartFactory(\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n): Observable<HTMLElement> {\n return isIOS || !touchSupported\n ? EMPTY\n : typedFromEvent(nativeElement, 'touchstart').pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement('div');\n\n renderer.addClass(ripple, 'tui-ripple');\n renderer.setAttribute(\n ripple,\n 'style',\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n}\n\nexport function rippleEndFactory(\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n): Observable<EventTarget> {\n return isIOS || !touchSupported\n ? EMPTY\n : typedFromEvent(nativeElement, 'animationend').pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(isPresent),\n takeUntil(destroy$),\n );\n}\n","import {Directive, ElementRef, Inject, Input, Renderer2} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {\n mapTo,\n mergeMap,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n RIPPLE_ON,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\n\nconst TOUCH_MOVE_DELAY = 100;\nconst STYLE = `\n@keyframes ${RIPPLE_ON} {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes ${RIPPLE_OFF} {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n`;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiRippleDirective');\n\n const touchEnd$ = typedFromEvent(nativeElement, 'touchend');\n const touchMove$ = typedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = typedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race<unknown>(\n touchEnd$.pipe(switchMapTo(animationEndOn$)),\n animationEndOn$.pipe(switchMapTo(touchEnd$)),\n ),\n ),\n mapTo(ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\n\n@NgModule({\n declarations: [TuiRippleDirective],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-mobile",
3
- "version": "2.27.1",
3
+ "version": "2.28.0",
4
4
  "description": "Extension package for Taiga UI that adds support for mobile specific behaviors such as custom data pickers, dropdowns, etc.",
5
5
  "keywords": [
6
6
  "angular",
@@ -16,9 +16,9 @@
16
16
  "@angular/core": ">=9.0.0",
17
17
  "@ng-web-apis/common": "1.12.1",
18
18
  "@tinkoff/ng-polymorpheus": "3.1.12",
19
- "@taiga-ui/cdk": "2.27.1",
20
- "@taiga-ui/core": "2.27.1",
21
- "@taiga-ui/kit": "2.27.1",
19
+ "@taiga-ui/cdk": "2.28.0",
20
+ "@taiga-ui/core": "2.28.0",
21
+ "@taiga-ui/kit": "2.28.0",
22
22
  "rxjs": ">=6.0.0"
23
23
  },
24
24
  "main": "bundles/taiga-ui-addon-mobile.umd.js",