@sd-angular/core 1.1.23 → 1.1.26

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,"file":"sd-angular-core-popover.umd.js","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","../../../../projects/sd-core/popover/src/public-api.ts","../../../../projects/sd-core/popover/sd-angular-core-popover.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || 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 const classes = this.classList ?? {};\r\n if (preType) {\r\n classes[`sd-popover--${preType}`] = false;\r\n }\r\n if (type) {\r\n classes[`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","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport { SdPopoverModule } from './lib/popover.module';\r\n\r\nexport * from './lib/popover/popover.component';\r\nexport * from './lib/directives/popover-trigger.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4","BehaviorSubject","EventEmitter","Component","ViewEncapsulation","ChangeDetectionStrategy","ChangeDetectorRef","DeviceDetectorService","ViewChild","TemplateRef","Input","Output","HostListener","Subscription","Subject","TemplatePortal","OverlayConfig","merge","fromEvent","mapTo","filter","debounceTime","distinctUntilChanged","takeUntil","Directive","Overlay","ElementRef","NgZone","ViewContainerRef","Platform","Directionality","Optional","NgModule","CommonModule","A11yModule"],"mappings":"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"}
1
+ {"version":3,"file":"sd-angular-core-popover.umd.js","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","../../../../projects/sd-core/popover/src/public-api.ts","../../../../projects/sd-core/popover/sd-angular-core-popover.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || 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 const classes = this.classList ?? {};\r\n if (preType) {\r\n classes[`sd-popover--${preType}`] = false;\r\n }\r\n if (type) {\r\n classes[`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","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport { SdPopoverModule } from './lib/popover.module';\r\n\r\nexport * from './lib/popover/popover.component';\r\nexport * from './lib/directives/popover-trigger.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4","BehaviorSubject","EventEmitter","Component","ViewEncapsulation","ChangeDetectionStrategy","ChangeDetectorRef","DeviceDetectorService","ViewChild","TemplateRef","Input","Output","HostListener","Subscription","Subject","TemplatePortal","OverlayConfig","merge","fromEvent","mapTo","filter","debounceTime","distinctUntilChanged","takeUntil","Directive","Overlay","ElementRef","NgZone","ViewContainerRef","Platform","Directionality","Optional","NgModule","CommonModule","A11yModule"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;;QCvKE,0BACU,KAAwB,EACxB,aAAoC;YAF9C,iBAKC;YAJS,UAAK,GAAL,KAAK,CAAmB;YACxB,kBAAa,GAAb,aAAa,CAAuB;YArC9C,cAAS,GAA4B,EAAE,CAAC;YACxC,YAAO,GAAG,sBAAoBA,OAAO,EAAI,CAAC;YAC1C,qBAAgB,GAAG,KAAK,CAAC;YACzB,gBAAW,GAAG,IAAIC,oBAAe,CAAU,KAAK,CAAC,CAAC;YAClD,YAAO,GAA4B,IAAI,CAAC;YAK/B,eAAU,GAAW,EAAE,CAAC;YACxB,UAAK,GAAgC,IAAI,CAAC;YAC1C,WAAM,GAAW,MAAM,CAAC;YACxB,SAAI,GAAqE,QAAQ,CAAC;YAS3F,6BAAqB;YAEF,WAAM,GAAG,IAAIC,iBAAY,EAAQ,CAAC;YAwDrD,UAAK,GAAG;gBACN,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7B,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACpB,CAAC;YAEF,uBAAkB,GAAG,UAAC,GAA6B;gBAA7B,oBAAA,EAAA,MAAgB,KAAI,CAAC,QAAQ;;gBACjD,IAAM,OAAO,GAAG,KAAI,CAAC,SAAS,CAAC;gBAC/B,OAAO,CAAC,kBAAkB,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC;gBAC9C,OAAO,CAAC,kBAAkB,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC;gBAE9C,MAAA,KAAI,CAAC,KAAK,0CAAE,YAAY,GAAG;aAC5B,CAAC;YAEF,uBAAkB,GAAG,UAAC,MAAc;gBAClC,IAAM,YAAY,GAAgB,QAAQ,CAAC,aAAa,CAAC,MAAI,KAAI,CAAC,OAAO,uBAAoB,CAAC,CAAC;gBAC/F,IAAI,YAAY,IAAI,MAAM,EAAE;oBAC1B,IAAI;wBACF,IAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;wBACpD,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;wBACpD,IAAM,UAAU,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;wBACvC,IAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC;wBAC9B,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,gBAAc,UAAU,uBAAkB,UAAU,QAAK,CAAC;qBAC1F;oBAAC,OAAO,KAAK,EAAE,GAAE;iBACnB;aACF,CAAC;YAEF,kBAAa,GAAG,UAAC,OAAgB;gBAC/B,IAAI,CAAC,OAAO,EAAE;;;oBAGZ,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;oBAC7C,IAAM,YAAY,GAAG,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC;oBAC9C,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,aAAa,GAAG;wBACzC,OAAO;qBACR;iBACF;gBACD,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAChC,CAAC;YA7EA,IAAI,CAAC,gBAAgB,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;SACpD;QA3BD,sBACI,sCAAQ;iBADZ;gBAEE,gDAAuB;aACxB;iBACD,UAAa,KAAe;gBAC1B,uBAAA,IAAI,cAAc,KAAK,EAAC;gBACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;;;WAJA;QAUD,qCAAU,GAAV,UAAW,aAAa;;YACtB,UAAI,IAAI,CAAC,KAAK,0CAAE,aAAa,EAAE;gBAC7B,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAClE,IAAI,CAAC,QAAQ,EAAE;oBACb,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBAC3B;aACF;SACF;QASD,sCAAW,GAAX,UAAY,OAAsB;;YAChC,IAAG,OAAO,CAAC,IAAI,EAAE;gBACf,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;gBACvC,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;gBAC3C,IAAM,OAAO,SAAG,IAAI,CAAC,SAAS,mCAAI,EAAE,CAAC;gBACrC,IAAI,OAAO,EAAE;oBACX,OAAO,CAAC,iBAAe,OAAS,CAAC,GAAG,KAAK,CAAC;iBAC3C;gBACD,IAAI,IAAI,EAAE;oBACR,OAAO,CAAC,iBAAe,IAAM,CAAC,GAAG,IAAI,CAAC;iBACvC;aACF;SACF;QAED,mCAAQ,GAAR;YACE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,QAAQ,IAAI,CAAC,KAAK;oBAChB,KAAK,IAAI;wBACP,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;wBACpB,MAAM;oBACR,KAAK,IAAI;wBACP,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;wBACpB,MAAM;oBACR,KAAK,IAAI;wBACP,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;wBACpB,MAAM;iBACT;aACF;SACF;QAED,sCAAW,GAAX;YACE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;SAC7B;;;;;gBAtFFC,cAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,gfAAuC;oBAEvC,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,QAAQ,EAAE,WAAW;oBACrB,eAAe,EAAEC,4BAAuB,CAAC,MAAM;;iBAChD;;;gBAhCCC,sBAAiB;gBAiBVC,uCAAqB;;;8BAuB3BC,cAAS,SAACC,gBAAW;wBACrBD,cAAS,SAAC,OAAO;6BAEjBE,UAAK;wBACLA,UAAK;yBACLA,UAAK;uBACLA,UAAK;2BACLA,UAAK;yBAULC,WAAM;6BAENC,iBAAY,SAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC;;;;;QCWjD,iCACU,QAAiB,EACjB,QAAiC,EACjC,OAAe,EACf,gBAAkC,EAClC,UAAsB,EACtB,QAAkB,EACN,IAAoB;YAP1C,iBAQI;YAPM,aAAQ,GAAR,QAAQ,CAAS;YACjB,aAAQ,GAAR,QAAQ,CAAyB;YACjC,YAAO,GAAP,OAAO,CAAQ;YACf,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,eAAU,GAAV,UAAU,CAAY;YACtB,aAAQ,GAAR,QAAQ,CAAU;YACN,SAAI,GAAJ,IAAI,CAAgB;YAnC1C,sBAAiC,IAAI,EAAC;YACtC,yBAAiBC,iBAAY,CAAC,KAAK,EAAC;YACpC,0BAAwB;YACxB,oBAAY,IAAIC,YAAO,EAAE,EAAC;YAE1B,gBAAW,GAAG,KAAK,CAAC;YAkBpB,2BAA2B;YAEjB,kBAAa,GAAG,IAAIZ,iBAAY,EAAQ,CAAC;YACzC,kBAAa,GAAG,IAAIA,iBAAY,EAAQ,CAAC;YAsDnD,gBAAW,GAAG;gBACZ,IAAI,KAAI,CAAC,WAAW,EAAE;oBACpB,OAAO;iBACR;gBAED,IAAM,UAAU,GAAG,mDAAA,KAAI,CAAiB,CAAC;gBACzC,IAAM,aAAa,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC7C,IAAM,gBAAgB,GACpB,aAAa,CAAC,gBAAqD,CAAC;gBACtE,iDAAA,KAAI,EAAc,gBAAgB,CAAC,CAAC;gBACpC,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;gBAClC,UAAU,CAAC,MAAM,CAAC,+CAAA,KAAI,CAAa,CAAC,CAAC;gBACrC,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAI,CAAC;gBAC5B,sDAAA,KAAI,EAAmB,IAAI,CAAC,CAAC;aAC9B,CAAC;YAEF,iBAAY,GAAG;gBACb,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aAC5B,CAAC;YAEF,4BAAoB,UAAC,MAAe;gBAClC,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC1B,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;aAC1E,EAAC;YAEF,qBAAa;gBACX,IACE,uCAAa;oBACb,uCAAa,WAAW,KAAK,KAAI,CAAC,OAAO,CAAC,WAAW,EACrD;oBACA,uBAAA,KAAI,WAAW,IAAIa,qBAAc,CAC/B,KAAI,CAAC,OAAO,CAAC,WAAW,EACxB,KAAI,CAAC,gBAAgB,CACtB,EAAC;iBACH;gBAED,8CAAoB;aACrB,EAAC;YAEF,yBAAiB;gBACf,IAAI,2CAAiB,EAAE;oBACrB,IAAM,MAAM,GAAG,sDAAA,KAAI,CAAoB,CAAC;oBACxC,0DAAA,KAAI,EACF,MAAM,CAAC,gBAAqD,CAC7D,CAAC;oBACF,uBAAA,KAAI,eAAe,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAC;iBACjD;gBAED,kDAAwB;aACzB,EAAC;YAEF,uBAAe,UAAC,gBAAmD;gBACjE,IAAI,OAAO,GAA+B,QAAQ,CAAC;gBACnD,IAAI,OAAO,GAAgC,KAAK,CAAC;gBACjD,IAAI,QAAQ,GAA+B,QAAQ,CAAC;gBACpD,IAAI,QAAQ,GAAgC,QAAQ,CAAC;gBACrD,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,IAAI,OAAO,GAAG,EAAE,CAAC;gBAEjB,QAAQ,KAAI,CAAC,OAAO,CAAC,QAAQ;oBAC3B,KAAK,OAAO;wBACV,OAAO,GAAG,KAAK,CAAC;wBAChB,QAAQ,GAAG,QAAQ,CAAC;wBACpB,MAAM;oBACR,KAAK,OAAO;wBACV,OAAO,GAAG,QAAQ,CAAC;wBACnB,QAAQ,GAAG,KAAK,CAAC;wBACjB,MAAM;iBACT;gBAED,gBAAgB,CAAC,aAAa,CAAC;;oBAE7B,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,GAAG,CAAC,OAAO,GAAG,OAAO,EAAE;;oBAExF;wBACE,OAAO,EAAE,QAAQ;wBACjB,OAAO,EAAE,KAAK;wBACd,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAE,QAAQ;wBAClB,OAAO,SAAA;wBACP,OAAO,EAAE,CAAC,OAAO;qBAClB;;oBAED;wBACE,OAAO,EAAE,QAAQ;wBACjB,OAAO,EAAE,QAAQ;wBACjB,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAE,KAAK;wBACf,OAAO,SAAA;wBACP,OAAO,SAAA;qBACR;iBACF,CAAC,CAAC;aACJ,EAAC;YAEF,4BAAoB;gBAClB,OAAO,IAAIC,qBAAa,CAAC;oBACvB,gBAAgB,EAAE,KAAI,CAAC,QAAQ;yBAC5B,QAAQ,EAAE;yBACV,mBAAmB,CAAC,KAAI,CAAC,QAAQ,CAAC;yBAClC,kBAAkB,EAAE;yBACpB,iBAAiB,EAAE;yBACnB,qBAAqB,CAAC,mBAAmB,CAAC;oBAC7C,aAAa,EAAE,kCAAkC;oBACjD,UAAU,EAAE,KAAI,CAAC,OAAO,CAAC,UAAU;oBACnC,SAAS,EAAE,KAAI,CAAC,IAAI;oBACpB,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK;oBACzB,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,MAAM;iBAC5B,CAAC,CAAC;aACJ,EAAC;YAEF,gCAAwB,UAAC,QAA2C;gBAClE,IAAI,KAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;oBACnC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,UAAC,MAAM;;wBACxC,IAAM,GAAG,GACP,MAAM,CAAC,cAAc,CAAC,QAAQ,KAAK,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;wBAE/D,IAAI,KAAI,CAAC,OAAO,EAAE;4BAChB,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAM,OAAA,KAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;yBAC9D;6BAAM;4BACL,KAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;yBACtC;wBAED,IAAM,aAAa,GAAgB,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC;wBACjE,IAAM,cAAc,SAClB,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAC5B,0CAAE,SAAS,CAAC,CAAC,CAAC,CAAC;wBAChB,IAAI,aAAa,IAAI,cAAc,EAAE;4BACnC,IAAM,UAAU,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC;4BACzD,IAAM,WAAW,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC;4BAC3D,IAAM,UAAU,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;4BAC1D,IAAM,WAAW,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;4BAE7D,IAAM,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;4BAExC,KAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;yBACzC;qBACF,CAAC,CAAC;iBACJ;aACF,EAAC;YAEF,0BAAkB;gBAChB,IAAI,2CAAiB,IAAI,CAAC,KAAI,CAAC,WAAW,EAAE;oBAC1C,OAAO;iBACR;gBACD,2CAAiB,MAAM,EAAE,CAAC;gBAC1B,sDAAA,KAAI,EAAmB,KAAK,CAAC,CAAC;aAC/B,EAAC;SA9LE;QA7BJ,sBACI,4CAAO;iBADX;gBAEE,8CAAqB;aACtB;iBACD,UAAY,OAAyB;gBAArC,iBAWC;gBAVC,IAAI,OAAO,2CAAkB,EAAE;oBAC7B,OAAO;iBACR;gBACD,uBAAA,IAAI,YAAY,OAAO,EAAC;gBACxB,6CAAoB,WAAW,EAAE,CAAC;gBAClC,IAAI,OAAO,EAAE;oBACX,uBAAA,IAAI,kBAAkB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;wBAC7C,oDAAA,KAAI,CAAkB,CAAC;qBACxB,CAAC,EAAC;iBACJ;aACF;;;WAZA;QA4BD,iDAAe,GAAf;YAAA,iBA+BC;YA9BC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;gBAEpD,IAAM,eAAe,GAAGC,UAAK,CAC3BC,cAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,IAAI,CAACC,eAAK,CAAC,IAAI,CAAC,CAAC,EACxDD,cAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,IAAI,CAACC,eAAK,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;gBAEF,IAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;;gBAEtDC,gBAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAI,GAAA,CAAC,CACrE,CAAC;gBAEF,IAAM,iBAAiB,GAAGH,UAAK,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;gBAErE,iBAAiB;qBACd,IAAI,CACHI,sBAAY,CAAC,GAAG,CAAC,EACjBC,8BAAoB,EAAE,EACtBF,gBAAM,CAAC,cAAM,OAAA,KAAI,CAAC,QAAQ,CAAC,SAAS,GAAA,CAAC,EACrCG,mBAAS,yCAAgB,CAC1B;qBACA,SAAS,CAAC,UAAC,OAAO;oBACjB,IAAI,OAAO,EAAE;wBACX,KAAI,CAAC,WAAW,EAAE,CAAC;qBACpB;yBAAM;wBACL,KAAI,CAAC,YAAY,EAAE,CAAC;qBACrB;iBACF,CAAC,CAAC;aACN;SACF;QAED,6CAAW,GAAX;YACE,wCAAe,IAAI,EAAE,CAAC;YACtB,wCAAe,QAAQ,EAAE,CAAC;YAC1B,+CAAsB;gBACpB,0CAAiB,OAAO,EAAE,CAAC;gBAC3B,uBAAA,IAAI,eAAe,IAAI,EAAC;aACzB;SACF;;;;;gBAvFFC,cAAS,SAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,IAAI,EAAE;wBACJ,eAAe,EAAE,MAAM;wBACvB,KAAK,EAAE,oBAAoB;qBAC5B;oBACD,QAAQ,EAAE,kBAAkB;iBAC7B;;;gBAvCCC,eAAO;gBASPC,eAAU;gBAGVC,WAAM;gBAINC,qBAAgB;gBAPhBF,eAAU;gBALHG,iBAAQ;gBAPRC,mBAAc,uBA+ElBC,aAAQ;;;0BA5BVrB,UAAK,SAAC,qBAAqB;gCAkB3BC,WAAM;gCACNA,WAAM;;;;QChDT;;;;;gBAdCqB,aAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,gBAAgB;wBAChB,uBAAuB;qBACxB;oBACD,OAAO,EAAE;wBACPC,mBAAY;wBACZC,eAAU;qBACX;oBACD,OAAO,EAAE;wBACP,gBAAgB;wBAChB,uBAAuB;qBACxB;iBACF;;;ICrBD;;;;ICAA;;;;;;;;;;;;;;;;"}
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */Object.create;var v;Object.create;function u(e,o,t,r){if("a"===t&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof o?e!==o||!r:!o.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?r:"a"===t?r.call(e):r?r.value:o.get(e)}function f(e,o,t,r,n){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof o?e!==o||!n:!o.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,t):n?n.value=t:o.set(e,t),t}var h,b,g,w,m,y,x,k,C,P,O,M,T=function(){function e(e,t){var n=this;this.cdRef=e,this.deviceService=t,this.classList={},this.panelId="sd-popover-panel-"+r.v4(),this.isMobileOrTablet=!1,this.mouseState$=new p.BehaviorSubject(!1),this.trigger=null,this.panelClass="",this.width="sm",this.height="auto",this.type="normal",v.set(this,void 0),this.closed=new o.EventEmitter,this.close=function(){n.mouseState$.next(!1),n.closed.emit()},this.setPositionClasses=function(e){var o;void 0===e&&(e=n.position);var t=n.classList;t["sd-popover-above"]="above"===e,t["sd-popover-below"]="below"===e,null===(o=n.cdRef)||void 0===o||o.markForCheck()},this.addArrowTranslateX=function(e){var o=document.querySelector("#"+n.panelId+" .sd-popover-arrow");if(o&&e)try{var t=window.getComputedStyle(o),r=new WebKitCSSMatrix(t.transform),p=r.m41+e,s=r.m42;o.style.transform="translateX("+p+"px) translateY("+s+"px)"}catch(e){}},this.setMouseState=function(e){if(!e){var o=document.activeElement,t=n.panel.nativeElement;if(null==t?void 0:t.contains(o))return}n.mouseState$.next(e)},this.isMobileOrTablet=!t.isDesktop()}return Object.defineProperty(e.prototype,"position",{get:function(){return u(this,v)},set:function(e){f(this,v,e),this.setPositionClasses()},enumerable:!1,configurable:!0}),e.prototype._hostClick=function(e){var o;(null===(o=this.panel)||void 0===o?void 0:o.nativeElement)&&(this.panel.nativeElement.contains(e)||this.setMouseState(!1))},e.prototype.ngOnChanges=function(e){var o;if(e.type){var t=e.type.currentValue,r=e.type.previousValue,n=null!==(o=this.classList)&&void 0!==o?o:{};r&&(n["sd-popover--"+r]=!1),t&&(n["sd-popover--"+t]=!0)}},e.prototype.ngOnInit=function(){if(this.setPositionClasses(),this.width=this.width||"80vw",!this.isMobileOrTablet)switch(this.width){case"lg":this.width="80vw";break;case"md":this.width="60vw";break;case"sm":this.width="40vw"}},e.prototype.ngOnDestroy=function(){this.closed.complete(),this.mouseState$.complete()},e}();v=new WeakMap,T.decorators=[{type:o.Component,args:[{selector:"sd-popover",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 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>',encapsulation:o.ViewEncapsulation.None,exportAs:"sdPopover",changeDetection:o.ChangeDetectionStrategy.OnPush,styles:['.text-black400{color:#757575}.sd-popover-panel{position:relative}.sd-popover-panel .sd-popover-arrow{clear:both;height:0;left:50%;position:absolute;width:0}.sd-popover-panel.sd-popover-above .sd-popover-arrow{border-color:#fff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%;transform:translateX(-6px) translateY(-1px)}.sd-popover-panel.sd-popover-above:after{content:" ";display:block;height:16px;position:absolute;width:100%}.sd-popover-panel.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #fff;border-style:solid;border-width:0 12px 12px;bottom:100%;transform:translateX(-6px) translateY(1px)}.sd-popover-panel.sd-popover-below:before{content:" ";display:block;height:16px;position:absolute;width:100%}.sd-popover--normal{background:#fff;color:#000}.sd-popover--normal.sd-popover-above .sd-popover-arrow{border-color:#fff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--normal.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #fff;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--primary{background:#e7e9ff;color:#2962ff}.sd-popover--primary.sd-popover-above .sd-popover-arrow{border-color:#e7e9ff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--primary.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #e7e9ff;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--info{background:#e7e9ff;color:#2962ff}.sd-popover--info.sd-popover-above .sd-popover-arrow{border-color:#e7e9ff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--info.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #e7e9ff;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--success{background:#dbefdc;color:#4caf50}.sd-popover--success.sd-popover-above .sd-popover-arrow{border-color:#dbefdc transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--success.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #dbefdc;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--warning{background:#ffeacc;color:#ff9600}.sd-popover--warning.sd-popover-above .sd-popover-arrow{border-color:#ffeacc transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--warning.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #ffeacc;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--danger{background:#fed5d0;color:#f82c13}.sd-popover--danger.sd-popover-above .sd-popover-arrow{border-color:#fed5d0 transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--danger.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #fed5d0;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover-content{padding:16px}']}]}],T.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:n.DeviceDetectorService}]},T.propDecorators={templateRef:[{type:o.ViewChild,args:[o.TemplateRef]}],panel:[{type:o.ViewChild,args:["panel"]}],panelClass:[{type:o.Input}],width:[{type:o.Input}],height:[{type:o.Input}],type:[{type:o.Input}],position:[{type:o.Input}],closed:[{type:o.Output}],_hostClick:[{type:o.HostListener,args:["document:click",["$event.target"]]}]};var E=function(){function e(e,t,r,n,s,i,l){var c=this;this._overlay=e,this._element=t,this._ngZone=r,this.viewContainerRef=n,this.elementRef=s,this.platform=i,this._dir=l,h.set(this,null),b.set(this,p.Subscription.EMPTY),g.set(this,void 0),w.set(this,new p.Subject),this.popoverOpen=!1,m.set(this,void 0),this.popoverOpened=new o.EventEmitter,this.popoverClosed=new o.EventEmitter,this.openPopover=function(){if(!c.popoverOpen){var e=u(c,k).call(c),o=e.getConfig(),t=o.positionStrategy;u(c,C).call(c,t),o.hasBackdrop=!1,e.attach(u(c,x).call(c)),c.popover.trigger=c,u(c,y).call(c,!0)}},this.closePopover=function(){c.popover.closed.emit()},y.set(this,(function(e){c.popoverOpen=e,c.popoverOpen?c.popoverOpened.emit():c.popoverClosed.emit()})),x.set(this,(function(){return u(c,g)&&u(c,g).templateRef===c.popover.templateRef||f(c,g,new d.TemplatePortal(c.popover.templateRef,c.viewContainerRef)),u(c,g)})),k.set(this,(function(){if(!u(c,h)){var e=u(c,P).call(c);u(c,O).call(c,e.positionStrategy),f(c,h,c._overlay.create(e))}return u(c,h)})),C.set(this,(function(e){var o="top",t="bottom";switch(c.popover.position){case"above":o="top",t="bottom";break;case"below":o="bottom",t="top"}e.withPositions([{originX:"center",originY:o,overlayX:"center",overlayY:t,offsetY:"top"==o?-16:16},{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetX:0,offsetY:-16},{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetX:0,offsetY:16}])})),P.set(this,(function(){return new a.OverlayConfig({positionStrategy:c._overlay.position().flexibleConnectedTo(c._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".sd-popover-panel"),backdropClass:"cdk-overlay-transparent-backdrop",panelClass:c.popover.panelClass,direction:c._dir,width:c.popover.width,height:c.popover.height})})),O.set(this,(function(e){c.popover.setPositionClasses&&e.positionChanges.subscribe((function(e){var o,t="top"===e.connectionPair.overlayY?"below":"above";c._ngZone?c._ngZone.run((function(){return c.popover.setPositionClasses(t)})):c.popover.setPositionClasses(t);var r=c.elementRef.nativeElement,n=null===(o=c.viewContainerRef.get(0))||void 0===o?void 0:o.rootNodes[0];if(r&&n){var p=r.getBoundingClientRect(),s=n.getBoundingClientRect(),a=p.left+p.width/2-(s.left+s.width/2);c.popover.addArrowTranslateX(a)}}))})),M.set(this,(function(){u(c,h)&&c.popoverOpen&&(u(c,h).detach(),u(c,y).call(c,!1))}))}return Object.defineProperty(e.prototype,"popover",{get:function(){return u(this,m)},set:function(e){var o=this;e!==u(this,m)&&(f(this,m,e),u(this,b).unsubscribe(),e&&f(this,b,e.closed.subscribe((function(){u(o,M).call(o)}))))},enumerable:!1,configurable:!0}),e.prototype.ngAfterViewInit=function(){var e=this;if(this.popover){var o=this.elementRef.nativeElement,t=p.merge(p.fromEvent(o,"mouseenter").pipe(l.mapTo(!0)),p.fromEvent(o,"mouseleave").pipe(l.mapTo(!1))),r=this.popover.mouseState$.pipe(l.filter((function(o){return!e.popover.trigger||e.popover.trigger==e})));p.merge(r,t).pipe(l.debounceTime(100),l.distinctUntilChanged(),l.filter((function(){return e.platform.isBrowser})),l.takeUntil(u(this,w))).subscribe((function(o){o?e.openPopover():e.closePopover()}))}},e.prototype.ngOnDestroy=function(){u(this,w).next(),u(this,w).complete(),u(this,h)&&(u(this,h).dispose(),f(this,h,null))},e}();h=new WeakMap,b=new WeakMap,g=new WeakMap,w=new WeakMap,m=new WeakMap,y=new WeakMap,x=new WeakMap,k=new WeakMap,C=new WeakMap,P=new WeakMap,O=new WeakMap,M=new WeakMap,E.decorators=[{type:o.Directive,args:[{selector:"[sdPopoverTriggerFor]",host:{"aria-haspopup":"true",class:"sd-popover-trigger"},exportAs:"sdPopoverTrigger"}]}],E.ctorParameters=function(){return[{type:a.Overlay},{type:o.ElementRef},{type:o.NgZone},{type:o.ViewContainerRef},{type:o.ElementRef},{type:i.Platform},{type:s.Directionality,decorators:[{type:o.Optional}]}]},E.propDecorators={popover:[{type:o.Input,args:["sdPopoverTriggerFor"]}],popoverOpened:[{type:o.Output}],popoverClosed:[{type:o.Output}]};var S=function(){};S.decorators=[{type:o.NgModule,args:[{declarations:[T,E],imports:[t.CommonModule,c.A11yModule],exports:[T,E]}]}],e.PopoverComponent=T,e.PopoverTriggerDirective=E,e.SdPopoverModule=S,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */Object.create;var v;Object.create;function u(e,o,t,r){if("a"===t&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof o?e!==o||!r:!o.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?r:"a"===t?r.call(e):r?r.value:o.get(e)}function f(e,o,t,r,n){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof o?e!==o||!n:!o.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,t):n?n.value=t:o.set(e,t),t}var h,b,g,w,m,y,x,k,C,P,O,M,T=function(){function e(e,t){var n=this;this.cdRef=e,this.deviceService=t,this.classList={},this.panelId="sd-popover-panel-"+r.v4(),this.isMobileOrTablet=!1,this.mouseState$=new p.BehaviorSubject(!1),this.trigger=null,this.panelClass="",this.width="sm",this.height="auto",this.type="normal",v.set(this,void 0),this.closed=new o.EventEmitter,this.close=function(){n.mouseState$.next(!1),n.closed.emit()},this.setPositionClasses=function(e){var o;void 0===e&&(e=n.position);var t=n.classList;t["sd-popover-above"]="above"===e,t["sd-popover-below"]="below"===e,null===(o=n.cdRef)||void 0===o||o.markForCheck()},this.addArrowTranslateX=function(e){var o=document.querySelector("#"+n.panelId+" .sd-popover-arrow");if(o&&e)try{var t=window.getComputedStyle(o),r=new WebKitCSSMatrix(t.transform),p=r.m41+e,s=r.m42;o.style.transform="translateX("+p+"px) translateY("+s+"px)"}catch(e){}},this.setMouseState=function(e){if(!e){var o=document.activeElement,t=n.panel.nativeElement;if(null==t?void 0:t.contains(o))return}n.mouseState$.next(e)},this.isMobileOrTablet=!t.isDesktop()}return Object.defineProperty(e.prototype,"position",{get:function(){return u(this,v)},set:function(e){f(this,v,e),this.setPositionClasses()},enumerable:!1,configurable:!0}),e.prototype._hostClick=function(e){var o;(null===(o=this.panel)||void 0===o?void 0:o.nativeElement)&&(this.panel.nativeElement.contains(e)||this.setMouseState(!1))},e.prototype.ngOnChanges=function(e){var o;if(e.type){var t=e.type.currentValue,r=e.type.previousValue,n=null!==(o=this.classList)&&void 0!==o?o:{};r&&(n["sd-popover--"+r]=!1),t&&(n["sd-popover--"+t]=!0)}},e.prototype.ngOnInit=function(){if(this.setPositionClasses(),this.width=this.width||"80vw",!this.isMobileOrTablet)switch(this.width){case"lg":this.width="80vw";break;case"md":this.width="60vw";break;case"sm":this.width="40vw"}},e.prototype.ngOnDestroy=function(){this.closed.complete(),this.mouseState$.complete()},e}();v=new WeakMap,T.decorators=[{type:o.Component,args:[{selector:"sd-popover",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>',encapsulation:o.ViewEncapsulation.None,exportAs:"sdPopover",changeDetection:o.ChangeDetectionStrategy.OnPush,styles:['.text-black400{color:#757575}.sd-popover-panel{position:relative}.sd-popover-panel .sd-popover-arrow{clear:both;height:0;left:50%;position:absolute;width:0}.sd-popover-panel.sd-popover-above .sd-popover-arrow{border-color:#fff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%;transform:translateX(-6px) translateY(-1px)}.sd-popover-panel.sd-popover-above:after{content:" ";display:block;height:16px;position:absolute;width:100%}.sd-popover-panel.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #fff;border-style:solid;border-width:0 12px 12px;bottom:100%;transform:translateX(-6px) translateY(1px)}.sd-popover-panel.sd-popover-below:before{content:" ";display:block;height:16px;position:absolute;width:100%}.sd-popover--normal{background:#fff;color:#000}.sd-popover--normal.sd-popover-above .sd-popover-arrow{border-color:#fff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--normal.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #fff;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--primary{background:#e7e9ff;color:#2962ff}.sd-popover--primary.sd-popover-above .sd-popover-arrow{border-color:#e7e9ff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--primary.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #e7e9ff;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--info{background:#e7e9ff;color:#2962ff}.sd-popover--info.sd-popover-above .sd-popover-arrow{border-color:#e7e9ff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--info.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #e7e9ff;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--success{background:#dbefdc;color:#4caf50}.sd-popover--success.sd-popover-above .sd-popover-arrow{border-color:#dbefdc transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--success.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #dbefdc;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--warning{background:#ffeacc;color:#ff9600}.sd-popover--warning.sd-popover-above .sd-popover-arrow{border-color:#ffeacc transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--warning.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #ffeacc;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--danger{background:#fed5d0;color:#f82c13}.sd-popover--danger.sd-popover-above .sd-popover-arrow{border-color:#fed5d0 transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--danger.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #fed5d0;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover-content{padding:16px}']}]}],T.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:n.DeviceDetectorService}]},T.propDecorators={templateRef:[{type:o.ViewChild,args:[o.TemplateRef]}],panel:[{type:o.ViewChild,args:["panel"]}],panelClass:[{type:o.Input}],width:[{type:o.Input}],height:[{type:o.Input}],type:[{type:o.Input}],position:[{type:o.Input}],closed:[{type:o.Output}],_hostClick:[{type:o.HostListener,args:["document:click",["$event.target"]]}]};var E=function(){function e(e,t,r,n,s,i,l){var c=this;this._overlay=e,this._element=t,this._ngZone=r,this.viewContainerRef=n,this.elementRef=s,this.platform=i,this._dir=l,h.set(this,null),b.set(this,p.Subscription.EMPTY),g.set(this,void 0),w.set(this,new p.Subject),this.popoverOpen=!1,m.set(this,void 0),this.popoverOpened=new o.EventEmitter,this.popoverClosed=new o.EventEmitter,this.openPopover=function(){if(!c.popoverOpen){var e=u(c,k).call(c),o=e.getConfig(),t=o.positionStrategy;u(c,C).call(c,t),o.hasBackdrop=!1,e.attach(u(c,x).call(c)),c.popover.trigger=c,u(c,y).call(c,!0)}},this.closePopover=function(){c.popover.closed.emit()},y.set(this,(function(e){c.popoverOpen=e,c.popoverOpen?c.popoverOpened.emit():c.popoverClosed.emit()})),x.set(this,(function(){return u(c,g)&&u(c,g).templateRef===c.popover.templateRef||f(c,g,new d.TemplatePortal(c.popover.templateRef,c.viewContainerRef)),u(c,g)})),k.set(this,(function(){if(!u(c,h)){var e=u(c,P).call(c);u(c,O).call(c,e.positionStrategy),f(c,h,c._overlay.create(e))}return u(c,h)})),C.set(this,(function(e){var o="top",t="bottom";switch(c.popover.position){case"above":o="top",t="bottom";break;case"below":o="bottom",t="top"}e.withPositions([{originX:"center",originY:o,overlayX:"center",overlayY:t,offsetY:"top"==o?-16:16},{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetX:0,offsetY:-16},{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetX:0,offsetY:16}])})),P.set(this,(function(){return new a.OverlayConfig({positionStrategy:c._overlay.position().flexibleConnectedTo(c._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".sd-popover-panel"),backdropClass:"cdk-overlay-transparent-backdrop",panelClass:c.popover.panelClass,direction:c._dir,width:c.popover.width,height:c.popover.height})})),O.set(this,(function(e){c.popover.setPositionClasses&&e.positionChanges.subscribe((function(e){var o,t="top"===e.connectionPair.overlayY?"below":"above";c._ngZone?c._ngZone.run((function(){return c.popover.setPositionClasses(t)})):c.popover.setPositionClasses(t);var r=c.elementRef.nativeElement,n=null===(o=c.viewContainerRef.get(0))||void 0===o?void 0:o.rootNodes[0];if(r&&n){var p=r.getBoundingClientRect(),s=n.getBoundingClientRect(),a=p.left+p.width/2-(s.left+s.width/2);c.popover.addArrowTranslateX(a)}}))})),M.set(this,(function(){u(c,h)&&c.popoverOpen&&(u(c,h).detach(),u(c,y).call(c,!1))}))}return Object.defineProperty(e.prototype,"popover",{get:function(){return u(this,m)},set:function(e){var o=this;e!==u(this,m)&&(f(this,m,e),u(this,b).unsubscribe(),e&&f(this,b,e.closed.subscribe((function(){u(o,M).call(o)}))))},enumerable:!1,configurable:!0}),e.prototype.ngAfterViewInit=function(){var e=this;if(this.popover){var o=this.elementRef.nativeElement,t=p.merge(p.fromEvent(o,"mouseenter").pipe(l.mapTo(!0)),p.fromEvent(o,"mouseleave").pipe(l.mapTo(!1))),r=this.popover.mouseState$.pipe(l.filter((function(o){return!e.popover.trigger||e.popover.trigger==e})));p.merge(r,t).pipe(l.debounceTime(100),l.distinctUntilChanged(),l.filter((function(){return e.platform.isBrowser})),l.takeUntil(u(this,w))).subscribe((function(o){o?e.openPopover():e.closePopover()}))}},e.prototype.ngOnDestroy=function(){u(this,w).next(),u(this,w).complete(),u(this,h)&&(u(this,h).dispose(),f(this,h,null))},e}();h=new WeakMap,b=new WeakMap,g=new WeakMap,w=new WeakMap,m=new WeakMap,y=new WeakMap,x=new WeakMap,k=new WeakMap,C=new WeakMap,P=new WeakMap,O=new WeakMap,M=new WeakMap,E.decorators=[{type:o.Directive,args:[{selector:"[sdPopoverTriggerFor]",host:{"aria-haspopup":"true",class:"sd-popover-trigger"},exportAs:"sdPopoverTrigger"}]}],E.ctorParameters=function(){return[{type:a.Overlay},{type:o.ElementRef},{type:o.NgZone},{type:o.ViewContainerRef},{type:o.ElementRef},{type:i.Platform},{type:s.Directionality,decorators:[{type:o.Optional}]}]},E.propDecorators={popover:[{type:o.Input,args:["sdPopoverTriggerFor"]}],popoverOpened:[{type:o.Output}],popoverClosed:[{type:o.Output}]};var S=function(){};S.decorators=[{type:o.NgModule,args:[{declarations:[T,E],imports:[t.CommonModule,c.A11yModule],exports:[T,E]}]}],e.PopoverComponent=T,e.PopoverTriggerDirective=E,e.SdPopoverModule=S,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=sd-angular-core-popover.umd.min.js.map
@@ -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","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 const classes = this.classList ?? {};\r\n if (preType) {\r\n classes[`sd-popover--${preType}`] = false;\r\n }\r\n if (type) {\r\n classes[`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/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","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 const classes = this.classList ?? {};\r\n if (preType) {\r\n classes[`sd-popover--${preType}`] = false;\r\n }\r\n if (type) {\r\n classes[`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"]}
@@ -13,6 +13,7 @@ export class SdJsonEditor {
13
13
  this.ref = ref;
14
14
  this.id = `I${uuid.v4()}`;
15
15
  _name.set(this, uuid.v4());
16
+ this.height = '400px';
16
17
  _form.set(this, void 0);
17
18
  _model.set(this, void 0);
18
19
  this.modelChange = new EventEmitter();
@@ -25,8 +26,8 @@ export class SdJsonEditor {
25
26
  var _a;
26
27
  const container = document.getElementById(this.id);
27
28
  const option = {
28
- mode: this.formControl.disabled ? 'view' : 'form',
29
- modes: ['form', 'text', 'view'],
29
+ mode: this.formControl.disabled ? 'view' : 'tree',
30
+ modes: ['tree', 'form', 'text', 'view'],
30
31
  onChange: () => {
31
32
  __classPrivateFieldSet(this, _model, this.editor.get());
32
33
  this.formControl.setValue(__classPrivateFieldGet(this, _model));
@@ -105,7 +106,7 @@ _name = new WeakMap(), _form = new WeakMap(), _model = new WeakMap(), _subscript
105
106
  SdJsonEditor.decorators = [
106
107
  { type: Component, args: [{
107
108
  selector: 'sd-json-editor',
108
- template: "<label *ngIf=\"label\" class=\"d-block T14M\">{{label}} <span class=\"text-danger mb-2\" *ngIf=\"required\">*</span></label>\r\n<div [id]=\"id\" style=\"min-height: 400px;\"></div>\r\n",
109
+ template: "<label *ngIf=\"label\" class=\"d-block T14M\">{{label}} <span class=\"text-danger mb-2\" *ngIf=\"required\">*</span></label>\r\n<div [id]=\"id\" [style.height]=\"height\"></div>\r\n",
109
110
  changeDetection: ChangeDetectionStrategy.OnPush,
110
111
  styles: [""]
111
112
  },] }
@@ -115,6 +116,7 @@ SdJsonEditor.ctorParameters = () => [
115
116
  ];
116
117
  SdJsonEditor.propDecorators = {
117
118
  name: [{ type: Input }],
119
+ height: [{ type: Input }],
118
120
  form: [{ type: Input }],
119
121
  label: [{ type: Input }],
120
122
  model: [{ type: Input }],
@@ -124,4 +126,4 @@ SdJsonEditor.propDecorators = {
124
126
  tooltip: [{ type: Input }],
125
127
  sdChange: [{ type: Output }]
126
128
  };
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9qc29uLWVkaXRvci8iLCJzb3VyY2VzIjpbInNyYy9saWIvanNvbi1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFNakIsdUJBQXVCLEVBRXhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxZQUFZLENBQUM7QUFDcEIsT0FBTyxVQUFpQyxNQUFNLFlBQVksQ0FBQztBQU8zRCxNQUFNLE9BQU8sWUFBWTtJQW9EdkIsWUFDUyxHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXBEL0IsT0FBRSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFckIsZ0JBQVEsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDO1FBTWxCLHdCQUFpQjtRQVdqQix5QkFBWTtRQVVGLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQyxZQUFZO1FBQ1osZUFBVSxHQUFHLEtBQUssQ0FBQztRQWVULGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTdDLGdCQUFXLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNsQyx3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O1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFVRCxRQUFRO1FBQ04sNENBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9ELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlO1FBQ2IsMkNBQUEsSUFBSSxDQUFVLENBQUM7SUFDakIsQ0FBQztJQWtCRCxXQUFXOztRQUNULG1GQUFZLGFBQWEsc0NBQWE7UUFDdEMsNENBQW1CLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7Ozs7WUEzRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLG9NQUEyQztnQkFFM0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFyQkMsaUJBQWlCOzs7bUJBMEJoQixLQUFLO21CQU1MLEtBQUs7b0JBU0wsS0FBSztvQkFFTCxLQUFLOzBCQVNMLE1BQU07dUJBSU4sS0FBSzt1QkFLTCxLQUFLO3NCQVFMLEtBQUs7dUJBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uRGVzdHJveSxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgT25Jbml0LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBIb3N0TGlzdGVuZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdGb3JtLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNkRm9ybUNvbnRyb2wgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2NvbW1vbic7XHJcbmltcG9ydCAnanNvbmVkaXRvcic7XHJcbmltcG9ydCBKU09ORWRpdG9yLCB7IEpTT05FZGl0b3JPcHRpb25zIH0gZnJvbSAnanNvbmVkaXRvcic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2QtanNvbi1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9qc29uLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vanNvbi1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RKc29uRWRpdG9yIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIGlkID0gYEkke3V1aWQudjQoKX1gO1xyXG4gIGVkaXRvcjogSlNPTkVkaXRvcjtcclxuICAjbmFtZSA9IHV1aWQudjQoKTtcclxuICBASW5wdXQoKSBzZXQgbmFtZSh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLiNuYW1lID0gdmFsO1xyXG4gICAgfVxyXG4gIH1cclxuICAjZm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIHNldCBmb3JtKHZhbDogTmdGb3JtIHwgRm9ybUdyb3VwKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOZ0Zvcm0pIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsLmZvcm07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gICNtb2RlbDogYW55O1xyXG4gIEBJbnB1dCgpIHNldCBtb2RlbCh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy4jbW9kZWwgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuI21vZGVsID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy4jbW9kZWwsIHtcclxuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLiN1cGRhdGVKc29uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLy8gVmFsaWRhdG9yXHJcbiAgaXNSZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCByZXF1aXJlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5pc1JlcXVpcmVkID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIC8vIHRoaXMuI3VwZGF0ZVZhbGlkYXRvcigpO1xyXG4gIH1cclxuICAvLyBPcHRpb25hbFxyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSB0b29sdGlwOiBzdHJpbmcgfCAoKGlucHV0VmFsdWU6IHN0cmluZykgPT4gc3RyaW5nKTtcclxuICBAT3V0cHV0KCkgc2RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgZm9ybUNvbnRyb2wgPSBuZXcgU2RGb3JtQ29udHJvbCgpO1xyXG4gICNzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuZm9ybUNvbnRyb2wuc2RDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy4jcmVsb2FkKCk7XHJcbiAgfVxyXG5cclxuICAjcmVsb2FkID0gKCkgPT4ge1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7XHJcbiAgICBjb25zdCBvcHRpb246IEpTT05FZGl0b3JPcHRpb25zID0ge1xyXG4gICAgICBtb2RlOiB0aGlzLmZvcm1Db250cm9sLmRpc2FibGVkID8gJ3ZpZXcnIDogJ2Zvcm0nLFxyXG4gICAgICBtb2RlczogWydmb3JtJywgJ3RleHQnLCAndmlldyddLFxyXG4gICAgICBvbkNoYW5nZTogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuI21vZGVsID0gdGhpcy5lZGl0b3IuZ2V0KCk7XHJcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLiNtb2RlbCk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgdGhpcy5lZGl0b3IgPSBuZXcgSlNPTkVkaXRvcihjb250YWluZXIsIG9wdGlvbik7XHJcbiAgICB0aGlzLiN1cGRhdGVKc29uKCk7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpLnN1YnNjcmliZSh0aGlzLiNvbkNoYW5nZSkpO1xyXG4gICAgdGhpcy4jZm9ybT8uYWRkQ29udHJvbCh0aGlzLiNuYW1lLCB0aGlzLmZvcm1Db250cm9sKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy4jZm9ybT8ucmVtb3ZlQ29udHJvbCh0aGlzLiNuYW1lKTtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVWYWxpZGF0ZSA9ICgpID0+IHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgI29uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICB0aGlzLnNkQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgI3VwZGF0ZUpzb24gPSAoKSA9PiB7XHJcbiAgICB0aGlzLmVkaXRvcj8uc2V0Py4odGhpcy5mb3JtQ29udHJvbC52YWx1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9qc29uLWVkaXRvci8iLCJzb3VyY2VzIjpbInNyYy9saWIvanNvbi1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFNakIsdUJBQXVCLEVBRXhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxZQUFZLENBQUM7QUFDcEIsT0FBTyxVQUFpQyxNQUFNLFlBQVksQ0FBQztBQU8zRCxNQUFNLE9BQU8sWUFBWTtJQXFEdkIsWUFDUyxHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXJEL0IsT0FBRSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFckIsZ0JBQVEsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDO1FBTVQsV0FBTSxHQUFHLE9BQU8sQ0FBQztRQUMxQix3QkFBaUI7UUFXakIseUJBQVk7UUFVRixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0MsWUFBWTtRQUNaLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFlVCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU3QyxnQkFBVyxHQUFHLElB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V0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzVCO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQVVELFFBQVE7UUFDTiw0Q0FBbUIsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWU7UUFDYiwyQ0FBQSxJQUFJLENBQVUsQ0FBQztJQUNqQixDQUFDO0lBa0JELFdBQVc7O1FBQ1QsbUZBQVksYUFBYSxzQ0FBYTtRQUN0Qyw0Q0FBbUIsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7OztZQTVGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsaU1BQTJDO2dCQUUzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQXJCQyxpQkFBaUI7OzttQkEwQmhCLEtBQUs7cUJBS0wsS0FBSzttQkFFTCxLQUFLO29CQVNMLEtBQUs7b0JBRUwsS0FBSzswQkFTTCxNQUFNO3VCQUlOLEtBQUs7dUJBS0wsS0FBSztzQkFRTCxLQUFLO3VCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkRlc3Ryb3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIE9uSW5pdCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgSG9zdExpc3RlbmVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nRm9ybSwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZEZvcm1Db250cm9sIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jb21tb24nO1xyXG5pbXBvcnQgJ2pzb25lZGl0b3InO1xyXG5pbXBvcnQgSlNPTkVkaXRvciwgeyBKU09ORWRpdG9yT3B0aW9ucyB9IGZyb20gJ2pzb25lZGl0b3InO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NkLWpzb24tZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vanNvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2pzb24tZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkSnNvbkVkaXRvciBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBpZCA9IGBJJHt1dWlkLnY0KCl9YDtcclxuICBlZGl0b3I6IEpTT05FZGl0b3I7XHJcbiAgI25hbWUgPSB1dWlkLnY0KCk7XHJcbiAgQElucHV0KCkgc2V0IG5hbWUodmFsOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy4jbmFtZSA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgaGVpZ2h0ID0gJzQwMHB4JztcclxuICAjZm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIHNldCBmb3JtKHZhbDogTmdGb3JtIHwgRm9ybUdyb3VwKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOZ0Zvcm0pIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsLmZvcm07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gICNtb2RlbDogYW55O1xyXG4gIEBJbnB1dCgpIHNldCBtb2RlbCh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy4jbW9kZWwgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuI21vZGVsID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy4jbW9kZWwsIHtcclxuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLiN1cGRhdGVKc29uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLy8gVmFsaWRhdG9yXHJcbiAgaXNSZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCByZXF1aXJlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5pc1JlcXVpcmVkID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIC8vIHRoaXMuI3VwZGF0ZVZhbGlkYXRvcigpO1xyXG4gIH1cclxuICAvLyBPcHRpb25hbFxyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSB0b29sdGlwOiBzdHJpbmcgfCAoKGlucHV0VmFsdWU6IHN0cmluZykgPT4gc3RyaW5nKTtcclxuICBAT3V0cHV0KCkgc2RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgZm9ybUNvbnRyb2wgPSBuZXcgU2RGb3JtQ29udHJvbCgpO1xyXG4gICNzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuZm9ybUNvbnRyb2wuc2RDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy4jcmVsb2FkKCk7XHJcbiAgfVxyXG5cclxuICAjcmVsb2FkID0gKCkgPT4ge1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7XHJcbiAgICBjb25zdCBvcHRpb246IEpTT05FZGl0b3JPcHRpb25zID0ge1xyXG4gICAgICBtb2RlOiB0aGlzLmZvcm1Db250cm9sLmRpc2FibGVkID8gJ3ZpZXcnIDogJ3RyZWUnLFxyXG4gICAgICBtb2RlczogWyd0cmVlJywgJ2Zvcm0nLCAndGV4dCcsICd2aWV3J10sXHJcbiAgICAgIG9uQ2hhbmdlOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy4jbW9kZWwgPSB0aGlzLmVkaXRvci5nZXQoKTtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuI21vZGVsKTtcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLmVkaXRvciA9IG5ldyBKU09ORWRpdG9yKGNvbnRhaW5lciwgb3B0aW9uKTtcclxuICAgIHRoaXMuI3VwZGF0ZUpzb24oKTtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQodGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMTAwKSkuc3Vic2NyaWJlKHRoaXMuI29uQ2hhbmdlKSk7XHJcbiAgICB0aGlzLiNmb3JtPy5hZGRDb250cm9sKHRoaXMuI25hbWUsIHRoaXMuZm9ybUNvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNmb3JtPy5yZW1vdmVDb250cm9sKHRoaXMuI25hbWUpO1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICByZVZhbGlkYXRlID0gKCkgPT4ge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICAjb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgIHRoaXMuc2RDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAjdXBkYXRlSnNvbiA9ICgpID0+IHtcclxuICAgIHRoaXMuZWRpdG9yPy5zZXQ/Lih0aGlzLmZvcm1Db250cm9sLnZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19