@danske/sapphire-angular 2.3.0 → 2.4.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.
Files changed (45) hide show
  1. package/esm2020/lib/checkbox/src/checkbox.component.mjs +20 -4
  2. package/esm2020/lib/checkbox/src/checkbox.module.mjs +4 -3
  3. package/esm2020/lib/field/src/field-control.mjs +1 -1
  4. package/esm2020/lib/field/src/field.component.mjs +24 -9
  5. package/esm2020/lib/listbox/src/listbox.component.mjs +2 -2
  6. package/esm2020/lib/menu/src/menu-trigger.directive.mjs +10 -4
  7. package/esm2020/lib/menu/src/menu.component.mjs +2 -2
  8. package/esm2020/lib/modal/src/dialog/dialog-trigger.directive.mjs +3 -8
  9. package/esm2020/lib/modal/src/modal-trigger.directive.mjs +13 -11
  10. package/esm2020/lib/modal/src/modal.service.mjs +5 -4
  11. package/esm2020/lib/modal/src/panel/panel-trigger.directive.mjs +3 -8
  12. package/esm2020/lib/popover/src/popover-trigger.directive.mjs +11 -11
  13. package/esm2020/lib/popover/src/popover.component.mjs +2 -2
  14. package/esm2020/lib/segmented-tabs/src/segmented-tab.component.mjs +2 -2
  15. package/esm2020/lib/select/src/basic-select/basic-select.component.mjs +2 -2
  16. package/esm2020/lib/select/src/select/select.component.mjs +4 -3
  17. package/esm2020/lib/text-field/src/text-field.component.mjs +4 -3
  18. package/esm2020/lib/theme/public_api.mjs +2 -2
  19. package/esm2020/lib/theme/src/sapphire-overlay.service.mjs +62 -0
  20. package/esm2020/lib/theme/src/theme-base.directive.mjs +6 -46
  21. package/esm2020/lib/theme/src/theme.module.mjs +3 -29
  22. package/esm2020/lib/theme/src/themes.mjs +4 -4
  23. package/esm2020/lib/tooltip/src/tooltip.directive.mjs +4 -4
  24. package/fesm2015/danske-sapphire-angular.mjs +299 -312
  25. package/fesm2015/danske-sapphire-angular.mjs.map +1 -1
  26. package/fesm2020/danske-sapphire-angular.mjs +296 -308
  27. package/fesm2020/danske-sapphire-angular.mjs.map +1 -1
  28. package/lib/checkbox/src/checkbox.component.d.ts +6 -1
  29. package/lib/checkbox/src/checkbox.module.d.ts +4 -3
  30. package/lib/field/src/field-control.d.ts +1 -0
  31. package/lib/field/src/field.component.d.ts +11 -3
  32. package/lib/modal/src/dialog/dialog-trigger.directive.d.ts +0 -3
  33. package/lib/modal/src/modal-trigger.directive.d.ts +3 -2
  34. package/lib/modal/src/modal.service.d.ts +10 -2
  35. package/lib/modal/src/panel/panel-trigger.directive.d.ts +0 -3
  36. package/lib/popover/src/popover-trigger.directive.d.ts +4 -3
  37. package/lib/select/src/select/select.component.d.ts +1 -0
  38. package/lib/table/src/table-cell.directive.d.ts +1 -1
  39. package/lib/text-field/src/text-field.component.d.ts +1 -0
  40. package/lib/theme/public_api.d.ts +1 -1
  41. package/lib/theme/src/sapphire-overlay.service.d.ts +34 -0
  42. package/lib/tooltip/src/tooltip.directive.d.ts +2 -2
  43. package/package.json +3 -3
  44. package/esm2020/lib/theme/src/sapphire-overlay-container.service.mjs +0 -37
  45. package/lib/theme/src/sapphire-overlay-container.service.d.ts +0 -14
@@ -7,16 +7,16 @@ import { takeUntil } from 'rxjs/operators';
7
7
  import { flip, toConnectedPosition } from '../../common/placement';
8
8
  import { CoerceBoolean } from '../../common/coerce-boolean.decorator';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/cdk/overlay";
10
+ import * as i1 from "../../theme/src/sapphire-overlay.service";
11
11
  export const POPOVER_TRIGGER = new InjectionToken('sp-popover-trigger');
12
12
  // TODO(UC-2728): improve event handling when reusable press utility is added
