@bcgov/nr-ngx-component-lib 0.0.60 → 0.0.61

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.
@@ -8,7 +8,7 @@ export declare class ResourceScheduleRowHeadingDirective {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<ResourceScheduleRowHeadingDirective, never>;
9
9
  static ɵdir: i0.ɵɵDirectiveDeclaration<ResourceScheduleRowHeadingDirective, "[nrclResourceScheduleRowHeading]", never, {}, {}, never, never, false, never>;
10
10
  }
11
- export type ResourceScheduleItemTypes = 'rostered' | 'out-of-service' | 'available-duty-day' | 'available-standby-day' | 'available-off-day' | 'available-regular-day' | 'assigned-duty-day' | 'assigned-standby-day' | 'assigned-off-day' | 'assigned-regular-day';
11
+ export type ResourceScheduleItemTypes = 'empty' | 'rostered' | 'out-of-service' | 'available-duty-day' | 'available-standby-day' | 'available-off-day' | 'available-regular-day' | 'assigned-duty-day' | 'assigned-standby-day' | 'assigned-off-day' | 'assigned-regular-day';
12
12
  export type ResourceScheduleRowItem = ScheduleRowItem & {
13
13
  name: ResourceScheduleItemTypes;
14
14
  allocationType?: string;
@@ -102,7 +102,7 @@ export class ButtonComponent extends ConfigurationSubscriberBase {
102
102
  this.useContent = !this.hasLabel && !this.hasIconLeft && !this.hasIconRight && !this.hasIconCompact;
103
103
  }
104
104
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ButtonComponent, selector: "nrcl-button", inputs: { label: "label", icon: "icon", iconRight: "iconRight", iconCompact: "iconCompact", tooltip: "tooltip", compact: "compact", small: "small", primary: ["primary", "primary", booleanAttribute], secondary: ["secondary", "secondary", booleanAttribute], tertiary: ["tertiary", "tertiary", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], anchor: "anchor" }, outputs: { click: "click" }, host: { properties: { "class.disabled": "disabled", "class.primary": "isPrimary", "class.secondary": "isSecondary", "class.tertiary": "isTertiary", "class.anchor": "isAnchor", "class.normal": "!isCompact && !isSmall", "class.compact": "isCompact", "class.small": "isSmall && !isCompact", "class.label": "hasLabel", "class.icon-left": "hasIconLeft", "class.icon-right": "hasIconRight", "class.icon-compact": "hasIconCompact", "class.icon-small": "isIconSmall" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ( !isAnchor ) {\n <button\n matRipple\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( useContent ) {\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n }\n @else {\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n }\n </button>\n}\n@else {\n <a \n [attr.href]=\"href\" \n [attr.target]=\"href && target\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n </a>\n}", styles: ["::ng-deep :root{--nrcl-button-normal-height: 36px;--nrcl-button-normal-padding-horizontal: 16px;--nrcl-button-normal-icon-padding-horizontal: 36px;--nrcl-button-normal-font-size: var( --nrcl-font-size );--nrcl-button-normal-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-small-height: 24px;--nrcl-button-small-padding-horizontal: 8px;--nrcl-button-small-icon-padding-horizontal: 24px;--nrcl-button-small-font-size: var( --nrcl-font-size-small );--nrcl-button-small-icon-size: var( --nrcl-icon-small-size );--nrcl-button-compact-height: 44px;--nrcl-button-compact-padding-horizontal: 8px;--nrcl-button-compact-font-size: var( --nrcl-font-size-small );--nrcl-button-compact-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-primary-foreground-color: white;--nrcl-button-primary-background-color: #003366;--nrcl-button-primary-border-color: #003366;--nrcl-button-primary-hover-background-color: #144a89cc;--nrcl-button-primary-disabled-foreground-color: #7E7E7E;--nrcl-button-primary-disabled-background-color: #CCCCCC;--nrcl-button-primary-disabled-border-color: #CCCCCC;--nrcl-button-primary-disabled-hover-background-color: #CCCCCC;--nrcl-button-secondary-foreground-color: black;--nrcl-button-secondary-background-color: white;--nrcl-button-secondary-border-color: #003366;--nrcl-button-secondary-hover-background-color: #f5f5f5;--nrcl-button-secondary-disabled-foreground-color: #7E7E7E;--nrcl-button-secondary-disabled-background-color: #CCCCCC;--nrcl-button-secondary-disabled-border-color: #CCCCCC;--nrcl-button-secondary-disabled-hover-background-color: #CCCCCC;--nrcl-button-tertiary-foreground-color: black;--nrcl-button-tertiary-background-color: transparent;--nrcl-button-tertiary-border-color: transparent;--nrcl-button-tertiary-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-tertiary-disabled-foreground-color: #7E7E7E;--nrcl-button-tertiary-disabled-background-color: transparent;--nrcl-button-tertiary-disabled-border-color: transparent;--nrcl-button-tertiary-disabled-hover-background-color: transparent;--nrcl-button-anchor-foreground-color: #027DB4;--nrcl-button-anchor-background-color: transparent;--nrcl-button-anchor-border-color: transparent;--nrcl-button-anchor-hover-foreground-color: #F59A23;--nrcl-button-anchor-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-anchor-disabled-foreground-color: #7E7E7E;--nrcl-button-anchor-disabled-background-color: transparent;--nrcl-button-anchor-disabled-border-color: transparent;--nrcl-button-anchor-disabled-hover-background-color: transparent}:host{--nrcl-button-height: 50px;--nrcl-icon-padding: 50px;--nrcl-button-font-size: 40px;--nrcl-button-font-weight: 500;--nrcl-button-padding-left: 50px;--nrcl-button-padding-right: 50px;--nrcl-button-foreground-color: #red;--nrcl-button-background-color: #green;--nrcl-button-border-color: #yellow;--nrcl-button-hover-background-color: #blue}:host button,:host a{display:inline-flex;align-items:center;position:relative;height:var(--nrcl-button-height);min-width:var(--nrcl-button-height);width:var(--nrcl-button-width);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;padding:0;background-color:var(--nrcl-button-background-color);color:var(--nrcl-button-foreground-color);border-color:var(--nrcl-button-border-color);border-width:1px;border-style:solid;border-radius:4px}:host button:hover,:host a:hover{background-color:var(--nrcl-button-hover-background-color)}:host button .label,:host button .content,:host a .label,:host a .content{font-family:var(--nrcl-font-family);font-size:var(--nrcl-button-font-size);font-weight:var(--nrcl-button-font-weight);width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}:host button .content,:host a .content{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right);display:flex;align-items:center}:host.normal{--nrcl-button-height: var( --nrcl-button-normal-height );--nrcl-button-padding-left: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-normal-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size );--nrcl-icon-padding: var( --nrcl-button-normal-icon-padding-horizontal )}:host.small{--nrcl-button-height: var( --nrcl-button-small-height );--nrcl-button-font-size: var( --nrcl-button-small-font-size )}:host.icon-small{--nrcl-button-padding-left: var( --nrcl-button-small-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-small-padding-horizontal );--nrcl-button-icon-size: var( --nrcl-button-small-icon-size );--nrcl-icon-padding: var( --nrcl-button-small-icon-padding-horizontal )}:host.compact{--nrcl-button-height: var( --nrcl-button-compact-height );--nrcl-button-padding-left: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-compact-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size )}:host.compact button{flex-direction:column;justify-content:center}:host.label button,:host.label a{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right)}:host.icon-left button,:host.icon-left a{--nrcl-button-padding-left: var( --nrcl-icon-padding )}:host.icon-left button .content,:host.icon-left a .content{padding-left:0}:host.icon-left button ::ng-deep .mat-icon.left,:host.icon-left button ::ng-deep nrcl-icon.left,:host.icon-left a ::ng-deep .mat-icon.left,:host.icon-left a ::ng-deep nrcl-icon.left{position:absolute;left:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.icon-right button,:host.icon-right a{--nrcl-button-padding-right: var( --nrcl-icon-padding )}:host.icon-right button .content,:host.icon-right a .content{padding-right:0}:host.icon-right button ::ng-deep .mat-icon.right,:host.icon-right button ::ng-deep nrcl-icon.right,:host.icon-right a ::ng-deep .mat-icon.right,:host.icon-right a ::ng-deep nrcl-icon.right{position:absolute;right:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.primary{--nrcl-button-foreground-color: var( --nrcl-button-primary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-hover-background-color )}:host.primary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.primary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-primary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-disabled-hover-background-color )}:host.secondary{--nrcl-button-foreground-color: var( --nrcl-button-secondary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-hover-background-color )}:host.secondary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.secondary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-secondary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-disabled-hover-background-color )}:host.tertiary{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-hover-background-color )}:host.tertiary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-disabled-hover-background-color )}:host.anchor{--nrcl-button-foreground-color: var( --nrcl-button-anchor-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-hover-background-color );--nrcl-button-padding-left: 0;--nrcl-button-padding-right: 0;--nrcl-button-normal-height: 20px}:host.anchor a{box-sizing:border-box}:host.anchor a:hover{color:var(--nrcl-button-anchor-hover-foreground-color)}:host.anchor a .label,:host.anchor a .content{text-decoration:underline}:host.anchor.disabled{--nrcl-button-foreground-color: var( --nrcl-button-anchor-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-disabled-hover-background-color )}:host.disabled button,:host.disabled a{cursor:default}:host.disabled button:hover,:host.disabled a:hover{color:var(--nrcl-button-foreground-color)}\n"], dependencies: [{ kind: "directive", type: i1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }] }); }
105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ButtonComponent, selector: "nrcl-button", inputs: { label: "label", icon: "icon", iconRight: "iconRight", iconCompact: "iconCompact", tooltip: "tooltip", compact: "compact", small: "small", primary: ["primary", "primary", booleanAttribute], secondary: ["secondary", "secondary", booleanAttribute], tertiary: ["tertiary", "tertiary", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], anchor: "anchor" }, outputs: { click: "click" }, host: { properties: { "class.disabled": "disabled", "class.primary": "isPrimary", "class.secondary": "isSecondary", "class.tertiary": "isTertiary", "class.anchor": "isAnchor", "class.normal": "!isCompact && !isSmall", "class.compact": "isCompact", "class.small": "isSmall && !isCompact", "class.label": "hasLabel", "class.icon-left": "hasIconLeft", "class.icon-right": "hasIconRight", "class.icon-compact": "hasIconCompact", "class.icon-small": "isIconSmall" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ( !isAnchor ) {\n <button\n matRipple\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( useContent ) {\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n }\n @else {\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n }\n </button>\n}\n@else {\n <a \n [attr.href]=\"href\" \n [attr.target]=\"href && target\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n </a>\n}", styles: ["::ng-deep :root{--nrcl-button-normal-height: 36px;--nrcl-button-normal-padding-horizontal: 16px;--nrcl-button-normal-icon-padding-horizontal: 36px;--nrcl-button-normal-font-size: var( --nrcl-font-size );--nrcl-button-normal-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-small-height: 24px;--nrcl-button-small-padding-horizontal: 8px;--nrcl-button-small-icon-padding-horizontal: 24px;--nrcl-button-small-font-size: var( --nrcl-font-size-small );--nrcl-button-small-icon-size: var( --nrcl-icon-small-size );--nrcl-button-compact-height: 44px;--nrcl-button-compact-padding-horizontal: 8px;--nrcl-button-compact-font-size: var( --nrcl-font-size-small );--nrcl-button-compact-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-primary-foreground-color: white;--nrcl-button-primary-background-color: #003366;--nrcl-button-primary-border-color: #003366;--nrcl-button-primary-hover-background-color: #144a89cc;--nrcl-button-primary-disabled-foreground-color: #7E7E7E;--nrcl-button-primary-disabled-background-color: #CCCCCC;--nrcl-button-primary-disabled-border-color: #CCCCCC;--nrcl-button-primary-disabled-hover-background-color: #CCCCCC;--nrcl-button-secondary-foreground-color: black;--nrcl-button-secondary-background-color: white;--nrcl-button-secondary-border-color: #003366;--nrcl-button-secondary-hover-background-color: #f5f5f5;--nrcl-button-secondary-disabled-foreground-color: #7E7E7E;--nrcl-button-secondary-disabled-background-color: #CCCCCC;--nrcl-button-secondary-disabled-border-color: #CCCCCC;--nrcl-button-secondary-disabled-hover-background-color: #CCCCCC;--nrcl-button-tertiary-foreground-color: black;--nrcl-button-tertiary-background-color: transparent;--nrcl-button-tertiary-border-color: transparent;--nrcl-button-tertiary-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-tertiary-disabled-foreground-color: #7E7E7E;--nrcl-button-tertiary-disabled-background-color: transparent;--nrcl-button-tertiary-disabled-border-color: transparent;--nrcl-button-tertiary-disabled-hover-background-color: transparent;--nrcl-button-anchor-foreground-color: #255a90;--nrcl-button-anchor-background-color: transparent;--nrcl-button-anchor-border-color: transparent;--nrcl-button-anchor-hover-foreground-color: #0000ee;--nrcl-button-anchor-hover-background-color: transparent;--nrcl-button-anchor-disabled-foreground-color: #7E7E7E;--nrcl-button-anchor-disabled-background-color: transparent;--nrcl-button-anchor-disabled-border-color: transparent;--nrcl-button-anchor-disabled-hover-background-color: transparent}:host{--nrcl-button-height: 50px;--nrcl-icon-padding: 50px;--nrcl-button-font-size: 40px;--nrcl-button-font-weight: 500;--nrcl-button-padding-left: 50px;--nrcl-button-padding-right: 50px;--nrcl-button-foreground-color: #red;--nrcl-button-background-color: #green;--nrcl-button-border-color: #yellow;--nrcl-button-hover-background-color: #blue}:host button,:host a{display:inline-flex;align-items:center;position:relative;height:var(--nrcl-button-height);min-width:var(--nrcl-button-height);width:var(--nrcl-button-width);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;padding:0;background-color:var(--nrcl-button-background-color);color:var(--nrcl-button-foreground-color);border-color:var(--nrcl-button-border-color);border-width:1px;border-style:solid;border-radius:4px}:host button:hover,:host a:hover{background-color:var(--nrcl-button-hover-background-color)}:host button .label,:host button .content,:host a .label,:host a .content{font-family:var(--nrcl-font-family);font-size:var(--nrcl-button-font-size);font-weight:var(--nrcl-button-font-weight);width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}:host button .content,:host a .content{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right);display:flex;align-items:center}:host.normal{--nrcl-button-height: var( --nrcl-button-normal-height );--nrcl-button-padding-left: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-normal-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size );--nrcl-icon-padding: var( --nrcl-button-normal-icon-padding-horizontal )}:host.small{--nrcl-button-height: var( --nrcl-button-small-height );--nrcl-button-font-size: var( --nrcl-button-small-font-size )}:host.icon-small{--nrcl-button-padding-left: var( --nrcl-button-small-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-small-padding-horizontal );--nrcl-button-icon-size: var( --nrcl-button-small-icon-size );--nrcl-icon-padding: var( --nrcl-button-small-icon-padding-horizontal )}:host.compact{--nrcl-button-height: var( --nrcl-button-compact-height );--nrcl-button-padding-left: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-compact-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size )}:host.compact button{flex-direction:column;justify-content:center}:host.label button,:host.label a{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right)}:host.icon-left button,:host.icon-left a{--nrcl-button-padding-left: var( --nrcl-icon-padding )}:host.icon-left button .content,:host.icon-left a .content{padding-left:0}:host.icon-left button ::ng-deep .mat-icon.left,:host.icon-left button ::ng-deep nrcl-icon.left,:host.icon-left a ::ng-deep .mat-icon.left,:host.icon-left a ::ng-deep nrcl-icon.left{position:absolute;left:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.icon-right button,:host.icon-right a{--nrcl-button-padding-right: var( --nrcl-icon-padding )}:host.icon-right button .content,:host.icon-right a .content{padding-right:0}:host.icon-right button ::ng-deep .mat-icon.right,:host.icon-right button ::ng-deep nrcl-icon.right,:host.icon-right a ::ng-deep .mat-icon.right,:host.icon-right a ::ng-deep nrcl-icon.right{position:absolute;right:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.primary{--nrcl-button-foreground-color: var( --nrcl-button-primary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-hover-background-color )}:host.primary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.primary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-primary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-disabled-hover-background-color )}:host.secondary{--nrcl-button-foreground-color: var( --nrcl-button-secondary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-hover-background-color )}:host.secondary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.secondary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-secondary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-disabled-hover-background-color )}:host.tertiary{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-hover-background-color )}:host.tertiary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-disabled-hover-background-color )}:host.anchor{--nrcl-button-foreground-color: var( --nrcl-button-anchor-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-hover-background-color );--nrcl-button-padding-left: 0;--nrcl-button-padding-right: 0;--nrcl-button-normal-height: 20px}:host.anchor a{box-sizing:border-box}:host.anchor a:hover{color:var(--nrcl-button-anchor-hover-foreground-color)}:host.anchor a .label,:host.anchor a .content{text-decoration:underline}:host.anchor.disabled{--nrcl-button-foreground-color: var( --nrcl-button-anchor-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-disabled-hover-background-color )}:host.disabled button,:host.disabled a{cursor:default}:host.disabled button:hover,:host.disabled a:hover{color:var(--nrcl-button-foreground-color)}\n"], dependencies: [{ kind: "directive", type: i1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }] }); }
106
106
  }
