@acorex/platform 20.7.6 → 20.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/fesm2022/acorex-platform-core.mjs +5 -3
  2. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-ZnTG7wlJ.mjs +121 -0
  4. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-ZnTG7wlJ.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-layout-components.mjs +232 -107
  6. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-layout-entity.mjs +612 -330
  8. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-widget-core.mjs +11 -2
  10. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  11. package/fesm2022/{acorex-platform-layout-widgets-repeater-widget-column.component-D4UOMW6k.mjs → acorex-platform-layout-widgets-repeater-widget-column.component-fcCirNxz.mjs} +2 -2
  12. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-fcCirNxz.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-layout-widgets.mjs +582 -76
  14. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  15. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-C31xDGGb.mjs → acorex-platform-themes-default-entity-master-list-view.component-DzWjSMSK.mjs} +5 -4
  16. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-C31xDGGb.mjs.map → acorex-platform-themes-default-entity-master-list-view.component-DzWjSMSK.mjs.map} +1 -1
  17. package/fesm2022/acorex-platform-themes-default.mjs +2 -2
  18. package/layout/components/index.d.ts +49 -28
  19. package/layout/entity/index.d.ts +42 -41
  20. package/layout/widget-core/index.d.ts +11 -2
  21. package/layout/widgets/index.d.ts +130 -8
  22. package/package.json +1 -1
  23. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-D4UOMW6k.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-layout-widgets-repeater-widget-column.component-D4UOMW6k.mjs","sources":["../tmp-esm2022/layout/widgets/lib/widgets/layout/repeater/repeater-widget-column.component.js"],"sourcesContent":["import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPColumnWidgetComponent, AXPWidgetCoreModule, AXPWidgetCoreContextStore, AXPWidgetCoreService } from '@acorex/platform/layout/widget-core';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { ChangeDetectionStrategy, Component, computed, signal, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { isNil } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/popover\";\nimport * as i2 from \"@acorex/platform/layout/widget-core\";\nexport class AXPRepeaterWidgetColumnComponent extends AXPColumnWidgetComponent {\n constructor() {\n super(...arguments);\n //#region ---- View Children ----\n this.moreButton = viewChild('moreButton', ...(ngDevMode ? [{ debugName: \"moreButton\" }] : []));\n this.morePopover = viewChild('morePopover', ...(ngDevMode ? [{ debugName: \"morePopover\" }] : []));\n //#endregion\n //#region ---- Properties ----\n this.maxVisible = this.options['maxVisible'] ?? 2;\n this.childWidgetNode = this.options['children']?.[0];\n //#endregion\n //#region ---- Signals ----\n this.isMorePopoverOpen = signal(false, ...(ngDevMode ? [{ debugName: \"isMorePopoverOpen\" }] : []));\n //#endregion\n //#region ---- Node Cache ----\n // Cache nodes by index to prevent recreation on every change detection\n this.nodeCache = new Map();\n this.lastItems = [];\n //#endregion\n //#region ---- Computed Properties ----\n this.displayItems = computed(() => {\n if (isNil(this.rawValue)) {\n return [];\n }\n const items = Array.isArray(this.rawValue) ? this.rawValue : [this.rawValue];\n return items.filter((item) => item != null);\n }, ...(ngDevMode ? [{ debugName: \"displayItems\" }] : []));\n this.allItems = computed(() => this.displayItems(), ...(ngDevMode ? [{ debugName: \"allItems\" }] : []));\n this.visibleItems = computed(() => {\n const items = this.allItems();\n return items.slice(0, this.maxVisible);\n }, ...(ngDevMode ? [{ debugName: \"visibleItems\" }] : []));\n this.hasMoreItems = computed(() => {\n return this.allItems().length > this.maxVisible;\n }, ...(ngDevMode ? [{ debugName: \"hasMoreItems\" }] : []));\n this.remainingItemsCount = computed(() => {\n return this.allItems().length - this.maxVisible;\n }, ...(ngDevMode ? [{ debugName: \"remainingItemsCount\" }] : []));\n }\n // Clear cache when items change\n clearCacheIfNeeded() {\n const currentItems = this.allItems();\n if (currentItems.length !== this.lastItems.length ||\n currentItems.some((item, idx) => item !== this.lastItems[idx])) {\n this.nodeCache.clear();\n this.lastItems = [...currentItems];\n }\n }\n //#endregion\n //#region ---- Public Methods ----\n showMoreItems() {\n this.openMorePopover();\n }\n onMorePopoverOpenChange(event) {\n this.isMorePopoverOpen.set(event);\n }\n getItemNode(item, index) {\n if (!this.childWidgetNode) {\n return undefined;\n }\n // Clear cache if items changed\n this.clearCacheIfNeeded();\n // Return cached node if exists\n const cachedNode = this.nodeCache.get(index);\n if (cachedNode) {\n return cachedNode;\n }\n // Create new node and cache it\n const node = {\n ...this.childWidgetNode,\n path: `${this.path}[${index}]`,\n defaultValue: item,\n options: {\n ...this.childWidgetNode.options,\n rawValue: item,\n rowData: this.rowData,\n },\n };\n this.nodeCache.set(index, node);\n return node;\n }\n //#endregion\n //#region ---- Private Methods ----\n openMorePopover() {\n if (this.morePopover() && this.moreButton()) {\n this.morePopover().target = this.moreButton().nativeElement;\n this.morePopover().open();\n this.isMorePopoverOpen.set(true);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPRepeaterWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.16\", type: AXPRepeaterWidgetColumnComponent, isStandalone: true, selector: \"axp-repeater-widget-column\", inputs: { rawValue: \"rawValue\", rowData: \"rowData\" }, providers: [AXPWidgetCoreService, AXPWidgetCoreContextStore], viewQueries: [{ propertyName: \"moreButton\", first: true, predicate: [\"moreButton\"], descendants: true, isSignal: true }, { propertyName: \"morePopover\", first: true, predicate: [\"morePopover\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-flex ax-gap-1 ax-items-center \\\">\\n\\n @for (item of visibleItems(); track $index) {\\n @if (childWidgetNode) {\\n <ng-container axp-widget-renderer [node]=\\\"getItemNode(item, $index)!\\\" [mode]=\\\"'view'\\\" [parentNode]=\\\"null\\\"\\n [index]=\\\"$index\\\"></ng-container>\\n }\\n }@empty {\\n <span class=\\\"ax-text-muted\\\">---</span>\\n }\\n\\n\\n @if (hasMoreItems()) {\\n <span\\n class=\\\"ax-absolute ax-flex ax-items-center ax-end-0 ax-px-1 ax-cursor-pointer ax-h-full hover:ax-primary-lighter\\\"\\n (click)=\\\"showMoreItems()\\\" #moreButton>\\n <i class=\\\"fa-light fa-ellipsis-vertical\\\"></i>\\n </span>\\n }\\n</div>\\n\\n<!-- More Items Popover -->\\n<ax-popover [openOn]=\\\"'manual'\\\" #morePopover (openChange)=\\\"onMorePopoverOpenChange($event)\\\">\\n <div class=\\\"ax-lightest-surface ax-border ax-rounded-lg ax-shadow-lg ax-p-4 ax-min-w-[280px]\\\">\\n <div class=\\\"ax-mb-4 ax-border-b ax-pb-2\\\">\\n <h3 class=\\\"ax-text-base ax-font-semibold\\\">All {{ allItems().length }} Items</h3>\\n </div>\\n <div class=\\\"ax-max-h-64 ax-flex ax-flex-col ax-gap-3 ax-overflow-auto\\\" style=\\\"max-height: max(30dvh,10rem)\\\">\\n @for (item of allItems(); track $index) {\\n <div>\\n @if (childWidgetNode) {\\n <ng-container axp-widget-renderer [node]=\\\"getItemNode(item, $index)!\\\" [mode]=\\\"'view'\\\"\\n [parentNode]=\\\"null\\\" [index]=\\\"$index\\\"></ng-container>\\n }\\n </div>\\n }\\n </div>\\n </div>\\n</ax-popover>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"component\", type: i1.AXPopoverComponent, selector: \"ax-popover\", inputs: [\"width\", \"disabled\", \"offsetX\", \"offsetY\", \"target\", \"placement\", \"content\", \"openOn\", \"closeOn\", \"hasBackdrop\", \"openAfter\", \"closeAfter\", \"backdropClass\", \"panelClass\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXPWidgetCoreModule }, { kind: \"directive\", type: i2.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\", \"onLoad\"], exportAs: [\"widgetRenderer\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPRepeaterWidgetColumnComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-repeater-widget-column', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, AXBadgeModule, AXButtonModule, AXPopoverModule, AXPWidgetCoreModule], providers: [AXPWidgetCoreService, AXPWidgetCoreContextStore], inputs: ['rawValue', 'rowData'], template: \"<div class=\\\"ax-flex ax-gap-1 ax-items-center \\\">\\n\\n @for (item of visibleItems(); track $index) {\\n @if (childWidgetNode) {\\n <ng-container axp-widget-renderer [node]=\\\"getItemNode(item, $index)!\\\" [mode]=\\\"'view'\\\" [parentNode]=\\\"null\\\"\\n [index]=\\\"$index\\\"></ng-container>\\n }\\n }@empty {\\n <span class=\\\"ax-text-muted\\\">---</span>\\n }\\n\\n\\n @if (hasMoreItems()) {\\n <span\\n class=\\\"ax-absolute ax-flex ax-items-center ax-end-0 ax-px-1 ax-cursor-pointer ax-h-full hover:ax-primary-lighter\\\"\\n (click)=\\\"showMoreItems()\\\" #moreButton>\\n <i class=\\\"fa-light fa-ellipsis-vertical\\\"></i>\\n </span>\\n }\\n</div>\\n\\n<!-- More Items Popover -->\\n<ax-popover [openOn]=\\\"'manual'\\\" #morePopover (openChange)=\\\"onMorePopoverOpenChange($event)\\\">\\n <div class=\\\"ax-lightest-surface ax-border ax-rounded-lg ax-shadow-lg ax-p-4 ax-min-w-[280px]\\\">\\n <div class=\\\"ax-mb-4 ax-border-b ax-pb-2\\\">\\n <h3 class=\\\"ax-text-base ax-font-semibold\\\">All {{ allItems().length }} Items</h3>\\n </div>\\n <div class=\\\"ax-max-h-64 ax-flex ax-flex-col ax-gap-3 ax-overflow-auto\\\" style=\\\"max-height: max(30dvh,10rem)\\\">\\n @for (item of allItems(); track $index) {\\n <div>\\n @if (childWidgetNode) {\\n <ng-container axp-widget-renderer [node]=\\\"getItemNode(item, $index)!\\\" [mode]=\\\"'view'\\\"\\n [parentNode]=\\\"null\\\" [index]=\\\"$index\\\"></ng-container>\\n }\\n </div>\\n }\\n </div>\\n </div>\\n</ax-popover>\" }]\n }], propDecorators: { moreButton: [{ type: i0.ViewChild, args: ['moreButton', { isSignal: true }] }], morePopover: [{ type: i0.ViewChild, args: ['morePopover', { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0ZXItd2lkZ2V0LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC93aWRnZXRzL3NyYy9saWIvd2lkZ2V0cy9sYXlvdXQvcmVwZWF0ZXIvcmVwZWF0ZXItd2lkZ2V0LWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC93aWRnZXRzL3NyYy9saWIvd2lkZ2V0cy9sYXlvdXQvcmVwZWF0ZXIvcmVwZWF0ZXItd2lkZ2V0LWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFpQixtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BLLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFjLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFVbEMsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLHdCQUErQjtJQVJyRjs7UUFTSSxxQ0FBcUM7UUFFM0IsZUFBVSxHQUFHLFNBQVMsQ0FBYSxZQUFZLHNEQUFDLENBQUM7UUFDakQsZ0JBQVcsR0FBRyxTQUFTLENBQXFCLGFBQWEsdURBQUMsQ0FBQztRQUVyRSxZQUFZ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Q2JoRSxtakRBc0NhLDJDRDFCQyxZQUFZLDhCQUFFLGFBQWEsOEJBQUUsY0FBYyw4QkFBRSxlQUFlLHVWQUFFLG1CQUFtQjs7NEZBSWxGLGdDQUFnQztrQkFSNUMsU0FBUzsrQkFDSSw0QkFBNEIsbUJBRXJCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLENBQUMsYUFDakYsQ0FBQyxvQkFBb0IsRUFBRSx5QkFBeUIsQ0FBQyxVQUNwRCxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7d0VBS2MsWUFBWSxxRUFDSCxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWFBDb2x1bW5XaWRnZXRDb21wb25lbnQsIEFYUFdpZGdldE5vZGUsIEFYUFdpZGdldENvcmVNb2R1bGUsIEFYUFdpZGdldENvcmVDb250ZXh0U3RvcmUsIEFYUFdpZGdldENvcmVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCwgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIEVsZW1lbnRSZWYsIHNpZ25hbCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4cC1yZXBlYXRlci13aWRnZXQtY29sdW1uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVwZWF0ZXItd2lkZ2V0LWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhCYWRnZU1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYUG9wb3Zlck1vZHVsZSwgQVhQV2lkZ2V0Q29yZU1vZHVsZV0sXG4gICAgcHJvdmlkZXJzOiBbQVhQV2lkZ2V0Q29yZVNlcnZpY2UsIEFYUFdpZGdldENvcmVDb250ZXh0U3RvcmVdLFxuICAgIGlucHV0czogWydyYXdWYWx1ZScsICdyb3dEYXRhJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFJlcGVhdGVyV2lkZ2V0Q29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhQQ29sdW1uV2lkZ2V0Q29tcG9uZW50PGFueVtdPiB7XG4gICAgLy8jcmVnaW9uIC0tLS0gICBWaWV3IENoaWxkcmVuICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIG1vcmVCdXR0b24gPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ21vcmVCdXR0b24nKTtcbiAgICBwcm90ZWN0ZWQgbW9yZVBvcG92ZXIgPSB2aWV3Q2hpbGQ8QVhQb3BvdmVyQ29tcG9uZW50PignbW9yZVBvcG92ZXInKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIG1heFZpc2libGU6IG51bWJlciA9IHRoaXMub3B0aW9uc1snbWF4VmlzaWJsZSddID8/IDI7XG4gICAgcHJvdGVjdGVkIGNoaWxkV2lkZ2V0Tm9kZTogQVhQV2lkZ2V0Tm9kZSB8IHVuZGVmaW5lZCA9IHRoaXMub3B0aW9uc1snY2hpbGRyZW4nXT8uWzBdO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFNpZ25hbHMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgaXNNb3JlUG9wb3Zlck9wZW4gPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIE5vZGUgQ2FjaGUgICAtLS0tXG5cbiAgICAvLyBDYWNoZSBub2RlcyBieSBpbmRleCB0byBwcmV2ZW50IHJlY3JlYXRpb24gb24gZXZlcnkgY2hhbmdlIGRldGVjdGlvblxuICAgIHByaXZhdGUgbm9kZUNhY2hlID0gbmV3IE1hcDxudW1iZXIsIEFYUFdpZGdldE5vZGU+KCk7XG4gICAgcHJpdmF0ZSBsYXN0SXRlbXM6IGFueVtdID0gW107XG5cbiAgICAvLyBDbGVhciBjYWNoZSB3aGVuIGl0ZW1zIGNoYW5nZVxuICAgIHByaXZhdGUgY2xlYXJDYWNoZUlmTmVlZGVkKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50SXRlbXMgPSB0aGlzLmFsbEl0ZW1zKCk7XG4gICAgICAgIGlmIChjdXJyZW50SXRlbXMubGVuZ3RoICE9PSB0aGlzLmxhc3RJdGVtcy5sZW5ndGggfHxcbiAgICAgICAgICAgIGN1cnJlbnRJdGVtcy5zb21lKChpdGVtLCBpZHgpID0+IGl0ZW0gIT09IHRoaXMubGFzdEl0ZW1zW2lkeF0pKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVDYWNoZS5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5sYXN0SXRlbXMgPSBbLi4uY3VycmVudEl0ZW1zXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIGRpc3BsYXlJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKGlzTmlsKHRoaXMucmF3VmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXRlbXMgPSBBcnJheS5pc0FycmF5KHRoaXMucmF3VmFsdWUpID8gdGhpcy5yYXdWYWx1ZSA6IFt0aGlzLnJhd1ZhbHVlXTtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPSBudWxsKTtcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCBhbGxJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGlzcGxheUl0ZW1zKCkpO1xuXG4gICAgcHJvdGVjdGVkIHZpc2libGVJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmFsbEl0ZW1zKCk7XG4gICAgICAgIHJldHVybiBpdGVtcy5zbGljZSgwLCB0aGlzLm1heFZpc2libGUpO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIGhhc01vcmVJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsSXRlbXMoKS5sZW5ndGggPiB0aGlzLm1heFZpc2libGU7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVtYWluaW5nSXRlbXNDb3VudCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsSXRlbXMoKS5sZW5ndGggLSB0aGlzLm1heFZpc2libGU7XG4gICAgfSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgUHVibGljIE1ldGhvZHMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgc2hvd01vcmVJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuTW9yZVBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Nb3JlUG9wb3Zlck9wZW5DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTW9yZVBvcG92ZXJPcGVuLnNldChldmVudCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEl0ZW1Ob2RlKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcik6IEFYUFdpZGdldE5vZGUgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoIXRoaXMuY2hpbGRXaWRnZXROb2RlKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2xlYXIgY2FjaGUgaWYgaXRlbXMgY2hhbmdlZFxuICAgICAgICB0aGlzLmNsZWFyQ2FjaGVJZk5lZWRlZCgpO1xuXG4gICAgICAgIC8vIFJldHVybiBjYWNoZWQgbm9kZSBpZiBleGlzdHNcbiAgICAgICAgY29uc3QgY2FjaGVkTm9kZSA9IHRoaXMubm9kZUNhY2hlLmdldChpbmRleCk7XG4gICAgICAgIGlmIChjYWNoZWROb2RlKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkTm9kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSBuZXcgbm9kZSBhbmQgY2FjaGUgaXRcbiAgICAgICAgY29uc3Qgbm9kZTogQVhQV2lkZ2V0Tm9kZSA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuY2hpbGRXaWRnZXROb2RlLFxuICAgICAgICAgICAgcGF0aDogYCR7dGhpcy5wYXRofVske2luZGV4fV1gLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBpdGVtLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuY2hpbGRXaWRnZXROb2RlLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgcmF3VmFsdWU6IGl0ZW0sXG4gICAgICAgICAgICAgICAgcm93RGF0YTogdGhpcy5yb3dEYXRhLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLm5vZGVDYWNoZS5zZXQoaW5kZXgsIG5vZGUpO1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgUHJpdmF0ZSBNZXRob2RzICAgLS0tLVxuXG4gICAgcHJpdmF0ZSBvcGVuTW9yZVBvcG92ZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1vcmVQb3BvdmVyKCkgJiYgdGhpcy5tb3JlQnV0dG9uKCkpIHtcbiAgICAgICAgICAgIHRoaXMubW9yZVBvcG92ZXIoKSEudGFyZ2V0ID0gdGhpcy5tb3JlQnV0dG9uKCkhLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLm1vcmVQb3BvdmVyKCkhLm9wZW4oKTtcbiAgICAgICAgICAgIHRoaXMuaXNNb3JlUG9wb3Zlck9wZW4uc2V0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59XG5cbiIsIjxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0xIGF4LWl0ZW1zLWNlbnRlciBcIj5cblxuICAgIEBmb3IgKGl0ZW0gb2YgdmlzaWJsZUl0ZW1zKCk7IHRyYWNrICRpbmRleCkge1xuICAgIEBpZiAoY2hpbGRXaWRnZXROb2RlKSB7XG4gICAgPG5nLWNvbnRhaW5lciBheHAtd2lkZ2V0LXJlbmRlcmVyIFtub2RlXT1cImdldEl0ZW1Ob2RlKGl0ZW0sICRpbmRleCkhXCIgW21vZGVdPVwiJ3ZpZXcnXCIgW3BhcmVudE5vZGVdPVwibnVsbFwiXG4gICAgICAgIFtpbmRleF09XCIkaW5kZXhcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gICAgfUBlbXB0eSB7XG4gICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LW11dGVkXCI+LS0tPC9zcGFuPlxuICAgIH1cblxuXG4gICAgQGlmIChoYXNNb3JlSXRlbXMoKSkge1xuICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiYXgtYWJzb2x1dGUgYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZW5kLTAgYXgtcHgtMSBheC1jdXJzb3ItcG9pbnRlciBheC1oLWZ1bGwgaG92ZXI6YXgtcHJpbWFyeS1saWdodGVyXCJcbiAgICAgICAgKGNsaWNrKT1cInNob3dNb3JlSXRlbXMoKVwiICNtb3JlQnV0dG9uPlxuICAgICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWVsbGlwc2lzLXZlcnRpY2FsXCI+PC9pPlxuICAgIDwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cblxuPCEtLSBNb3JlIEl0ZW1zIFBvcG92ZXIgLS0+XG48YXgtcG9wb3ZlciBbb3Blbk9uXT1cIidtYW51YWwnXCIgI21vcmVQb3BvdmVyIChvcGVuQ2hhbmdlKT1cIm9uTW9yZVBvcG92ZXJPcGVuQ2hhbmdlKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtbGlnaHRlc3Qtc3VyZmFjZSBheC1ib3JkZXIgYXgtcm91bmRlZC1sZyBheC1zaGFkb3ctbGcgYXgtcC00IGF4LW1pbi13LVsyODBweF1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1iLTQgYXgtYm9yZGVyLWIgYXgtcGItMlwiPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiYXgtdGV4dC1iYXNlIGF4LWZvbnQtc2VtaWJvbGRcIj5BbGwge3sgYWxsSXRlbXMoKS5sZW5ndGggfX0gSXRlbXM8L2gzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1heC1oLTY0IGF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtb3ZlcmZsb3ctYXV0b1wiIHN0eWxlPVwibWF4LWhlaWdodDogbWF4KDMwZHZoLDEwcmVtKVwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBhbGxJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgQGlmIChjaGlsZFdpZGdldE5vZGUpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGF4cC13aWRnZXQtcmVuZGVyZXIgW25vZGVdPVwiZ2V0SXRlbU5vZGUoaXRlbSwgJGluZGV4KSFcIiBbbW9kZV09XCIndmlldydcIlxuICAgICAgICAgICAgICAgICAgICBbcGFyZW50Tm9kZV09XCJudWxsXCIgW2luZGV4XT1cIiRpbmRleFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvYXgtcG9wb3Zlcj4iXX0="],"names":["i1","i2"],"mappings":"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"}