!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@lcu/common"),require("@angular/flex-layout"),require("@angular/forms"),require("ng2-charts")):"function"==typeof define&&define.amd?define("@napkin-ide/lcu-data-flow-iot-provisioning-pack-common",["exports","@angular/core","@lcu/common","@angular/flex-layout","@angular/forms","ng2-charts"],n):n(((t="undefined"!=typeof globalThis?globalThis:t||self)["napkin-ide"]=t["napkin-ide"]||{},t["napkin-ide"]["lcu-data-flow-iot-provisioning-pack-common"]={}),t.ng.core,t.common,t.ng.flexLayout,t.ng.forms,t.ng2Charts)}(this,(function(t,n,e,r,a,o){"use strict";
/*! *****************************************************************************
    Copyright (c) Microsoft Corporation.

    Permission to use, copy, modify, and/or distribute this software for any
    purpose with or without fee is hereby granted.

    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
    REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
    AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
    INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
    LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
    OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    PERFORMANCE OF THIS SOFTWARE.
    ***************************************************************************** */var i=function(t,n){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])})(t,n)};function c(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function e(){this.constructor=t}i(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}Object.create;Object.create;var l=function(){},s=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return c(n,t),n}(e.LCUElementContext),m="lcu-data-flow-iot-provisioning-pack-data-stream-element",p=function(t){function n(n){var e=t.call(this,n)||this;return e.injector=n,e}return c(n,t),n.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},n.prototype.AddAPIKey=function(){alert("Adding API Key")},n.prototype.EnableActivityLogs=function(){alert("Enabling Activity Logs")},n}(e.LcuElementComponent);p.decorators=[{type:n.Component,args:[{selector:m,template:'<ng-container *ngIf="Context && Context.State">\r\n  <mat-tab-group>\r\n    <mat-tab label="Overview">\r\n      <canvas\r\n        *ngIf="Context.State.Chart"\r\n        baseChart\r\n        chartType="line"\r\n        [legend]="false"\r\n        [options]="Context.State.Chart.Options"\r\n        [labels]="Context.State.Chart.Labels"\r\n        [colors]="Context.State.Chart.Colors"\r\n        [datasets]="Context.State.Chart.Results"\r\n      ></canvas>\r\n    </mat-tab>\r\n\r\n    \x3c!-- <mat-tab label="Access">\r\n      <mat-card class="spread">\r\n        <mat-card-header>\r\n          <mat-card-title>API Keys</mat-card-title>\r\n        </mat-card-header>\r\n\r\n        <mat-card-content>\r\n          <mat-list>\r\n            <mat-list-item *ngFor="let apiKey of Context.State.APIKeys">\r\n              <mat-form-field>\r\n                <input\r\n                  matInput\r\n                  disabled\r\n                  [placeholder]="apiKey.Name"\r\n                  [value]="apiKey.Value"\r\n                />\r\n              </mat-form-field>\r\n            </mat-list-item>\r\n\r\n            <mat-list-item>\r\n              <button mat-raised-button color="accent" (click)="AddAPIKey()">\r\n                Add API Key\r\n              </button>\r\n            </mat-list-item>\r\n          </mat-list>\r\n        </mat-card-content>\r\n      </mat-card> --\x3e\r\n\r\n      \x3c!-- <mat-card class="spread">\r\n        <mat-card-header>\r\n          <mat-card-title>Connecting to your Data Stream</mat-card-title>\r\n        </mat-card-header>\r\n\r\n        <mat-card-content>\r\n          <h3>Connecting with .NET Core</h3>\r\n\r\n          <p>endpoint and example connection info...</p>\r\n\r\n          <h3>Connecting with Python</h3>\r\n\r\n          <p>endpoint and example connection info...</p>\r\n\r\n          <button mat-raised-button>\r\n            More Connection Details\r\n          </button>\r\n        </mat-card-content>\r\n      </mat-card>\r\n    </mat-tab> --\x3e\r\n\r\n    <mat-tab label="Connection Strings">\r\n      <lcu-connection-strings \r\n        [data]="Context.State.Infrastructure.Connections"\r\n        [copy-to-clipboard]="true">\r\n      </lcu-connection-strings>\r\n    </mat-tab>\r\n\r\n    <mat-tab label="Activity Log">\r\n      <mat-list>\r\n        <mat-list-item *ngFor="let actLog of Context.State.ActivityLogs">\r\n          {{ actLog }}\r\n        </mat-list-item>\r\n\r\n        <mat-list-item\r\n          *ngIf="\r\n            !Context.State.ActivityLogs ||\r\n            Context.State.ActivityLogs.length == 0">\r\n          <p>There are currently no activity logs to view.</p>\r\n\r\n          <button\r\n            mat-raised-button\r\n            color="accent"\r\n            (click)="EnableActivityLogs()"\r\n          >\r\n            Enable Activity Logging\r\n          </button>\r\n        </mat-list-item>\r\n      </mat-list>\r\n    </mat-tab>\r\n  </mat-tab-group>\r\n</ng-container>\r\n',styles:[":host ::ng-deep .mat-tab-group,:host ::ng-deep .mat-tab-group .mat-tab-body-wrapper{height:100%}"]}]}],p.ctorParameters=function(){return[{type:n.Injector}]};var u=function(){},d=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return c(n,t),n}(e.LCUElementContext),g="lcu-data-flow-iot-provisioning-pack-device-stream-element",f=function(t){function n(n){var e=t.call(this,n)||this;return e.injector=n,e}return c(n,t),n.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},n.prototype.AddDevice=function(){alert("Adding Device")},n.prototype.EnableActivityLogs=function(){alert("Enabling Activity Logs")},n}(e.LcuElementComponent);f.decorators=[{type:n.Component,args:[{selector:g,template:'<ng-container *ngIf="Context && Context.State">\r\n  <mat-tab-group>\r\n    <mat-tab label="Overview">\r\n      <canvas\r\n        *ngIf="Context.State.Chart"\r\n        baseChart\r\n        chartType="line"\r\n        [legend]="false"\r\n        [options]="Context.State.Chart.Options"\r\n        [labels]="Context.State.Chart.Labels"\r\n        [colors]="Context.State.Chart.Colors"\r\n        [datasets]="Context.State.Chart.Results"\r\n      ></canvas>\r\n    </mat-tab>\r\n\r\n    <mat-tab label="Devices">\r\n      <mat-card class="spread">\r\n        <mat-card-header>\r\n          <mat-card-title>Devices</mat-card-title>\r\n        </mat-card-header>\r\n\r\n        <mat-card-content>\r\n          <mat-list>\r\n            <mat-list-item *ngFor="let device of Context.State.Devices">\r\n            </mat-list-item>\r\n\r\n            <mat-list-item>\r\n              <button mat-raised-button color="accent" (click)="AddDevice()">\r\n                Add Device\r\n              </button>\r\n            </mat-list-item>\r\n          </mat-list>\r\n        </mat-card-content>\r\n      </mat-card>\r\n\r\n      <mat-card class="spread">\r\n        <mat-card-header>\r\n          <mat-card-title>Connecting to your Device Stream</mat-card-title>\r\n        </mat-card-header>\r\n\r\n        <mat-card-content>\r\n          <h3>Connecting with .NET Core</h3>\r\n\r\n          <p>endpoint and example connection info...</p>\r\n\r\n          <h3>Connecting with Python</h3>\r\n\r\n          <p>endpoint and example connection info...</p>\r\n\r\n          <button mat-raised-button>\r\n            More Connection Details\r\n          </button>\r\n        </mat-card-content>\r\n      </mat-card>\r\n    </mat-tab>\r\n\r\n    <mat-tab label="Activity Log">\r\n      <mat-list>\r\n        <mat-list-item *ngFor="let actLog of Context.State.ActivityLogs">\r\n          {{ actLog }}\r\n        </mat-list-item>\r\n\r\n        <mat-list-item\r\n          *ngIf="\r\n            !Context.State.ActivityLogs ||\r\n            Context.State.ActivityLogs.length == 0\r\n          "\r\n        >\r\n          <p>There are currently no activity logs to view.</p>\r\n\r\n          <button\r\n            mat-raised-button\r\n            color="accent"\r\n            (click)="EnableActivityLogs()"\r\n          >\r\n            Enable Activity Logging\r\n          </button>\r\n        </mat-list-item>\r\n      </mat-list>\r\n    </mat-tab>\r\n  </mat-tab-group>\r\n</ng-container>\r\n',styles:[":host ::ng-deep .mat-tab-group,:host ::ng-deep .mat-tab-group .mat-tab-body-wrapper{height:100%}"]}]}],f.ctorParameters=function(){return[{type:n.Injector}]};var h=function(){},v=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return c(n,t),n}(e.LCUElementContext),y="lcu-data-flow-iot-provisioning-pack-cold-storage-element",C=function(t){function n(n){var e=t.call(this,n)||this;return e.injector=n,e.Title="Cold Storage Connection Strings",e}return c(n,t),n.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},n}(e.LcuElementComponent);C.decorators=[{type:n.Component,args:[{selector:y,template:'<ng-container *ngIf="Context && Context.State">\r\n    <mat-tab-group>\r\n        <mat-tab label="Connection Strings">\r\n            <lcu-connection-strings \r\n                [data]="Context.State.Infrastructure.Connections"\r\n                [copy-to-clipboard]="true">\r\n            </lcu-connection-strings>\r\n        </mat-tab>\r\n        <mat-tab label="Overview">\r\n        </mat-tab>\r\n        <mat-tab label="Activity Log">\r\n        </mat-tab>\r\n    </mat-tab-group>\r\n</ng-container>',styles:[""]}]}],C.ctorParameters=function(){return[{type:n.Injector}]};var b=function(t){Object.assign(this,t)},x=function(t,n){this.Key=t,this.Value=n},L=function(){function t(){}return Object.defineProperty(t.prototype,"Data",{get:function(){return this._data},set:function(t){t&&(this._data=t,this.connectionStrings())},enumerable:!1,configurable:!0}),t.prototype.ngOnInit=function(){},t.prototype.CopyStringToClipboard=function(t){var n=document.createElement("textarea"),e=this.Connections[t];n.value=e.Value,document.body.appendChild(n),n.focus(),n.select(),document.execCommand("copy"),document.body.removeChild(n)},t.prototype.connectionStrings=function(){var t=this;this.Connections=[],this.Data&&Object.entries(this.Data).forEach((function(n){t.Connections.push(new x(n[0],n[1]))}))},t}();L.decorators=[{type:n.Component,args:[{selector:"lcu-connection-strings",template:'<mat-expansion-panel \r\n  *ngIf="Connections"\r\n  [expanded]="Connections.length > 0"\r\n  (opened)="PanelOpenState = true" \r\n  (closed)="PanelOpenState = false">\r\n    <mat-expansion-panel-header>\r\n      <mat-panel-title>\r\n        <div fxLayout="row" fxLayoutAlign="start center" fxLayoutGap="10px">\r\n          <span \r\n            matBadgeColor="primary"\r\n            matBadge="{{ Connections.length }}"\r\n            matBadgeOverlap="false"\r\n            class="margin-3"></span>\r\n          <span class="margin-left-3">{{ Title }}</span>\r\n        </div>\r\n      </mat-panel-title>\r\n    </mat-expansion-panel-header>\r\n  \r\n  <mat-card>\r\n    <mat-card-header>\r\n        \x3c!-- <mat-card-title>{{ Title }}</mat-card-title> --\x3e\r\n    </mat-card-header>\r\n    <mat-card-content>\r\n        <mat-list *ngFor="let connection of Connections; let i = index; let odd = odd; let even = even">\r\n          \x3c!--odd and even styles are set in the parent component--\x3e\r\n          <mat-list-item [ngClass]="{ odd: odd, even: even }" style="height: auto;">\r\n            \r\n            <div fxFlex fxLayout="row" class="margin-2">\r\n              <div fxFlex="95" fxLayout="column" class="margin-right-3 word-break-all">\r\n                <div \r\n                  fxLayout="row" \r\n                  fxLayoutAlign="start" \r\n                  fxLayoutGap="10px"\r\n                  class="margin-bottom-3">\r\n                  <mat-icon color="accent">swap_horizontal_circle</mat-icon>\r\n                  <span id="connectionKey" name="connectionKey" class="mat-h3">{{connection.Key}}: </span>\r\n                </div>\r\n                <div \r\n                  (click)="CopyStringToClipboard(i)">\r\n                  <span id="connectionValue" name="connectionValue" class="mat-small mat-caption">{{connection.Value}}</span>\r\n                </div>\r\n              </div>\r\n              <div>\r\n                <button\r\n                  id="copyToClipboardButton"\r\n                  name="copyToClipboardButton"\r\n                  type="button"\r\n                  mat-button\r\n                  (click)="CopyStringToClipboard(i)">\r\n                  <mat-icon class="rotate-180 clipboard-icon">save_alt</mat-icon>\r\n                </button>\r\n              </div>\r\n            </div>\r\n          </mat-list-item>\r\n        </mat-list>\r\n    </mat-card-content>\r\n  </mat-card>\r\n</mat-expansion-panel>',styles:[".rotate-180{transform:rotate(180deg)}.word-break-all{word-break:break-all}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:0!important}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info:hover{color:#d1ecf1;background-color:#0c5460}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem;cursor:pointer}"]}]}],L.ctorParameters=function(){return[]},L.propDecorators={Data:[{type:n.Input,args:["data"]}],CopyToClipboard:[{type:n.Input,args:["copy-to-clipboard"]}],Title:[{type:n.Input,args:["title"]}]};var S=function(){function t(){}return Object.defineProperty(t.prototype,"Data",{get:function(){return this._data},set:function(t){t&&(this._data=t)},enumerable:!1,configurable:!0}),t.prototype.ngOnInit=function(){},t}();S.decorators=[{type:n.Component,args:[{selector:"lcu-charts",template:'\x3c!-- <ng-container *ngIf="Data">\r\n<canvas\r\n    *ngIf="Data"\r\n    baseChart\r\n    chartType="line"\r\n    [legend]="false"\r\n    [options]="Data.Options"\r\n    [labels]="Data.Labels"\r\n    [colors]="Data.Colors"\r\n    [datasets]="Data.Results">\r\n</canvas>\r\n<pre *ngIf="Data">{{Data | json}}</pre>\r\n</ng-container>\r\n<div style="height: 100px; width: 100px; background-color: red"></div>  --\x3e\r\n<h1>Overall</h1>',styles:[":host ::ng-deep .mat-tab-group,:host ::ng-deep .mat-tab-group .mat-tab-body-wrapper{height:100%}"]}]}],S.ctorParameters=function(){return[]},S.propDecorators={Data:[{type:n.Input,args:["data"]}]};var I=function(){},P=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return c(n,t),n}(e.LCUElementContext),w="lcu-data-flow-iot-provisioning-pack-warm-storage-element",D=function(t){function n(n){var e=t.call(this,n)||this;return e.injector=n,e.Title="Warm Storage Connection Strings",e}return c(n,t),n.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},n.prototype.setupComponents=function(){this.Components=[new b({Component:S,Data:this.Context.State.Chart,Label:"Overview"}),new b({Component:L,Data:this.Context.State.Infrastructure.Connections,Label:"Connection Strings"})]},n}(e.LcuElementComponent);D.decorators=[{type:n.Component,args:[{selector:w,template:'<ng-container *ngIf="Context && Context.State">\r\n    <mat-tab-group>\r\n        <mat-tab label="Connection Strings">\r\n            <lcu-connection-strings \r\n                [data]="Context.State.Infrastructure.Connections"\r\n                [copy-to-clipboard]="true">\r\n            </lcu-connection-strings>\r\n        </mat-tab>\r\n    </mat-tab-group>\r\n</ng-container>\r\n\x3c!-- <ng-container *ngIf="Context && Context.State">\r\n    <lcu-dynamic-tabs [tab-components]="Components"></lcu-dynamic-tabs>\r\n</ng-container> --\x3e',styles:[""]}]}],D.ctorParameters=function(){return[{type:n.Injector}]};var E=function(){},k=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return c(n,t),n}(e.LCUElementContext),F="lcu-data-flow-iot-provisioning-pack-data-map-element",O=function(t){function n(n){var e=t.call(this,n)||this;return e.injector=n,e}return c(n,t),n.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},n.prototype.EnableActivityLogs=function(){alert("Enabling Activity Logs")},n}(e.LcuElementComponent);O.decorators=[{type:n.Component,args:[{selector:F,template:'<ng-container *ngIf="Context && Context.State">\r\n  <mat-tab-group>\r\n    <mat-tab label="Overview">\r\n      <canvas\r\n        *ngIf="Context.State.Chart"\r\n        baseChart\r\n        chartType="line"\r\n        [legend]="false"\r\n        [options]="Context.State.Chart.Options"\r\n        [labels]="Context.State.Chart.Labels"\r\n        [colors]="Context.State.Chart.Colors"\r\n        [datasets]="Context.State.Chart.Results"\r\n      ></canvas>\r\n    </mat-tab>\r\n\r\n    <mat-tab label="Data Mapping">\r\n      <div fxLayout="row wrap" fxLayoutAlign="center center" class="mapping-contents">\r\n        <div fxFlex="100%">\r\n          <mat-card class="spread">\r\n            The Mapping Surface\r\n          </mat-card>\r\n        </div>\r\n\r\n        <div fxFlex="50%">\r\n          <mat-card class="spread">\r\n            <mat-card-header>\r\n              <mat-card-title>Inputs</mat-card-title>\r\n            </mat-card-header>\r\n\r\n            <mat-card-content>\r\n              <mat-list class="spread">\r\n                <mat-list-item>\r\n                  <div matLine fxLayout="row" fxLayoutAlign="center center">\r\n                    <div fxFlex="70%">\r\n                      <h3>Input Module Name</h3>\r\n                    </div>\r\n\r\n                    <div fxFlex="30%">\r\n                      <mat-form-field style="display: inline-block">\r\n                        <mat-select placeholder="Input Schema">\r\n                          <mat-option value="schema-option-1">\r\n                            Schema Option 1\r\n                          </mat-option>\r\n\r\n                          <mat-option value="schema-option-2">\r\n                            Schema Option 2\r\n                          </mat-option>\r\n                        </mat-select>\r\n                      </mat-form-field>\r\n                    </div>\r\n                  </div>\r\n                </mat-list-item>\r\n\r\n                <mat-divider></mat-divider>\r\n              </mat-list>\r\n            </mat-card-content>\r\n          </mat-card>\r\n        </div>\r\n\r\n        <div fxFlex="50%">\r\n          <mat-card class="spread">\r\n            <mat-card-header>\r\n              <mat-card-title>Outputs</mat-card-title>\r\n            </mat-card-header>\r\n\r\n            <mat-card-content>\r\n              <mat-list class="spread">\r\n                <mat-list-item>\r\n                  <div matLine fxLayout="row" fxLayoutAlign="center center">\r\n                    <div fxFlex="70%">\r\n                      <h3>Input Module Name</h3>\r\n                    </div>\r\n\r\n                    <div fxFlex="30%">\r\n                      <mat-form-field style="display: inline-block">\r\n                        <mat-select placeholder="Output Schema">\r\n                          <mat-option value="schema-option-1">\r\n                            Schema Option 1\r\n                          </mat-option>\r\n\r\n                          <mat-option value="schema-option-2">\r\n                            Schema Option 2\r\n                          </mat-option>\r\n                        </mat-select>\r\n                      </mat-form-field>\r\n                    </div>\r\n                  </div>\r\n                </mat-list-item>\r\n\r\n                <mat-divider></mat-divider>\r\n\r\n                <mat-list-item>\r\n                  <div matLine fxLayout="row" fxLayoutAlign="center center">\r\n                    <div fxFlex="70%">\r\n                      <h3>Input Module Name</h3>\r\n                    </div>\r\n\r\n                    <div fxFlex="30%">\r\n                      <mat-form-field style="display: inline-block">\r\n                        <mat-select placeholder="Output Schema">\r\n                          <mat-option value="schema-option-1">\r\n                            Schema Option 1\r\n                          </mat-option>\r\n\r\n                          <mat-option value="schema-option-2">\r\n                            Schema Option 2\r\n                          </mat-option>\r\n                        </mat-select>\r\n                      </mat-form-field>\r\n                    </div>\r\n                  </div>\r\n                </mat-list-item>\r\n\r\n                <mat-divider></mat-divider>\r\n\r\n                <mat-list-item>\r\n                  <div matLine fxLayout="row" fxLayoutAlign="center center">\r\n                    <div fxFlex="70%">\r\n                      <h3>Output Module Name</h3>\r\n                    </div>\r\n\r\n                    <div fxFlex="30%">\r\n                      <mat-form-field style="display: inline-block">\r\n                        <mat-select placeholder="Output Schema">\r\n                          <mat-option value="schema-option-1">\r\n                            Schema Option 1\r\n                          </mat-option>\r\n\r\n                          <mat-option value="schema-option-2">\r\n                            Schema Option 2\r\n                          </mat-option>\r\n                        </mat-select>\r\n                      </mat-form-field>\r\n                    </div>\r\n                  </div>\r\n                </mat-list-item>\r\n\r\n                <mat-divider></mat-divider>\r\n              </mat-list>\r\n            </mat-card-content>\r\n          </mat-card>\r\n        </div>\r\n      </div>\r\n    </mat-tab>\r\n\r\n    <mat-tab label="Activity Log">\r\n      <mat-list>\r\n        <mat-list-item *ngFor="let actLog of Context.State.ActivityLogs">\r\n          {{ actLog }}\r\n        </mat-list-item>\r\n\r\n        <mat-list-item\r\n          *ngIf="\r\n            !Context.State.ActivityLogs ||\r\n            Context.State.ActivityLogs.length == 0\r\n          "\r\n        >\r\n          <p>There are currently no activity logs to view.</p>\r\n\r\n          <button\r\n            mat-raised-button\r\n            color="accent"\r\n            (click)="EnableActivityLogs()"\r\n          >\r\n            Enable Activity Logging\r\n          </button>\r\n        </mat-list-item>\r\n      </mat-list>\r\n    </mat-tab>\r\n  </mat-tab-group>\r\n</ng-container>\r\n',styles:[":host ::ng-deep .mapping-contents,:host ::ng-deep .mat-tab-group,:host ::ng-deep .mat-tab-group .mat-tab-body-wrapper{height:100%}:host ::ng-deep .mat-list{position:relative}:host ::ng-deep .mat-list .mat-list-item .mat-list-item-content{height:auto}"]}]}],O.ctorParameters=function(){return[{type:n.Injector}]};var A=function(){},T=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return c(n,t),n}(e.LCUElementContext),M="lcu-data-flow-iot-provisioning-pack-hot-storage-element",j=function(t){function n(n){var e=t.call(this,n)||this;return e.injector=n,e.Title="Hot Storage Connection Strings",e}return c(n,t),n.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},n}(e.LcuElementComponent);j.decorators=[{type:n.Component,args:[{selector:M,template:'<ng-container *ngIf="Context && Context.State">\r\n    <mat-tab-group>\r\n        <mat-tab label="Connection Strings">\r\n            <lcu-connection-strings \r\n                [data]="Context.State.Infrastructure.Connections"\r\n                [copy-to-clipboard]="true">\r\n            </lcu-connection-strings>\r\n        </mat-tab>\r\n        <mat-tab label="Overview">\r\n        </mat-tab>\r\n        <mat-tab label="Activity Log">\r\n        </mat-tab>\r\n    </mat-tab-group>\r\n</ng-container>',styles:[""]}]}],j.ctorParameters=function(){return[{type:n.Injector}]};var _=function(){},N=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return c(n,t),n}(e.LCUElementContext),K="lcu-data-flow-iot-provisioning-pack-data-emulator-element",R=function(t){function n(n){var e=t.call(this,n)||this;return e.injector=n,e}return c(n,t),n.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},n}(e.LcuElementComponent);R.decorators=[{type:n.Component,args:[{selector:K,template:"<h2>LcuDataFlowIotProvisioningPack DataEmulator Next Steps</h2>\r\n\r\n<p>Do stuff and things!</p>",styles:[""]}]}],R.ctorParameters=function(){return[{type:n.Injector}]};var U=function(){},W=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return c(n,t),n}(e.LCUElementContext),V="lcu-data-flow-iot-provisioning-pack-warm-query-element",q=function(t){function n(n){var e=t.call(this,n)||this;return e.injector=n,e}return c(n,t),n.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},n}(e.LcuElementComponent);q.decorators=[{type:n.Component,args:[{selector:V,template:"<h2>LcuDataFlowIotProvisioningPack WarmQuery Next Steps</h2>\r\n\r\n<p>Do stuff and things!</p>",styles:[""]}]}],q.ctorParameters=function(){return[{type:n.Injector}]};var H=function(){function t(t){this.componentFactoryResolver=t}return t.prototype.ngOnInit=function(){},t.prototype.ngAfterViewInit=function(){this.renderComponent(0)},t.prototype.TabChange=function(t){var n=this;setTimeout((function(){n.renderComponent(t)}),1e3)},t.prototype.renderComponent=function(t){if(this.TabComponents){var n=this.componentFactoryResolver.resolveComponentFactory(this.TabComponents[t].Component),e=this.viewContainer.createComponent(n).instance;this.TabComponents.find((function(t){t.Component.name===e.constructor.name&&(e.Data=t.Data)}))}},t}();H.decorators=[{type:n.Component,args:[{selector:"lcu-dynamic-tabs",template:'<mat-tab-group (selectedIndexChange)="TabChange($event)">\r\n    <mat-tab \r\n        *ngFor="let component of TabComponents"\r\n        [label]="component.Label" >\r\n        <ng-template matTabContent>\r\n            <div #container></div>\r\n        </ng-template>\r\n    </mat-tab>\r\n</mat-tab-group>\r\n',styles:[""]}]}],H.ctorParameters=function(){return[{type:n.ComponentFactoryResolver}]},H.propDecorators={TabComponents:[{type:n.Input,args:["tab-components"]}],viewContainer:[{type:n.ViewChild,args:["container",{read:n.ViewContainerRef,static:!1}]}]};var B=function(){},Q=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return c(n,t),n}(e.LCUElementContext),G="lcu-data-flow-iot-provisioning-pack-machine-learning-element",z=function(t){function n(n){var e=t.call(this,n)||this;return e.injector=n,e}return c(n,t),n.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},n}(e.LcuElementComponent);z.decorators=[{type:n.Component,args:[{selector:G,template:"<h2>LcuDataFlowIotProvisioningPack MachineLearning Next Steps</h2>\r\n\r\n<p>Do stuff and things!</p>",styles:[""]}]}],z.ctorParameters=function(){return[{type:n.Injector}]};var $=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}();$.decorators=[{type:n.NgModule,args:[{declarations:[p,f,C,D,O,j,R,q,L,H,S,z],entryComponents:[p,f,C,D,O,j,R,q,L,H,S,z],exports:[p,f,C,D,O,j,R,q,L,H,S,z],imports:[e.FathymSharedModule,e.MaterialModule,r.FlexLayoutModule,a.ReactiveFormsModule,a.FormsModule,o.ChartsModule]}]}];var J=function(){},X=function(){};t.ConnectionStringModel=x,t.ConnectionStringsComponent=L,t.InfrastructureModel=X,t.LCUChart=J,t.LcuDataFlowIotProvisioningPackColdStorageContext=v,t.LcuDataFlowIotProvisioningPackColdStorageElementComponent=C,t.LcuDataFlowIotProvisioningPackColdStorageElementState=h,t.LcuDataFlowIotProvisioningPackDataEmulatorContext=N,t.LcuDataFlowIotProvisioningPackDataEmulatorElementComponent=R,t.LcuDataFlowIotProvisioningPackDataEmulatorElementState=_,t.LcuDataFlowIotProvisioningPackDataMapContext=k,t.LcuDataFlowIotProvisioningPackDataMapElementComponent=O,t.LcuDataFlowIotProvisioningPackDataMapElementState=E,t.LcuDataFlowIotProvisioningPackDataStreamContext=s,t.LcuDataFlowIotProvisioningPackDataStreamElementComponent=p,t.LcuDataFlowIotProvisioningPackDataStreamElementState=l,t.LcuDataFlowIotProvisioningPackDeviceStreamContext=d,t.LcuDataFlowIotProvisioningPackDeviceStreamElementComponent=f,t.LcuDataFlowIotProvisioningPackDeviceStreamElementState=u,t.LcuDataFlowIotProvisioningPackHotStorageContext=T,t.LcuDataFlowIotProvisioningPackHotStorageElementComponent=j,t.LcuDataFlowIotProvisioningPackHotStorageElementState=A,t.LcuDataFlowIotProvisioningPackMachineLearningContext=Q,t.LcuDataFlowIotProvisioningPackMachineLearningElementComponent=z,t.LcuDataFlowIotProvisioningPackMachineLearningElementState=B,t.LcuDataFlowIotProvisioningPackModule=$,t.LcuDataFlowIotProvisioningPackWarmQueryContext=W,t.LcuDataFlowIotProvisioningPackWarmQueryElementComponent=q,t.LcuDataFlowIotProvisioningPackWarmQueryElementState=U,t.LcuDataFlowIotProvisioningPackWarmStorageContext=P,t.LcuDataFlowIotProvisioningPackWarmStorageElementComponent=D,t.LcuDataFlowIotProvisioningPackWarmStorageElementState=I,t.SELECTOR_LCU_DATA_FLOW_IOT_PROVISIONING_PACK_MACHINE_LEARNING_ELEMENT=G,t.SelectorLcuDataFlowIotProvisioningPackColdStorageElement=y,t.SelectorLcuDataFlowIotProvisioningPackDataEmulatorElement=K,t.SelectorLcuDataFlowIotProvisioningPackDataMapElement=F,t.SelectorLcuDataFlowIotProvisioningPackDataStreamElement=m,t.SelectorLcuDataFlowIotProvisioningPackDeviceStreamElement=g,t.SelectorLcuDataFlowIotProvisioningPackHotStorageElement=M,t.SelectorLcuDataFlowIotProvisioningPackWarmQueryElement=V,t.SelectorLcuDataFlowIotProvisioningPackWarmStorageElement=w,t.TabComponentModel=b,t.ɵa=H,t.ɵb=S,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=napkin-ide-lcu-data-flow-iot-provisioning-pack-common.umd.min.js.map