@taiga-ui/addon-mobile 3.75.0 → 3.76.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.
- package/bundles/taiga-ui-addon-mobile-directives-dropdown-mobile.umd.js +576 -0
- package/bundles/taiga-ui-addon-mobile-directives-dropdown-mobile.umd.js.map +1 -0
- package/bundles/taiga-ui-addon-mobile-directives.umd.js +10 -4
- package/bundles/taiga-ui-addon-mobile-directives.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-services.umd.js +90 -0
- package/bundles/taiga-ui-addon-mobile-services.umd.js.map +1 -0
- package/bundles/taiga-ui-addon-mobile.umd.js +10 -4
- package/bundles/taiga-ui-addon-mobile.umd.js.map +1 -1
- package/directives/dropdown-mobile/dropdown-mobile.component.d.ts +34 -0
- package/directives/dropdown-mobile/dropdown-mobile.directive.d.ts +9 -0
- package/directives/dropdown-mobile/dropdown-mobile.module.d.ts +12 -0
- package/directives/dropdown-mobile/index.d.ts +3 -0
- package/directives/dropdown-mobile/package.json +10 -0
- package/directives/dropdown-mobile/taiga-ui-addon-mobile-directives-dropdown-mobile.d.ts +5 -0
- package/directives/index.d.ts +1 -0
- package/esm2015/directives/dropdown-mobile/dropdown-mobile.component.js +134 -0
- package/esm2015/directives/dropdown-mobile/dropdown-mobile.directive.js +55 -0
- package/esm2015/directives/dropdown-mobile/dropdown-mobile.module.js +35 -0
- package/esm2015/directives/dropdown-mobile/index.js +4 -0
- package/esm2015/directives/dropdown-mobile/taiga-ui-addon-mobile-directives-dropdown-mobile.js +5 -0
- package/esm2015/directives/index.js +2 -1
- package/esm2015/index.js +2 -1
- package/esm2015/services/index.js +2 -0
- package/esm2015/services/keyboard.service.js +56 -0
- package/esm2015/services/taiga-ui-addon-mobile-services.js +5 -0
- package/fesm2015/taiga-ui-addon-mobile-directives-dropdown-mobile.js +218 -0
- package/fesm2015/taiga-ui-addon-mobile-directives-dropdown-mobile.js.map +1 -0
- package/fesm2015/taiga-ui-addon-mobile-directives.js +1 -0
- package/fesm2015/taiga-ui-addon-mobile-directives.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-services.js +63 -0
- package/fesm2015/taiga-ui-addon-mobile-services.js.map +1 -0
- package/fesm2015/taiga-ui-addon-mobile.js +1 -0
- package/fesm2015/taiga-ui-addon-mobile.js.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +7 -7
- package/services/index.d.ts +1 -0
- package/services/keyboard.service.d.ts +15 -0
- package/services/package.json +10 -0
- package/services/taiga-ui-addon-mobile-services.d.ts +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-dropdown-mobile.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/addon-mobile/directives/dropdown-mobile/dropdown-mobile.directive.ts","../../../projects/addon-mobile/directives/dropdown-mobile/dropdown-mobile.component.ts","../../../projects/addon-mobile/directives/dropdown-mobile/dropdown-mobile.template.html","../../../projects/addon-mobile/directives/dropdown-mobile/dropdown-mobile.module.ts","../../../projects/addon-mobile/directives/dropdown-mobile/taiga-ui-addon-mobile-directives-dropdown-mobile.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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {Directive, HostListener, Inject, inject, InjectFlags, Input} from '@angular/core';\nimport {TUI_IS_MOBILE, tuiIsHTMLElement} from '@taiga-ui/cdk';\nimport {TUI_DROPDOWN_COMPONENT} from '@taiga-ui/core';\n\nimport {TuiDropdownMobileComponent} from './dropdown-mobile.component';\n\n@Directive({\n selector: '[tuiDropdownMobile]',\n providers: [\n {\n provide: TUI_DROPDOWN_COMPONENT,\n useFactory: () =>\n inject(TUI_IS_MOBILE)\n ? TuiDropdownMobileComponent\n : inject(TUI_DROPDOWN_COMPONENT, InjectFlags.SkipSelf),\n },\n ],\n host: {\n '[style.visibility]': '\"visible\"',\n },\n})\nexport class TuiDropdownMobileDirective {\n @Input()\n tuiDropdownMobile = '';\n\n constructor(@Inject(TUI_IS_MOBILE) private readonly isMobile: boolean) {}\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event: MouseEvent): void {\n if (\n !this.isMobile ||\n !tuiIsHTMLElement(event.target) ||\n !event.target.matches('input,textarea')\n ) {\n return;\n }\n\n event.preventDefault();\n event.target.focus({preventScroll: true});\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiKeyboardService} from '@taiga-ui/addon-mobile/services';\nimport {\n TuiActiveZoneDirective,\n tuiGetNativeFocused,\n tuiPx,\n TuiSwipe,\n} from '@taiga-ui/cdk';\nimport {\n TUI_ANIMATIONS_DURATION,\n TuiDropdownDirective,\n tuiFadeIn,\n tuiSlideInTop,\n} from '@taiga-ui/core';\n\nimport {TuiDropdownMobileDirective} from './dropdown-mobile.directive';\n\nconst GAP = 16;\n\n@Component({\n selector: 'tui-dropdown-mobile',\n templateUrl: './dropdown-mobile.template.html',\n styleUrls: ['./dropdown-mobile.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiActiveZoneDirective],\n animations: [tuiSlideInTop, tuiFadeIn],\n host: {\n '[@tuiFadeIn]': 'animation',\n '[@tuiSlideInTop]': 'animation',\n '[class._sheet]': 'directive.tuiDropdownMobile',\n '(document:click.silent.capture)': 'onClick($event)',\n '(window>scroll.silent.capture)': 'refresh($event.currentTarget.visualViewport)',\n '(visualViewport>resize.silent)': 'refresh($event.target)',\n '(visualViewport>scroll.silent)': 'refresh($event.target)',\n },\n})\nexport class TuiDropdownMobileComponent implements OnDestroy, AfterViewInit {\n private readonly scrollTop = this.doc.documentElement.scrollTop;\n private readonly observer = new ResizeObserver(() =>\n this.refresh(this.doc.defaultView!.visualViewport),\n );\n\n readonly animation = {\n value: '',\n params: {\n start: '100vh',\n duration: this.duration,\n },\n } as const;\n\n constructor(\n @Inject(TuiActiveZoneDirective) _: any,\n @Inject(TuiKeyboardService) private readonly keyboard: TuiKeyboardService,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(TUI_ANIMATIONS_DURATION) private readonly duration: number,\n @Inject(ElementRef) readonly el: ElementRef<HTMLElement>,\n @Inject(TuiDropdownDirective) readonly dropdown: TuiDropdownDirective,\n @Inject(TuiDropdownMobileDirective)\n readonly directive: TuiDropdownMobileDirective,\n ) {\n this.observer.observe(this.dropdown.el.nativeElement);\n this.doc.documentElement.style.setProperty('scroll-behavior', 'initial');\n }\n\n onClick(event: MouseEvent): void {\n if (!this.el.nativeElement.contains(event.target as Node)) {\n event.stopPropagation();\n }\n }\n\n onSwipe({direction}: TuiSwipe, el: HTMLElement): void {\n if (\n direction === 'bottom' &&\n el.getBoundingClientRect().bottom > Number(this.doc.defaultView?.innerHeight)\n ) {\n this.close();\n }\n }\n\n onIntersection([{isIntersecting}]: IntersectionObserverEntry[]): void {\n if (isIntersecting) {\n this.close();\n }\n }\n\n close(): void {\n this.dropdown.toggle(false);\n }\n\n refresh({offsetTop, height}: VisualViewport): void {\n this.doc.body.style.removeProperty('--t-root-top');\n\n if (\n !this.focused ||\n this.directive.tuiDropdownMobile ||\n !this.doc.documentElement.style.getPropertyValue('scroll-behavior')\n ) {\n return;\n }\n\n this.doc.documentElement.scrollTop = 0;\n\n const rect = this.dropdown.el.nativeElement.getBoundingClientRect();\n const offset = rect.height + GAP * 2;\n\n this.el.nativeElement.style.setProperty('top', tuiPx(offsetTop + offset));\n this.el.nativeElement.style.setProperty('height', tuiPx(height - offset));\n this.doc.body.classList.add('t-dropdown-mobile');\n this.doc.body.style.setProperty(\n '--t-root-top',\n tuiPx(offsetTop + GAP - rect.top),\n );\n }\n\n ngAfterViewInit(): void {\n this.el.nativeElement.scrollTop = this.directive.tuiDropdownMobile\n ? this.el.nativeElement.clientHeight\n : 0;\n }\n\n ngOnDestroy(): void {\n this.observer.disconnect();\n this.doc.body.classList.remove('t-dropdown-mobile');\n this.doc.body.style.removeProperty('--t-root-top');\n this.doc.documentElement.scrollTop = this.scrollTop;\n this.doc.documentElement.style.removeProperty('scroll-behavior');\n\n if (this.focused) {\n this.keyboard.hide();\n }\n }\n\n private get focused(): boolean {\n return this.dropdown.el.nativeElement.contains(tuiGetNativeFocused(this.doc));\n }\n}\n","<div\n *ngIf=\"directive.tuiDropdownMobile\"\n waIntersectionObserver\n waIntersectionThreshold=\"1\"\n class=\"t-filler\"\n (touchstart.silent)=\"close()\"\n (waIntersectionObservee)=\"onIntersection($event)\"\n></div>\n<div\n #container\n class=\"t-container\"\n (tuiSwipe)=\"onSwipe($event, container)\"\n>\n <h2\n *ngIf=\"directive.tuiDropdownMobile\"\n class=\"t-heading\"\n >\n {{ directive.tuiDropdownMobile }}\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"dropdown.content as text\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {IntersectionObserverModule} from '@ng-web-apis/intersection-observer';\nimport {TuiSwipeModule} from '@taiga-ui/cdk';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownMobileComponent} from './dropdown-mobile.component';\nimport {TuiDropdownMobileDirective} from './dropdown-mobile.directive';\n\n@NgModule({\n imports: [\n PolymorpheusModule,\n CommonModule,\n TuiSwipeModule,\n IntersectionObserverModule,\n ],\n declarations: [TuiDropdownMobileComponent, TuiDropdownMobileDirective],\n exports: [TuiDropdownMobileDirective],\n})\nexport class TuiDropdownMobileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiIsHTMLElement","i0","TUI_IS_MOBILE","TUI_DROPDOWN_COMPONENT","inject","InjectFlags","Directive","Inject","Input","HostListener","tuiPx","tuiGetNativeFocused","TuiActiveZoneDirective","TuiKeyboardService","DOCUMENT","TUI_ANIMATIONS_DURATION","ElementRef","TuiDropdownDirective","i1","i2","i3","i4","tuiSlideInTop","tuiFadeIn","Component","ViewEncapsulation","ChangeDetectionStrategy","PolymorpheusModule","CommonModule","TuiSwipeModule","IntersectionObserverModule","NgModule"],"mappings":"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"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/addon-mobile/directives/elastic-sticky'), require('@taiga-ui/addon-mobile/directives/mobile-tabs'), require('@taiga-ui/addon-mobile/directives/ripple'), require('@taiga-ui/addon-mobile/directives/sidebar'), require('@taiga-ui/addon-mobile/directives/touchable')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@taiga-ui/addon-mobile/directives', ['exports', '@taiga-ui/addon-mobile/directives/elastic-sticky', '@taiga-ui/addon-mobile/directives/mobile-tabs', '@taiga-ui/addon-mobile/directives/ripple', '@taiga-ui/addon-mobile/directives/sidebar', '@taiga-ui/addon-mobile/directives/touchable'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-mobile"] = global["taiga-ui"]["addon-mobile"] || {}, global["taiga-ui"]["addon-mobile"].directives = {}), global["taiga-ui"]["addon-mobile"].directives["elastic-sticky"], global["taiga-ui"]["addon-mobile"].directives["mobile-tabs"], global["taiga-ui"]["addon-mobile"].directives.ripple, global["taiga-ui"]["addon-mobile"].directives.sidebar, global["taiga-ui"]["addon-mobile"].directives.touchable));
|
|
5
|
-
})(this, (function (exports, elasticSticky, mobileTabs, ripple, sidebar, touchable) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/addon-mobile/directives/dropdown-mobile'), require('@taiga-ui/addon-mobile/directives/elastic-sticky'), require('@taiga-ui/addon-mobile/directives/mobile-tabs'), require('@taiga-ui/addon-mobile/directives/ripple'), require('@taiga-ui/addon-mobile/directives/sidebar'), require('@taiga-ui/addon-mobile/directives/touchable')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@taiga-ui/addon-mobile/directives', ['exports', '@taiga-ui/addon-mobile/directives/dropdown-mobile', '@taiga-ui/addon-mobile/directives/elastic-sticky', '@taiga-ui/addon-mobile/directives/mobile-tabs', '@taiga-ui/addon-mobile/directives/ripple', '@taiga-ui/addon-mobile/directives/sidebar', '@taiga-ui/addon-mobile/directives/touchable'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-mobile"] = global["taiga-ui"]["addon-mobile"] || {}, global["taiga-ui"]["addon-mobile"].directives = {}), global["taiga-ui"]["addon-mobile"].directives["dropdown-mobile"], global["taiga-ui"]["addon-mobile"].directives["elastic-sticky"], global["taiga-ui"]["addon-mobile"].directives["mobile-tabs"], global["taiga-ui"]["addon-mobile"].directives.ripple, global["taiga-ui"]["addon-mobile"].directives.sidebar, global["taiga-ui"]["addon-mobile"].directives.touchable));
|
|
5
|
+
})(this, (function (exports, dropdownMobile, elasticSticky, mobileTabs, ripple, sidebar, touchable) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Generated bundle index. Do not edit.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
Object.keys(dropdownMobile).forEach(function (k) {
|
|
12
|
+
if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return dropdownMobile[k]; }
|
|
15
|
+
});
|
|
16
|
+
});
|
|
11
17
|
Object.keys(elasticSticky).forEach(function (k) {
|
|
12
18
|
if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
|
|
13
19
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives.umd.js","sources":["../../../projects/addon-mobile/directives/taiga-ui-addon-mobile-directives.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;CAEG
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives.umd.js","sources":["../../../projects/addon-mobile/directives/taiga-ui-addon-mobile-directives.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;CAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@taiga-ui/cdk'), require('rxjs'), require('rxjs/operators')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@taiga-ui/addon-mobile/services', ['exports', '@angular/common', '@angular/core', '@taiga-ui/cdk', 'rxjs', 'rxjs/operators'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-mobile"] = global["taiga-ui"]["addon-mobile"] || {}, global["taiga-ui"]["addon-mobile"].services = {}), global.ng.common, global.ng.core, global.cdk, global.rxjs, global.rxjs.operators));
|
|
5
|
+
})(this, (function (exports, common, i0, cdk, rxjs, operators) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function _interopNamespace(e) {
|
|
8
|
+
if (e && e.__esModule) return e;
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n["default"] = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
|
26
|
+
|
|
27
|
+
var TuiKeyboardService = /** @class */ (function () {
|
|
28
|
+
function TuiKeyboardService(doc) {
|
|
29
|
+
var _this = this;
|
|
30
|
+
this.doc = doc;
|
|
31
|
+
this.sub = rxjs.merge(rxjs.fromEvent(this.doc, 'focusout'), rxjs.fromEvent(this.doc, 'mousedown').pipe(operators.filter(function (e) { return Object.is(e.target, _this.element); }))).subscribe(function () {
|
|
32
|
+
_this.show();
|
|
33
|
+
});
|
|
34
|
+
this.inputMode = '';
|
|
35
|
+
}
|
|
36
|
+
TuiKeyboardService.prototype.ngOnDestroy = function () {
|
|
37
|
+
this.sub.unsubscribe();
|
|
38
|
+
this.show();
|
|
39
|
+
};
|
|
40
|
+
TuiKeyboardService.prototype.toggle = function () {
|
|
41
|
+
if (this.element) {
|
|
42
|
+
this.show();
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.hide();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
TuiKeyboardService.prototype.hide = function () {
|
|
49
|
+
var focused = cdk.tuiGetNativeFocused(this.doc);
|
|
50
|
+
if ((focused === null || focused === void 0 ? void 0 : focused.inputMode) === undefined || this.element) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.element = focused;
|
|
54
|
+
this.inputMode = focused.inputMode;
|
|
55
|
+
focused.inputMode = 'none';
|
|
56
|
+
};
|
|
57
|
+
TuiKeyboardService.prototype.show = function () {
|
|
58
|
+
if (!this.element) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.element.inputMode = 'none';
|
|
62
|
+
this.element.inputMode = this.inputMode;
|
|
63
|
+
this.element = undefined;
|
|
64
|
+
};
|
|
65
|
+
return TuiKeyboardService;
|
|
66
|
+
}());
|
|
67
|
+
TuiKeyboardService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiKeyboardService, deps: [{ token: common.DOCUMENT }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
68
|
+
TuiKeyboardService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiKeyboardService, providedIn: 'root' });
|
|
69
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiKeyboardService, decorators: [{
|
|
70
|
+
type: i0.Injectable,
|
|
71
|
+
args: [{
|
|
72
|
+
providedIn: 'root',
|
|
73
|
+
}]
|
|
74
|
+
}], ctorParameters: function () {
|
|
75
|
+
return [{ type: Document, decorators: [{
|
|
76
|
+
type: i0.Inject,
|
|
77
|
+
args: [common.DOCUMENT]
|
|
78
|
+
}] }];
|
|
79
|
+
} });
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Generated bundle index. Do not edit.
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
exports.TuiKeyboardService = TuiKeyboardService;
|
|
86
|
+
|
|
87
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
88
|
+
|
|
89
|
+
}));
|
|
90
|
+
//# sourceMappingURL=taiga-ui-addon-mobile-services.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-services.umd.js","sources":["../../../projects/addon-mobile/services/keyboard.service.ts","../../../projects/addon-mobile/services/taiga-ui-addon-mobile-services.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, OnDestroy} from '@angular/core';\nimport {tuiGetNativeFocused} from '@taiga-ui/cdk';\nimport {fromEvent, merge} from 'rxjs';\nimport {filter} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiKeyboardService implements OnDestroy {\n private readonly sub = merge(\n fromEvent(this.doc, 'focusout'),\n fromEvent(this.doc, 'mousedown').pipe(\n filter(e => Object.is(e.target, this.element)),\n ),\n ).subscribe(() => {\n this.show();\n });\n\n private element?: ElementContentEditable;\n private inputMode = '';\n\n constructor(@Inject(DOCUMENT) private readonly doc: Document) {}\n\n ngOnDestroy(): void {\n this.sub.unsubscribe();\n this.show();\n }\n\n toggle(): void {\n if (this.element) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n hide(): void {\n const focused: any = tuiGetNativeFocused(this.doc);\n\n if (focused?.inputMode === undefined || this.element) {\n return;\n }\n\n this.element = focused;\n this.inputMode = focused.inputMode;\n focused.inputMode = 'none';\n }\n\n show(): void {\n if (!this.element) {\n return;\n }\n\n this.element.inputMode = 'none';\n this.element.inputMode = this.inputMode;\n this.element = undefined;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["merge","fromEvent","filter","tuiGetNativeFocused","i0","DOCUMENT","Injectable","Inject"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AASA,QAAA,kBAAA,kBAAA,YAAA;IAaI,IAAA,SAAA,kBAAA,CAA+C,GAAa,EAAA;YAA5D,IAAgE,KAAA,GAAA,IAAA,CAAA;IAAjB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAU;YAZ3C,IAAG,CAAA,GAAA,GAAGA,UAAK,CACxBC,cAAS,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAC/BA,cAAS,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CACjCC,gBAAM,CAAC,UAAA,CAAC,EAAI,EAAA,OAAA,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,CAAjC,EAAiC,CAAC,CACjD,CACJ,CAAC,SAAS,CAAC,YAAA;gBACR,KAAI,CAAC,IAAI,EAAE,CAAC;IAChB,SAAC,CAAC,CAAC;IAGK,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;SAEyC;IAEhE,IAAA,kBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;IACI,QAAA,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,EAAE,CAAC;SACf,CAAA;IAED,IAAA,kBAAA,CAAA,SAAA,CAAA,MAAM,GAAN,YAAA;YACI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,IAAI,EAAE,CAAC;IACf,SAAA;IAAM,aAAA;gBACH,IAAI,CAAC,IAAI,EAAE,CAAC;IACf,SAAA;SACJ,CAAA;IAED,IAAA,kBAAA,CAAA,SAAA,CAAA,IAAI,GAAJ,YAAA;YACI,IAAM,OAAO,GAAQC,uBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEnD,IAAI,CAAA,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;gBAClD,OAAO;IACV,SAAA;IAED,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACnC,QAAA,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;SAC9B,CAAA;IAED,IAAA,kBAAA,CAAA,SAAA,CAAA,IAAI,GAAJ,YAAA;IACI,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,OAAO;IACV,SAAA;IAED,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACxC,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;SAC5B,CAAA;;;IAhDQ,kBAAA,CAAA,IAAA,GAAAC,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,kBAAkB,kBAaPC,eAAQ,EAAA,CAAA,EAAA,MAAA,EAAAD,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;IAbnB,kBAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,kBAAkB,cAFf,MAAM,EAAA,CAAA,CAAA;sHAET,kBAAkB,EAAA,UAAA,EAAA,CAAA;sBAH9BE,aAAU;IAAC,YAAA,IAAA,EAAA,CAAA;IACR,oBAAA,UAAU,EAAE,MAAM;qBACrB,CAAA;;4BAcuD,QAAQ,EAAA,UAAA,EAAA,CAAA;kCAA/CC,SAAM;mCAACF,eAAQ,CAAA;;;;ICtBhC;;IAEG;;;;;;;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/addon-mobile/components'), require('@taiga-ui/addon-mobile/const'), require('@taiga-ui/addon-mobile/directives'), require('@taiga-ui/addon-mobile/interfaces'), require('@taiga-ui/addon-mobile/types'), require('@taiga-ui/addon-mobile/utils')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@taiga-ui/addon-mobile', ['exports', '@taiga-ui/addon-mobile/components', '@taiga-ui/addon-mobile/const', '@taiga-ui/addon-mobile/directives', '@taiga-ui/addon-mobile/interfaces', '@taiga-ui/addon-mobile/types', '@taiga-ui/addon-mobile/utils'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-mobile"] = {}), global["taiga-ui"]["addon-mobile"].components, global["taiga-ui"]["addon-mobile"]["const"], global["taiga-ui"]["addon-mobile"].directives, global["taiga-ui"]["addon-mobile"].interfaces, global["taiga-ui"]["addon-mobile"].types, global["taiga-ui"]["addon-mobile"].utils));
|
|
5
|
-
})(this, (function (exports, components, _const, directives, interfaces, types, utils) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/addon-mobile/components'), require('@taiga-ui/addon-mobile/const'), require('@taiga-ui/addon-mobile/directives'), require('@taiga-ui/addon-mobile/interfaces'), require('@taiga-ui/addon-mobile/services'), require('@taiga-ui/addon-mobile/types'), require('@taiga-ui/addon-mobile/utils')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@taiga-ui/addon-mobile', ['exports', '@taiga-ui/addon-mobile/components', '@taiga-ui/addon-mobile/const', '@taiga-ui/addon-mobile/directives', '@taiga-ui/addon-mobile/interfaces', '@taiga-ui/addon-mobile/services', '@taiga-ui/addon-mobile/types', '@taiga-ui/addon-mobile/utils'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-mobile"] = {}), global["taiga-ui"]["addon-mobile"].components, global["taiga-ui"]["addon-mobile"]["const"], global["taiga-ui"]["addon-mobile"].directives, global["taiga-ui"]["addon-mobile"].interfaces, global["taiga-ui"]["addon-mobile"].services, global["taiga-ui"]["addon-mobile"].types, global["taiga-ui"]["addon-mobile"].utils));
|
|
5
|
+
})(this, (function (exports, components, _const, directives, interfaces, services, types, utils) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Generated bundle index. Do not edit.
|
|
@@ -32,6 +32,12 @@
|
|
|
32
32
|
get: function () { return interfaces[k]; }
|
|
33
33
|
});
|
|
34
34
|
});
|
|
35
|
+
Object.keys(services).forEach(function (k) {
|
|
36
|
+
if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () { return services[k]; }
|
|
39
|
+
});
|
|
40
|
+
});
|
|
35
41
|
Object.keys(types).forEach(function (k) {
|
|
36
42
|
if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
|
|
37
43
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile.umd.js","sources":["../../../projects/addon-mobile/taiga-ui-addon-mobile.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;CAEG
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile.umd.js","sources":["../../../projects/addon-mobile/taiga-ui-addon-mobile.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;CAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { AfterViewInit, ElementRef, OnDestroy } from '@angular/core';
|
|
2
|
+
import { TuiKeyboardService } from '@taiga-ui/addon-mobile/services';
|
|
3
|
+
import { TuiSwipe } from '@taiga-ui/cdk';
|
|
4
|
+
import { TuiDropdownDirective } from '@taiga-ui/core';
|
|
5
|
+
import { TuiDropdownMobileDirective } from './dropdown-mobile.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class TuiDropdownMobileComponent implements OnDestroy, AfterViewInit {
|
|
8
|
+
private readonly keyboard;
|
|
9
|
+
private readonly doc;
|
|
10
|
+
private readonly duration;
|
|
11
|
+
readonly el: ElementRef<HTMLElement>;
|
|
12
|
+
readonly dropdown: TuiDropdownDirective;
|
|
13
|
+
readonly directive: TuiDropdownMobileDirective;
|
|
14
|
+
private readonly scrollTop;
|
|
15
|
+
private readonly observer;
|
|
16
|
+
readonly animation: {
|
|
17
|
+
readonly value: "";
|
|
18
|
+
readonly params: {
|
|
19
|
+
readonly start: "100vh";
|
|
20
|
+
readonly duration: number;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
constructor(_: any, keyboard: TuiKeyboardService, doc: Document, duration: number, el: ElementRef<HTMLElement>, dropdown: TuiDropdownDirective, directive: TuiDropdownMobileDirective);
|
|
24
|
+
onClick(event: MouseEvent): void;
|
|
25
|
+
onSwipe({ direction }: TuiSwipe, el: HTMLElement): void;
|
|
26
|
+
onIntersection([{ isIntersecting }]: IntersectionObserverEntry[]): void;
|
|
27
|
+
close(): void;
|
|
28
|
+
refresh({ offsetTop, height }: VisualViewport): void;
|
|
29
|
+
ngAfterViewInit(): void;
|
|
30
|
+
ngOnDestroy(): void;
|
|
31
|
+
private get focused();
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownMobileComponent, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TuiDropdownMobileComponent, "tui-dropdown-mobile", never, {}, {}, never, never>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class TuiDropdownMobileDirective {
|
|
3
|
+
private readonly isMobile;
|
|
4
|
+
tuiDropdownMobile: string;
|
|
5
|
+
constructor(isMobile: boolean);
|
|
6
|
+
onMouseDown(event: MouseEvent): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownMobileDirective, never>;
|
|
8
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownMobileDirective, "[tuiDropdownMobile]", never, { "tuiDropdownMobile": "tuiDropdownMobile"; }, {}, never>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./dropdown-mobile.component";
|
|
3
|
+
import * as i2 from "./dropdown-mobile.directive";
|
|
4
|
+
import * as i3 from "@tinkoff/ng-polymorpheus";
|
|
5
|
+
import * as i4 from "@angular/common";
|
|
6
|
+
import * as i5 from "@taiga-ui/cdk";
|
|
7
|
+
import * as i6 from "@ng-web-apis/intersection-observer";
|
|
8
|
+
export declare class TuiDropdownMobileModule {
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownMobileModule, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiDropdownMobileModule, [typeof i1.TuiDropdownMobileComponent, typeof i2.TuiDropdownMobileDirective], [typeof i3.PolymorpheusModule, typeof i4.CommonModule, typeof i5.TuiSwipeModule, typeof i6.IntersectionObserverModule], [typeof i2.TuiDropdownMobileDirective]>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TuiDropdownMobileModule>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"main": "../../bundles/taiga-ui-addon-mobile-directives-dropdown-mobile.umd.js",
|
|
3
|
+
"module": "../../fesm2015/taiga-ui-addon-mobile-directives-dropdown-mobile.js",
|
|
4
|
+
"es2015": "../../fesm2015/taiga-ui-addon-mobile-directives-dropdown-mobile.js",
|
|
5
|
+
"esm2015": "../../esm2015/directives/dropdown-mobile/taiga-ui-addon-mobile-directives-dropdown-mobile.js",
|
|
6
|
+
"fesm2015": "../../fesm2015/taiga-ui-addon-mobile-directives-dropdown-mobile.js",
|
|
7
|
+
"typings": "taiga-ui-addon-mobile-directives-dropdown-mobile.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"name": "@taiga-ui/addon-mobile/directives/dropdown-mobile"
|
|
10
|
+
}
|
package/directives/index.d.ts
CHANGED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ElementRef, Inject, ViewEncapsulation, } from '@angular/core';
|
|
3
|
+
import { TuiKeyboardService } from '@taiga-ui/addon-mobile/services';
|
|
4
|
+
import { TuiActiveZoneDirective, tuiGetNativeFocused, tuiPx, } from '@taiga-ui/cdk';
|
|
5
|
+
import { TUI_ANIMATIONS_DURATION, TuiDropdownDirective, tuiFadeIn, tuiSlideInTop, } from '@taiga-ui/core';
|
|
6
|
+
import { TuiDropdownMobileDirective } from './dropdown-mobile.directive';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@ng-web-apis/intersection-observer";
|
|
10
|
+
import * as i3 from "@taiga-ui/cdk";
|
|
11
|
+
import * as i4 from "@tinkoff/ng-polymorpheus";
|
|
12
|
+
import * as i5 from "@taiga-ui/addon-mobile/services";
|
|
13
|
+
import * as i6 from "@taiga-ui/core";
|
|
14
|
+
import * as i7 from "./dropdown-mobile.directive";
|
|
15
|
+
const GAP = 16;
|
|
16
|
+
export class TuiDropdownMobileComponent {
|
|
17
|
+
constructor(_, keyboard, doc, duration, el, dropdown, directive) {
|
|
18
|
+
this.keyboard = keyboard;
|
|
19
|
+
this.doc = doc;
|
|
20
|
+
this.duration = duration;
|
|
21
|
+
this.el = el;
|
|
22
|
+
this.dropdown = dropdown;
|
|
23
|
+
this.directive = directive;
|
|
24
|
+
this.scrollTop = this.doc.documentElement.scrollTop;
|
|
25
|
+
this.observer = new ResizeObserver(() => this.refresh(this.doc.defaultView.visualViewport));
|
|
26
|
+
this.animation = {
|
|
27
|
+
value: '',
|
|
28
|
+
params: {
|
|
29
|
+
start: '100vh',
|
|
30
|
+
duration: this.duration,
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
this.observer.observe(this.dropdown.el.nativeElement);
|
|
34
|
+
this.doc.documentElement.style.setProperty('scroll-behavior', 'initial');
|
|
35
|
+
}
|
|
36
|
+
onClick(event) {
|
|
37
|
+
if (!this.el.nativeElement.contains(event.target)) {
|
|
38
|
+
event.stopPropagation();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
onSwipe({ direction }, el) {
|
|
42
|
+
var _a;
|
|
43
|
+
if (direction === 'bottom' &&
|
|
44
|
+
el.getBoundingClientRect().bottom > Number((_a = this.doc.defaultView) === null || _a === void 0 ? void 0 : _a.innerHeight)) {
|
|
45
|
+
this.close();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
onIntersection([{ isIntersecting }]) {
|
|
49
|
+
if (isIntersecting) {
|
|
50
|
+
this.close();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
close() {
|
|
54
|
+
this.dropdown.toggle(false);
|
|
55
|
+
}
|
|
56
|
+
refresh({ offsetTop, height }) {
|
|
57
|
+
this.doc.body.style.removeProperty('--t-root-top');
|
|
58
|
+
if (!this.focused ||
|
|
59
|
+
this.directive.tuiDropdownMobile ||
|
|
60
|
+
!this.doc.documentElement.style.getPropertyValue('scroll-behavior')) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this.doc.documentElement.scrollTop = 0;
|
|
64
|
+
const rect = this.dropdown.el.nativeElement.getBoundingClientRect();
|
|
65
|
+
const offset = rect.height + GAP * 2;
|
|
66
|
+
this.el.nativeElement.style.setProperty('top', tuiPx(offsetTop + offset));
|
|
67
|
+
this.el.nativeElement.style.setProperty('height', tuiPx(height - offset));
|
|
68
|
+
this.doc.body.classList.add('t-dropdown-mobile');
|
|
69
|
+
this.doc.body.style.setProperty('--t-root-top', tuiPx(offsetTop + GAP - rect.top));
|
|
70
|
+
}
|
|
71
|
+
ngAfterViewInit() {
|
|
72
|
+
this.el.nativeElement.scrollTop = this.directive.tuiDropdownMobile
|
|
73
|
+
? this.el.nativeElement.clientHeight
|
|
74
|
+
: 0;
|
|
75
|
+
}
|
|
76
|
+
ngOnDestroy() {
|
|
77
|
+
this.observer.disconnect();
|
|
78
|
+
this.doc.body.classList.remove('t-dropdown-mobile');
|
|
79
|
+
this.doc.body.style.removeProperty('--t-root-top');
|
|
80
|
+
this.doc.documentElement.scrollTop = this.scrollTop;
|
|
81
|
+
this.doc.documentElement.style.removeProperty('scroll-behavior');
|
|
82
|
+
if (this.focused) {
|
|
83
|
+
this.keyboard.hide();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
get focused() {
|
|
87
|
+
return this.dropdown.el.nativeElement.contains(tuiGetNativeFocused(this.doc));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
TuiDropdownMobileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownMobileComponent, deps: [{ token: TuiActiveZoneDirective }, { token: TuiKeyboardService }, { token: DOCUMENT }, { token: TUI_ANIMATIONS_DURATION }, { token: ElementRef }, { token: TuiDropdownDirective }, { token: TuiDropdownMobileDirective }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
+
TuiDropdownMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownMobileComponent, selector: "tui-dropdown-mobile", host: { listeners: { "document:click.silent.capture": "onClick($event)", "window>scroll.silent.capture": "refresh($event.currentTarget.visualViewport)", "visualViewport>resize.silent": "refresh($event.target)", "visualViewport>scroll.silent": "refresh($event.target)" }, properties: { "@tuiFadeIn": "animation", "@tuiSlideInTop": "animation", "class._sheet": "directive.tuiDropdownMobile" } }, providers: [TuiActiveZoneDirective], ngImport: i0, template: "<div\n *ngIf=\"directive.tuiDropdownMobile\"\n waIntersectionObserver\n waIntersectionThreshold=\"1\"\n class=\"t-filler\"\n (touchstart.silent)=\"close()\"\n (waIntersectionObservee)=\"onIntersection($event)\"\n></div>\n<div\n #container\n class=\"t-container\"\n (tuiSwipe)=\"onSwipe($event, container)\"\n>\n <h2\n *ngIf=\"directive.tuiDropdownMobile\"\n class=\"t-heading\"\n >\n {{ directive.tuiDropdownMobile }}\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"dropdown.content as text\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: ["tui-dropdown-mobile:not(._sheet){scrollbar-width:none;-ms-overflow-style:none;position:fixed;top:0;left:0;width:100%;height:100%;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;visibility:visible!important;transform:translate(0);background:var(--tui-base-01);overscroll-behavior:contain;overflow:auto;box-shadow:0 -.5rem .5rem var(--tui-base-01),0 10rem var(--tui-base-01),0 20rem var(--tui-base-01),0 30rem var(--tui-base-01)}tui-dropdown-mobile:not(._sheet)::-webkit-scrollbar,tui-dropdown-mobile:not(._sheet)::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile:not(._sheet):after{content:\"\";display:block;height:1px}tui-dropdown-mobile:not(._sheet)>.t-container{scrollbar-width:none;-ms-overflow-style:none;position:-webkit-sticky;position:sticky;top:0;height:100%;overflow:auto;margin:0 .75rem;touch-action:pan-y!important}tui-dropdown-mobile:not(._sheet)>.t-container::-webkit-scrollbar,tui-dropdown-mobile:not(._sheet)>.t-container::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile:not(._sheet) [tuiDropdownButton][tuiDropdownButton]{position:fixed;right:1rem;bottom:1rem;display:inline-flex}tui-dropdown-mobile._sheet{position:fixed;top:0;left:0;bottom:0;right:0;scrollbar-width:none;-ms-overflow-style:none;overflow:auto;background:rgba(0,0,0,.75);box-shadow:0 -50vh 5rem 5rem #000000bf;overflow-y:scroll;scroll-snap-type:y mandatory;overscroll-behavior:none}tui-dropdown-mobile._sheet::-webkit-scrollbar,tui-dropdown-mobile._sheet::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile._sheet>.t-filler{height:100%;scroll-snap-stop:always;scroll-snap-align:start}tui-dropdown-mobile._sheet>.t-container{display:flex;max-height:calc(100% - 1rem);flex-direction:column;border-top-left-radius:1rem;border-top-right-radius:1rem;padding:0 .5rem;scroll-snap-stop:always;scroll-snap-align:start;background:var(--tui-elevation-01)}tui-dropdown-mobile._sheet>.t-container>.t-heading{position:relative;margin:0;padding:2rem .5rem .75rem;font:var(--tui-font-heading-6)}tui-dropdown-mobile._sheet>.t-container>.t-heading:before{content:\"\";position:absolute;left:50%;top:.75rem;width:2rem;height:.25rem;border-radius:1rem;background:var(--tui-clear-hover);transform:translate(-50%,-50%)}tui-dropdown-mobile._sheet>.t-container>.t-content{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}tui-dropdown-mobile._sheet>.t-container>.t-content::-webkit-scrollbar,tui-dropdown-mobile._sheet>.t-container>.t-content::-webkit-scrollbar-thumb{display:none}.t-dropdown-mobile{touch-action:none;visibility:hidden}.t-dropdown-mobile *{touch-action:inherit;visibility:inherit}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.IntersectionObserverDirective, selector: "[waIntersectionObserver]", exportAs: ["IntersectionObserver"] }, { type: i2.IntersectionObserveeDirective, selector: "[waIntersectionObservee]", outputs: ["waIntersectionObservee"] }, { type: i3.TuiSwipeDirective, selector: "[tuiSwipe]", outputs: ["tuiSwipe"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownMobileComponent, decorators: [{
|
|
93
|
+
type: Component,
|
|
94
|
+
args: [{
|
|
95
|
+
selector: 'tui-dropdown-mobile',
|
|
96
|
+
templateUrl: './dropdown-mobile.template.html',
|
|
97
|
+
styleUrls: ['./dropdown-mobile.style.less'],
|
|
98
|
+
encapsulation: ViewEncapsulation.None,
|
|
99
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
100
|
+
providers: [TuiActiveZoneDirective],
|
|
101
|
+
animations: [tuiSlideInTop, tuiFadeIn],
|
|
102
|
+
host: {
|
|
103
|
+
'[@tuiFadeIn]': 'animation',
|
|
104
|
+
'[@tuiSlideInTop]': 'animation',
|
|
105
|
+
'[class._sheet]': 'directive.tuiDropdownMobile',
|
|
106
|
+
'(document:click.silent.capture)': 'onClick($event)',
|
|
107
|
+
'(window>scroll.silent.capture)': 'refresh($event.currentTarget.visualViewport)',
|
|
108
|
+
'(visualViewport>resize.silent)': 'refresh($event.target)',
|
|
109
|
+
'(visualViewport>scroll.silent)': 'refresh($event.target)',
|
|
110
|
+
},
|
|
111
|
+
}]
|
|
112
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
113
|
+
type: Inject,
|
|
114
|
+
args: [TuiActiveZoneDirective]
|
|
115
|
+
}] }, { type: i5.TuiKeyboardService, decorators: [{
|
|
116
|
+
type: Inject,
|
|
117
|
+
args: [TuiKeyboardService]
|
|
118
|
+
}] }, { type: Document, decorators: [{
|
|
119
|
+
type: Inject,
|
|
120
|
+
args: [DOCUMENT]
|
|
121
|
+
}] }, { type: undefined, decorators: [{
|
|
122
|
+
type: Inject,
|
|
123
|
+
args: [TUI_ANIMATIONS_DURATION]
|
|
124
|
+
}] }, { type: i0.ElementRef, decorators: [{
|
|
125
|
+
type: Inject,
|
|
126
|
+
args: [ElementRef]
|
|
127
|
+
}] }, { type: i6.TuiDropdownDirective, decorators: [{
|
|
128
|
+
type: Inject,
|
|
129
|
+
args: [TuiDropdownDirective]
|
|
130
|
+
}] }, { type: i7.TuiDropdownMobileDirective, decorators: [{
|
|
131
|
+
type: Inject,
|
|
132
|
+
args: [TuiDropdownMobileDirective]
|
|
133
|
+
}] }]; } });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbW9iaWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9kaXJlY3RpdmVzL2Ryb3Bkb3duLW1vYmlsZS9kcm9wZG93bi1tb2JpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2RpcmVjdGl2ZXMvZHJvcGRvd24tbW9iaWxlL2Ryb3Bkb3duLW1vYmlsZS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUVOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsU0FBUyxFQUNULGFBQWEsR0FDaEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7O0FBRXZFLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQW9CZixNQUFNLE9BQU8sMEJBQTBCO0lBY25DLFlBQ29DLENBQU0sRUFDTyxRQUE0QixFQUN0QyxHQUFhLEVBQ0UsUUFBZ0IsRUFDckMsRUFBMkIsRUFDakIsUUFBOEIsRUFFNUQsU0FBcUM7UUFORCxhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUN0QyxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQ0UsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNyQyxPQUFFLEdBQUYs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a0JBZXZCLHNCQUFzQixhQUN0QixrQkFBa0IsYUFDbEIsUUFBUSxhQUNSLHVCQUF1QixhQUN2QixVQUFVLGFBQ1Ysb0JBQW9CLGFBQ3BCLDBCQUEwQjs0R0FyQjdCLDBCQUEwQix3YkFaeEIsQ0FBQyxzQkFBc0IsQ0FBQywwQkNsQ3ZDLG1wQkF5QkEsaXFHRFVnQixDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUM7NEZBVzdCLDBCQUEwQjtrQkFsQnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ25DLFVBQVUsRUFBRSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUM7b0JBQ3RDLElBQUksRUFBRTt3QkFDRixjQUFjLEVBQUUsV0FBVzt3QkFDM0Isa0JBQWtCLEVBQUUsV0FBVzt3QkFDL0IsZ0JBQWdCLEVBQUUsNkJBQTZCO3dCQUMvQyxpQ0FBaUMsRUFBRSxpQkFBaUI7d0JBQ3BELGdDQUFnQyxFQUFFLDhDQUE4Qzt3QkFDaEYsZ0NBQWdDLEVBQUUsd0JBQXdCO3dCQUMxRCxnQ0FBZ0MsRUFBRSx3QkFBd0I7cUJBQzdEO2lCQUNKOzswQkFnQlEsTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixNQUFNOzJCQUFDLGtCQUFrQjs4QkFDYyxRQUFROzBCQUEvQyxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsdUJBQXVCOzswQkFDOUIsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUtleWJvYXJkU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgdHVpR2V0TmF0aXZlRm9jdXNlZCxcbiAgICB0dWlQeCxcbiAgICBUdWlTd2lwZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05TX0RVUkFUSU9OLFxuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIHR1aUZhZGVJbixcbiAgICB0dWlTbGlkZUluVG9wLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmltcG9ydCB7VHVpRHJvcGRvd25Nb2JpbGVEaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24tbW9iaWxlLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IEdBUCA9IDE2O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kcm9wZG93bi1tb2JpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1tb2JpbGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tbW9iaWxlLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1R1aUFjdGl2ZVpvbmVEaXJlY3RpdmVdLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlTbGlkZUluVG9wLCB0dWlGYWRlSW5dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tAdHVpRmFkZUluXSc6ICdhbmltYXRpb24nLFxuICAgICAgICAnW0B0dWlTbGlkZUluVG9wXSc6ICdhbmltYXRpb24nLFxuICAgICAgICAnW2NsYXNzLl9zaGVldF0nOiAnZGlyZWN0aXZlLnR1aURyb3Bkb3duTW9iaWxlJyxcbiAgICAgICAgJyhkb2N1bWVudDpjbGljay5zaWxlbnQuY2FwdHVyZSknOiAnb25DbGljaygkZXZlbnQpJyxcbiAgICAgICAgJyh3aW5kb3c+c2Nyb2xsLnNpbGVudC5jYXB0dXJlKSc6ICdyZWZyZXNoKCRldmVudC5jdXJyZW50VGFyZ2V0LnZpc3VhbFZpZXdwb3J0KScsXG4gICAgICAgICcodmlzdWFsVmlld3BvcnQ+cmVzaXplLnNpbGVudCknOiAncmVmcmVzaCgkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcodmlzdWFsVmlld3BvcnQ+c2Nyb2xsLnNpbGVudCknOiAncmVmcmVzaCgkZXZlbnQudGFyZ2V0KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Nb2JpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsVG9wID0gdGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+XG4gICAgICAgIHRoaXMucmVmcmVzaCh0aGlzLmRvYy5kZWZhdWx0VmlldyEudmlzdWFsVmlld3BvcnQpLFxuICAgICk7XG5cbiAgICByZWFkb25seSBhbmltYXRpb24gPSB7XG4gICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBzdGFydDogJzEwMHZoJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiB0aGlzLmR1cmF0aW9uLFxuICAgICAgICB9LFxuICAgIH0gYXMgY29uc3Q7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlBY3RpdmVab25lRGlyZWN0aXZlKSBfOiBhbnksXG4gICAgICAgIEBJbmplY3QoVHVpS2V5Ym9hcmRTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGtleWJvYXJkOiBUdWlLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OU19EVVJBVElPTikgcHJpdmF0ZSByZWFkb25seSBkdXJhdGlvbjogbnVtYmVyLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSkgcmVhZG9ubHkgZHJvcGRvd246IFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KFR1aURyb3Bkb3duTW9iaWxlRGlyZWN0aXZlKVxuICAgICAgICByZWFkb25seSBkaXJlY3RpdmU6IFR1aURyb3Bkb3duTW9iaWxlRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy5kcm9wZG93bi5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgdGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdzY3JvbGwtYmVoYXZpb3InLCAnaW5pdGlhbCcpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU3dpcGUoe2RpcmVjdGlvbn06IFR1aVN3aXBlLCBlbDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZGlyZWN0aW9uID09PSAnYm90dG9tJyAmJlxuICAgICAgICAgICAgZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tID4gTnVtYmVyKHRoaXMuZG9jLmRlZmF1bHRWaWV3Py5pbm5lckhlaWdodClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkludGVyc2VjdGlvbihbe2lzSW50ZXJzZWN0aW5nfV06IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnlbXSk6IHZvaWQge1xuICAgICAgICBpZiAoaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZShmYWxzZSk7XG4gICAgfVxuXG4gICAgcmVmcmVzaCh7b2Zmc2V0VG9wLCBoZWlnaHR9OiBWaXN1YWxWaWV3cG9ydCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRvYy5ib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXQtcm9vdC10b3AnKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5mb2N1c2VkIHx8XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZS50dWlEcm9wZG93bk1vYmlsZSB8fFxuICAgICAgICAgICAgIXRoaXMuZG9jLmRvY3VtZW50RWxlbWVudC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdzY3JvbGwtYmVoYXZpb3InKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuXG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLmRyb3Bkb3duLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHJlY3QuaGVpZ2h0ICsgR0FQICogMjtcblxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ3RvcCcsIHR1aVB4KG9mZnNldFRvcCArIG9mZnNldCkpO1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2hlaWdodCcsIHR1aVB4KGhlaWdodCAtIG9mZnNldCkpO1xuICAgICAgICB0aGlzLmRvYy5ib2R5LmNsYXNzTGlzdC5hZGQoJ3QtZHJvcGRvd24tbW9iaWxlJyk7XG4gICAgICAgIHRoaXMuZG9jLmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAgICAgICAnLS10LXJvb3QtdG9wJyxcbiAgICAgICAgICAgIHR1aVB4KG9mZnNldFRvcCArIEdBUCAtIHJlY3QudG9wKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLmRpcmVjdGl2ZS50dWlEcm9wZG93bk1vYmlsZVxuICAgICAgICAgICAgPyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0XG4gICAgICAgICAgICA6IDA7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICB0aGlzLmRvYy5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ3QtZHJvcGRvd24tbW9iaWxlJyk7XG4gICAgICAgIHRoaXMuZG9jLmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tdC1yb290LXRvcCcpO1xuICAgICAgICB0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5zY3JvbGxUb3A7XG4gICAgICAgIHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnc2Nyb2xsLWJlaGF2aW9yJyk7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5rZXlib2FyZC5oaWRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93bi5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHR1aUdldE5hdGl2ZUZvY3VzZWQodGhpcy5kb2MpKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKm5nSWY9XCJkaXJlY3RpdmUudHVpRHJvcGRvd25Nb2JpbGVcIlxuICAgIHdhSW50ZXJzZWN0aW9uT2JzZXJ2ZXJcbiAgICB3YUludGVyc2VjdGlvblRocmVzaG9sZD1cIjFcIlxuICAgIGNsYXNzPVwidC1maWxsZXJcIlxuICAgICh0b3VjaHN0YXJ0LnNpbGVudCk9XCJjbG9zZSgpXCJcbiAgICAod2FJbnRlcnNlY3Rpb25PYnNlcnZlZSk9XCJvbkludGVyc2VjdGlvbigkZXZlbnQpXCJcbj48L2Rpdj5cbjxkaXZcbiAgICAjY29udGFpbmVyXG4gICAgY2xhc3M9XCJ0LWNvbnRhaW5lclwiXG4gICAgKHR1aVN3aXBlKT1cIm9uU3dpcGUoJGV2ZW50LCBjb250YWluZXIpXCJcbj5cbiAgICA8aDJcbiAgICAgICAgKm5nSWY9XCJkaXJlY3RpdmUudHVpRHJvcGRvd25Nb2JpbGVcIlxuICAgICAgICBjbGFzcz1cInQtaGVhZGluZ1wiXG4gICAgPlxuICAgICAgICB7eyBkaXJlY3RpdmUudHVpRHJvcGRvd25Nb2JpbGUgfX1cbiAgICA8L2gyPlxuICAgIDxkaXYgY2xhc3M9XCJ0LWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZHJvcGRvd24uY29udGVudCBhcyB0ZXh0XCI+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Directive, HostListener, Inject, inject, InjectFlags, Input } from '@angular/core';
|
|
2
|
+
import { TUI_IS_MOBILE, tuiIsHTMLElement } from '@taiga-ui/cdk';
|
|
3
|
+
import { TUI_DROPDOWN_COMPONENT } from '@taiga-ui/core';
|
|
4
|
+
import { TuiDropdownMobileComponent } from './dropdown-mobile.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class TuiDropdownMobileDirective {
|
|
7
|
+
constructor(isMobile) {
|
|
8
|
+
this.isMobile = isMobile;
|
|
9
|
+
this.tuiDropdownMobile = '';
|
|
10
|
+
}
|
|
11
|
+
onMouseDown(event) {
|
|
12
|
+
if (!this.isMobile ||
|
|
13
|
+
!tuiIsHTMLElement(event.target) ||
|
|
14
|
+
!event.target.matches('input,textarea')) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
event.preventDefault();
|
|
18
|
+
event.target.focus({ preventScroll: true });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
TuiDropdownMobileDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownMobileDirective, deps: [{ token: TUI_IS_MOBILE }], target: i0.ɵɵFactoryTarget.Directive });
|
|
22
|
+
TuiDropdownMobileDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownMobileDirective, selector: "[tuiDropdownMobile]", inputs: { tuiDropdownMobile: "tuiDropdownMobile" }, host: { listeners: { "mousedown": "onMouseDown($event)" }, properties: { "style.visibility": "\"visible\"" } }, providers: [
|
|
23
|
+
{
|
|
24
|
+
provide: TUI_DROPDOWN_COMPONENT,
|
|
25
|
+
useFactory: () => inject(TUI_IS_MOBILE)
|
|
26
|
+
? TuiDropdownMobileComponent
|
|
27
|
+
: inject(TUI_DROPDOWN_COMPONENT, InjectFlags.SkipSelf),
|
|
28
|
+
},
|
|
29
|
+
], ngImport: i0 });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownMobileDirective, decorators: [{
|
|
31
|
+
type: Directive,
|
|
32
|
+
args: [{
|
|
33
|
+
selector: '[tuiDropdownMobile]',
|
|
34
|
+
providers: [
|
|
35
|
+
{
|
|
36
|
+
provide: TUI_DROPDOWN_COMPONENT,
|
|
37
|
+
useFactory: () => inject(TUI_IS_MOBILE)
|
|
38
|
+
? TuiDropdownMobileComponent
|
|
39
|
+
: inject(TUI_DROPDOWN_COMPONENT, InjectFlags.SkipSelf),
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
host: {
|
|
43
|
+
'[style.visibility]': '"visible"',
|
|
44
|
+
},
|
|
45
|
+
}]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
47
|
+
type: Inject,
|
|
48
|
+
args: [TUI_IS_MOBILE]
|
|
49
|
+
}] }]; }, propDecorators: { tuiDropdownMobile: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], onMouseDown: [{
|
|
52
|
+
type: HostListener,
|
|
53
|
+
args: ['mousedown', ['$event']]
|
|
54
|
+
}] } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbW9iaWxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9kaXJlY3RpdmVzL2Ryb3Bkb3duLW1vYmlsZS9kcm9wZG93bi1tb2JpbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUMsYUFBYSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOztBQWlCdkUsTUFBTSxPQUFPLDBCQUEwQjtJQUluQyxZQUFvRCxRQUFpQjtRQUFqQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBRnJFLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUVpRCxDQUFDO0lBR3pFLFdBQVcsQ0FBQyxLQUFpQjtRQUN6QixJQUNJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDZCxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDL0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUN6QztZQUNFLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7O3dIQWxCUSwwQkFBMEIsa0JBSWYsYUFBYTs0R0FKeEIsMEJBQTBCLGtOQWJ4QjtRQUNQO1lBQ0ksT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQ2IsTUFBTSxDQUFDLGFBQWEsQ0FBQztnQkFDakIsQ0FBQyxDQUFDLDBCQUEwQjtnQkFDNUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDO1NBQ2pFO0tBQ0o7NEZBS1EsMEJBQTBCO2tCQWZ0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsc0JBQXNCOzRCQUMvQixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQ2IsTUFBTSxDQUFDLGFBQWEsQ0FBQztnQ0FDakIsQ0FBQyxDQUFDLDBCQUEwQjtnQ0FDNUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDO3lCQUNqRTtxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0Ysb0JBQW9CLEVBQUUsV0FBVztxQkFDcEM7aUJBQ0o7OzBCQUtnQixNQUFNOzJCQUFDLGFBQWE7NENBRmpDLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFNTixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBpbmplY3QsIEluamVjdEZsYWdzLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEUsIHR1aUlzSFRNTEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fQ09NUE9ORU5UfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmltcG9ydCB7VHVpRHJvcGRvd25Nb2JpbGVDb21wb25lbnR9IGZyb20gJy4vZHJvcGRvd24tbW9iaWxlLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duTW9iaWxlXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EUk9QRE9XTl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PlxuICAgICAgICAgICAgICAgIGluamVjdChUVUlfSVNfTU9CSUxFKVxuICAgICAgICAgICAgICAgICAgICA/IFR1aURyb3Bkb3duTW9iaWxlQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgIDogaW5qZWN0KFRVSV9EUk9QRE9XTl9DT01QT05FTlQsIEluamVjdEZsYWdzLlNraXBTZWxmKSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tzdHlsZS52aXNpYmlsaXR5XSc6ICdcInZpc2libGVcIicsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Nb2JpbGVEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpXG4gICAgdHVpRHJvcGRvd25Nb2JpbGUgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoVFVJX0lTX01PQklMRSkgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbikge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuaXNNb2JpbGUgfHxcbiAgICAgICAgICAgICF0dWlJc0hUTUxFbGVtZW50KGV2ZW50LnRhcmdldCkgfHxcbiAgICAgICAgICAgICFldmVudC50YXJnZXQubWF0Y2hlcygnaW5wdXQsdGV4dGFyZWEnKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnRhcmdldC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgIH1cbn1cbiJdfQ==
|