@sd-angular/core 1.1.65 → 1.1.66

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/popover/src/lib/popover/popover.component.ts","../../../../projects/sd-core/popover/src/lib/directives/popover-trigger.directive.ts","../../../../projects/sd-core/popover/src/lib/popover.module.ts"],"names":["Object","create","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","__classPrivateFieldSet","set","PopoverComponent","cdRef","deviceService","_this","this","classList","panelId","uuid.v4","isMobileOrTablet","mouseState$","BehaviorSubject","trigger","panelClass","width","height","type","_xPosition","closed","EventEmitter","close","next","emit","setPositionClasses","pos","position","classes","_a","markForCheck","addArrowTranslateX","offset","arrowElement","document","querySelector","style","window","getComputedStyle","matrix","WebKitCSSMatrix","transform","translateX","m41","translateY","m42","error","setMouseState","visible","activeElement","panelElement","panel","nativeElement","contains","isDesktop","defineProperty","prototype","_hostClick","targetElement","ngOnChanges","changes","currentValue","preType","previousValue","sd-popover--normal","ngOnInit","ngOnDestroy","complete","Component","args","selector","template","encapsulation","ViewEncapsulation","None","exportAs","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","DeviceDetectorService","ViewChild","TemplateRef","Input","Output","HostListener","PopoverTriggerDirective","_overlay","_element","_ngZone","viewContainerRef","elementRef","platform","_dir","_overlayRef","_popoverClose$","Subscription","EMPTY","_portal","_destroy$","Subject","popoverOpen","_popover","popoverOpened","popoverClosed","openPopover","overlayRef","_createOverlay","overlayConfig","getConfig","positionStrategy","_setPosition","hasBackdrop","attach","_getPortal","popover","_setIsPopoverOpen","closePopover","isOpen","templateRef","TemplatePortal","config","_getOverlayConfig","_subscribeToPositions","originY","overlayY","withPositions","originX","overlayX","offsetY","offsetX","OverlayConfig","flexibleConnectedTo","withLockedPosition","withGrowAfterOpen","withTransformOriginOn","backdropClass","direction","positionChanges","subscribe","change","connectionPair","run","originElement","overlayElement","rootNodes","originRect","getBoundingClientRect","overlayRect","left","_destroyPopover","detach","unsubscribe","ngAfterViewInit","hostMouseState$","merge","fromEvent","pipe","mapTo","popoverMouseState$","filter","v","debounceTime","distinctUntilChanged","isBrowser","takeUntil","dispose","Directive","host","aria-haspopup","class","Overlay","ElementRef","NgZone","ViewContainerRef","Platform","Directionality","decorators","Optional","NgModule","declarations","imports","CommonModule","A11yModule","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 (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 || Array.prototype.slice.call(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 {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n OnChanges,\r\n SimpleChanges\r\n} from \"@angular/core\";\r\nimport { Position } from \"../popover.model\";\r\nimport * as uuid from \"uuid\";\r\nimport { DeviceDetectorService } from \"ngx-device-detector\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { PopoverTriggerDirective } from \"../directives/popover-trigger.directive\";\r\n\r\nexport interface SdPopover {\r\n close: () => void;\r\n}\r\n\r\n@Component({\r\n selector: \"sd-popover\",\r\n templateUrl: \"./popover.component.html\",\r\n styleUrls: [\"./popover.component.scss\"],\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: \"sdPopover\",\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PopoverComponent implements SdPopover, OnChanges, OnInit, OnDestroy {\r\n classList: Record<string, boolean> = {};\r\n panelId = `sd-popover-panel-${uuid.v4()}`;\r\n isMobileOrTablet = false;\r\n mouseState$ = new BehaviorSubject<boolean>(false);\r\n trigger: PopoverTriggerDirective = null;\r\n\r\n @ViewChild(TemplateRef) templateRef: TemplateRef<any>;\r\n @ViewChild(\"panel\") panel: ElementRef<HTMLDivElement>;\r\n\r\n @Input() panelClass: string = \"\";\r\n @Input() width: \"lg\" | \"md\" | \"sm\" | string = \"sm\";\r\n @Input() height: string = \"auto\";\r\n @Input() type: 'normal' | 'primary' | 'info' | 'success' | 'warning' | 'danger' = \"normal\";\r\n @Input()\r\n get position(): Position {\r\n return this.#xPosition;\r\n }\r\n set position(value: Position) {\r\n this.#xPosition = value;\r\n this.setPositionClasses();\r\n }\r\n #xPosition: Position;\r\n\r\n @Output() readonly closed = new EventEmitter<void>();\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n _hostClick(targetElement) {\r\n if (this.panel?.nativeElement) {\r\n const isInside = this.panel.nativeElement.contains(targetElement);\r\n if (!isInside) {\r\n this.setMouseState(false);\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n private deviceService: DeviceDetectorService\r\n ) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes.type) {\r\n const type = changes.type.currentValue;\r\n const preType = changes.type.previousValue;\r\n this.classList = this.classList ?? {\r\n 'sd-popover--normal': true\r\n };\r\n if (preType) {\r\n this.classList[`sd-popover--${preType}`] = false;\r\n }\r\n if (type) {\r\n this.classList[`sd-popover--${type}`] = true;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setPositionClasses();\r\n this.width = this.width || \"80vw\";\r\n if (!this.isMobileOrTablet) {\r\n switch (this.width) {\r\n case \"lg\":\r\n this.width = \"80vw\";\r\n break;\r\n case \"md\":\r\n this.width = \"60vw\";\r\n break;\r\n case \"sm\":\r\n this.width = \"40vw\";\r\n break;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.closed.complete();\r\n this.mouseState$.complete();\r\n }\r\n\r\n close = () => {\r\n this.mouseState$.next(false);\r\n this.closed.emit();\r\n };\r\n\r\n setPositionClasses = (pos: Position = this.position) => {\r\n const classes = this.classList;\r\n classes[\"sd-popover-above\"] = pos === \"above\";\r\n classes[\"sd-popover-below\"] = pos === \"below\";\r\n\r\n this.cdRef?.markForCheck();\r\n };\r\n\r\n addArrowTranslateX = (offset: number) => {\r\n const arrowElement: HTMLElement = document.querySelector(`#${this.panelId} .sd-popover-arrow`);\r\n if (arrowElement && offset) {\r\n try {\r\n const style = window.getComputedStyle(arrowElement);\r\n const matrix = new WebKitCSSMatrix(style.transform);\r\n const translateX = matrix.m41 + offset;\r\n const translateY = matrix.m42;\r\n arrowElement.style.transform = `translateX(${translateX}px) translateY(${translateY}px)`;\r\n } catch (error) {}\r\n }\r\n };\r\n\r\n setMouseState = (visible: boolean) => {\r\n if (!visible) {\r\n // chỉ được tắt khi đang không focus element nào bên trong panel\r\n // tránh lỗi có control mở overlay khiến cho mất mouseenter ở panel\r\n const activeElement = document.activeElement;\r\n const panelElement = this.panel.nativeElement;\r\n if (panelElement?.contains(activeElement)) {\r\n return;\r\n }\r\n }\r\n this.mouseState$.next(visible);\r\n };\r\n}\r\n","import { Directionality } from \"@angular/cdk/bidi\";\r\nimport {\r\n FlexibleConnectedPositionStrategy,\r\n Overlay,\r\n OverlayConfig,\r\n OverlayRef,\r\n} from \"@angular/cdk/overlay\";\r\nimport { Platform } from \"@angular/cdk/platform\";\r\nimport { TemplatePortal } from \"@angular/cdk/portal\";\r\nimport {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { fromEvent, merge, Subject, Subscription } from \"rxjs\";\r\nimport {\r\n auditTime,\r\n debounceTime,\r\n distinctUntilChanged,\r\n filter,\r\n map,\r\n mapTo,\r\n takeUntil,\r\n tap,\r\n} from \"rxjs/operators\";\r\nimport { Position } from \"../popover.model\";\r\nimport { PopoverComponent } from \"../popover/popover.component\";\r\n\r\n@Directive({\r\n selector: \"[sdPopoverTriggerFor]\",\r\n host: {\r\n \"aria-haspopup\": \"true\",\r\n class: \"sd-popover-trigger\",\r\n },\r\n exportAs: \"sdPopoverTrigger\",\r\n})\r\nexport class PopoverTriggerDirective implements AfterViewInit, OnDestroy {\r\n #overlayRef: OverlayRef | null = null;\r\n #popoverClose$ = Subscription.EMPTY;\r\n #portal: TemplatePortal;\r\n #destroy$ = new Subject();\r\n\r\n popoverOpen = false;\r\n\r\n @Input(\"sdPopoverTriggerFor\")\r\n get popover() {\r\n return this.#popover;\r\n }\r\n set popover(popover: PopoverComponent) {\r\n if (popover === this.#popover) {\r\n return;\r\n }\r\n this.#popover = popover;\r\n this.#popoverClose$.unsubscribe();\r\n if (popover) {\r\n this.#popoverClose$ = popover.closed.subscribe(() => {\r\n this.#destroyPopover();\r\n });\r\n }\r\n }\r\n #popover: PopoverComponent;\r\n\r\n @Output() popoverOpened = new EventEmitter<void>();\r\n @Output() popoverClosed = new EventEmitter<void>();\r\n\r\n constructor(\r\n private _overlay: Overlay,\r\n private _element: ElementRef<HTMLElement>,\r\n private _ngZone: NgZone,\r\n private viewContainerRef: ViewContainerRef,\r\n private elementRef: ElementRef,\r\n private platform: Platform,\r\n @Optional() private _dir: Directionality\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (this.popover) {\r\n const nativeElement = this.elementRef.nativeElement;\r\n\r\n const hostMouseState$ = merge(\r\n fromEvent(nativeElement, \"mouseenter\").pipe(mapTo(true)),\r\n fromEvent(nativeElement, \"mouseleave\").pipe(mapTo(false))\r\n );\r\n\r\n const popoverMouseState$ = this.popover.mouseState$.pipe(\r\n // chỉ lấy luồng emit open bởi chính trigger (tránh lỗi nhiều trigger cho một popover)\r\n filter((v) => !this.popover.trigger || this.popover.trigger == this)\r\n );\r\n\r\n const mergedMouseState$ = merge(popoverMouseState$, hostMouseState$);\r\n\r\n mergedMouseState$\r\n .pipe(\r\n debounceTime(100),\r\n distinctUntilChanged(),\r\n filter(() => this.platform.isBrowser),\r\n takeUntil(this.#destroy$)\r\n )\r\n .subscribe((visible) => {\r\n if (visible) {\r\n this.openPopover();\r\n } else {\r\n this.closePopover();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#destroy$.next();\r\n this.#destroy$.complete();\r\n if (this.#overlayRef) {\r\n this.#overlayRef.dispose();\r\n this.#overlayRef = null;\r\n }\r\n }\r\n\r\n openPopover = () => {\r\n if (this.popoverOpen) {\r\n return;\r\n }\r\n\r\n const overlayRef = this.#createOverlay();\r\n const overlayConfig = overlayRef.getConfig();\r\n const positionStrategy =\r\n overlayConfig.positionStrategy as FlexibleConnectedPositionStrategy;\r\n this.#setPosition(positionStrategy);\r\n overlayConfig.hasBackdrop = false;\r\n overlayRef.attach(this.#getPortal());\r\n this.popover.trigger = this;\r\n this.#setIsPopoverOpen(true);\r\n };\r\n\r\n closePopover = () => {\r\n this.popover.closed.emit();\r\n };\r\n\r\n #setIsPopoverOpen = (isOpen: boolean) => {\r\n this.popoverOpen = isOpen;\r\n this.popoverOpen ? this.popoverOpened.emit() : this.popoverClosed.emit();\r\n };\r\n\r\n #getPortal = (): TemplatePortal => {\r\n if (\r\n !this.#portal ||\r\n this.#portal.templateRef !== this.popover.templateRef\r\n ) {\r\n this.#portal = new TemplatePortal(\r\n this.popover.templateRef,\r\n this.viewContainerRef\r\n );\r\n }\r\n\r\n return this.#portal;\r\n };\r\n\r\n #createOverlay = () => {\r\n if (!this.#overlayRef) {\r\n const config = this.#getOverlayConfig();\r\n this.#subscribeToPositions(\r\n config.positionStrategy as FlexibleConnectedPositionStrategy\r\n );\r\n this.#overlayRef = this._overlay.create(config);\r\n }\r\n\r\n return this.#overlayRef;\r\n };\r\n\r\n #setPosition = (positionStrategy: FlexibleConnectedPositionStrategy) => {\r\n let originX: \"start\" | \"center\" | \"end\" = \"center\";\r\n let originY: \"top\" | \"center\" | \"bottom\" = \"top\";\r\n let overlayX: \"start\" | \"center\" | \"end\" = \"center\";\r\n let overlayY: \"top\" | \"center\" | \"bottom\" = \"bottom\";\r\n let offsetX = 0;\r\n let offsetY = 16;\r\n\r\n switch (this.popover.position) {\r\n case \"above\":\r\n originY = \"top\";\r\n overlayY = \"bottom\";\r\n break;\r\n case \"below\":\r\n originY = \"bottom\";\r\n overlayY = \"top\";\r\n break;\r\n }\r\n\r\n positionStrategy.withPositions([\r\n // theo input\r\n { originX, originY, overlayX, overlayY, offsetY: originY == \"top\" ? -offsetY : offsetY },\r\n // giữa trên\r\n {\r\n originX: \"center\",\r\n originY: \"top\",\r\n overlayX: \"center\",\r\n overlayY: \"bottom\",\r\n offsetX,\r\n offsetY: -offsetY,\r\n },\r\n // giữa dưới\r\n {\r\n originX: \"center\",\r\n originY: \"bottom\",\r\n overlayX: \"center\",\r\n overlayY: \"top\",\r\n offsetX,\r\n offsetY,\r\n },\r\n ]);\r\n };\r\n\r\n #getOverlayConfig = () => {\r\n return new OverlayConfig({\r\n positionStrategy: this._overlay\r\n .position()\r\n .flexibleConnectedTo(this._element)\r\n .withLockedPosition()\r\n .withGrowAfterOpen()\r\n .withTransformOriginOn(\".sd-popover-panel\"),\r\n backdropClass: \"cdk-overlay-transparent-backdrop\",\r\n panelClass: this.popover.panelClass,\r\n direction: this._dir,\r\n width: this.popover.width,\r\n height: this.popover.height,\r\n });\r\n };\r\n\r\n #subscribeToPositions = (position: FlexibleConnectedPositionStrategy) => {\r\n if (this.popover.setPositionClasses) {\r\n position.positionChanges.subscribe((change) => {\r\n const pos: Position =\r\n change.connectionPair.overlayY === \"top\" ? \"below\" : \"above\";\r\n\r\n if (this._ngZone) {\r\n this._ngZone.run(() => this.popover.setPositionClasses(pos));\r\n } else {\r\n this.popover.setPositionClasses(pos);\r\n }\r\n\r\n const originElement: HTMLElement = this.elementRef.nativeElement;\r\n const overlayElement: HTMLElement = (\r\n this.viewContainerRef.get(0) as any\r\n )?.rootNodes[0];\r\n if (originElement && overlayElement) {\r\n const originRect = originElement.getBoundingClientRect();\r\n const overlayRect = overlayElement.getBoundingClientRect();\r\n const originLeft = originRect.left + originRect.width / 2;\r\n const overlayLeft = overlayRect.left + overlayRect.width / 2;\r\n\r\n const offset = originLeft - overlayLeft;\r\n\r\n this.popover.addArrowTranslateX(offset);\r\n }\r\n });\r\n }\r\n };\r\n\r\n #destroyPopover = () => {\r\n if (!this.#overlayRef || !this.popoverOpen) {\r\n return;\r\n }\r\n this.#overlayRef.detach();\r\n this.#setIsPopoverOpen(false);\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverComponent } from './popover/popover.component';\r\nimport { PopoverTriggerDirective } from './directives/popover-trigger.directive';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PopoverComponent, \r\n PopoverTriggerDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n A11yModule\r\n ],\r\n exports: [\r\n PopoverComponent, \r\n PopoverTriggerDirective\r\n ]\r\n})\r\nexport class SdPopoverModule { }\r\n"]}
1
+ {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/popover/src/lib/directives/popover-content.directive.ts","../../../../projects/sd-core/popover/src/lib/popover/popover.component.ts","../../../../projects/sd-core/popover/src/lib/directives/popover-trigger.directive.ts","../../../../projects/sd-core/popover/src/lib/popover.module.ts"],"names":["Object","create","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","__classPrivateFieldSet","set","templateRef","this","Directive","args","selector","TemplateRef","PopoverComponent","cdRef","deviceService","_this","classList","panelId","uuid.v4","isMobileOrTablet","mouseState$","BehaviorSubject","trigger","panelClass","width","height","type","_xPosition","closed","EventEmitter","close","next","emit","setPositionClasses","pos","position","classes","_a","markForCheck","addArrowTranslateX","offset","arrowElement","document","querySelector","style","window","getComputedStyle","matrix","WebKitCSSMatrix","transform","translateX","m41","translateY","m42","error","setMouseState","visible","activeElement","panelElement","panel","nativeElement","contains","isDesktop","defineProperty","prototype","_hostClick","targetElement","ngOnChanges","changes","currentValue","preType","previousValue","sd-popover--normal","ngOnInit","ngOnDestroy","complete","Component","template","encapsulation","ViewEncapsulation","None","exportAs","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","DeviceDetectorService","ViewChild","ContentChild","PopoverContentDirective","Input","Output","HostListener","PopoverTriggerDirective","_overlay","_element","_ngZone","viewContainerRef","elementRef","platform","_dir","_overlayRef","_popoverClose$","Subscription","EMPTY","_portal","_destroy$","Subject","popoverOpen","_popover","popoverOpened","popoverClosed","openPopover","overlayRef","_createOverlay","overlayConfig","getConfig","positionStrategy","_setPosition","hasBackdrop","attach","_getPortal","popover","_setIsPopoverOpen","closePopover","isOpen","context","data","popoverData","TemplatePortal","config","_getOverlayConfig","_subscribeToPositions","originY","overlayY","withPositions","originX","overlayX","offsetY","offsetX","OverlayConfig","flexibleConnectedTo","withLockedPosition","withGrowAfterOpen","withTransformOriginOn","backdropClass","direction","positionChanges","subscribe","change","connectionPair","run","originElement","overlayElement","rootNodes","originRect","getBoundingClientRect","overlayRect","left","_destroyPopover","detach","unsubscribe","ngAfterViewInit","hostMouseState$","merge","fromEvent","pipe","mapTo","popoverMouseState$","filter","v","debounceTime","distinctUntilChanged","isBrowser","takeUntil","dispose","host","aria-haspopup","class","Overlay","ElementRef","NgZone","ViewContainerRef","Platform","Directionality","decorators","Optional","NgModule","declarations","imports","CommonModule","A11yModule","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 (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 || Array.prototype.slice.call(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, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdPopoverContent]'\r\n})\r\nexport class PopoverContentDirective {\r\n\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n OnChanges,\r\n SimpleChanges,\r\n ContentChild\r\n} from \"@angular/core\";\r\nimport { Position } from \"../popover.model\";\r\nimport * as uuid from \"uuid\";\r\nimport { DeviceDetectorService } from \"ngx-device-detector\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { PopoverTriggerDirective } from \"../directives/popover-trigger.directive\";\r\nimport { PopoverContentDirective } from \"../directives/popover-content.directive\";\r\n\r\nexport interface SdPopover {\r\n close: () => void;\r\n}\r\n\r\n@Component({\r\n selector: \"sd-popover\",\r\n templateUrl: \"./popover.component.html\",\r\n styleUrls: [\"./popover.component.scss\"],\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: \"sdPopover\",\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PopoverComponent implements SdPopover, OnChanges, OnInit, OnDestroy {\r\n classList: Record<string, boolean> = {};\r\n panelId = `sd-popover-panel-${uuid.v4()}`;\r\n isMobileOrTablet = false;\r\n mouseState$ = new BehaviorSubject<boolean>(false);\r\n trigger: PopoverTriggerDirective = null;\r\n\r\n @ViewChild(TemplateRef) templateRef: TemplateRef<any>;\r\n @ViewChild(\"panel\") panel: ElementRef<HTMLDivElement>;\r\n @ContentChild(PopoverContentDirective) popoverContent: PopoverContentDirective\r\n\r\n @Input() panelClass: string = \"\";\r\n @Input() width: \"lg\" | \"md\" | \"sm\" | string = \"sm\";\r\n @Input() height: string = \"auto\";\r\n @Input() type: 'normal' | 'primary' | 'info' | 'success' | 'warning' | 'danger' = \"normal\";\r\n @Input()\r\n get position(): Position {\r\n return this.#xPosition;\r\n }\r\n set position(value: Position) {\r\n this.#xPosition = value;\r\n this.setPositionClasses();\r\n }\r\n #xPosition: Position;\r\n\r\n @Output() readonly closed = new EventEmitter<void>();\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n _hostClick(targetElement) {\r\n if (this.panel?.nativeElement) {\r\n const isInside = this.panel.nativeElement.contains(targetElement);\r\n if (!isInside) {\r\n this.setMouseState(false);\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n private deviceService: DeviceDetectorService\r\n ) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes.type) {\r\n const type = changes.type.currentValue;\r\n const preType = changes.type.previousValue;\r\n this.classList = this.classList ?? {\r\n 'sd-popover--normal': true\r\n };\r\n if (preType) {\r\n this.classList[`sd-popover--${preType}`] = false;\r\n }\r\n if (type) {\r\n this.classList[`sd-popover--${type}`] = true;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setPositionClasses();\r\n this.width = this.width || \"80vw\";\r\n if (!this.isMobileOrTablet) {\r\n switch (this.width) {\r\n case \"lg\":\r\n this.width = \"80vw\";\r\n break;\r\n case \"md\":\r\n this.width = \"60vw\";\r\n break;\r\n case \"sm\":\r\n this.width = \"40vw\";\r\n break;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.closed.complete();\r\n this.mouseState$.complete();\r\n }\r\n\r\n close = () => {\r\n this.mouseState$.next(false);\r\n this.closed.emit();\r\n };\r\n\r\n setPositionClasses = (pos: Position = this.position) => {\r\n const classes = this.classList;\r\n classes[\"sd-popover-above\"] = pos === \"above\";\r\n classes[\"sd-popover-below\"] = pos === \"below\";\r\n\r\n this.cdRef?.markForCheck();\r\n };\r\n\r\n addArrowTranslateX = (offset: number) => {\r\n const arrowElement: HTMLElement = document.querySelector(`#${this.panelId} .sd-popover-arrow`);\r\n if (arrowElement && offset) {\r\n try {\r\n const style = window.getComputedStyle(arrowElement);\r\n const matrix = new WebKitCSSMatrix(style.transform);\r\n const translateX = matrix.m41 + offset;\r\n const translateY = matrix.m42;\r\n arrowElement.style.transform = `translateX(${translateX}px) translateY(${translateY}px)`;\r\n } catch (error) {}\r\n }\r\n };\r\n\r\n setMouseState = (visible: boolean) => {\r\n if (!visible) {\r\n // chỉ được tắt khi đang không focus element nào bên trong panel\r\n // tránh lỗi có control mở overlay khiến cho mất mouseenter ở panel\r\n const activeElement = document.activeElement;\r\n const panelElement = this.panel.nativeElement;\r\n if (panelElement?.contains(activeElement)) {\r\n return;\r\n }\r\n }\r\n this.mouseState$.next(visible);\r\n };\r\n}\r\n","import { Directionality } from \"@angular/cdk/bidi\";\r\nimport {\r\n FlexibleConnectedPositionStrategy,\r\n Overlay,\r\n OverlayConfig,\r\n OverlayRef,\r\n} from \"@angular/cdk/overlay\";\r\nimport { Platform } from \"@angular/cdk/platform\";\r\nimport { TemplatePortal } from \"@angular/cdk/portal\";\r\nimport {\r\n AfterContentInit,\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { fromEvent, merge, Subject, Subscription } from \"rxjs\";\r\nimport {\r\n auditTime,\r\n debounceTime,\r\n distinctUntilChanged,\r\n filter,\r\n map,\r\n mapTo,\r\n takeUntil,\r\n tap,\r\n} from \"rxjs/operators\";\r\nimport { Position } from \"../popover.model\";\r\nimport { PopoverComponent } from \"../popover/popover.component\";\r\n\r\n@Directive({\r\n selector: \"[sdPopoverTriggerFor]\",\r\n host: {\r\n \"aria-haspopup\": \"true\",\r\n class: \"sd-popover-trigger\",\r\n },\r\n exportAs: \"sdPopoverTrigger\",\r\n})\r\nexport class PopoverTriggerDirective implements AfterViewInit, OnDestroy {\r\n #overlayRef: OverlayRef | null = null;\r\n #popoverClose$ = Subscription.EMPTY;\r\n #portal: TemplatePortal;\r\n #destroy$ = new Subject();\r\n\r\n popoverOpen = false;\r\n\r\n @Input(\"sdPopoverTriggerFor\")\r\n get popover() {\r\n return this.#popover;\r\n }\r\n set popover(popover: PopoverComponent) {\r\n if (popover === this.#popover) {\r\n return;\r\n }\r\n this.#popover = popover;\r\n this.#popoverClose$.unsubscribe();\r\n if (popover) {\r\n this.#popoverClose$ = popover.closed.subscribe(() => {\r\n this.#destroyPopover();\r\n });\r\n }\r\n }\r\n #popover: PopoverComponent;\r\n\r\n @Input(\"sdPopoverData\")\r\n popoverData: any;\r\n\r\n @Output() popoverOpened = new EventEmitter<void>();\r\n @Output() popoverClosed = new EventEmitter<void>();\r\n\r\n constructor(\r\n private _overlay: Overlay,\r\n private _element: ElementRef<HTMLElement>,\r\n private _ngZone: NgZone,\r\n private viewContainerRef: ViewContainerRef,\r\n private elementRef: ElementRef,\r\n private platform: Platform,\r\n @Optional() private _dir: Directionality\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (this.popover) {\r\n const nativeElement = this.elementRef.nativeElement;\r\n\r\n const hostMouseState$ = merge(\r\n fromEvent(nativeElement, \"mouseenter\").pipe(mapTo(true)),\r\n fromEvent(nativeElement, \"mouseleave\").pipe(mapTo(false))\r\n );\r\n\r\n const popoverMouseState$ = this.popover.mouseState$.pipe(\r\n // chỉ lấy luồng emit open bởi chính trigger (tránh lỗi nhiều trigger cho một popover)\r\n filter((v) => !this.popover.trigger || this.popover.trigger == this)\r\n );\r\n\r\n const mergedMouseState$ = merge(popoverMouseState$, hostMouseState$);\r\n\r\n mergedMouseState$\r\n .pipe(\r\n debounceTime(100),\r\n distinctUntilChanged(),\r\n filter(() => this.platform.isBrowser),\r\n takeUntil(this.#destroy$)\r\n )\r\n .subscribe((visible) => {\r\n if (visible) {\r\n this.openPopover();\r\n } else {\r\n this.closePopover();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#destroy$.next();\r\n this.#destroy$.complete();\r\n if (this.#overlayRef) {\r\n this.#overlayRef.dispose();\r\n this.#overlayRef = null;\r\n }\r\n }\r\n\r\n openPopover = () => {\r\n if (this.popoverOpen) {\r\n return;\r\n }\r\n\r\n const overlayRef = this.#createOverlay();\r\n const overlayConfig = overlayRef.getConfig();\r\n const positionStrategy =\r\n overlayConfig.positionStrategy as FlexibleConnectedPositionStrategy;\r\n this.#setPosition(positionStrategy);\r\n overlayConfig.hasBackdrop = false;\r\n overlayRef.attach(this.#getPortal());\r\n this.popover.trigger = this;\r\n this.#setIsPopoverOpen(true);\r\n };\r\n\r\n closePopover = () => {\r\n this.popover.closed.emit();\r\n };\r\n\r\n #setIsPopoverOpen = (isOpen: boolean) => {\r\n this.popoverOpen = isOpen;\r\n this.popoverOpen ? this.popoverOpened.emit() : this.popoverClosed.emit();\r\n };\r\n\r\n #getPortal = (): TemplatePortal => {\r\n if (\r\n !this.#portal ||\r\n this.#portal.templateRef !== this.popover.templateRef ||\r\n this.#portal.context?.data !== this.popoverData\r\n ) {\r\n this.#portal = new TemplatePortal(\r\n this.popover.templateRef,\r\n this.viewContainerRef,\r\n {\r\n data: this.popoverData\r\n }\r\n );\r\n }\r\n\r\n return this.#portal;\r\n };\r\n\r\n #createOverlay = () => {\r\n if (!this.#overlayRef) {\r\n const config = this.#getOverlayConfig();\r\n this.#subscribeToPositions(\r\n config.positionStrategy as FlexibleConnectedPositionStrategy\r\n );\r\n this.#overlayRef = this._overlay.create(config);\r\n }\r\n\r\n return this.#overlayRef;\r\n };\r\n\r\n #setPosition = (positionStrategy: FlexibleConnectedPositionStrategy) => {\r\n let originX: \"start\" | \"center\" | \"end\" = \"center\";\r\n let originY: \"top\" | \"center\" | \"bottom\" = \"top\";\r\n let overlayX: \"start\" | \"center\" | \"end\" = \"center\";\r\n let overlayY: \"top\" | \"center\" | \"bottom\" = \"bottom\";\r\n let offsetX = 0;\r\n let offsetY = 16;\r\n\r\n switch (this.popover.position) {\r\n case \"above\":\r\n originY = \"top\";\r\n overlayY = \"bottom\";\r\n break;\r\n case \"below\":\r\n originY = \"bottom\";\r\n overlayY = \"top\";\r\n break;\r\n }\r\n\r\n positionStrategy.withPositions([\r\n // theo input\r\n { originX, originY, overlayX, overlayY, offsetY: originY == \"top\" ? -offsetY : offsetY },\r\n // giữa trên\r\n {\r\n originX: \"center\",\r\n originY: \"top\",\r\n overlayX: \"center\",\r\n overlayY: \"bottom\",\r\n offsetX,\r\n offsetY: -offsetY,\r\n },\r\n // giữa dưới\r\n {\r\n originX: \"center\",\r\n originY: \"bottom\",\r\n overlayX: \"center\",\r\n overlayY: \"top\",\r\n offsetX,\r\n offsetY,\r\n },\r\n ]);\r\n };\r\n\r\n #getOverlayConfig = () => {\r\n return new OverlayConfig({\r\n positionStrategy: this._overlay\r\n .position()\r\n .flexibleConnectedTo(this._element)\r\n .withLockedPosition()\r\n .withGrowAfterOpen()\r\n .withTransformOriginOn(\".sd-popover-panel\"),\r\n backdropClass: \"cdk-overlay-transparent-backdrop\",\r\n panelClass: this.popover.panelClass,\r\n direction: this._dir,\r\n width: this.popover.width,\r\n height: this.popover.height,\r\n });\r\n };\r\n\r\n #subscribeToPositions = (position: FlexibleConnectedPositionStrategy) => {\r\n if (this.popover.setPositionClasses) {\r\n position.positionChanges.subscribe((change) => {\r\n const pos: Position =\r\n change.connectionPair.overlayY === \"top\" ? \"below\" : \"above\";\r\n\r\n if (this._ngZone) {\r\n this._ngZone.run(() => this.popover.setPositionClasses(pos));\r\n } else {\r\n this.popover.setPositionClasses(pos);\r\n }\r\n\r\n const originElement: HTMLElement = this.elementRef.nativeElement;\r\n const overlayElement: HTMLElement = (\r\n this.viewContainerRef.get(0) as any\r\n )?.rootNodes[0];\r\n if (originElement && overlayElement) {\r\n const originRect = originElement.getBoundingClientRect();\r\n const overlayRect = overlayElement.getBoundingClientRect();\r\n const originLeft = originRect.left + originRect.width / 2;\r\n const overlayLeft = overlayRect.left + overlayRect.width / 2;\r\n\r\n const offset = originLeft - overlayLeft;\r\n\r\n this.popover.addArrowTranslateX(offset);\r\n }\r\n });\r\n }\r\n };\r\n\r\n #destroyPopover = () => {\r\n if (!this.#overlayRef || !this.popoverOpen) {\r\n return;\r\n }\r\n this.#overlayRef.detach();\r\n this.#setIsPopoverOpen(false);\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverComponent } from './popover/popover.component';\r\nimport { PopoverTriggerDirective } from './directives/popover-trigger.directive';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { PopoverContentDirective } from './directives/popover-content.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PopoverComponent, \r\n PopoverTriggerDirective, \r\n PopoverContentDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n A11yModule\r\n ],\r\n exports: [\r\n PopoverComponent, \r\n PopoverTriggerDirective,\r\n PopoverContentDirective\r\n ]\r\n})\r\nexport class SdPopoverModule { }\r\n"]}
@@ -0,0 +1,15 @@
1
+ import { Directive, TemplateRef } from '@angular/core';
2
+ export class PopoverContentDirective {
3
+ constructor(templateRef) {
4
+ this.templateRef = templateRef;
5
+ }
6
+ }
7
+ PopoverContentDirective.decorators = [
8
+ { type: Directive, args: [{
9
+ selector: '[sdPopoverContent]'
10
+ },] }
11
+ ];
12
+ PopoverContentDirective.ctorParameters = () => [
13
+ { type: TemplateRef }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvcG9wb3Zlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvZGlyZWN0aXZlcy9wb3BvdmVyLWNvbnRlbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3ZELE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFBbUIsV0FBNkI7UUFBN0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQUksQ0FBQzs7O1lBTHRELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2FBQy9COzs7WUFKbUIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NkUG9wb3ZlckNvbnRlbnRdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbnRlbnREaXJlY3RpdmUge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHsgfVxyXG5cclxufVxyXG4iXX0=
@@ -45,9 +45,13 @@ export class PopoverTriggerDirective {
45
45
  this.popoverOpen ? this.popoverOpened.emit() : this.popoverClosed.emit();
46
46
  });