107
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
108
108
  type: Component,
@@ -120,7 +120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
120
120
  '[class.icon-right]': 'hasIconRight',
121
121
  '[class.icon-compact]': 'hasIconCompact',
122
122
  '[class.icon-small]': 'isIconSmall',
123
- }, template: "@if ( !isAnchor ) {\n <button\n matRipple\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( useContent ) {\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n }\n @else {\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n }\n </button>\n}\n@else {\n <a \n [attr.href]=\"href\" \n [attr.target]=\"href && target\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n </a>\n}", styles: ["::ng-deep :root{--nrcl-button-normal-height: 36px;--nrcl-button-normal-padding-horizontal: 16px;--nrcl-button-normal-icon-padding-horizontal: 36px;--nrcl-button-normal-font-size: var( --nrcl-font-size );--nrcl-button-normal-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-small-height: 24px;--nrcl-button-small-padding-horizontal: 8px;--nrcl-button-small-icon-padding-horizontal: 24px;--nrcl-button-small-font-size: var( --nrcl-font-size-small );--nrcl-button-small-icon-size: var( --nrcl-icon-small-size );--nrcl-button-compact-height: 44px;--nrcl-button-compact-padding-horizontal: 8px;--nrcl-button-compact-font-size: var( --nrcl-font-size-small );--nrcl-button-compact-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-primary-foreground-color: white;--nrcl-button-primary-background-color: #003366;--nrcl-button-primary-border-color: #003366;--nrcl-button-primary-hover-background-color: #144a89cc;--nrcl-button-primary-disabled-foreground-color: #7E7E7E;--nrcl-button-primary-disabled-background-color: #CCCCCC;--nrcl-button-primary-disabled-border-color: #CCCCCC;--nrcl-button-primary-disabled-hover-background-color: #CCCCCC;--nrcl-button-secondary-foreground-color: black;--nrcl-button-secondary-background-color: white;--nrcl-button-secondary-border-color: #003366;--nrcl-button-secondary-hover-background-color: #f5f5f5;--nrcl-button-secondary-disabled-foreground-color: #7E7E7E;--nrcl-button-secondary-disabled-background-color: #CCCCCC;--nrcl-button-secondary-disabled-border-color: #CCCCCC;--nrcl-button-secondary-disabled-hover-background-color: #CCCCCC;--nrcl-button-tertiary-foreground-color: black;--nrcl-button-tertiary-background-color: transparent;--nrcl-button-tertiary-border-color: transparent;--nrcl-button-tertiary-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-tertiary-disabled-foreground-color: #7E7E7E;--nrcl-button-tertiary-disabled-background-color: transparent;--nrcl-button-tertiary-disabled-border-color: transparent;--nrcl-button-tertiary-disabled-hover-background-color: transparent;--nrcl-button-anchor-foreground-color: #027DB4;--nrcl-button-anchor-background-color: transparent;--nrcl-button-anchor-border-color: transparent;--nrcl-button-anchor-hover-foreground-color: #F59A23;--nrcl-button-anchor-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-anchor-disabled-foreground-color: #7E7E7E;--nrcl-button-anchor-disabled-background-color: transparent;--nrcl-button-anchor-disabled-border-color: transparent;--nrcl-button-anchor-disabled-hover-background-color: transparent}:host{--nrcl-button-height: 50px;--nrcl-icon-padding: 50px;--nrcl-button-font-size: 40px;--nrcl-button-font-weight: 500;--nrcl-button-padding-left: 50px;--nrcl-button-padding-right: 50px;--nrcl-button-foreground-color: #red;--nrcl-button-background-color: #green;--nrcl-button-border-color: #yellow;--nrcl-button-hover-background-color: #blue}:host button,:host a{display:inline-flex;align-items:center;position:relative;height:var(--nrcl-button-height);min-width:var(--nrcl-button-height);width:var(--nrcl-button-width);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;padding:0;background-color:var(--nrcl-button-background-color);color:var(--nrcl-button-foreground-color);border-color:var(--nrcl-button-border-color);border-width:1px;border-style:solid;border-radius:4px}:host button:hover,:host a:hover{background-color:var(--nrcl-button-hover-background-color)}:host button .label,:host button .content,:host a .label,:host a .content{font-family:var(--nrcl-font-family);font-size:var(--nrcl-button-font-size);font-weight:var(--nrcl-button-font-weight);width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}:host button .content,:host a .content{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right);display:flex;align-items:center}:host.normal{--nrcl-button-height: var( --nrcl-button-normal-height );--nrcl-button-padding-left: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-normal-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size );--nrcl-icon-padding: var( --nrcl-button-normal-icon-padding-horizontal )}:host.small{--nrcl-button-height: var( --nrcl-button-small-height );--nrcl-button-font-size: var( --nrcl-button-small-font-size )}:host.icon-small{--nrcl-button-padding-left: var( --nrcl-button-small-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-small-padding-horizontal );--nrcl-button-icon-size: var( --nrcl-button-small-icon-size );--nrcl-icon-padding: var( --nrcl-button-small-icon-padding-horizontal )}:host.compact{--nrcl-button-height: var( --nrcl-button-compact-height );--nrcl-button-padding-left: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-compact-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size )}:host.compact button{flex-direction:column;justify-content:center}:host.label button,:host.label a{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right)}:host.icon-left button,:host.icon-left a{--nrcl-button-padding-left: var( --nrcl-icon-padding )}:host.icon-left button .content,:host.icon-left a .content{padding-left:0}:host.icon-left button ::ng-deep .mat-icon.left,:host.icon-left button ::ng-deep nrcl-icon.left,:host.icon-left a ::ng-deep .mat-icon.left,:host.icon-left a ::ng-deep nrcl-icon.left{position:absolute;left:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.icon-right button,:host.icon-right a{--nrcl-button-padding-right: var( --nrcl-icon-padding )}:host.icon-right button .content,:host.icon-right a .content{padding-right:0}:host.icon-right button ::ng-deep .mat-icon.right,:host.icon-right button ::ng-deep nrcl-icon.right,:host.icon-right a ::ng-deep .mat-icon.right,:host.icon-right a ::ng-deep nrcl-icon.right{position:absolute;right:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.primary{--nrcl-button-foreground-color: var( --nrcl-button-primary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-hover-background-color )}:host.primary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.primary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-primary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-disabled-hover-background-color )}:host.secondary{--nrcl-button-foreground-color: var( --nrcl-button-secondary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-hover-background-color )}:host.secondary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.secondary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-secondary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-disabled-hover-background-color )}:host.tertiary{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-hover-background-color )}:host.tertiary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-disabled-hover-background-color )}:host.anchor{--nrcl-button-foreground-color: var( --nrcl-button-anchor-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-hover-background-color );--nrcl-button-padding-left: 0;--nrcl-button-padding-right: 0;--nrcl-button-normal-height: 20px}:host.anchor a{box-sizing:border-box}:host.anchor a:hover{color:var(--nrcl-button-anchor-hover-foreground-color)}:host.anchor a .label,:host.anchor a .content{text-decoration:underline}:host.anchor.disabled{--nrcl-button-foreground-color: var( --nrcl-button-anchor-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-disabled-hover-background-color )}:host.disabled button,:host.disabled a{cursor:default}:host.disabled button:hover,:host.disabled a:hover{color:var(--nrcl-button-foreground-color)}\n"] }]
123
+ }, template: "@if ( !isAnchor ) {\n <button\n matRipple\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( useContent ) {\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n }\n @else {\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n }\n </button>\n}\n@else {\n <a \n [attr.href]=\"href\" \n [attr.target]=\"href && target\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n </a>\n}", styles: ["::ng-deep :root{--nrcl-button-normal-height: 36px;--nrcl-button-normal-padding-horizontal: 16px;--nrcl-button-normal-icon-padding-horizontal: 36px;--nrcl-button-normal-font-size: var( --nrcl-font-size );--nrcl-button-normal-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-small-height: 24px;--nrcl-button-small-padding-horizontal: 8px;--nrcl-button-small-icon-padding-horizontal: 24px;--nrcl-button-small-font-size: var( --nrcl-font-size-small );--nrcl-button-small-icon-size: var( --nrcl-icon-small-size );--nrcl-button-compact-height: 44px;--nrcl-button-compact-padding-horizontal: 8px;--nrcl-button-compact-font-size: var( --nrcl-font-size-small );--nrcl-button-compact-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-primary-foreground-color: white;--nrcl-button-primary-background-color: #003366;--nrcl-button-primary-border-color: #003366;--nrcl-button-primary-hover-background-color: #144a89cc;--nrcl-button-primary-disabled-foreground-color: #7E7E7E;--nrcl-button-primary-disabled-background-color: #CCCCCC;--nrcl-button-primary-disabled-border-color: #CCCCCC;--nrcl-button-primary-disabled-hover-background-color: #CCCCCC;--nrcl-button-secondary-foreground-color: black;--nrcl-button-secondary-background-color: white;--nrcl-button-secondary-border-color: #003366;--nrcl-button-secondary-hover-background-color: #f5f5f5;--nrcl-button-secondary-disabled-foreground-color: #7E7E7E;--nrcl-button-secondary-disabled-background-color: #CCCCCC;--nrcl-button-secondary-disabled-border-color: #CCCCCC;--nrcl-button-secondary-disabled-hover-background-color: #CCCCCC;--nrcl-button-tertiary-foreground-color: black;--nrcl-button-tertiary-background-color: transparent;--nrcl-button-tertiary-border-color: transparent;--nrcl-button-tertiary-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-tertiary-disabled-foreground-color: #7E7E7E;--nrcl-button-tertiary-disabled-background-color: transparent;--nrcl-button-tertiary-disabled-border-color: transparent;--nrcl-button-tertiary-disabled-hover-background-color: transparent;--nrcl-button-anchor-foreground-color: #255a90;--nrcl-button-anchor-background-color: transparent;--nrcl-button-anchor-border-color: transparent;--nrcl-button-anchor-hover-foreground-color: #0000ee;--nrcl-button-anchor-hover-background-color: transparent;--nrcl-button-anchor-disabled-foreground-color: #7E7E7E;--nrcl-button-anchor-disabled-background-color: transparent;--nrcl-button-anchor-disabled-border-color: transparent;--nrcl-button-anchor-disabled-hover-background-color: transparent}:host{--nrcl-button-height: 50px;--nrcl-icon-padding: 50px;--nrcl-button-font-size: 40px;--nrcl-button-font-weight: 500;--nrcl-button-padding-left: 50px;--nrcl-button-padding-right: 50px;--nrcl-button-foreground-color: #red;--nrcl-button-background-color: #green;--nrcl-button-border-color: #yellow;--nrcl-button-hover-background-color: #blue}:host button,:host a{display:inline-flex;align-items:center;position:relative;height:var(--nrcl-button-height);min-width:var(--nrcl-button-height);width:var(--nrcl-button-width);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;padding:0;background-color:var(--nrcl-button-background-color);color:var(--nrcl-button-foreground-color);border-color:var(--nrcl-button-border-color);border-width:1px;border-style:solid;border-radius:4px}:host button:hover,:host a:hover{background-color:var(--nrcl-button-hover-background-color)}:host button .label,:host button .content,:host a .label,:host a .content{font-family:var(--nrcl-font-family);font-size:var(--nrcl-button-font-size);font-weight:var(--nrcl-button-font-weight);width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}:host button .content,:host a .content{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right);display:flex;align-items:center}:host.normal{--nrcl-button-height: var( --nrcl-button-normal-height );--nrcl-button-padding-left: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-normal-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size );--nrcl-icon-padding: var( --nrcl-button-normal-icon-padding-horizontal )}:host.small{--nrcl-button-height: var( --nrcl-button-small-height );--nrcl-button-font-size: var( --nrcl-button-small-font-size )}:host.icon-small{--nrcl-button-padding-left: var( --nrcl-button-small-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-small-padding-horizontal );--nrcl-button-icon-size: var( --nrcl-button-small-icon-size );--nrcl-icon-padding: var( --nrcl-button-small-icon-padding-horizontal )}:host.compact{--nrcl-button-height: var( --nrcl-button-compact-height );--nrcl-button-padding-left: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-compact-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size )}:host.compact button{flex-direction:column;justify-content:center}:host.label button,:host.label a{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right)}:host.icon-left button,:host.icon-left a{--nrcl-button-padding-left: var( --nrcl-icon-padding )}:host.icon-left button .content,:host.icon-left a .content{padding-left:0}:host.icon-left button ::ng-deep .mat-icon.left,:host.icon-left button ::ng-deep nrcl-icon.left,:host.icon-left a ::ng-deep .mat-icon.left,:host.icon-left a ::ng-deep nrcl-icon.left{position:absolute;left:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.icon-right button,:host.icon-right a{--nrcl-button-padding-right: var( --nrcl-icon-padding )}:host.icon-right button .content,:host.icon-right a .content{padding-right:0}:host.icon-right button ::ng-deep .mat-icon.right,:host.icon-right button ::ng-deep nrcl-icon.right,:host.icon-right a ::ng-deep .mat-icon.right,:host.icon-right a ::ng-deep nrcl-icon.right{position:absolute;right:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.primary{--nrcl-button-foreground-color: var( --nrcl-button-primary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-hover-background-color )}:host.primary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.primary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-primary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-disabled-hover-background-color )}:host.secondary{--nrcl-button-foreground-color: var( --nrcl-button-secondary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-hover-background-color )}:host.secondary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.secondary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-secondary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-disabled-hover-background-color )}:host.tertiary{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-hover-background-color )}:host.tertiary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-disabled-hover-background-color )}:host.anchor{--nrcl-button-foreground-color: var( --nrcl-button-anchor-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-hover-background-color );--nrcl-button-padding-left: 0;--nrcl-button-padding-right: 0;--nrcl-button-normal-height: 20px}:host.anchor a{box-sizing:border-box}:host.anchor a:hover{color:var(--nrcl-button-anchor-hover-foreground-color)}:host.anchor a .label,:host.anchor a .content{text-decoration:underline}:host.anchor.disabled{--nrcl-button-foreground-color: var( --nrcl-button-anchor-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-disabled-hover-background-color )}:host.disabled button,:host.disabled a{cursor:default}:host.disabled button:hover,:host.disabled a:hover{color:var(--nrcl-button-foreground-color)}\n"] }]
124
124
  }], propDecorators: { label: [{
125
125
  type: Input
126
126
  }], icon: [{
@@ -21,11 +21,11 @@ export class ResourceScheduleComponent {
21
21
  this.weekStart = 0;
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourceScheduleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: ResourceScheduleComponent, selector: "nrcl-resource-schedule", inputs: { provider: "provider", startDate: "startDate", weekStart: "weekStart", dayCount: ["dayCount", "dayCount", numberAttribute], menu: "menu" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ResourceScheduleRowHeadingDirective, descendants: true }], viewQueries: [{ propertyName: "scheduleComponent", first: true, predicate: ScheduleComponent, descendants: true }], ngImport: i0, template: "<nrcl-schedule #schedule\n [provider]=\"provider\"\n [startDate]=\"startDate\"\n [weekStart]=\"weekStart\"\n [dayCount]=\"dayCount\"\n [menu]=\"menu\"\n>\n <ng-content></ng-content>\n\n <ng-template nrclScheduleRowHeading let-item>\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\" \n ></ng-container>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"rostered\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"out-of-service\" let-data>\n <h1>OOS</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-duty-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-standby-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-off-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-regular-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-duty-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-standby-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-off-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-regular-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n</nrcl-schedule>\n\n", styles: ["::ng-deep :root{--nrcl-resource-schedule-item-foregroud-color: black;--nrcl-resource-schedule-item-text-shadow: 1px 0px 5px #ffffffa0, -1px 0px 5px #ffffffa0, 0px 1px 5px #ffffffa0, 0px -1px 5px #ffffffa0;--nrcl-resource-schedule-item-regular-day-background-color: #0AA647;--nrcl-resource-schedule-item-off-day-background-color: #d4d2d2;--nrcl-resource-schedule-item-duty-day-background-color: #2f9fe0;--nrcl-resource-schedule-item-standby-day-background-color: #f6cf43;--nrcl-resource-schedule-item-out-of-service-background-color: #f55353;--nrcl-resource-schedule-item-rostered-background-color: #ba9ef7}:host{height:100%;display:block}.nrcl-schedule ::ng-deep .inner.item{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;color:var(--nrcl-resource-schedule-item-foregroud-color)}.nrcl-schedule ::ng-deep .inner.item h1,.nrcl-schedule ::ng-deep .inner.item h2,.nrcl-schedule ::ng-deep .inner.item h3{padding:0;margin:0;font-weight:200}.nrcl-schedule ::ng-deep .inner.item h1{font-size:15px;line-height:15px;text-align:center}.nrcl-schedule ::ng-deep .inner.item h2{flex-grow:1;font-size:12px;line-height:13px;text-align:center;display:flex;justify-content:center;align-items:center}.nrcl-schedule ::ng-deep .inner.item h2.wrap{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;min-height:0;overflow:hidden}.nrcl-schedule ::ng-deep .inner.item h3{font-size:14px;line-height:14px;text-align:center}.nrcl-schedule ::ng-deep .inner.item.item-out-of-service{background-color:var(--nrcl-resource-schedule-item-out-of-service-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-rostered{background-color:var(--nrcl-resource-schedule-item-rostered-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ScheduleComponent, selector: "nrcl-schedule", inputs: ["provider", "startDate", "weekStart", "dayCount", "menu"] }, { kind: "directive", type: i2.ScheduleItemDirective, selector: "[nrclScheduleItem]", inputs: ["nrclScheduleItem"] }, { kind: "directive", type: i2.ScheduleRowHeadingDirective, selector: "[nrclScheduleRowHeading]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: ResourceScheduleComponent, selector: "nrcl-resource-schedule", inputs: { provider: "provider", startDate: "startDate", weekStart: "weekStart", dayCount: ["dayCount", "dayCount", numberAttribute], menu: "menu" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ResourceScheduleRowHeadingDirective, descendants: true }], viewQueries: [{ propertyName: "scheduleComponent", first: true, predicate: ScheduleComponent, descendants: true }], ngImport: i0, template: "<nrcl-schedule #schedule\n [provider]=\"provider\"\n [startDate]=\"startDate\"\n [weekStart]=\"weekStart\"\n [dayCount]=\"dayCount\"\n [menu]=\"menu\"\n>\n <ng-content></ng-content>\n\n <ng-template nrclScheduleRowHeading let-item>\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\" \n ></ng-container>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"rostered\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"out-of-service\" let-data>\n <h1>OOS</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-duty-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-standby-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-off-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-regular-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-duty-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-standby-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-off-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-regular-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n</nrcl-schedule>\n\n", styles: ["::ng-deep :root{--nrcl-resource-schedule-item-foregroud-color: black;--nrcl-resource-schedule-item-text-shadow: 1px 0px 5px #ffffffa0, -1px 0px 5px #ffffffa0, 0px 1px 5px #ffffffa0, 0px -1px 5px #ffffffa0;--nrcl-resource-schedule-item-regular-day-background-color: #0AA647;--nrcl-resource-schedule-item-off-day-background-color: #d4d2d2;--nrcl-resource-schedule-item-duty-day-background-color: #2f9fe0;--nrcl-resource-schedule-item-standby-day-background-color: #f6cf43;--nrcl-resource-schedule-item-out-of-service-background-color: #f55353;--nrcl-resource-schedule-item-rostered-background-color: #ba9ef7}:host{height:100%;display:block}.nrcl-schedule ::ng-deep .inner.item{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;color:var(--nrcl-resource-schedule-item-foregroud-color)}.nrcl-schedule ::ng-deep .inner.item h1,.nrcl-schedule ::ng-deep .inner.item h2,.nrcl-schedule ::ng-deep .inner.item h3{padding:0;margin:0;font-weight:200;font-size:15px;line-height:18px;text-align:center}.nrcl-schedule ::ng-deep .inner.item h2{flex-grow:1;text-align:center;display:flex;justify-content:center;align-items:center}.nrcl-schedule ::ng-deep .inner.item h2.wrap{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:0;overflow:hidden}.nrcl-schedule ::ng-deep .inner.item.item-out-of-service{background-color:var(--nrcl-resource-schedule-item-out-of-service-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-rostered{background-color:var(--nrcl-resource-schedule-item-rostered-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ScheduleComponent, selector: "nrcl-schedule", inputs: ["provider", "startDate", "weekStart", "dayCount", "menu"] }, { kind: "directive", type: i2.ScheduleItemDirective, selector: "[nrclScheduleItem]", inputs: ["nrclScheduleItem"] }, { kind: "directive", type: i2.ScheduleRowHeadingDirective, selector: "[nrclScheduleRowHeading]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourceScheduleComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: "nrcl-resource-schedule", changeDetection: ChangeDetectionStrategy.OnPush, template: "<nrcl-schedule #schedule\n [provider]=\"provider\"\n [startDate]=\"startDate\"\n [weekStart]=\"weekStart\"\n [dayCount]=\"dayCount\"\n [menu]=\"menu\"\n>\n <ng-content></ng-content>\n\n <ng-template nrclScheduleRowHeading let-item>\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\" \n ></ng-container>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"rostered\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"out-of-service\" let-data>\n <h1>OOS</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-duty-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-standby-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-off-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-regular-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-duty-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-standby-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-off-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-regular-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n</nrcl-schedule>\n\n", styles: ["::ng-deep :root{--nrcl-resource-schedule-item-foregroud-color: black;--nrcl-resource-schedule-item-text-shadow: 1px 0px 5px #ffffffa0, -1px 0px 5px #ffffffa0, 0px 1px 5px #ffffffa0, 0px -1px 5px #ffffffa0;--nrcl-resource-schedule-item-regular-day-background-color: #0AA647;--nrcl-resource-schedule-item-off-day-background-color: #d4d2d2;--nrcl-resource-schedule-item-duty-day-background-color: #2f9fe0;--nrcl-resource-schedule-item-standby-day-background-color: #f6cf43;--nrcl-resource-schedule-item-out-of-service-background-color: #f55353;--nrcl-resource-schedule-item-rostered-background-color: #ba9ef7}:host{height:100%;display:block}.nrcl-schedule ::ng-deep .inner.item{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;color:var(--nrcl-resource-schedule-item-foregroud-color)}.nrcl-schedule ::ng-deep .inner.item h1,.nrcl-schedule ::ng-deep .inner.item h2,.nrcl-schedule ::ng-deep .inner.item h3{padding:0;margin:0;font-weight:200}.nrcl-schedule ::ng-deep .inner.item h1{font-size:15px;line-height:15px;text-align:center}.nrcl-schedule ::ng-deep .inner.item h2{flex-grow:1;font-size:12px;line-height:13px;text-align:center;display:flex;justify-content:center;align-items:center}.nrcl-schedule ::ng-deep .inner.item h2.wrap{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;min-height:0;overflow:hidden}.nrcl-schedule ::ng-deep .inner.item h3{font-size:14px;line-height:14px;text-align:center}.nrcl-schedule ::ng-deep .inner.item.item-out-of-service{background-color:var(--nrcl-resource-schedule-item-out-of-service-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-rostered{background-color:var(--nrcl-resource-schedule-item-rostered-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}\n"] }]
28
+ args: [{ selector: "nrcl-resource-schedule", changeDetection: ChangeDetectionStrategy.OnPush, template: "<nrcl-schedule #schedule\n [provider]=\"provider\"\n [startDate]=\"startDate\"\n [weekStart]=\"weekStart\"\n [dayCount]=\"dayCount\"\n [menu]=\"menu\"\n>\n <ng-content></ng-content>\n\n <ng-template nrclScheduleRowHeading let-item>\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\" \n ></ng-container>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"rostered\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"out-of-service\" let-data>\n <h1>OOS</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-duty-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-standby-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-off-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-regular-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-duty-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-standby-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-off-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-regular-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n</nrcl-schedule>\n\n", styles: ["::ng-deep :root{--nrcl-resource-schedule-item-foregroud-color: black;--nrcl-resource-schedule-item-text-shadow: 1px 0px 5px #ffffffa0, -1px 0px 5px #ffffffa0, 0px 1px 5px #ffffffa0, 0px -1px 5px #ffffffa0;--nrcl-resource-schedule-item-regular-day-background-color: #0AA647;--nrcl-resource-schedule-item-off-day-background-color: #d4d2d2;--nrcl-resource-schedule-item-duty-day-background-color: #2f9fe0;--nrcl-resource-schedule-item-standby-day-background-color: #f6cf43;--nrcl-resource-schedule-item-out-of-service-background-color: #f55353;--nrcl-resource-schedule-item-rostered-background-color: #ba9ef7}:host{height:100%;display:block}.nrcl-schedule ::ng-deep .inner.item{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;color:var(--nrcl-resource-schedule-item-foregroud-color)}.nrcl-schedule ::ng-deep .inner.item h1,.nrcl-schedule ::ng-deep .inner.item h2,.nrcl-schedule ::ng-deep .inner.item h3{padding:0;margin:0;font-weight:200;font-size:15px;line-height:18px;text-align:center}.nrcl-schedule ::ng-deep .inner.item h2{flex-grow:1;text-align:center;display:flex;justify-content:center;align-items:center}.nrcl-schedule ::ng-deep .inner.item h2.wrap{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:0;overflow:hidden}.nrcl-schedule ::ng-deep .inner.item.item-out-of-service{background-color:var(--nrcl-resource-schedule-item-out-of-service-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-rostered{background-color:var(--nrcl-resource-schedule-item-rostered-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}\n"] }]
29
29
  }], propDecorators: { provider: [{
30
30
  type: Input
31
31
  }], startDate: [{
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
44
44
  type: ContentChild,
45
45
  args: [ResourceScheduleRowHeadingDirective]
46
46
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcmVzb3VyY2Utc2NoZWR1bGUvcmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcmVzb3VyY2Utc2NoZWR1bGUvcmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFlLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzSixPQUFPLEVBQUUsaUJBQWlCLEVBQWtELE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFLbkgsTUFBTSxPQUFPLG1DQUFtQztJQUM1QyxZQUNXLFFBQTBCO1FBQTFCLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBQ25DLENBQUM7K0dBSE0sbUNBQW1DO21HQUFuQyxtQ0FBbUM7OzRGQUFuQyxtQ0FBbUM7a0JBSC9DLFNBQVM7bUJBQUU7b0JBQ1IsUUFBUSxFQUFFLGtDQUFrQztpQkFDL0M7O0FBd0NELE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFTYSxjQUFTLEdBQUcsQ0FBQyxDQUFBO0tBT3pCOytHQVZZLHlCQUF5QjttR0FBekIseUJBQXlCLHlKQUliLGVBQWUsdUZBS3RCLG1DQUFtQyxtR0FGckMsaUJBQWlCLGdEQ3JEakMsNnZGQXFGQTs7NEZEdkNhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDSSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNtQyxRQUFRO3NCQUFoRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDN0IsSUFBSTtzQkFBWixLQUFLO2dCQUUwQixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUUsaUJBQWlCO2dCQUVzQixjQUFjO3NCQUFoRSxZQUFZO3VCQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBJbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdE1lbnVQYW5lbCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5pbXBvcnQgeyBTY2hlZHVsZUNvbXBvbmVudCwgU2NoZWR1bGVQcm92aWRlciwgU2NoZWR1bGVSb3csIFNjaGVkdWxlUm93SXRlbSB9IGZyb20gXCIuLi9zY2hlZHVsZS9zY2hlZHVsZS5jb21wb25lbnRcIjtcblxuQERpcmVjdGl2ZSgge1xuICAgIHNlbGVjdG9yOiAnW25yY2xSZXNvdXJjZVNjaGVkdWxlUm93SGVhZGluZ10nXG59IClcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZVNjaGVkdWxlUm93SGVhZGluZ0RpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PlxuICAgICl7fVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSBSZXNvdXJjZVNjaGVkdWxlSXRlbVR5cGVzID0gXG4gICAgJ3Jvc3RlcmVkJyB8XG4gICAgJ291dC1vZi1zZXJ2aWNlJyB8XG4gICAgJ2F2YWlsYWJsZS1kdXR5LWRheScgfFxuICAgICdhdmFpbGFibGUtc3RhbmRieS1kYXknIHxcbiAgICAnYXZhaWxhYmxlLW9mZi1kYXknIHxcbiAgICAnYXZhaWxhYmxlLXJlZ3VsYXItZGF5JyB8XG4gICAgJ2Fzc2lnbmVkLWR1dHktZGF5JyB8XG4gICAgJ2Fzc2lnbmVkLXN0YW5kYnktZGF5JyB8XG4gICAgJ2Fzc2lnbmVkLW9mZi1kYXknIHxcbiAgICAnYXNzaWduZWQtcmVndWxhci1kYXknIFxuXG5leHBvcnQgdHlwZSBSZXNvdXJjZVNjaGVkdWxlUm93SXRlbSA9IFNjaGVkdWxlUm93SXRlbSAmIHtcbiAgICBuYW1lOiBSZXNvdXJjZVNjaGVkdWxlSXRlbVR5cGVzLFxuICAgIGFsbG9jYXRpb25UeXBlPzogc3RyaW5nLFxuICAgIHNoaWZ0VHlwZT86IHN0cmluZyxcbiAgICBhc3NpZ25tZW50TmFtZT86IHN0cmluZyxcbn1cblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VTY2hlZHVsZVJvdyA9IFNjaGVkdWxlUm93ICYge1xuICAgIGl0ZW1zOiAoIFByb21pc2U8UmVzb3VyY2VTY2hlZHVsZVJvd0l0ZW1bXT4gKVxufVxuXG5leHBvcnQgdHlwZSBSZXNvdXJjZVNjaGVkdWxlID0gUmVzb3VyY2VTY2hlZHVsZVJvd1tdXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtcmVzb3VyY2Utc2NoZWR1bGVcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3Jlc291cmNlLXNjaGVkdWxlLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmw6IFwiLi9yZXNvdXJjZS1zY2hlZHVsZS5jb21wb25lbnQuc2Nzc1wiLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlU2NoZWR1bGVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHByb3ZpZGVyPzogU2NoZWR1bGVQcm92aWRlclxuICAgIEBJbnB1dCgpIHN0YXJ0RGF0ZT86IHN0cmluZ1xuICAgIEBJbnB1dCgpIHdlZWtTdGFydCA9IDBcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSApIGRheUNvdW50PzogbnVtYmVyXG4gICAgQElucHV0KCkgbWVudT86IE1hdE1lbnVQYW5lbFxuXG4gICAgQFZpZXdDaGlsZCggU2NoZWR1bGVDb21wb25lbnQgKSBzY2hlZHVsZUNvbXBvbmVudD86IFNjaGVkdWxlQ29tcG9uZW50XG5cbiAgICBAQ29udGVudENoaWxkKFJlc291cmNlU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlKSBoZWFkZXJUZW1wbGF0ZSE6IFJlc291cmNlU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlXG59XG4iLCI8bnJjbC1zY2hlZHVsZSAjc2NoZWR1bGVcbiAgICBbcHJvdmlkZXJdPVwicHJvdmlkZXJcIlxuICAgIFtzdGFydERhdGVdPVwic3RhcnREYXRlXCJcbiAgICBbd2Vla1N0YXJ0XT1cIndlZWtTdGFydFwiXG4gICAgW2RheUNvdW50XT1cImRheUNvdW50XCJcbiAgICBbbWVudV09XCJtZW51XCJcbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlUm93SGVhZGluZyBsZXQtaXRlbT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlLnRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCIgICAgICAgICAgICBcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cInJvc3RlcmVkXCIgbGV0LWRhdGE+XG4gICAgICAgIDxoMT5BdmFpbGFibGU8L2gxPlxuICAgICAgICA8aDI+e3sgZGF0YS5hbGxvY2F0aW9uVHlwZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBucmNsU2NoZWR1bGVJdGVtPVwib3V0LW9mLXNlcnZpY2VcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPk9PUzwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhdmFpbGFibGUtZHV0eS1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPkF2YWlsYWJsZTwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+RHV0eSBEYXk8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhdmFpbGFibGUtc3RhbmRieS1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPkF2YWlsYWJsZTwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+U1RCWTwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImF2YWlsYWJsZS1vZmYtZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDxoMT5BdmFpbGFibGU8L2gxPlxuICAgICAgICA8aDI+e3sgZGF0YS5hbGxvY2F0aW9uVHlwZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPkRheSBPZmY8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhdmFpbGFibGUtcmVndWxhci1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPkF2YWlsYWJsZTwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+UmVnIERheTwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImFzc2lnbmVkLWR1dHktZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDwhLS0gPGgxPjwvaDE+IC0tPlxuICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwXCI+e3sgZGF0YS5hc3NpZ25tZW50TmFtZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPkR1dHkgRGF5PC9oMz4gLS0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBucmNsU2NoZWR1bGVJdGVtPVwiYXNzaWduZWQtc3RhbmRieS1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPCEtLSA8aDE+PC9oMT4gLS0+XG4gICAgICAgIDxoMiBjbGFzcz1cIndyYXBcIj57eyBkYXRhLmFzc2lnbm1lbnROYW1lIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+U1RCWTwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImFzc2lnbmVkLW9mZi1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPCEtLSA8aDE+PC9oMT4gLS0+XG4gICAgICAgIDxoMiBjbGFzcz1cIndyYXBcIj57eyBkYXRhLmFzc2lnbm1lbnROYW1lIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+RGF5IE9mZjwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImFzc2lnbmVkLXJlZ3VsYXItZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDwhLS0gPGgxPjwvaDE+IC0tPlxuICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwXCI+e3sgZGF0YS5hc3NpZ25tZW50TmFtZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPlJlZyBEYXk8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9ucmNsLXNjaGVkdWxlPlxuXG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcmVzb3VyY2Utc2NoZWR1bGUvcmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcmVzb3VyY2Utc2NoZWR1bGUvcmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFlLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzSixPQUFPLEVBQUUsaUJBQWlCLEVBQWtELE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFLbkgsTUFBTSxPQUFPLG1DQUFtQztJQUM1QyxZQUNXLFFBQTBCO1FBQTFCLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBQ25DLENBQUM7K0dBSE0sbUNBQW1DO21HQUFuQyxtQ0FBbUM7OzRGQUFuQyxtQ0FBbUM7a0JBSC9DLFNBQVM7bUJBQUU7b0JBQ1IsUUFBUSxFQUFFLGtDQUFrQztpQkFDL0M7O0FBeUNELE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFTYSxjQUFTLEdBQUcsQ0FBQyxDQUFBO0tBT3pCOytHQVZZLHlCQUF5QjttR0FBekIseUJBQXlCLHlKQUliLGVBQWUsdUZBS3RCLG1DQUFtQyxtR0FGckMsaUJBQWlCLGdEQ3REakMsNnZGQXFGQTs7NEZEdENhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDSSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNtQyxRQUFRO3NCQUFoRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDN0IsSUFBSTtzQkFBWixLQUFLO2dCQUUwQixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUUsaUJBQWlCO2dCQUVzQixjQUFjO3NCQUFoRSxZQUFZO3VCQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBJbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdE1lbnVQYW5lbCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5pbXBvcnQgeyBTY2hlZHVsZUNvbXBvbmVudCwgU2NoZWR1bGVQcm92aWRlciwgU2NoZWR1bGVSb3csIFNjaGVkdWxlUm93SXRlbSB9IGZyb20gXCIuLi9zY2hlZHVsZS9zY2hlZHVsZS5jb21wb25lbnRcIjtcblxuQERpcmVjdGl2ZSgge1xuICAgIHNlbGVjdG9yOiAnW25yY2xSZXNvdXJjZVNjaGVkdWxlUm93SGVhZGluZ10nXG59IClcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZVNjaGVkdWxlUm93SGVhZGluZ0RpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PlxuICAgICl7fVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSBSZXNvdXJjZVNjaGVkdWxlSXRlbVR5cGVzID0gXG4gICAgJ2VtcHR5JyB8XG4gICAgJ3Jvc3RlcmVkJyB8XG4gICAgJ291dC1vZi1zZXJ2aWNlJyB8XG4gICAgJ2F2YWlsYWJsZS1kdXR5LWRheScgfFxuICAgICdhdmFpbGFibGUtc3RhbmRieS1kYXknIHxcbiAgICAnYXZhaWxhYmxlLW9mZi1kYXknIHxcbiAgICAnYXZhaWxhYmxlLXJlZ3VsYXItZGF5JyB8XG4gICAgJ2Fzc2lnbmVkLWR1dHktZGF5JyB8XG4gICAgJ2Fzc2lnbmVkLXN0YW5kYnktZGF5JyB8XG4gICAgJ2Fzc2lnbmVkLW9mZi1kYXknIHxcbiAgICAnYXNzaWduZWQtcmVndWxhci1kYXknIFxuXG5leHBvcnQgdHlwZSBSZXNvdXJjZVNjaGVkdWxlUm93SXRlbSA9IFNjaGVkdWxlUm93SXRlbSAmIHtcbiAgICBuYW1lOiBSZXNvdXJjZVNjaGVkdWxlSXRlbVR5cGVzLFxuICAgIGFsbG9jYXRpb25UeXBlPzogc3RyaW5nLFxuICAgIHNoaWZ0VHlwZT86IHN0cmluZyxcbiAgICBhc3NpZ25tZW50TmFtZT86IHN0cmluZyxcbn1cblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VTY2hlZHVsZVJvdyA9IFNjaGVkdWxlUm93ICYge1xuICAgIGl0ZW1zOiAoIFByb21pc2U8UmVzb3VyY2VTY2hlZHVsZVJvd0l0ZW1bXT4gKVxufVxuXG5leHBvcnQgdHlwZSBSZXNvdXJjZVNjaGVkdWxlID0gUmVzb3VyY2VTY2hlZHVsZVJvd1tdXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtcmVzb3VyY2Utc2NoZWR1bGVcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3Jlc291cmNlLXNjaGVkdWxlLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmw6IFwiLi9yZXNvdXJjZS1zY2hlZHVsZS5jb21wb25lbnQuc2Nzc1wiLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlU2NoZWR1bGVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHByb3ZpZGVyPzogU2NoZWR1bGVQcm92aWRlclxuICAgIEBJbnB1dCgpIHN0YXJ0RGF0ZT86IHN0cmluZ1xuICAgIEBJbnB1dCgpIHdlZWtTdGFydCA9IDBcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSApIGRheUNvdW50PzogbnVtYmVyXG4gICAgQElucHV0KCkgbWVudT86IE1hdE1lbnVQYW5lbFxuXG4gICAgQFZpZXdDaGlsZCggU2NoZWR1bGVDb21wb25lbnQgKSBzY2hlZHVsZUNvbXBvbmVudD86IFNjaGVkdWxlQ29tcG9uZW50XG5cbiAgICBAQ29udGVudENoaWxkKFJlc291cmNlU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlKSBoZWFkZXJUZW1wbGF0ZSE6IFJlc291cmNlU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlXG59XG4iLCI8bnJjbC1zY2hlZHVsZSAjc2NoZWR1bGVcbiAgICBbcHJvdmlkZXJdPVwicHJvdmlkZXJcIlxuICAgIFtzdGFydERhdGVdPVwic3RhcnREYXRlXCJcbiAgICBbd2Vla1N0YXJ0XT1cIndlZWtTdGFydFwiXG4gICAgW2RheUNvdW50XT1cImRheUNvdW50XCJcbiAgICBbbWVudV09XCJtZW51XCJcbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlUm93SGVhZGluZyBsZXQtaXRlbT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlLnRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCIgICAgICAgICAgICBcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cInJvc3RlcmVkXCIgbGV0LWRhdGE+XG4gICAgICAgIDxoMT5BdmFpbGFibGU8L2gxPlxuICAgICAgICA8aDI+e3sgZGF0YS5hbGxvY2F0aW9uVHlwZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBucmNsU2NoZWR1bGVJdGVtPVwib3V0LW9mLXNlcnZpY2VcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPk9PUzwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhdmFpbGFibGUtZHV0eS1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPkF2YWlsYWJsZTwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+RHV0eSBEYXk8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhdmFpbGFibGUtc3RhbmRieS1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPkF2YWlsYWJsZTwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+U1RCWTwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImF2YWlsYWJsZS1vZmYtZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDxoMT5BdmFpbGFibGU8L2gxPlxuICAgICAgICA8aDI+e3sgZGF0YS5hbGxvY2F0aW9uVHlwZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPkRheSBPZmY8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhdmFpbGFibGUtcmVndWxhci1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPkF2YWlsYWJsZTwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+UmVnIERheTwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImFzc2lnbmVkLWR1dHktZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDwhLS0gPGgxPjwvaDE+IC0tPlxuICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwXCI+e3sgZGF0YS5hc3NpZ25tZW50TmFtZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPkR1dHkgRGF5PC9oMz4gLS0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBucmNsU2NoZWR1bGVJdGVtPVwiYXNzaWduZWQtc3RhbmRieS1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPCEtLSA8aDE+PC9oMT4gLS0+XG4gICAgICAgIDxoMiBjbGFzcz1cIndyYXBcIj57eyBkYXRhLmFzc2lnbm1lbnROYW1lIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+U1RCWTwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImFzc2lnbmVkLW9mZi1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPCEtLSA8aDE+PC9oMT4gLS0+XG4gICAgICAgIDxoMiBjbGFzcz1cIndyYXBcIj57eyBkYXRhLmFzc2lnbm1lbnROYW1lIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+RGF5IE9mZjwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImFzc2lnbmVkLXJlZ3VsYXItZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDwhLS0gPGgxPjwvaDE+IC0tPlxuICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwXCI+e3sgZGF0YS5hc3NpZ25tZW50TmFtZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPlJlZyBEYXk8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9ucmNsLXNjaGVkdWxlPlxuXG4iXX0=
@@ -59,7 +59,7 @@ export class ScheduleComponent extends RowListBase {
59
59
  loadRowList() {
60
60
  if (!this.provider?.startloadSchedule)
61
61
  throw Error('ScheduleComponent.provider.startloadSchedule not set');
62
- return this.provider.startloadSchedule(super.loadRowList);
62
+ return this.provider.startloadSchedule(() => { return super.loadRowList(); });
63
63
  }
64
64
  fetchRowListPage() {
65
65
  if (!this.provider?.fetchSchedule)
@@ -144,13 +144,13 @@ export class ScheduleComponent extends RowListBase {
144
144
  }) || [];
145
145
  }
146
146
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScheduleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScheduleComponent, selector: "nrcl-schedule", inputs: { provider: "provider", startDate: "startDate", weekStart: ["weekStart", "weekStart", numberAttribute], dayCount: ["dayCount", "dayCount", numberAttribute], menu: "menu" }, host: { properties: { "style.--nrcl-schedule-day-count": "this.dayCount" } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ScheduleRowHeadingDirective, descendants: true }, { propertyName: "itemTemplates", predicate: ScheduleItemDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ( rows?.length > 0 ) {\n <div class=\"schedule\">\n <div class=\"upper-left\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"row weeks\">\n @for ( week of _weeks; track $index ) {\n @if ( week.span == 1 ) {\n <div class=\"week\">\n {{ week.start }}\n </div>\n }\n @else {\n <div class=\"week\" [style.grid-column]=\"'span ' + week.span\">\n {{ week.start }} - {{ week.end }}\n </div>\n }\n }\n </div>\n\n <div class=\"row days\"> \n @for ( day of _days; track $index ) {\n <div class=\"day\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.first]=\"day.isFirst\"\n >\n <div class=\"day-name\">{{ day.dayName }}</div>\n <div class=\"date\">{{ day.monthDay }}</div>\n </div>\n }\n </div>\n\n @for ( row of rows | paginate: paginateState( 'nrcl-schedule' ); track row.id; let rowIndex = $index ) {\n <div class=\"row items\">\n <div class=\"outer heading\">\n <div class=\"inner heading\">\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate?.template\" \n [ngTemplateOutletContext]=\"{ $implicit: row.heading }\" \n ></ng-container>\n </div>\n </div> \n\n @if ( row.items | async; as rowItems ) {\n @for ( item of rowItems; track item.id; let colIndex = $index ) {\n <div class=\"outer item\"\n [class.menu-open]=\"itemMenu.menuOpen\"\n >\n <div class=\"inner item\" #itemMenu=\"matMenuTrigger\"\n [class]=\"'item-' + item.name\" \n matRipple\n [matMenuTriggerFor]=\"menu\"\n [matMenuTriggerData]=\"{ $implicit: { item: item, heading: row.heading } }\"\n [matTooltip]=\"item?.tooltip?.()\"\n matTooltipClass=\"nrcl-schedule-multiline\"\n [class.travel]=\"item?.travel\"\n >\n <ng-container \n [ngTemplateOutlet]=\"_templates[ rowIndex ][ colIndex ] || empty\" \n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n \n @let icons = item?.icons?.();\n @if ( icons && icons.length > 0 ) {\n <div class=\"icons\">\n @for ( icon of icons; track icon ) {\n <nrcl-icon small>{{ icon }}</nrcl-icon>\n } \n </div>\n }\n </div>\n </div>\n }\n }\n @else {\n @for ( day of _days; track day ) {\n <div class=\"item item-loading\"></div>\n }\n }\n </div>\n }\n </div>\n\n <nrcl-gap/>\n}\n\n<nrcl-row-list-pagination\n paginationId=\"nrcl-schedule\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n></nrcl-row-list-pagination>\n\n<ng-template #empty>\n <div class=\"empty\">(empty)</div>\n</ng-template>\n", styles: ["::ng-deep :root{--nrcl-schedule-border-color: #c6c8cb;--nrcl-schedule-background-color: white;--nrcl-schedule-alternate-background-color: #f2f2f2;--nrcl-schedule-hover-background-color: #d7d7d7;--nrcl-schedule-row-weeks-height: 30px;--nrcl-schedule-row-weeks-font-size: 15px;--nrcl-schedule-row-weeks-font-weight: bold;--nrcl-schedule-row-weeks-foreground-color: black;--nrcl-schedule-row-days-height: 45px;--nrcl-schedule-row-days-font-size: 15px;--nrcl-schedule-row-days-font-weight: normal;--nrcl-schedule-row-days-foreground-color: black;--nrcl-schedule-row-days-weekend-background-color: #e0f8fc;--nrcl-schedule-row-days-today-background-color: #fcf8d9;--nrcl-schedule-row-schedule-height: 70px;--nrcl-schedule-heading-width: 300px;--nrcl-schedule-item-width: 80px}:host{display:flex;flex-direction:column;font-family:var(--nrcl-font-family)}:host .schedule{display:grid;grid-template-columns:var(--nrcl-schedule-heading-width) repeat(var(--nrcl-schedule-day-count),var(--nrcl-schedule-item-width));overflow:auto;height:100%;flex-grow:1}:host .schedule .upper-left{grid-row:1/span 2;grid-column:1;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color);position:sticky;top:0;left:0;z-index:2;background:var(--nrcl-schedule-background-color)}:host .schedule .row{display:contents}:host .schedule .row.weeks>*{height:var(--nrcl-schedule-row-weeks-height)}:host .schedule .row.days>*{height:var(--nrcl-schedule-row-days-height)}:host .schedule .row .outer.heading,:host .schedule .row .day,:host .schedule .row .week{border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.heading{border-left:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.item:last-child{border-right:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row:last-child .outer.item{border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .week{border-top:1px solid var(--nrcl-schedule-border-color);display:flex;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-weeks-font-size);font-weight:var(--nrcl-schedule-row-weeks-font-weight);color:var(--nrcl-schedule-row-weeks-foreground-color);position:sticky;top:0;background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-days-font-size);font-weight:var(--nrcl-schedule-row-days-font-weight);color:var(--nrcl-schedule-row-days-foreground-color);position:sticky;top:calc(var(--nrcl-schedule-row-weeks-height) + 2px);background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day .day-name{font-size:13px}:host .schedule .row .day.weekend{background-color:var(--nrcl-schedule-row-days-weekend-background-color)}:host .schedule .row .day.today{background-color:var(--nrcl-schedule-row-days-today-background-color)}:host .schedule .row .day.first:after{content:\"\";position:absolute;top:0;left:0;bottom:0;border-left:2px solid black}:host .schedule .row.items .outer.item{padding:2px;box-sizing:border-box;height:var(--nrcl-schedule-row-schedule-height);display:flex;flex-direction:column;justify-content:stretch;align-items:stretch}:host .schedule .row.items .outer.item.menu-open,:host .schedule .row.items .outer.item:hover{background-color:#000;border-radius:6px}:host .schedule .row.items .outer.item .item{flex-grow:1;cursor:pointer;border-radius:4px;position:relative;padding:4px 4px 8px}:host .schedule .row.items .outer.item .item .icons{position:absolute;right:2px;bottom:2px;display:flex;flex-direction:column;gap:2px;background-color:#f1ebe4;border-radius:4px;padding:3px}:host .schedule .row.items .outer.item .item.travel{position:relative}:host .schedule .row.items .outer.item .item.travel:after{content:\"\";position:absolute;inset:0 0 2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAABAQMAAAD+YPzoAAAABlBMVEX///8AAABVwtN+AAAAAnRSTlP/AOW3MEoAAAAMSURBVHicY+BwEgAAALAAW97nJhUAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:calc(100% - 8px) 3px;background-position:bottom}:host .schedule .row.items .outer.item .item.travel:hover:after{filter:brightness(0)}:host .schedule .row.items .outer.heading{box-sizing:border-box;cursor:default;position:sticky;left:0;z-index:1;height:var(--nrcl-schedule-row-schedule-height)}:host .schedule .row.items .outer.heading .heading{flex-grow:1;cursor:default;height:100%}:host .schedule .row:nth-child(odd) .outer{background-color:var(--nrcl-schedule-background-color)}:host .schedule .row:nth-child(2n) .outer{background-color:var(--nrcl-schedule-alternate-background-color)}:host .schedule .row:hover .outer{background-color:var(--nrcl-schedule-hover-background-color)}.empty{height:100%;display:flex;justify-content:center;align-items:center;color:#aaa}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical", "divider"] }, { kind: "component", type: i6.RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: ["paginationId", "pageSizeOptions", "pageSize", "pageNumber", "rowCount", "showPageSize", "noRowsMessage"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "component", type: i7.IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.PaginatePipe, name: "paginate" }] }); }
147
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScheduleComponent, selector: "nrcl-schedule", inputs: { provider: "provider", startDate: "startDate", weekStart: ["weekStart", "weekStart", numberAttribute], dayCount: ["dayCount", "dayCount", numberAttribute], menu: "menu" }, host: { properties: { "style.--nrcl-schedule-day-count": "this.dayCount" } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ScheduleRowHeadingDirective, descendants: true }, { propertyName: "itemTemplates", predicate: ScheduleItemDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ( rows?.length > 0 ) {\n <div class=\"schedule\">\n <div class=\"upper-left\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"row weeks\">\n @for ( week of _weeks; track $index ) {\n @if ( week.span == 1 ) {\n <div class=\"week\">\n {{ week.start }}\n </div>\n }\n @else {\n <div class=\"week\" [style.grid-column]=\"'span ' + week.span\">\n {{ week.start }} - {{ week.end }}\n </div>\n }\n }\n </div>\n\n <div class=\"row days\"> \n @for ( day of _days; track $index ) {\n <div class=\"day\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.first]=\"day.isFirst\"\n >\n <div class=\"day-name\">{{ day.dayName }}</div>\n <div class=\"date\">{{ day.monthDay }}</div>\n </div>\n }\n </div>\n\n @for ( row of rows | paginate: paginateState( 'nrcl-schedule' ); track row.id; let rowIndex = $index ) {\n <div class=\"row items\">\n <div class=\"outer heading\">\n <div class=\"inner heading\">\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate?.template\" \n [ngTemplateOutletContext]=\"{ $implicit: row.heading }\" \n ></ng-container>\n </div>\n </div> \n\n @if ( row.items | async; as rowItems ) {\n @for ( item of rowItems; track item.id; let colIndex = $index ) {\n <div class=\"outer item\"\n [class.menu-open]=\"itemMenu.menuOpen\"\n >\n <div class=\"inner item\" #itemMenu=\"matMenuTrigger\"\n [class]=\"'item-' + item.name\" \n matRipple\n [matMenuTriggerFor]=\"menu\"\n [matMenuTriggerData]=\"{ $implicit: { item: item, heading: row.heading } }\"\n [matTooltip]=\"item?.tooltip?.()\"\n matTooltipClass=\"nrcl-schedule-multiline\"\n [class.travel]=\"item?.travel\"\n >\n <ng-container \n [ngTemplateOutlet]=\"_templates[ rowIndex ][ colIndex ] || empty\" \n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n \n @let icons = item?.icons?.();\n @if ( icons && icons.length > 0 ) {\n <div class=\"icons\">\n @for ( icon of icons; track icon ) {\n <nrcl-icon small>{{ icon }}</nrcl-icon>\n } \n </div>\n }\n </div>\n </div>\n }\n }\n @else {\n @for ( day of _days; track day ) {\n <div class=\"item item-loading\"></div>\n }\n }\n </div>\n }\n </div>\n\n <nrcl-gap/>\n}\n\n<nrcl-row-list-pagination\n paginationId=\"nrcl-schedule\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n></nrcl-row-list-pagination>\n\n<ng-template #empty>\n</ng-template>\n", styles: ["::ng-deep :root{--nrcl-schedule-border-color: #c6c8cb;--nrcl-schedule-background-color: white;--nrcl-schedule-alternate-background-color: #f2f2f2;--nrcl-schedule-hover-background-color: #d7d7d7;--nrcl-schedule-row-weeks-height: 30px;--nrcl-schedule-row-weeks-font-size: 15px;--nrcl-schedule-row-weeks-font-weight: bold;--nrcl-schedule-row-weeks-foreground-color: black;--nrcl-schedule-row-days-height: 45px;--nrcl-schedule-row-days-font-size: 15px;--nrcl-schedule-row-days-font-weight: normal;--nrcl-schedule-row-days-foreground-color: black;--nrcl-schedule-row-days-weekend-background-color: #e0f8fc;--nrcl-schedule-row-days-today-background-color: #fcf8d9;--nrcl-schedule-row-schedule-height: 70px;--nrcl-schedule-heading-width: 300px;--nrcl-schedule-item-width: 80px}:host{display:flex;flex-direction:column;font-family:var(--nrcl-font-family)}:host .schedule{display:grid;grid-template-columns:var(--nrcl-schedule-heading-width) repeat(var(--nrcl-schedule-day-count),var(--nrcl-schedule-item-width));overflow:auto;height:100%;flex-grow:1}:host .schedule .upper-left{grid-row:1/span 2;grid-column:1;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color);position:sticky;top:0;left:0;z-index:2;background:var(--nrcl-schedule-background-color)}:host .schedule .row{display:contents}:host .schedule .row.weeks>*{height:var(--nrcl-schedule-row-weeks-height)}:host .schedule .row.days>*{height:var(--nrcl-schedule-row-days-height)}:host .schedule .row .outer.heading,:host .schedule .row .day,:host .schedule .row .week{border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.heading{border-left:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.item:last-child{border-right:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row:last-child .outer.item{border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .week{border-top:1px solid var(--nrcl-schedule-border-color);display:flex;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-weeks-font-size);font-weight:var(--nrcl-schedule-row-weeks-font-weight);color:var(--nrcl-schedule-row-weeks-foreground-color);position:sticky;top:0;background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-days-font-size);font-weight:var(--nrcl-schedule-row-days-font-weight);color:var(--nrcl-schedule-row-days-foreground-color);position:sticky;top:calc(var(--nrcl-schedule-row-weeks-height) + 2px);background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day .day-name{font-size:13px}:host .schedule .row .day.weekend{background-color:var(--nrcl-schedule-row-days-weekend-background-color)}:host .schedule .row .day.today{background-color:var(--nrcl-schedule-row-days-today-background-color)}:host .schedule .row .day.first:after{content:\"\";position:absolute;top:0;left:0;bottom:0;border-left:2px solid black}:host .schedule .row.items .outer.item{box-sizing:border-box;height:var(--nrcl-schedule-row-schedule-height);display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row.items .outer.item:hover .item{background-color:#06e;color:#fff}:host .schedule .row.items .outer.item.menu-open .item{background-color:#036;color:#fff}:host .schedule .row.items .outer.item .item{flex-grow:1;cursor:pointer;position:relative;padding:4px 4px 8px}:host .schedule .row.items .outer.item .item .icons{position:absolute;right:2px;bottom:2px;display:flex;gap:2px;background-color:#f1ebe4;border-radius:4px;padding:3px;color:var(--nrcl-schedule-row-days-foreground-color)}:host .schedule .row.items .outer.item .item.travel{position:relative}:host .schedule .row.items .outer.item .item.travel:after{content:\"\";position:absolute;inset:0 0 2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAABAQMAAAD+YPzoAAAABlBMVEX///8AAABVwtN+AAAAAnRSTlP/AOW3MEoAAAAMSURBVHicY+BwEgAAALAAW97nJhUAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:calc(100% - 8px) 3px;background-position:bottom}:host .schedule .row.items .outer.heading{box-sizing:border-box;cursor:default;position:sticky;left:0;z-index:1;height:var(--nrcl-schedule-row-schedule-height)}:host .schedule .row.items .outer.heading .heading{flex-grow:1;cursor:default;height:100%}:host .schedule .row:nth-child(odd) .outer{background-color:var(--nrcl-schedule-background-color)}:host .schedule .row:nth-child(2n) .outer{background-color:var(--nrcl-schedule-alternate-background-color)}:host .schedule .row:hover .outer{background-color:var(--nrcl-schedule-hover-background-color)}.empty{height:100%;display:flex;justify-content:center;align-items:center;color:#aaa}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical", "divider"] }, { kind: "component", type: i6.RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: ["paginationId", "pageSizeOptions", "pageSize", "pageNumber", "rowCount", "showPageSize", "noRowsMessage"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "component", type: i7.IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.PaginatePipe, name: "paginate" }] }); }
148
148
  }