13
13
  export class PopoverTriggerDirective {
14
14
  get getPopoverId() {
15
15
  return this.overlayRef?.hostElement.querySelector('[role="dialog"]')?.id;
16
16
  }
17
- constructor(changeDetectorRef, cdkOverlay, viewContainerRef, elementRef, injector) {
17
+ constructor(changeDetectorRef, overlay, viewContainerRef, elementRef, injector) {
18
18
  this.changeDetectorRef = changeDetectorRef;
19
- this.cdkOverlay = cdkOverlay;
19
+ this.overlay = overlay;
20
20
  this.viewContainerRef = viewContainerRef;
21
21
  this.elementRef = elementRef;
22
22
  this.injector = injector;
@@ -69,7 +69,7 @@ export class PopoverTriggerDirective {
69
69
  if (!this.isOpen() && this.templateRef != null && !this.disabled) {
70
70
  this.opened.next();
71
71
  if (!this.overlayRef) {
72
- this.overlayRef = this.cdkOverlay.create(this.getOverlayConfig());
72
+ this.overlayRef = this.overlay.create(this.getOverlayConfig());
73
73
  this.overlayRef.updatePositionStrategy(this.getOverlayPositionStrategy());
74
74
  this.overlayRef.detachments().subscribe(() => {
75
75
  this.closed.next();
@@ -180,9 +180,9 @@ export class PopoverTriggerDirective {
180
180
  return new OverlayConfig({
181
181
  scrollStrategy: this.nonModal
182
182
  ? this.closeOnScroll
183
- ? this.cdkOverlay.scrollStrategies.close()
184
- : this.cdkOverlay.scrollStrategies.reposition()
185
- : this.cdkOverlay.scrollStrategies.block(),
183
+ ? this.overlay.scrollStrategies.close()
184
+ : this.overlay.scrollStrategies.reposition()
185
+ : this.overlay.scrollStrategies.block(),
186
186
  // Including a transparent backdrop according to the latest decision of making popovers modal.
187
187
  hasBackdrop: !this.nonModal,
188
188
  backdropClass: 'cdk-overlay-transparent-backdrop',
@@ -199,7 +199,7 @@ export class PopoverTriggerDirective {
199
199
  }
200
200
  getOverlayPositionStrategy() {
201
201
  const placement = this.placement || 'bottom';
202
- return (this.cdkOverlay
202
+ return (this.overlay
203
203
  .position()
204
204
  .flexibleConnectedTo(this.elementRef)
205
205
  .withLockedPosition()
@@ -228,7 +228,7 @@ export class PopoverTriggerDirective {
228
228
  .withViewportMargin(placement.includes('end') ? 0 : 6));
229
229
  }
230
230
  }
231
- PopoverTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PopoverTriggerDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
231
+ PopoverTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PopoverTriggerDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SapphireOverlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
232
232
  PopoverTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: { placement: ["spPopoverPlacement", "placement"], templateRef: ["spPopoverTriggerFor", "templateRef"], nonModal: ["spPopoverNonModal", "nonModal"], openOnPressStart: ["spPopoverTriggerOpenOnPressStart", "openOnPressStart"], closeOnScroll: ["spPopoverTriggerCloseOnScroll", "closeOnScroll"], disabled: ["spPopoverTriggerDisabled", "disabled"], disablePushInsideViewport: ["spPopoverDisablePushInsideViewport", "disablePushInsideViewport"] }, outputs: { opened: "spPopoverTriggerOpened", closed: "spPopoverTriggerClosed" }, host: { listeners: { "mousedown": "handleMousedown($event)", "click": "handleClick($event)", "keydown.tab": "handleTab()", "focusout": "onFocusout($event)", "keydown": "handleKeyDown($event)" }, properties: { "class.is-active": "isOpen()", "attr.aria-expanded": "isOpen()", "attr.aria-controls": "this.getPopoverId" } }, providers: [
233
233
  { provide: POPOVER_TRIGGER, useExisting: PopoverTriggerDirective },
234
234
  ], exportAs: ["spPopoverTrigger"], ngImport: i0 });
@@ -260,7 +260,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
260
260
  },
261
261
  exportAs: 'spPopoverTrigger',
262
262
  }]
263
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Injector }]; }, propDecorators: { placement: [{
263
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SapphireOverlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Injector }]; }, propDecorators: { placement: [{
264
264
  type: Input,
265
265
  args: ['spPopoverPlacement']
266
266
  }], templateRef: [{
@@ -306,4 +306,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
306
306
  type: HostListener,
307
307
  args: ['keydown', ['$event']]
308
308
  }] } });
309
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvcG9wb3Zlci9zcmMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdMLGFBQWEsR0FFZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBUXRFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDL0Msb0JBQW9CLENBQ3JCLENBQUM7QUFFRiw2RUFBNkU7QUFhN0UsTUFBTSxPQUFPLHVCQUF1QjtJQTZEbEMsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxZQUNVLGlCQUFvQyxFQUNwQyxVQUFtQixFQUNuQixnQkFBa0MsRUFDbkMsVUFBbUMsRUFDbEMsUUFBa0I7UUFKbEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFTO1FBQ25CLHFCQUFn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QjtzQkFGZixLQUFLO3VCQUFDLGtDQUFrQztnQkFVekMsYUFBYTtzQkFGWixLQUFLO3VCQUFDLCtCQUErQjtnQkFVdEMsUUFBUTtzQkFGUCxLQUFLO3VCQUFDLDBCQUEwQjtnQkFVakMseUJBQXlCO3NCQUZ4QixLQUFLO3VCQUFDLG9DQUFvQztnQkFNbEMsTUFBTTtzQkFEZCxNQUFNO3VCQUFDLHdCQUF3QjtnQkFLdkIsTUFBTTtzQkFEZCxNQUFNO3VCQUFDLHdCQUF3QjtnQkFZckIsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBd0V6QixlQUFlO3NCQUR0QixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkF3QjdCLFdBQVc7c0JBRGxCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWN6QixTQUFTO3NCQURoQixZQUFZO3VCQUFDLGFBQWE7Z0JBY25CLFVBQVU7c0JBRGpCLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTJCNUIsYUFBYTtzQkFEcEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlDb25maWcsXG4gIE92ZXJsYXlSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZsaXAsIFBsYWNlbWVudCwgdG9Db25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9wbGFjZW1lbnQnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBQb3BvdmVyVHJpZ2dlciB7XG4gIHRvZ2dsZSgpOiB2b2lkO1xuICBvcGVuKCk6IHZvaWQ7XG4gIGNsb3NlKCk6IHZvaWQ7XG4gIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xufVxuZXhwb3J0IGNvbnN0IFBPUE9WRVJfVFJJR0dFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQb3BvdmVyVHJpZ2dlcj4oXG4gICdzcC1wb3BvdmVyLXRyaWdnZXInXG4pO1xuXG4vLyBUT0RPKFVDLTI3MjgpOiBpbXByb3ZlIGV2ZW50IGhhbmRsaW5nIHdoZW4gcmV1c2FibGUgcHJlc3MgdXRpbGl0eSBpcyBhZGRlZFxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc3BQb3BvdmVyVHJpZ2dlckZvcl0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IFBPUE9WRVJfVFJJR0dFUiwgdXNlRXhpc3Rpbmc6IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmlzLWFjdGl2ZV0nOiAnaXNPcGVuKCknLFxuICAgICdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6ICdpc09wZW4oKScsXG4gIH0sXG4gIGV4cG9ydEFzOiAnc3BQb3BvdmVyVHJpZ2dlcicsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgUG9wb3ZlclRyaWdnZXIge1xuICBASW5wdXQoJ3NwUG9wb3ZlclBsYWNlbWVudCcpXG4gIHB1YmxpYyBwbGFjZW1lbnQ6IFBsYWNlbWVudCA9ICdib3R0b20nO1xuXG4gIEBJbnB1dCgnc3BQb3BvdmVyVHJpZ2dlckZvcicpXG4gIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBub3QgYmxvY2sgaW50ZXJhY3Rpb24gd2l0aCBiYWNrZ3JvdW5kLlxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJOb25Nb2RhbCcpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG5vbk1vZGFsOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgYmUgb3BlbmVkIG9uIHByZXNzIHN0YXJ0LlxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJUcmlnZ2VyT3Blbk9uUHJlc3NTdGFydCcpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG9wZW5PblByZXNzU3RhcnQ6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSBjbG9zZWQgd2hlbiB0aGUgY29udGFpbmVyIGlzIHNjcm9sbGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJUcmlnZ2VyQ2xvc2VPblNjcm9sbCcpXG4gIEBDb2VyY2VCb29sZWFuXG4gIGNsb3NlT25TY3JvbGw6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byBkaXNhYmxlIHRvZ2dsaW5nIHBvcG92ZXIgb24gY2xpY2tzLiBVc2VmdWwgaWYgYHNwUG9wb3ZlclRyaWdnZXJgXG4gICAqIGlzIGFwcGxpZWQgb24gYW4gZWxlbWVudCB3aGljaCBkb2Vzbid0IHN1cHBvcnQgYGRpc2FibGVkYCBwcm9wZXJ0eS5cbiAgICovXG4gIEBJbnB1dCgnc3BQb3BvdmVyVHJpZ2dlckRpc2FibGVkJylcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgcG9wb3ZlciBzaG91bGQgYmUgcHVzaGVkIGFyb3VuZCB3aGVuZXZlciBpdCBkb2Vzbid0IGZpdCB0aGUgdmlld3BvcnRcbiAgICogd2l0aCB0aGUgcHJvdmlkZWQgcGxhY2VtZW50LlxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJEaXNhYmxlUHVzaEluc2lkZVZpZXdwb3J0JylcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGlzYWJsZVB1c2hJbnNpZGVWaWV3cG9ydDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhlIGF0dGFjaGVkIHBvcG92ZXIgaXMgcmVxdWVzdGVkIHRvIG9wZW4gKi9cbiAgQE91dHB1dCgnc3BQb3BvdmVyVHJpZ2dlck9wZW5lZCcpXG4gIHJlYWRvbmx5IG9wZW5lZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBhdHRhY2hlZCBwb3BvdmVyIGlzIHJlcXVlc3RlZCB0byBjbG9zZSAqL1xuICBAT3V0cHV0KCdzcFBvcG92ZXJUcmlnZ2VyQ2xvc2VkJylcbiAgcmVhZG9ubHkgY2xvc2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhpcyB0cmlnZ2VyIGlzIGRlc3Ryb3llZC4gKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3llZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLyoqIEEgcmVmZXJlbmNlIHRvIHRoZSBvdmVybGF5IHdoaWNoIG1hbmFnZXMgdGhlIHRyaWdnZXJlZCBtZW51ICovXG4gIHByb3RlY3RlZCBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBpc0JlaW5nUHJlc3NlZCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWNvbnRyb2xzJylcbiAgcHVibGljIGdldCBnZXRQb3BvdmVySWQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZj8uaG9zdEVsZW1lbnQucXVlcnlTZWxlY3RvcignW3JvbGU9XCJkaWFsb2dcIl0nKT8uaWQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGNka092ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuXG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKiogVG9nZ2xlIHRoZSBhdHRhY2hlZCBwb3BvdmVyLiAqL1xuICB0b2dnbGUoKSB7XG4gICAgdGhpcy5pc09wZW4oKSA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuICB9XG5cbiAgLyoqIE9wZW4gdGhlIGF0dGFjaGVkIHBvcG92ZXIuICovXG4gIG9wZW4oKSB7XG4gICAgaWYgKCF0aGlzLmlzT3BlbigpICYmIHRoaXMudGVtcGxhdGVSZWYgIT0gbnVsbCAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5vcGVuZWQubmV4dCgpO1xuICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5jZGtPdmVybGF5LmNyZWF0ZSh0aGlzLmdldE92ZXJsYXlDb25maWcoKSk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KFxuICAgICAgICAgIHRoaXMuZ2V0T3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3koKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2xvc2VkLm5leHQoKTtcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLm92ZXJsYXlSZWZcbiAgICAgICAgLm91dHNpZGVQb2ludGVyRXZlbnRzKClcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKG1lcmdlKHRoaXMuY2xvc2VkLCB0aGlzLmRlc3Ryb3llZCkpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIC8vIElmIHBvcG92ZXIgaXMgb3BlbmVkIG9uIHByZXNzIHN0YXJ0LCBhbiBvdXRzaWRlIHBvaW50ZXIgZXZlbnRcbiAgICAgICAgICAgIC8vIGlzIGVtaXR0ZWQgYXMgdGhlIG1vdXNlIGlzIGJlaW5nIHJlbGVhc2VkLCB3aGljaCB3b3VsZCBpbW1lZGlhdGVseVxuICAgICAgICAgICAgLy8gY2xvc2UgdGhlIHBvcG92ZXIuIFByb2JhYmx5IGEgYnVnIGluIEBhbmd1bGFyL2Nkay9vdmVybGF5LlxuICAgICAgICAgICAgISh0aGlzLm9wZW5PblByZXNzU3RhcnQgJiYgdGhpcy5pc0JlaW5nUHJlc3NlZCkgJiZcbiAgICAgICAgICAgICF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgRWxlbWVudClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0aGlzLmdldENvbnRlbnRQb3J0YWwoKSk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2UgdGhlIG9wZW5lZCBwb3BvdmVyLiAqL1xuICBjbG9zZSgpIHtcbiAgICBpZiAodGhpcy5pc09wZW4oKSkge1xuICAgICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgb3Blbi4gKi9cbiAgaXNPcGVuKCkge1xuICAgIHJldHVybiAhIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgaGFuZGxlTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5pc0JlaW5nUHJlc3NlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMub3Blbk9uUHJlc3NTdGFydCkge1xuICAgICAgaWYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIGZvY3VzIHRoZSB0cmlnZ2VyIGJlZm9yZSBvcGVuaW5nLiBPdGhlcndpc2UsIHRoZSBmb2N1cyByZXN0b3JhdGlvbiBsb2dpYyB3aWxsXG4gICAgICAgIC8vIGJlIG1lc3NlZCB1cCwgc2luY2UgdGhlIHdyb25nIGVsZW1lbnQgd291bGQgaGF2ZSB0aGUgZm9jdXMgd2hlbiB0aGUgcG9wb3ZlciBpcyBtb3VudGVkLlxuICAgICAgICBldmVudC5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgJ21vdXNldXAnLFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzQmVpbmdQcmVzc2VkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgb25jZTogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBoYW5kbGVDbGljaygpIHtcbiAgICBpZiAoIXRoaXMub3Blbk9uUHJlc3NTdGFydCkge1xuICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hpbGUgb25Gb2N1c291dCB0YWtlcyBjYXJlIG9mIGNsb3NpbmcgdGhlIHBvcG92ZXIgd2hlbiBmb2N1cyBnb2VzIG91dCwgaW4gdGhlIHJhcmUgY2FzZXNcbiAgICogdGhhdCB0aGVyZSBpcyBubyBtb3JlIGZvY3VzYWJsZSBlbGVtZW50IGJldHdlZW4gdGhlIHRyaWdnZXIgYW5kIHRoZSBwb3BvdmVyLCB0aGUgZm9jdXMgY2FuXG4gICAqIGdvIHRvIHRoZSBwb3BvdmVyIG9uIHByZXNzaW5nIGBUYWJgLiBCdXQgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGNsb3NlZCB3aGVuIHRhYmJpbmcgb24gdGhlXG4gICAqIHRyaWdnZXIuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnRhYicpXG4gIHByaXZhdGUgaGFuZGxlVGFiKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbiBzb21lIHVzZSBjYXNlcyAoZS5nLiBpbiBzZWFyY2hhYmxlIHNlbGVjdCkgcG9wb3ZlciB0cmlnZ2VyIGdyYWJzIHRoZSBmb2N1cywgcmlnaHQgYWZ0ZXJcbiAgICogdGhlIHBvcG92ZXIgaXMgb3BlbmVkLiBUaGF0IHJlcXVpcmVzIHBvcG92ZXIgdHJpZ2dlciB0byBkZXRlY3Qgd2hlbiBmb2N1cyBnb2VzIG91dCBvZiBpdFxuICAgKiBhbmQgY2xvc2UgdGhlIHBvcG92ZXIuXG4gICAqIE5vdGU6IHdlIGNhbid0IHVzZSBgYmx1cmAgZXZlbnQgc2luY2UgaXQgd29uJ3QgYnViYmxlIHVwLCBhbmQgdGhlIGZvY3VzIGNhbiBiZSBvbiBhbiBlbGVtZW50XG4gICAqIGluc2lkZSB0aGUgdHJpZ2dlciwgYnV0IG5vdCB0aGUgdHJpZ2dlciBpdHNlbGYuXG4gICAqXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25Gb2N1c291dChldmVudDogRm9jdXNFdmVudCkge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LnJlbGF0ZWRUYXJnZXQgPT09IG51bGwgJiZcbiAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnRhcmdldFxuICAgICkge1xuICAgICAgLy8gVGhpcyBoYXBwZW5zIG9uIHRhYiBzd2l0Y2gsIHdpdGhvdXQgZm9jdXMgYmVpbmcgYWN0dWFsbHkgbW92ZWQuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZvY3VzUmVjZWl2aW5nRWxlbWVudCA9XG4gICAgICBldmVudC5yZWxhdGVkVGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCA/IGV2ZW50LnJlbGF0ZWRUYXJnZXQgOiBudWxsO1xuICAgIGlmIChcbiAgICAgIC8vIGZvY3VzIGlzIGdvaW5nIG5vd2hlcmVcbiAgICAgICFmb2N1c1JlY2VpdmluZ0VsZW1lbnQgfHxcbiAgICAgIC8vIGZvY3VzIGlzIGdvaW5nIGFueXdoZXJlIG91dHNpZGUgcG9wb3ZlciBhbmQgcG9wb3ZlciB0cmlnZ2VyXG4gICAgICAhKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmNvbnRhaW5zKGZvY3VzUmVjZWl2aW5nRWxlbWVudCkgfHxcbiAgICAgICAgLy8gVGhpcyBpcyB0byBub3QgaGF2ZSB0aGUgcG9wb3ZlciBjbG9zZWQgYXMgc29vbiBhcyBtb3VzZSBpcyBkb3duIG9uIHNvbWV0aGluZyBpbnNpZGUgdGhlXG4gICAgICAgIC8vIHBvcG92ZXIsIGlmIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgb24gdGhlIHRyaWdnZXJcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudD8uY29udGFpbnMoZm9jdXNSZWNlaXZpbmdFbGVtZW50KVxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoXG4gICAgICBldmVudC50YXJnZXQgPT09IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAhKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpICYmXG4gICAgICAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKVxuICAgICkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95T3ZlcmxheSgpIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKiogR2V0IHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCB1c2VkIHRvIGNyZWF0ZSB0aGUgb3ZlcmxheS4gKi9cbiAgcHJpdmF0ZSBnZXRPdmVybGF5Q29uZmlnKCkge1xuICAgIHJldHVybiBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5ub25Nb2RhbFxuICAgICAgICA/IHRoaXMuY2xvc2VPblNjcm9sbFxuICAgICAgICAgID8gdGhpcy5jZGtPdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKVxuICAgICAgICAgIDogdGhpcy5jZGtPdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG4gICAgICAgIDogdGhpcy5jZGtPdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSwgLy8gdG8gbWF0Y2ggd2hhdCB3ZSBoYXZlIGluIHJlYWN0XG5cbiAgICAgIC8vIEluY2x1ZGluZyBhIHRyYW5zcGFyZW50IGJhY2tkcm9wIGFjY29yZGluZyB0byB0aGUgbGF0ZXN0IGRlY2lzaW9uIG9mIG1ha2luZyBwb3BvdmVycyBtb2RhbC5cbiAgICAgIGhhc0JhY2tkcm9wOiAhdGhpcy5ub25Nb2RhbCxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXRDb250ZW50UG9ydGFsKCk6IFRlbXBsYXRlUG9ydGFsIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMudGVtcGxhdGVSZWYpIHtcbiAgICAgIHJldHVybiBuZXcgVGVtcGxhdGVQb3J0YWwoXG4gICAgICAgIHRoaXMudGVtcGxhdGVSZWYsXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgbnVsbCxcbiAgICAgICAgSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFBPUE9WRVJfVFJJR0dFUiwgdXNlVmFsdWU6IHRoaXMgfV0sXG4gICAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgY29uc3QgcGxhY2VtZW50ID0gdGhpcy5wbGFjZW1lbnQgfHwgJ2JvdHRvbSc7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY2RrT3ZlcmxheVxuICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnRSZWYpXG4gICAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oKVxuICAgICAgICAud2l0aEdyb3dBZnRlck9wZW4oKVxuICAgICAgICAvKipcbiAgICAgICAgICogRGlzYWJsaW5nIHB1c2hpbmcsIHRvIGZpeCBhbiBpc3N1ZSBpbiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kgd2hlcmUgdGhlXG4gICAgICAgICAqIG92ZXJsYXkncyBib3R0b20gZ3Jvd3MgcGFzdCB0aGUgdG9wIG9mIHRoZSB0cmlnZ2VyIGVsZW1lbnQgKGFrYSBvcmlnaW4pLlxuICAgICAgICAgKiBJLmUuLCB3aGVuIHRoZSBvdmVybGF5IGlzIHN1cHBvc2VkIHRvIGJlIHBsYWNlZCBhYm92ZSB0aGUgdHJpZ2dlciBlbGVtZW50LCBpdCBjYW5cbiAgICAgICAgICogZ3JvdyBpbiBoZWlnaHQgYW5kIGNvdmVyIHRoZSB0cmlnZ2VyIGVsZW1lbnQuIFRoaXMgaXMgbW9yZSBvZiBhbiBpc3N1ZSB3aGVuIHRoZSB0cmlnZ2VyXG4gICAgICAgICAqIGVsZW1lbnQgcmVtYWlucyBpbnRlcmFjdGl2ZSBhZnRlciB0aGUgb3ZlcmxheSBpcyBvcGVuZWQsIHN1Y2ggYXMgaW4gc2VhcmNoYWJsZSBzZWxlY3QuXG4gICAgICAgICAqIE5vdGUgdGhhdCB0aGlzIGlzIG5vdCB0aGUgY2FzZSB3aGVuIHRoZSBvdmVybGF5IGlzIHBsYWNlZCBhYm92ZSB0aGUgdHJpZ2dlciBlbGVtZW50LlxuICAgICAgICAgKiBJbiB0aGF0IGNhc2UgdGhlIG92ZXJsYXkgd2lsbCBub3QgZWF0IHVwIGFsbCBhdmFpbGFibGUgdmlld3BvcnQgaGVpZ2h0LCBhbmQgaXMgc2l6ZWQgaW5cbiAgICAgICAgICogYSB3YXkgdGhhdCByZXNwZWN0cyB0aGUgcHJlZmVycmVkIHBsYWNlbWVudCBhYm92ZSB0aGUgdHJpZ2dlciBlbGVtZW50LlxuICAgICAgICAgKiBEaXNhYmxpbmcgcHVzaCBpcyBub3QgdGhlIGlkZWFsIHNvbHV0aW9uIGJ1dCBwcmV2ZW50cyB0aGUgaXNzdWUuXG4gICAgICAgICAqIHB1c2ggaXMgZGlzYWJsZWQgb25seSBmb3Igb3ZlcmxheXMgd2hlcmUgdGhlIGhvcml6b250YWwgYWxpZ25tZW50IGlzIGFuY2hvcmVkIHRvIGxlZnRcbiAgICAgICAgICogb3IgcmlnaHQgb2YgdGhlIHRyaWdnZXIgZWxlbWVudCwgYmFzZWQgb24gdGhlIGZhaXIgYXNzdW1wdGlvbiB0aGF0IHRoZSBjb25uZWN0ZWRcbiAgICAgICAgICogZWxlbWVudCBpcyBpdHNlbGYgd2l0aGluIHRoZSB2aWV3cG9ydCwgYW5kIHdlIHdvbid0IG5lZWQgdG8gcHVzaCB0aGUgb3ZlcmxheSBob3Jpem9udGFsbHlcbiAgICAgICAgICogdG8gaGF2ZSBpdCB3aXRoaW4gdGhlIHZpZXdwb3J0LiBJdCBzaG91bGQgYWxzbyBiZSBvayBub3QgdG8gcHVzaCB2ZXJ0aWNhbGx5LCBzaW5jZSB3ZVxuICAgICAgICAgKiBhbGxvdyBmb3IgdmVydGljYWwgZmxpcHBpbmcgaWYgbmVlZGVkLlxuICAgICAgICAgKiovXG4gICAgICAgIC53aXRoUHVzaCghdGhpcy5kaXNhYmxlUHVzaEluc2lkZVZpZXdwb3J0KVxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAgdG9Db25uZWN0ZWRQb3NpdGlvbihwbGFjZW1lbnQpLFxuICAgICAgICAgIHRvQ29ubmVjdGVkUG9zaXRpb24oZmxpcChwbGFjZW1lbnQpKSxcbiAgICAgICAgXSlcbiAgICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbihwbGFjZW1lbnQuaW5jbHVkZXMoJ2VuZCcpID8gMCA6IDYpXG4gICAgKTtcbiAgfVxufVxuIl19
309
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvcG9wb3Zlci9zcmMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLGFBQWEsR0FFZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBU3RFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDL0Msb0JBQW9CLENBQ3JCLENBQUM7QUFFRiw2RUFBNkU7QUFhN0UsTUFBTSxPQUFPLHVCQUF1QjtJQTZEbEMsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxZQUNVLGlCQUFvQyxFQUNwQyxPQUF3QixFQUN4QixnQkFBa0MsRUFDbkMsVUFBbUMsRUFDbEMsUUFBa0I7UUFKbEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4QixxQkFB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Z0I7c0JBRmYsS0FBSzt1QkFBQyxrQ0FBa0M7Z0JBVXpDLGFBQWE7c0JBRlosS0FBSzt1QkFBQywrQkFBK0I7Z0JBVXRDLFFBQVE7c0JBRlAsS0FBSzt1QkFBQywwQkFBMEI7Z0JBVWpDLHlCQUF5QjtzQkFGeEIsS0FBSzt1QkFBQyxvQ0FBb0M7Z0JBTWxDLE1BQU07c0JBRGQsTUFBTTt1QkFBQyx3QkFBd0I7Z0JBS3ZCLE1BQU07c0JBRGQsTUFBTTt1QkFBQyx3QkFBd0I7Z0JBWXJCLFlBQVk7c0JBRHRCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQXdFekIsZUFBZTtzQkFEdEIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBd0I3QixXQUFXO3NCQURsQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFjekIsU0FBUztzQkFEaEIsWUFBWTt1QkFBQyxhQUFhO2dCQWNuQixVQUFVO3NCQURqQixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkEyQjVCLGFBQWE7c0JBRHBCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICBPdmVybGF5Q29uZmlnLFxuICBPdmVybGF5UmVmLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBmbGlwLCBQbGFjZW1lbnQsIHRvQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb21tb24vcGxhY2VtZW50JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb2VyY2VCb29sZWFuIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvZXJjZS1ib29sZWFuLmRlY29yYXRvcic7XG5pbXBvcnQgeyBTYXBwaGlyZU92ZXJsYXkgfSBmcm9tICcuLi8uLi90aGVtZS9zcmMvc2FwcGhpcmUtb3ZlcmxheS5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBQb3BvdmVyVHJpZ2dlciB7XG4gIHRvZ2dsZSgpOiB2b2lkO1xuICBvcGVuKCk6IHZvaWQ7XG4gIGNsb3NlKCk6IHZvaWQ7XG4gIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xufVxuZXhwb3J0IGNvbnN0IFBPUE9WRVJfVFJJR0dFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQb3BvdmVyVHJpZ2dlcj4oXG4gICdzcC1wb3BvdmVyLXRyaWdnZXInXG4pO1xuXG4vLyBUT0RPKFVDLTI3MjgpOiBpbXByb3ZlIGV2ZW50IGhhbmRsaW5nIHdoZW4gcmV1c2FibGUgcHJlc3MgdXRpbGl0eSBpcyBhZGRlZFxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc3BQb3BvdmVyVHJpZ2dlckZvcl0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IFBPUE9WRVJfVFJJR0dFUiwgdXNlRXhpc3Rpbmc6IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmlzLWFjdGl2ZV0nOiAnaXNPcGVuKCknLFxuICAgICdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6ICdpc09wZW4oKScsXG4gIH0sXG4gIGV4cG9ydEFzOiAnc3BQb3BvdmVyVHJpZ2dlcicsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgUG9wb3ZlclRyaWdnZXIge1xuICBASW5wdXQoJ3NwUG9wb3ZlclBsYWNlbWVudCcpXG4gIHB1YmxpYyBwbGFjZW1lbnQ6IFBsYWNlbWVudCA9ICdib3R0b20nO1xuXG4gIEBJbnB1dCgnc3BQb3BvdmVyVHJpZ2dlckZvcicpXG4gIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBub3QgYmxvY2sgaW50ZXJhY3Rpb24gd2l0aCBiYWNrZ3JvdW5kLlxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJOb25Nb2RhbCcpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG5vbk1vZGFsOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgYmUgb3BlbmVkIG9uIHByZXNzIHN0YXJ0LlxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJUcmlnZ2VyT3Blbk9uUHJlc3NTdGFydCcpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG9wZW5PblByZXNzU3RhcnQ6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSBjbG9zZWQgd2hlbiB0aGUgY29udGFpbmVyIGlzIHNjcm9sbGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJUcmlnZ2VyQ2xvc2VPblNjcm9sbCcpXG4gIEBDb2VyY2VCb29sZWFuXG4gIGNsb3NlT25TY3JvbGw6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byBkaXNhYmxlIHRvZ2dsaW5nIHBvcG92ZXIgb24gY2xpY2tzLiBVc2VmdWwgaWYgYHNwUG9wb3ZlclRyaWdnZXJgXG4gICAqIGlzIGFwcGxpZWQgb24gYW4gZWxlbWVudCB3aGljaCBkb2Vzbid0IHN1cHBvcnQgYGRpc2FibGVkYCBwcm9wZXJ0eS5cbiAgICovXG4gIEBJbnB1dCgnc3BQb3BvdmVyVHJpZ2dlckRpc2FibGVkJylcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgcG9wb3ZlciBzaG91bGQgYmUgcHVzaGVkIGFyb3VuZCB3aGVuZXZlciBpdCBkb2Vzbid0IGZpdCB0aGUgdmlld3BvcnRcbiAgICogd2l0aCB0aGUgcHJvdmlkZWQgcGxhY2VtZW50LlxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJEaXNhYmxlUHVzaEluc2lkZVZpZXdwb3J0JylcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGlzYWJsZVB1c2hJbnNpZGVWaWV3cG9ydDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhlIGF0dGFjaGVkIHBvcG92ZXIgaXMgcmVxdWVzdGVkIHRvIG9wZW4gKi9cbiAgQE91dHB1dCgnc3BQb3BvdmVyVHJpZ2dlck9wZW5lZCcpXG4gIHJlYWRvbmx5IG9wZW5lZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBhdHRhY2hlZCBwb3BvdmVyIGlzIHJlcXVlc3RlZCB0byBjbG9zZSAqL1xuICBAT3V0cHV0KCdzcFBvcG92ZXJUcmlnZ2VyQ2xvc2VkJylcbiAgcmVhZG9ubHkgY2xvc2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhpcyB0cmlnZ2VyIGlzIGRlc3Ryb3llZC4gKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3llZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLyoqIEEgcmVmZXJlbmNlIHRvIHRoZSBvdmVybGF5IHdoaWNoIG1hbmFnZXMgdGhlIHRyaWdnZXJlZCBtZW51ICovXG4gIHByb3RlY3RlZCBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBpc0JlaW5nUHJlc3NlZCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWNvbnRyb2xzJylcbiAgcHVibGljIGdldCBnZXRQb3BvdmVySWQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZj8uaG9zdEVsZW1lbnQucXVlcnlTZWxlY3RvcignW3JvbGU9XCJkaWFsb2dcIl0nKT8uaWQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIG92ZXJsYXk6IFNhcHBoaXJlT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge31cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG5cbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKiBUb2dnbGUgdGhlIGF0dGFjaGVkIHBvcG92ZXIuICovXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzT3BlbigpID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XG4gIH1cblxuICAvKiogT3BlbiB0aGUgYXR0YWNoZWQgcG9wb3Zlci4gKi9cbiAgb3BlbigpIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuKCkgJiYgdGhpcy50ZW1wbGF0ZVJlZiAhPSBudWxsICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLm9wZW5lZC5uZXh0KCk7XG4gICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHRoaXMuZ2V0T3ZlcmxheUNvbmZpZygpKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koXG4gICAgICAgICAgdGhpcy5nZXRPdmVybGF5UG9zaXRpb25TdHJhdGVneSgpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2htZW50cygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jbG9zZWQubmV4dCgpO1xuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgICAub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwobWVyZ2UodGhpcy5jbG9zZWQsIHRoaXMuZGVzdHJveWVkKSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgLy8gSWYgcG9wb3ZlciBpcyBvcGVuZWQgb24gcHJlc3Mgc3RhcnQsIGFuIG91dHNpZGUgcG9pbnRlciBldmVudFxuICAgICAgICAgICAgLy8gaXMgZW1pdHRlZCBhcyB0aGUgbW91c2UgaXMgYmVpbmcgcmVsZWFzZWQsIHdoaWNoIHdvdWxkIGltbWVkaWF0ZWx5XG4gICAgICAgICAgICAvLyBjbG9zZSB0aGUgcG9wb3Zlci4gUHJvYmFibHkgYSBidWcgaW4gQGFuZ3VsYXIvY2RrL292ZXJsYXkuXG4gICAgICAgICAgICAhKHRoaXMub3Blbk9uUHJlc3NTdGFydCAmJiB0aGlzLmlzQmVpbmdQcmVzc2VkKSAmJlxuICAgICAgICAgICAgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuZ2V0Q29udGVudFBvcnRhbCgpKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZSB0aGUgb3BlbmVkIHBvcG92ZXIuICovXG4gIGNsb3NlKCkge1xuICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBpcyBvcGVuLiAqL1xuICBpc09wZW4oKSB7XG4gICAgcmV0dXJuICEhdGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBoYW5kbGVNb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmlzQmVpbmdQcmVzc2VkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5vcGVuT25QcmVzc1N0YXJ0KSB7XG4gICAgICBpZiAoZXZlbnQuY3VycmVudFRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gZm9jdXMgdGhlIHRyaWdnZXIgYmVmb3JlIG9wZW5pbmcuIE90aGVyd2lzZSwgdGhlIGZvY3VzIHJlc3RvcmF0aW9uIGxvZ2ljIHdpbGxcbiAgICAgICAgLy8gYmUgbWVzc2VkIHVwLCBzaW5jZSB0aGUgd3JvbmcgZWxlbWVudCB3b3VsZCBoYXZlIHRoZSBmb2N1cyB3aGVuIHRoZSBwb3BvdmVyIGlzIG1vdW50ZWQuXG4gICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuZm9jdXMoKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAnbW91c2V1cCcsXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaXNCZWluZ1ByZXNzZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgeyBvbmNlOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZUNsaWNrKCkge1xuICAgIGlmICghdGhpcy5vcGVuT25QcmVzc1N0YXJ0KSB7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGlsZSBvbkZvY3Vzb3V0IHRha2VzIGNhcmUgb2YgY2xvc2luZyB0aGUgcG9wb3ZlciB3aGVuIGZvY3VzIGdvZXMgb3V0LCBpbiB0aGUgcmFyZSBjYXNlc1xuICAgKiB0aGF0IHRoZXJlIGlzIG5vIG1vcmUgZm9jdXNhYmxlIGVsZW1lbnQgYmV0d2VlbiB0aGUgdHJpZ2dlciBhbmQgdGhlIHBvcG92ZXIsIHRoZSBmb2N1cyBjYW5cbiAgICogZ28gdG8gdGhlIHBvcG92ZXIgb24gcHJlc3NpbmcgYFRhYmAuIEJ1dCB0aGUgcG9wb3ZlciBzaG91bGQgYmUgY2xvc2VkIHdoZW4gdGFiYmluZyBvbiB0aGVcbiAgICogdHJpZ2dlci5cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24udGFiJylcbiAgcHJpdmF0ZSBoYW5kbGVUYWIoKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluIHNvbWUgdXNlIGNhc2VzIChlLmcuIGluIHNlYXJjaGFibGUgc2VsZWN0KSBwb3BvdmVyIHRyaWdnZXIgZ3JhYnMgdGhlIGZvY3VzLCByaWdodCBhZnRlclxuICAgKiB0aGUgcG9wb3ZlciBpcyBvcGVuZWQuIFRoYXQgcmVxdWlyZXMgcG9wb3ZlciB0cmlnZ2VyIHRvIGRldGVjdCB3aGVuIGZvY3VzIGdvZXMgb3V0IG9mIGl0XG4gICAqIGFuZCBjbG9zZSB0aGUgcG9wb3Zlci5cbiAgICogTm90ZTogd2UgY2FuJ3QgdXNlIGBibHVyYCBldmVudCBzaW5jZSBpdCB3b24ndCBidWJibGUgdXAsIGFuZCB0aGUgZm9jdXMgY2FuIGJlIG9uIGFuIGVsZW1lbnRcbiAgICogaW5zaWRlIHRoZSB0cmlnZ2VyLCBidXQgbm90IHRoZSB0cmlnZ2VyIGl0c2VsZi5cbiAgICpcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBvbkZvY3Vzb3V0KGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgaWYgKFxuICAgICAgZXZlbnQucmVsYXRlZFRhcmdldCA9PT0gbnVsbCAmJlxuICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZXZlbnQudGFyZ2V0XG4gICAgKSB7XG4gICAgICAvLyBUaGlzIGhhcHBlbnMgb24gdGFiIHN3aXRjaCwgd2l0aG91dCBmb2N1cyBiZWluZyBhY3R1YWxseSBtb3ZlZC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZm9jdXNSZWNlaXZpbmdFbGVtZW50ID1cbiAgICAgIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50ID8gZXZlbnQucmVsYXRlZFRhcmdldCA6IG51bGw7XG4gICAgaWYgKFxuICAgICAgLy8gZm9jdXMgaXMgZ29pbmcgbm93aGVyZVxuICAgICAgIWZvY3VzUmVjZWl2aW5nRWxlbWVudCB8fFxuICAgICAgLy8gZm9jdXMgaXMgZ29pbmcgYW55d2hlcmUgb3V0c2lkZSBwb3BvdmVyIGFuZCBwb3BvdmVyIHRyaWdnZXJcbiAgICAgICEoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8uY29udGFpbnMoZm9jdXNSZWNlaXZpbmdFbGVtZW50KSB8fFxuICAgICAgICAvLyBUaGlzIGlzIHRvIG5vdCBoYXZlIHRoZSBwb3BvdmVyIGNsb3NlZCBhcyBzb29uIGFzIG1vdXNlIGlzIGRvd24gb24gc29tZXRoaW5nIGluc2lkZSB0aGVcbiAgICAgICAgLy8gcG9wb3ZlciwgaWYgdGhlIGZvY3VzIGlzIGN1cnJlbnRseSBvbiB0aGUgdHJpZ2dlclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50Py5jb250YWlucyhmb2N1c1JlY2VpdmluZ0VsZW1lbnQpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LnRhcmdldCA9PT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgJiZcbiAgICAgICEodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCkgJiZcbiAgICAgIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpXG4gICAgKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCkge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBHZXQgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHVzZWQgdG8gY3JlYXRlIHRoZSBvdmVybGF5LiAqL1xuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoKSB7XG4gICAgcmV0dXJuIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm5vbk1vZGFsXG4gICAgICAgID8gdGhpcy5jbG9zZU9uU2Nyb2xsXG4gICAgICAgICAgPyB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpXG4gICAgICAgICAgOiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcbiAgICAgICAgOiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLCAvLyB0byBtYXRjaCB3aGF0IHdlIGhhdmUgaW4gcmVhY3RcblxuICAgICAgLy8gSW5jbHVkaW5nIGEgdHJhbnNwYXJlbnQgYmFja2Ryb3AgYWNjb3JkaW5nIHRvIHRoZSBsYXRlc3QgZGVjaXNpb24gb2YgbWFraW5nIHBvcG92ZXJzIG1vZGFsLlxuICAgICAgaGFzQmFja2Ryb3A6ICF0aGlzLm5vbk1vZGFsLFxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIGdldENvbnRlbnRQb3J0YWwoKTogVGVtcGxhdGVQb3J0YWwgfCBudWxsIHtcbiAgICBpZiAodGhpcy50ZW1wbGF0ZVJlZikge1xuICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZVBvcnRhbChcbiAgICAgICAgdGhpcy50ZW1wbGF0ZVJlZixcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBudWxsLFxuICAgICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUE9QT1ZFUl9UUklHR0VSLCB1c2VWYWx1ZTogdGhpcyB9XSxcbiAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3koKTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICBjb25zdCBwbGFjZW1lbnQgPSB0aGlzLnBsYWNlbWVudCB8fCAnYm90dG9tJztcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5vdmVybGF5XG4gICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbWVudFJlZilcbiAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpXG4gICAgICAgIC53aXRoR3Jvd0FmdGVyT3BlbigpXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBEaXNhYmxpbmcgcHVzaGluZywgdG8gZml4IGFuIGlzc3VlIGluIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB3aGVyZSB0aGVcbiAgICAgICAgICogb3ZlcmxheSdzIGJvdHRvbSBncm93cyBwYXN0IHRoZSB0b3Agb2YgdGhlIHRyaWdnZXIgZWxlbWVudCAoYWthIG9yaWdpbikuXG4gICAgICAgICAqIEkuZS4sIHdoZW4gdGhlIG92ZXJsYXkgaXMgc3VwcG9zZWQgdG8gYmUgcGxhY2VkIGFib3ZlIHRoZSB0cmlnZ2VyIGVsZW1lbnQsIGl0IGNhblxuICAgICAgICAgKiBncm93IGluIGhlaWdodCBhbmQgY292ZXIgdGhlIHRyaWdnZXIgZWxlbWVudC4gVGhpcyBpcyBtb3JlIG9mIGFuIGlzc3VlIHdoZW4gdGhlIHRyaWdnZXJcbiAgICAgICAgICogZWxlbWVudCByZW1haW5zIGludGVyYWN0aXZlIGFmdGVyIHRoZSBvdmVybGF5IGlzIG9wZW5lZCwgc3VjaCBhcyBpbiBzZWFyY2hhYmxlIHNlbGVjdC5cbiAgICAgICAgICogTm90ZSB0aGF0IHRoaXMgaXMgbm90IHRoZSBjYXNlIHdoZW4gdGhlIG92ZXJsYXkgaXMgcGxhY2VkIGFib3ZlIHRoZSB0cmlnZ2VyIGVsZW1lbnQuXG4gICAgICAgICAqIEluIHRoYXQgY2FzZSB0aGUgb3ZlcmxheSB3aWxsIG5vdCBlYXQgdXAgYWxsIGF2YWlsYWJsZSB2aWV3cG9ydCBoZWlnaHQsIGFuZCBpcyBzaXplZCBpblxuICAgICAgICAgKiBhIHdheSB0aGF0IHJlc3BlY3RzIHRoZSBwcmVmZXJyZWQgcGxhY2VtZW50IGFib3ZlIHRoZSB0cmlnZ2VyIGVsZW1lbnQuXG4gICAgICAgICAqIERpc2FibGluZyBwdXNoIGlzIG5vdCB0aGUgaWRlYWwgc29sdXRpb24gYnV0IHByZXZlbnRzIHRoZSBpc3N1ZS5cbiAgICAgICAgICogcHVzaCBpcyBkaXNhYmxlZCBvbmx5IGZvciBvdmVybGF5cyB3aGVyZSB0aGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgaXMgYW5jaG9yZWQgdG8gbGVmdFxuICAgICAgICAgKiBvciByaWdodCBvZiB0aGUgdHJpZ2dlciBlbGVtZW50LCBiYXNlZCBvbiB0aGUgZmFpciBhc3N1bXB0aW9uIHRoYXQgdGhlIGNvbm5lY3RlZFxuICAgICAgICAgKiBlbGVtZW50IGlzIGl0c2VsZiB3aXRoaW4gdGhlIHZpZXdwb3J0LCBhbmQgd2Ugd29uJ3QgbmVlZCB0byBwdXNoIHRoZSBvdmVybGF5IGhvcml6b250YWxseVxuICAgICAgICAgKiB0byBoYXZlIGl0IHdpdGhpbiB0aGUgdmlld3BvcnQuIEl0IHNob3VsZCBhbHNvIGJlIG9rIG5vdCB0byBwdXNoIHZlcnRpY2FsbHksIHNpbmNlIHdlXG4gICAgICAgICAqIGFsbG93IGZvciB2ZXJ0aWNhbCBmbGlwcGluZyBpZiBuZWVkZWQuXG4gICAgICAgICAqKi9cbiAgICAgICAgLndpdGhQdXNoKCF0aGlzLmRpc2FibGVQdXNoSW5zaWRlVmlld3BvcnQpXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICB0b0Nvbm5lY3RlZFBvc2l0aW9uKHBsYWNlbWVudCksXG4gICAgICAgICAgdG9Db25uZWN0ZWRQb3NpdGlvbihmbGlwKHBsYWNlbWVudCkpLFxuICAgICAgICBdKVxuICAgICAgICAud2l0aFZpZXdwb3J0TWFyZ2luKHBsYWNlbWVudC5pbmNsdWRlcygnZW5kJykgPyAwIDogNilcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -75,7 +75,7 @@ export class PopoverComponent {
75
75
  }
76
76
  }
77
77
  PopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PopoverComponent, deps: [{ token: POPOVER_TRIGGER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
78
- PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: PopoverComponent, selector: "sp-popover", inputs: { noPadding: "noPadding", noMaxWidth: "noMaxWidth", noAutoFocus: "noAutoFocus", trapFocus: "trapFocus" }, host: { attributes: { "role": "presentation" }, listeners: { "keydown.Escape": "handleEscape($event)" }, properties: { "class.sapphire-popover": "true", "class.sapphire-popover--padded": "!noPadding", "class.sapphire-popover--max-width": "!noMaxWidth" } }, queries: [{ propertyName: "title", first: true, predicate: PopoverTitleDirective, descendants: true }], viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.ThemeCheckDirective }, { directive: i2.UseComponentStylesOnHost }], ngImport: i0, template: "<!--\n NOTE: cdkTrapFocus is required for cdkTrapFocusAutoCapture to work, which would be similar to\n <FocusScope autoFocus /> in react-aria.\n\n It prevents focus from going out of popover by bringing it back to the first\n focusable element.\n\n We sometimes counter this in (cdkFocusChange) and sometimes don't, based on\n the \"trapFocus\" input.\n -->\n<div\n #contentWrapper\n [id]=\"ID\"\n role=\"dialog\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"!noAutoFocus\"\n class=\"dialog\"\n [attr.aria-labelledby]=\"title?.ID\"\n (cdkFocusChange)=\"_contentFocusChanged($event)\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sapphire-popover{box-sizing:border-box;background-color:var(--sapphire-semantic-color-background-popover-default);box-shadow:var(--sapphire-semantic-shadow-popover);animation:fade-in var(--sapphire-semantic-time-fade-quick) ease-in-out;border-radius:var(--sapphire-semantic-size-radius-popover);overflow:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-popover--padded{padding:var(--sapphire-semantic-size-spacing-30)}.sapphire-popover--max-width{max-width:var(--sapphire-global-size-generic-1120)}.dialog{outline:none}\n"], dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }] });
78
+ PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: PopoverComponent, selector: "sp-popover", inputs: { noPadding: "noPadding", noMaxWidth: "noMaxWidth", noAutoFocus: "noAutoFocus", trapFocus: "trapFocus" }, host: { attributes: { "role": "presentation" }, listeners: { "keydown.Escape": "handleEscape($event)" }, properties: { "class.sapphire-popover": "true", "class.sapphire-popover--padded": "!noPadding", "class.sapphire-popover--max-width": "!noMaxWidth" } }, queries: [{ propertyName: "title", first: true, predicate: PopoverTitleDirective, descendants: true }], viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.ThemeCheckDirective }, { directive: i2.UseComponentStylesOnHost }], ngImport: i0, template: "<!--\n NOTE: cdkTrapFocus is required for cdkTrapFocusAutoCapture to work, which would be similar to\n <FocusScope autoFocus /> in react-aria.\n\n It prevents focus from going out of popover by bringing it back to the first\n focusable element.\n\n We sometimes counter this in (cdkFocusChange) and sometimes don't, based on\n the \"trapFocus\" input.\n -->\n<div\n #contentWrapper\n [id]=\"ID\"\n role=\"dialog\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"!noAutoFocus\"\n class=\"dialog\"\n [attr.aria-labelledby]=\"title?.ID\"\n (cdkFocusChange)=\"_contentFocusChanged($event)\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sapphire-popover{box-sizing:border-box;background-color:var(--sapphire-semantic-color-background-popover-default);box-shadow:var(--sapphire-semantic-shadow-popover);animation:fade-in var(--sapphire-semantic-time-fade-quick) ease-in-out;border-radius:var(--sapphire-semantic-size-radius-popover);overflow:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-popover--padded{padding:var(--sapphire-semantic-size-spacing-container-horizontal-sm)}.sapphire-popover--max-width{max-width:var(--sapphire-global-size-generic-1120)}.dialog{outline:none}\n"], dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }] });
79
79
  __decorate([
80
80
  CoerceBoolean
81
81
  ], PopoverComponent.prototype, "noPadding", void 0);
