@skyux/inline-form 11.31.0 → 12.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,11 +29,11 @@ SkyLibResourcesService.addResources(RESOURCES);
29
29
  * Import into any component library module that needs to use resource strings.
30
30
  */
31
31
  class SkyInlineFormResourcesModule {
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
33
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormResourcesModule, exports: [SkyI18nModule] }); }
34
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormResourcesModule, imports: [SkyI18nModule] }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
33
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormResourcesModule, exports: [SkyI18nModule] }); }
34
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormResourcesModule, imports: [SkyI18nModule] }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormResourcesModule, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormResourcesModule, decorators: [{
37
37
  type: NgModule,
38
38
  args: [{
39
39
  exports: [SkyI18nModule],
@@ -116,10 +116,10 @@ class SkyInlineFormAdapterService {
116
116
  list[0].focus();
117
117
  }
118
118
  }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
120
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormAdapterService }); }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
120
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormAdapterService }); }
121
121
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormAdapterService, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormAdapterService, decorators: [{
123
123
  type: Injectable
124
124
  }] });
125
125
 
@@ -346,12 +346,12 @@ class SkyInlineFormComponent {
346
346
  config.buttons.length > 0 &&
347
347
  config.buttonLayout === SkyInlineFormButtonLayout.Custom);
348
348
  }
349
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormComponent, deps: [{ token: SkyInlineFormAdapterService }, { token: i0.ElementRef }, { token: i2.SkyLibResourcesService }, { token: i3.SkyAppWindowRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
350
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyInlineFormComponent, selector: "sky-inline-form", inputs: { config: "config", template: "template", showForm: "showForm" }, outputs: { close: "close" }, providers: [SkyInlineFormAdapterService], ngImport: i0, template: "<div [@skySlideDissolve]=\"showForm\">\n @if (!showForm) {\n <div class=\"sky-slide-dissolve-first\">\n <ng-content />\n </div>\n } @else if (template) {\n <div class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\" />\n </div>\n <div class=\"sky-inline-form-footer\">\n @for (button of buttons; track button) {\n <button\n type=\"button\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n }\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [".sky-inline-form{background:#eeeeef;border:1px solid #cdcfd2;padding:10px;width:100%}.sky-inline-form .sky-inline-form-footer{margin-top:20px}.sky-inline-form .sky-inline-form-footer button{margin:0 5px 0 0}:host-context(.sky-theme-modern) .sky-inline-form{background-color:#fff;border:none;padding:15px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer{margin-top:30px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer button{margin-right:10px}.sky-theme-modern .sky-inline-form{background-color:#fff;border:none;padding:15px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer{margin-top:30px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer button{margin-right:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-inline-form{background-color:#232427}.sky-theme-modern.sky-theme-mode-dark .sky-inline-form{background-color:#232427}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [skySlideDissolve], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
349
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormComponent, deps: [{ token: SkyInlineFormAdapterService }, { token: i0.ElementRef }, { token: i2.SkyLibResourcesService }, { token: i3.SkyAppWindowRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
350
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SkyInlineFormComponent, isStandalone: false, selector: "sky-inline-form", inputs: { config: "config", template: "template", showForm: "showForm" }, outputs: { close: "close" }, providers: [SkyInlineFormAdapterService], ngImport: i0, template: "<div [@skySlideDissolve]=\"showForm\">\n @if (!showForm) {\n <div class=\"sky-slide-dissolve-first\">\n <ng-content />\n </div>\n } @else if (template) {\n <div class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\" />\n </div>\n <div class=\"sky-inline-form-footer\">\n @for (button of buttons; track button) {\n <button\n type=\"button\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n }\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [".sky-inline-form{background:#eeeeef;border:1px solid #cdcfd2;padding:10px;width:100%}.sky-inline-form .sky-inline-form-footer{margin-top:20px}.sky-inline-form .sky-inline-form-footer button{margin:0 5px 0 0}:host-context(.sky-theme-modern) .sky-inline-form{background-color:#fff;border:none;padding:15px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer{margin-top:30px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer button{margin-right:10px}.sky-theme-modern .sky-inline-form{background-color:#fff;border:none;padding:15px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer{margin-top:30px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer button{margin-right:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-inline-form{background-color:#232427}.sky-theme-modern.sky-theme-mode-dark .sky-inline-form{background-color:#232427}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [skySlideDissolve], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
351
351
  }
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormComponent, decorators: [{
352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormComponent, decorators: [{
353
353
  type: Component,
354
- args: [{ selector: 'sky-inline-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [SkyInlineFormAdapterService], animations: [skySlideDissolve], template: "<div [@skySlideDissolve]=\"showForm\">\n @if (!showForm) {\n <div class=\"sky-slide-dissolve-first\">\n <ng-content />\n </div>\n } @else if (template) {\n <div class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\" />\n </div>\n <div class=\"sky-inline-form-footer\">\n @for (button of buttons; track button) {\n <button\n type=\"button\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n }\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [".sky-inline-form{background:#eeeeef;border:1px solid #cdcfd2;padding:10px;width:100%}.sky-inline-form .sky-inline-form-footer{margin-top:20px}.sky-inline-form .sky-inline-form-footer button{margin:0 5px 0 0}:host-context(.sky-theme-modern) .sky-inline-form{background-color:#fff;border:none;padding:15px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer{margin-top:30px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer button{margin-right:10px}.sky-theme-modern .sky-inline-form{background-color:#fff;border:none;padding:15px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer{margin-top:30px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer button{margin-right:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-inline-form{background-color:#232427}.sky-theme-modern.sky-theme-mode-dark .sky-inline-form{background-color:#232427}\n"] }]
354
+ args: [{ selector: 'sky-inline-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [SkyInlineFormAdapterService], animations: [skySlideDissolve], standalone: false, template: "<div [@skySlideDissolve]=\"showForm\">\n @if (!showForm) {\n <div class=\"sky-slide-dissolve-first\">\n <ng-content />\n </div>\n } @else if (template) {\n <div class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\" />\n </div>\n <div class=\"sky-inline-form-footer\">\n @for (button of buttons; track button) {\n <button\n type=\"button\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n }\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [".sky-inline-form{background:#eeeeef;border:1px solid #cdcfd2;padding:10px;width:100%}.sky-inline-form .sky-inline-form-footer{margin-top:20px}.sky-inline-form .sky-inline-form-footer button{margin:0 5px 0 0}:host-context(.sky-theme-modern) .sky-inline-form{background-color:#fff;border:none;padding:15px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer{margin-top:30px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer button{margin-right:10px}.sky-theme-modern .sky-inline-form{background-color:#fff;border:none;padding:15px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer{margin-top:30px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer button{margin-right:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-inline-form{background-color:#232427}.sky-theme-modern.sky-theme-mode-dark .sky-inline-form{background-color:#232427}\n"] }]
355
355
  }], ctorParameters: () => [{ type: SkyInlineFormAdapterService }, { type: i0.ElementRef }, { type: i2.SkyLibResourcesService }, { type: i3.SkyAppWindowRef }, { type: i0.ChangeDetectorRef }], propDecorators: { config: [{
356
356
  type: Input
357
357
  }], template: [{
@@ -363,11 +363,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
363
363
  }] } });
364
364
 
365
365
  class SkyInlineFormModule {
366
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
367
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormModule, declarations: [SkyInlineFormComponent], imports: [CommonModule, SkyInlineFormResourcesModule], exports: [SkyInlineFormComponent] }); }
368
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormModule, imports: [CommonModule, SkyInlineFormResourcesModule] }); }
366
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
367
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormModule, declarations: [SkyInlineFormComponent], imports: [CommonModule, SkyInlineFormResourcesModule], exports: [SkyInlineFormComponent] }); }
368
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormModule, imports: [CommonModule, SkyInlineFormResourcesModule] }); }
369
369
  }