149
149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScheduleComponent, decorators: [{
150
150
  type: Component,
151
151
  args: [{ selector: 'nrcl-schedule', host: {
152
152
  '[style.--nrcl-schedule-day-count]': 'this.dayCount'
153
- }, template: "@if ( rows?.length > 0 ) {\n <div class=\"schedule\">\n <div class=\"upper-left\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"row weeks\">\n @for ( week of _weeks; track $index ) {\n @if ( week.span == 1 ) {\n <div class=\"week\">\n {{ week.start }}\n </div>\n }\n @else {\n <div class=\"week\" [style.grid-column]=\"'span ' + week.span\">\n {{ week.start }} - {{ week.end }}\n </div>\n }\n }\n </div>\n\n <div class=\"row days\"> \n @for ( day of _days; track $index ) {\n <div class=\"day\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.first]=\"day.isFirst\"\n >\n <div class=\"day-name\">{{ day.dayName }}</div>\n <div class=\"date\">{{ day.monthDay }}</div>\n </div>\n }\n </div>\n\n @for ( row of rows | paginate: paginateState( 'nrcl-schedule' ); track row.id; let rowIndex = $index ) {\n <div class=\"row items\">\n <div class=\"outer heading\">\n <div class=\"inner heading\">\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate?.template\" \n [ngTemplateOutletContext]=\"{ $implicit: row.heading }\" \n ></ng-container>\n </div>\n </div> \n\n @if ( row.items | async; as rowItems ) {\n @for ( item of rowItems; track item.id; let colIndex = $index ) {\n <div class=\"outer item\"\n [class.menu-open]=\"itemMenu.menuOpen\"\n >\n <div class=\"inner item\" #itemMenu=\"matMenuTrigger\"\n [class]=\"'item-' + item.name\" \n matRipple\n [matMenuTriggerFor]=\"menu\"\n [matMenuTriggerData]=\"{ $implicit: { item: item, heading: row.heading } }\"\n [matTooltip]=\"item?.tooltip?.()\"\n matTooltipClass=\"nrcl-schedule-multiline\"\n [class.travel]=\"item?.travel\"\n >\n <ng-container \n [ngTemplateOutlet]=\"_templates[ rowIndex ][ colIndex ] || empty\" \n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n \n @let icons = item?.icons?.();\n @if ( icons && icons.length > 0 ) {\n <div class=\"icons\">\n @for ( icon of icons; track icon ) {\n <nrcl-icon small>{{ icon }}</nrcl-icon>\n } \n </div>\n }\n </div>\n </div>\n }\n }\n @else {\n @for ( day of _days; track day ) {\n <div class=\"item item-loading\"></div>\n }\n }\n </div>\n }\n </div>\n\n <nrcl-gap/>\n}\n\n<nrcl-row-list-pagination\n paginationId=\"nrcl-schedule\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n></nrcl-row-list-pagination>\n\n<ng-template #empty>\n <div class=\"empty\">(empty)</div>\n</ng-template>\n", styles: ["::ng-deep :root{--nrcl-schedule-border-color: #c6c8cb;--nrcl-schedule-background-color: white;--nrcl-schedule-alternate-background-color: #f2f2f2;--nrcl-schedule-hover-background-color: #d7d7d7;--nrcl-schedule-row-weeks-height: 30px;--nrcl-schedule-row-weeks-font-size: 15px;--nrcl-schedule-row-weeks-font-weight: bold;--nrcl-schedule-row-weeks-foreground-color: black;--nrcl-schedule-row-days-height: 45px;--nrcl-schedule-row-days-font-size: 15px;--nrcl-schedule-row-days-font-weight: normal;--nrcl-schedule-row-days-foreground-color: black;--nrcl-schedule-row-days-weekend-background-color: #e0f8fc;--nrcl-schedule-row-days-today-background-color: #fcf8d9;--nrcl-schedule-row-schedule-height: 70px;--nrcl-schedule-heading-width: 300px;--nrcl-schedule-item-width: 80px}:host{display:flex;flex-direction:column;font-family:var(--nrcl-font-family)}:host .schedule{display:grid;grid-template-columns:var(--nrcl-schedule-heading-width) repeat(var(--nrcl-schedule-day-count),var(--nrcl-schedule-item-width));overflow:auto;height:100%;flex-grow:1}:host .schedule .upper-left{grid-row:1/span 2;grid-column:1;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color);position:sticky;top:0;left:0;z-index:2;background:var(--nrcl-schedule-background-color)}:host .schedule .row{display:contents}:host .schedule .row.weeks>*{height:var(--nrcl-schedule-row-weeks-height)}:host .schedule .row.days>*{height:var(--nrcl-schedule-row-days-height)}:host .schedule .row .outer.heading,:host .schedule .row .day,:host .schedule .row .week{border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.heading{border-left:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.item:last-child{border-right:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row:last-child .outer.item{border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .week{border-top:1px solid var(--nrcl-schedule-border-color);display:flex;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-weeks-font-size);font-weight:var(--nrcl-schedule-row-weeks-font-weight);color:var(--nrcl-schedule-row-weeks-foreground-color);position:sticky;top:0;background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-days-font-size);font-weight:var(--nrcl-schedule-row-days-font-weight);color:var(--nrcl-schedule-row-days-foreground-color);position:sticky;top:calc(var(--nrcl-schedule-row-weeks-height) + 2px);background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day .day-name{font-size:13px}:host .schedule .row .day.weekend{background-color:var(--nrcl-schedule-row-days-weekend-background-color)}:host .schedule .row .day.today{background-color:var(--nrcl-schedule-row-days-today-background-color)}:host .schedule .row .day.first:after{content:\"\";position:absolute;top:0;left:0;bottom:0;border-left:2px solid black}:host .schedule .row.items .outer.item{padding:2px;box-sizing:border-box;height:var(--nrcl-schedule-row-schedule-height);display:flex;flex-direction:column;justify-content:stretch;align-items:stretch}:host .schedule .row.items .outer.item.menu-open,:host .schedule .row.items .outer.item:hover{background-color:#000;border-radius:6px}:host .schedule .row.items .outer.item .item{flex-grow:1;cursor:pointer;border-radius:4px;position:relative;padding:4px 4px 8px}:host .schedule .row.items .outer.item .item .icons{position:absolute;right:2px;bottom:2px;display:flex;flex-direction:column;gap:2px;background-color:#f1ebe4;border-radius:4px;padding:3px}:host .schedule .row.items .outer.item .item.travel{position:relative}:host .schedule .row.items .outer.item .item.travel:after{content:\"\";position:absolute;inset:0 0 2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAABAQMAAAD+YPzoAAAABlBMVEX///8AAABVwtN+AAAAAnRSTlP/AOW3MEoAAAAMSURBVHicY+BwEgAAALAAW97nJhUAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:calc(100% - 8px) 3px;background-position:bottom}:host .schedule .row.items .outer.item .item.travel:hover:after{filter:brightness(0)}:host .schedule .row.items .outer.heading{box-sizing:border-box;cursor:default;position:sticky;left:0;z-index:1;height:var(--nrcl-schedule-row-schedule-height)}:host .schedule .row.items .outer.heading .heading{flex-grow:1;cursor:default;height:100%}:host .schedule .row:nth-child(odd) .outer{background-color:var(--nrcl-schedule-background-color)}:host .schedule .row:nth-child(2n) .outer{background-color:var(--nrcl-schedule-alternate-background-color)}:host .schedule .row:hover .outer{background-color:var(--nrcl-schedule-hover-background-color)}.empty{height:100%;display:flex;justify-content:center;align-items:center;color:#aaa}\n"] }]
153
+ }, template: "@if ( rows?.length > 0 ) {\n <div class=\"schedule\">\n <div class=\"upper-left\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"row weeks\">\n @for ( week of _weeks; track $index ) {\n @if ( week.span == 1 ) {\n <div class=\"week\">\n {{ week.start }}\n </div>\n }\n @else {\n <div class=\"week\" [style.grid-column]=\"'span ' + week.span\">\n {{ week.start }} - {{ week.end }}\n </div>\n }\n }\n </div>\n\n <div class=\"row days\"> \n @for ( day of _days; track $index ) {\n <div class=\"day\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.first]=\"day.isFirst\"\n >\n <div class=\"day-name\">{{ day.dayName }}</div>\n <div class=\"date\">{{ day.monthDay }}</div>\n </div>\n }\n </div>\n\n @for ( row of rows | paginate: paginateState( 'nrcl-schedule' ); track row.id; let rowIndex = $index ) {\n <div class=\"row items\">\n <div class=\"outer heading\">\n <div class=\"inner heading\">\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate?.template\" \n [ngTemplateOutletContext]=\"{ $implicit: row.heading }\" \n ></ng-container>\n </div>\n </div> \n\n @if ( row.items | async; as rowItems ) {\n @for ( item of rowItems; track item.id; let colIndex = $index ) {\n <div class=\"outer item\"\n [class.menu-open]=\"itemMenu.menuOpen\"\n >\n <div class=\"inner item\" #itemMenu=\"matMenuTrigger\"\n [class]=\"'item-' + item.name\" \n matRipple\n [matMenuTriggerFor]=\"menu\"\n [matMenuTriggerData]=\"{ $implicit: { item: item, heading: row.heading } }\"\n [matTooltip]=\"item?.tooltip?.()\"\n matTooltipClass=\"nrcl-schedule-multiline\"\n [class.travel]=\"item?.travel\"\n >\n <ng-container \n [ngTemplateOutlet]=\"_templates[ rowIndex ][ colIndex ] || empty\" \n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n \n @let icons = item?.icons?.();\n @if ( icons && icons.length > 0 ) {\n <div class=\"icons\">\n @for ( icon of icons; track icon ) {\n <nrcl-icon small>{{ icon }}</nrcl-icon>\n } \n </div>\n }\n </div>\n </div>\n }\n }\n @else {\n @for ( day of _days; track day ) {\n <div class=\"item item-loading\"></div>\n }\n }\n </div>\n }\n </div>\n\n <nrcl-gap/>\n}\n\n<nrcl-row-list-pagination\n paginationId=\"nrcl-schedule\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n></nrcl-row-list-pagination>\n\n<ng-template #empty>\n</ng-template>\n", styles: ["::ng-deep :root{--nrcl-schedule-border-color: #c6c8cb;--nrcl-schedule-background-color: white;--nrcl-schedule-alternate-background-color: #f2f2f2;--nrcl-schedule-hover-background-color: #d7d7d7;--nrcl-schedule-row-weeks-height: 30px;--nrcl-schedule-row-weeks-font-size: 15px;--nrcl-schedule-row-weeks-font-weight: bold;--nrcl-schedule-row-weeks-foreground-color: black;--nrcl-schedule-row-days-height: 45px;--nrcl-schedule-row-days-font-size: 15px;--nrcl-schedule-row-days-font-weight: normal;--nrcl-schedule-row-days-foreground-color: black;--nrcl-schedule-row-days-weekend-background-color: #e0f8fc;--nrcl-schedule-row-days-today-background-color: #fcf8d9;--nrcl-schedule-row-schedule-height: 70px;--nrcl-schedule-heading-width: 300px;--nrcl-schedule-item-width: 80px}:host{display:flex;flex-direction:column;font-family:var(--nrcl-font-family)}:host .schedule{display:grid;grid-template-columns:var(--nrcl-schedule-heading-width) repeat(var(--nrcl-schedule-day-count),var(--nrcl-schedule-item-width));overflow:auto;height:100%;flex-grow:1}:host .schedule .upper-left{grid-row:1/span 2;grid-column:1;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color);position:sticky;top:0;left:0;z-index:2;background:var(--nrcl-schedule-background-color)}:host .schedule .row{display:contents}:host .schedule .row.weeks>*{height:var(--nrcl-schedule-row-weeks-height)}:host .schedule .row.days>*{height:var(--nrcl-schedule-row-days-height)}:host .schedule .row .outer.heading,:host .schedule .row .day,:host .schedule .row .week{border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.heading{border-left:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.item:last-child{border-right:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row:last-child .outer.item{border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .week{border-top:1px solid var(--nrcl-schedule-border-color);display:flex;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-weeks-font-size);font-weight:var(--nrcl-schedule-row-weeks-font-weight);color:var(--nrcl-schedule-row-weeks-foreground-color);position:sticky;top:0;background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-days-font-size);font-weight:var(--nrcl-schedule-row-days-font-weight);color:var(--nrcl-schedule-row-days-foreground-color);position:sticky;top:calc(var(--nrcl-schedule-row-weeks-height) + 2px);background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day .day-name{font-size:13px}:host .schedule .row .day.weekend{background-color:var(--nrcl-schedule-row-days-weekend-background-color)}:host .schedule .row .day.today{background-color:var(--nrcl-schedule-row-days-today-background-color)}:host .schedule .row .day.first:after{content:\"\";position:absolute;top:0;left:0;bottom:0;border-left:2px solid black}:host .schedule .row.items .outer.item{box-sizing:border-box;height:var(--nrcl-schedule-row-schedule-height);display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row.items .outer.item:hover .item{background-color:#06e;color:#fff}:host .schedule .row.items .outer.item.menu-open .item{background-color:#036;color:#fff}:host .schedule .row.items .outer.item .item{flex-grow:1;cursor:pointer;position:relative;padding:4px 4px 8px}:host .schedule .row.items .outer.item .item .icons{position:absolute;right:2px;bottom:2px;display:flex;gap:2px;background-color:#f1ebe4;border-radius:4px;padding:3px;color:var(--nrcl-schedule-row-days-foreground-color)}:host .schedule .row.items .outer.item .item.travel{position:relative}:host .schedule .row.items .outer.item .item.travel:after{content:\"\";position:absolute;inset:0 0 2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAABAQMAAAD+YPzoAAAABlBMVEX///8AAABVwtN+AAAAAnRSTlP/AOW3MEoAAAAMSURBVHicY+BwEgAAALAAW97nJhUAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:calc(100% - 8px) 3px;background-position:bottom}:host .schedule .row.items .outer.heading{box-sizing:border-box;cursor:default;position:sticky;left:0;z-index:1;height:var(--nrcl-schedule-row-schedule-height)}:host .schedule .row.items .outer.heading .heading{flex-grow:1;cursor:default;height:100%}:host .schedule .row:nth-child(odd) .outer{background-color:var(--nrcl-schedule-background-color)}:host .schedule .row:nth-child(2n) .outer{background-color:var(--nrcl-schedule-alternate-background-color)}:host .schedule .row:hover .outer{background-color:var(--nrcl-schedule-hover-background-color)}.empty{height:100%;display:flex;justify-content:center;align-items:center;color:#aaa}\n"] }]
154
154
  }], propDecorators: { provider: [{
155
155
  type: Input
156
156
  }], startDate: [{
@@ -170,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
170
170
  type: ContentChild,
171
171
  args: [ScheduleRowHeadingDirective]
172
172
  }] } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvc2NoZWR1bGUvc2NoZWR1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvc2NoZWR1bGUvc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFvRCxNQUFNLGVBQWUsQ0FBQztBQUU5SixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7O0FBSzdELE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsWUFDVyxRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUNuQyxDQUFDOytHQUhNLDJCQUEyQjttR0FBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFFO29CQUNSLFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3ZDOztBQU9ELG1GQUFtRjtBQUtuRixNQUFNLE9BQU8scUJBQXFCO0lBRzlCLFlBQ1csUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFDbkMsQ0FBQzsrR0FMTSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBRTtvQkFDUixRQUFRLEVBQUUsb0JBQW9CO2lCQUNqQztnRkFFZ0MsSUFBSTtzQkFBaEMsS0FBSzt1QkFBRSxrQkFBa0I7O0FBc0Q5QixtRkFBbUY7QUFVbkYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQTJCO0lBUmxFOztR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QUFJLEVBQUUsQ0FBQTtJQUNiLENBQUM7K0dBOUhRLGlCQUFpQjttR0FBakIsaUJBQWlCLDJIQUdMLGVBQWUsc0NBQ2YsZUFBZSxxS0FJdEIsMkJBQTJCLG1FQUR4QixxQkFBcUIseUVDN0YxQyxzbUlBb0dBOzs0RkRkYSxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0ksZUFBZSxRQUduQjt3QkFDRixtQ0FBbUMsRUFBRSxlQUFlO3FCQUN2RDs4QkFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ21DLFNBQVM7c0JBQWpELEtBQUs7dUJBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUNHLFFBQVE7c0JBQWhELEtBQUs7dUJBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUM3QixJQUFJO3NCQUFaLEtBQUs7Z0JBRWtDLGFBQWE7c0JBQXBELGVBQWU7dUJBQUMscUJBQXFCO2dCQUNLLGNBQWM7c0JBQXhELFlBQVk7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBJbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBPbkNoYW5nZXMsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdE1lbnVQYW5lbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGFnaW5hdGlvblN0YXRlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9wYWdpbmF0aW9uLmJhc2UnO1xuaW1wb3J0IHsgUm93TGlzdEJhc2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Jvdy1saXN0LmJhc2UnO1xuXG5ARGlyZWN0aXZlKCB7XG4gICAgc2VsZWN0b3I6ICdbbnJjbFNjaGVkdWxlUm93SGVhZGluZ10nXG59IClcbmV4cG9ydCBjbGFzcyBTY2hlZHVsZVJvd0hlYWRpbmdEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT5cbiAgICApe31cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQERpcmVjdGl2ZSgge1xuICAgIHNlbGVjdG9yOiAnW25yY2xTY2hlZHVsZUl0ZW1dJ1xufSApXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVJdGVtRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoICducmNsU2NoZWR1bGVJdGVtJyApIG5hbWU/OiBzdHJpbmdcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT5cbiAgICApe31cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgU2NoZWR1bGVSb3dJdGVtID0ge1xuICAgIGlkOiBzdHJpbmcsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGljb25zPzogKCkgPT4gc3RyaW5nW10sXG4gICAgdG9vbHRpcD86ICgpID0+IHN0cmluZyxcbiAgICB0cmF2ZWw/OiBib29sZWFuLFxufVxuXG5leHBvcnQgdHlwZSBTY2hlZHVsZVJvdyA9IHtcbiAgICBpZD86IHN0cmluZyxcbiAgICBoZWFkaW5nOiBhbnksXG4gICAgaXRlbXM6IFByb21pc2U8U2NoZWR1bGVSb3dJdGVtW10+XG59XG5cbmV4cG9ydCB0eXBlIFNjaGVkdWxlID0gU2NoZWR1bGVSb3dbXVxuXG50eXBlIERheSA9IHtcbiAgICBkYXlOYW1lOiBzdHJpbmcsXG4gICAgbW9udGhEYXk6IG51bWJlcixcbiAgICBkYXRlOiBzdHJpbmcsXG4gICAgaXNXZWVrZW5kOiBib29sZWFuLFxuICAgIGlzVG9kYXk6IGJvb2xlYW4sXG4gICAgaXNGaXJzdDogYm9vbGVhblxufVxuXG50eXBlIFdlZWsgPSB7XG4gICAgc3RhcnQ6IHN0cmluZyxcbiAgICBlbmQ6IHN0cmluZyxcbiAgICBzcGFuOiBudW1iZXJcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZXhwb3J0IHR5cGUgRmV0Y2hTY2hlZHVsZVJvd1BhcmFtZXRlcnMgPSB7XG4gICAgcmVzb3VyY2VJZDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZWR1bGVQcm92aWRlciB7XG4gICAgc3RhcnRsb2FkU2NoZWR1bGUoIGlubmVyOiAoKSA9PiBQcm9taXNlPGFueT4gKTogUHJvbWlzZTxhbnk+XG4gICAgZmV0Y2hTY2hlZHVsZSgpOiBPYnNlcnZhYmxlPGFueT5cbiAgICBwYXJzZVNjaGVkdWxlKCByZXM6IGFueSApOiBTY2hlZHVsZVxuICAgIGdldEluaXRpYWxQYWdlU3RhdGUoKTogUGFnaW5hdGlvblN0YXRlPHt9PlxuICAgIGNvbXBsZXRlZExvYWRTY2hlZHVsZSggaW5uZXI6ICgpID0+IHZvaWQgKTogYW55XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBDb21wb25lbnQoIHtcbiAgICBzZWxlY3RvcjogJ25yY2wtc2NoZWR1bGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zY2hlZHVsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3NjaGVkdWxlLmNvbXBvbmVudC5zY3NzJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbc3R5bGUuLS1ucmNsLXNjaGVkdWxlLWRheS1jb3VudF0nOiAndGhpcy5kYXlDb3VudCdcbiAgICB9XG59IClcbmV4cG9ydCBjbGFzcyBTY2hlZHVsZUNvbXBvbmVudCBleHRlbmRzIFJvd0xpc3RCYXNlPHt9LFNjaGVkdWxlUm93PiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcHJvdmlkZXI/OiBTY2hlZHVsZVByb3ZpZGVyXG4gICAgQElucHV0KCkgc3RhcnREYXRlPzogc3RyaW5nXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0gKSB3ZWVrU3RhcnQgPSAwXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0gKSBkYXlDb3VudD86IG51bWJlclxuICAgIEBJbnB1dCgpIG1lbnU/OiBNYXRNZW51UGFuZWxcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oU2NoZWR1bGVJdGVtRGlyZWN0aXZlKSBpdGVtVGVtcGxhdGVzITogUXVlcnlMaXN0PFNjaGVkdWxlSXRlbURpcmVjdGl2ZT47XG4gICAgQENvbnRlbnRDaGlsZChTY2hlZHVsZVJvd0hlYWRpbmdEaXJlY3RpdmUpIGhlYWRlclRlbXBsYXRlITogU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlXG5cbiAgICBwcm90ZWN0ZWQgX2RheXM6IERheVtdID0gW11cbiAgICBwcm90ZWN0ZWQgX3dlZWtzOiBXZWVrW10gPSBbXVxuICAgIHByb3RlY3RlZCBfdGVtcGxhdGVzOiBUZW1wbGF0ZVJlZjxhbnk+W11bXSA9IFtdXG5cbiAgICBuZ09uQ2hhbmdlcyggY2hhbmdlczogU2ltcGxlQ2hhbmdlcyApOiB2b2lkIHtcbiAgICAgICAgLy8gdGhpcy5yZWZyZXNoUm93TGlzdCgpXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnU2NoZWR1bGVDb21wb25lbnQubmdBZnRlclZpZXdJbml0JylcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KClcbiAgICB9XG5cbiAgICBsb2FkUm93TGlzdCgpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBpZiAoICF0aGlzLnByb3ZpZGVyPy5zdGFydGxvYWRTY2hlZHVsZSApIHRocm93IEVycm9yKCAnU2NoZWR1bGVDb21wb25lbnQucHJvdmlkZXIuc3RhcnRsb2FkU2NoZWR1bGUgbm90IHNldCcgKVxuICAgICBcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdmlkZXIuc3RhcnRsb2FkU2NoZWR1bGUoIHN1cGVyLmxvYWRSb3dMaXN0IClcbiAgICB9XG5cbiAgICBmZXRjaFJvd0xpc3RQYWdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmICggIXRoaXMucHJvdmlkZXI/LmZldGNoU2NoZWR1bGUgKSB0aHJvdyBFcnJvciggJ1NjaGVkdWxlQ29tcG9uZW50LnByb3ZpZGVyLmZldGNoU2NoZWR1bGUgbm90IHNldCcgKVxuXG4gICAgICAgIHJldHVybiB0aGlzLnByb3ZpZGVyLmZldGNoU2NoZWR1bGUoKVxuICAgIH1cblxuICAgIHBhcnNlUm93cyggcmVzOiBhbnkgKTogU2NoZWR1bGVSb3dbXSB7XG4gICAgICAgIGlmICggIXRoaXMucHJvdmlkZXI/LnBhcnNlU2NoZWR1bGUgKSB0aHJvdyBFcnJvciggJ1NjaGVkdWxlQ29tcG9uZW50LnByb3ZpZGVyLnBhcnNlU2NoZWR1bGUgbm90IHNldCcgKVxuXG4gICAgICAgIGxldCByb3dzID0gdGhpcy5wcm92aWRlci5wYXJzZVNjaGVkdWxlKCByZXMgKVxuICAgICAgICByZXR1cm4gdGhpcy5tYWtlUm93cyggcm93cyApXG4gICAgfVxuXG4gICAgZ2V0SW5pdGlhbFBhZ2VTdGF0ZSgpOiBQYWdpbmF0aW9uU3RhdGU8e30+IHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8uZ2V0SW5pdGlhbFBhZ2VTdGF0ZSApIHRocm93IEVycm9yKCAnU2NoZWR1bGVDb21wb25lbnQucHJvdmlkZXIuZ2V0SW5pdGlhbFBhZ2VTdGF0ZSBub3Qgc2V0JyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdmlkZXIuZ2V0SW5pdGlhbFBhZ2VTdGF0ZSgpXG4gICAgfVxuXG4gICAgY29tcGxldGVkUm93TGlzdFBhZ2UoKTogUGFnaW5hdGlvblN0YXRlPHt9PiB7XG4gICAgICAgIGlmICggIXRoaXMucHJvdmlkZXI/LmNvbXBsZXRlZExvYWRTY2hlZHVsZSApIHRocm93IEVycm9yKCAnU2NoZWR1bGVDb21wb25lbnQucHJvdmlkZXIuY29tcGxldGVkUm93TGlzdFBhZ2Ugbm90IHNldCcgKVxuXG4gICAgICAgIHJldHVybiB0aGlzLnByb3ZpZGVyLmNvbXBsZXRlZExvYWRTY2hlZHVsZSggc3VwZXIuY29tcGxldGVkUm93TGlzdFBhZ2UgKVxuICAgIH1cblxuICAgIG9uU2FtZVBhZ2VGaWx0ZXJDaGFuZ2UoIGV2OiB7fSApOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXIgPSBldlxuICAgICAgICB0aGlzLnJlZnJlc2hSb3dMaXN0KClcbiAgICB9XG5cbiAgICBtYWtlUm93cyggc2NoZWR1bGU6IFNjaGVkdWxlICk6IFNjaGVkdWxlIHtcbiAgICAgICAgbGV0IHN0YXJ0ID0gbW9tZW50KCB0aGlzLnN0YXJ0RGF0ZSApXG4gICAgICAgIGxldCB0b2RheSA9IG1vbWVudCgpXG5cbiAgICAgICAgdGhpcy5fd2Vla3MgPSBBcnJheS5mcm9tKCB7IGxlbmd0aDogdGhpcy5kYXlDb3VudCEgfSApLnJlZHVjZTxXZWVrW10+KCAoIGEsIHgsIGkgKSA9PiB7XG4gICAgICAgICAgICBsZXQgbSA9IHN0YXJ0LmNsb25lKCkuYWRkKCBpLCAnZGF5JyApXG4gICAgICAgICAgICBsZXQgZGF0ZSA9IG0uZm9ybWF0KCAnTU1NIEQnIClcbiAgICAgICAgICAgIGxldCBkYXkgPSBtLmRheSgpXG5cbiAgICAgICAgICAgIGlmICggYS5sZW5ndGggPT0gMCApIHJldHVybiBhLmNvbmNhdCgge1xuICAgICAgICAgICAgICAgIHN0YXJ0OiBkYXRlLFxuICAgICAgICAgICAgICAgIGVuZDogZGF0ZSxcbiAgICAgICAgICAgICAgICBzcGFuOiAxXG4gICAgICAgICAgICB9IClcblxuICAgICAgICAgICAgbGV0IHByZXYgPSBhWyBhLmxlbmd0aCAtIDEgXVxuXG4gICAgICAgICAgICBpZiAoIGRheSA9PSB0aGlzLndlZWtTdGFydCApIHJldHVybiBhLmNvbmNhdCgge1xuICAgICAgICAgICAgICAgIHN0YXJ0OiBkYXRlLFxuICAgICAgICAgICAgICAgIGVuZDogZGF0ZSxcbiAgICAgICAgICAgICAgICBzcGFuOiAxXG4gICAgICAgICAgICB9IClcblxuICAgICAgICAgICAgcHJldi5lbmQgPSBkYXRlXG4gICAgICAgICAgICBwcmV2LnNwYW4gKz0gMVxuICAgICAgICAgICAgcmV0dXJuIGFcbiAgICAgICAgfSwgW10gKVxuXG4gICAgICAgIHRoaXMuX2RheXMgPSBBcnJheS5mcm9tKCB7IGxlbmd0aDogdGhpcy5kYXlDb3VudCEgfSApLm1hcCggKCB4LCBpICkgPT4ge1xuICAgICAgICAgICAgbGV0IGQgPSBzdGFydC5jbG9uZSgpLmFkZCggaSwgJ2RheScgKVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkYXlOYW1lOiBkLmZvcm1hdCggJ2RkZCcgKSxcbiAgICAgICAgICAgICAgICBtb250aERheTogZC5kYXRlKCksXG4gICAgICAgICAgICAgICAgZGF0ZTogZC5mb3JtYXQoICdZLU1NLUREJyApLFxuICAgICAgICAgICAgICAgIGlzRmlyc3Q6IGQuZGF0ZSgpID09IDEsXG4gICAgICAgICAgICAgICAgaXNXZWVrZW5kOiBkLmRheSgpID09IDAgfHwgZC5kYXkoKSA9PSA2LFxuICAgICAgICAgICAgICAgIGlzVG9kYXk6IGQuaXNTYW1lKCB0b2RheSwgJ2RheScgKSxcblxuICAgICAgICAgICAgfVxuICAgICAgICB9IClcblxuICAgICAgICB0aGlzLl90ZW1wbGF0ZXMgPSBBcnJheS5mcm9tKCB7IGxlbmd0aDogc2NoZWR1bGUubGVuZ3RoIH0gKVxuXG4gICAgICAgIHJldHVybiBzY2hlZHVsZS5tYXAoICggcm93LCBpICkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVzWyBpIF0gPSBBcnJheS5mcm9tKCB7IGxlbmd0aDogdGhpcy5kYXlDb3VudCEgfSApXG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaWQ6IHJvdy5pZCA/PyBTdHJpbmcoIGkgKSxcbiAgICAgICAgICAgICAgICBoZWFkaW5nOiByb3cuaGVhZGluZyxcbiAgICAgICAgICAgICAgICBpdGVtczogcm93Lml0ZW1zXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKCByb3dJdGVtcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSggeyBsZW5ndGg6IHRoaXMuZGF5Q291bnQhIH0gKS5tYXAoICggeCwgaiApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcm93SXRlbSA9IHJvd0l0ZW1zWyBqIF1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggcm93SXRlbSA9PSBudWxsICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogU3RyaW5nKCBqICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZW1wdHknXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90ZW1wbGF0ZXNbIGkgXVsgaiBdID0gdGhpcy5pdGVtVGVtcGxhdGVzPy5maW5kKCBpID0+IGkubmFtZSA9PSByb3dJdGVtPy5uYW1lICApPy50ZW1wbGF0ZSFcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByb3dJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICB9IClcbiAgICAgICAgICAgICAgICAgICAgfSApXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gKSB8fCBbXVxuICAgIH1cbn1cbiIsIkBpZiAoIHJvd3M/Lmxlbmd0aCA+IDAgKSB7XG4gICAgPGRpdiBjbGFzcz1cInNjaGVkdWxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1cHBlci1sZWZ0XCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgd2Vla3NcIj5cbiAgICAgICAgICAgIEBmb3IgKCB3ZWVrIG9mIF93ZWVrczsgdHJhY2sgJGluZGV4ICkge1xuICAgICAgICAgICAgICAgIEBpZiAoIHdlZWsuc3BhbiA9PSAxICkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vla1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgd2Vlay5zdGFydCB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vla1wiIFtzdHlsZS5ncmlkLWNvbHVtbl09XCInc3BhbiAnICsgd2Vlay5zcGFuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB3ZWVrLnN0YXJ0IH19IC0ge3sgd2Vlay5lbmQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGRheXNcIj4gICAgXG4gICAgICAgICAgICBAZm9yICggZGF5IG9mIF9kYXlzOyB0cmFjayAkaW5kZXggKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRheVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy53ZWVrZW5kXT1cImRheS5pc1dlZWtlbmRcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudG9kYXldPVwiZGF5LmlzVG9kYXlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmlyc3RdPVwiZGF5LmlzRmlyc3RcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRheS1uYW1lXCI+e3sgZGF5LmRheU5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIj57eyBkYXkubW9udGhEYXkgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGZvciAoIHJvdyBvZiByb3dzIHwgcGFnaW5hdGU6IHBhZ2luYXRlU3RhdGUoICducmNsLXNjaGVkdWxlJyApOyB0cmFjayByb3cuaWQ7IGxldCByb3dJbmRleCA9ICRpbmRleCApIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgaXRlbXNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3V0ZXIgaGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgaGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZT8udGVtcGxhdGVcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdy5oZWFkaW5nIH1cIiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gICAgXG5cbiAgICAgICAgICAgICAgICBAaWYgKCByb3cuaXRlbXMgfCBhc3luYzsgYXMgcm93SXRlbXMgKSB7XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKCBpdGVtIG9mIHJvd0l0ZW1zOyB0cmFjayBpdGVtLmlkOyBsZXQgY29sSW5kZXggPSAkaW5kZXggKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3V0ZXIgaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm1lbnUtb3Blbl09XCJpdGVtTWVudS5tZW51T3BlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIGl0ZW1cIiAjaXRlbU1lbnU9XCJtYXRNZW51VHJpZ2dlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCInaXRlbS0nICsgaXRlbS5uYW1lXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFJpcHBsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckRhdGFdPVwieyAkaW1wbGljaXQ6IHsgaXRlbTogaXRlbSwgaGVhZGluZzogcm93LmhlYWRpbmcgfSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiaXRlbT8udG9vbHRpcD8uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9XCJucmNsLXNjaGVkdWxlLW11bHRpbGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50cmF2ZWxdPVwiaXRlbT8udHJhdmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJfdGVtcGxhdGVzWyByb3dJbmRleCBdWyBjb2xJbmRleCBdIHx8IGVtcHR5XCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBsZXQgaWNvbnMgPSBpdGVtPy5pY29ucz8uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIGljb25zICYmIGljb25zLmxlbmd0aCA+IDAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yICggaWNvbiBvZiBpY29uczsgdHJhY2sgaWNvbiApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5yY2wtaWNvbiBzbWFsbD57eyBpY29uIH19PC9ucmNsLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAZm9yICggZGF5IG9mIF9kYXlzOyB0cmFjayBkYXkgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBpdGVtLWxvYWRpbmdcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8bnJjbC1nYXAvPlxufVxuXG48bnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uXG4gICAgcGFnaW5hdGlvbklkPVwibnJjbC1zY2hlZHVsZVwiXG4gICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICBbcGFnZU51bWJlcl09XCJwYWdlTnVtYmVyXCJcbiAgICBbcm93Q291bnRdPVwidG90YWxSb3dDb3VudFwiXG4gICAgKHBhZ2VOdW1iZXJDaGFuZ2UpPVwib25QYWdlTnVtYmVyQ2hhbmdlKCAkZXZlbnQgKVwiXG4gICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoICRldmVudCApXCJcbj48L25yY2wtcm93LWxpc3QtcGFnaW5hdGlvbj5cblxuPG5nLXRlbXBsYXRlICNlbXB0eT5cbiAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj4oZW1wdHkpPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvc2NoZWR1bGUvc2NoZWR1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvc2NoZWR1bGUvc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFvRCxNQUFNLGVBQWUsQ0FBQztBQUU5SixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7O0FBSzdELE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsWUFDVyxRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUNuQyxDQUFDOytHQUhNLDJCQUEyQjttR0FBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFFO29CQUNSLFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3ZDOztBQU9ELG1GQUFtRjtBQUtuRixNQUFNLE9BQU8scUJBQXFCO0lBRzlCLFlBQ1csUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFDbkMsQ0FBQzsrR0FMTSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBRTtvQkFDUixRQUFRLEVBQUUsb0JBQW9CO2lCQUNqQztnRkFFZ0MsSUFBSTtzQkFBaEMsS0FBSzt1QkFBRSxrQkFBa0I7O0FBc0Q5QixtRkFBbUY7QUFVbkYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQTJCO0lBUmxFOztR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QUNQLENBQUMsQ0FBRTthQUNWLENBQUE7UUFDTCxDQUFDLENBQUUsSUFBSSxFQUFFLENBQUE7SUFDYixDQUFDOytHQTlIUSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwySEFHTCxlQUFlLHNDQUNmLGVBQWUscUtBSXRCLDJCQUEyQixtRUFEeEIscUJBQXFCLHlFQzdGMUMsOGpJQW1HQTs7NEZEYmEsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNJLGVBQWUsUUFHbkI7d0JBQ0YsbUNBQW1DLEVBQUUsZUFBZTtxQkFDdkQ7OEJBR1EsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNtQyxTQUFTO3NCQUFqRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDRyxRQUFRO3NCQUFoRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDN0IsSUFBSTtzQkFBWixLQUFLO2dCQUVrQyxhQUFhO3NCQUFwRCxlQUFlO3VCQUFDLHFCQUFxQjtnQkFDSyxjQUFjO3NCQUF4RCxZQUFZO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgT25DaGFuZ2VzLCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51UGFuZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBhZ2luYXRpb25TdGF0ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi5iYXNlJztcbmltcG9ydCB7IFJvd0xpc3RCYXNlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9yb3ctbGlzdC5iYXNlJztcblxuQERpcmVjdGl2ZSgge1xuICAgIHNlbGVjdG9yOiAnW25yY2xTY2hlZHVsZVJvd0hlYWRpbmddJ1xufSApXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+XG4gICAgKXt9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBEaXJlY3RpdmUoIHtcbiAgICBzZWxlY3RvcjogJ1tucmNsU2NoZWR1bGVJdGVtXSdcbn0gKVxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlSXRlbURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCAnbnJjbFNjaGVkdWxlSXRlbScgKSBuYW1lPzogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+XG4gICAgKXt9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIFNjaGVkdWxlUm93SXRlbSA9IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBpY29ucz86ICgpID0+IHN0cmluZ1tdLFxuICAgIHRvb2x0aXA/OiAoKSA9PiBzdHJpbmcsXG4gICAgdHJhdmVsPzogYm9vbGVhbixcbn1cblxuZXhwb3J0IHR5cGUgU2NoZWR1bGVSb3cgPSB7XG4gICAgaWQ/OiBzdHJpbmcsXG4gICAgaGVhZGluZzogYW55LFxuICAgIGl0ZW1zOiBQcm9taXNlPFNjaGVkdWxlUm93SXRlbVtdPlxufVxuXG5leHBvcnQgdHlwZSBTY2hlZHVsZSA9IFNjaGVkdWxlUm93W11cblxudHlwZSBEYXkgPSB7XG4gICAgZGF5TmFtZTogc3RyaW5nLFxuICAgIG1vbnRoRGF5OiBudW1iZXIsXG4gICAgZGF0ZTogc3RyaW5nLFxuICAgIGlzV2Vla2VuZDogYm9vbGVhbixcbiAgICBpc1RvZGF5OiBib29sZWFuLFxuICAgIGlzRmlyc3Q6IGJvb2xlYW5cbn1cblxudHlwZSBXZWVrID0ge1xuICAgIHN0YXJ0OiBzdHJpbmcsXG4gICAgZW5kOiBzdHJpbmcsXG4gICAgc3BhbjogbnVtYmVyXG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCB0eXBlIEZldGNoU2NoZWR1bGVSb3dQYXJhbWV0ZXJzID0ge1xuICAgIHJlc291cmNlSWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVkdWxlUHJvdmlkZXIge1xuICAgIHN0YXJ0bG9hZFNjaGVkdWxlKCBpbm5lcjogKCkgPT4gUHJvbWlzZTxhbnk+ICk6IFByb21pc2U8YW55PlxuICAgIGZldGNoU2NoZWR1bGUoKTogT2JzZXJ2YWJsZTxhbnk+XG4gICAgcGFyc2VTY2hlZHVsZSggcmVzOiBhbnkgKTogU2NoZWR1bGVcbiAgICBnZXRJbml0aWFsUGFnZVN0YXRlKCk6IFBhZ2luYXRpb25TdGF0ZTx7fT5cbiAgICBjb21wbGV0ZWRMb2FkU2NoZWR1bGUoIGlubmVyOiAoKSA9PiB2b2lkICk6IGFueVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AQ29tcG9uZW50KCB7XG4gICAgc2VsZWN0b3I6ICducmNsLXNjaGVkdWxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zY2hlZHVsZS5jb21wb25lbnQuc2NzcycsXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLi0tbnJjbC1zY2hlZHVsZS1kYXktY291bnRdJzogJ3RoaXMuZGF5Q291bnQnXG4gICAgfVxufSApXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVDb21wb25lbnQgZXh0ZW5kcyBSb3dMaXN0QmFzZTx7fSxTY2hlZHVsZVJvdz4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIHByb3ZpZGVyPzogU2NoZWR1bGVQcm92aWRlclxuICAgIEBJbnB1dCgpIHN0YXJ0RGF0ZT86IHN0cmluZ1xuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9ICkgd2Vla1N0YXJ0ID0gMFxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9ICkgZGF5Q291bnQ/OiBudW1iZXJcbiAgICBASW5wdXQoKSBtZW51PzogTWF0TWVudVBhbmVsXG5cbiAgICBAQ29udGVudENoaWxkcmVuKFNjaGVkdWxlSXRlbURpcmVjdGl2ZSkgaXRlbVRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxTY2hlZHVsZUl0ZW1EaXJlY3RpdmU+O1xuICAgIEBDb250ZW50Q2hpbGQoU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlKSBoZWFkZXJUZW1wbGF0ZSE6IFNjaGVkdWxlUm93SGVhZGluZ0RpcmVjdGl2ZVxuXG4gICAgcHJvdGVjdGVkIF9kYXlzOiBEYXlbXSA9IFtdXG4gICAgcHJvdGVjdGVkIF93ZWVrczogV2Vla1tdID0gW11cbiAgICBwcm90ZWN0ZWQgX3RlbXBsYXRlczogVGVtcGxhdGVSZWY8YW55PltdW10gPSBbXVxuXG4gICAgbmdPbkNoYW5nZXMoIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMgKTogdm9pZCB7XG4gICAgICAgIC8vIHRoaXMucmVmcmVzaFJvd0xpc3QoKVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ1NjaGVkdWxlQ29tcG9uZW50Lm5nQWZ0ZXJWaWV3SW5pdCcpXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpXG4gICAgfVxuXG4gICAgbG9hZFJvd0xpc3QoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8uc3RhcnRsb2FkU2NoZWR1bGUgKSB0aHJvdyBFcnJvciggJ1NjaGVkdWxlQ29tcG9uZW50LnByb3ZpZGVyLnN0YXJ0bG9hZFNjaGVkdWxlIG5vdCBzZXQnIClcbiAgICAgXG4gICAgICAgIHJldHVybiB0aGlzLnByb3ZpZGVyLnN0YXJ0bG9hZFNjaGVkdWxlKCAoKSA9PiB7IHJldHVybiBzdXBlci5sb2FkUm93TGlzdCgpIH0gKVxuICAgIH1cblxuICAgIGZldGNoUm93TGlzdFBhZ2UoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8uZmV0Y2hTY2hlZHVsZSApIHRocm93IEVycm9yKCAnU2NoZWR1bGVDb21wb25lbnQucHJvdmlkZXIuZmV0Y2hTY2hlZHVsZSBub3Qgc2V0JyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdmlkZXIuZmV0Y2hTY2hlZHVsZSgpXG4gICAgfVxuXG4gICAgcGFyc2VSb3dzKCByZXM6IGFueSApOiBTY2hlZHVsZVJvd1tdIHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8ucGFyc2VTY2hlZHVsZSApIHRocm93IEVycm9yKCAnU2NoZWR1bGVDb21wb25lbnQucHJvdmlkZXIucGFyc2VTY2hlZHVsZSBub3Qgc2V0JyApXG5cbiAgICAgICAgbGV0IHJvd3MgPSB0aGlzLnByb3ZpZGVyLnBhcnNlU2NoZWR1bGUoIHJlcyApXG4gICAgICAgIHJldHVybiB0aGlzLm1ha2VSb3dzKCByb3dzIClcbiAgICB9XG5cbiAgICBnZXRJbml0aWFsUGFnZVN0YXRlKCk6IFBhZ2luYXRpb25TdGF0ZTx7fT4ge1xuICAgICAgICBpZiAoICF0aGlzLnByb3ZpZGVyPy5nZXRJbml0aWFsUGFnZVN0YXRlICkgdGhyb3cgRXJyb3IoICdTY2hlZHVsZUNvbXBvbmVudC5wcm92aWRlci5nZXRJbml0aWFsUGFnZVN0YXRlIG5vdCBzZXQnIClcblxuICAgICAgICByZXR1cm4gdGhpcy5wcm92aWRlci5nZXRJbml0aWFsUGFnZVN0YXRlKClcbiAgICB9XG5cbiAgICBjb21wbGV0ZWRSb3dMaXN0UGFnZSgpOiBQYWdpbmF0aW9uU3RhdGU8e30+IHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8uY29tcGxldGVkTG9hZFNjaGVkdWxlICkgdGhyb3cgRXJyb3IoICdTY2hlZHVsZUNvbXBvbmVudC5wcm92aWRlci5jb21wbGV0ZWRSb3dMaXN0UGFnZSBub3Qgc2V0JyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdmlkZXIuY29tcGxldGVkTG9hZFNjaGVkdWxlKCBzdXBlci5jb21wbGV0ZWRSb3dMaXN0UGFnZSApXG4gICAgfVxuXG4gICAgb25TYW1lUGFnZUZpbHRlckNoYW5nZSggZXY6IHt9ICk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlciA9IGV2XG4gICAgICAgIHRoaXMucmVmcmVzaFJvd0xpc3QoKVxuICAgIH1cblxuICAgIG1ha2VSb3dzKCBzY2hlZHVsZTogU2NoZWR1bGUgKTogU2NoZWR1bGUge1xuICAgICAgICBsZXQgc3RhcnQgPSBtb21lbnQoIHRoaXMuc3RhcnREYXRlIClcbiAgICAgICAgbGV0IHRvZGF5ID0gbW9tZW50KClcblxuICAgICAgICB0aGlzLl93ZWVrcyA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiB0aGlzLmRheUNvdW50ISB9ICkucmVkdWNlPFdlZWtbXT4oICggYSwgeCwgaSApID0+IHtcbiAgICAgICAgICAgIGxldCBtID0gc3RhcnQuY2xvbmUoKS5hZGQoIGksICdkYXknIClcbiAgICAgICAgICAgIGxldCBkYXRlID0gbS5mb3JtYXQoICdNTU0gRCcgKVxuICAgICAgICAgICAgbGV0IGRheSA9IG0uZGF5KClcblxuICAgICAgICAgICAgaWYgKCBhLmxlbmd0aCA9PSAwICkgcmV0dXJuIGEuY29uY2F0KCB7XG4gICAgICAgICAgICAgICAgc3RhcnQ6IGRhdGUsXG4gICAgICAgICAgICAgICAgZW5kOiBkYXRlLFxuICAgICAgICAgICAgICAgIHNwYW46IDFcbiAgICAgICAgICAgIH0gKVxuXG4gICAgICAgICAgICBsZXQgcHJldiA9IGFbIGEubGVuZ3RoIC0gMSBdXG5cbiAgICAgICAgICAgIGlmICggZGF5ID09IHRoaXMud2Vla1N0YXJ0ICkgcmV0dXJuIGEuY29uY2F0KCB7XG4gICAgICAgICAgICAgICAgc3RhcnQ6IGRhdGUsXG4gICAgICAgICAgICAgICAgZW5kOiBkYXRlLFxuICAgICAgICAgICAgICAgIHNwYW46IDFcbiAgICAgICAgICAgIH0gKVxuXG4gICAgICAgICAgICBwcmV2LmVuZCA9IGRhdGVcbiAgICAgICAgICAgIHByZXYuc3BhbiArPSAxXG4gICAgICAgICAgICByZXR1cm4gYVxuICAgICAgICB9LCBbXSApXG5cbiAgICAgICAgdGhpcy5fZGF5cyA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiB0aGlzLmRheUNvdW50ISB9ICkubWFwKCAoIHgsIGkgKSA9PiB7XG4gICAgICAgICAgICBsZXQgZCA9IHN0YXJ0LmNsb25lKCkuYWRkKCBpLCAnZGF5JyApXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGRheU5hbWU6IGQuZm9ybWF0KCAnZGRkJyApLFxuICAgICAgICAgICAgICAgIG1vbnRoRGF5OiBkLmRhdGUoKSxcbiAgICAgICAgICAgICAgICBkYXRlOiBkLmZvcm1hdCggJ1ktTU0tREQnICksXG4gICAgICAgICAgICAgICAgaXNGaXJzdDogZC5kYXRlKCkgPT0gMSxcbiAgICAgICAgICAgICAgICBpc1dlZWtlbmQ6IGQuZGF5KCkgPT0gMCB8fCBkLmRheSgpID09IDYsXG4gICAgICAgICAgICAgICAgaXNUb2RheTogZC5pc1NhbWUoIHRvZGF5LCAnZGF5JyApLFxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gKVxuXG4gICAgICAgIHRoaXMuX3RlbXBsYXRlcyA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiBzY2hlZHVsZS5sZW5ndGggfSApXG5cbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlLm1hcCggKCByb3csIGkgKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl90ZW1wbGF0ZXNbIGkgXSA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiB0aGlzLmRheUNvdW50ISB9IClcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpZDogcm93LmlkID8/IFN0cmluZyggaSApLFxuICAgICAgICAgICAgICAgIGhlYWRpbmc6IHJvdy5oZWFkaW5nLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiByb3cuaXRlbXNcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oIHJvd0l0ZW1zID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5mcm9tKCB7IGxlbmd0aDogdGhpcy5kYXlDb3VudCEgfSApLm1hcCggKCB4LCBqICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByb3dJdGVtID0gcm93SXRlbXNbIGogXVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCByb3dJdGVtID09IG51bGwgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBTdHJpbmcoIGogKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdlbXB0eSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlc1sgaSBdWyBqIF0gPSB0aGlzLml0ZW1UZW1wbGF0ZXM/LmZpbmQoIGkgPT4gaS5uYW1lID09IHJvd0l0ZW0/Lm5hbWUgICk/LnRlbXBsYXRlIVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvd0l0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gKVxuICAgICAgICAgICAgICAgICAgICB9IClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSApIHx8IFtdXG4gICAgfVxufVxuIiwiQGlmICggcm93cz8ubGVuZ3RoID4gMCApIHtcbiAgICA8ZGl2IGNsYXNzPVwic2NoZWR1bGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInVwcGVyLWxlZnRcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyB3ZWVrc1wiPlxuICAgICAgICAgICAgQGZvciAoIHdlZWsgb2YgX3dlZWtzOyB0cmFjayAkaW5kZXggKSB7XG4gICAgICAgICAgICAgICAgQGlmICggd2Vlay5zcGFuID09IDEgKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB3ZWVrLnN0YXJ0IH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrXCIgW3N0eWxlLmdyaWQtY29sdW1uXT1cIidzcGFuICcgKyB3ZWVrLnNwYW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHdlZWsuc3RhcnQgfX0gLSB7eyB3ZWVrLmVuZCB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZGF5c1wiPiAgICBcbiAgICAgICAgICAgIEBmb3IgKCBkYXkgb2YgX2RheXM7IHRyYWNrICRpbmRleCApIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLndlZWtlbmRdPVwiZGF5LmlzV2Vla2VuZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50b2RheV09XCJkYXkuaXNUb2RheVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5maXJzdF09XCJkYXkuaXNGaXJzdFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5LW5hbWVcIj57eyBkYXkuZGF5TmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPnt7IGRheS5tb250aERheSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAZm9yICggcm93IG9mIHJvd3MgfCBwYWdpbmF0ZTogcGFnaW5hdGVTdGF0ZSggJ25yY2wtc2NoZWR1bGUnICk7IHRyYWNrIHJvdy5pZDsgbGV0IHJvd0luZGV4ID0gJGluZGV4ICkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBpdGVtc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdXRlciBoZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lciBoZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlPy50ZW1wbGF0ZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcm93LmhlYWRpbmcgfVwiICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PiAgICBcblxuICAgICAgICAgICAgICAgIEBpZiAoIHJvdy5pdGVtcyB8IGFzeW5jOyBhcyByb3dJdGVtcyApIHtcbiAgICAgICAgICAgICAgICAgICAgQGZvciAoIGl0ZW0gb2Ygcm93SXRlbXM7IHRyYWNrIGl0ZW0uaWQ7IGxldCBjb2xJbmRleCA9ICRpbmRleCApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdXRlciBpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MubWVudS1vcGVuXT1cIml0ZW1NZW51Lm1lbnVPcGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgaXRlbVwiICNpdGVtTWVudT1cIm1hdE1lbnVUcmlnZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIidpdGVtLScgKyBpdGVtLm5hbWVcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0UmlwcGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRGF0YV09XCJ7ICRpbXBsaWNpdDogeyBpdGVtOiBpdGVtLCBoZWFkaW5nOiByb3cuaGVhZGluZyB9IH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpdGVtPy50b29sdGlwPy4oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz1cIm5yY2wtc2NoZWR1bGUtbXVsdGlsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRyYXZlbF09XCJpdGVtPy50cmF2ZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIl90ZW1wbGF0ZXNbIHJvd0luZGV4IF1bIGNvbEluZGV4IF0gfHwgZW1wdHlcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGxldCBpY29ucyA9IGl0ZW0/Lmljb25zPy4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICggaWNvbnMgJiYgaWNvbnMubGVuZ3RoID4gMCApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKCBpY29uIG9mIGljb25zOyB0cmFjayBpY29uICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bnJjbC1pY29uIHNtYWxsPnt7IGljb24gfX08L25yY2wtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKCBkYXkgb2YgX2RheXM7IHRyYWNrIGRheSApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGl0ZW0tbG9hZGluZ1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIDxucmNsLWdhcC8+XG59XG5cbjxucmNsLXJvdy1saXN0LXBhZ2luYXRpb25cbiAgICBwYWdpbmF0aW9uSWQ9XCJucmNsLXNjaGVkdWxlXCJcbiAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgIFtwYWdlTnVtYmVyXT1cInBhZ2VOdW1iZXJcIlxuICAgIFtyb3dDb3VudF09XCJ0b3RhbFJvd0NvdW50XCJcbiAgICAocGFnZU51bWJlckNoYW5nZSk9XCJvblBhZ2VOdW1iZXJDaGFuZ2UoICRldmVudCApXCJcbiAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSggJGV2ZW50IClcIlxuPjwvbnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uPlxuXG48bmctdGVtcGxhdGUgI2VtcHR5PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==