{"__symbolic":"module","version":4,"metadata":{"TsButtonModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/material/progress-spinner","name":"MatProgressSpinnerModule","line":16,"character":4},{"__symbolic":"reference","module":"@terminus/ui/icon","name":"TsIconModule","line":17,"character":4}],"providers":[{"__symbolic":"reference","module":"@terminus/ngx-tools/browser","name":"TsWindowService","line":20,"character":4}],"exports":[{"__symbolic":"reference","name":"TsButtonComponent"}],"declarations":[{"__symbolic":"reference","name":"TsButtonComponent"}]}]}],"members":{}},"TsButtonActionTypes":{"__symbolic":"interface"},"TsButtonFunctionTypes":{"__symbolic":"interface"},"TsButtonFormatTypes":{"__symbolic":"interface"},"tsButtonFormatTypesArray":["filled","hollow","collapsable","collapsible"],"TsButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":93,"character":1},"arguments":[{"selector":"ts-button","host":{"class":"ts-button"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":98,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":99,"character":17},"member":"None"},"exportAs":"tsButton","template":"<button\n  mat-raised-button\n  class=\"c-button mat-raised-button qa-button\"\n  [ngClass]=\"{\n    'c-button--collapsed': isCollapsed,\n    'c-button--progress': showProgress && !isDisabled\n  }\"\n  [attr.aria-label]=\"actionName\"\n  [attr.id]=\"id\"\n  [attr.type]=\"buttonType\"\n  [disabled]=\"shouldBeDisabled\"\n  tabindex=\"{{ tabIndex }}\"\n  (click)=\"clickedButton($event)\"\n  #button\n>\n  <ts-icon\n    *ngIf=\"iconName\"\n    class=\"c-button__icon\"\n  >\n    {{ iconName }}\n  </ts-icon>\n\n  <span class=\"c-button__content\">\n    <ng-content></ng-content>\n  </span>\n\n\n  <mat-progress-spinner\n    *ngIf=\"showProgress && !isDisabled\"\n    class=\"c-button__spinner qa-button-spinner\"\n    [ngClass]=\"{'c-button__spinner--active': showProgress && !isDisabled}\"\n    diameter=\"21\"\n    mode=\"indeterminate\"\n  ></mat-progress-spinner>\n</button>\n","styles":[":root{--swift-ease-out-duration:var(--ts-animation-time-duration-400);--swift-ease-out-timing-function:cubic-bezier(.25, .8, .25, 1);--swift-ease-in-duration:var(--ts-animation-time-duration-300);--swift-ease-in-timing-function:cubic-bezier(.55, 0, .55, .2)}ts-button{--button-lineHeight:35px;--button-rotation:360deg;--button-icon-negative-padding-adjustment:-4px;--button-collapsible-first-icon-adjustment:-.15em;--button-content-transitionDuration:var(--ts-animation-time-duration-500);--button-icon-transitionDuration-collapse:calc(var(--button-content-transitionDuration) - 100ms);--button-icon-transitionDuration-expand:calc(var(--button-icon-transitionDuration-collapse) - 100ms);--button-label-transitionDuration:calc(var(--button-icon-transitionDuration-expand) - 100ms);--button-color-transitionDuration:calc(var(--button-label-transitionDuration) - 100ms);--button-color-transition:color var(--button-color-transitionDuration) var(--ts-animation-easing-ease);--button-background-transition:background var(--button-icon-transitionDuration-collapse) var(--ts-animation-easing-ease);--button-shadow-transition:box-shadow var(--button-icon-transitionDuration-expand) var(--ts-animation-easing-ease);--button-maxWidth-transition:max-width var(--button-content-transitionDuration) var(--ts-animation-easing-ease);--button-icon-transition:transform var(--button-icon-transitionDuration-expand) var(--ts-animation-easing-ease);--button-spinner-transition:opacity var(--button-label-transitionDuration) var(--ts-animation-easing-ease);--button-margin:4px 0;--button-padding:0 var(--ts-space-inline-400);--button-padding-collapsed:0 6px;--button-border:1px solid transparent;--button-border-radius:3px;--button-border-radius-collapsible:2em;--button-backgroundColor-disabled:var(--ts-color-utility-300);--button-backgroundColor-primary:var(--ts-color-primary-500);--button-backgroundColor-accent:var(--ts-color-accent-500);--button-backgroundColor-warn:var(--ts-color-warn-500);--button-color-disabled:var(--ts-color-utility-500);--button-color:var(--ts-color-light);--button-padding-right-progress:36px;--button-icon-vertical-adjustment:-.15em;--button-icon-horizontal-adjustment:.2em}.ts-button{display:inline-block;margin:var(--button-margin)}.ts-button :not(.mat-form-field-label-wrapper){box-sizing:border-box}.ts-button h1,.ts-button h2,.ts-button h3,.ts-button h4,.ts-button h5,.ts-button p{margin:unset}.ts-button .c-button{font-family:Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;letter-spacing:.01em;font-weight:400;border:var(--button-border);border-radius:var(--button-border-radius);color:var(--button-color);line-height:var(--button-lineHeight);min-width:auto;padding:var(--button-padding);transition:var(--button-color-transition),var(--button-background-transition),var(--button-shadow-transition)}.ts-button .c-button:not(.c-button):not(.c-input):not(.c-select):not(.ts-checkbox){line-height:20px}.ts-button .c-button--primary:not(.c-button--hollow){background-color:var(--button-backgroundColor-primary)}.ts-button .c-button--primary[disabled]{background-color:var(--button-backgroundColor-disabled);color:var(--button-color-disabled)}.ts-button .c-button--primary.c-button--hollow{border-color:var(--ts-color-primary-500);box-shadow:none;color:var(--ts-color-primary-500)}.ts-button .c-button--primary.c-button--hollow:focus,.ts-button .c-button--primary.c-button--hollow:hover{background-color:var(--button-backgroundColor-primary);color:var(--button-color)}.ts-button .c-button--primary.c-button--hollow[disabled]{background-color:transparent;border-color:var(--ts-color-utility-500);color:var(--ts-color-utility-500)}.ts-button .c-button--accent:not(.c-button--hollow){background-color:var(--button-backgroundColor-accent)}.ts-button .c-button--accent[disabled]{background-color:var(--button-backgroundColor-disabled);color:var(--button-color-disabled)}.ts-button .c-button--accent.c-button--hollow{border-color:var(--ts-color-accent-500);box-shadow:none;color:var(--ts-color-accent-500)}.ts-button .c-button--accent.c-button--hollow:focus,.ts-button .c-button--accent.c-button--hollow:hover{background-color:var(--button-backgroundColor-accent);color:var(--button-color)}.ts-button .c-button--accent.c-button--hollow[disabled]{background-color:transparent;border-color:var(--ts-color-utility-500);color:var(--ts-color-utility-500)}.ts-button .c-button--warn:not(.c-button--hollow){background-color:var(--button-backgroundColor-warn)}.ts-button .c-button--warn[disabled]{background-color:var(--button-backgroundColor-disabled);color:var(--button-color-disabled)}.ts-button .c-button--warn.c-button--hollow{border-color:var(--ts-color-warn-500);box-shadow:none;color:var(--ts-color-warn-500)}.ts-button .c-button--warn.c-button--hollow:focus,.ts-button .c-button--warn.c-button--hollow:hover{background-color:var(--button-backgroundColor-warn);color:var(--button-color)}.ts-button .c-button--warn.c-button--hollow[disabled]{background-color:transparent;border-color:var(--ts-color-utility-500);color:var(--ts-color-utility-500)}.ts-search .ts-button{position:relative;top:calc(var(--ts-space-stack-400) * -1)}.c-button[disabled]{cursor:not-allowed}.c-button .mat-button-wrapper{position:relative;transition:padding .2s ease-out;will-change:padding,margin}.c-button.c-button--progress .mat-button-wrapper{padding-right:var(--button-padding-right-progress)}.c-button__icon{margin-right:var(--button-icon-horizontal-adjustment)}.c-button .c-icon{margin-top:var(--button-icon-vertical-adjustment);transition:var(--button-icon-transition);vertical-align:middle;will-change:transform}.c-button .c-button__spinner{display:inline-block;opacity:0;position:absolute;right:0;top:0;transition:var(--button-spinner-transition)}.c-button .c-button__spinner--active{opacity:1}.c-button .c-button__spinner circle{stroke:var(--ts-color-utility-500)}.c-button.c-button--collapsed:not(:hover):not(:focus){padding:var(--button-padding-collapsed)}.c-button.c-button--collapsed:not(:hover):not(:focus) .ts-icon{margin-right:0}.c-button.c-button--collapsed:not(:hover):not(:focus) .c-icon{position:relative;transform:rotate(var(--button-rotation));transition-duration:var(--button-icon-transitionDuration-collapse)}.c-button.c-button--collapsed:not(:hover):not(:focus) .c-button__content{max-width:0;padding:0}.c-button.c-button--collapsable,.c-button.c-button--collapsible{border-radius:var(--button-border-radius-collapsible)}.c-button.c-button--collapsable[disabled]:not(:hover):not(:focus),.c-button.c-button--collapsible[disabled]:not(:hover):not(:focus){padding:var(--button-padding-collapsed)}.c-button.c-button--collapsable[disabled]:not(:hover):not(:focus) .ts-icon,.c-button.c-button--collapsible[disabled]:not(:hover):not(:focus) .ts-icon{margin-right:0}.c-button.c-button--collapsable[disabled]:not(:hover):not(:focus) .c-icon,.c-button.c-button--collapsible[disabled]:not(:hover):not(:focus) .c-icon{position:relative;transform:rotate(var(--button-rotation));transition-duration:var(--button-icon-transitionDuration-collapse)}.c-button.c-button--collapsable[disabled]:not(:hover):not(:focus) .c-button__content,.c-button.c-button--collapsible[disabled]:not(:hover):not(:focus) .c-button__content{max-width:0;padding:0}.c-button.c-button--collapsable:focus .c-icon,.c-button.c-button--collapsable:hover .c-icon,.c-button.c-button--collapsible:focus .c-icon,.c-button.c-button--collapsible:hover .c-icon{margin-left:var(--button-collapsible-first-icon-adjustment)}.c-button.c-button--collapsable .c-button__content,.c-button.c-button--collapsible .c-button__content{display:inline-block;max-width:400px;overflow:hidden;transition:var(--button-maxWidth-transition);white-space:nowrap}.c-button.c-button--collapsable .c-button__content .ts-icon,.c-button.c-button--collapsible .c-button__content .ts-icon{margin-left:var(--button-icon-negative-padding-adjustment);margin-right:var(--button-icon-negative-padding-adjustment)}.c-button.c-button--collapsable .mat-ripple,.c-button.c-button--collapsible .mat-ripple{border-radius:var(--button-border-radius-collapsible)}.mat-menu-panel .ts-button button.c-button{--menu-item-color:var(--ts-color-base-black);--menu-item-backgroundColor:transparent;background-color:var(--menu-item-backgroundColor);border-radius:0;box-shadow:none;color:var(--menu-item-color);text-align:left;transition-duration:var(--ts-animation-time-duration-400);transition-property:background-color,color;transition-timing-function:var(--ts-animation-easing-ease);width:100%}.mat-menu-panel .ts-button button.c-button:active,.mat-menu-panel .ts-button button.c-button:focus,.mat-menu-panel .ts-button button.c-button:hover{--menu-item-backgroundColor:var(--ts-color-utility-100);--menu-item-color:var(--ts-color-primary-500);box-shadow:none}"]}]}],"members":{"button":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":149,"character":3},"arguments":["button",{"static":true}]}]}],"actionName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":155,"character":3}}]}],"buttonType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":161,"character":3}}]}],"collapsed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":169,"character":3}}]}],"format":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":185,"character":3}}]}],"iconName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":224,"character":3}}]}],"isDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":230,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":238,"character":3}}]}],"showProgress":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":250,"character":3}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":256,"character":3}}]}],"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":264,"character":3}}]}],"clicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":288,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":293,"character":31},{"__symbolic":"reference","module":"@terminus/ngx-tools/browser","name":"TsWindowService","line":294,"character":27},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":295,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"clickedButton":[{"__symbolic":"method"}],"collapseWithDelay":[{"__symbolic":"method"}],"updateClasses":[{"__symbolic":"method"}]}}},"origins":{"TsButtonModule":"./button.module","TsButtonActionTypes":"./button.component","TsButtonFunctionTypes":"./button.component","TsButtonFormatTypes":"./button.component","tsButtonFormatTypesArray":"./button.component","TsButtonComponent":"./button.component"},"importAs":"@terminus/ui/button"}