@@ -95,7 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
95
95
  '[class.sapphire-popover--padded]': '!noPadding',
96
96
  '[class.sapphire-popover--max-width]': '!noMaxWidth',
97
97
  role: 'presentation',
98
- }, hostDirectives: [ThemeCheckDirective, UseComponentStylesOnHost], template: "<!--\n NOTE: cdkTrapFocus is required for cdkTrapFocusAutoCapture to work, which would be similar to\n <FocusScope autoFocus /> in react-aria.\n\n It prevents focus from going out of popover by bringing it back to the first\n focusable element.\n\n We sometimes counter this in (cdkFocusChange) and sometimes don't, based on\n the \"trapFocus\" input.\n -->\n<div\n #contentWrapper\n [id]=\"ID\"\n role=\"dialog\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"!noAutoFocus\"\n class=\"dialog\"\n [attr.aria-labelledby]=\"title?.ID\"\n (cdkFocusChange)=\"_contentFocusChanged($event)\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sapphire-popover{box-sizing:border-box;background-color:var(--sapphire-semantic-color-background-popover-default);box-shadow:var(--sapphire-semantic-shadow-popover);animation:fade-in var(--sapphire-semantic-time-fade-quick) ease-in-out;border-radius:var(--sapphire-semantic-size-radius-popover);overflow:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-popover--padded{padding:var(--sapphire-semantic-size-spacing-30)}.sapphire-popover--max-width{max-width:var(--sapphire-global-size-generic-1120)}.dialog{outline:none}\n"] }]
98
+ }, hostDirectives: [ThemeCheckDirective, UseComponentStylesOnHost], template: "<!--\n NOTE: cdkTrapFocus is required for cdkTrapFocusAutoCapture to work, which would be similar to\n <FocusScope autoFocus /> in react-aria.\n\n It prevents focus from going out of popover by bringing it back to the first\n focusable element.\n\n We sometimes counter this in (cdkFocusChange) and sometimes don't, based on\n the \"trapFocus\" input.\n -->\n<div\n #contentWrapper\n [id]=\"ID\"\n role=\"dialog\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"!noAutoFocus\"\n class=\"dialog\"\n [attr.aria-labelledby]=\"title?.ID\"\n (cdkFocusChange)=\"_contentFocusChanged($event)\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sapphire-popover{box-sizing:border-box;background-color:var(--sapphire-semantic-color-background-popover-default);box-shadow:var(--sapphire-semantic-shadow-popover);animation:fade-in var(--sapphire-semantic-time-fade-quick) ease-in-out;border-radius:var(--sapphire-semantic-size-radius-popover);overflow:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-popover--padded{padding:var(--sapphire-semantic-size-spacing-container-horizontal-sm)}.sapphire-popover--max-width{max-width:var(--sapphire-global-size-generic-1120)}.dialog{outline:none}\n"] }]
99
99
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
100
100
  type: Optional