47
47
  _getPortal.set(this, () => {
48
+ var _a;
48
49
  if (!__classPrivateFieldGet(this, _portal) ||
49
- __classPrivateFieldGet(this, _portal).templateRef !== this.popover.templateRef) {
50
- __classPrivateFieldSet(this, _portal, new TemplatePortal(this.popover.templateRef, this.viewContainerRef));
50
+ __classPrivateFieldGet(this, _portal).templateRef !== this.popover.templateRef ||
51
+ ((_a = __classPrivateFieldGet(this, _portal).context) === null || _a === void 0 ? void 0 : _a.data) !== this.popoverData) {
52
+ __classPrivateFieldSet(this, _portal, new TemplatePortal(this.popover.templateRef, this.viewContainerRef, {
53
+ data: this.popoverData
54
+ }));
51
55
  }
52
56
  return __classPrivateFieldGet(this, _portal);
53
57
  });
@@ -212,7 +216,8 @@ PopoverTriggerDirective.ctorParameters = () => [
212
216
  ];
213
217
  PopoverTriggerDirective.propDecorators = {
214
218
  popover: [{ type: Input, args: ["sdPopoverTriggerFor",] }],
219
+ popoverData: [{ type: Input, args: ["sdPopoverData",] }],
215
220
  popoverOpened: [{ type: Output }],
216
221
  popoverClosed: [{ type: Output }]
217
222
  };
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvcG9wb3Zlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvZGlyZWN0aXZlcy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFFTCxPQUFPLEVBQ1AsYUFBYSxHQUVkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixRQUFRLEVBQ1IsTUFBTSxFQUNOLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFFTCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFFTixLQUFLLEVBQ0wsU0FBUyxHQUVWLE1BQU0sZ0JBQWdCLENBQUM7QUFZeEIsTUFBTSxPQUFPLHVCQUF1QjtJQTZCbEMsWUFDVSxRQUFpQixFQUNqQixRQUFpQyxFQUNqQyxPQUFlLEVBQ2YsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFFBQWtCLEVBQ04sSUFBb0I7UUFOaEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNqQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFr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b0JBQ0osZUFBZSxFQUFFLE1BQU07b0JBQ3ZCLEtBQUssRUFBRSxvQkFBb0I7aUJBQzVCO2dCQUNELFFBQVEsRUFBRSxrQkFBa0I7YUFDN0I7OztZQXZDQyxPQUFPO1lBU1AsVUFBVTtZQUdWLE1BQU07WUFJTixnQkFBZ0I7WUFQaEIsVUFBVTtZQUxILFFBQVE7WUFQUixjQUFjLHVCQStFbEIsUUFBUTs7O3NCQTVCVixLQUFLLFNBQUMscUJBQXFCOzRCQWtCM0IsTUFBTTs0QkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcclxuaW1wb3J0IHtcclxuICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgT3ZlcmxheSxcclxuICBPdmVybGF5Q29uZmlnLFxyXG4gIE92ZXJsYXlSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XHJcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wbGF0Zm9ybVwiO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uRGVzdHJveSxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1xyXG4gIGF1ZGl0VGltZSxcclxuICBkZWJvdW5jZVRpbWUsXHJcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXHJcbiAgZmlsdGVyLFxyXG4gIG1hcCxcclxuICBtYXBUbyxcclxuICB0YWtlVW50aWwsXHJcbiAgdGFwLFxyXG59IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCIuLi9wb3BvdmVyLm1vZGVsXCI7XHJcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudFwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiW3NkUG9wb3ZlclRyaWdnZXJGb3JdXCIsXHJcbiAgaG9zdDoge1xyXG4gICAgXCJhcmlhLWhhc3BvcHVwXCI6IFwidHJ1ZVwiLFxyXG4gICAgY2xhc3M6IFwic2QtcG9wb3Zlci10cmlnZ2VyXCIsXHJcbiAgfSxcclxuICBleHBvcnRBczogXCJzZFBvcG92ZXJUcmlnZ2VyXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgI292ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcclxuICAjcG9wb3ZlckNsb3NlJCA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcclxuICAjcG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDtcclxuICAjZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwb3BvdmVyT3BlbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoXCJzZFBvcG92ZXJUcmlnZ2VyRm9yXCIpXHJcbiAgZ2V0IHBvcG92ZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy4jcG9wb3ZlcjtcclxuICB9XHJcbiAgc2V0IHBvcG92ZXIocG9wb3ZlcjogUG9wb3ZlckNvbXBvbmVudCkge1xyXG4gICAgaWYgKHBvcG92ZXIgPT09IHRoaXMuI3BvcG92ZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy4jcG9wb3ZlciA9IHBvcG92ZXI7XHJcbiAgICB0aGlzLiNwb3BvdmVyQ2xvc2UkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICBpZiAocG9wb3Zlcikge1xyXG4gICAgICB0aGlzLiNwb3BvdmVyQ2xvc2UkID0gcG9wb3Zlci5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLiNkZXN0cm95UG9wb3ZlcigpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgI3BvcG92ZXI6IFBvcG92ZXJDb21wb25lbnQ7XHJcblxyXG4gIEBPdXRwdXQoKSBwb3BvdmVyT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBwb3BvdmVyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5XHJcbiAgKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyKSB7XHJcbiAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgIGNvbnN0IGhvc3RNb3VzZVN0YXRlJCA9IG1lcmdlKFxyXG4gICAgICAgIGZyb21FdmVudChuYXRpdmVFbGVtZW50LCBcIm1vdXNlZW50ZXJcIikucGlwZShtYXBUbyh0cnVlKSksXHJcbiAgICAgICAgZnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsIFwibW91c2VsZWF2ZVwiKS5waXBlKG1hcFRvKGZhbHNlKSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGNvbnN0IHBvcG92ZXJNb3VzZVN0YXRlJCA9IHRoaXMucG9wb3Zlci5tb3VzZVN0YXRlJC5waXBlKFxyXG4gICAgICAgIC8vIGNo4buJIGzhuqV5IGx14buTbmcgZW1pdCBvcGVuIGLhu59pIGNow61uaCB0cmlnZ2VyICh0csOhbmggbOG7l2kgbmhp4buBdSB0cmlnZ2VyIGNobyBt4buZdCBwb3BvdmVyKVxyXG4gICAgICAgIGZpbHRlcigodikgPT4gIXRoaXMucG9wb3Zlci50cmlnZ2VyIHx8IHRoaXMucG9wb3Zlci50cmlnZ2VyID09IHRoaXMpXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBjb25zdCBtZXJnZWRNb3VzZVN0YXRlJCA9IG1lcmdlKHBvcG92ZXJNb3VzZVN0YXRlJCwgaG9zdE1vdXNlU3RhdGUkKTtcclxuXHJcbiAgICAgIG1lcmdlZE1vdXNlU3RhdGUkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcclxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5wbGF0Zm9ybS5pc0Jyb3dzZXIpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuI2Rlc3Ryb3kkKVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCh2aXNpYmxlKSA9PiB7XHJcbiAgICAgICAgICBpZiAodmlzaWJsZSkge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW5Qb3BvdmVyKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNkZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLiNkZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgaWYgKHRoaXMuI292ZXJsYXlSZWYpIHtcclxuICAgICAgdGhpcy4jb3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgIHRoaXMuI292ZXJsYXlSZWYgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlblBvcG92ZXIgPSAoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyT3Blbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuI2NyZWF0ZU92ZXJsYXkoKTtcclxuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBvdmVybGF5UmVmLmdldENvbmZpZygpO1xyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9XHJcbiAgICAgIG92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XHJcbiAgICB0aGlzLiNzZXRQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcclxuICAgIG92ZXJsYXlDb25maWcuaGFzQmFja2Ryb3AgPSBmYWxzZTtcclxuICAgIG92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuI2dldFBvcnRhbCgpKTtcclxuICAgIHRoaXMucG9wb3Zlci50cmlnZ2VyID0gdGhpcztcclxuICAgIHRoaXMuI3NldElzUG9wb3Zlck9wZW4odHJ1ZSk7XHJcbiAgfTtcclxuXHJcbiAgY2xvc2VQb3BvdmVyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5wb3BvdmVyLmNsb3NlZC5lbWl0KCk7XHJcbiAgfTtcclxuXHJcbiAgI3NldElzUG9wb3Zlck9wZW4gPSAoaXNPcGVuOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLnBvcG92ZXJPcGVuID0gaXNPcGVuO1xyXG4gICAgdGhpcy5wb3BvdmVyT3BlbiA/IHRoaXMucG9wb3Zlck9wZW5lZC5lbWl0KCkgOiB0aGlzLnBvcG92ZXJDbG9zZWQuZW1pdCgpO1xyXG4gIH07XHJcblxyXG4gICNnZXRQb3J0YWwgPSAoKTogVGVtcGxhdGVQb3J0YWwgPT4ge1xyXG4gICAgaWYgKFxyXG4gICAgICAhdGhpcy4jcG9ydGFsIHx8XHJcbiAgICAgIHRoaXMuI3BvcnRhbC50ZW1wbGF0ZVJlZiAhPT0gdGhpcy5wb3BvdmVyLnRlbXBsYXRlUmVmXHJcbiAgICApIHtcclxuICAgICAgdGhpcy4jcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxyXG4gICAgICAgIHRoaXMucG9wb3Zlci50ZW1wbGF0ZVJlZixcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWZcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy4jcG9ydGFsO1xyXG4gIH07XHJcblxyXG4gICNjcmVhdGVPdmVybGF5ID0gKCkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLiNvdmVybGF5UmVmKSB7XHJcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuI2dldE92ZXJsYXlDb25maWcoKTtcclxuICAgICAgdGhpcy4jc3Vic2NyaWJlVG9Qb3NpdGlvbnMoXHJcbiAgICAgICAgY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5XHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuI292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLiNvdmVybGF5UmVmO1xyXG4gIH07XHJcblxyXG4gICNzZXRQb3NpdGlvbiA9IChwb3NpdGlvblN0cmF0ZWd5OiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpID0+IHtcclxuICAgIGxldCBvcmlnaW5YOiBcInN0YXJ0XCIgfCBcImNlbnRlclwiIHwgXCJlbmRcIiA9IFwiY2VudGVyXCI7XHJcbiAgICBsZXQgb3JpZ2luWTogXCJ0b3BcIiB8IFwiY2VudGVyXCIgfCBcImJvdHRvbVwiID0gXCJ0b3BcIjtcclxuICAgIGxldCBvdmVybGF5WDogXCJzdGFydFwiIHwgXCJjZW50ZXJcIiB8IFwiZW5kXCIgPSBcImNlbnRlclwiO1xyXG4gICAgbGV0IG92ZXJsYXlZOiBcInRvcFwiIHwgXCJjZW50ZXJcIiB8IFwiYm90dG9tXCIgPSBcImJvdHRvbVwiO1xyXG4gICAgbGV0IG9mZnNldFggPSAwO1xyXG4gICAgbGV0IG9mZnNldFkgPSAxNjtcclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMucG9wb3Zlci5wb3NpdGlvbikge1xyXG4gICAgICBjYXNlIFwiYWJvdmVcIjpcclxuICAgICAgICBvcmlnaW5ZID0gXCJ0b3BcIjtcclxuICAgICAgICBvdmVybGF5WSA9IFwiYm90dG9tXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJiZWxvd1wiOlxyXG4gICAgICAgIG9yaWdpblkgPSBcImJvdHRvbVwiO1xyXG4gICAgICAgIG92ZXJsYXlZID0gXCJ0b3BcIjtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBwb3NpdGlvblN0cmF0ZWd5LndpdGhQb3NpdGlvbnMoW1xyXG4gICAgICAvLyB0aGVvIGlucHV0XHJcbiAgICAgIHsgb3JpZ2luWCwgb3JpZ2luWSwgb3ZlcmxheVgsIG92ZXJsYXlZLCBvZmZzZXRZOiBvcmlnaW5ZID09IFwidG9wXCIgPyAtb2Zmc2V0WSA6IG9mZnNldFkgfSxcclxuICAgICAgLy8gZ2nhu69hIHRyw6puXHJcbiAgICAgIHtcclxuICAgICAgICBvcmlnaW5YOiBcImNlbnRlclwiLFxyXG4gICAgICAgIG9yaWdpblk6IFwidG9wXCIsXHJcbiAgICAgICAgb3ZlcmxheVg6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgb3ZlcmxheVk6IFwiYm90dG9tXCIsXHJcbiAgICAgICAgb2Zmc2V0WCxcclxuICAgICAgICBvZmZzZXRZOiAtb2Zmc2V0WSxcclxuICAgICAgfSxcclxuICAgICAgLy8gZ2nhu69hIGTGsOG7m2lcclxuICAgICAge1xyXG4gICAgICAgIG9yaWdpblg6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgb3JpZ2luWTogXCJib3R0b21cIixcclxuICAgICAgICBvdmVybGF5WDogXCJjZW50ZXJcIixcclxuICAgICAgICBvdmVybGF5WTogXCJ0b3BcIixcclxuICAgICAgICBvZmZzZXRYLFxyXG4gICAgICAgIG9mZnNldFksXHJcbiAgICAgIH0sXHJcbiAgICBdKTtcclxuICB9O1xyXG5cclxuICAjZ2V0T3ZlcmxheUNvbmZpZyA9ICgpID0+IHtcclxuICAgIHJldHVybiBuZXcgT3ZlcmxheUNvbmZpZyh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXlcclxuICAgICAgICAucG9zaXRpb24oKVxyXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2VsZW1lbnQpXHJcbiAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpXHJcbiAgICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKClcclxuICAgICAgICAud2l0aFRyYW5zZm9ybU9yaWdpbk9uKFwiLnNkLXBvcG92ZXItcGFuZWxcIiksXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIixcclxuICAgICAgcGFuZWxDbGFzczogdGhpcy5wb3BvdmVyLnBhbmVsQ2xhc3MsXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLFxyXG4gICAgICB3aWR0aDogdGhpcy5wb3BvdmVyLndpZHRoLFxyXG4gICAgICBoZWlnaHQ6IHRoaXMucG9wb3Zlci5oZWlnaHQsXHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICAjc3Vic2NyaWJlVG9Qb3NpdGlvbnMgPSAocG9zaXRpb246IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSkgPT4ge1xyXG4gICAgaWYgKHRoaXMucG9wb3Zlci5zZXRQb3NpdGlvbkNsYXNzZXMpIHtcclxuICAgICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcG9zOiBQb3NpdGlvbiA9XHJcbiAgICAgICAgICBjaGFuZ2UuY29ubmVjdGlvblBhaXIub3ZlcmxheVkgPT09IFwidG9wXCIgPyBcImJlbG93XCIgOiBcImFib3ZlXCI7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9uZ1pvbmUpIHtcclxuICAgICAgICAgIHRoaXMuX25nWm9uZS5ydW4oKCkgPT4gdGhpcy5wb3BvdmVyLnNldFBvc2l0aW9uQ2xhc3Nlcyhwb3MpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5wb3BvdmVyLnNldFBvc2l0aW9uQ2xhc3Nlcyhwb3MpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgb3JpZ2luRWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBjb25zdCBvdmVybGF5RWxlbWVudDogSFRNTEVsZW1lbnQgPSAoXHJcbiAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuZ2V0KDApIGFzIGFueVxyXG4gICAgICAgICk/LnJvb3ROb2Rlc1swXTtcclxuICAgICAgICBpZiAob3JpZ2luRWxlbWVudCAmJiBvdmVybGF5RWxlbWVudCkge1xyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luUmVjdCA9IG9yaWdpbkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICBjb25zdCBvdmVybGF5UmVjdCA9IG92ZXJsYXlFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luTGVmdCA9IG9yaWdpblJlY3QubGVmdCArIG9yaWdpblJlY3Qud2lkdGggLyAyO1xyXG4gICAgICAgICAgY29uc3Qgb3ZlcmxheUxlZnQgPSBvdmVybGF5UmVjdC5sZWZ0ICsgb3ZlcmxheVJlY3Qud2lkdGggLyAyO1xyXG5cclxuICAgICAgICAgIGNvbnN0IG9mZnNldCA9IG9yaWdpbkxlZnQgLSBvdmVybGF5TGVmdDtcclxuXHJcbiAgICAgICAgICB0aGlzLnBvcG92ZXIuYWRkQXJyb3dUcmFuc2xhdGVYKG9mZnNldCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICAjZGVzdHJveVBvcG92ZXIgPSAoKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuI292ZXJsYXlSZWYgfHwgIXRoaXMucG9wb3Zlck9wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy4jb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuI3NldElzUG9wb3Zlck9wZW4oZmFsc2UpO1xyXG4gIH07XHJcbn1cclxuIl19
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvcG9wb3Zlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvZGlyZWN0aXZlcy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFFTCxPQUFPLEVBQ1AsYUFBYSxHQUVkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBR0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixRQUFRLEVBQ1IsTUFBTSxFQUNOLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFFTCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFFTixLQUFLLEVBQ0wsU0FBUyxHQUVWLE1BQU0sZ0JBQWdCLENBQUM7QUFZeEIsTUFBTSxPQUFPLHVCQUF1QjtJQWdDbEMsWUFDVSxRQUFpQixFQUNqQixRQUFpQyxFQUNqQyxPQUFlLEVBQ2YsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFFBQWtCLEVBQ04sSUFBb0I7UUFOaEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNqQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFr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QUEsSUFBSSxlQUFlLElBQUksRUFBQztTQUN6QjtJQUNILENBQUM7Ozs7WUExRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLElBQUksRUFBRTtvQkFDSixlQUFlLEVBQUUsTUFBTTtvQkFDdkIsS0FBSyxFQUFFLG9CQUFvQjtpQkFDNUI7Z0JBQ0QsUUFBUSxFQUFFLGtCQUFrQjthQUM3Qjs7O1lBeENDLE9BQU87WUFVUCxVQUFVO1lBR1YsTUFBTTtZQUlOLGdCQUFnQjtZQVBoQixVQUFVO1lBTkgsUUFBUTtZQVBSLGNBQWMsdUJBbUZsQixRQUFROzs7c0JBL0JWLEtBQUssU0FBQyxxQkFBcUI7MEJBa0IzQixLQUFLLFNBQUMsZUFBZTs0QkFHckIsTUFBTTs0QkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcclxuaW1wb3J0IHtcclxuICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgT3ZlcmxheSxcclxuICBPdmVybGF5Q29uZmlnLFxyXG4gIE92ZXJsYXlSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XHJcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wbGF0Zm9ybVwiO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7XHJcbiAgYXVkaXRUaW1lLFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBmaWx0ZXIsXHJcbiAgbWFwLFxyXG4gIG1hcFRvLFxyXG4gIHRha2VVbnRpbCxcclxuICB0YXAsXHJcbn0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSBcIi4uL3BvcG92ZXIubW9kZWxcIjtcclxuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gXCIuLi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50XCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogXCJbc2RQb3BvdmVyVHJpZ2dlckZvcl1cIixcclxuICBob3N0OiB7XHJcbiAgICBcImFyaWEtaGFzcG9wdXBcIjogXCJ0cnVlXCIsXHJcbiAgICBjbGFzczogXCJzZC1wb3BvdmVyLXRyaWdnZXJcIixcclxuICB9LFxyXG4gIGV4cG9ydEFzOiBcInNkUG9wb3ZlclRyaWdnZXJcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAjb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xyXG4gICNwb3BvdmVyQ2xvc2UkID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xyXG4gICNwb3J0YWw6IFRlbXBsYXRlUG9ydGFsO1xyXG4gICNkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHBvcG92ZXJPcGVuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dChcInNkUG9wb3ZlclRyaWdnZXJGb3JcIilcclxuICBnZXQgcG9wb3ZlcigpIHtcclxuICAgIHJldHVybiB0aGlzLiNwb3BvdmVyO1xyXG4gIH1cclxuICBzZXQgcG9wb3Zlcihwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50KSB7XHJcbiAgICBpZiAocG9wb3ZlciA9PT0gdGhpcy4jcG9wb3Zlcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLiNwb3BvdmVyID0gcG9wb3ZlcjtcclxuICAgIHRoaXMuI3BvcG92ZXJDbG9zZSQudW5zdWJzY3JpYmUoKTtcclxuICAgIGlmIChwb3BvdmVyKSB7XHJcbiAgICAgIHRoaXMuI3BvcG92ZXJDbG9zZSQgPSBwb3BvdmVyLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lQb3BvdmVyKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAjcG9wb3ZlcjogUG9wb3ZlckNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KFwic2RQb3BvdmVyRGF0YVwiKVxyXG4gIHBvcG92ZXJEYXRhOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSBwb3BvdmVyT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBwb3BvdmVyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5XHJcbiAgKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyKSB7XHJcbiAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgIGNvbnN0IGhvc3RNb3VzZVN0YXRlJCA9IG1lcmdlKFxyXG4gICAgICAgIGZyb21FdmVudChuYXRpdmVFbGVtZW50LCBcIm1vdXNlZW50ZXJcIikucGlwZShtYXBUbyh0cnVlKSksXHJcbiAgICAgICAgZnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsIFwibW91c2VsZWF2ZVwiKS5waXBlKG1hcFRvKGZhbHNlKSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGNvbnN0IHBvcG92ZXJNb3VzZVN0YXRlJCA9IHRoaXMucG9wb3Zlci5tb3VzZVN0YXRlJC5waXBlKFxyXG4gICAgICAgIC8vIGNo4buJIGzhuqV5IGx14buTbmcgZW1pdCBvcGVuIGLhu59pIGNow61uaCB0cmlnZ2VyICh0csOhbmggbOG7l2kgbmhp4buBdSB0cmlnZ2VyIGNobyBt4buZdCBwb3BvdmVyKVxyXG4gICAgICAgIGZpbHRlcigodikgPT4gIXRoaXMucG9wb3Zlci50cmlnZ2VyIHx8IHRoaXMucG9wb3Zlci50cmlnZ2VyID09IHRoaXMpXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBjb25zdCBtZXJnZWRNb3VzZVN0YXRlJCA9IG1lcmdlKHBvcG92ZXJNb3VzZVN0YXRlJCwgaG9zdE1vdXNlU3RhdGUkKTtcclxuXHJcbiAgICAgIG1lcmdlZE1vdXNlU3RhdGUkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcclxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5wbGF0Zm9ybS5pc0Jyb3dzZXIpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuI2Rlc3Ryb3kkKVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCh2aXNpYmxlKSA9PiB7XHJcbiAgICAgICAgICBpZiAodmlzaWJsZSkge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW5Qb3BvdmVyKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNkZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLiNkZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgaWYgKHRoaXMuI292ZXJsYXlSZWYpIHtcclxuICAgICAgdGhpcy4jb3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgIHRoaXMuI292ZXJsYXlSZWYgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlblBvcG92ZXIgPSAoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyT3Blbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuI2NyZWF0ZU92ZXJsYXkoKTtcclxuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBvdmVybGF5UmVmLmdldENvbmZpZygpO1xyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9XHJcbiAgICAgIG92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XHJcbiAgICB0aGlzLiNzZXRQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcclxuICAgIG92ZXJsYXlDb25maWcuaGFzQmFja2Ryb3AgPSBmYWxzZTtcclxuICAgIG92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuI2dldFBvcnRhbCgpKTtcclxuICAgIHRoaXMucG9wb3Zlci50cmlnZ2VyID0gdGhpcztcclxuICAgIHRoaXMuI3NldElzUG9wb3Zlck9wZW4odHJ1ZSk7XHJcbiAgfTtcclxuXHJcbiAgY2xvc2VQb3BvdmVyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5wb3BvdmVyLmNsb3NlZC5lbWl0KCk7XHJcbiAgfTtcclxuXHJcbiAgI3NldElzUG9wb3Zlck9wZW4gPSAoaXNPcGVuOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLnBvcG92ZXJPcGVuID0gaXNPcGVuO1xyXG4gICAgdGhpcy5wb3BvdmVyT3BlbiA/IHRoaXMucG9wb3Zlck9wZW5lZC5lbWl0KCkgOiB0aGlzLnBvcG92ZXJDbG9zZWQuZW1pdCgpO1xyXG4gIH07XHJcblxyXG4gICNnZXRQb3J0YWwgPSAoKTogVGVtcGxhdGVQb3J0YWwgPT4ge1xyXG4gICAgaWYgKFxyXG4gICAgICAhdGhpcy4jcG9ydGFsIHx8XHJcbiAgICAgIHRoaXMuI3BvcnRhbC50ZW1wbGF0ZVJlZiAhPT0gdGhpcy5wb3BvdmVyLnRlbXBsYXRlUmVmIHx8XHJcbiAgICAgIHRoaXMuI3BvcnRhbC5jb250ZXh0Py5kYXRhICE9PSB0aGlzLnBvcG92ZXJEYXRhXHJcbiAgICApIHtcclxuICAgICAgdGhpcy4jcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxyXG4gICAgICAgIHRoaXMucG9wb3Zlci50ZW1wbGF0ZVJlZixcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZGF0YTogdGhpcy5wb3BvdmVyRGF0YVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy4jcG9ydGFsO1xyXG4gIH07XHJcblxyXG4gICNjcmVhdGVPdmVybGF5ID0gKCkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLiNvdmVybGF5UmVmKSB7XHJcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuI2dldE92ZXJsYXlDb25maWcoKTtcclxuICAgICAgdGhpcy4jc3Vic2NyaWJlVG9Qb3NpdGlvbnMoXHJcbiAgICAgICAgY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5XHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuI292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLiNvdmVybGF5UmVmO1xyXG4gIH07XHJcblxyXG4gICNzZXRQb3NpdGlvbiA9IChwb3NpdGlvblN0cmF0ZWd5OiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpID0+IHtcclxuICAgIGxldCBvcmlnaW5YOiBcInN0YXJ0XCIgfCBcImNlbnRlclwiIHwgXCJlbmRcIiA9IFwiY2VudGVyXCI7XHJcbiAgICBsZXQgb3JpZ2luWTogXCJ0b3BcIiB8IFwiY2VudGVyXCIgfCBcImJvdHRvbVwiID0gXCJ0b3BcIjtcclxuICAgIGxldCBvdmVybGF5WDogXCJzdGFydFwiIHwgXCJjZW50ZXJcIiB8IFwiZW5kXCIgPSBcImNlbnRlclwiO1xyXG4gICAgbGV0IG92ZXJsYXlZOiBcInRvcFwiIHwgXCJjZW50ZXJcIiB8IFwiYm90dG9tXCIgPSBcImJvdHRvbVwiO1xyXG4gICAgbGV0IG9mZnNldFggPSAwO1xyXG4gICAgbGV0IG9mZnNldFkgPSAxNjtcclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMucG9wb3Zlci5wb3NpdGlvbikge1xyXG4gICAgICBjYXNlIFwiYWJvdmVcIjpcclxuICAgICAgICBvcmlnaW5ZID0gXCJ0b3BcIjtcclxuICAgICAgICBvdmVybGF5WSA9IFwiYm90dG9tXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJiZWxvd1wiOlxyXG4gICAgICAgIG9yaWdpblkgPSBcImJvdHRvbVwiO1xyXG4gICAgICAgIG92ZXJsYXlZID0gXCJ0b3BcIjtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBwb3NpdGlvblN0cmF0ZWd5LndpdGhQb3NpdGlvbnMoW1xyXG4gICAgICAvLyB0aGVvIGlucHV0XHJcbiAgICAgIHsgb3JpZ2luWCwgb3JpZ2luWSwgb3ZlcmxheVgsIG92ZXJsYXlZLCBvZmZzZXRZOiBvcmlnaW5ZID09IFwidG9wXCIgPyAtb2Zmc2V0WSA6IG9mZnNldFkgfSxcclxuICAgICAgLy8gZ2nhu69hIHRyw6puXHJcbiAgICAgIHtcclxuICAgICAgICBvcmlnaW5YOiBcImNlbnRlclwiLFxyXG4gICAgICAgIG9yaWdpblk6IFwidG9wXCIsXHJcbiAgICAgICAgb3ZlcmxheVg6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgb3ZlcmxheVk6IFwiYm90dG9tXCIsXHJcbiAgICAgICAgb2Zmc2V0WCxcclxuICAgICAgICBvZmZzZXRZOiAtb2Zmc2V0WSxcclxuICAgICAgfSxcclxuICAgICAgLy8gZ2nhu69hIGTGsOG7m2lcclxuICAgICAge1xyXG4gICAgICAgIG9yaWdpblg6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgb3JpZ2luWTogXCJib3R0b21cIixcclxuICAgICAgICBvdmVybGF5WDogXCJjZW50ZXJcIixcclxuICAgICAgICBvdmVybGF5WTogXCJ0b3BcIixcclxuICAgICAgICBvZmZzZXRYLFxyXG4gICAgICAgIG9mZnNldFksXHJcbiAgICAgIH0sXHJcbiAgICBdKTtcclxuICB9O1xyXG5cclxuICAjZ2V0T3ZlcmxheUNvbmZpZyA9ICgpID0+IHtcclxuICAgIHJldHVybiBuZXcgT3ZlcmxheUNvbmZpZyh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXlcclxuICAgICAgICAucG9zaXRpb24oKVxyXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2VsZW1lbnQpXHJcbiAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpXHJcbiAgICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKClcclxuICAgICAgICAud2l0aFRyYW5zZm9ybU9yaWdpbk9uKFwiLnNkLXBvcG92ZXItcGFuZWxcIiksXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIixcclxuICAgICAgcGFuZWxDbGFzczogdGhpcy5wb3BvdmVyLnBhbmVsQ2xhc3MsXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLFxyXG4gICAgICB3aWR0aDogdGhpcy5wb3BvdmVyLndpZHRoLFxyXG4gICAgICBoZWlnaHQ6IHRoaXMucG9wb3Zlci5oZWlnaHQsXHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICAjc3Vic2NyaWJlVG9Qb3NpdGlvbnMgPSAocG9zaXRpb246IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSkgPT4ge1xyXG4gICAgaWYgKHRoaXMucG9wb3Zlci5zZXRQb3NpdGlvbkNsYXNzZXMpIHtcclxuICAgICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcG9zOiBQb3NpdGlvbiA9XHJcbiAgICAgICAgICBjaGFuZ2UuY29ubmVjdGlvblBhaXIub3ZlcmxheVkgPT09IFwidG9wXCIgPyBcImJlbG93XCIgOiBcImFib3ZlXCI7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9uZ1pvbmUpIHtcclxuICAgICAgICAgIHRoaXMuX25nWm9uZS5ydW4oKCkgPT4gdGhpcy5wb3BvdmVyLnNldFBvc2l0aW9uQ2xhc3Nlcyhwb3MpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5wb3BvdmVyLnNldFBvc2l0aW9uQ2xhc3Nlcyhwb3MpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgb3JpZ2luRWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBjb25zdCBvdmVybGF5RWxlbWVudDogSFRNTEVsZW1lbnQgPSAoXHJcbiAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuZ2V0KDApIGFzIGFueVxyXG4gICAgICAgICk/LnJvb3ROb2Rlc1swXTtcclxuICAgICAgICBpZiAob3JpZ2luRWxlbWVudCAmJiBvdmVybGF5RWxlbWVudCkge1xyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luUmVjdCA9IG9yaWdpbkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICBjb25zdCBvdmVybGF5UmVjdCA9IG92ZXJsYXlFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luTGVmdCA9IG9yaWdpblJlY3QubGVmdCArIG9yaWdpblJlY3Qud2lkdGggLyAyO1xyXG4gICAgICAgICAgY29uc3Qgb3ZlcmxheUxlZnQgPSBvdmVybGF5UmVjdC5sZWZ0ICsgb3ZlcmxheVJlY3Qud2lkdGggLyAyO1xyXG5cclxuICAgICAgICAgIGNvbnN0IG9mZnNldCA9IG9yaWdpbkxlZnQgLSBvdmVybGF5TGVmdDtcclxuXHJcbiAgICAgICAgICB0aGlzLnBvcG92ZXIuYWRkQXJyb3dUcmFuc2xhdGVYKG9mZnNldCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICAjZGVzdHJveVBvcG92ZXIgPSAoKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuI292ZXJsYXlSZWYgfHwgIXRoaXMucG9wb3Zlck9wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy4jb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuI3NldElzUG9wb3Zlck9wZW4oZmFsc2UpO1xyXG4gIH07XHJcbn1cclxuIl19
@@ -1,9 +1,10 @@
1
1
  var _xPosition;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, Output, TemplateRef, ViewChild, ViewEncapsulation } from "@angular/core";
