{"__symbolic":"module","version":4,"metadata":{"SmartFormLibService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":12,"character":41},"arguments":[{"__symbolic":"reference","name":"EnvConfigService"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":12,"character":28},{"__symbolic":"reference","name":"EnvConfig"}]}],"getFlow":[{"__symbolic":"method"}],"deployFlow":[{"__symbolic":"method"}],"getAudioList":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"SmartFormLibComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"csf-smart-form-lib","template":"\n  <div *ngIf=\"sFlow!=undefined\">\n    <div style=\"align-content: center;text-align: center;\">\n        <ul class=\"step\">\n            <li *ngFor=\"let step of sfSteps;\" class=\"step-item\" [ngClass]=\"{'active':step.stepIndex == activeIx}\">\n                <a class=\"tooltip\" (click)=\"selectStep(step.stepIndex)\" [attr.data-tooltip]=\"step.description\">{{step.name}}</a>\n            </li>\n        </ul>\n    </div>    \n    <div class=\"container\" *ngIf=\"sfNode!=undefined\">        \n        <div *ngFor=\"let item of sfNode.editable | keyvalue; let i = index\">          \n            <div class=\"columns\" style=\"padding:10px;\">\n                <div class=\"column col-12\" style=\"text-align: center;\">\n                    <u><small><b>{{sfNode.name}}</b></small></u>&nbsp;&nbsp;&nbsp; <i><small>{{sfNode.description}}</small></i>\n                </div>\n            </div>            \n            <csf-input-control *ngIf=\"item.value.type!='audio'\" [i]=\"i\" [item]=\"item\" [node]=\"sFlow.nodes[activeIx]\"></csf-input-control>\n            <csf-audio-control *ngIf=\"item.value.type=='audio'\" [i]=\"i\" [item]=\"item\" [node]=\"sFlow.nodes[activeIx]\"></csf-audio-control>\n        </div>\n    </div>\n  </div>\n  ","styles":[]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SmartFormLibService"}]}],"flowId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"accessCode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"update":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3}}]}],"origin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"getFlow":[{"__symbolic":"method"}],"selectStep":[{"__symbolic":"method"}],"saveFlow":[{"__symbolic":"method"}]}},"EnvConfig":{"__symbolic":"interface"},"EnvConfigService":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":18,"character":36},"arguments":["EnvConfig"]},"SmartFormLibModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":26,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ng2-dnd","name":"DndModule","line":27,"character":4},"member":"forRoot"}}],"declarations":[{"__symbolic":"reference","name":"SmartFormLibComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}],"exports":[{"__symbolic":"reference","name":"SmartFormLibComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"SmartFormLibModule"},"providers":[{"__symbolic":"reference","name":"SmartFormLibService"},{"provide":{"__symbolic":"reference","name":"EnvConfigService"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"csf-wizard","template":"<div *ngIf=\"sFlow!=undefined\">\n    <div style=\"align-content: center;text-align: center;\">\n        <ul class=\"step\">\n            <li *ngFor=\"let step of sfSteps;\" class=\"step-item\" [ngClass]=\"{'active':step.stepIndex == activeIx}\">\n                <a class=\"tooltip\" (click)=\"selectStep(step.stepIndex)\" [attr.data-tooltip]=\"step.description\">{{step.name}} hi</a>\n            </li>\n        </ul>\n    </div>    \n    <div class=\"container\" *ngIf=\"sfNode!=undefined\">        \n        <div *ngFor=\"let item of sfNode.editable | keyvalue; let i = index\">          \n            <div class=\"columns\" style=\"padding:10px;\">\n                <div class=\"column col-12\" style=\"text-align: center;\">\n                    <u><small><b>{{sfNode.name}}</b></small></u>&nbsp;&nbsp;&nbsp; <i><small>{{sfNode.description}}</small></i>\n                </div>\n            </div>            \n            <csf-input-control *ngIf=\"item.value.type!='audio'\" [i]=\"i\" [item]=\"item\" [node]=\"sfNode\"></csf-input-control>\n            <csf-audio-control *ngIf=\"item.value.type=='audio'\" [i]=\"i\" [item]=\"item\" [node]=\"sfNode\"></csf-audio-control>\n        </div>\n    </div>\n</div>\n\n\n\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SmartFormLibService"}]}],"flowId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"accessCode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"getFlow":[{"__symbolic":"method"}],"selectStep":[{"__symbolic":"method"}],"saveFlow":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵc"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"csf-input-control","template":"<div class=\"columns\">\n    <div class=\"column col-7\">\n        <div class=\"form-group\" dnd-droppable (onDropSuccess)=\"addVariables($event,item.key)\">\n            <label class=\"form-label\" for=\"input-example-3\">{{item.value.name}}</label>                        \n            <textarea class=\"form-input\" id=\"input-example-3\" [(ngModel)]=\"node.settings[item.key]\" rows=\"3\"></textarea>\n        </div>\n    </div>    \n    <div class=\"column col-5\" *ngIf=\"i==0 && node.context!=undefined && node.context.imported!=undefined\">        \n        <!-- <div class=\"flex-input\">\n            <span class=\"flex-label\"> Available Variables </span>\n        </div>\n        <div id=\"variable-list\">\n            <table  class=\"table table-sm\">  \n                <tbody>\n                    <tr *ngFor=\"let varItem of node.context.imported | keyvalue\">        \n                        <td>\n                            <div *ngFor=\"let variable of varItem.value.variables\">\n                                <div class=\"grab-row\" dnd-draggable [dragEnabled]=\"true\" [dragData]=\"variable\">\n                                    $<span>{{variable}}</span>\n                                </div>\n                            </div>\n                        </td>\n                    </tr>\n                </tbody>\n            </table>\n        </div> -->\n        <div class=\"flex-stack\" *ngIf=\"variables !=undefined\">    \n            <div class=\"flex-input\">\n                <span class=\"flex-label\"> Available Variables </span>\n            </div>      \n        </div>\n        <div class=\"flex-stack\" *ngIf=\"variables !=undefined\">    \n            <div class=\"flex-input\">\n                <!-- <span class=\"label-block text-muted\" i18n=\"Send From|Send from label@@sendFromLabel\">AVAILABLE VARIABLES</span> -->\n                <div class=\"flex-row\">\n                    <div class=\"pill\" *ngFor=\"let variable of variables\">\n                        <div class=\"grab-row\" dnd-draggable [dragEnabled]=\"true\" [dragData]=\"variable\">\n                            $<span>{{variable}}</span>\n                        </div>\n                    </div>\n                </div>\n            </div>      \n        </div>\n    </div>\n</div>\n","styles":[".grab-row{align-items:center;background:rgba(202,211,222,.4);border:1px solid rgba(0,64,133,.2);border-radius:5px;color:#004085;cursor:-webkit-grab!important;cursor:-webkit-grab!important;cursor:-moz-grab!important;display:flex;margin:.2rem auto;overflow:hidden;padding:.3rem;-webkit-user-select:none;-moz-user-select:none;transition:.4s ease-out;-ms-user-select:none;user-select:none;width:95%}.grab-row:hover{background:rgba(101,165,255,.2);color:#004085}.grab-row.dnd-drag-start,.grab-row:active{cursor:-webkit-grabbing!important;cursor:-webkit-grabbing!important;cursor:-moz-grabbing!important}.grab-row i{margin-right:5px}#variable-list{border:1px solid rgba(35,58,119,.2);border-radius:2px;max-height:150px;overflow:auto}.flex-input,.flex-input span{padding-left:0;padding-right:0}.flex-input span,.flex-label{font-size:.7rem}.table-sm td{padding:0}.droppable{padding:.3rem .5rem;font-size:.7rem}.dropped{border:1px solid #aaa;background:#fff;color:#004085;padding:5px;font-size:.75em}.dropped .close{color:#004085;font-size:11pt}.flex-row{flex-wrap:wrap}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"i":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"addVariables":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","members":{"node":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":4,"character":5}}]}],"setVariables":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵc"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"csf-audio-control","template":"<div class=\"columns\">\n  <div *ngIf=\"node!=undefined\" class=\"column col-6\">\n    <div class=\"flex-stack\">  \n      <div class=\"flex-input\" style=\"padding-bottom:5px;\">        \n        <select class=\"full-input\" [(ngModel)]=\"voiceSelection\" (change)=\"checkFields()\">\n          <option value=\"\">--Select Voice--</option>\n          <option value=\"de-DE_BirgitVoice\">German (DE) Female</option>\n          <option value=\"de-DE_DieterVoice\">German (DE) Male</option>\n          <option value=\"en-GB_KateVoice\">English (GB) Female</option>\n          <option value=\"en-US_AllisonVoice\">English (US) Female 1</option>\n          <option value=\"en-US_LisaVoice\">English (US) Female 2</option>\n          <option value=\"en-US_MichaelVoice\">English (US) Male</option>\n          <option value=\"es-ES_EnriqueVoice\">Spanish (SP) Male</option>\n          <option value=\"es-ES_LauraVoice\">Spanish (SP) Female</option>\n          <option value=\"es-US_SofiaVoice\">Spanish (NA) Female</option>\n          <option value=\"es-LA_SofiaVoice\">Spanish (LA) Female</option>\n          <option value=\"fr-FR_ReneeVoice\">French (FR) Female</option>\n          <option value=\"it-IT_FrancescaVoice\">Italian (IT) Female</option>\n          <option value=\"ja-JP_EmiVoice\">Japanese (JP) Female</option>\n          <option value=\"pt-BR_IsabelaVoice\">Portuguese (BR) Female</option>\n        </select>      \n      </div>\n    </div>\n    <div class=\"flex-stack\">\n      <div class=\"flex-input\">\n        <textarea class=\"multi-select\" [(ngModel)]=\"aText\" name=\"\" cols=\"30\" rows=\"2\" (change)=\"checkFields()\"></textarea>\n        <span class=\"label-block text-muted\">\n          <span >\n          <button class=\"btn btn-sm\" style=\"min-width:40px;border-color: #f3f3f3;\" (click)=\"addText()\" [disabled]=\"!show\">\n            <span>Add Text</span>\n          </button>\n        </span>\n        </span>\n      </div>\n    </div>\n    <br>\n    <div class=\"flex-input\">\n        <span class=\"flex-label\"> Audio Library </span>\n    </div>\n    <div id=\"audio-list\">\n      <table  class=\"table table-sm\">  \n        <tbody>\n          <tr *ngFor=\"let audio of audioList\">        \n            <td>          \n              <div class=\"grab-row\" dnd-draggable [dragEnabled]=\"true\" [dragData]=\"audio.fileName\"><i class=\"fas fa-arrows-alt\"></i>{{audio.fileName}}</div>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n  </div>\n  <div class=\"column col-6\">\n    <!-- <div class=\"flex-stack\">  \n      <div class=\"flex-input\">\n        <span class=\"label-block text-muted\" i18n=\"Channel ID|Channel ID label@@voiceSelLabel\">Channel ID</span>\n        <select class=\"full-input\" [(ngModel)]=\"node.settings.channelId\">\n          <option></option>\n          <option *ngFor=\"let channel of variables | VariableFilterPipe:'CHANNEL_ID';\" value=\"{{channel}}\">{{channel}}</option>\n        </select>      \n      </div>\n    </div> -->\n    <!-- <div class=\"flex-stack\">  \n      <div class=\"flex-input\">\n        <span class=\"label-block text-muted\" i18n=\"Voice Selection|Voice selection label@@voiceSelLabel\">VOICE SELECTION</span>\n        <select class=\"full-input\" [(ngModel)]=\"voiceSelection\">\n          <option></option>\n          <option value=\"de-DE_BirgitVoice\">German (DE) Female</option>\n          <option value=\"de-DE_DieterVoice\">German (DE) Male</option>\n          <option value=\"en-GB_KateVoice\">English (GB) Female</option>\n          <option value=\"en-US_AllisonVoice\">English (US) Female 1</option>\n          <option value=\"en-US_LisaVoice\">English (US) Female 2</option>\n          <option value=\"en-US_MichaelVoice\">English (US) Male</option>\n          <option value=\"es-ES_EnriqueVoice\">Spanish (SP) Male</option>\n          <option value=\"es-ES_LauraVoice\">Spanish (SP) Female</option>\n          <option value=\"es-US_SofiaVoice\">Spanish (NA) Female</option>\n          <option value=\"es-LA_SofiaVoice\">Spanish (LA) Female</option>\n          <option value=\"fr-FR_ReneeVoice\">French (FR) Female</option>\n          <option value=\"it-IT_FrancescaVoice\">Italian (IT) Female</option>\n          <option value=\"ja-JP_EmiVoice\">Japanese (JP) Female</option>\n          <option value=\"pt-BR_IsabelaVoice\">Portuguese (BR) Female</option>\n        </select>      \n      </div>\n    </div> -->\n    <!-- <div class=\"flex-stack\">\n      <div class=\"flex-input\">\n        <span class=\"label-block text-muted\">\n          <button class=\"btn btn-sm\" style=\"min-width:40px;border-color: #f3f3f3;\" (click)=\"addText()\">\n            <i class=\"fas fa-plus\"></i>\n            <span>Add Text</span>\n          </button>\n        </span>\n        <textarea class=\"multi-select\" [(ngModel)]=\"aText\" name=\"\" cols=\"30\" rows=\"2\"></textarea>\n      </div>\n    </div> -->\n    <div class=\"flex-input\">\n      <span class=\"flex-label\">Introductory Audio</span>\n    </div>\n    <div class=\"form-horizontal drop-zone\">\n      <div class=\"form-group\">\n        <div class=\"col-12 col-sm-12 droppable\" dnd-droppable  (onDropSuccess)=\"addToPlaylist($event,'default')\">\n          <p class=\"text-center\" style=\"margin-bottom:0;\"> -------- DRAG <span style=\"font-size: .6rem\">(from library)</span> To Add -------- </p>\n        </div>\n      </div>\n    </div>\n    <div *ngFor=\"let audioFile of node.settings.audioFiles; let i = index\" class=\"columns  dropped\">\n      <div class=\"column col-8\" >\n        <span class=\"close\" (click)=\"removeFromPlaylist(i,'default')\">×</span>\n        <span *ngIf=\"audioFile.fileName!=''\" class=\"txt\">\n          {{audioFile.fileName}} \n        </span>      \n        <span *ngIf=\"audioFile.text!=''\" class=\"txt\">\n            Text: {{audioFile.text}}\n        </span>\n      </div>\n      <div class=\"column col-2\" *ngIf=\"node.settings.maxRetries!=undefined && node.settings.maxRetries>0\"><input type=\"number\" [(ngModel)]=\"audioFile.loopStart\"/></div>\n      <div class=\"column col-2\" *ngIf=\"node.settings.maxRetries!=undefined && node.settings.maxRetries>0\"><input type=\"number\" [(ngModel)]=\"audioFile.loopEnd\"/></div>\n    </div>\n    <!-- <div *ngFor=\"let audioFile of node.settings.audioFiles; let i = index\" class=\"row\" style=\"padding:0px; margin: 10px\">\n      <div class=\"col-12 col-sm-12 dropped\">\n        <span class=\"close\" (click)=\"removeFromPlaylist(i,'default')\">×</span>\n        <span *ngIf=\"audioFile.fileName != undefined && audioFile.fileName!=''\" class=\"txt\">\n          {{audioFile.fileName}} \n        </span>      \n        <span *ngIf=\"audioFile.text != undefined && audioFile.text!=''\" class=\"txt\">\n            Text: {{audioFile.text}}\n        </span>      \n        <span style=\"float:right\" *ngIf=\"node.settings.maxRetries!=undefined && node.settings.maxRetries>0\">\n          <span style=\"padding-right: 10px;\"><input type=\"number\" [(ngModel)]=\"audioFile.loopStart\"/></span>\n          <span style=\"padding-right: 5px;\"><input type=\"number\" [(ngModel)]=\"audioFile.loopEnd\"/></span>\n        </span>\n      </div>\n    </div> -->\n  </div>\n</div>\n  \n  ","styles":["#audio-list{border:1px solid rgba(35,58,119,.2);border-radius:2px;max-height:150px;overflow:auto;max-height:250px}.grab-row{align-items:center;background:rgba(202,211,222,.4);border:1px solid rgba(0,64,133,.2);border-radius:5px;color:#004085;cursor:-webkit-grab!important;cursor:-webkit-grab!important;cursor:-moz-grab!important;display:flex;margin:.2rem auto;overflow:hidden;padding:.3rem;-webkit-user-select:none;-moz-user-select:none;transition:.4s ease-out;-ms-user-select:none;user-select:none;width:95%}.grab-row:hover{background:rgba(101,165,255,.2);color:#004085}.grab-row.dnd-drag-start,.grab-row:active{cursor:-webkit-grabbing!important;cursor:-webkit-grabbing!important;cursor:-moz-grabbing!important}.grab-row i{margin-right:5px}.drag-txt p{margin-bottom:0;margin-top:-15px;color:#004085}.droppable.dnd-drag-over{background:rgba(91,191,33,.2)}.drop-zone{border:1px dashed #aaa;box-shadow:none;padding:0;margin-bottom:10px}.dropped .close{cursor:pointer;float:left;font-weight:700;padding-right:10px;color:#004085;font-size:11pt}.dropped .close:hover{color:#004085}.flex-input,.flex-input span{padding-left:0;padding-right:0}.flex-input span,.flex-label{font-size:.7rem}.table-sm td{padding:0}.droppable{background:rgba(101,165,255,.2);overflow:hidden;transition:.4s ease-out;padding:.3rem .5rem;font-size:.7rem}.dropped{border-top:1px solid #eee;border-radius:5px;box-shadow:none;border:1px solid #aaa;background:#fff;color:#004085;padding:5px;font-size:.75em}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SmartFormLibService"}]}],"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":161,"character":5}}]}],"i":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":170,"character":5}}]}],"ngOnInit":[{"__symbolic":"method"}],"addToPlaylist":[{"__symbolic":"method"}],"removeFromPlaylist":[{"__symbolic":"method"}],"checkFields":[{"__symbolic":"method"}],"addText":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":2,"character":1},"arguments":[{"name":"VariableFilterPipe"}]}],"members":{"transform":[{"__symbolic":"method"}]}}},"origins":{"SmartFormLibService":"./lib/smart-form-lib.service","SmartFormLibComponent":"./lib/smart-form-lib.component","EnvConfig":"./lib/smart-form-lib.module","EnvConfigService":"./lib/smart-form-lib.module","SmartFormLibModule":"./lib/smart-form-lib.module","ɵa":"./lib/wizard/wizard.component","ɵb":"./lib/input-control/input-control.component","ɵc":"./lib/model/verb","ɵd":"./lib/audio-control/audio-control.component","ɵe":"./lib/pipes/variable-filter.pipe"},"importAs":"smart-form-lib"}