370
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormModule, decorators: [{
370
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyInlineFormModule, decorators: [{
371
371
  type: NgModule,
372
372
  args: [{
373
373
  declarations: [SkyInlineFormComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-inline-form.mjs","sources":["../../../../../libs/components/inline-form/src/lib/modules/shared/sky-inline-form-resources.module.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/animations/slide-dissolve.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form-adapter.service.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/types/inline-form-button-layout.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.component.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.component.html","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.module.ts","../../../../../libs/components/inline-form/src/skyux-inline-form.ts"],"sourcesContent":["/* istanbul ignore file */\n\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-inline-form' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_inline_form_button_cancel: { message: 'Cancel' },\n skyux_inline_form_button_delete: { message: 'Delete' },\n skyux_inline_form_button_done: { message: 'Done' },\n skyux_inline_form_button_save: { message: 'Save' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyInlineFormResourcesModule {}\n","import {\n AnimationTriggerMetadata,\n animate,\n group,\n query,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\nexport const skySlideDissolve: AnimationTriggerMetadata = trigger(\n 'skySlideDissolve',\n [\n transition('* <=> *', [\n // Expand animations\n query(\n '.sky-slide-dissolve-last:enter',\n [\n style({ height: 0, opacity: 0 }),\n animate('200ms ease-in', style({ height: '*', opacity: 0 })),\n ],\n { optional: true },\n ),\n query(\n '.sky-slide-dissolve-last:enter',\n [\n style({ opacity: 0 }),\n animate('200ms ease-in', style({ opacity: 1 })),\n ],\n { optional: true },\n ),\n\n // Collapse animations\n // The expanded content should fade out immediately to prevent\n // any overlap with the read-only content that's returning to the screen.\n query(\n '.sky-slide-dissolve-last:leave',\n [animate('0ms', style({ opacity: 0 }))],\n { optional: true },\n ),\n\n group([\n query(\n '.sky-slide-dissolve-first:enter',\n [\n style({ opacity: 0, height: 0 }),\n animate('100ms ease-in', style({ opacity: 1, height: '*' })),\n ],\n { optional: true },\n ),\n query(\n '.sky-slide-dissolve-last:leave',\n [animate('200ms ease-in', style({ height: 0 }))],\n { optional: true },\n ),\n ]),\n ]),\n ],\n);\n","import { ElementRef, Injectable } from '@angular/core';\n\nconst SKY_TABBABLE_SELECTOR = [\n 'a[href]',\n 'area[href]',\n \"input:not([disabled]):not([tabindex='-1'])\",\n \"button:not([disabled]):not([tabindex='-1'])\",\n \"select:not([disabled]):not([tabindex='-1'])\",\n \"textarea:not([disabled]):not([tabindex='-1'])\",\n 'iframe',\n 'object',\n 'embed',\n \"*[tabindex]:not([tabindex='-1'])\",\n '*[contenteditable=true]',\n].join(', ');\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyInlineFormAdapterService {\n public applyAutofocus(inlineFormElementRef: ElementRef): void {\n const inputWithAutofocus =\n inlineFormElementRef.nativeElement.querySelector('[autofocus]');\n\n if (inputWithAutofocus) {\n inputWithAutofocus.focus();\n } else {\n const focusEl: HTMLElement =\n inlineFormElementRef.nativeElement.querySelector(\n '.sky-inline-form-content',\n );\n const focusableChildren = this.#loadFocusableChildren(focusEl);\n\n this.#focusFirstElement(focusableChildren);\n }\n }\n\n #loadFocusableChildren(elem: HTMLElement): HTMLElement[] {\n const elements: HTMLElement[] = Array.prototype.slice.call(\n elem.querySelectorAll(SKY_TABBABLE_SELECTOR),\n );\n\n return elements.filter((element) => {\n return this.#isVisible(element);\n });\n }\n\n #isVisible(element: HTMLElement): boolean {\n const style = window.getComputedStyle(element);\n const isHidden = style.display === 'none' || style.visibility === 'hidden';\n if (isHidden) {\n return false;\n }\n\n /* istanbul ignore next */\n const hasBounds = !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n return hasBounds;\n }\n\n #focusFirstElement(list: HTMLElement[]): void {\n if (list.length > 0) {\n list[0].focus();\n }\n }\n}\n","export enum SkyInlineFormButtonLayout {\n /**\n * Displays custom buttons.\n */\n Custom = 0,\n /**\n * Displays Done and Cancel buttons.\n */\n DoneCancel = 1,\n /**\n * Displays Done, Delete, and Cancel buttons.\n */\n DoneDeleteCancel = 2,\n /**\n * Displays Save and Cancel buttons.\n */\n SaveCancel = 3,\n /**\n * Displays Save, Delete, and Cancel buttons.\n */\n SaveDeleteCancel = 4,\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { SkyAppWindowRef } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Observable, ReplaySubject, Subject, zip as observableZip } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { skySlideDissolve } from './animations/slide-dissolve';\nimport { SkyInlineFormAdapterService } from './inline-form-adapter.service';\nimport { SkyInlineFormButtonConfig } from './types/inline-form-button-config';\nimport { SkyInlineFormButtonLayout } from './types/inline-form-button-layout';\nimport { SkyInlineFormCloseArgs } from './types/inline-form-close-args';\nimport { SkyInlineFormConfig } from './types/inline-form-config';\n\n/**\n * Renders form content in the current view instead of a separate modal.\n */\n@Component({\n selector: 'sky-inline-form',\n templateUrl: './inline-form.component.html',\n styleUrls: ['./inline-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SkyInlineFormAdapterService],\n animations: [skySlideDissolve],\n})\nexport class SkyInlineFormComponent implements OnInit, OnDestroy {\n /**\n * Configuration options for the buttons to display with the inline form.\n * @required\n */\n @Input()\n public set config(value: SkyInlineFormConfig | undefined) {\n if (value !== this.#_config && !!value) {\n this.#_config = value;\n this.#setupButtons();\n }\n }\n\n public get config(): SkyInlineFormConfig | undefined {\n return this.#_config;\n }\n\n /**\n * The template to instantiate the inline form.\n * @required\n */\n @Input()\n public template: TemplateRef<unknown> | undefined;\n\n /**\n * Whether to display the inline form. Users can toggle between displaying\n * and hiding the inline form.\n * @default false\n */\n @Input()\n public set showForm(value: boolean | undefined) {\n this.#_showForm = value;\n\n /* istanbul ignore else */\n if (value) {\n // setTimeout() prevents applyAutofocus() from firing\n // until after *ngIf has added the form element to the DOM.\n this.#skyAppWindowRef.nativeWindow.setTimeout(() => {\n this.#adapter.applyAutofocus(this.#elementRef);\n });\n }\n }\n\n public get showForm(): boolean | undefined {\n return this.#_showForm;\n }\n\n /**\n * Fires when users close the inline form.\n */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n public close = new EventEmitter<SkyInlineFormCloseArgs>();\n\n // TODO: handle buttons being set asynchronously (\"| undefined\") when setting autofocus\n public buttons!: SkyInlineFormButtonConfig[];\n\n #_config: SkyInlineFormConfig | undefined;\n\n #_showForm: boolean | undefined = false;\n\n #ngUnsubscribe = new Subject<void>();\n\n #adapter: SkyInlineFormAdapterService;\n #elementRef: ElementRef;\n #resourcesService: SkyLibResourcesService;\n #skyAppWindowRef: SkyAppWindowRef;\n #changeDetectorRef: ChangeDetectorRef;\n\n constructor(\n adapter: SkyInlineFormAdapterService,\n elementRef: ElementRef,\n resourcesService: SkyLibResourcesService,\n skyAppWindowRef: SkyAppWindowRef,\n changeDetectorRef: ChangeDetectorRef,\n ) {\n this.#adapter = adapter;\n this.#elementRef = elementRef;\n this.#resourcesService = resourcesService;\n this.#skyAppWindowRef = skyAppWindowRef;\n this.#changeDetectorRef = changeDetectorRef;\n }\n\n public ngOnInit(): void {\n this.#setupButtons();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n\n this.close.complete();\n }\n\n public closeInlineForm(event: SkyInlineFormButtonConfig): void {\n const args: SkyInlineFormCloseArgs = {\n reason: event.action,\n };\n this.close.emit(args);\n }\n\n #setupButtons(): void {\n if (\n this.#isValidCustomConfig(this.config) &&\n this.config &&\n this.config.buttons\n ) {\n this.buttons = this.#getCustomButtons(this.config.buttons);\n this.#changeDetectorRef.markForCheck();\n return;\n }\n\n this.#getPresetButtons()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((buttons: SkyInlineFormButtonConfig[]) => {\n this.buttons = buttons;\n this.#changeDetectorRef.markForCheck();\n });\n }\n\n #getPresetButtons(): Observable<SkyInlineFormButtonConfig[]> {\n const emitter = new ReplaySubject<SkyInlineFormButtonConfig[]>(1);\n\n const buttonType = this.config\n ? this.config.buttonLayout\n : SkyInlineFormButtonLayout.DoneCancel;\n\n switch (buttonType) {\n /* istanbul ignore next */\n default:\n case SkyInlineFormButtonLayout.DoneCancel:\n observableZip(\n this.#resourcesService.getString('skyux_inline_form_button_done'),\n this.#resourcesService.getString('skyux_inline_form_button_cancel'),\n )\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((values: string[]) => {\n emitter.next([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done',\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveCancel:\n observableZip(\n this.#resourcesService.getString('skyux_inline_form_button_save'),\n this.#resourcesService.getString('skyux_inline_form_button_cancel'),\n )\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((values: string[]) => {\n emitter.next([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save',\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n });\n break;\n\n case SkyInlineFormButtonLayout.DoneDeleteCancel:\n observableZip(\n this.#resourcesService.getString('skyux_inline_form_button_done'),\n this.#resourcesService.getString('skyux_inline_form_button_delete'),\n this.#resourcesService.getString('skyux_inline_form_button_cancel'),\n )\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((values: string[]) => {\n emitter.next([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done',\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete',\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveDeleteCancel:\n observableZip(\n this.#resourcesService.getString('skyux_inline_form_button_save'),\n this.#resourcesService.getString('skyux_inline_form_button_delete'),\n this.#resourcesService.getString('skyux_inline_form_button_cancel'),\n )\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((values: string[]) => {\n emitter.next([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save',\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete',\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n });\n break;\n }\n\n return emitter.asObservable();\n }\n\n #getCustomButtons(\n buttonConfigs: SkyInlineFormButtonConfig[],\n ): SkyInlineFormButtonConfig[] {\n const buttons: SkyInlineFormButtonConfig[] = [];\n\n buttonConfigs.forEach((config: SkyInlineFormButtonConfig) => {\n /* istanbul ignore next */\n const styleType = config.styleType || 'default';\n\n buttons.push({\n action: config.action,\n disabled: config.disabled,\n styleType: styleType,\n text: config.text,\n } as SkyInlineFormButtonConfig);\n });\n\n return buttons;\n }\n\n #isValidCustomConfig(config: SkyInlineFormConfig | undefined): boolean {\n return (\n !!config &&\n !!config.buttons &&\n config.buttons.length > 0 &&\n config.buttonLayout === SkyInlineFormButtonLayout.Custom\n );\n }\n}\n","<div [@skySlideDissolve]=\"showForm\">\n @if (!showForm) {\n <div class=\"sky-slide-dissolve-first\">\n <ng-content />\n </div>\n } @else if (template) {\n <div class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\" />\n </div>\n <div class=\"sky-inline-form-footer\">\n @for (button of buttons; track button) {\n <button\n type=\"button\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n }\n </div>\n </div>\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyInlineFormResourcesModule } from '../shared/sky-inline-form-resources.module';\n\nimport { SkyInlineFormComponent } from './inline-form.component';\n\n@NgModule({\n declarations: [SkyInlineFormComponent],\n imports: [CommonModule, SkyInlineFormResourcesModule],\n exports: [SkyInlineFormComponent],\n})\nexport class SkyInlineFormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["observableZip","i1.SkyInlineFormAdapterService"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-inline-form.mjs","sources":["../../../../../libs/components/inline-form/src/lib/modules/shared/sky-inline-form-resources.module.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/animations/slide-dissolve.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form-adapter.service.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/types/inline-form-button-layout.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.component.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.component.html","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.module.ts","../../../../../libs/components/inline-form/src/skyux-inline-form.ts"],"sourcesContent":["/* istanbul ignore file */\n\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-inline-form' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_inline_form_button_cancel: { message: 'Cancel' },\n skyux_inline_form_button_delete: { message: 'Delete' },\n skyux_inline_form_button_done: { message: 'Done' },\n skyux_inline_form_button_save: { message: 'Save' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyInlineFormResourcesModule {}\n","import {\n AnimationTriggerMetadata,\n animate,\n group,\n query,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\nexport const skySlideDissolve: AnimationTriggerMetadata = trigger(\n 'skySlideDissolve',\n [\n transition('* <=> *', [\n // Expand animations\n query(\n '.sky-slide-dissolve-last:enter',\n [\n style({ height: 0, opacity: 0 }),\n animate('200ms ease-in', style({ height: '*', opacity: 0 })),\n ],\n { optional: true },\n ),\n query(\n '.sky-slide-dissolve-last:enter',\n [\n style({ opacity: 0 }),\n animate('200ms ease-in', style({ opacity: 1 })),\n ],\n { optional: true },\n ),\n\n // Collapse animations\n // The expanded content should fade out immediately to prevent\n // any overlap with the read-only content that's returning to the screen.\n query(\n '.sky-slide-dissolve-last:leave',\n [animate('0ms', style({ opacity: 0 }))],\n { optional: true },\n ),\n\n group([\n query(\n '.sky-slide-dissolve-first:enter',\n [\n style({ opacity: 0, height: 0 }),\n animate('100ms ease-in', style({ opacity: 1, height: '*' })),\n ],\n { optional: true },\n ),\n query(\n '.sky-slide-dissolve-last:leave',\n [animate('200ms ease-in', style({ height: 0 }))],\n { optional: true },\n ),\n ]),\n ]),\n ],\n);\n","import { ElementRef, Injectable } from '@angular/core';\n\nconst SKY_TABBABLE_SELECTOR = [\n 'a[href]',\n 'area[href]',\n \"input:not([disabled]):not([tabindex='-1'])\",\n \"button:not([disabled]):not([tabindex='-1'])\",\n \"select:not([disabled]):not([tabindex='-1'])\",\n \"textarea:not([disabled]):not([tabindex='-1'])\",\n 'iframe',\n 'object',\n 'embed',\n \"*[tabindex]:not([tabindex='-1'])\",\n '*[contenteditable=true]',\n].join(', ');\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyInlineFormAdapterService {\n public applyAutofocus(inlineFormElementRef: ElementRef): void {\n const inputWithAutofocus =\n inlineFormElementRef.nativeElement.querySelector('[autofocus]');\n\n if (inputWithAutofocus) {\n inputWithAutofocus.focus();\n } else {\n const focusEl: HTMLElement =\n inlineFormElementRef.nativeElement.querySelector(\n '.sky-inline-form-content',\n );\n const focusableChildren = this.#loadFocusableChildren(focusEl);\n\n this.#focusFirstElement(focusableChildren);\n }\n }\n\n #loadFocusableChildren(elem: HTMLElement): HTMLElement[] {\n const elements: HTMLElement[] = Array.prototype.slice.call(\n elem.querySelectorAll(SKY_TABBABLE_SELECTOR),\n );\n\n return elements.filter((element) => {\n return this.#isVisible(element);\n });\n }\n\n #isVisible(element: HTMLElement): boolean {\n const style = window.getComputedStyle(element);\n const isHidden = style.display === 'none' || style.visibility === 'hidden';\n if (isHidden) {\n return false;\n }\n\n /* istanbul ignore next */\n const hasBounds = !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n return hasBounds;\n }\n\n #focusFirstElement(list: HTMLElement[]): void {\n if (list.length > 0) {\n list[0].focus();\n }\n }\n}\n","export enum SkyInlineFormButtonLayout {\n /**\n * Displays custom buttons.\n */\n Custom = 0,\n /**\n * Displays Done and Cancel buttons.\n */\n DoneCancel = 1,\n /**\n * Displays Done, Delete, and Cancel buttons.\n */\n DoneDeleteCancel = 2,\n /**\n * Displays Save and Cancel buttons.\n */\n SaveCancel = 3,\n /**\n * Displays Save, Delete, and Cancel buttons.\n */\n SaveDeleteCancel = 4,\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { SkyAppWindowRef } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Observable, ReplaySubject, Subject, zip as observableZip } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { skySlideDissolve } from './animations/slide-dissolve';\nimport { SkyInlineFormAdapterService } from './inline-form-adapter.service';\nimport { SkyInlineFormButtonConfig } from './types/inline-form-button-config';\nimport { SkyInlineFormButtonLayout } from './types/inline-form-button-layout';\nimport { SkyInlineFormCloseArgs } from './types/inline-form-close-args';\nimport { SkyInlineFormConfig } from './types/inline-form-config';\n\n/**\n * Renders form content in the current view instead of a separate modal.\n */\n@Component({\n selector: 'sky-inline-form',\n templateUrl: './inline-form.component.html',\n styleUrls: ['./inline-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SkyInlineFormAdapterService],\n animations: [skySlideDissolve],\n standalone: false,\n})\nexport class SkyInlineFormComponent implements OnInit, OnDestroy {\n /**\n * Configuration options for the buttons to display with the inline form.\n * @required\n */\n @Input()\n public set config(value: SkyInlineFormConfig | undefined) {\n if (value !== this.#_config && !!value) {\n this.#_config = value;\n this.#setupButtons();\n }\n }\n\n public get config(): SkyInlineFormConfig | undefined {\n return this.#_config;\n }\n\n /**\n * The template to instantiate the inline form.\n * @required\n */\n @Input()\n public template: TemplateRef<unknown> | undefined;\n\n /**\n * Whether to display the inline form. Users can toggle between displaying\n * and hiding the inline form.\n * @default false\n */\n @Input()\n public set showForm(value: boolean | undefined) {\n this.#_showForm = value;\n\n /* istanbul ignore else */\n if (value) {\n // setTimeout() prevents applyAutofocus() from firing\n // until after *ngIf has added the form element to the DOM.\n this.#skyAppWindowRef.nativeWindow.setTimeout(() => {\n this.#adapter.applyAutofocus(this.#elementRef);\n });\n }\n }\n\n public get showForm(): boolean | undefined {\n return this.#_showForm;\n }\n\n /**\n * Fires when users close the inline form.\n */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n public close = new EventEmitter<SkyInlineFormCloseArgs>();\n\n // TODO: handle buttons being set asynchronously (\"| undefined\") when setting autofocus\n public buttons!: SkyInlineFormButtonConfig[];\n\n #_config: SkyInlineFormConfig | undefined;\n\n #_showForm: boolean | undefined = false;\n\n #ngUnsubscribe = new Subject<void>();\n\n #adapter: SkyInlineFormAdapterService;\n #elementRef: ElementRef;\n #resourcesService: SkyLibResourcesService;\n #skyAppWindowRef: SkyAppWindowRef;\n #changeDetectorRef: ChangeDetectorRef;\n\n constructor(\n adapter: SkyInlineFormAdapterService,\n elementRef: ElementRef,\n resourcesService: SkyLibResourcesService,\n skyAppWindowRef: SkyAppWindowRef,\n changeDetectorRef: ChangeDetectorRef,\n ) {\n this.#adapter = adapter;\n this.#elementRef = elementRef;\n this.#resourcesService = resourcesService;\n this.#skyAppWindowRef = skyAppWindowRef;\n this.#changeDetectorRef = changeDetectorRef;\n }\n\n public ngOnInit(): void {\n this.#setupButtons();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n\n this.close.complete();\n }\n\n public closeInlineForm(event: SkyInlineFormButtonConfig): void {\n const args: SkyInlineFormCloseArgs = {\n reason: event.action,\n };\n this.close.emit(args);\n }\n\n #setupButtons(): void {\n if (\n this.#isValidCustomConfig(this.config) &&\n this.config &&\n this.config.buttons\n ) {\n this.buttons = this.#getCustomButtons(this.config.buttons);\n this.#changeDetectorRef.markForCheck();\n return;\n }\n\n this.#getPresetButtons()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((buttons: SkyInlineFormButtonConfig[]) => {\n this.buttons = buttons;\n this.#changeDetectorRef.markForCheck();\n });\n }\n\n #getPresetButtons(): Observable<SkyInlineFormButtonConfig[]> {\n const emitter = new ReplaySubject<SkyInlineFormButtonConfig[]>(1);\n\n const buttonType = this.config\n ? this.config.buttonLayout\n : SkyInlineFormButtonLayout.DoneCancel;\n\n switch (buttonType) {\n /* istanbul ignore next */\n default:\n case SkyInlineFormButtonLayout.DoneCancel:\n observableZip(\n this.#resourcesService.getString('skyux_inline_form_button_done'),\n this.#resourcesService.getString('skyux_inline_form_button_cancel'),\n )\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((values: string[]) => {\n emitter.next([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done',\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveCancel:\n observableZip(\n this.#resourcesService.getString('skyux_inline_form_button_save'),\n this.#resourcesService.getString('skyux_inline_form_button_cancel'),\n )\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((values: string[]) => {\n emitter.next([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save',\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n });\n break;\n\n case SkyInlineFormButtonLayout.DoneDeleteCancel:\n observableZip(\n this.#resourcesService.getString('skyux_inline_form_button_done'),\n this.#resourcesService.getString('skyux_inline_form_button_delete'),\n this.#resourcesService.getString('skyux_inline_form_button_cancel'),\n )\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((values: string[]) => {\n emitter.next([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done',\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete',\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveDeleteCancel:\n observableZip(\n this.#resourcesService.getString('skyux_inline_form_button_save'),\n this.#resourcesService.getString('skyux_inline_form_button_delete'),\n this.#resourcesService.getString('skyux_inline_form_button_cancel'),\n )\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((values: string[]) => {\n emitter.next([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save',\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete',\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n });\n break;\n }\n\n return emitter.asObservable();\n }\n\n #getCustomButtons(\n buttonConfigs: SkyInlineFormButtonConfig[],\n ): SkyInlineFormButtonConfig[] {\n const buttons: SkyInlineFormButtonConfig[] = [];\n\n buttonConfigs.forEach((config: SkyInlineFormButtonConfig) => {\n /* istanbul ignore next */\n const styleType = config.styleType || 'default';\n\n buttons.push({\n action: config.action,\n disabled: config.disabled,\n styleType: styleType,\n text: config.text,\n } as SkyInlineFormButtonConfig);\n });\n\n return buttons;\n }\n\n #isValidCustomConfig(config: SkyInlineFormConfig | undefined): boolean {\n return (\n !!config &&\n !!config.buttons &&\n config.buttons.length > 0 &&\n config.buttonLayout === SkyInlineFormButtonLayout.Custom\n );\n }\n}\n","<div [@skySlideDissolve]=\"showForm\">\n @if (!showForm) {\n <div class=\"sky-slide-dissolve-first\">\n <ng-content />\n </div>\n } @else if (template) {\n <div class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\" />\n </div>\n <div class=\"sky-inline-form-footer\">\n @for (button of buttons; track button) {\n <button\n type=\"button\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n }\n </div>\n </div>\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyInlineFormResourcesModule } from '../shared/sky-inline-form-resources.module';\n\nimport { SkyInlineFormComponent } from './inline-form.component';\n\n@NgModule({\n declarations: [SkyInlineFormComponent],\n imports: [CommonModule, SkyInlineFormResourcesModule],\n exports: [SkyInlineFormComponent],\n})\nexport class SkyInlineFormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["observableZip","i1.SkyInlineFormAdapterService"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/inline-form",
3
- "version": "11.31.0",
3
+ "version": "12.0.0-alpha.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -21,8 +21,6 @@
21
21
  },
22
22
  ".": {
23
23
  "types": "./index.d.ts",
24
- "esm2022": "./esm2022/skyux-inline-form.mjs",
25
- "esm": "./esm2022/skyux-inline-form.mjs",
26
24
  "default": "./fesm2022/skyux-inline-form.mjs"
27
25
  },
28
26
  "./documentation.json": {
@@ -30,14 +28,14 @@
30
28
  }
31
29
  },
32
30
  "peerDependencies": {
33
- "@angular/animations": "^18.2.13",
34
- "@angular/common": "^18.2.13",
35
- "@angular/core": "^18.2.13",
36
- "@skyux/core": "11.31.0",
37
- "@skyux/i18n": "11.31.0"
31
+ "@angular/animations": "^19.0.5",
32
+ "@angular/common": "^19.0.5",
33
+ "@angular/core": "^19.0.5",
34
+ "@skyux/core": "12.0.0-alpha.0",
35
+ "@skyux/i18n": "12.0.0-alpha.0"
38
36
  },
39
37
  "dependencies": {
40
- "tslib": "^2.6.3"
38
+ "tslib": "^2.8.1"
41
39
  },
42
40
  "module": "fesm2022/skyux-inline-form.mjs",
43
41
  "typings": "index.d.ts",
package/esm2022/index.mjs DELETED
@@ -1,6 +0,0 @@
1
- export { SkyInlineFormModule } from './lib/modules/inline-form/inline-form.module';
2
- export { SkyInlineFormButtonLayout } from './lib/modules/inline-form/types/inline-form-button-layout';
3
- // Components and directives must be exported to support Angular’s “partial” Ivy compiler.
4
- // Obscure names are used to indicate types are not part of the public API.
5
- export { SkyInlineFormComponent as λ1 } from './lib/modules/inline-form/inline-form.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5saW5lLWZvcm0vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR25GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBSXRHLDBGQUEwRjtBQUMxRiwyRUFBMkU7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixJQUFJLEVBQUUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2t5SW5saW5lRm9ybU1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvaW5saW5lLWZvcm0vaW5saW5lLWZvcm0ubW9kdWxlJztcbmV4cG9ydCB7IFNreUlubGluZUZvcm1CdXR0b25BY3Rpb24gfSBmcm9tICcuL2xpYi9tb2R1bGVzL2lubGluZS1mb3JtL3R5cGVzL2lubGluZS1mb3JtLWJ1dHRvbi1hY3Rpb24nO1xuZXhwb3J0IHsgU2t5SW5saW5lRm9ybUJ1dHRvbkNvbmZpZyB9IGZyb20gJy4vbGliL21vZHVsZXMvaW5saW5lLWZvcm0vdHlwZXMvaW5saW5lLWZvcm0tYnV0dG9uLWNvbmZpZyc7XG5leHBvcnQgeyBTa3lJbmxpbmVGb3JtQnV0dG9uTGF5b3V0IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbmxpbmUtZm9ybS90eXBlcy9pbmxpbmUtZm9ybS1idXR0b24tbGF5b3V0JztcbmV4cG9ydCB7IFNreUlubGluZUZvcm1DbG9zZUFyZ3MgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2lubGluZS1mb3JtL3R5cGVzL2lubGluZS1mb3JtLWNsb3NlLWFyZ3MnO1xuZXhwb3J0IHsgU2t5SW5saW5lRm9ybUNvbmZpZyB9IGZyb20gJy4vbGliL21vZHVsZXMvaW5saW5lLWZvcm0vdHlwZXMvaW5saW5lLWZvcm0tY29uZmlnJztcblxuLy8gQ29tcG9uZW50cyBhbmQgZGlyZWN0aXZlcyBtdXN0IGJlIGV4cG9ydGVkIHRvIHN1cHBvcnQgQW5ndWxhcuKAmXMg4oCccGFydGlhbOKAnSBJdnkgY29tcGlsZXIuXG4vLyBPYnNjdXJlIG5hbWVzIGFyZSB1c2VkIHRvIGluZGljYXRlIHR5cGVzIGFyZSBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSS5cbmV4cG9ydCB7IFNreUlubGluZUZvcm1Db21wb25lbnQgYXMgzrsxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbmxpbmUtZm9ybS9pbmxpbmUtZm9ybS5jb21wb25lbnQnO1xuIl19
@@ -1,26 +0,0 @@
1
- import { animate, group, query, style, transition, trigger, } from '@angular/animations';
2
- export const skySlideDissolve = trigger('skySlideDissolve', [
3
- transition('* <=> *', [
4
- // Expand animations
5
- query('.sky-slide-dissolve-last:enter', [
6
- style({ height: 0, opacity: 0 }),
7
- animate('200ms ease-in', style({ height: '*', opacity: 0 })),
8
- ], { optional: true }),
9
- query('.sky-slide-dissolve-last:enter', [
10
- style({ opacity: 0 }),
11
- animate('200ms ease-in', style({ opacity: 1 })),
12
- ], { optional: true }),
13
- // Collapse animations
14
- // The expanded content should fade out immediately to prevent
15
- // any overlap with the read-only content that's returning to the screen.
16
- query('.sky-slide-dissolve-last:leave', [animate('0ms', style({ opacity: 0 }))], { optional: true }),
17
- group([
18
- query('.sky-slide-dissolve-first:enter', [
19
- style({ opacity: 0, height: 0 }),
20
- animate('100ms ease-in', style({ opacity: 1, height: '*' })),
21
- ], { optional: true }),
22
- query('.sky-slide-dissolve-last:leave', [animate('200ms ease-in', style({ height: 0 }))], { optional: true }),
23
- ]),
24
- ]),
25
- ]);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtZGlzc29sdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5saW5lLWZvcm0vc3JjL2xpYi9tb2R1bGVzL2lubGluZS1mb3JtL2FuaW1hdGlvbnMvc2xpZGUtZGlzc29sdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQTZCLE9BQU8sQ0FDL0Qsa0JBQWtCLEVBQ2xCO0lBQ0UsVUFBVSxDQUFDLFNBQVMsRUFBRTtRQUNwQixvQkFBb0I7UUFDcEIsS0FBSyxDQUNILGdDQUFnQyxFQUNoQztZQUNFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM3RCxFQUNELEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUNuQjtRQUNELEtBQUssQ0FDSCxnQ0FBZ0MsRUFDaEM7WUFDRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDckIsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNoRCxFQUNELEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUNuQjtRQUVELHNCQUFzQjtRQUN0Qiw4REFBOEQ7UUFDOUQseUVBQXlFO1FBQ3pFLEtBQUssQ0FDSCxnQ0FBZ0MsRUFDaEMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDdkMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQ25CO1FBRUQsS0FBSyxDQUFDO1lBQ0osS0FBSyxDQUNILGlDQUFpQyxFQUNqQztnQkFDRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQzdELEVBQ0QsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQ25CO1lBQ0QsS0FBSyxDQUNILGdDQUFnQyxFQUNoQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUNoRCxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FDbkI7U0FDRixDQUFDO0tBQ0gsQ0FBQztDQUNILENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSxcbiAgYW5pbWF0ZSxcbiAgZ3JvdXAsXG4gIHF1ZXJ5LFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBza3lTbGlkZURpc3NvbHZlOiBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEgPSB0cmlnZ2VyKFxuICAnc2t5U2xpZGVEaXNzb2x2ZScsXG4gIFtcbiAgICB0cmFuc2l0aW9uKCcqIDw9PiAqJywgW1xuICAgICAgLy8gRXhwYW5kIGFuaW1hdGlvbnNcbiAgICAgIHF1ZXJ5KFxuICAgICAgICAnLnNreS1zbGlkZS1kaXNzb2x2ZS1sYXN0OmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgIHN0eWxlKHsgaGVpZ2h0OiAwLCBvcGFjaXR5OiAwIH0pLFxuICAgICAgICAgIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4nLCBzdHlsZSh7IGhlaWdodDogJyonLCBvcGFjaXR5OiAwIH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgeyBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgKSxcbiAgICAgIHF1ZXJ5KFxuICAgICAgICAnLnNreS1zbGlkZS1kaXNzb2x2ZS1sYXN0OmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCB9KSxcbiAgICAgICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLWluJywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgeyBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgKSxcblxuICAgICAgLy8gQ29sbGFwc2UgYW5pbWF0aW9uc1xuICAgICAgLy8gVGhlIGV4cGFuZGVkIGNvbnRlbnQgc2hvdWxkIGZhZGUgb3V0IGltbWVkaWF0ZWx5IHRvIHByZXZlbnRcbiAgICAgIC8vIGFueSBvdmVybGFwIHdpdGggdGhlIHJlYWQtb25seSBjb250ZW50IHRoYXQncyByZXR1cm5pbmcgdG8gdGhlIHNjcmVlbi5cbiAgICAgIHF1ZXJ5KFxuICAgICAgICAnLnNreS1zbGlkZS1kaXNzb2x2ZS1sYXN0OmxlYXZlJyxcbiAgICAgICAgW2FuaW1hdGUoJzBtcycsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSldLFxuICAgICAgICB7IG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICApLFxuXG4gICAgICBncm91cChbXG4gICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICcuc2t5LXNsaWRlLWRpc3NvbHZlLWZpcnN0OmVudGVyJyxcbiAgICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAsIGhlaWdodDogMCB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoJzEwMG1zIGVhc2UtaW4nLCBzdHlsZSh7IG9wYWNpdHk6IDEsIGhlaWdodDogJyonIH0pKSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgKSxcbiAgICAgICAgcXVlcnkoXG4gICAgICAgICAgJy5za3ktc2xpZGUtZGlzc29sdmUtbGFzdDpsZWF2ZScsXG4gICAgICAgICAgW2FuaW1hdGUoJzIwMG1zIGVhc2UtaW4nLCBzdHlsZSh7IGhlaWdodDogMCB9KSldLFxuICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxuKTtcbiJdfQ==
@@ -1,60 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- const SKY_TABBABLE_SELECTOR = [
4
- 'a[href]',
5
- 'area[href]',
6
- "input:not([disabled]):not([tabindex='-1'])",
7
- "button:not([disabled]):not([tabindex='-1'])",
8
- "select:not([disabled]):not([tabindex='-1'])",
9
- "textarea:not([disabled]):not([tabindex='-1'])",
10
- 'iframe',
11
- 'object',
12
- 'embed',
13
- "*[tabindex]:not([tabindex='-1'])",
14
- '*[contenteditable=true]',
15
- ].join(', ');
16
- /**
17
- * @internal
18
- */
19
- export class SkyInlineFormAdapterService {
20
- applyAutofocus(inlineFormElementRef) {
21
- const inputWithAutofocus = inlineFormElementRef.nativeElement.querySelector('[autofocus]');
22
- if (inputWithAutofocus) {
23
- inputWithAutofocus.focus();
24
- }
25
- else {
26
- const focusEl = inlineFormElementRef.nativeElement.querySelector('.sky-inline-form-content');
27
- const focusableChildren = this.#loadFocusableChildren(focusEl);
28
- this.#focusFirstElement(focusableChildren);
29
- }
30
- }
31
- #loadFocusableChildren(elem) {
32
- const elements = Array.prototype.slice.call(elem.querySelectorAll(SKY_TABBABLE_SELECTOR));
33
- return elements.filter((element) => {
34
- return this.#isVisible(element);
35
- });
36
- }
37
- #isVisible(element) {
38
- const style = window.getComputedStyle(element);
39
- const isHidden = style.display === 'none' || style.visibility === 'hidden';
40
- if (isHidden) {
41
- return false;
42
- }
43
- /* istanbul ignore next */
44
- const hasBounds = !!(element.offsetWidth ||
45
- element.offsetHeight ||
46
- element.getClientRects().length);
47
- return hasBounds;
48
- }
49
- #focusFirstElement(list) {
50
- if (list.length > 0) {
51
- list[0].focus();
52
- }
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
55
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormAdapterService }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInlineFormAdapterService, decorators: [{
58
- type: Injectable
59
- }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWZvcm0tYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2lubGluZS1mb3JtL3NyYy9saWIvbW9kdWxlcy9pbmxpbmUtZm9ybS9pbmxpbmUtZm9ybS1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixTQUFTO0lBQ1QsWUFBWTtJQUNaLDRDQUE0QztJQUM1Qyw2Q0FBNkM7SUFDN0MsNkNBQTZDO0lBQzdDLCtDQUErQztJQUMvQyxRQUFRO0lBQ1IsUUFBUTtJQUNSLE9BQU87SUFDUCxrQ0FBa0M7SUFDbEMseUJBQXlCO0NBQzFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRWI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMkJBQTJCO0lBQy9CLGNBQWMsQ0FBQyxvQkFBZ0M7UUFDcEQsTUFBTSxrQkFBa0IsR0FDdEIsb0JBQW9CLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVsRSxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLE9BQU8sR0FDWCxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUM5QywwQkFBMEIsQ0FDM0IsQ0FBQztZQUNKLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRS9ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFBaUI7UUFDdEMsTUFBTSxRQUFRLEdBQWtCLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDeEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQzdDLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQW9CO1FBQzdCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQztRQUMzRSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsMEJBQTBCO1FBQzFCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUNsQixPQUFPLENBQUMsV0FBVztZQUNuQixPQUFPLENBQUMsWUFBWTtZQUNwQixPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUNoQyxDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQW1CO1FBQ3BDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7K0dBaERVLDJCQUEyQjttSEFBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBTS1lfVEFCQkFCTEVfU0VMRUNUT1IgPSBbXG4gICdhW2hyZWZdJyxcbiAgJ2FyZWFbaHJlZl0nLFxuICBcImlucHV0Om5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PSctMSddKVwiLFxuICBcImJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6bm90KFt0YWJpbmRleD0nLTEnXSlcIixcbiAgXCJzZWxlY3Q6bm90KFtkaXNhYmxlZF0pOm5vdChbdGFiaW5kZXg9Jy0xJ10pXCIsXG4gIFwidGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pOm5vdChbdGFiaW5kZXg9Jy0xJ10pXCIsXG4gICdpZnJhbWUnLFxuICAnb2JqZWN0JyxcbiAgJ2VtYmVkJyxcbiAgXCIqW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSctMSddKVwiLFxuICAnKltjb250ZW50ZWRpdGFibGU9dHJ1ZV0nLFxuXS5qb2luKCcsICcpO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5SW5saW5lRm9ybUFkYXB0ZXJTZXJ2aWNlIHtcbiAgcHVibGljIGFwcGx5QXV0b2ZvY3VzKGlubGluZUZvcm1FbGVtZW50UmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRXaXRoQXV0b2ZvY3VzID1cbiAgICAgIGlubGluZUZvcm1FbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW2F1dG9mb2N1c10nKTtcblxuICAgIGlmIChpbnB1dFdpdGhBdXRvZm9jdXMpIHtcbiAgICAgIGlucHV0V2l0aEF1dG9mb2N1cy5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmb2N1c0VsOiBIVE1MRWxlbWVudCA9XG4gICAgICAgIGlubGluZUZvcm1FbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAnLnNreS1pbmxpbmUtZm9ybS1jb250ZW50JyxcbiAgICAgICAgKTtcbiAgICAgIGNvbnN0IGZvY3VzYWJsZUNoaWxkcmVuID0gdGhpcy4jbG9hZEZvY3VzYWJsZUNoaWxkcmVuKGZvY3VzRWwpO1xuXG4gICAgICB0aGlzLiNmb2N1c0ZpcnN0RWxlbWVudChmb2N1c2FibGVDaGlsZHJlbik7XG4gICAgfVxuICB9XG5cbiAgI2xvYWRGb2N1c2FibGVDaGlsZHJlbihlbGVtOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50W10ge1xuICAgIGNvbnN0IGVsZW1lbnRzOiBIVE1MRWxlbWVudFtdID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4gICAgICBlbGVtLnF1ZXJ5U2VsZWN0b3JBbGwoU0tZX1RBQkJBQkxFX1NFTEVDVE9SKSxcbiAgICApO1xuXG4gICAgcmV0dXJuIGVsZW1lbnRzLmZpbHRlcigoZWxlbWVudCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuI2lzVmlzaWJsZShlbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gICNpc1Zpc2libGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIGNvbnN0IGlzSGlkZGVuID0gc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnIHx8IHN0eWxlLnZpc2liaWxpdHkgPT09ICdoaWRkZW4nO1xuICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgY29uc3QgaGFzQm91bmRzID0gISEoXG4gICAgICBlbGVtZW50Lm9mZnNldFdpZHRoIHx8XG4gICAgICBlbGVtZW50Lm9mZnNldEhlaWdodCB8fFxuICAgICAgZWxlbWVudC5nZXRDbGllbnRSZWN0cygpLmxlbmd0aFxuICAgICk7XG4gICAgcmV0dXJuIGhhc0JvdW5kcztcbiAgfVxuXG4gICNmb2N1c0ZpcnN0RWxlbWVudChsaXN0OiBIVE1MRWxlbWVudFtdKTogdm9pZCB7XG4gICAgaWYgKGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgbGlzdFswXS5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuIl19