@skyux/inline-form 7.0.0-beta.1 → 7.0.0-beta.10

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.
@@ -4,8 +4,9 @@ import * as i0 from '@angular/core';
4
4
  import { NgModule, Injectable, EventEmitter, Component, ChangeDetectionStrategy, Input, Output } from '@angular/core';
5
5
  import * as i2 from '@skyux/i18n';
6
6
  import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
7
- import { zip } from 'rxjs';
8
- import { take } from 'rxjs/operators';
7
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
8
+ import { Subject, ReplaySubject, zip } from 'rxjs';
9
+ import { takeUntil } from 'rxjs/operators';
9
10
  import { trigger, transition, query, style, animate, group } from '@angular/animations';
10
11
  import * as i3 from '@skyux/core';
11
12
 
@@ -81,6 +82,7 @@ const skySlideDissolve = trigger('skySlideDissolve', [
81
82
  ]),
82
83
  ]);
83
84
 
85
+ var _SkyInlineFormAdapterService_instances, _SkyInlineFormAdapterService_loadFocusableChildren, _SkyInlineFormAdapterService_isVisible, _SkyInlineFormAdapterService_focusFirstElement;
84
86
  const SKY_TABBABLE_SELECTOR = [
85
87
  'a[href]',
86
88
  'area[href]',
@@ -98,6 +100,9 @@ const SKY_TABBABLE_SELECTOR = [
98
100
  * @internal
99
101
  */
100
102
  class SkyInlineFormAdapterService {
103
+ constructor() {
104
+ _SkyInlineFormAdapterService_instances.add(this);
105
+ }
101
106
  applyAutofocus(inlineFormElementRef) {
102
107
  const inputWithAutofocus = inlineFormElementRef.nativeElement.querySelector('[autofocus]');
103
108
  if (inputWithAutofocus) {
@@ -105,34 +110,32 @@ class SkyInlineFormAdapterService {
105
110
  }
106
111
  else {
107
112
  const focusEl = inlineFormElementRef.nativeElement.querySelector('.sky-inline-form-content');
108
- const focusableChildren = this.loadFocusableChildren(focusEl);
109
- this.focusFirstElement(focusableChildren);
113
+ const focusableChildren = __classPrivateFieldGet(this, _SkyInlineFormAdapterService_instances, "m", _SkyInlineFormAdapterService_loadFocusableChildren).call(this, focusEl);
114
+ __classPrivateFieldGet(this, _SkyInlineFormAdapterService_instances, "m", _SkyInlineFormAdapterService_focusFirstElement).call(this, focusableChildren);
110
115
  }
111
116
  }
112
- loadFocusableChildren(elem) {
113
- const elements = Array.prototype.slice.call(elem.querySelectorAll(SKY_TABBABLE_SELECTOR));
114
- return elements.filter((element) => {
115
- return this.isVisible(element);
116
- });
117
- }
118
- isVisible(element) {
119
- const style = window.getComputedStyle(element);
120
- const isHidden = style.display === 'none' || style.visibility === 'hidden';
121
- if (isHidden) {
122
- return false;
123
- }
124
- /* istanbul ignore next */
125
- const hasBounds = !!(element.offsetWidth ||
126
- element.offsetHeight ||
127
- element.getClientRects().length);
128
- return hasBounds;
117
+ }
118
+ _SkyInlineFormAdapterService_instances = new WeakSet(), _SkyInlineFormAdapterService_loadFocusableChildren = function _SkyInlineFormAdapterService_loadFocusableChildren(elem) {
119
+ const elements = Array.prototype.slice.call(elem.querySelectorAll(SKY_TABBABLE_SELECTOR));
120
+ return elements.filter((element) => {
121
+ return __classPrivateFieldGet(this, _SkyInlineFormAdapterService_instances, "m", _SkyInlineFormAdapterService_isVisible).call(this, element);
122
+ });
123
+ }, _SkyInlineFormAdapterService_isVisible = function _SkyInlineFormAdapterService_isVisible(element) {
124
+ const style = window.getComputedStyle(element);
125
+ const isHidden = style.display === 'none' || style.visibility === 'hidden';
126
+ if (isHidden) {
127
+ return false;
129
128
  }
130
- focusFirstElement(list) {
131
- if (list.length > 0) {
132
- list[0].focus();
133
- }
129
+ /* istanbul ignore next */
130
+ const hasBounds = !!(element.offsetWidth ||
131
+ element.offsetHeight ||
132
+ element.getClientRects().length);
133
+ return hasBounds;
134
+ }, _SkyInlineFormAdapterService_focusFirstElement = function _SkyInlineFormAdapterService_focusFirstElement(list) {
135
+ if (list.length > 0) {
136
+ list[0].focus();
134
137
  }
135
- }
138
+ };
136
139
  SkyInlineFormAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineFormAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
137
140
  SkyInlineFormAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineFormAdapterService });
138
141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineFormAdapterService, decorators: [{
@@ -163,34 +166,43 @@ var SkyInlineFormButtonLayout;
163
166
  SkyInlineFormButtonLayout[SkyInlineFormButtonLayout["SaveDeleteCancel"] = 4] = "SaveDeleteCancel";
164
167
  })(SkyInlineFormButtonLayout || (SkyInlineFormButtonLayout = {}));
165
168
 
169
+ var _SkyInlineFormComponent_instances, _SkyInlineFormComponent__config, _SkyInlineFormComponent__showForm, _SkyInlineFormComponent_ngUnsubscribe, _SkyInlineFormComponent_adapter, _SkyInlineFormComponent_elementRef, _SkyInlineFormComponent_resourcesService, _SkyInlineFormComponent_skyAppWindowRef, _SkyInlineFormComponent_changeDetectorRef, _SkyInlineFormComponent_setupButtons, _SkyInlineFormComponent_getPresetButtons, _SkyInlineFormComponent_getCustomButtons, _SkyInlineFormComponent_isValidCustomConfig;
166
170
  /**
167
171
  * Renders form content in the current view instead of a separate modal.
168
172
  */
169
173
  class SkyInlineFormComponent {
170
174
  constructor(adapter, elementRef, resourcesService, skyAppWindowRef, changeDetectorRef) {
171
- this.adapter = adapter;
172
- this.elementRef = elementRef;
173
- this.resourcesService = resourcesService;
174
- this.skyAppWindowRef = skyAppWindowRef;
175
- this.changeDetectorRef = changeDetectorRef;
175
+ _SkyInlineFormComponent_instances.add(this);
176
176
  /**
177
177
  * Fires when users close the inline form.
178
178
  */
179
179
  this.close = new EventEmitter();
180
- this._showForm = false;
180
+ _SkyInlineFormComponent__config.set(this, void 0);
181
+ _SkyInlineFormComponent__showForm.set(this, false);
182
+ _SkyInlineFormComponent_ngUnsubscribe.set(this, new Subject());
183
+ _SkyInlineFormComponent_adapter.set(this, void 0);
184
+ _SkyInlineFormComponent_elementRef.set(this, void 0);
185
+ _SkyInlineFormComponent_resourcesService.set(this, void 0);
186
+ _SkyInlineFormComponent_skyAppWindowRef.set(this, void 0);
187
+ _SkyInlineFormComponent_changeDetectorRef.set(this, void 0);
188
+ __classPrivateFieldSet(this, _SkyInlineFormComponent_adapter, adapter, "f");
189
+ __classPrivateFieldSet(this, _SkyInlineFormComponent_elementRef, elementRef, "f");
190
+ __classPrivateFieldSet(this, _SkyInlineFormComponent_resourcesService, resourcesService, "f");
191
+ __classPrivateFieldSet(this, _SkyInlineFormComponent_skyAppWindowRef, skyAppWindowRef, "f");
192
+ __classPrivateFieldSet(this, _SkyInlineFormComponent_changeDetectorRef, changeDetectorRef, "f");
181
193
  }
182
194
  /**
183
195
  * Specifies configuration options for the buttons to display with the inline form.
184
196
  * @required
185
197
  */
186
198
  set config(value) {
187
- if (value !== this._config) {
188
- this._config = value;
189
- this.setupButtons();
199
+ if (value !== __classPrivateFieldGet(this, _SkyInlineFormComponent__config, "f") && !!value) {
200
+ __classPrivateFieldSet(this, _SkyInlineFormComponent__config, value, "f");
201
+ __classPrivateFieldGet(this, _SkyInlineFormComponent_instances, "m", _SkyInlineFormComponent_setupButtons).call(this);
190
202
  }
191
203
  }
192
204
  get config() {
193
- return this._config;
205
+ return __classPrivateFieldGet(this, _SkyInlineFormComponent__config, "f");
194
206
  }
195
207
  /**
196
208
  * Indicates whether to display the inline form. Users can toggle between displaying
@@ -198,23 +210,25 @@ class SkyInlineFormComponent {
198
210
  * @default false
199
211
  */
200
212
  set showForm(value) {
201
- this._showForm = value;
213
+ __classPrivateFieldSet(this, _SkyInlineFormComponent__showForm, value, "f");
202
214
  /* istanbul ignore else */
203
215
  if (value) {
204
216
  // setTimeout() prevents applyAutofocus() from firing
205
217
  // until after *ngIf has added the form element to the DOM.
206
- this.skyAppWindowRef.nativeWindow.setTimeout(() => {
207
- this.adapter.applyAutofocus(this.elementRef);
218
+ __classPrivateFieldGet(this, _SkyInlineFormComponent_skyAppWindowRef, "f").nativeWindow.setTimeout(() => {
219
+ __classPrivateFieldGet(this, _SkyInlineFormComponent_adapter, "f").applyAutofocus(__classPrivateFieldGet(this, _SkyInlineFormComponent_elementRef, "f"));
208
220
  });
209
221
  }
210
222
  }
211
223
  get showForm() {
212
- return this._showForm;
224
+ return __classPrivateFieldGet(this, _SkyInlineFormComponent__showForm, "f");
213
225
  }
214
226
  ngOnInit() {
215
- this.setupButtons();
227
+ __classPrivateFieldGet(this, _SkyInlineFormComponent_instances, "m", _SkyInlineFormComponent_setupButtons).call(this);
216
228
  }
217
229
  ngOnDestroy() {
230
+ __classPrivateFieldGet(this, _SkyInlineFormComponent_ngUnsubscribe, "f").next();
231
+ __classPrivateFieldGet(this, _SkyInlineFormComponent_ngUnsubscribe, "f").complete();
218
232
  this.close.complete();
219
233
  }
220
234
  closeInlineForm(event) {
@@ -223,138 +237,132 @@ class SkyInlineFormComponent {
223
237
  };
224
238
  this.close.emit(args);
225
239
  }
226
- setupButtons() {
227
- if (this.isValidCustomConfig(this.config)) {
228
- this.buttons = this.getCustomButtons(this.config.buttons);
229
- this.changeDetectorRef.markForCheck();
230
- return;
231
- }
232
- this.getPresetButtons().then((buttons) => {
233
- this.buttons = buttons;
234
- this.changeDetectorRef.markForCheck();
235
- });
236
- }
237
- getPresetButtons() {
238
- const buttonType = this.config
239
- ? this.config.buttonLayout
240
- : SkyInlineFormButtonLayout.DoneCancel;
241
- let promise;
242
- switch (buttonType) {
243
- /* istanbul ignore next */
244
- default:
245
- case SkyInlineFormButtonLayout.DoneCancel:
246
- zip(this.resourcesService.getString('skyux_inline_form_button_done'), this.resourcesService.getString('skyux_inline_form_button_cancel'))
247
- .pipe(take(1))
248
- .subscribe((values) => {
249
- promise = new Promise((resolve) => {
250
- resolve([
251
- {
252
- text: values[0],
253
- styleType: 'primary',
254
- action: 'done',
255
- },
256
- {
257
- text: values[1],
258
- styleType: 'link',
259
- action: 'cancel',
260
- },
261
- ]);
262
- });
263
- });
264
- break;
265
- case SkyInlineFormButtonLayout.SaveCancel:
266
- zip(this.resourcesService.getString('skyux_inline_form_button_save'), this.resourcesService.getString('skyux_inline_form_button_cancel'))
267
- .pipe(take(1))
268
- .subscribe((values) => {
269
- promise = new Promise((resolve) => {
270
- resolve([
271
- {
272
- text: values[0],
273
- styleType: 'primary',
274
- action: 'save',
275
- },
276
- {
277
- text: values[1],
278
- styleType: 'link',
279
- action: 'cancel',
280
- },
281
- ]);
282
- });
283
- });
284
- break;
285
- case SkyInlineFormButtonLayout.DoneDeleteCancel:
286
- zip(this.resourcesService.getString('skyux_inline_form_button_done'), this.resourcesService.getString('skyux_inline_form_button_delete'), this.resourcesService.getString('skyux_inline_form_button_cancel'))
287
- .pipe(take(1))
288
- .subscribe((values) => {
289
- promise = new Promise((resolve) => {
290
- resolve([
291
- {
292
- text: values[0],
293
- styleType: 'primary',
294
- action: 'done',
295
- },
296
- {
297
- text: values[1],
298
- styleType: 'default',
299
- action: 'delete',
300
- },
301
- {
302
- text: values[2],
303
- styleType: 'link',
304
- action: 'cancel',
305
- },
306
- ]);
307
- });
308
- });
309
- break;
310
- case SkyInlineFormButtonLayout.SaveDeleteCancel:
311
- zip(this.resourcesService.getString('skyux_inline_form_button_save'), this.resourcesService.getString('skyux_inline_form_button_delete'), this.resourcesService.getString('skyux_inline_form_button_cancel'))
312
- .pipe(take(1))
313
- .subscribe((values) => {
314
- promise = new Promise((resolve) => {
315
- resolve([
316
- {
317
- text: values[0],
318
- styleType: 'primary',
319
- action: 'save',
320
- },
321
- {
322
- text: values[1],
323
- styleType: 'default',
324
- action: 'delete',
325
- },
326
- {
327
- text: values[2],
328
- styleType: 'link',
329
- action: 'cancel',
330
- },
331
- ]);
332
- });
333
- });
334
- break;
335
- }
336
- return promise;
240
+ }
241
+ _SkyInlineFormComponent__config = new WeakMap(), _SkyInlineFormComponent__showForm = new WeakMap(), _SkyInlineFormComponent_ngUnsubscribe = new WeakMap(), _SkyInlineFormComponent_adapter = new WeakMap(), _SkyInlineFormComponent_elementRef = new WeakMap(), _SkyInlineFormComponent_resourcesService = new WeakMap(), _SkyInlineFormComponent_skyAppWindowRef = new WeakMap(), _SkyInlineFormComponent_changeDetectorRef = new WeakMap(), _SkyInlineFormComponent_instances = new WeakSet(), _SkyInlineFormComponent_setupButtons = function _SkyInlineFormComponent_setupButtons() {
242
+ if (__classPrivateFieldGet(this, _SkyInlineFormComponent_instances, "m", _SkyInlineFormComponent_isValidCustomConfig).call(this, this.config) &&
243
+ this.config &&
244
+ this.config.buttons) {
245
+ this.buttons = __classPrivateFieldGet(this, _SkyInlineFormComponent_instances, "m", _SkyInlineFormComponent_getCustomButtons).call(this, this.config.buttons);
246
+ __classPrivateFieldGet(this, _SkyInlineFormComponent_changeDetectorRef, "f").markForCheck();
247
+ return;
337
248
  }
338
- getCustomButtons(buttonConfigs) {
339
- const buttons = [];
340
- buttonConfigs.forEach((config) => {
341
- /* istanbul ignore next */
342
- const styleType = config.styleType || 'default';
343
- buttons.push({
344
- action: config.action,
345
- disabled: config.disabled,
346
- styleType: styleType,
347
- text: config.text,
249
+ __classPrivateFieldGet(this, _SkyInlineFormComponent_instances, "m", _SkyInlineFormComponent_getPresetButtons).call(this)
250
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyInlineFormComponent_ngUnsubscribe, "f")))
251
+ .subscribe((buttons) => {
252
+ this.buttons = buttons;
253
+ __classPrivateFieldGet(this, _SkyInlineFormComponent_changeDetectorRef, "f").markForCheck();
254
+ });
255
+ }, _SkyInlineFormComponent_getPresetButtons = function _SkyInlineFormComponent_getPresetButtons() {
256
+ const emitter = new ReplaySubject(1);
257
+ const buttonType = this.config
258
+ ? this.config.buttonLayout
259
+ : SkyInlineFormButtonLayout.DoneCancel;
260
+ switch (buttonType) {
261
+ /* istanbul ignore next */
262
+ default:
263
+ case SkyInlineFormButtonLayout.DoneCancel:
264
+ zip(__classPrivateFieldGet(this, _SkyInlineFormComponent_resourcesService, "f").getString('skyux_inline_form_button_done'), __classPrivateFieldGet(this, _SkyInlineFormComponent_resourcesService, "f").getString('skyux_inline_form_button_cancel'))
265
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyInlineFormComponent_ngUnsubscribe, "f")))
266
+ .subscribe((values) => {
267
+ emitter.next([
268
+ {
269
+ text: values[0],
270
+ styleType: 'primary',
271
+ action: 'done',
272
+ },
273
+ {
274
+ text: values[1],
275
+ styleType: 'link',
276
+ action: 'cancel',
277
+ },
278
+ ]);
348
279
  });
349
- });
350
- return buttons;
351
- }
352
- isValidCustomConfig(config) {
353
- return (config &&
354
- config.buttonLayout === SkyInlineFormButtonLayout.Custom &&
355
- config.buttons.length > 0);
280
+ break;
281
+ case SkyInlineFormButtonLayout.SaveCancel:
282
+ zip(__classPrivateFieldGet(this, _SkyInlineFormComponent_resourcesService, "f").getString('skyux_inline_form_button_save'), __classPrivateFieldGet(this, _SkyInlineFormComponent_resourcesService, "f").getString('skyux_inline_form_button_cancel'))
283
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyInlineFormComponent_ngUnsubscribe, "f")))
284
+ .subscribe((values) => {
285
+ emitter.next([
286
+ {
287
+ text: values[0],
288
+ styleType: 'primary',
289
+ action: 'save',
290
+ },
291
+ {
292
+ text: values[1],
293
+ styleType: 'link',
294
+ action: 'cancel',
295
+ },
296
+ ]);
297
+ });
298
+ break;
299
+ case SkyInlineFormButtonLayout.DoneDeleteCancel:
300
+ zip(__classPrivateFieldGet(this, _SkyInlineFormComponent_resourcesService, "f").getString('skyux_inline_form_button_done'), __classPrivateFieldGet(this, _SkyInlineFormComponent_resourcesService, "f").getString('skyux_inline_form_button_delete'), __classPrivateFieldGet(this, _SkyInlineFormComponent_resourcesService, "f").getString('skyux_inline_form_button_cancel'))
301
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyInlineFormComponent_ngUnsubscribe, "f")))
302
+ .subscribe((values) => {
303
+ emitter.next([
304
+ {
305
+ text: values[0],
306
+ styleType: 'primary',
307
+ action: 'done',
308
+ },
309
+ {
310
+ text: values[1],
311
+ styleType: 'default',
312
+ action: 'delete',
313
+ },
314
+ {
315
+ text: values[2],
316
+ styleType: 'link',
317
+ action: 'cancel',
318
+ },
319
+ ]);
320
+ });
321
+ break;
322
+ case SkyInlineFormButtonLayout.SaveDeleteCancel:
323
+ zip(__classPrivateFieldGet(this, _SkyInlineFormComponent_resourcesService, "f").getString('skyux_inline_form_button_save'), __classPrivateFieldGet(this, _SkyInlineFormComponent_resourcesService, "f").getString('skyux_inline_form_button_delete'), __classPrivateFieldGet(this, _SkyInlineFormComponent_resourcesService, "f").getString('skyux_inline_form_button_cancel'))
324
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyInlineFormComponent_ngUnsubscribe, "f")))
325
+ .subscribe((values) => {
326
+ emitter.next([
327
+ {
328
+ text: values[0],
329
+ styleType: 'primary',
330
+ action: 'save',
331
+ },
332
+ {
333
+ text: values[1],
334
+ styleType: 'default',
335
+ action: 'delete',
336
+ },
337
+ {
338
+ text: values[2],
339
+ styleType: 'link',
340
+ action: 'cancel',
341
+ },
342
+ ]);
343
+ });
344
+ break;
356
345
  }
357
- }
346
+ return emitter.asObservable();
347
+ }, _SkyInlineFormComponent_getCustomButtons = function _SkyInlineFormComponent_getCustomButtons(buttonConfigs) {
348
+ const buttons = [];
349
+ buttonConfigs.forEach((config) => {
350
+ /* istanbul ignore next */
351
+ const styleType = config.styleType || 'default';
352
+ buttons.push({
353
+ action: config.action,
354
+ disabled: config.disabled,
355
+ styleType: styleType,
356
+ text: config.text,
357
+ });
358
+ });
359
+ return buttons;
360
+ }, _SkyInlineFormComponent_isValidCustomConfig = function _SkyInlineFormComponent_isValidCustomConfig(config) {
361
+ return (!!config &&
362
+ !!config.buttons &&
363
+ config.buttons.length > 0 &&
364
+ config.buttonLayout === SkyInlineFormButtonLayout.Custom);
365
+ };
358
366
  SkyInlineFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineFormComponent, deps: [{ token: SkyInlineFormAdapterService }, { token: i0.ElementRef }, { token: i2.SkyLibResourcesService }, { token: i3.SkyAppWindowRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
359
367
  SkyInlineFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", 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 <div *ngIf=\"!showForm\" class=\"sky-slide-dissolve-first\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\" 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\"> </ng-container>\n </div>\n <div class=\"sky-inline-form-footer\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [skySlideDissolve], changeDetection: i0.ChangeDetectionStrategy.OnPush });
360
368
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineFormComponent, decorators: [{
@@ -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":["/**\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 SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: 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\nexport class SkyInlineFormResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyInlineFormResourcesProvider,\n multi: true,\n },\n ],\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 private loadFocusableChildren(elem: HTMLElement): HTMLElement[] {\n const elements: Array<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 private 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 private focusFirstElement(list: Array<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 { zip as observableZip } from 'rxjs';\nimport { take } 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 * Specifies configuration options for the buttons to display with the inline form.\n * @required\n */\n @Input()\n public set config(value: SkyInlineFormConfig) {\n if (value !== this._config) {\n this._config = value;\n this.setupButtons();\n }\n }\n\n public get config(): SkyInlineFormConfig {\n return this._config;\n }\n\n /**\n * Specifies a template to use to instantiate the inline form.\n * @required\n */\n @Input()\n public template: TemplateRef<unknown>;\n\n /**\n * Indicates 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) {\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() {\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 public buttons: SkyInlineFormButtonConfig[];\n\n private _config: SkyInlineFormConfig;\n\n private _showForm = false;\n\n constructor(\n private adapter: SkyInlineFormAdapterService,\n private elementRef: ElementRef,\n private resourcesService: SkyLibResourcesService,\n private skyAppWindowRef: SkyAppWindowRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n public ngOnInit(): void {\n this.setupButtons();\n }\n\n public ngOnDestroy(): void {\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 private setupButtons(): void {\n if (this.isValidCustomConfig(this.config)) {\n this.buttons = this.getCustomButtons(this.config.buttons);\n this.changeDetectorRef.markForCheck();\n return;\n }\n\n this.getPresetButtons().then((buttons) => {\n this.buttons = buttons;\n this.changeDetectorRef.markForCheck();\n });\n }\n\n private getPresetButtons(): Promise<SkyInlineFormButtonConfig[]> {\n const buttonType = this.config\n ? this.config.buttonLayout\n : SkyInlineFormButtonLayout.DoneCancel;\n\n let promise: Promise<SkyInlineFormButtonConfig[]>;\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(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\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 );\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(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\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 );\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(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\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 );\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(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\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 );\n });\n break;\n }\n\n return promise;\n }\n\n private 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 private isValidCustomConfig(config: SkyInlineFormConfig): boolean {\n return (\n config &&\n config.buttonLayout === SkyInlineFormButtonLayout.Custom &&\n config.buttons.length > 0\n );\n }\n}\n","<div [@skySlideDissolve]=\"showForm\">\n <div *ngIf=\"!showForm\" class=\"sky-slide-dissolve-first\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\" 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\"> </ng-container>\n </div>\n <div class=\"sky-inline-form-footer\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\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":["/**\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 SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: 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\nexport class SkyInlineFormResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyInlineFormResourcesProvider,\n multi: true,\n },\n ],\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: Array<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: Array<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 * Specifies 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 * Specifies a template to use to instantiate the inline form.\n * @required\n */\n @Input()\n public template: TemplateRef<unknown> | undefined;\n\n /**\n * Indicates 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 <div *ngIf=\"!showForm\" class=\"sky-slide-dissolve-first\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\" 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\"> </ng-container>\n </div>\n <div class=\"sky-inline-form-footer\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\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":";;;;;;;;;;;;AAAA;;;;;AAKG;AAWH,MAAM,SAAS,GAA0C;AACvD,IAAA,OAAO,EAAE;AACP,QAAA,+BAA+B,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;AACtD,QAAA,+BAA+B,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;AACtD,QAAA,6BAA6B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;AAClD,QAAA,6BAA6B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;AACnD,KAAA;CACF,CAAC;MAEW,8BAA8B,CAAA;IAClC,SAAS,CACd,UAA4B,EAC5B,IAAY,EAAA;QAEZ,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAClE;AACF,CAAA;AAED;;AAEG;MAWU,4BAA4B,CAAA;;yHAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,YAT7B,aAAa,CAAA,EAAA,CAAA,CAAA;AASZ,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,EAR5B,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,2BAA2B;AACpC,YAAA,QAAQ,EAAE,8BAA8B;AACxC,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,OAAA,EAAA,CAPS,aAAa,CAAA,EAAA,CAAA,CAAA;2FASZ,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAVxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;AACxB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,QAAQ,EAAE,8BAA8B;AACxC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;iBACF,CAAA;;;ACpCM,MAAM,gBAAgB,GAA6B,OAAO,CAC/D,kBAAkB,EAClB;IACE,UAAU,CAAC,SAAS,EAAE;;QAEpB,KAAK,CACH,gCAAgC,EAChC;YACE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAChC,YAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7D,SAAA,EACD,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;QACD,KAAK,CACH,gCAAgC,EAChC;AACE,YAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAChD,SAAA,EACD,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;;;;QAKD,KAAK,CACH,gCAAgC,EAChC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACvC,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;AAED,QAAA,KAAK,CAAC;YACJ,KAAK,CACH,iCAAiC,EACjC;gBACE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChC,gBAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAC7D,aAAA,EACD,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;YACD,KAAK,CACH,gCAAgC,EAChC,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAChD,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;SACF,CAAC;KACH,CAAC;AACH,CAAA,CACF;;;ACxDD,MAAM,qBAAqB,GAAG;IAC5B,SAAS;IACT,YAAY;IACZ,4CAA4C;IAC5C,6CAA6C;IAC7C,6CAA6C;IAC7C,+CAA+C;IAC/C,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,kCAAkC;IAClC,yBAAyB;AAC1B,CAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;AAEG;MAEU,2BAA2B,CAAA;AADxC,IAAA,WAAA,GAAA;;KAkDC;AAhDQ,IAAA,cAAc,CAAC,oBAAgC,EAAA;QACpD,MAAM,kBAAkB,GACtB,oBAAoB,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AAElE,QAAA,IAAI,kBAAkB,EAAE;YACtB,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAC5B,SAAA;AAAM,aAAA;YACL,MAAM,OAAO,GACX,oBAAoB,CAAC,aAAa,CAAC,aAAa,CAC9C,0BAA0B,CAC3B,CAAC;AACJ,YAAA,MAAM,iBAAiB,GAAG,sBAAA,CAAA,IAAI,EAAA,sCAAA,EAAA,GAAA,EAAA,kDAAA,CAAuB,MAA3B,IAAI,EAAwB,OAAO,CAAC,CAAC;AAE/D,YAAA,sBAAA,CAAA,IAAI,EAAmB,sCAAA,EAAA,GAAA,EAAA,8CAAA,CAAA,CAAA,IAAA,CAAvB,IAAI,EAAoB,iBAAiB,CAAC,CAAC;AAC5C,SAAA;KACF;;yKAEsB,IAAiB,EAAA;AACtC,IAAA,MAAM,QAAQ,GAAuB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAC7D,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAC7C,CAAC;AAEF,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AACjC,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAW,sCAAA,EAAA,GAAA,EAAA,sCAAA,CAAA,CAAA,IAAA,CAAf,IAAI,EAAY,OAAO,CAAC,CAAC;AAClC,KAAC,CAAC,CAAC;AACL,CAAC,2FAEU,OAAoB,EAAA;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC/C,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;AAC3E,IAAA,IAAI,QAAQ,EAAE;AACZ,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;;AAGD,IAAA,MAAM,SAAS,GAAG,CAAC,EACjB,OAAO,CAAC,WAAW;AACnB,QAAA,OAAO,CAAC,YAAY;AACpB,QAAA,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAChC,CAAC;AACF,IAAA,OAAO,SAAS,CAAC;AACnB,CAAC,2GAEkB,IAAwB,EAAA;AACzC,IAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACnB,QAAA,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACjB,KAAA;AACH,CAAC,CAAA;wHAhDU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4HAA3B,2BAA2B,EAAA,CAAA,CAAA;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,UAAU;;;ACnBC,IAAA,0BAqBX;AArBD,CAAA,UAAY,yBAAyB,EAAA;AACnC;;AAEG;IACH,yBAAA,CAAA,yBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;AACV;;AAEG;IACH,yBAAA,CAAA,yBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;AACd;;AAEG;IACH,yBAAA,CAAA,yBAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAoB,CAAA;AACpB;;AAEG;IACH,yBAAA,CAAA,yBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;AACd;;AAEG;IACH,yBAAA,CAAA,yBAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAoB,CAAA;AACtB,CAAC,EArBW,yBAAyB,KAAzB,yBAAyB,GAqBpC,EAAA,CAAA,CAAA;;;ACID;;AAEG;MASU,sBAAsB,CAAA;IAqEjC,WACE,CAAA,OAAoC,EACpC,UAAsB,EACtB,gBAAwC,EACxC,eAAgC,EAChC,iBAAoC,EAAA;;AA3BtC;;AAEG;AAGI,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAA0B,CAAC;QAK1D,+BAA0C,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAE1C,QAAA,iCAAA,CAAA,GAAA,CAAA,IAAA,EAAkC,KAAK,CAAC,CAAA;QAExC,qCAAiB,CAAA,GAAA,CAAA,IAAA,EAAA,IAAI,OAAO,EAAQ,CAAC,CAAA;QAErC,+BAAsC,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QACtC,kCAAwB,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QACxB,wCAA0C,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QAC1C,uCAAkC,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QAClC,yCAAsC,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QASpC,sBAAA,CAAA,IAAI,EAAA,+BAAA,EAAY,OAAO,EAAA,GAAA,CAAA,CAAC;QACxB,sBAAA,CAAA,IAAI,EAAA,kCAAA,EAAe,UAAU,EAAA,GAAA,CAAA,CAAC;QAC9B,sBAAA,CAAA,IAAI,EAAA,wCAAA,EAAqB,gBAAgB,EAAA,GAAA,CAAA,CAAC;QAC1C,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAoB,eAAe,EAAA,GAAA,CAAA,CAAC;QACxC,sBAAA,CAAA,IAAI,EAAA,yCAAA,EAAsB,iBAAiB,EAAA,GAAA,CAAA,CAAC;KAC7C;AAhFD;;;AAGG;IACH,IACW,MAAM,CAAC,KAAsC,EAAA;AACtD,QAAA,IAAI,KAAK,KAAK,sBAAA,CAAA,IAAI,uCAAS,IAAI,CAAC,CAAC,KAAK,EAAE;YACtC,sBAAA,CAAA,IAAI,EAAA,+BAAA,EAAY,KAAK,EAAA,GAAA,CAAA,CAAC;AACtB,YAAA,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAA,GAAA,EAAA,oCAAA,CAAc,CAAlB,IAAA,CAAA,IAAI,CAAgB,CAAC;AACtB,SAAA;KACF;AAED,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,sBAAA,CAAA,IAAI,EAAA,+BAAA,EAAA,GAAA,CAAS,CAAC;KACtB;AASD;;;;AAIG;IACH,IACW,QAAQ,CAAC,KAA0B,EAAA;QAC5C,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAc,KAAK,EAAA,GAAA,CAAA,CAAC;;AAGxB,QAAA,IAAI,KAAK,EAAE;;;AAGT,YAAA,sBAAA,CAAA,IAAI,+CAAiB,CAAC,YAAY,CAAC,UAAU,CAAC,MAAK;AACjD,gBAAA,sBAAA,CAAA,IAAI,uCAAS,CAAC,cAAc,CAAC,sBAAA,CAAA,IAAI,EAAY,kCAAA,EAAA,GAAA,CAAA,CAAC,CAAC;AACjD,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;AAED,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAA,GAAA,CAAW,CAAC;KACxB;IAsCM,QAAQ,GAAA;AACb,QAAA,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAA,GAAA,EAAA,oCAAA,CAAc,CAAlB,IAAA,CAAA,IAAI,CAAgB,CAAC;KACtB;IAEM,WAAW,GAAA;QAChB,sBAAA,CAAA,IAAI,EAAA,qCAAA,EAAA,GAAA,CAAe,CAAC,IAAI,EAAE,CAAC;QAC3B,sBAAA,CAAA,IAAI,EAAA,qCAAA,EAAA,GAAA,CAAe,CAAC,QAAQ,EAAE,CAAC;AAE/B,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;KACvB;AAEM,IAAA,eAAe,CAAC,KAAgC,EAAA;AACrD,QAAA,MAAM,IAAI,GAA2B;YACnC,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvB;;;AAGC,IAAA,IACE,sBAAA,CAAA,IAAI,EAAqB,iCAAA,EAAA,GAAA,EAAA,2CAAA,CAAA,CAAA,IAAA,CAAzB,IAAI,EAAsB,IAAI,CAAC,MAAM,CAAC;AACtC,QAAA,IAAI,CAAC,MAAM;AACX,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB;QACA,IAAI,CAAC,OAAO,GAAG,sBAAA,CAAA,IAAI,EAAkB,iCAAA,EAAA,GAAA,EAAA,wCAAA,CAAA,CAAA,IAAA,CAAtB,IAAI,EAAmB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3D,sBAAA,CAAA,IAAI,EAAA,yCAAA,EAAA,GAAA,CAAmB,CAAC,YAAY,EAAE,CAAC;QACvC,OAAO;AACR,KAAA;AAED,IAAA,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAA,GAAA,EAAA,wCAAA,CAAkB,CAAtB,IAAA,CAAA,IAAI,CAAoB;AACrB,SAAA,IAAI,CAAC,SAAS,CAAC,uBAAA,IAAI,EAAA,qCAAA,EAAA,GAAA,CAAe,CAAC,CAAC;AACpC,SAAA,SAAS,CAAC,CAAC,OAAoC,KAAI;AAClD,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,sBAAA,CAAA,IAAI,EAAA,yCAAA,EAAA,GAAA,CAAmB,CAAC,YAAY,EAAE,CAAC;AACzC,KAAC,CAAC,CAAC;AACP,CAAC,EAAA,wCAAA,GAAA,SAAA,wCAAA,GAAA;AAGC,IAAA,MAAM,OAAO,GAAG,IAAI,aAAa,CAA8B,CAAC,CAAC,CAAC;AAElE,IAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM;AAC5B,UAAE,IAAI,CAAC,MAAM,CAAC,YAAY;AAC1B,UAAE,yBAAyB,CAAC,UAAU,CAAC;AAEzC,IAAA,QAAQ,UAAU;;QAEhB,QAAQ;QACR,KAAK,yBAAyB,CAAC,UAAU;AACvC,YAAAA,GAAa,CACX,sBAAA,CAAA,IAAI,gDAAkB,CAAC,SAAS,CAAC,+BAA+B,CAAC,EACjE,sBAAA,CAAA,IAAI,EAAkB,wCAAA,EAAA,GAAA,CAAA,CAAC,SAAS,CAAC,iCAAiC,CAAC,CACpE;AACE,iBAAA,IAAI,CAAC,SAAS,CAAC,uBAAA,IAAI,EAAA,qCAAA,EAAA,GAAA,CAAe,CAAC,CAAC;AACpC,iBAAA,SAAS,CAAC,CAAC,MAAgB,KAAI;gBAC9B,OAAO,CAAC,IAAI,CAAC;AACX,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACf,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,MAAM,EAAE,MAAM;AACf,qBAAA;AACD,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACf,wBAAA,SAAS,EAAE,MAAM;AACjB,wBAAA,MAAM,EAAE,QAAQ;AACjB,qBAAA;AACF,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YACL,MAAM;QAER,KAAK,yBAAyB,CAAC,UAAU;AACvC,YAAAA,GAAa,CACX,sBAAA,CAAA,IAAI,gDAAkB,CAAC,SAAS,CAAC,+BAA+B,CAAC,EACjE,sBAAA,CAAA,IAAI,EAAkB,wCAAA,EAAA,GAAA,CAAA,CAAC,SAAS,CAAC,iCAAiC,CAAC,CACpE;AACE,iBAAA,IAAI,CAAC,SAAS,CAAC,uBAAA,IAAI,EAAA,qCAAA,EAAA,GAAA,CAAe,CAAC,CAAC;AACpC,iBAAA,SAAS,CAAC,CAAC,MAAgB,KAAI;gBAC9B,OAAO,CAAC,IAAI,CAAC;AACX,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACf,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,MAAM,EAAE,MAAM;AACf,qBAAA;AACD,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACf,wBAAA,SAAS,EAAE,MAAM;AACjB,wBAAA,MAAM,EAAE,QAAQ;AACjB,qBAAA;AACF,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YACL,MAAM;QAER,KAAK,yBAAyB,CAAC,gBAAgB;AAC7C,YAAAA,GAAa,CACX,sBAAA,CAAA,IAAI,EAAkB,wCAAA,EAAA,GAAA,CAAA,CAAC,SAAS,CAAC,+BAA+B,CAAC,EACjE,sBAAA,CAAA,IAAI,EAAA,wCAAA,EAAA,GAAA,CAAkB,CAAC,SAAS,CAAC,iCAAiC,CAAC,EACnE,sBAAA,CAAA,IAAI,EAAkB,wCAAA,EAAA,GAAA,CAAA,CAAC,SAAS,CAAC,iCAAiC,CAAC,CACpE;AACE,iBAAA,IAAI,CAAC,SAAS,CAAC,uBAAA,IAAI,EAAA,qCAAA,EAAA,GAAA,CAAe,CAAC,CAAC;AACpC,iBAAA,SAAS,CAAC,CAAC,MAAgB,KAAI;gBAC9B,OAAO,CAAC,IAAI,CAAC;AACX,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACf,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,MAAM,EAAE,MAAM;AACf,qBAAA;AACD,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACf,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,MAAM,EAAE,QAAQ;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACf,wBAAA,SAAS,EAAE,MAAM;AACjB,wBAAA,MAAM,EAAE,QAAQ;AACjB,qBAAA;AACF,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YACL,MAAM;QAER,KAAK,yBAAyB,CAAC,gBAAgB;AAC7C,YAAAA,GAAa,CACX,sBAAA,CAAA,IAAI,EAAkB,wCAAA,EAAA,GAAA,CAAA,CAAC,SAAS,CAAC,+BAA+B,CAAC,EACjE,sBAAA,CAAA,IAAI,EAAA,wCAAA,EAAA,GAAA,CAAkB,CAAC,SAAS,CAAC,iCAAiC,CAAC,EACnE,sBAAA,CAAA,IAAI,EAAkB,wCAAA,EAAA,GAAA,CAAA,CAAC,SAAS,CAAC,iCAAiC,CAAC,CACpE;AACE,iBAAA,IAAI,CAAC,SAAS,CAAC,uBAAA,IAAI,EAAA,qCAAA,EAAA,GAAA,CAAe,CAAC,CAAC;AACpC,iBAAA,SAAS,CAAC,CAAC,MAAgB,KAAI;gBAC9B,OAAO,CAAC,IAAI,CAAC;AACX,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACf,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,MAAM,EAAE,MAAM;AACf,qBAAA;AACD,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACf,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,MAAM,EAAE,QAAQ;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACf,wBAAA,SAAS,EAAE,MAAM;AACjB,wBAAA,MAAM,EAAE,QAAQ;AACjB,qBAAA;AACF,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YACL,MAAM;AACT,KAAA;AAED,IAAA,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC;AAChC,CAAC,+FAGC,aAA0C,EAAA;IAE1C,MAAM,OAAO,GAAgC,EAAE,CAAC;AAEhD,IAAA,aAAa,CAAC,OAAO,CAAC,CAAC,MAAiC,KAAI;;AAE1D,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;QAEhD,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;AACzB,YAAA,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,MAAM,CAAC,IAAI;AACW,SAAA,CAAC,CAAC;AAClC,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,OAAO,CAAC;AACjB,CAAC,qGAEoB,MAAuC,EAAA;IAC1D,QACE,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC,OAAO;AAChB,QAAA,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AACzB,QAAA,MAAM,CAAC,YAAY,KAAK,yBAAyB,CAAC,MAAM,EACxD;AACJ,CAAC,CAAA;mHArQU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,2BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAtB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAHtB,CAAC,2BAA2B,CAAC,0BCjC1C,k4BAyBA,EAAA,MAAA,EAAA,CAAA,i5BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDSc,CAAC,gBAAgB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAEnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;+BACE,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,2BAA2B,CAAC,EAAA,UAAA,EAC5B,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,k4BAAA,EAAA,MAAA,EAAA,CAAA,i5BAAA,CAAA,EAAA,CAAA;2OAQnB,MAAM,EAAA,CAAA;sBADhB,KAAK;gBAiBC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBASK,QAAQ,EAAA,CAAA;sBADlB,KAAK;gBAuBC,KAAK,EAAA,CAAA;sBAFX,MAAM;;;ME1EI,mBAAmB,CAAA;;gHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBAJf,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAC3B,YAAY,EAAE,4BAA4B,aAC1C,sBAAsB,CAAA,EAAA,CAAA,CAAA;iHAErB,mBAAmB,EAAA,OAAA,EAAA,CAHpB,YAAY,EAAE,4BAA4B,CAAA,EAAA,CAAA,CAAA;2FAGzC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACtC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,4BAA4B,CAAC;oBACrD,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBAClC,CAAA;;;ACXD;;AAEG;;;;"}