{"version":3,"file":"ngx-govuk-button.mjs","sources":["../../../../libs/ngx-govuk/button/src/button-group.component.ts","../../../../libs/ngx-govuk/button/src/button-group.component.html","../../../../libs/ngx-govuk/button/src/button.directive.ts","../../../../libs/ngx-govuk/button/src/ngx-govuk-button.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n/**\n * Component that wraps a group of buttons. The content slot expects x number of buttons.\n *\n * @selector ngx-govuk-button-group\n */\n@Component({\n  selector: 'ngx-govuk-button-group',\n  standalone: true,\n  imports: [CommonModule],\n  templateUrl: './button-group.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgxGovukButtonGroup {\n  @HostBinding('class') get className() {\n    return 'govuk-button-group';\n  }\n}\n","<ng-content></ng-content>\n","import {\n  Directive,\n  ElementRef,\n  HostBinding,\n  Renderer2,\n  effect,\n  input,\n} from '@angular/core';\n/**\n * Directive to be added to native \"a\" or \"button\" elements\n *\n * @selector a[ngxGovukButton],button[ngxGovukButton]\n */\n@Directive({\n  selector: 'a[ngxGovukButton], button[ngxGovukButton]',\n  standalone: true,\n})\nexport class NgxGovukButton {\n  @HostBinding('class') get className() {\n    const classes = ['govuk-button'];\n    if (this.buttonType()) {\n      classes.push(`govuk-button--${this.buttonType()}`);\n    }\n    if (this.inversed()) {\n      classes.push('govuk-button--inverse');\n    }\n    return classes.join(' ');\n  }\n\n  /**\n   * The type / purpose of the button.\n   */\n  buttonType = input<'secondary' | 'warning' | 'start'>();\n\n  /**\n   * Inverse the button colour scheme for use when placed on dark backgrounds.\n   *\n   * @initialValue false\n   */\n  inversed = input<boolean>(false);\n\n  constructor(\n    private elementRef: ElementRef,\n    private renderer: Renderer2,\n  ) {\n    effect(() => {\n      if (this.buttonType() === 'start') {\n        const svgContainer = this.renderer.createElement('div');\n        svgContainer.innerHTML = `<svg class=\"govuk-button__start-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"17.5\" height=\"19\" viewBox=\"0 0 33 40\" aria-hidden=\"true\" focusable=\"false\">\n    <path fill=\"currentColor\" d=\"M0 0h13l20 20-20 20H0l20-20z\" />\n  </svg>`;\n        this.renderer.appendChild(\n          this.elementRef.nativeElement,\n          svgContainer.firstChild,\n        );\n      } else {\n        const svgElement = this.elementRef.nativeElement.querySelector('svg');\n        if (svgElement) {\n          svgElement.remove();\n        }\n      }\n    });\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}