101
101
  }, {
@@ -41,7 +41,7 @@ export class SegmentedTabComponent {
41
41
  }
42
42
  }
43
43
  SegmentedTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SegmentedTabComponent, deps: [{ token: forwardRef(() => SegmentedTabsComponent) }], target: i0.ɵɵFactoryTarget.Component });
44
- SegmentedTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: SegmentedTabComponent, selector: "sp-segmented-tab", inputs: { disabled: "disabled", label: "label" }, host: { properties: { "style.flex": "'1 1 auto'", "style.display": "'inline-flex'" } }, viewQueries: [{ propertyName: "_contentTemplate", first: true, predicate: TemplateRef, descendants: true }, { propertyName: "_button", first: true, predicate: ["button"], descendants: true }], ngImport: i0, template: "<button\n #button\n class=\"sapphire-segmented-control__button\"\n _spUseComponentStyles\n [class.sapphire-segmented-control__button--disabled]=\"disabled\"\n [class.sapphire-segmented-control__button--active]=\"isSelected()\"\n role=\"tab\"\n (click)=\"select()\"\n [id]=\"id\"\n [tabIndex]=\"getTabIndex()\"\n [attr.aria-disabled]=\"disabled\"\n>\n {{ label }}\n <ng-content select=\"sp-segmented-tab-label\"></ng-content>\n</button>\n<ng-template>\n <div\n class=\"sapphire-tab-panel\"\n role=\"tabpanel\"\n tabindex=\"0\"\n [id]=\"id + '-panel'\"\n [attr.aria-labelledby]=\"id\"\n >\n <ng-content select=\"sp-segmented-tab-content\"></ng-content>\n </div>\n</ng-template>\n", styles: [".sapphire-tabs-scroll-container{-ms-overflow-style:none;scrollbar-width:none;overflow-x:scroll;overflow-y:hidden;white-space:nowrap;position:relative;scroll-padding:0 calc(2 * var(--sapphire-global-size-generic-100) + 1px);min-width:0;flex:1;overscroll-behavior-x:contain}.sapphire-tabs-scroll-container::-webkit-scrollbar{display:none}.sapphire-tabs-overflow-arrows{display:flex;align-items:center;min-width:0;flex:1;position:relative}.sapphire-tabs-overflow-arrows--inline{display:inline-flex}.sapphire-tabs-overflow-arrows__arrow{position:absolute;z-index:10;pointer-events:none}.sapphire-tabs-overflow-arrows__arrow--left{left:0;padding-right:var(--sapphire-global-size-generic-100);background:linear-gradient(90deg,var(--sapphire-global-color-neutral-white) 0%,var(--sapphire-global-color-neutral-white) 40%,var(--sapphire-global-color-neutral-transparent) 100%)}.sapphire-tabs-overflow-arrows__arrow--right{right:0;padding-left:var(--sapphire-global-size-generic-100);background:linear-gradient(90deg,var(--sapphire-global-color-neutral-transparent) 0%,var(--sapphire-global-color-neutral-white) 60%,var(--sapphire-global-color-neutral-white) 100%)}.sapphire-tabs{display:inline-flex;box-sizing:border-box;height:var(--sapphire-semantic-size-height-control-lg);gap:var(--sapphire-semantic-size-spacing-40);overflow:hidden;position:relative;min-width:100%;flex:1;padding:0 var(--sapphire-semantic-size-focus-ring)}.sapphire-tabs:after{content:\"\";display:block;position:absolute;bottom:0;width:100%;height:var(--sapphire-semantic-size-border-md);background-color:var(--sapphire-semantic-color-border-separator-default);border-radius:var(--sapphire-semantic-size-border-md)}.sapphire-tabs--no-border:after{display:none}.sapphire-tabs__tab{display:flex;align-items:center;position:relative;font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-regular);font-size:var(--sapphire-semantic-size-font-control-md);text-decoration:none;background:none;color:var(--sapphire-semantic-color-content-default-primary);box-sizing:border-box;white-space:nowrap;border-width:0;padding:0;margin:var(--sapphire-semantic-size-focus-ring) 0 var(--sapphire-semantic-size-focus-ring) 0;cursor:pointer;outline:none;border-radius:var(--sapphire-semantic-size-radius-sm);z-index:1}.sapphire-tabs__tab:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,.sapphire-tabs__tab:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover{color:var(--sapphire-semantic-color-content-action-secondary-default)}.sapphire-tabs__tab.js-focus.is-focus,.sapphire-tabs__tab:not(.js-focus):focus-visible{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring)}.sapphire-tabs__tab:disabled,.sapphire-tabs__tab.is-disabled{cursor:not-allowed}.sapphire-tabs__tab:disabled .sapphire-tabs__label,.sapphire-tabs__tab.is-disabled .sapphire-tabs__label{opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-tabs__label{padding:0 1px}.sapphire-tabs__tab--active{color:var(--sapphire-semantic-color-content-action-secondary-default)}.sapphire-tabs__tab--active.js-focus:not(.is-focus):after,.sapphire-tabs__tab--active:not(.js-focus):not(:focus-visible):after{content:\"\";display:block;position:absolute;bottom:calc(-1 * var(--sapphire-semantic-size-focus-ring));width:100%;height:var(--sapphire-semantic-size-border-md);background-color:var(--sapphire-semantic-color-content-action-secondary-default);border-radius:var(--sapphire-semantic-size-border-md)}.sapphire-tabs--sm{height:var(--sapphire-semantic-size-height-control-md);gap:var(--sapphire-semantic-size-spacing-40)}.sapphire-tabs--sm .sapphire-tabs__tab{font-size:var(--sapphire-semantic-size-font-control-sm)}.sapphire-tabs--lg{height:var(--sapphire-semantic-size-height-control-xl);gap:var(--sapphire-semantic-size-spacing-50)}.sapphire-tabs--lg .sapphire-tabs__tab{font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-tab-panel{min-height:0;flex-grow:1}.sapphire-tab-panel.js-focus.is-focus,.sapphire-tab-panel:not(.js-focus):focus-visible{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring);outline-offset:var(--sapphire-semantic-size-focus-ring)}\n"], dependencies: [{ kind: "directive", type: i1.UseComponentStyles, selector: "[_spUseComponentStyles]" }] });
44
+ SegmentedTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: SegmentedTabComponent, selector: "sp-segmented-tab", inputs: { disabled: "disabled", label: "label" }, host: { properties: { "style.flex": "'1 1 auto'", "style.display": "'inline-flex'" } }, viewQueries: [{ propertyName: "_contentTemplate", first: true, predicate: TemplateRef, descendants: true }, { propertyName: "_button", first: true, predicate: ["button"], descendants: true }], ngImport: i0, template: "<button\n #button\n class=\"sapphire-segmented-control__button\"\n _spUseComponentStyles\n [class.sapphire-segmented-control__button--disabled]=\"disabled\"\n [class.sapphire-segmented-control__button--active]=\"isSelected()\"\n role=\"tab\"\n (click)=\"select()\"\n [id]=\"id\"\n [tabIndex]=\"getTabIndex()\"\n [attr.aria-disabled]=\"disabled\"\n>\n {{ label }}\n <ng-content select=\"sp-segmented-tab-label\"></ng-content>\n</button>\n<ng-template>\n <div\n class=\"sapphire-tab-panel\"\n role=\"tabpanel\"\n tabindex=\"0\"\n [id]=\"id + '-panel'\"\n [attr.aria-labelledby]=\"id\"\n >\n <ng-content select=\"sp-segmented-tab-content\"></ng-content>\n </div>\n</ng-template>\n", styles: [".sapphire-tabs-scroll-container{-ms-overflow-style:none;scrollbar-width:none;overflow-x:scroll;overflow-y:hidden;white-space:nowrap;position:relative;scroll-padding:0 calc(2 * var(--sapphire-global-size-generic-100) + 1px);min-width:0;flex:1;overscroll-behavior-x:contain}.sapphire-tabs-scroll-container::-webkit-scrollbar{display:none}.sapphire-tabs-overflow-arrows{display:flex;align-items:center;min-width:0;flex:1;position:relative}.sapphire-tabs-overflow-arrows--inline{display:inline-flex}.sapphire-tabs-overflow-arrows__arrow{position:absolute;z-index:10;pointer-events:none}.sapphire-tabs-overflow-arrows__arrow--left{left:0;padding-right:var(--sapphire-global-size-generic-100);background:linear-gradient(90deg,var(--sapphire-global-color-neutral-white) 0%,var(--sapphire-global-color-neutral-white) 40%,var(--sapphire-global-color-neutral-transparent) 100%)}.sapphire-tabs-overflow-arrows__arrow--right{right:0;padding-left:var(--sapphire-global-size-generic-100);background:linear-gradient(90deg,var(--sapphire-global-color-neutral-transparent) 0%,var(--sapphire-global-color-neutral-white) 60%,var(--sapphire-global-color-neutral-white) 100%)}.sapphire-tabs{display:inline-flex;box-sizing:border-box;height:var(--sapphire-semantic-size-height-control-lg);gap:var(--sapphire-semantic-size-spacing-40);overflow:hidden;position:relative;min-width:100%;flex:1;padding:0 var(--sapphire-semantic-size-focus-ring)}.sapphire-tabs--align-left{justify-content:start}.sapphire-tabs--align-center{justify-content:center}.sapphire-tabs--align-right{justify-content:end}.sapphire-tabs:after{content:\"\";display:block;position:absolute;bottom:0;width:100%;height:var(--sapphire-semantic-size-border-md);background-color:var(--sapphire-semantic-color-border-separator-default);border-radius:var(--sapphire-semantic-size-border-md)}.sapphire-tabs--no-border:after{display:none}.sapphire-tabs__tab{display:flex;align-items:center;position:relative;font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-regular);font-size:var(--sapphire-semantic-size-font-control-md);text-decoration:none;background:none;color:var(--sapphire-semantic-color-content-default-primary);box-sizing:border-box;white-space:nowrap;border-width:0;padding:0;margin:var(--sapphire-semantic-size-focus-ring) 0 var(--sapphire-semantic-size-focus-ring) 0;cursor:pointer;outline:none;border-radius:var(--sapphire-semantic-size-radius-sm);z-index:1}.sapphire-tabs__tab:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,.sapphire-tabs__tab:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover{color:var(--sapphire-semantic-color-content-action-secondary-default)}.sapphire-tabs__tab.js-focus.is-focus,.sapphire-tabs__tab:not(.js-focus):focus-visible{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring)}.sapphire-tabs__tab:disabled,.sapphire-tabs__tab.is-disabled{cursor:not-allowed}.sapphire-tabs__tab:disabled .sapphire-tabs__label,.sapphire-tabs__tab.is-disabled .sapphire-tabs__label{opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-tabs__label{padding:0 1px}.sapphire-tabs__tab--active{color:var(--sapphire-semantic-color-content-action-secondary-default)}.sapphire-tabs__tab--active.js-focus:not(.is-focus):after,.sapphire-tabs__tab--active:not(.js-focus):not(:focus-visible):after{content:\"\";display:block;position:absolute;bottom:calc(-1 * var(--sapphire-semantic-size-focus-ring));width:100%;height:var(--sapphire-semantic-size-border-md);background-color:var(--sapphire-semantic-color-content-action-secondary-default);border-radius:var(--sapphire-semantic-size-border-md)}.sapphire-tabs--sm{height:var(--sapphire-semantic-size-height-control-md);gap:var(--sapphire-semantic-size-spacing-40)}.sapphire-tabs--sm .sapphire-tabs__tab{font-size:var(--sapphire-semantic-size-font-control-sm)}.sapphire-tabs--lg{height:var(--sapphire-semantic-size-height-control-xl);gap:var(--sapphire-semantic-size-spacing-50)}.sapphire-tabs--lg .sapphire-tabs__tab{font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-tab-panel{min-height:0;flex-grow:1}.sapphire-tab-panel.js-focus.is-focus,.sapphire-tab-panel:not(.js-focus):focus-visible{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring);outline-offset:var(--sapphire-semantic-size-focus-ring)}\n"], dependencies: [{ kind: "directive", type: i1.UseComponentStyles, selector: "[_spUseComponentStyles]" }] });
45
45
  __decorate([
46
46
  AutoId()
47
47
  ], SegmentedTabComponent.prototype, "id", void 0);