3
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, ContentChild } from "@angular/core";
4
4
  import * as uuid from "uuid";
5
5
  import { DeviceDetectorService } from "ngx-device-detector";
6
6
  import { BehaviorSubject } from "rxjs";
7
+ import { PopoverContentDirective } from "../directives/popover-content.directive";
7
8
  export class PopoverComponent {
8
9
  constructor(cdRef, deviceService) {
9
10
  this.cdRef = cdRef;
@@ -115,7 +116,7 @@ _xPosition = new WeakMap();
115
116
  PopoverComponent.decorators = [
116
117
  { type: Component, args: [{
117
118
  selector: "sd-popover",
118
- template: "<ng-template>\r\n <div\r\n class=\"sd-popover-panel mat-elevation-z6\"\r\n [id]=\"panelId\"\r\n [ngClass]=\"classList\"\r\n tabindex=\"-1\"\r\n role=\"menu\"\r\n (mouseenter)=\"setMouseState(true)\"\r\n (mouseleave)=\"setMouseState(false)\"\r\n cdkTrapFocus\r\n #panel\r\n >\r\n <div class=\"sd-popover-content bg-white p-16\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"sd-popover-arrow\"></div>\r\n </div>\r\n</ng-template>",
119
+ template: "<ng-template let-data=\"data\">\r\n <div\r\n class=\"sd-popover-panel mat-elevation-z6\"\r\n [id]=\"panelId\"\r\n [ngClass]=\"classList\"\r\n tabindex=\"-1\"\r\n role=\"menu\"\r\n (mouseenter)=\"setMouseState(true)\"\r\n (mouseleave)=\"setMouseState(false)\"\r\n cdkTrapFocus\r\n #panel\r\n >\r\n <div class=\"sd-popover-content bg-white p-16\">\r\n <ng-container *ngIf=\"popoverContent?.templateRef\">\r\n <ng-container *ngTemplateOutlet=\"popoverContent.templateRef; context:{data: data}\"></ng-container>\r\n </ng-container>\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"sd-popover-arrow\"></div>\r\n </div>\r\n</ng-template>",
119
120
  encapsulation: ViewEncapsulation.None,
120
121
  exportAs: "sdPopover",
121
122
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -129,6 +130,7 @@ PopoverComponent.ctorParameters = () => [
129
130
  PopoverComponent.propDecorators = {
130
131
  templateRef: [{ type: ViewChild, args: [TemplateRef,] }],
131
132
  panel: [{ type: ViewChild, args: ["panel",] }],
133
+ popoverContent: [{ type: ContentChild, args: [PopoverContentDirective,] }],
132
134
  panelClass: [{ type: Input }],
133
135
  width: [{ type: Input }],
134
136
  height: [{ type: Input }],
@@ -137,4 +139,4 @@ PopoverComponent.propDecorators = {
137
139
  closed: [{ type: Output }],
138
140
  _hostClick: [{ type: HostListener, args: ['document:click', ['$event.target'],] }]
139
141
  };
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3BvcG92ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBR2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFldkMsTUFBTSxPQUFPLGdCQUFnQjtJQW9DM0IsWUFDVSxLQUF3QixFQUN4QixhQUFvQztRQURwQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUFyQzlDLGNBQVMsR0FBNEIsRUFBRSxDQUFDO1FBQ3hDLFlBQU8sR0FBRyxvQkFBb0IsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDMUMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbEQsWUFBTyxHQUE0QixJQUFJLENBQUM7UUFLL0IsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixVQUFLLEdBQWdDLElBQUksQ0FBQztRQUMxQyxXQUFNLEdBQVcsTUFBTSxDQUFDO1FBQ3hCLFNBQUksR0FBcUUsUUFBUSxDQUFDO1FBUzNGLDZCQUFxQjtRQUVGLFdBQU0sR0FBRyxJQUFJ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LGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBaENDLGlCQUFpQjtZQWlCVixxQkFBcUI7OzswQkF1QjNCLFNBQVMsU0FBQyxXQUFXO29CQUNyQixTQUFTLFNBQUMsT0FBTzt5QkFFakIsS0FBSztvQkFDTCxLQUFLO3FCQUNMLEtBQUs7bUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3FCQVVMLE1BQU07eUJBRU4sWUFBWSxTQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSBcIi4uL3BvcG92ZXIubW9kZWxcIjtcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tIFwidXVpZFwiO1xyXG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tIFwibmd4LWRldmljZS1kZXRlY3RvclwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gXCIuLi9kaXJlY3RpdmVzL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmVcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2RQb3BvdmVyIHtcclxuICBjbG9zZTogKCkgPT4gdm9pZDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwic2QtcG9wb3ZlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vcG9wb3Zlci5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9wb3BvdmVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgZXhwb3J0QXM6IFwic2RQb3BvdmVyXCIsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb3BvdmVyQ29tcG9uZW50IGltcGxlbWVudHMgU2RQb3BvdmVyLCBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBjbGFzc0xpc3Q6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XHJcbiAgcGFuZWxJZCA9IGBzZC1wb3BvdmVyLXBhbmVsLSR7dXVpZC52NCgpfWA7XHJcbiAgaXNNb2JpbGVPclRhYmxldCA9IGZhbHNlO1xyXG4gIG1vdXNlU3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgdHJpZ2dlcjogUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgPSBudWxsO1xyXG5cclxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKFwicGFuZWxcIikgcGFuZWw6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBASW5wdXQoKSBwYW5lbENsYXNzOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHdpZHRoOiBcImxnXCIgfCBcIm1kXCIgfCBcInNtXCIgfCBzdHJpbmcgPSBcInNtXCI7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSBcImF1dG9cIjtcclxuICBASW5wdXQoKSB0eXBlOiAnbm9ybWFsJyB8ICdwcmltYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gXCJub3JtYWxcIjtcclxuICBASW5wdXQoKVxyXG4gIGdldCBwb3NpdGlvbigpOiBQb3NpdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy4jeFBvc2l0aW9uO1xyXG4gIH1cclxuICBzZXQgcG9zaXRpb24odmFsdWU6IFBvc2l0aW9uKSB7XHJcbiAgICB0aGlzLiN4UG9zaXRpb24gPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0UG9zaXRpb25DbGFzc2VzKCk7XHJcbiAgfVxyXG4gICN4UG9zaXRpb246IFBvc2l0aW9uO1xyXG5cclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxyXG4gIF9ob3N0Q2xpY2sodGFyZ2V0RWxlbWVudCkge1xyXG4gICAgaWYgKHRoaXMucGFuZWw/Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgaXNJbnNpZGUgPSB0aGlzLnBhbmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XHJcbiAgICAgIGlmICghaXNJbnNpZGUpIHtcclxuICAgICAgICB0aGlzLnNldE1vdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBkZXZpY2VTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuaXNNb2JpbGVPclRhYmxldCA9ICFkZXZpY2VTZXJ2aWNlLmlzRGVza3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYoY2hhbmdlcy50eXBlKSB7XHJcbiAgICAgIGNvbnN0IHR5cGUgPSBjaGFuZ2VzLnR5cGUuY3VycmVudFZhbHVlO1xyXG4gICAgICBjb25zdCBwcmVUeXBlID0gY2hhbmdlcy50eXBlLnByZXZpb3VzVmFsdWU7XHJcbiAgICAgIHRoaXMuY2xhc3NMaXN0ID0gdGhpcy5jbGFzc0xpc3QgPz8ge1xyXG4gICAgICAgICdzZC1wb3BvdmVyLS1ub3JtYWwnOiB0cnVlXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChwcmVUeXBlKSB7XHJcbiAgICAgICAgdGhpcy5jbGFzc0xpc3RbYHNkLXBvcG92ZXItLSR7cHJlVHlwZX1gXSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0eXBlKSB7XHJcbiAgICAgICAgdGhpcy5jbGFzc0xpc3RbYHNkLXBvcG92ZXItLSR7dHlwZX1gXSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRQb3NpdGlvbkNsYXNzZXMoKTtcclxuICAgIHRoaXMud2lkdGggPSB0aGlzLndpZHRoIHx8IFwiODB2d1wiO1xyXG4gICAgaWYgKCF0aGlzLmlzTW9iaWxlT3JUYWJsZXQpIHtcclxuICAgICAgc3dpdGNoICh0aGlzLndpZHRoKSB7XHJcbiAgICAgICAgY2FzZSBcImxnXCI6XHJcbiAgICAgICAgICB0aGlzLndpZHRoID0gXCI4MHZ3XCI7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwibWRcIjpcclxuICAgICAgICAgIHRoaXMud2lkdGggPSBcIjYwdndcIjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJzbVwiOlxyXG4gICAgICAgICAgdGhpcy53aWR0aCA9IFwiNDB2d1wiO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbG9zZWQuY29tcGxldGUoKTtcclxuICAgIHRoaXMubW91c2VTdGF0ZSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlID0gKCkgPT4ge1xyXG4gICAgdGhpcy5tb3VzZVN0YXRlJC5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcclxuICB9O1xyXG5cclxuICBzZXRQb3NpdGlvbkNsYXNzZXMgPSAocG9zOiBQb3NpdGlvbiA9IHRoaXMucG9zaXRpb24pID0+IHtcclxuICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLmNsYXNzTGlzdDtcclxuICAgIGNsYXNzZXNbXCJzZC1wb3BvdmVyLWFib3ZlXCJdID0gcG9zID09PSBcImFib3ZlXCI7XHJcbiAgICBjbGFzc2VzW1wic2QtcG9wb3Zlci1iZWxvd1wiXSA9IHBvcyA9PT0gXCJiZWxvd1wiO1xyXG5cclxuICAgIHRoaXMuY2RSZWY/Lm1hcmtGb3JDaGVjaygpO1xyXG4gIH07XHJcblxyXG4gIGFkZEFycm93VHJhbnNsYXRlWCA9IChvZmZzZXQ6IG51bWJlcikgPT4ge1xyXG4gICAgY29uc3QgYXJyb3dFbGVtZW50OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3RoaXMucGFuZWxJZH0gLnNkLXBvcG92ZXItYXJyb3dgKTtcclxuICAgIGlmIChhcnJvd0VsZW1lbnQgJiYgb2Zmc2V0KSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhcnJvd0VsZW1lbnQpO1xyXG4gICAgICAgIGNvbnN0IG1hdHJpeCA9IG5ldyBXZWJLaXRDU1NNYXRyaXgoc3R5bGUudHJhbnNmb3JtKTtcclxuICAgICAgICBjb25zdCB0cmFuc2xhdGVYID0gbWF0cml4Lm00MSArIG9mZnNldDtcclxuICAgICAgICBjb25zdCB0cmFuc2xhdGVZID0gbWF0cml4Lm00MjtcclxuICAgICAgICBhcnJvd0VsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoJHt0cmFuc2xhdGVYfXB4KSB0cmFuc2xhdGVZKCR7dHJhbnNsYXRlWX1weClgO1xyXG4gICAgICB9IGNhdGNoIChlcnJvcikge31cclxuICAgIH1cclxuICB9O1xyXG5cclxuICBzZXRNb3VzZVN0YXRlID0gKHZpc2libGU6IGJvb2xlYW4pID0+IHtcclxuICAgIGlmICghdmlzaWJsZSkge1xyXG4gICAgICAvLyBjaOG7iSDEkcaw4bujYyB04bqvdCBraGkgxJFhbmcga2jDtG5nIGZvY3VzIGVsZW1lbnQgbsOgbyBiw6puIHRyb25nIHBhbmVsXHJcbiAgICAgIC8vIHRyw6FuaCBs4buXaSBjw7MgY29udHJvbCBt4bufIG92ZXJsYXkga2hp4bq/biBjaG8gbeG6pXQgbW91c2VlbnRlciDhu58gcGFuZWxcclxuICAgICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIGNvbnN0IHBhbmVsRWxlbWVudCA9IHRoaXMucGFuZWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgaWYgKHBhbmVsRWxlbWVudD8uY29udGFpbnMoYWN0aXZlRWxlbWVudCkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMubW91c2VTdGF0ZSQubmV4dCh2aXNpYmxlKTtcclxuICB9O1xyXG59XHJcbiJdfQ==
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3BvcG92ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBR2pCLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBY2xGLE1BQU0sT0FBTyxnQkFBZ0I7SUFxQzNCLFlBQ1UsS0FBd0IsRUFDeEIsYUFBb0M7UUFEcEMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBdEM5QyxjQUFTLEdBQTRCLEVBQUUsQ0FBQztRQUN4QyxZQUFPLEdBQUcsb0JBQW9CLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xELFlBQU8sR0FBNEIsSUFBSSxDQUFDO1FBTS9CLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsVUFBSyxHQUFnQyxJQUFJLENBQUM7UUFDMUMsV0FBTSxHQUFXLE1BQU0sQ0FBQztRQUN4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LGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxRQUFRLEVBQUUsV0FBVztnQkFDckIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFsQ0MsaUJBQWlCO1lBa0JWLHFCQUFxQjs7OzBCQXdCM0IsU0FBUyxTQUFDLFdBQVc7b0JBQ3JCLFNBQVMsU0FBQyxPQUFPOzZCQUNqQixZQUFZLFNBQUMsdUJBQXVCO3lCQUVwQyxLQUFLO29CQUNMLEtBQUs7cUJBQ0wsS0FBSzttQkFDTCxLQUFLO3VCQUNMLEtBQUs7cUJBVUwsTUFBTTt5QkFFTixZQUFZLFNBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIENvbnRlbnRDaGlsZFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSBcIi4uL3BvcG92ZXIubW9kZWxcIjtcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tIFwidXVpZFwiO1xyXG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tIFwibmd4LWRldmljZS1kZXRlY3RvclwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gXCIuLi9kaXJlY3RpdmVzL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgUG9wb3ZlckNvbnRlbnREaXJlY3RpdmUgfSBmcm9tIFwiLi4vZGlyZWN0aXZlcy9wb3BvdmVyLWNvbnRlbnQuZGlyZWN0aXZlXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkUG9wb3ZlciB7XHJcbiAgY2xvc2U6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInNkLXBvcG92ZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vcG9wb3Zlci5jb21wb25lbnQuc2Nzc1wiXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGV4cG9ydEFzOiBcInNkUG9wb3ZlclwiLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIFNkUG9wb3ZlciwgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgY2xhc3NMaXN0OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xyXG4gIHBhbmVsSWQgPSBgc2QtcG9wb3Zlci1wYW5lbC0ke3V1aWQudjQoKX1gO1xyXG4gIGlzTW9iaWxlT3JUYWJsZXQgPSBmYWxzZTtcclxuICBtb3VzZVN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHRyaWdnZXI6IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlID0gbnVsbDtcclxuXHJcbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZikgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZChcInBhbmVsXCIpIHBhbmVsOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAQ29udGVudENoaWxkKFBvcG92ZXJDb250ZW50RGlyZWN0aXZlKSBwb3BvdmVyQ29udGVudDogUG9wb3ZlckNvbnRlbnREaXJlY3RpdmVcclxuXHJcbiAgQElucHV0KCkgcGFuZWxDbGFzczogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSB3aWR0aDogXCJsZ1wiIHwgXCJtZFwiIHwgXCJzbVwiIHwgc3RyaW5nID0gXCJzbVwiO1xyXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gXCJhdXRvXCI7XHJcbiAgQElucHV0KCkgdHlwZTogJ25vcm1hbCcgfCAncHJpbWFyeScgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyA9IFwibm9ybWFsXCI7XHJcbiAgQElucHV0KClcclxuICBnZXQgcG9zaXRpb24oKTogUG9zaXRpb24ge1xyXG4gICAgcmV0dXJuIHRoaXMuI3hQb3NpdGlvbjtcclxuICB9XHJcbiAgc2V0IHBvc2l0aW9uKHZhbHVlOiBQb3NpdGlvbikge1xyXG4gICAgdGhpcy4jeFBvc2l0aW9uID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldFBvc2l0aW9uQ2xhc3NlcygpO1xyXG4gIH1cclxuICAjeFBvc2l0aW9uOiBQb3NpdGlvbjtcclxuXHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICBfaG9zdENsaWNrKHRhcmdldEVsZW1lbnQpIHtcclxuICAgIGlmICh0aGlzLnBhbmVsPy5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGNvbnN0IGlzSW5zaWRlID0gdGhpcy5wYW5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpO1xyXG4gICAgICBpZiAoIWlzSW5zaWRlKSB7XHJcbiAgICAgICAgdGhpcy5zZXRNb3VzZVN0YXRlKGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmlzTW9iaWxlT3JUYWJsZXQgPSAhZGV2aWNlU2VydmljZS5pc0Rlc2t0b3AoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmKGNoYW5nZXMudHlwZSkge1xyXG4gICAgICBjb25zdCB0eXBlID0gY2hhbmdlcy50eXBlLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgY29uc3QgcHJlVHlwZSA9IGNoYW5nZXMudHlwZS5wcmV2aW91c1ZhbHVlO1xyXG4gICAgICB0aGlzLmNsYXNzTGlzdCA9IHRoaXMuY2xhc3NMaXN0ID8/IHtcclxuICAgICAgICAnc2QtcG9wb3Zlci0tbm9ybWFsJzogdHJ1ZVxyXG4gICAgICB9O1xyXG4gICAgICBpZiAocHJlVHlwZSkge1xyXG4gICAgICAgIHRoaXMuY2xhc3NMaXN0W2BzZC1wb3BvdmVyLS0ke3ByZVR5cGV9YF0gPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZSkge1xyXG4gICAgICAgIHRoaXMuY2xhc3NMaXN0W2BzZC1wb3BvdmVyLS0ke3R5cGV9YF0gPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0UG9zaXRpb25DbGFzc2VzKCk7XHJcbiAgICB0aGlzLndpZHRoID0gdGhpcy53aWR0aCB8fCBcIjgwdndcIjtcclxuICAgIGlmICghdGhpcy5pc01vYmlsZU9yVGFibGV0KSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy53aWR0aCkge1xyXG4gICAgICAgIGNhc2UgXCJsZ1wiOlxyXG4gICAgICAgICAgdGhpcy53aWR0aCA9IFwiODB2d1wiO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcIm1kXCI6XHJcbiAgICAgICAgICB0aGlzLndpZHRoID0gXCI2MHZ3XCI7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwic21cIjpcclxuICAgICAgICAgIHRoaXMud2lkdGggPSBcIjQwdndcIjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLm1vdXNlU3RhdGUkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSA9ICgpID0+IHtcclxuICAgIHRoaXMubW91c2VTdGF0ZSQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XHJcbiAgfTtcclxuXHJcbiAgc2V0UG9zaXRpb25DbGFzc2VzID0gKHBvczogUG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uKSA9PiB7XHJcbiAgICBjb25zdCBjbGFzc2VzID0gdGhpcy5jbGFzc0xpc3Q7XHJcbiAgICBjbGFzc2VzW1wic2QtcG9wb3Zlci1hYm92ZVwiXSA9IHBvcyA9PT0gXCJhYm92ZVwiO1xyXG4gICAgY2xhc3Nlc1tcInNkLXBvcG92ZXItYmVsb3dcIl0gPSBwb3MgPT09IFwiYmVsb3dcIjtcclxuXHJcbiAgICB0aGlzLmNkUmVmPy5tYXJrRm9yQ2hlY2soKTtcclxuICB9O1xyXG5cclxuICBhZGRBcnJvd1RyYW5zbGF0ZVggPSAob2Zmc2V0OiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IGFycm93RWxlbWVudDogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHt0aGlzLnBhbmVsSWR9IC5zZC1wb3BvdmVyLWFycm93YCk7XHJcbiAgICBpZiAoYXJyb3dFbGVtZW50ICYmIG9mZnNldCkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoYXJyb3dFbGVtZW50KTtcclxuICAgICAgICBjb25zdCBtYXRyaXggPSBuZXcgV2ViS2l0Q1NTTWF0cml4KHN0eWxlLnRyYW5zZm9ybSk7XHJcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlWCA9IG1hdHJpeC5tNDEgKyBvZmZzZXQ7XHJcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlWSA9IG1hdHJpeC5tNDI7XHJcbiAgICAgICAgYXJyb3dFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVYKCR7dHJhbnNsYXRlWH1weCkgdHJhbnNsYXRlWSgke3RyYW5zbGF0ZVl9cHgpYDtcclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHt9XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgc2V0TW91c2VTdGF0ZSA9ICh2aXNpYmxlOiBib29sZWFuKSA9PiB7XHJcbiAgICBpZiAoIXZpc2libGUpIHtcclxuICAgICAgLy8gY2jhu4kgxJHGsOG7o2MgdOG6r3Qga2hpIMSRYW5nIGtow7RuZyBmb2N1cyBlbGVtZW50IG7DoG8gYsOqbiB0cm9uZyBwYW5lbFxyXG4gICAgICAvLyB0csOhbmggbOG7l2kgY8OzIGNvbnRyb2wgbeG7nyBvdmVybGF5IGtoaeG6v24gY2hvIG3huqV0IG1vdXNlZW50ZXIg4bufIHBhbmVsXHJcbiAgICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xyXG4gICAgICBjb25zdCBwYW5lbEVsZW1lbnQgPSB0aGlzLnBhbmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIGlmIChwYW5lbEVsZW1lbnQ/LmNvbnRhaW5zKGFjdGl2ZUVsZW1lbnQpKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLm1vdXNlU3RhdGUkLm5leHQodmlzaWJsZSk7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -3,13 +3,15 @@ import { CommonModule } from '@angular/common';
3
3
  import { PopoverComponent } from './popover/popover.component';
4
4
  import { PopoverTriggerDirective } from './directives/popover-trigger.directive';
5
5
  import { A11yModule } from '@angular/cdk/a11y';
6
+ import { PopoverContentDirective } from './directives/popover-content.directive';
6
7
  export class SdPopoverModule {
7
8
  }
8
9
  SdPopoverModule.decorators = [
9
10
  { type: NgModule, args: [{
10
11
  declarations: [
11
12
  PopoverComponent,
12
- PopoverTriggerDirective
13
+ PopoverTriggerDirective,
14
+ PopoverContentDirective
13
15
  ],
14
16
  imports: [
15
17
  CommonModule,
@@ -17,8 +19,9 @@ SdPopoverModule.decorators = [
17
19
  ],
18
20
  exports: [
19
21
  PopoverComponent,
20
- PopoverTriggerDirective
22
+ PopoverTriggerDirective,
23
+ PopoverContentDirective
21
24
  ]
22
25
  },] }
23
26
  ];
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3BvcG92ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL3BvcG92ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQWtCL0MsTUFBTSxPQUFPLGVBQWU7OztZQWQzQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLGdCQUFnQjtvQkFDaEIsdUJBQXVCO2lCQUN4QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixVQUFVO2lCQUNYO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxnQkFBZ0I7b0JBQ2hCLHVCQUF1QjtpQkFDeEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFBvcG92ZXJDb21wb25lbnQsIFxyXG4gICAgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmVcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEExMXlNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFBvcG92ZXJDb21wb25lbnQsIFxyXG4gICAgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFBvcG92ZXJNb2R1bGUgeyB9XHJcbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3BvcG92ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL3BvcG92ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQW9CakYsTUFBTSxPQUFPLGVBQWU7OztZQWhCM0IsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixnQkFBZ0I7b0JBQ2hCLHVCQUF1QjtvQkFDdkIsdUJBQXVCO2lCQUN4QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixVQUFVO2lCQUNYO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxnQkFBZ0I7b0JBQ2hCLHVCQUF1QjtvQkFDdkIsdUJBQXVCO2lCQUN4QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBQb3BvdmVyQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9wb3BvdmVyLWNvbnRlbnQuZGlyZWN0aXZlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFBvcG92ZXJDb21wb25lbnQsIFxyXG4gICAgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsIFxyXG4gICAgUG9wb3ZlckNvbnRlbnREaXJlY3RpdmVcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEExMXlNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFBvcG92ZXJDb21wb25lbnQsIFxyXG4gICAgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsXHJcbiAgICBQb3BvdmVyQ29udGVudERpcmVjdGl2ZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkUG9wb3Zlck1vZHVsZSB7IH1cclxuIl19
@@ -4,4 +4,5 @@
4
4
  export { SdPopoverModule } from './lib/popover.module';
5
5
  export * from './lib/popover/popover.component';
6
6
  export * from './lib/directives/popover-trigger.directive';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvcG9wb3Zlci8iLCJzb3VyY2VzIjpbInNyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzdXBlcmRldi1hbmd1bGFyLWNvcmVcclxuICovXHJcblxyXG5leHBvcnQgeyBTZFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9wb3BvdmVyLm1vZHVsZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcclxuIl19
7
+ export * from './lib/directives/popover-content.directive';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvcG9wb3Zlci8iLCJzb3VyY2VzIjpbInNyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDRDQUE0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHN1cGVyZGV2LWFuZ3VsYXItY29yZVxyXG4gKi9cclxuXHJcbmV4cG9ydCB7IFNkUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4vbGliL3BvcG92ZXIubW9kdWxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3BvcG92ZXItY29udGVudC5kaXJlY3RpdmUnO1xyXG4iXX0=
@@ -1,4 +1,4 @@
1
- import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild, TemplateRef, Input, Output, HostListener, Directive, ElementRef, NgZone, ViewContainerRef, Optional, NgModule } from '@angular/core';
1
+ import { Directive, TemplateRef, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild, ContentChild, Input, Output, HostListener, ElementRef, NgZone, ViewContainerRef, Optional, NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
4
4
  import { v4 } from 'uuid';
@@ -11,6 +11,20 @@ import { TemplatePortal } from '@angular/cdk/portal';
11
11
  import { mapTo, filter, debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';
12
12
  import { A11yModule } from '@angular/cdk/a11y';
13
13
 
14
+ class PopoverContentDirective {
15
+ constructor(templateRef) {
16
+ this.templateRef = templateRef;
17
+ }
18
+ }
19
+ PopoverContentDirective.decorators = [
20
+ { type: Directive, args: [{
21
+ selector: '[sdPopoverContent]'
22
+ },] }
23
+ ];
24
+ PopoverContentDirective.ctorParameters = () => [
25
+ { type: TemplateRef }
26
+ ];
27
+
14
28
  var _xPosition;
15
29
  class PopoverComponent {
16
30
  constructor(cdRef, deviceService) {
@@ -123,7 +137,7 @@ _xPosition = new WeakMap();
123
137
  PopoverComponent.decorators = [
124
138
  { type: Component, args: [{
125
139
  selector: "sd-popover",
126
- template: "<ng-template>\r\n <div\r\n class=\"sd-popover-panel mat-elevation-z6\"\r\n [id]=\"panelId\"\r\n [ngClass]=\"classList\"\r\n tabindex=\"-1\"\r\n role=\"menu\"\r\n (mouseenter)=\"setMouseState(true)\"\r\n (mouseleave)=\"setMouseState(false)\"\r\n cdkTrapFocus\r\n #panel\r\n >\r\n <div class=\"sd-popover-content bg-white p-16\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"sd-popover-arrow\"></div>\r\n </div>\r\n</ng-template>",
140
+ template: "<ng-template let-data=\"data\">\r\n <div\r\n class=\"sd-popover-panel mat-elevation-z6\"\r\n [id]=\"panelId\"\r\n [ngClass]=\"classList\"\r\n tabindex=\"-1\"\r\n role=\"menu\"\r\n (mouseenter)=\"setMouseState(true)\"\r\n (mouseleave)=\"setMouseState(false)\"\r\n cdkTrapFocus\r\n #panel\r\n >\r\n <div class=\"sd-popover-content bg-white p-16\">\r\n <ng-container *ngIf=\"popoverContent?.templateRef\">\r\n <ng-container *ngTemplateOutlet=\"popoverContent.templateRef; context:{data: data}\"></ng-container>\r\n </ng-container>\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"sd-popover-arrow\"></div>\r\n </div>\r\n</ng-template>",
127
141
  encapsulation: ViewEncapsulation.None,
128
142
  exportAs: "sdPopover",
129
143
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -137,6 +151,7 @@ PopoverComponent.ctorParameters = () => [
137
151
  PopoverComponent.propDecorators = {
138
152
  templateRef: [{ type: ViewChild, args: [TemplateRef,] }],
139
153
  panel: [{ type: ViewChild, args: ["panel",] }],
154
+ popoverContent: [{ type: ContentChild, args: [PopoverContentDirective,] }],
140
155
  panelClass: [{ type: Input }],
141
156
  width: [{ type: Input }],
142
157
  height: [{ type: Input }],
@@ -185,9 +200,13 @@ class PopoverTriggerDirective {
185
200
  this.popoverOpen ? this.popoverOpened.emit() : this.popoverClosed.emit();
186
201
  });
187
202
  _getPortal.set(this, () => {
203
+ var _a;
188
204
  if (!__classPrivateFieldGet(this, _portal) ||
189
- __classPrivateFieldGet(this, _portal).templateRef !== this.popover.templateRef) {
190
- __classPrivateFieldSet(this, _portal, new TemplatePortal(this.popover.templateRef, this.viewContainerRef));
205
+ __classPrivateFieldGet(this, _portal).templateRef !== this.popover.templateRef ||
206
+ ((_a = __classPrivateFieldGet(this, _portal).context) === null || _a === void 0 ? void 0 : _a.data) !== this.popoverData) {
207
+ __classPrivateFieldSet(this, _portal, new TemplatePortal(this.popover.templateRef, this.viewContainerRef, {
208
+ data: this.popoverData
209
+ }));
191
210
  }
192
211
  return __classPrivateFieldGet(this, _portal);
193
212
  });
@@ -352,6 +371,7 @@ PopoverTriggerDirective.ctorParameters = () => [
352
371
  ];
353
372
  PopoverTriggerDirective.propDecorators = {
354
373
  popover: [{ type: Input, args: ["sdPopoverTriggerFor",] }],
374
+ popoverData: [{ type: Input, args: ["sdPopoverData",] }],
355
375
  popoverOpened: [{ type: Output }],
356
376
  popoverClosed: [{ type: Output }]
357
377
  };
@@ -362,7 +382,8 @@ SdPopoverModule.decorators = [
362
382
  { type: NgModule, args: [{
363
383
  declarations: [
364
384
  PopoverComponent,
365
- PopoverTriggerDirective
385
+ PopoverTriggerDirective,
386
+ PopoverContentDirective
366
387
  ],
367
388
  imports: [
368
389
  CommonModule,
@@ -370,7 +391,8 @@ SdPopoverModule.decorators = [
370
391
  ],
371
392
  exports: [
372
393
  PopoverComponent,
373
- PopoverTriggerDirective
394
+ PopoverTriggerDirective,
395
+ PopoverContentDirective
374
396
  ]
375
397
  },] }
376
398
  ];
@@ -383,5 +405,5 @@ SdPopoverModule.decorators = [
383
405
  * Generated bundle index. Do not edit.
384
406
  */
385
407
 
386
- export { PopoverComponent, PopoverTriggerDirective, SdPopoverModule };
408
+ export { PopoverComponent, PopoverContentDirective, PopoverTriggerDirective, SdPopoverModule };
387
409
  //# sourceMappingURL=sd-angular-core-popover.js.map