@@ -51,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
51
51
  // Angular specific styles that are needed due to extra dom elements added by angular
52
52
  '[style.flex]': "'1 1 auto'",
53
53
  '[style.display]': "'inline-flex'",
54
- }, template: "<button\n #button\n class=\"sapphire-segmented-control__button\"\n _spUseComponentStyles\n [class.sapphire-segmented-control__button--disabled]=\"disabled\"\n [class.sapphire-segmented-control__button--active]=\"isSelected()\"\n role=\"tab\"\n (click)=\"select()\"\n [id]=\"id\"\n [tabIndex]=\"getTabIndex()\"\n [attr.aria-disabled]=\"disabled\"\n>\n {{ label }}\n <ng-content select=\"sp-segmented-tab-label\"></ng-content>\n</button>\n<ng-template>\n <div\n class=\"sapphire-tab-panel\"\n role=\"tabpanel\"\n tabindex=\"0\"\n [id]=\"id + '-panel'\"\n [attr.aria-labelledby]=\"id\"\n >\n <ng-content select=\"sp-segmented-tab-content\"></ng-content>\n </div>\n</ng-template>\n", styles: [".sapphire-tabs-scroll-container{-ms-overflow-style:none;scrollbar-width:none;overflow-x:scroll;overflow-y:hidden;white-space:nowrap;position:relative;scroll-padding:0 calc(2 * var(--sapphire-global-size-generic-100) + 1px);min-width:0;flex:1;overscroll-behavior-x:contain}.sapphire-tabs-scroll-container::-webkit-scrollbar{display:none}.sapphire-tabs-overflow-arrows{display:flex;align-items:center;min-width:0;flex:1;position:relative}.sapphire-tabs-overflow-arrows--inline{display:inline-flex}.sapphire-tabs-overflow-arrows__arrow{position:absolute;z-index:10;pointer-events:none}.sapphire-tabs-overflow-arrows__arrow--left{left:0;padding-right:var(--sapphire-global-size-generic-100);background:linear-gradient(90deg,var(--sapphire-global-color-neutral-white) 0%,var(--sapphire-global-color-neutral-white) 40%,var(--sapphire-global-color-neutral-transparent) 100%)}.sapphire-tabs-overflow-arrows__arrow--right{right:0;padding-left:var(--sapphire-global-size-generic-100);background:linear-gradient(90deg,var(--sapphire-global-color-neutral-transparent) 0%,var(--sapphire-global-color-neutral-white) 60%,var(--sapphire-global-color-neutral-white) 100%)}.sapphire-tabs{display:inline-flex;box-sizing:border-box;height:var(--sapphire-semantic-size-height-control-lg);gap:var(--sapphire-semantic-size-spacing-40);overflow:hidden;position:relative;min-width:100%;flex:1;padding:0 var(--sapphire-semantic-size-focus-ring)}.sapphire-tabs:after{content:\"\";display:block;position:absolute;bottom:0;width:100%;height:var(--sapphire-semantic-size-border-md);background-color:var(--sapphire-semantic-color-border-separator-default);border-radius:var(--sapphire-semantic-size-border-md)}.sapphire-tabs--no-border:after{display:none}.sapphire-tabs__tab{display:flex;align-items:center;position:relative;font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-regular);font-size:var(--sapphire-semantic-size-font-control-md);text-decoration:none;background:none;color:var(--sapphire-semantic-color-content-default-primary);box-sizing:border-box;white-space:nowrap;border-width:0;padding:0;margin:var(--sapphire-semantic-size-focus-ring) 0 var(--sapphire-semantic-size-focus-ring) 0;cursor:pointer;outline:none;border-radius:var(--sapphire-semantic-size-radius-sm);z-index:1}.sapphire-tabs__tab:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,.sapphire-tabs__tab:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover{color:var(--sapphire-semantic-color-content-action-secondary-default)}.sapphire-tabs__tab.js-focus.is-focus,.sapphire-tabs__tab:not(.js-focus):focus-visible{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring)}.sapphire-tabs__tab:disabled,.sapphire-tabs__tab.is-disabled{cursor:not-allowed}.sapphire-tabs__tab:disabled .sapphire-tabs__label,.sapphire-tabs__tab.is-disabled .sapphire-tabs__label{opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-tabs__label{padding:0 1px}.sapphire-tabs__tab--active{color:var(--sapphire-semantic-color-content-action-secondary-default)}.sapphire-tabs__tab--active.js-focus:not(.is-focus):after,.sapphire-tabs__tab--active:not(.js-focus):not(:focus-visible):after{content:\"\";display:block;position:absolute;bottom:calc(-1 * var(--sapphire-semantic-size-focus-ring));width:100%;height:var(--sapphire-semantic-size-border-md);background-color:var(--sapphire-semantic-color-content-action-secondary-default);border-radius:var(--sapphire-semantic-size-border-md)}.sapphire-tabs--sm{height:var(--sapphire-semantic-size-height-control-md);gap:var(--sapphire-semantic-size-spacing-40)}.sapphire-tabs--sm .sapphire-tabs__tab{font-size:var(--sapphire-semantic-size-font-control-sm)}.sapphire-tabs--lg{height:var(--sapphire-semantic-size-height-control-xl);gap:var(--sapphire-semantic-size-spacing-50)}.sapphire-tabs--lg .sapphire-tabs__tab{font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-tab-panel{min-height:0;flex-grow:1}.sapphire-tab-panel.js-focus.is-focus,.sapphire-tab-panel:not(.js-focus):focus-visible{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring);outline-offset:var(--sapphire-semantic-size-focus-ring)}\n"] }]
54
+ }, template: "<button\n #button\n class=\"sapphire-segmented-control__button\"\n _spUseComponentStyles\n [class.sapphire-segmented-control__button--disabled]=\"disabled\"\n [class.sapphire-segmented-control__button--active]=\"isSelected()\"\n role=\"tab\"\n (click)=\"select()\"\n [id]=\"id\"\n [tabIndex]=\"getTabIndex()\"\n [attr.aria-disabled]=\"disabled\"\n>\n {{ label }}\n <ng-content select=\"sp-segmented-tab-label\"></ng-content>\n</button>\n<ng-template>\n <div\n class=\"sapphire-tab-panel\"\n role=\"tabpanel\"\n tabindex=\"0\"\n [id]=\"id + '-panel'\"\n [attr.aria-labelledby]=\"id\"\n >\n <ng-content select=\"sp-segmented-tab-content\"></ng-content>\n </div>\n</ng-template>\n", styles: [".sapphire-tabs-scroll-container{-ms-overflow-style:none;scrollbar-width:none;overflow-x:scroll;overflow-y:hidden;white-space:nowrap;position:relative;scroll-padding:0 calc(2 * var(--sapphire-global-size-generic-100) + 1px);min-width:0;flex:1;overscroll-behavior-x:contain}.sapphire-tabs-scroll-container::-webkit-scrollbar{display:none}.sapphire-tabs-overflow-arrows{display:flex;align-items:center;min-width:0;flex:1;position:relative}.sapphire-tabs-overflow-arrows--inline{display:inline-flex}.sapphire-tabs-overflow-arrows__arrow{position:absolute;z-index:10;pointer-events:none}.sapphire-tabs-overflow-arrows__arrow--left{left:0;padding-right:var(--sapphire-global-size-generic-100);background:linear-gradient(90deg,var(--sapphire-global-color-neutral-white) 0%,var(--sapphire-global-color-neutral-white) 40%,var(--sapphire-global-color-neutral-transparent) 100%)}.sapphire-tabs-overflow-arrows__arrow--right{right:0;padding-left:var(--sapphire-global-size-generic-100);background:linear-gradient(90deg,var(--sapphire-global-color-neutral-transparent) 0%,var(--sapphire-global-color-neutral-white) 60%,var(--sapphire-global-color-neutral-white) 100%)}.sapphire-tabs{display:inline-flex;box-sizing:border-box;height:var(--sapphire-semantic-size-height-control-lg);gap:var(--sapphire-semantic-size-spacing-40);overflow:hidden;position:relative;min-width:100%;flex:1;padding:0 var(--sapphire-semantic-size-focus-ring)}.sapphire-tabs--align-left{justify-content:start}.sapphire-tabs--align-center{justify-content:center}.sapphire-tabs--align-right{justify-content:end}.sapphire-tabs:after{content:\"\";display:block;position:absolute;bottom:0;width:100%;height:var(--sapphire-semantic-size-border-md);background-color:var(--sapphire-semantic-color-border-separator-default);border-radius:var(--sapphire-semantic-size-border-md)}.sapphire-tabs--no-border:after{display:none}.sapphire-tabs__tab{display:flex;align-items:center;position:relative;font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-regular);font-size:var(--sapphire-semantic-size-font-control-md);text-decoration:none;background:none;color:var(--sapphire-semantic-color-content-default-primary);box-sizing:border-box;white-space:nowrap;border-width:0;padding:0;margin:var(--sapphire-semantic-size-focus-ring) 0 var(--sapphire-semantic-size-focus-ring) 0;cursor:pointer;outline:none;border-radius:var(--sapphire-semantic-size-radius-sm);z-index:1}.sapphire-tabs__tab:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,.sapphire-tabs__tab:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover{color:var(--sapphire-semantic-color-content-action-secondary-default)}.sapphire-tabs__tab.js-focus.is-focus,.sapphire-tabs__tab:not(.js-focus):focus-visible{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring)}.sapphire-tabs__tab:disabled,.sapphire-tabs__tab.is-disabled{cursor:not-allowed}.sapphire-tabs__tab:disabled .sapphire-tabs__label,.sapphire-tabs__tab.is-disabled .sapphire-tabs__label{opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-tabs__label{padding:0 1px}.sapphire-tabs__tab--active{color:var(--sapphire-semantic-color-content-action-secondary-default)}.sapphire-tabs__tab--active.js-focus:not(.is-focus):after,.sapphire-tabs__tab--active:not(.js-focus):not(:focus-visible):after{content:\"\";display:block;position:absolute;bottom:calc(-1 * var(--sapphire-semantic-size-focus-ring));width:100%;height:var(--sapphire-semantic-size-border-md);background-color:var(--sapphire-semantic-color-content-action-secondary-default);border-radius:var(--sapphire-semantic-size-border-md)}.sapphire-tabs--sm{height:var(--sapphire-semantic-size-height-control-md);gap:var(--sapphire-semantic-size-spacing-40)}.sapphire-tabs--sm .sapphire-tabs__tab{font-size:var(--sapphire-semantic-size-font-control-sm)}.sapphire-tabs--lg{height:var(--sapphire-semantic-size-height-control-xl);gap:var(--sapphire-semantic-size-spacing-50)}.sapphire-tabs--lg .sapphire-tabs__tab{font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-tab-panel{min-height:0;flex-grow:1}.sapphire-tab-panel.js-focus.is-focus,.sapphire-tab-panel:not(.js-focus):focus-visible{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring);outline-offset:var(--sapphire-semantic-size-focus-ring)}\n"] }]
55
55
  }], ctorParameters: function () { return [{ type: i2.SegmentedTabsComponent, decorators: [{
56
56
  type: Inject,
57
57
  args: [forwardRef(() => SegmentedTabsComponent)]
@@ -97,7 +97,7 @@ BasicSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
97
97
  useExisting: forwardRef(() => BasicSelectComponent),
98
98
  },
99
99
  ViewEncapsulationProvider,
100
- ], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }], exportAs: ["spBasicSelect"], usesInheritance: true, ngImport: i0, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n [size]=\"size\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-semantic-color-content-default-primary);width:var(--sapphire-semantic-size-width-control-default);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-input-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background-color:var(--sapphire-semantic-color-background-field-default);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-sm);gap:var(--sapphire-semantic-size-spacing-30)}.sapphire-select--md .sapphire-select__button{height:var(--sapphire-semantic-size-height-input-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-20)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-default);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-content-default-secondary)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-lg);height:var(--sapphire-semantic-size-icon-lg)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-content-default-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "component", type: i5.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "size", "id"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "component", type: i6.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i7.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled", "spPopoverDisablePushInsideViewport"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: i8.ButtonComponent, selector: "button[sp-button], a[sp-button]", inputs: ["variant", "size", "disabled", "iconAlign", "type"] }, { kind: "directive", type: i9.ButtonIconDirective, selector: "[spButtonIcon]" }, { kind: "component", type: i10.HiddenSelectComponent, selector: "sp-hidden-select" }] });
100
+ ], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }], exportAs: ["spBasicSelect"], usesInheritance: true, ngImport: i0, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n [size]=\"size\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-content-default-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-input-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background-color:var(--sapphire-semantic-color-background-field-default);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-sm);gap:var(--sapphire-semantic-size-spacing-30)}.sapphire-select--md .sapphire-select__button{height:var(--sapphire-semantic-size-height-input-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-20)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-default);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-content-default-secondary)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-lg);height:var(--sapphire-semantic-size-icon-lg)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-content-default-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "component", type: i5.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "size", "id"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "component", type: i6.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i7.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled", "spPopoverDisablePushInsideViewport"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: i8.ButtonComponent, selector: "button[sp-button], a[sp-button]", inputs: ["variant", "size", "disabled", "iconAlign", "type"] }, { kind: "directive", type: i9.ButtonIconDirective, selector: "[spButtonIcon]" }, { kind: "component", type: i10.HiddenSelectComponent, selector: "sp-hidden-select" }] });
101
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: BasicSelectComponent, decorators: [{
102
102
  type: Component,
103
103
  args: [{ selector: 'sp-basic-select', exportAs: 'spBasicSelect', providers: [
@@ -114,7 +114,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
114
114
  ], host: {
115
115
  '[attr.aria-label]': 'null',
116
116
  '[attr.aria-labelledby]': 'null',
117
- }, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n [size]=\"size\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-semantic-color-content-default-primary);width:var(--sapphire-semantic-size-width-control-default);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-input-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background-color:var(--sapphire-semantic-color-background-field-default);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-sm);gap:var(--sapphire-semantic-size-spacing-30)}.sapphire-select--md .sapphire-select__button{height:var(--sapphire-semantic-size-height-input-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-20)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-default);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-content-default-secondary)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-lg);height:var(--sapphire-semantic-size-icon-lg)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-content-default-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"] }]
117
+ }, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n [size]=\"size\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-content-default-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-input-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background-color:var(--sapphire-semantic-color-background-field-default);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-sm);gap:var(--sapphire-semantic-size-spacing-30)}.sapphire-select--md .sapphire-select__button{height:var(--sapphire-semantic-size-height-input-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-20)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-default);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-content-default-secondary)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-lg);height:var(--sapphire-semantic-size-icon-lg)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-content-default-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"] }]
118
118
  }], ctorParameters: function () { return [{ type: i1.SelectValueHolder }, { type: i2.FocusMonitor }]; }, propDecorators: { size: [{
119
119
  type: Input
120
120
  }], variant: [{