{"version":3,"file":"abgov-angular-components.mjs","sources":["../../../../libs/angular-components/src/lib/value-directive.ts","../../../../libs/angular-components/src/lib/checked-directive.ts","../../../../libs/angular-components/src/lib/angular-components.module.ts","../../../../libs/angular-components/src/lib/components/base.component.ts","../../../../libs/angular-components/src/lib/components/accordion/accordion.ts","../../../../libs/angular-components/src/lib/components/badge/badge.ts","../../../../libs/angular-components/src/lib/components/block/block.ts","../../../../libs/angular-components/src/lib/components/button/button.ts","../../../../libs/angular-components/src/lib/components/button-group/button-group.ts","../../../../libs/angular-components/src/lib/components/calendar/calendar.ts","../../../../libs/angular-components/src/lib/components/callout/callout.ts","../../../../libs/angular-components/src/lib/components/card/card.ts","../../../../libs/angular-components/src/lib/components/card-content/card-content.ts","../../../../libs/angular-components/src/lib/components/card-actions/card-actions.ts","../../../../libs/angular-components/src/lib/components/card-image/card-image.ts","../../../../libs/angular-components/src/lib/components/checkbox/checkbox.ts","../../../../libs/angular-components/src/lib/components/checkbox-list/checkbox-list.ts","../../../../libs/angular-components/src/lib/components/chip/chip.ts","../../../../libs/angular-components/src/lib/components/circular-progress/circular-progress.ts","../../../../libs/angular-components/src/lib/components/column-layout/column-layout.ts","../../../../libs/angular-components/src/lib/components/container/container.ts","../../../../libs/angular-components/src/lib/components/data-grid/data-grid.ts","../../../../libs/angular-components/src/lib/components/date-picker/date-picker.ts","../../../../libs/angular-components/src/lib/components/details/details.ts","../../../../libs/angular-components/src/lib/components/divider/divider.ts","../../../../libs/angular-components/src/lib/components/drawer/drawer.ts","../../../../libs/angular-components/src/lib/components/dropdown/dropdown.ts","../../../../libs/angular-components/src/lib/components/dropdown-item/dropdown-item.ts","../../../../libs/angular-components/src/lib/components/file-upload-card/file-upload-card.ts","../../../../libs/angular-components/src/lib/components/file-upload-input/file-upload-input.ts","../../../../libs/angular-components/src/lib/components/filter-chip/filter-chip.ts","../../../../libs/angular-components/src/lib/components/footer/footer.ts","../../../../libs/angular-components/src/lib/components/footer-meta-section/footer-meta-section.ts","../../../../libs/angular-components/src/lib/components/footer-nav-section/footer-nav-section.ts","../../../../libs/angular-components/src/lib/components/form/public-form.ts","../../../../libs/angular-components/src/lib/components/form/public-form-page.ts","../../../../libs/angular-components/src/lib/components/form/public-form-summary.ts","../../../../libs/angular-components/src/lib/components/form/public-subform.ts","../../../../libs/angular-components/src/lib/components/form/public-subform-index.ts","../../../../libs/angular-components/src/lib/components/form/task.ts","../../../../libs/angular-components/src/lib/components/form/task-list.ts","../../../../libs/angular-components/src/lib/components/form/fieldset.ts","../../../../libs/angular-components/src/lib/components/form-item/form-item.ts","../../../../libs/angular-components/src/lib/components/form-item/form-item-slot.ts","../../../../libs/angular-components/src/lib/components/form-step/form-step.ts","../../../../libs/angular-components/src/lib/components/form-stepper/form-stepper.ts","../../../../libs/angular-components/src/lib/components/grid/grid.ts","../../../../libs/angular-components/src/lib/components/header/header.ts","../../../../libs/angular-components/src/lib/components/header-menu/header-menu.ts","../../../../libs/angular-components/src/lib/components/hero-banner/hero-banner.ts","../../../../libs/angular-components/src/lib/components/icon/icon.ts","../../../../libs/angular-components/src/lib/components/icon-button/icon-button.ts","../../../../libs/angular-components/src/lib/components/input/input.ts","../../../../libs/angular-components/src/lib/components/input-number/input-number.ts","../../../../libs/angular-components/src/lib/components/linear-progress/linear-progress.ts","../../../../libs/angular-components/src/lib/components/link/link.ts","../../../../libs/angular-components/src/lib/components/microsite-header/microsite-header.ts","../../../../libs/angular-components/src/lib/components/modal/modal.ts","../../../../libs/angular-components/src/lib/components/menu-button/menu-button.ts","../../../../libs/angular-components/src/lib/components/menu-button/menu-action.ts","../../../../libs/angular-components/src/lib/components/notification/notification.ts","../../../../libs/angular-components/src/lib/components/page-block/page-block.ts","../../../../libs/angular-components/src/lib/components/pages/pages.ts","../../../../libs/angular-components/src/lib/components/pagination/pagination.ts","../../../../libs/angular-components/src/lib/components/popover/popover.ts","../../../../libs/angular-components/src/lib/components/push-drawer/push-drawer.ts","../../../../libs/angular-components/src/lib/components/radio-group/radio-group.ts","../../../../libs/angular-components/src/lib/components/radio-item/radio-item.ts","../../../../libs/angular-components/src/lib/components/side-menu/side-menu.ts","../../../../libs/angular-components/src/lib/components/side-menu-group/side-menu-group.ts","../../../../libs/angular-components/src/lib/components/side-menu-heading/side-menu-heading.ts","../../../../libs/angular-components/src/lib/components/skeleton/skeleton.ts","../../../../libs/angular-components/src/lib/components/spacer/spacer.ts","../../../../libs/angular-components/src/lib/components/scroll-panel/scroll-panel.ts","../../../../libs/angular-components/src/lib/components/tab/tab.ts","../../../../libs/angular-components/src/lib/components/table/table.ts","../../../../libs/angular-components/src/lib/components/table-sort-header/table-sort-header.ts","../../../../libs/angular-components/src/lib/components/tabs/tabs.ts","../../../../libs/angular-components/src/lib/components/temporary-notification-ctrl/temporary-notification-ctrl.ts","../../../../libs/angular-components/src/lib/components/text/text.ts","../../../../libs/angular-components/src/lib/components/textarea/textarea.ts","../../../../libs/angular-components/src/lib/components/tooltip/tooltip.ts","../../../../libs/angular-components/src/lib/components/work-side-menu/work-side-menu.ts","../../../../libs/angular-components/src/lib/components/work-side-menu-group/work-side-menu-group.ts","../../../../libs/angular-components/src/lib/components/work-side-menu-item/work-side-menu-item.ts","../../../../libs/angular-components/src/lib/components/work-side-notification-item/work-side-notification-item.ts","../../../../libs/angular-components/src/lib/components/work-side-notification-panel/work-side-notification-panel.ts","../../../../libs/angular-components/src/lib/components/workspace-layout/workspace-layout-scroll-state.service.ts","../../../../libs/angular-components/src/lib/components/workspace-layout/workspace-layout.ts","../../../../libs/angular-components/src/lib/theme/theme.service.ts","../../../../libs/angular-components/src/abgov-angular-components.ts"],"sourcesContent":["import { forwardRef, Directive, ElementRef, HostListener, inject } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n// @deprecated: Use the new <goab-input .. /> component\n@Directive({\n  standalone: true,\n  selector: \"[goaValue]\",\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ValueDirective),\n      multi: true,\n    },\n  ],\n})\nexport class ValueDirective implements ControlValueAccessor {\n  protected elementRef = inject(ElementRef);\n\n  private _value = \"\";\n  private _disabled = false;\n\n  /* eslint-disable @typescript-eslint/no-explicit-any */\n  onChange: any = () => {\n    /* default implementation */\n  };\n  onTouched: any = () => {\n    /* default implementation */\n  };\n\n  get value(): string {\n    return this._value;\n  }\n\n  set value(val: string) {\n    this._value = val;\n    this.onChange(this._value);\n    this.onTouched();\n    this.elementRef.nativeElement.value = val;\n  }\n\n  writeValue(value: string) {\n    this.value = value;\n  }\n\n  registerOnChange(fn: () => void) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void) {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this._disabled = isDisabled;\n    this.elementRef.nativeElement.disabled = isDisabled;\n  }\n\n  @HostListener(\"_change\", [\"$event\"])\n  listenForValueChange(event: Event) {\n    const value = (event as CustomEvent<{ value: string }>).detail.value;\n    this.value = value;\n  }\n  @HostListener(\"disabledChange\", [\"$event\"])\n  listenForDisabledChange(event: Event) {\n    const isDisabled = (event as CustomEvent<{ disabled: boolean }>).detail.disabled;\n    this.setDisabledState(isDisabled);\n  }\n}\n\n@Directive({\n  standalone: true,\n  selector: \"[goaValueList]\",\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ValueListDirective),\n      multi: true,\n    },\n  ],\n})\nexport class ValueListDirective implements ControlValueAccessor {\n  protected elementRef = inject(ElementRef);\n\n  private _value?: string[] = [];\n\n  onChange: any = () => {};\n  onTouched: any = () => {};\n\n  get value(): string[] | undefined {\n    return this._value;\n  }\n\n  set value(val: string[] | undefined) {\n    if (val && val !== this._value) {\n      this._setValue(val);\n      this.elementRef.nativeElement.value = JSON.stringify(val);\n    }\n  }\n\n  writeValue(value?: string[]) {\n    if (value) {\n      this.value = value;\n    }\n  }\n\n  registerOnChange(fn: () => void) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void) {\n    this.onTouched = fn;\n  }\n\n  @HostListener(\"_change\", [\"$event\"])\n  listenForValueChange(event: Event) {\n    const value = (event as CustomEvent<{ value: string }>).detail.value;\n    if (!value) {\n      this._setValue(undefined);\n      return;\n    }\n\n    try {\n      this.value = JSON.parse(value);\n    } catch (e) {\n      // we still need to trigger the events to prevent any previous valid value to remain set.\n      const v = value.match(/^[\\w\\s,]*$/) ? value.split(\",\") : undefined;\n      this._setValue(v);\n    }\n  }\n\n  _setValue(value?: string[]) {\n    this._value = value;\n    this.onChange(value);\n    this.onTouched();\n  }\n}\n","import {\n  forwardRef,\n  Directive,\n  ElementRef,\n  HostListener,\n  Renderer2,\n  inject,\n} from \"@angular/core\";\nimport { CheckboxControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n// @deprecated: Use the new <goab-checkbox .. /> component\n@Directive({\n  standalone: true,\n  selector: \"[goaChecked]\",\n  providers: [\n    {\n      useExisting: forwardRef(() => CheckedDirective),\n      provide: NG_VALUE_ACCESSOR,\n      multi: true,\n    },\n  ],\n})\nexport class CheckedDirective extends CheckboxControlValueAccessor {\n  protected renderer: Renderer2;\n  protected elementRef: ElementRef;\n\n  private _checked = false;\n\n  /* eslint-disable @typescript-eslint/no-explicit-any */\n  override onChange: any = () => {\n    /** No implementation **/\n  };\n  override onTouched: any = () => {\n    /** No implementation **/\n  };\n\n  constructor() {\n    const renderer = inject(Renderer2);\n    const elementRef = inject(ElementRef);\n\n    super(renderer, elementRef);\n\n    this.renderer = renderer;\n    this.elementRef = elementRef;\n  }\n\n  get value(): string {\n    return this._checked ? \"checked\" : \"\";\n  }\n\n  set value(checked: any) {\n    this._checked = !!checked;\n    this.onChange(this._checked);\n    this.onTouched();\n    this.elementRef.nativeElement.checked = checked;\n  }\n\n  override writeValue(checked: any) {\n    this.value = checked;\n  }\n\n  override registerOnChange(fn: (_: any) => void) {\n    this.onChange = fn;\n  }\n\n  override registerOnTouched(fn: () => void) {\n    this.onTouched = fn;\n  }\n\n  @HostListener(\"_change\", [\"$event\"])\n  listenForValueChange(event: Event) {\n    const checked = (event as CustomEvent<{ checked: boolean }>).detail.checked;\n    this.value = checked;\n  }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\n\nimport { ValueDirective, ValueListDirective } from \"./value-directive\";\nimport { CheckedDirective } from \"./checked-directive\";\n\n@NgModule({\n  imports: [ValueDirective, ValueListDirective, CheckedDirective],\n  exports: [ValueDirective, ValueListDirective, CheckedDirective],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class AngularComponentsModule {}\n\nexport { ValueDirective, ValueListDirective, CheckedDirective };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Spacing } from \"@abgov/ui-components-common\";\nimport {\n  booleanAttribute,\n  Component,\n  Input,\n  ElementRef,\n  ViewChild,\n  Renderer2,\n  inject,\n} from \"@angular/core\";\nimport { ControlValueAccessor } from \"@angular/forms\";\n\n@Component({\n  standalone: true,\n  template: ``, //** IMPLEMENT IN SUBCLASS\n})\n/** Provides shared margin and test id inputs for Angular GoA wrapper components. */\nexport abstract class GoabBaseComponent {\n  /** Sets the top margin spacing token. */\n  @Input() mt?: Spacing;\n  /** Sets the bottom margin spacing token. */\n  @Input() mb?: Spacing;\n  /** Sets the left margin spacing token. */\n  @Input() ml?: Spacing;\n  /** Sets the right margin spacing token. */\n  @Input() mr?: Spacing;\n  /** Sets the data-testid attribute for automated testing. */\n  @Input() testId?: string;\n}\n\n@Component({\n  standalone: true,\n  template: ``, //** IMPLEMENT IN SUBCLASS\n})\n/**\n * An abstract base class that extends `GoabBaseComponent` and implements the `ControlValueAccessor` interface.\n * This class provides a foundation for creating custom form controls in Angular, enabling them to integrate\n * seamlessly with Angular forms. It includes support for handling value changes, touch events, and disabled states.\n *\n * ## Features\n * - Supports `disabled=\"true\"` and `error=\"true` attribute bindings for convenience.\n * - Handles form control value changes and touch events via `ControlValueAccessor` methods.\n * - Allows for flexible value types (`unknown`), making it suitable for various data types like integers, dates, or booleans.\n * - Uses ViewChild to capture a reference to the native GOA web component element via `#goaComponentRef`.\n * - Uses Renderer2 for safe DOM manipulation (compatible with SSR and security best practices).\n *\n * ## Usage\n * Extend this class to create custom form controls. Child components must:\n * 1. Add `#goaComponentRef` template reference to their `goa-*` element in the template\n * 2. Inject `Renderer2` in their constructor and pass it to `super(renderer)`\n *\n * ### Example:\n * ```typescript\n * @Component({\n *   template: `<goa-input #goaComponentRef [value]=\"value\" ...></goa-input>`\n * })\n * export class GoabInput extends GoabControlValueAccessor {\n *   constructor(private cdr: ChangeDetectorRef, renderer: Renderer2) {\n *     super(renderer);  // Required: pass Renderer2 to base class\n *   }\n * }\n * ```\n *\n * ## Properties\n * - `id?`: An optional identifier for the component.\n * - `disabled?`: A boolean indicating whether the component is disabled.\n * - `error?`: A boolean indicating whether the component is in an error state.\n * - `value?`: The current value of the component, which can be of any type.\n *\n * ## Methods\n * - `markAsTouched()`: Marks the component as touched and triggers the `fcTouched` callback if defined.\n * - `writeValue(value: unknown)`: Writes a new value to the form control (can be overridden for special behavior like checkbox).\n * - `registerOnChange(fn: any)`: Registers a function to handle changes in the form control value.\n * - `registerOnTouched(fn: any)`: Registers a function to handle touch events on the form control.\n * - `setDisabledState?(isDisabled: boolean)`: Sets the disabled state of the component.\n * - `convertValueToString(value: unknown)`: Converts a value to a string for DOM attribute assignment (can be overridden).\n *\n * ## Callbacks\n * - `fcChange?`: A function to handle changes in the form control value.\n * - `fcTouched?`: A function to handle touch events on the form control.\n */\nexport abstract class GoabControlValueAccessor\n  extends GoabBaseComponent\n  implements ControlValueAccessor\n{\n  /** Sets the id attribute of the underlying web component. */\n  @Input() id?: string;\n  // supports disabled=\"true\" instead of [disabled]=\"true\"\n  /** Sets the disabled state for the control. */\n  @Input({ transform: booleanAttribute }) public disabled?: boolean;\n  // supports error=\"true\" instead of [error]=\"true\"\n  /** Sets the error state for the control. */\n  @Input({ transform: booleanAttribute }) public error?: boolean;\n  // this should be unknown (not string) as it might be an integer or a date or a boolean\n  /** Sets the control value used by Angular forms and one-way binding. */\n  @Input() value?: unknown | null | undefined;\n\n  // implement ControlValueAccessor\n\n  /**\n   * Function to handle changes in the form control value.\n   * @param {unknown} value - The new value.\n   */\n  public fcChange?: (value: unknown) => void;\n\n  /**\n   * Function to handle touch events on the form control.\n   */\n  public fcTouched?: () => unknown;\n\n  private touched = false;\n\n  /**\n   * Marks the component as touched. If the component is not already marked as touched,\n   * it triggers the `fcTouched` callback (if defined) and sets the `touched` property to `true`.\n   */\n  public markAsTouched() {\n    if (!this.touched) {\n      this.fcTouched?.();\n      this.touched = true;\n    }\n  }\n\n  /**\n   * Reference to the native GOA web component element.\n   * Child templates should declare `#goaComponentRef` on the `goa-*` element.\n   * The base class captures it here so children don't need their own ViewChild.\n   */\n  @ViewChild(\"goaComponentRef\", { static: false, read: ElementRef })\n  protected goaComponentRef?: ElementRef;\n\n  protected renderer = inject(Renderer2);\n\n  /**\n   * Convert an arbitrary value into a string for DOM attribute assignment.\n   * Child classes can override when they need special formatting.\n   * @param value The value to convert\n   * @returns string representation or empty string for nullish/empty\n   */\n  protected convertValueToString(value: unknown): string {\n    if (value === null || value === undefined || value === \"\") {\n      return \"\";\n    }\n    return String(value);\n  }\n\n  /**\n   * Writes a new value to the form control.\n   * @param {unknown} value - The value to write.\n   */\n  public writeValue(value: unknown): void {\n    this.value = value;\n    const el = this.goaComponentRef?.nativeElement as HTMLElement | undefined;\n    if (el) {\n      const stringValue = this.convertValueToString(value);\n      this.renderer.setAttribute(el, \"value\", stringValue);\n    }\n  }\n\n  /**\n   * Registers a function to call when the form control value changes.\n   * @param {function} fn - The function to call.\n   */\n  public registerOnChange(fn: any): void {\n    this.fcChange = fn;\n  }\n\n  /**\n   * Registers a function to call when the form control is touched.\n   * @param {function} fn - The function to call.\n   */\n  public registerOnTouched(fn: any): void {\n    this.fcTouched = fn;\n  }\n\n  /**\n   * Sets the disabled state of the component.\n   *\n   * @param isDisabled - A boolean indicating whether the component should be disabled.\n   */\n  public setDisabledState?(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n}\n","import {\n  GoabAccordionHeadingSize,\n  GoabAccordionIconPosition,\n  GoabAccordionHeadingType,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  TemplateRef,\n  Output,\n  EventEmitter,\n  booleanAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-accordion\",\n  imports: [NgTemplateOutlet],\n  template: `\n    @if (isReady) {\n      <goa-accordion\n        [attr.heading]=\"heading\"\n        [attr.secondarytext]=\"secondaryText\"\n        [attr.open]=\"open\"\n        [attr.headingsize]=\"headingSize\"\n        [attr.heading-type]=\"headingType\"\n        [attr.maxwidth]=\"maxWidth\"\n        [attr.testid]=\"testId\"\n        [attr.iconposition]=\"iconPosition\"\n        [attr.heading-type]=\"headingType\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n        (_change)=\"_onChange($event)\"\n      >\n        <div slot=\"headingcontent\">\n          <ng-container [ngTemplateOutlet]=\"headingContent\"></ng-container>\n        </div>\n        @if (actions) {\n          <div slot=\"actions\">\n            <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n          </div>\n        }\n        <ng-content></ng-content>\n      </goa-accordion>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Let users show and hide sections of related content on a page. */\nexport class GoabAccordion extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Sets the heading text. */\n  @Input() heading?: string;\n  /** Sets secondary text. */\n  @Input() secondaryText?: string;\n  /** Sets the state of the accordion container open or closed. */\n  @Input({ transform: booleanAttribute }) open?: boolean;\n  /** Sets the heading size of the accordion container heading. */\n  @Input() headingSize?: GoabAccordionHeadingSize;\n  /** Sets the heading content template reference. */\n  @Input() headingContent!: TemplateRef<any>;\n  /** Sets the actions content template reference, rendered right-aligned in the heading before the expand/collapse icon. */\n  @Input() actions?: TemplateRef<any>;\n  /** Sets the maximum width of the accordion. */\n  @Input() maxWidth?: string;\n  /** Sets the position of the expand/collapse icon. */\n  @Input() iconPosition?: GoabAccordionIconPosition;\n  /** Sets the accordion style variant. */\n  @Input() headingType?: GoabAccordionHeadingType;\n\n  /** Emits when the accordion opens or closes. Emits the new open state as a boolean. */\n  @Output() onChange = new EventEmitter<boolean>();\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onChange(e: Event) {\n    const detail = (e as CustomEvent).detail;\n    this.onChange.emit(detail.open as boolean);\n  }\n}\n","import {\n  GoabBadgeType,\n  GoabIconType,\n  GoabBadgeSize,\n  GoabBadgeEmphasis,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  booleanAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-badge\",\n  template: `\n    @if (isReady) {\n      <goa-badge\n        [attr.version]=\"version\"\n        [attr.size]=\"size\"\n        [attr.emphasis]=\"emphasis\"\n        [attr.type]=\"type\"\n        [attr.icon]=\"icon ? 'true' : 'false'\"\n        [attr.icontype]=\"iconType\"\n        [attr.arialabel]=\"ariaLabel\"\n        [attr.content]=\"content\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n      </goa-badge>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n\n  styles: [\n    `\n      :host {\n        display: contents;\n      }\n    `,\n  ],\n})\n/** Small labels which hold small amounts of information, system feedback, or states. */\nexport class GoabBadge extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Sets the context and colour of the badge. */\n  @Input() type?: GoabBadgeType;\n  /** Sets the text label of the badge. */\n  @Input() content?: string;\n  // Ensure boolean input; attribute only set when true so default behaviour is false\n  /** @deprecated Use icontype instead. Includes an icon in the badge. */\n  @Input({ transform: booleanAttribute }) icon?: boolean;\n  /** Sets the icon type to display in the badge. */\n  @Input() iconType?: GoabIconType;\n  /** Sets the size of the badge. @default \"medium\" */\n  @Input() size?: GoabBadgeSize = \"medium\";\n  /** Sets the visual emphasis. 'subtle' for less prominent, 'strong' for more emphasis. @default \"strong\" */\n  @Input() emphasis?: GoabBadgeEmphasis = \"strong\";\n  /** Sets the accessible label for screen readers. */\n  @Input() ariaLabel?: string;\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  GoabBlockAlignment,\n  GoabBlockDirection,\n  Spacing,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-block\",\n\n  template: `\n    @if (isReady) {\n      <goa-block\n        [attr.gap]=\"gap\"\n        [attr.direction]=\"direction\"\n        [attr.alignment]=\"alignment\"\n        [attr.width]=\"width\"\n        [attr.min-width]=\"minWidth\"\n        [attr.max-width]=\"maxWidth\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content />\n      </goa-block>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Group components into a block with consistent space between. */\nexport class GoabBlock extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Sets the spacing between items. Uses design system spacing tokens. */\n  @Input() gap?: Spacing;\n  /** Sets the stacking direction of child components. */\n  @Input() direction?: GoabBlockDirection;\n  /** Sets the primary axis alignment of child components. */\n  @Input() alignment?: GoabBlockAlignment;\n  /** Sets the width of the block container. Defaults to max-content. */\n  @Input() width?: string;\n  /** Sets the minimum width of the block container. */\n  @Input() minWidth?: string;\n  /** Sets the maximum width of the block container. */\n  @Input() maxWidth?: string;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  GoabButtonSize,\n  GoabButtonType,\n  GoabButtonVariant,\n  GoabIconType,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  booleanAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-button\",\n\n  template: `\n    @if (isReady) {\n      <goa-button\n        [attr.version]=\"version\"\n        [attr.type]=\"type\"\n        [attr.size]=\"size\"\n        [attr.variant]=\"variant\"\n        [disabled]=\"disabled\"\n        [attr.leadingicon]=\"leadingIcon\"\n        [attr.trailingicon]=\"trailingIcon\"\n        [attr.width]=\"width\"\n        [attr.testid]=\"testId\"\n        [attr.action]=\"action\"\n        [attr.action-arg]=\"actionArg\"\n        [attr.action-args]=\"JSON.stringify(actionArgs)\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n        (_click)=\"_onClick()\"\n      >\n        <ng-content />\n      </goa-button>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Carry out an important action or navigate to another page. */\nexport class GoabButton extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Sets the visual style of the button. Use \"primary\" for main actions, \"secondary\" for alternative actions, \"tertiary\" for low-emphasis actions, \"start\" for prominent call-to-action buttons, and \"text\" for text-only buttons. @default \"primary\" */\n  @Input() type?: GoabButtonType = \"primary\";\n  /** Sets the size of the button. Use \"compact\" for inline actions or space-constrained layouts. @default \"normal\" */\n  @Input() size?: GoabButtonSize;\n  /** Sets the color variant for semantic meaning. Use \"destructive\" for delete or irreversible actions, \"inverse\" for light-colored text on dark backgrounds, and \"dark\" for dark text color on text buttons only. Note: \"dark\" has no effect on non-text button types. @default \"normal\" */\n  @Input() variant?: GoabButtonVariant;\n  /** Sets the disabled state. When true, prevents user interaction and applies disabled styling. */\n  @Input({ transform: booleanAttribute }) disabled?: boolean;\n  /** Sets the icon displayed before the button text. */\n  @Input() leadingIcon?: GoabIconType;\n  /** Icon displayed after the button text. */\n  @Input() trailingIcon?: GoabIconType;\n  /** Sets a custom width for the button (e.g., \"200px\" or \"100%\"). */\n  @Input() width?: string;\n  /** Action identifier passed in click events for event delegation patterns. */\n  @Input() action?: string;\n  /** Single argument value passed with the action in click events. */\n  @Input() actionArg?: string;\n  /** Multiple argument values passed with the action in click events. */\n  @Input() actionArgs?: Record<string, unknown>;\n\n  /** Emits when the button is clicked. */\n  @Output() onClick = new EventEmitter();\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onClick() {\n    this.onClick.emit();\n  }\n\n  protected readonly JSON = JSON;\n}\n","import {\n  GoabButtonGroupAlignment,\n  GoabButtonGroupGap,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-button-group\",\n\n  template: `\n    @if (isReady) {\n      <goa-button-group\n        [attr.alignment]=\"alignment\"\n        [attr.gap]=\"gap\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content />\n      </goa-button-group>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Display multiple related actions stacked or in a horizontal row to help with arrangement and spacing. */\nexport class GoabButtonGroup extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Positions the button group in the page layout. */\n  @Input() alignment?: GoabButtonGroupAlignment;\n  /** Sets the spacing between buttons in the button group. */\n  @Input() gap?: GoabButtonGroupGap;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  CalendarDate,\n  GoabCalendarOnChangeDetail,\n  Once,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-calendar\",\n\n  template: `\n    @if (isReady) {\n      <goa-calendar\n        [attr.name]=\"name\"\n        [attr.value]=\"valueString()\"\n        [attr.min]=\"minString()\"\n        [attr.max]=\"maxString()\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n        [attr.version]=\"version\"\n        (_change)=\"_onChange($event)\"\n      >\n        <ng-content />\n      </goa-calendar>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Visual calendar for date selection. */\nexport class GoabCalendar extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  version = \"2\";\n\n  /** Name identifier for the calendar, included in change events. */\n  @Input() name?: string;\n  /** The currently selected date value in YYYY-MM-DD format. */\n  @Input() value?: Date | string;\n  /** The minimum selectable date in YYYY-MM-DD format. Defaults to 5 years in the past. */\n  @Input() min?: Date | string | undefined;\n  /** The maximum selectable date in YYYY-MM-DD format. Defaults to 5 years in the future. */\n  @Input() max?: Date | string | undefined;\n\n  /** Emits when the selected date changes. Emits the selected date details as GoabCalendarOnChangeDetail. */\n  @Output() onChange = new EventEmitter<GoabCalendarOnChangeDetail>();\n\n  isReady = false;\n\n  private once: Once = new Once();\n\n  private formatValue(param: string, val: Date | string | null | undefined): string {\n    if (!val) return \"\";\n\n    this.once.when(val instanceof Date).do(param, () => {\n      console.warn(\n        `GoabCalendar: Using Date for '${param}' is deprecated. Use a string in YYYY-MM-DD format instead.`,\n      );\n    });\n\n    return new CalendarDate(val).toString();\n  }\n\n  valueString(): string {\n    return this.formatValue(\"value\", this.value);\n  }\n\n  minString(): string {\n    return this.formatValue(\"min\", this.min);\n  }\n\n  maxString(): string {\n    return this.formatValue(\"max\", this.max);\n  }\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onChange(e: Event) {\n    const details = (e as CustomEvent<GoabCalendarOnChangeDetail>).detail;\n    this.onChange.emit(details);\n  }\n}\n","import {\n  GoabCalloutAriaLive,\n  GoabCalloutSize,\n  GoabCalloutType,\n  GoabCalloutIconTheme,\n  GoabCalloutEmphasis,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-callout\",\n\n  template: `\n    @if (isReady) {\n      <goa-callout\n        [attr.version]=\"version\"\n        [attr.type]=\"type\"\n        [attr.heading]=\"heading\"\n        [attr.size]=\"size\"\n        [attr.maxwidth]=\"maxWidth\"\n        [attr.arialive]=\"ariaLive\"\n        [attr.icontheme]=\"iconTheme\"\n        [attr.emphasis]=\"emphasis\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content />\n      </goa-callout>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Communicate important information through a strong visual emphasis. */\nexport class GoabCallout extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  /** Define the context and colour of the callout. @default \"information\" */\n  @Input() type?: GoabCalloutType = \"information\";\n  /** Callout heading text. */\n  @Input() heading?: string = \"\";\n  /** Sets the size of the callout. 'medium' has reduced padding and type size for compact areas. @default \"large\" */\n  @Input() size?: GoabCalloutSize = \"large\";\n  /** Sets the maximum width of the callout. */\n  @Input() maxWidth?: string;\n  /** Indicates how assistive technology should handle updates to the live region. @default \"off\" */\n  @Input() ariaLive?: GoabCalloutAriaLive = \"off\";\n  /** Sets the icon theme. 'outline' for stroked icons, 'filled' for solid icons. @default \"outline\" */\n  @Input() iconTheme?: GoabCalloutIconTheme = \"outline\";\n  /** Sets the visual prominence. 'high' for full background, 'medium' for subtle, 'low' for minimal. @default \"medium\" */\n  @Input() emphasis?: GoabCalloutEmphasis = \"medium\";\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  numberAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-card\",\n\n  template: `\n    @if (isReady) {\n      <goa-card\n        [attr.elevation]=\"elevation\"\n        [attr.width]=\"width\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content />\n      </goa-card>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A container that groups related content and actions. */\nexport class GoabCard extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  /** Adds a shadow to the card. 0 shows a border, 1-3 increase shadow intensity. */\n  @Input({ transform: numberAttribute }) elevation?: number;\n  /** Sets the width of the card. */\n  @Input() width?: string;\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-card-content\",\n  template: `\n    @if (isReady) {\n      <goa-card-content>\n        <ng-content />\n      </goa-card-content>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A container that groups related content and actions. */\nexport class GoabCardContent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-card-actions\",\n  template: `\n    @if (isReady) {\n      <goa-card-actions>\n        <ng-content />\n      </goa-card-actions>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A container that groups related content and actions. */\nexport class GoabCardActions implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-card-image\",\n  template: `\n    @if (isReady) {\n      <goa-card-image [attr.src]=\"src\" [attr.height]=\"height\">\n        <ng-content />\n      </goa-card-image>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A container that groups related content and actions. */\nexport class GoabCardImage implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** @required The URL of the image to display. */\n  @Input({ required: true }) src!: string;\n  /** @required Height of the image container. Accepts CSS values like \"200px\" or \"100%\". */\n  @Input({ required: true }) height!: string;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  GoabCheckboxOnChangeDetail,\n  GoabCheckboxSize,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  forwardRef,\n  TemplateRef,\n  booleanAttribute,\n  OnInit,\n  ChangeDetectorRef,\n    inject,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { NgTemplateOutlet } from \"@angular/common\";\nimport { GoabControlValueAccessor } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-checkbox\",\n  template: `@if (isReady) {\n    <goa-checkbox\n      #goaComponentRef\n      [attr.version]=\"version\"\n      [attr.name]=\"name\"\n      [checked]=\"checked\"\n      [disabled]=\"disabled\"\n      [attr.indeterminate]=\"indeterminate ? 'true' : undefined\"\n      [attr.error]=\"error\"\n      [attr.text]=\"text\"\n      [value]=\"value\"\n      [attr.testid]=\"testId\"\n      [attr.arialabel]=\"ariaLabel\"\n      [attr.description]=\"getDescriptionAsString()\"\n      [attr.revealarialabel]=\"revealArialLabel\"\n      [id]=\"id\"\n      [attr.maxwidth]=\"maxWidth\"\n      [attr.size]=\"size\"\n      [attr.mt]=\"mt\"\n      [attr.mb]=\"mb\"\n      [attr.ml]=\"ml\"\n      [attr.mr]=\"mr\"\n      (_change)=\"_onChange($event)\"\n    >\n      <ng-content />\n      <div slot=\"description\">\n        <ng-container [ngTemplateOutlet]=\"getDescriptionAsTemplate()\"></ng-container>\n      </div>\n      @if (reveal) {\n        <div slot=\"reveal\">\n          <ng-container [ngTemplateOutlet]=\"reveal\"></ng-container>\n        </div>\n      }\n    </goa-checkbox>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      multi: true,\n      useExisting: forwardRef(() => GoabCheckbox),\n    },\n  ],\n  imports: [NgTemplateOutlet],\n})\n/** Let the user select one or more options. */\nexport class GoabCheckbox extends GoabControlValueAccessor implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  /** Sets the name of the checkbox input for form submission. */\n  @Input() name?: string;\n  /** Marks the checkbox item as selected. */\n  @Input({ transform: booleanAttribute }) checked?: boolean;\n  /** Shows a mixed/partial selection state. Used for 'Select All' checkboxes when some items are selected. */\n  @Input({ transform: booleanAttribute }) indeterminate?: boolean;\n  /** Label shown beside the checkbox. */\n  @Input() text?: string;\n  // ** NOTE: can we just use the base component for this?\n  /** The value binding. */\n  @Input() override value?: string | number | boolean | null;\n  /** Defines how the text will be translated for the screen reader. If not specified it will fall back to the name. */\n  @Input() ariaLabel?: string;\n  /** Sets additional description content displayed below the checkbox label. Accepts plain text or a template. */\n  @Input() description!: string | TemplateRef<any>;\n  /** Sets the template for the expandable reveal slot content. */\n  @Input() reveal?: TemplateRef<any>;\n  /** Text announced by screen readers when the reveal slot content is displayed. */\n  @Input() revealArialLabel?: string;\n  /** Sets the maximum width of the checkbox. */\n  @Input() maxWidth?: string;\n  /** Sets the size of the checkbox. 'compact' reduces spacing for dense layouts. @default \"default\" */\n  @Input() size?: GoabCheckboxSize = \"default\";\n\n  /** Emits when the checkbox value changes. Emits the new checkbox state as a GoabCheckboxOnChangeDetail object. */\n  @Output() onChange = new EventEmitter<GoabCheckboxOnChangeDetail>();\n\n  getDescriptionAsString(): string {\n    return typeof this.description === \"string\" ? this.description : \"\";\n  }\n\n  getDescriptionAsTemplate(): TemplateRef<any> | null {\n    if (this.description) {\n      return typeof this.description === \"string\" ? null : this.description;\n    }\n    return null;\n  }\n\n  _onChange(e: Event) {\n    const detail = { ...(e as CustomEvent<GoabCheckboxOnChangeDetail>).detail, event: e };\n    this.onChange.emit(detail);\n    this.markAsTouched();\n    this.fcChange?.(detail.binding === \"check\" ? detail.checked : detail.value || \"\");\n  }\n\n  // Checkbox is a special case: it uses `checked` instead of `value`.\n  override writeValue(value: string | number | boolean | null): void {\n    this.value = value;\n    this.checked = !!value;\n\n    const el = this.goaComponentRef?.nativeElement as HTMLElement | undefined;\n    if (el) {\n      this.renderer.setAttribute(el, \"checked\", this.checked ? \"true\" : \"false\");\n    }\n  }\n}\n","import {\n  GoabCheckboxListOnChangeDetail,\n  GoabCheckboxSize,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  forwardRef,\n  OnInit,\n  ChangeDetectorRef,\n    inject,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { GoabControlValueAccessor } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-checkbox-list\",\n  template: `@if (isReady) {\n    <goa-checkbox-list\n      [attr.name]=\"name\"\n      [value]=\"value\"\n      [disabled]=\"disabled\"\n      [attr.error]=\"error\"\n      [attr.testid]=\"testId\"\n      [id]=\"id\"\n      [attr.maxwidth]=\"maxWidth\"\n      [attr.version]=\"version\"\n      [attr.size]=\"size\"\n      [attr.mt]=\"mt\"\n      [attr.mb]=\"mb\"\n      [attr.ml]=\"ml\"\n      [attr.mr]=\"mr\"\n      (_change)=\"_onChange($event)\"\n    >\n      <ng-content />\n    </goa-checkbox-list>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      multi: true,\n      useExisting: forwardRef(() => GoabCheckboxList),\n    },\n  ],\n})\n/** A multiple selection input. */\nexport class GoabCheckboxList extends GoabControlValueAccessor implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n  /** @required The name for the checkbox list group. Used as group identifier in change events. */\n  @Input() name!: string;\n  /** Sets the maximum width of the checkbox list container. */\n  @Input() maxWidth?: string;\n  /** Sets the size of the checkbox list. 'compact' reduces spacing between items. @default \"default\" */\n  @Input() size?: GoabCheckboxSize = \"default\";\n\n  // Override value to handle string arrays consistently\n  /** Array of currently selected checkbox values. */\n  @Input() override value?: string[];\n\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  /** Emits when a checkbox selection changes. Emits the change detail including name, value array, and event. */\n  @Output() onChange = new EventEmitter<GoabCheckboxListOnChangeDetail>();\n\n  _onChange(e: Event) {\n    const detail = {\n      ...(e as CustomEvent<GoabCheckboxListOnChangeDetail>).detail,\n      event: e,\n    };\n    this.onChange.emit(detail);\n    this.markAsTouched();\n\n    // Update the form control with the selected values\n    const selectedValues = detail.value || [];\n    // clone to ensure a new reference so the underlying web component updates\n    this.value = [...selectedValues];\n    this.fcChange?.([...selectedValues]);\n  }\n\n  // Simplified writeValue - expects array input directly\n  override writeValue(value: string[] | null): void {\n    // clone to ensure a new reference and trigger downstream updates\n    this.value = Array.isArray(value) ? [...value] : [];\n  }\n}\n","import {\n  GoabChipTheme,\n  GoabChipVariant,\n  GoabIconType,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  booleanAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-chip\",\n\n  template: `@if (isReady) {\n    <goa-chip\n      [attr.leadingicon]=\"leadingIcon\"\n      [attr.variant]=\"variant\"\n      [attr.error]=\"error\"\n      [attr.deletable]=\"deletable\"\n      [attr.icontheme]=\"iconTheme\"\n      [attr.content]=\"content\"\n      [attr.testid]=\"testId\"\n      [attr.mt]=\"mt\"\n      [attr.mb]=\"mb\"\n      [attr.ml]=\"ml\"\n      [attr.mr]=\"mr\"\n      (_click)=\"_onClick()\"\n    >\n      <ng-content />\n    </goa-chip>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Compact element for labels, tags, or selections. */\nexport class GoabChip extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  /** @deprecated Use GoabFilterChip (goab-filter-chip) instead. Icon displayed at the start of the chip. */\n  @Input() leadingIcon?: GoabIconType | null;\n  /** @deprecated Use GoabFilterChip (goab-filter-chip) instead. Shows an error state on the chip. */\n  @Input({ transform: booleanAttribute }) error?: boolean;\n  /** @deprecated Use GoabFilterChip (goab-filter-chip) instead. When true, shows a delete icon and makes chip clickable. */\n  @Input({ transform: booleanAttribute }) deletable?: boolean;\n  /** @deprecated Use GoabFilterChip (goab-filter-chip) instead. The text content displayed in the chip. */\n  @Input() content?: string = \"\";\n  /** @deprecated Use GoabFilterChip (goab-filter-chip) instead. The chip variant style. */\n  @Input() variant?: GoabChipVariant;\n  /** @deprecated Use GoabFilterChip (goab-filter-chip) instead. The icon theme - outline or filled. */\n  @Input() iconTheme?: GoabChipTheme;\n\n  /** Emits when the chip is clicked. */\n  @Output() onClick = new EventEmitter();\n\n  _onClick() {\n    this.onClick.emit();\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  booleanAttribute,\n  numberAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport {\n  GoabCircularProgressSize,\n  GoabCircularProgressVariant,\n} from \"@abgov/ui-components-common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-circular-progress\",\n  template: `\n    @if (isReady) {\n      <goa-circular-progress\n        [attr.variant]=\"variant || 'inline'\"\n        [attr.size]=\"size || 'large'\"\n        [attr.message]=\"message\"\n        [attr.visible]=\"visible\"\n        [attr.progress]=\"progress\"\n        [attr.testid]=\"testId\"\n      >\n      </goa-circular-progress>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Provide feedback of progress to users while loading. */\nexport class GoabCircularProgress implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Stretch across the full screen or use it inline. */\n  @Input() variant?: GoabCircularProgressVariant;\n  /** Size of the progress indicator. */\n  @Input() size?: GoabCircularProgressSize;\n  /** Loading message displayed under the progress indicator. */\n  @Input() message?: string;\n  /** Show/hide the page loader. This allows for fade transition to be applied in each transition. */\n  @Input({ transform: booleanAttribute }) visible?: boolean;\n  /** Set the progress value. Setting this value will change the type from infinite to progress. */\n  @Input({ transform: numberAttribute }) progress?: number;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-column-layout\",\n  template: `\n    @if (isReady) {\n      <goa-one-column-layout>\n        <ng-content />\n      </goa-one-column-layout>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Organizes page content in one, two, or three responsive columns. */\nexport class GoabColumnLayout implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** no props **/\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  GoabContainerAccent,\n  GoabContainerPadding,\n  GoabContainerType,\n  GoabContainerWidth,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  TemplateRef,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-container\",\n  imports: [NgTemplateOutlet],\n  template: `@if (isReady) {\n    <goa-container\n      [attr.type]=\"type\"\n      [attr.accent]=\"accent\"\n      [attr.padding]=\"padding\"\n      [attr.width]=\"width\"\n      [attr.maxwidth]=\"maxWidth\"\n      [attr.minheight]=\"minHeight\"\n      [attr.maxheight]=\"maxHeight\"\n      [attr.testid]=\"testId\"\n      [attr.mt]=\"mt\"\n      [attr.mb]=\"mb\"\n      [attr.ml]=\"ml\"\n      [attr.mr]=\"mr\"\n    >\n      @if (title) {\n        <div slot=\"title\">\n          <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n        </div>\n      }\n      <ng-content />\n      @if (actions) {\n        <div slot=\"actions\">\n          <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n        </div>\n      }\n    </goa-container>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Group information, create hierarchy, and show related information. */\nexport class GoabContainer extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Sets the container and accent bar styling. @default \"interactive\" */\n  @Input() type?: GoabContainerType = \"interactive\";\n  /** Sets the style of accent on the container. @default \"filled\" */\n  @Input() accent?: GoabContainerAccent = \"filled\";\n  /** Sets the amount of white space in the container. @default \"relaxed\" */\n  @Input() padding?: GoabContainerPadding = \"relaxed\";\n  /** Sets the width of the container. @default \"full\" */\n  @Input() width?: GoabContainerWidth = \"full\";\n  /** Sets the maximum width of the container. */\n  @Input() maxWidth?: string;\n  /** Sets the minimum height of the container. */\n  @Input() minHeight?: string;\n  /** Sets the maximum height of the container. */\n  @Input() maxHeight?: string;\n  /** Sets the template for the title slot content. */\n  @Input() title!: TemplateRef<any>;\n  /** Sets the template for the actions slot content. */\n  @Input() actions!: TemplateRef<any>;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  ChangeDetectorRef,\n  OnInit,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-data-grid\",\n\n  template: `\n    @if (isReady) {\n      <goa-data-grid\n        [attr.keyboard-icon-visibility]=\"keyboardIconVisibility\"\n        [attr.keyboard-icon-position]=\"keyboardIconPosition\"\n        [attr.keyboard-nav]=\"keyboardNav\"\n      >\n        <ng-content></ng-content>\n      </goa-data-grid>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Advanced table with sorting and selection. */\nexport class GoabDataGrid implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Controls visibility of the keyboard navigation indicator icon. Use \"visible\" to show or \"hidden\" to hide. @default \"visible\" */\n  @Input() keyboardIconVisibility: \"visible\" | \"hidden\" = \"visible\";\n  /** Position of the keyboard navigation indicator icon. @default \"left\" */\n  @Input() keyboardIconPosition: \"left\" | \"right\" = \"left\";\n  /** @required Navigation mode. \"table\" navigates like a table (up/down between rows), \"layout\" allows wrapping between rows with left/right arrows. */\n  @Input({ required: true }) keyboardNav!: \"layout\" | \"table\";\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  CalendarDate,\n  GoabDatePickerInputType,\n  GoabDatePickerOnChangeDetail,\n  Once,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  forwardRef,\n  ElementRef,\n  HostListener,\n  OnInit,\n  ChangeDetectorRef,\n    inject,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { GoabControlValueAccessor } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-date-picker\",\n\n  template: `@if (isReady) {\n    <goa-date-picker\n      #goaComponentRef\n      [attr.name]=\"name\"\n      [attr.value]=\"valueString()\"\n      [attr.min]=\"minString()\"\n      [attr.max]=\"maxString()\"\n      [attr.error]=\"error\"\n      [attr.disabled]=\"disabled\"\n      [attr.relative]=\"relative\"\n      [attr.type]=\"type\"\n      [attr.testid]=\"testId\"\n      [attr.width]=\"width\"\n      [attr.mt]=\"mt\"\n      [attr.mb]=\"mb\"\n      [attr.ml]=\"ml\"\n      [attr.mr]=\"mr\"\n      [attr.version]=\"version\"\n      (_change)=\"_onChange($event)\"\n    >\n    </goa-date-picker>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      multi: true,\n      useExisting: forwardRef(() => GoabDatePicker),\n    },\n  ],\n})\n/** Lets users select a date through a calendar without the need to manually type it in a field. */\nexport class GoabDatePicker extends GoabControlValueAccessor implements OnInit {\n  protected elementRef = inject(ElementRef);\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n\n  /** Sets the name of the date field. */\n  @Input() name?: string;\n  /** Sets the value of the calendar date. */\n  @Input() override value?: Date | string | null | undefined;\n  /** Sets the minimum date value allowed. */\n  @Input() min?: Date | string;\n  /** Sets the maximum date value allowed. */\n  @Input() max?: Date | string;\n  /** Sets the date picker type. 'calendar' shows a calendar popup, 'input' shows just a date input. @default \"calendar\" */\n  @Input() type?: GoabDatePickerInputType;\n  /** @deprecated This property has no effect and will be removed in a future version. */\n  @Input() relative?: boolean;\n  /** Sets the width of the date picker input. */\n  @Input() width?: string;\n\n  /** Emits when the selected date changes. Emits the date picker change detail including name and value. */\n  @Output() onChange = new EventEmitter<GoabDatePickerOnChangeDetail>();\n\n  private once: Once = new Once();\n\n  private formatValue(param: string, val: Date | string | null | undefined): string {\n    if (!val) return \"\";\n\n    this.once.when(val instanceof Date).do(param, () => {\n      console.warn(\n        `GoabDatePicker: Using Date for '${param}' is deprecated. Use a string in YYYY-MM-DD format instead.`,\n      );\n    });\n\n    return new CalendarDate(val).toString();\n  }\n\n  valueString(): string {\n    return this.formatValue(\"value\", this.value);\n  }\n\n  minString(): string {\n    return this.formatValue(\"min\", this.min);\n  }\n\n  maxString(): string {\n    return this.formatValue(\"max\", this.max);\n  }\n\n  _onChange(e: Event) {\n    const detail = {\n      ...(e as CustomEvent<GoabDatePickerOnChangeDetail>).detail,\n      event: e,\n    };\n    this.onChange.emit(detail);\n    this.markAsTouched();\n    this.fcChange?.(detail.value);\n  }\n\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n\n    if (this.value && typeof this.value !== \"string\") {\n      console.warn(\n        \"Using a `Date` type for value is deprecated. Instead use a string of the format `yyyy-mm-dd`\",\n      );\n    }\n  }\n\n  override setDisabledState(isDisabled: boolean) {\n    this.disabled = isDisabled;\n    this.elementRef.nativeElement.disabled = isDisabled;\n  }\n\n  @HostListener(\"disabledChange\", [\"$event\"])\n  listenDisabledChange(event: Event) {\n    const isDisabled = (event as CustomEvent<{ disabled: boolean }>).detail.disabled;\n    this.setDisabledState(isDisabled);\n  }\n\n  override writeValue(value: Date | null): void {\n    this.value = value;\n\n    const datePickerEl = this.goaComponentRef?.nativeElement as HTMLElement | undefined;\n    if (datePickerEl) {\n      if (!value) {\n        this.renderer.setAttribute(datePickerEl, \"value\", \"\");\n      } else {\n        this.renderer.setAttribute(\n          datePickerEl,\n          \"value\",\n          value instanceof Date ? new CalendarDate(value).toString() : value,\n        );\n      }\n    }\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  booleanAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-details\",\n\n  template: `\n    @if (isReady) {\n      <goa-details\n        [attr.heading]=\"heading\"\n        [attr.testid]=\"testId\"\n        [attr.open]=\"open\"\n        [attr.maxwidth]=\"maxWidth\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content />\n      </goa-details>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Let users reveal more detailed information when they need it. */\nexport class GoabDetails extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** @required The title heading. */\n  @Input({ required: true }) heading!: string;\n  /** Controls if details is expanded or not. */\n  @Input({ transform: booleanAttribute }) open?: boolean;\n  /** Sets the maximum width of the details. */\n  @Input() maxWidth?: string;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-divider\",\n\n  template: `\n    @if (isReady) {\n      <goa-divider\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n      </goa-divider>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Indicate a separation of layout, or to distinguish large chunks of information on a page. */\nexport class GoabDivider extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import { NgTemplateOutlet } from \"@angular/common\";\nimport {\n  booleanAttribute,\n  Component,\n  CUSTOM_ELEMENTS_SCHEMA,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { GoabDrawerPosition, GoabDrawerSize } from \"@abgov/ui-components-common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-drawer\",\n  imports: [NgTemplateOutlet],\n  template: `@if (isReady) {\n    <goa-drawer\n      [open]=\"open\"\n      [attr.position]=\"position\"\n      [attr.heading]=\"getHeadingAsString()\"\n      [attr.maxsize]=\"maxSize\"\n      [attr.testid]=\"testId\"\n      [attr.version]=\"version\"\n      (_close)=\"_onClose($event)\"\n    >\n      <ng-content></ng-content>\n      <div slot=\"heading\">\n        <ng-container [ngTemplateOutlet]=\"getHeadingAsTemplate()\"></ng-container>\n      </div>\n      <div slot=\"actions\">\n        <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n      </div>\n    </goa-drawer>\n  } `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A panel that slides in from the side of the screen to display additional content or actions without navigating away from the current view. */\nexport class GoabDrawer implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  version = \"2\";\n\n  /** @required Whether the drawer is open. */\n  @Input({ required: true, transform: booleanAttribute }) open!: boolean;\n  /** @required The position of the drawer. */\n  @Input({ required: true }) position!: GoabDrawerPosition;\n  /** The heading text displayed at the top of the drawer. */\n  @Input() heading!: string | TemplateRef<any>;\n  /** Sets max height on bottom position, sets width on left and right position. */\n  @Input() maxSize?: GoabDrawerSize;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** Sets the actions area content using an Angular template reference. */\n  @Input() actions!: TemplateRef<any>;\n  /** Emits when the drawer is closed. */\n  @Output() onClose = new EventEmitter();\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onClose(event: Event) {\n    if (event.target !== event.currentTarget) return;\n    this.onClose.emit();\n  }\n\n  getHeadingAsString(): string {\n    return this.heading instanceof TemplateRef ? \"\" : this.heading;\n  }\n\n  getHeadingAsTemplate(): TemplateRef<any> | null {\n    if (!this.heading) return null;\n    return this.heading instanceof TemplateRef ? this.heading : null;\n  }\n}\n","import {\n  GoabDropdownOnChangeDetail,\n  GoabDropdownSize,\n  GoabIconType,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  booleanAttribute,\n  forwardRef,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { GoabControlValueAccessor } from \"../base.component\";\n\n// \"disabled\", \"value\", \"id\" is an exposed property of HTMLInputElement, no need to bind with attr\n@Component({\n  standalone: true,\n  selector: \"goab-dropdown\",\n\n  template: `\n    @if (isReady) {\n      <goa-dropdown\n        #goaComponentRef\n        [attr.version]=\"version\"\n        [attr.name]=\"name\"\n        [value]=\"value\"\n        [attr.arialabel]=\"ariaLabel\"\n        [attr.arialabelledby]=\"ariaLabelledBy\"\n        [disabled]=\"disabled\"\n        [attr.error]=\"error\"\n        [attr.filterable]=\"filterable\"\n        [attr.leadingicon]=\"leadingIcon\"\n        [attr.maxheight]=\"maxHeight\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n        [attr.mt]=\"mt\"\n        [attr.multiselect]=\"multiselect\"\n        [attr.native]=\"native\"\n        [attr.placeholder]=\"placeholder\"\n        [attr.testid]=\"testId\"\n        [attr.width]=\"width\"\n        [attr.maxwidth]=\"maxWidth\"\n        [attr.relative]=\"relative\"\n        [attr.autocomplete]=\"autoComplete\"\n        [attr.size]=\"size\"\n        [id]=\"id\"\n        (_change)=\"_onChange($event)\"\n      >\n        <ng-content />\n      </goa-dropdown>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      multi: true,\n      useExisting: forwardRef(() => GoabDropdown),\n    },\n  ],\n})\n/** Present a list of options to the user to select from. */\nexport class GoabDropdown extends GoabControlValueAccessor implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Identifier for the dropdown. Should be unique. */\n  @Input() name?: string;\n  /** Defines how the selected value will be translated for the screen reader. If not specified it will fall back to the name. */\n  @Input() ariaLabel?: string;\n  /** The aria-labelledby attribute identifies the element(or elements) that labels the dropdown it is applied to. Normally it is the id of the label. */\n  @Input() ariaLabelledBy?: string;\n  /** When true the dropdown will have the ability to filter options by typing into the input field. */\n  @Input({ transform: booleanAttribute }) filterable?: boolean;\n  /** Icon shown to the left of the dropdown input. */\n  @Input() leadingIcon?: GoabIconType;\n  /** Maximum height of the dropdown menu. Non-native only. */\n  @Input() maxHeight?: string;\n  /** When true, allows multiple items to be selected. @internal */\n  @Input({ transform: booleanAttribute }) multiselect?: boolean;\n  /** When true will render the native select HTML element. */\n  @Input({ transform: booleanAttribute }) native?: boolean;\n  /** The text displayed for the dropdown before a selection is made. Non-native only. */\n  @Input() placeholder?: string;\n  /** Overrides the autosized menu width. Non-native only. */\n  @Input() width?: string;\n  /** Sets the maximum width of the dropdown. Use a CSS unit (px, %, ch, rem, em). */\n  @Input() maxWidth?: string;\n  /** Specifies the autocomplete attribute for the dropdown input. Native only. */\n  @Input() autoComplete?: string;\n  /** Sets the size of the dropdown. Compact reduces height for dense layouts. @default \"default\" */\n  @Input() size?: GoabDropdownSize = \"default\";\n  /** @deprecated This property has no effect and will be removed in a future version. */\n  @Input() relative?: boolean;\n  /** Emits when the user selects a value from the dropdown. Emits a GoabDropdownOnChangeDetail object with the new value. */\n  @Output() onChange = new EventEmitter<GoabDropdownOnChangeDetail>();\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onChange(e: Event) {\n    const detail = { ...(e as CustomEvent<GoabDropdownOnChangeDetail>).detail, event: e };\n    // Keep local value in sync with emitted detail\n    this.value = detail.value || null;\n    this.onChange.emit(detail);\n\n    this.markAsTouched();\n    this.fcChange?.(detail.value || \"\");\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabDropdownItemMountType } from \"@abgov/ui-components-common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-dropdown-item\",\n  template: ` @if (isReady) {\n    <goa-dropdown-item\n      [value]=\"value\"\n      [label]=\"label\"\n      [attr.filter]=\"filter\"\n      [attr.name]=\"name\"\n      [attr.mount]=\"mountType\"\n    >\n    </goa-dropdown-item>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Present a list of options to the user to select from. */\nexport class GoabDropdownItem implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** The value submitted when this item is selected. */\n  @Input() value?: string;\n  /** Text used to filter and match this item in typeahead search. */\n  @Input() filter?: string;\n  /** Display label for the dropdown item. */\n  @Input() label?: string;\n  /** Sets the name attribute of the dropdown item. */\n  @Input() name?: string;\n  /** Controls how the item is registered with the parent dropdown. */\n  @Input() mountType?: GoabDropdownItemMountType;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  GoabFileUploadOnCancelDetail,\n  GoabFileUploadOnDeleteDetail,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  numberAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-file-upload-card\",\n  template: ` @if (isReady) {\n    <goa-file-upload-card\n      [attr.version]=\"version\"\n      [attr.filename]=\"filename\"\n      [attr.size]=\"size\"\n      [attr.type]=\"type\"\n      [attr.progress]=\"progress\"\n      [attr.error]=\"error\"\n      [attr.testid]=\"testId\"\n      (_cancel)=\"_onCancel($event)\"\n      (_delete)=\"_onDelete($event)\"\n    >\n    </goa-file-upload-card>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Display uploaded file with actions. */\nexport class GoabFileUploadCard implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** @required The name of the uploaded file to display. */\n  @Input({ required: true }) filename!: string;\n  /** @required The file size in bytes. Displayed in a human-readable format (KB, MB). */\n  @Input({ required: true, transform: numberAttribute }) size!: number;\n  /** The MIME type of the file. Used to determine the file type icon. */\n  @Input() type?: string;\n  /** Upload progress percentage from 0-100. Use -1 to indicate upload is complete. */\n  @Input({ transform: numberAttribute }) progress?: number;\n  /** Error message to display. When set, the card shows an error state with a cancel button. */\n  @Input() error?: string;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  /** Emits when the user cancels a file upload. Emits a GoabFileUploadOnCancelDetail object with the filename. */\n  @Output() onCancel = new EventEmitter<GoabFileUploadOnCancelDetail>();\n  /** Emits when the user removes an uploaded file. Emits a GoabFileUploadOnDeleteDetail object with the filename. */\n  @Output() onDelete = new EventEmitter<GoabFileUploadOnDeleteDetail>();\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onCancel(event: Event) {\n    this.onCancel.emit({ filename: this.filename, event });\n  }\n\n  _onDelete(event: Event) {\n    this.onDelete.emit({ filename: this.filename, event });\n  }\n}\n","import {\n  GoabFileUploadInputOnSelectFileDetail,\n  GoabFileUploadInputVariant,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-file-upload-input\",\n  template: `@if (isReady) {\n    <goa-file-upload-input\n      [attr.version]=\"version\"\n      [attr.variant]=\"variant\"\n      [attr.accept]=\"accept\"\n      [attr.maxfilesize]=\"maxFileSize\"\n      [attr.testid]=\"testId\"\n      [id]=\"id\"\n      [attr.mt]=\"mt\"\n      [attr.mb]=\"mb\"\n      [attr.mr]=\"mr\"\n      [attr.ml]=\"ml\"\n      (_selectFile)=\"_onSelectFile($event)\"\n    >\n    </goa-file-upload-input>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Help users select and upload a file. */\nexport class GoabFileUploadInput extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Sets the id attribute on the file upload input element. */\n  @Input() id?: string = \"\";\n  /** The input display variant. \"dragdrop\" shows a drag-and-drop area, \"button\" shows a simple button. @default \"dragdrop\" */\n  @Input() variant?: GoabFileUploadInputVariant;\n  /** Maximum file size with unit (e.g., \"5MB\", \"100KB\", \"1GB\"). Files exceeding this will be rejected. @default \"5MB\" */\n  @Input() maxFileSize?: string = \"5MB\";\n  /** Accepted file types as a comma-separated list of MIME types or file extensions (e.g., \"image/*,.pdf\"). */\n  @Input() accept?: string;\n\n  /** Emits when a file is selected. Emits the selected file details. */\n  @Output() onSelectFile = new EventEmitter<GoabFileUploadInputOnSelectFileDetail>();\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onSelectFile(e: Event) {\n    const detail = {\n      ...(e as CustomEvent<GoabFileUploadInputOnSelectFileDetail>).detail,\n      event: e,\n    };\n    this.onSelectFile.emit(detail);\n  }\n}\n","import { GoabChipTheme, GoabIconType } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  booleanAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-filter-chip\",\n  template: `@if (isReady) {\n    <goa-filter-chip\n      [attr.version]=\"version\"\n      [attr.error]=\"error\"\n      [attr.icontheme]=\"iconTheme\"\n      [attr.content]=\"content\"\n      [attr.secondarytext]=\"secondaryText\"\n      [attr.leadingicon]=\"leadingIcon\"\n      [attr.testid]=\"testId\"\n      [attr.mt]=\"mt\"\n      [attr.mb]=\"mb\"\n      [attr.ml]=\"ml\"\n      [attr.mr]=\"mr\"\n      (_click)=\"_onClick()\"\n    >\n      <ng-content />\n    </goa-filter-chip>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Allow the user to enter information, filter content, and make selections. */\nexport class GoabFilterChip extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Shows an error state. */\n  @Input({ transform: booleanAttribute }) error?: boolean;\n  /** Marks the chip as deletable. */\n  @Input({ transform: booleanAttribute }) deletable?: boolean;\n  /** Text label of the chip. */\n  @Input() content?: string = \"\";\n  /** Sets the icon theme style for the filter chip. */\n  @Input() iconTheme?: GoabChipTheme;\n  /** Secondary text displayed in a smaller size before the main content. */\n  @Input() secondaryText?: string = \"\";\n  /** Icon displayed at the start of the chip. */\n  @Input() leadingIcon?: GoabIconType | null = null;\n\n  /** Emits when the filter chip delete button is clicked. */\n  @Output() onClick = new EventEmitter();\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onClick() {\n    this.onClick.emit();\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-app-footer\",\n  template: `@if (isReady) {\n    <goa-app-footer\n      [attr.maxcontentwidth]=\"maxContentWidth\"\n      [attr.url]=\"url\"\n      [attr.testid]=\"testId\"\n      [attr.version]=\"version\"\n    >\n      <ng-content select=\"[slot=nav]\" />\n      <ng-content select=\"goab-app-footer-meta-section\"></ng-content>\n      <ng-content></ng-content>\n    </goa-app-footer>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Provides information related your service at the bottom of every page. */\nexport class GoabAppFooter implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** The maximum width of the main content area. */\n  @Input() maxContentWidth?: string;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** URL for the Government of Alberta logo link. Set to empty string to disable the link. */\n  @Input() url?: string;\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-app-footer-meta-section\",\n  template: `@if (isReady) {\n    <goa-app-footer-meta-section [attr.testid]=\"testId\">\n      <ng-content />\n    </goa-app-footer-meta-section>\n  }`,\n  styles: [\":host { width: 100%; }\"],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Copyright and legal links in footer. */\nexport class GoabAppFooterMetaSection implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** @required Sets the slot to \"meta\" to render the section in the correct footer position. */\n  @Input({ required: true }) slot!: \"meta\";\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-app-footer-nav-section\",\n  template: `@if (isReady) {\n    <goa-app-footer-nav-section\n      [attr.maxcolumncount]=\"maxColumnCount\"\n      [attr.heading]=\"heading\"\n      [attr.testid]=\"testId\"\n    >\n      <ng-content />\n    </goa-app-footer-nav-section>\n  }`,\n  styles: [\":host { width: 100%; }\"],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Navigation links section in footer. */\nexport class GoabAppFooterNavSection implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** The section heading displayed above the navigation links. */\n  @Input() heading?: string;\n  /** Maximum number of columns to display links in on larger screens. @default 1 */\n  @Input() maxColumnCount? = 1;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** @required Sets the slot to \"nav\" to render the section in the correct footer position. */\n  @Input({ required: true }) slot!: \"nav\";\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  Component,\n  CUSTOM_ELEMENTS_SCHEMA,\n  EventEmitter,\n  Input,\n  Output,\n} from \"@angular/core\";\nimport { GoabFormState, GoabPublicFormStatus } from \"@abgov/ui-components-common\";\n\n@Component({\n  selector: \"goab-public-form\",\n  standalone: true,\n  template: `\n    <goa-public-form\n      [attr.status]=\"status\"\n      [attr.name]=\"name\"\n      (_init)=\"_onInit($event)\"\n      (_complete)=\"_onComplete($event)\"\n      (_stateChange)=\"_onStateChange($event)\"\n    >\n      <ng-content />\n    </goa-public-form>\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Container for form inputs and validation. */\nexport class GoabPublicForm {\n  /** The initialization status of the form. Set to \"initializing\" while loading external state, then \"complete\" when ready. @default \"complete\" */\n  @Input() status?: GoabPublicFormStatus = \"complete\";\n  /** A name identifier for the form. Useful for debugging complex forms with multiple nested forms. */\n  @Input() name?: string;\n\n  /** Emits when the form is initialized. */\n  @Output() onInit = new EventEmitter<Event>();\n  /** Emits when the form is complete. Emits the form state. */\n  @Output() onComplete = new EventEmitter<GoabFormState>();\n  /** Emits when the form state changes. Emits the updated form state. */\n  @Output() onStateChange = new EventEmitter<GoabFormState>();\n\n  _onInit(e: Event) {\n    this.onInit.emit(e);\n  }\n\n  _onComplete(e: Event) {\n    const detail = (e as CustomEvent).detail;\n    this.onComplete.emit(detail);\n  }\n\n  _onStateChange(e: Event) {\n    const detail = (e as CustomEvent).detail;\n    this.onStateChange.emit(detail.data);\n  }\n}\n","import {\n  Component,\n  CUSTOM_ELEMENTS_SCHEMA,\n  EventEmitter,\n  Input,\n  Output,\n} from \"@angular/core\";\nimport { GoabBaseComponent } from \"../base.component\";\nimport {\n  GoabPublicFormPageButtonVisibility,\n  GoabPublicFormPageStep,\n} from \"@abgov/ui-components-common\";\n\n@Component({\n  selector: \"goab-public-form-page\",\n  standalone: true,\n  template: `\n    <goa-public-form-page\n      [id]=\"id\"\n      [attr.heading]=\"heading\"\n      [attr.sub-heading]=\"subHeading\"\n      [attr.section-title]=\"sectionTitle\"\n      [attr.back-url]=\"backUrl\"\n      [attr.type]=\"type\"\n      [attr.button-text]=\"buttonText\"\n      [attr.button-visibility]=\"buttonVisibility\"\n      [attr.summary-heading]=\"summaryHeading\"\n      [attr.mt]=\"mt\"\n      [attr.mr]=\"mr\"\n      [attr.mb]=\"mb\"\n      [attr.ml]=\"ml\"\n      (_continue)=\"_onContinue($event)\"\n    >\n      <ng-content></ng-content>\n    </goa-public-form-page>\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Container for form inputs and validation. */\nexport class GoabPublicFormPage extends GoabBaseComponent {\n  /** Sets the id of the form page. */\n  @Input() id = \"\";\n  /** Sets the main heading text of the form page. */\n  @Input() heading = \"\";\n  /** Sets the sub-heading text displayed below the main heading. */\n  @Input() subHeading = \"\";\n  /** Sets the heading used in the summary view for this page. */\n  @Input() summaryHeading = \"\";\n  /** Sets the section title displayed above the heading. */\n  @Input() sectionTitle = \"\";\n  /** Sets the URL for the back navigation link. */\n  @Input() backUrl = \"\";\n  /** Sets the type of the form page step. @default \"step\" */\n  @Input() type: GoabPublicFormPageStep = \"step\";\n  /** Sets the text for the continue or confirm button. */\n  @Input() buttonText = \"\";\n  /** Sets the visibility of the continue button. @default \"visible\" */\n  @Input() buttonVisibility: GoabPublicFormPageButtonVisibility = \"visible\";\n\n  /** Emits when the form page continues to the next step. */\n  @Output() onContinue = new EventEmitter<Event>();\n\n  _onContinue(event: Event) {\n    this.onContinue.emit(event);\n  }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from \"@angular/core\";\n\n@Component({\n  selector: \"goab-public-form-summary\",\n  standalone: true,\n  template: `\n    <goa-public-form-summary [attr.heading]=\"heading\">\n      <ng-content />\n    </goa-public-form-summary>\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Container for form inputs and validation. */\nexport class GoabPublicFormSummary {\n  /** Sets the heading text displayed above the form summary. */\n  @Input() heading?: string;\n}\n","import {\n  Component,\n  CUSTOM_ELEMENTS_SCHEMA,\n  EventEmitter,\n  Input,\n  Output,\n} from \"@angular/core\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  selector: \"goab-public-subform\",\n  standalone: true,\n  template: `\n    <goa-public-subform\n      [attr.id]=\"id\"\n      [attr.name]=\"name\"\n      [attr.continue-msg]=\"continueMsg\"\n      [attr.mt]=\"mt\"\n      [attr.mr]=\"mr\"\n      [attr.mb]=\"mb\"\n      [attr.ml]=\"ml\"\n      (_init)=\"_onInit($event)\"\n      (_stateChange)=\"_onStateChange($event)\"\n    >\n      <ng-content />\n    </goa-public-subform>\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Container for form inputs and validation. */\nexport class GoabPublicSubform extends GoabBaseComponent {\n  /** Sets the id of the subform. */\n  @Input() id?: string = \"\";\n  /** Sets the name identifier for the subform. */\n  @Input() name?: string = \"\";\n  /** Sets the text for the continue button. */\n  @Input() continueMsg?: string = \"\";\n\n  /** Emits when the subform is initialized. */\n  @Output() onInit = new EventEmitter<Event>();\n  /** Emits when the subform state changes. */\n  @Output() onStateChange = new EventEmitter<Event>();\n\n  _onInit(e: Event) {\n    this.onInit.emit(e);\n  }\n\n  _onStateChange(e: Event) {\n    this.onStateChange.emit(e);\n  }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from \"@angular/core\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  selector: \"goab-public-subform-index\",\n  standalone: true,\n  host: {\n    slot: \"subform-index\",\n  },\n  template: `\n    <goa-public-subform-index\n      [attr.heading]=\"heading\"\n      [attr.section-title]=\"sectionTitle\"\n      [attr.action-button-text]=\"actionButtonText\"\n      [attr.button-visibility]=\"buttonVisibility\"\n      [attr.mt]=\"mt\"\n      [attr.mr]=\"mr\"\n      [attr.mb]=\"mb\"\n      [attr.ml]=\"ml\"\n    >\n      <ng-content />\n    </goa-public-subform-index>\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Container for form inputs and validation. */\nexport class GoabPublicSubformIndex extends GoabBaseComponent {\n  /** Sets the heading text of the subform index page. */\n  @Input() heading?: string = \"\";\n  /** Sets the section title displayed above the heading. */\n  @Input() sectionTitle?: string = \"\";\n  /** Sets the text for the action button that navigates to the subform. */\n  @Input() actionButtonText?: string = \"\";\n  /** Sets the visibility of the continue button. @default \"hidden\" */\n  @Input() buttonVisibility?: \"visible\" | \"hidden\" = \"hidden\";\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from \"@angular/core\";\nimport { GoabPublicFormTaskStatus } from \"@abgov/ui-components-common\";\n\n@Component({\n  selector: \"goab-public-form-task\",\n  standalone: true,\n  template: `\n    <goa-public-form-task [attr.status]=\"status\">\n      <ng-content />\n    </goa-public-form-task>\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Container for form inputs and validation. */\nexport class GoabPublicFormTask {\n  /** Sets the status of the task, which determines its badge display. */\n  @Input() status?: GoabPublicFormTaskStatus;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from \"@angular/core\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  selector: \"goab-public-form-task-list\",\n  standalone: true,\n  template: `\n    <goa-public-form-task-list\n      [attr.heading]=\"heading\"\n      [attr.mt]=\"mt\"\n      [attr.mr]=\"mr\"\n      [attr.mb]=\"mb\"\n      [attr.ml]=\"ml\"\n    >\n      <ng-content />\n    </goa-public-form-task-list>\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Container for form inputs and validation. */\nexport class GoabPublicFormTaskList extends GoabBaseComponent {\n  /** Sets the heading text displayed above the task list. */\n  @Input() heading?: string;\n}\n","import {\n  Component,\n  CUSTOM_ELEMENTS_SCHEMA,\n  Input,\n  Output,\n  EventEmitter,\n} from \"@angular/core\";\nimport {\n  GoabFormDispatchOn,\n  GoabFieldsetOnContinueDetail,\n} from \"@abgov/ui-components-common\";\n\n@Component({\n  selector: \"goab-fieldset\",\n  template: ` <goa-fieldset\n    [attr.section-title]=\"sectionTitle\"\n    [attr.dispatch-on]=\"dispatchOn\"\n    [attr.id]=\"id\"\n    (_continue)=\"_onContinue($event)\"\n  >\n    <ng-content></ng-content>\n  </goa-fieldset>`,\n  standalone: true,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Container for form inputs and validation. */\nexport class GoabFieldset {\n  /** Sets the id of the fieldset. */\n  @Input() id?: string;\n  /** Sets the section title displayed above the fieldset content. */\n  @Input() sectionTitle?: string;\n  /** Sets when changes will be dispatched to the form. @default \"continue\" */\n  @Input() dispatchOn: GoabFormDispatchOn = \"continue\";\n\n  /** Emits when the fieldset continues to the next step. Emits the continue detail. */\n  @Output() onContinue = new EventEmitter<GoabFieldsetOnContinueDetail>();\n\n  _onContinue(event: Event) {\n    const detail = (event as CustomEvent).detail;\n    this.onContinue.emit(detail);\n  }\n}\n","import {\n  GoabFormItemLabelSize,\n  GoabFormItemRequirement,\n} from \"@abgov/ui-components-common\";\nimport {\n  Component,\n  CUSTOM_ELEMENTS_SCHEMA,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  TemplateRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\n\nimport { GoabBaseComponent } from \"../base.component\";\nimport { GoabFormItemType } from \"@abgov/ui-components-common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-form-item\",\n  imports: [NgTemplateOutlet],\n  template: `@if (isReady) {\n    <goa-form-item\n      [attr.version]=\"version\"\n      [attr.label]=\"label\"\n      [attr.labelsize]=\"labelSize\"\n      [attr.helptext]=\"getHelpTextAsString()\"\n      [attr.error]=\"getErrorAsString()\"\n      [attr.testid]=\"testId\"\n      [attr.type]=\"type\"\n      [id]=\"id\"\n      [attr.name]=\"name\"\n      [attr.requirement]=\"requirement\"\n      [attr.maxwidth]=\"maxWidth\"\n      [attr.public-form-summary-order]=\"publicFormSummaryOrder\"\n      [attr.mt]=\"mt\"\n      [attr.mb]=\"mb\"\n      [attr.mr]=\"mr\"\n      [attr.ml]=\"ml\"\n    >\n      @if (getErrorAsTemplate()) {\n        <div slot=\"error\">\n          <ng-container [ngTemplateOutlet]=\"getErrorAsTemplate()\"></ng-container>\n        </div>\n      }\n      @if (getHelpTextAsTemplate()) {\n        <div slot=\"helptext\">\n          <ng-container [ngTemplateOutlet]=\"getHelpTextAsTemplate()\"></ng-container>\n        </div>\n      }\n      <ng-content />\n    </goa-form-item>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Wraps an input control with a text label, requirement label, helper text, and error text. */\nexport class GoabFormItem extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Creates a label for the form item. */\n  @Input() label?: string;\n  /** Sets the label size. 'regular' for standard, 'large' for emphasis. */\n  @Input() labelSize?: GoabFormItemLabelSize;\n  /** Help text displayed under the form field to provide additional explanation. */\n  @Input() helpText?: string | TemplateRef<any>;\n  /** Error text displayed under the form field. Leave blank to indicate a valid field. */\n  @Input() error?: string | TemplateRef<any>;\n  /** Marks the field with an optional or required label indicator. */\n  @Input() requirement?: GoabFormItemRequirement;\n  /** Sets the maximum width of the form item. */\n  @Input() maxWidth?: string;\n  /** Sets the id attribute on the form item element. */\n  @Input() id?: string;\n  /** Specifies the input type for appropriate message spacing. Used with checkbox-list or radio-group. */\n  @Input() type?: GoabFormItemType = \"\";\n  /** Sets the display order within the form summary. For public-form use only. */\n  @Input() publicFormSummaryOrder?: number;\n  /** Overrides the label value within the form-summary to provide a shorter description. For public-form use only. */\n  @Input() name?: string;\n\n  isReady = false;\n  version = \"2\";\n\n  getHelpTextAsString(): string | undefined {\n    return typeof this.helpText === \"string\" ? this.helpText : undefined;\n  }\n\n  getHelpTextAsTemplate(): TemplateRef<any> | null {\n    return this.helpText instanceof TemplateRef ? this.helpText : null;\n  }\n\n  getErrorAsString(): string | undefined {\n    return typeof this.error === \"string\" ? this.error : undefined;\n  }\n\n  getErrorAsTemplate(): TemplateRef<any> | null {\n    return this.error instanceof TemplateRef ? this.error : null;\n  }\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-form-item-slot\",\n  template: `<ng-content></ng-content>`,\n})\n/**\n * @deprecated Use `TemplateRef` inputs on `goab-form-item` (`[helpText]` / `[error]`) instead.\n */\nexport class GoabFormItemSlot {\n  /** @required Sets which form-item slot this content should render into. */\n  @Input({ required: true }) slot!: \"helptext\" | \"error\";\n}\n","import { GoabFormStepStatus } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-form-step\",\n  template: `\n    @if (isReady) {\n      <goa-form-step [attr.text]=\"text\" [attr.status]=\"status\"></goa-form-step>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Individual step in a multi-step form. */\nexport class GoabFormStep implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** The step label text displayed to users. */\n  @Input() text?: string;\n  /** The completion status of the step. Affects visual styling and icons. */\n  @Input() status?: GoabFormStepStatus;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import { GoabFormStepperOnChangeDetail } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-form-stepper\",\n  template: `\n    @if (isReady) {\n      <goa-form-stepper\n        [attr.step]=\"step\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n        (_change)=\"_onChange($event)\"\n      >\n        <ng-content />\n      </goa-form-stepper>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Provides a visual representation of a form through a series of steps. */\nexport class GoabFormStepper extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** The current step state value (1-based index). Leaving it blank (-1) will allow any step to be accessed. @default -1 */\n  @Input() step?: number = -1;\n  /** Emits when the form stepper step changes. Emits the new step as GoabFormStepperOnChangeDetail. */\n  @Output() onChange = new EventEmitter<GoabFormStepperOnChangeDetail>();\n\n  isReady = false;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  _onChange(e: Event) {\n    const detail = (e as CustomEvent<GoabFormStepperOnChangeDetail>).detail;\n    this.onChange.emit(detail);\n  }\n}\n","import { Spacing } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-grid\",\n  template: `\n    @if (isReady) {\n      <goa-grid\n        [attr.gap]=\"gap\"\n        [attr.minchildwidth]=\"minChildWidth\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content />\n      </goa-grid>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Arrange a number of components into a responsive grid pattern. */\nexport class GoabGrid extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** @required Minimum width of the child elements. */\n  @Input({ required: true }) minChildWidth!: string;\n  /** Gap between child items. */\n  @Input() gap?: Spacing;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  numberAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-app-header\",\n  template: `@if (isReady) {\n    <goa-app-header\n      [attr.url]=\"url\"\n      [attr.heading]=\"heading\"\n      [attr.secondarytext]=\"secondaryText\"\n      [attr.maxcontentwidth]=\"maxContentWidth\"\n      [attr.fullmenubreakpoint]=\"fullMenuBreakpoint\"\n      [attr.testid]=\"testId\"\n      [attr.hasmenuclickhandler]=\"onMenuClick.observed ? 'true' : 'false'\"\n      [attr.version]=\"version\"\n      (_menuClick)=\"_onMenuClick()\"\n    >\n      <ng-content />\n    </goa-app-header>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Provide structure to help users find their way around the service. */\nexport class GoabAppHeader implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Sets the URL to link from the alberta.ca logo. A full url is required. */\n  @Input() url?: string;\n  /** Sets the service name to display in the app header. */\n  @Input() heading?: string;\n  /** V2 only: Secondary text displayed under the service name. */\n  @Input() secondaryText?: string;\n  /** Maximum width of the content area. */\n  @Input() maxContentWidth?: string;\n  /** Sets the breakpoint in px for the full menu to display. */\n  @Input({ transform: numberAttribute }) fullMenuBreakpoint?: number;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  /** Emits when the menu button is clicked. Used for custom menu handling. */\n  @Output() onMenuClick = new EventEmitter();\n\n  _onMenuClick() {\n    this.onMenuClick.emit();\n  }\n}\n","import { GoabIconType } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  HostBinding,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-app-header-menu\",\n  template: `@if (isReady) {\n    <goa-app-header-menu\n      [attr.leadingicon]=\"leadingIcon\"\n      [attr.heading]=\"heading\"\n      [attr.testid]=\"testId\"\n    >\n      <ng-content />\n    </goa-app-header-menu>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Menu items within the app header. */\nexport class GoabAppHeaderMenu implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Icon displayed before the heading text. */\n  @Input() leadingIcon?: GoabIconType;\n  /** The menu heading text displayed as the dropdown trigger. */\n  @Input() heading?: string;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** Sets the slot name for the component. */\n  @Input() slotName?: string;\n\n  @HostBinding(\"attr.slot\")\n  get hostSlot(): string | null {\n    return this.slotName ?? null;\n  }\n\n  isReady = false;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  TemplateRef,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-hero-banner\",\n  imports: [NgTemplateOutlet],\n  template: `\n    @if (isReady) {\n      <goa-hero-banner\n        [attr.heading]=\"heading\"\n        [attr.backgroundurl]=\"backgroundUrl\"\n        [attr.minheight]=\"minHeight\"\n        [attr.testid]=\"testId\"\n        [attr.maxcontentwidth]=\"maxContentWidth\"\n        [attr.backgroundColor]=\"backgroundColor\"\n        [attr.textcolor]=\"textColor\"\n      >\n        <ng-content />\n        <div slot=\"actions\">\n          <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n        </div>\n      </goa-hero-banner>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A visual band of text, including an image and a call to action. */\nexport class GoabHeroBanner implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** Main heading text. */\n  @Input() heading?: string;\n  /** Background image url. */\n  @Input() backgroundUrl?: string;\n  /** Minimum height of the hero banner. Defaults to 600px when a background image is provided. */\n  @Input() minHeight?: string;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** Maximum width of the content area. */\n  @Input() maxContentWidth?: string;\n  /** Hero Banner background color when no background image is provided. */\n  @Input() backgroundColor?: string;\n  /** Text color within the hero banner. */\n  @Input() textColor?: string;\n  /** Content rendered in the actions slot. */\n  @Input() actions?: TemplateRef<any>;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import {\n  GoabIconOverridesType,\n  GoabIconSize,\n  GoabIconTheme,\n  GoabIconType,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  booleanAttribute,\n  numberAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-icon\",\n  template: `\n    @if (isReady) {\n      <goa-icon\n        [attr.type]=\"type\"\n        [attr.theme]=\"theme\"\n        [attr.size]=\"size\"\n        [attr.inverted]=\"inverted\"\n        [attr.fillcolor]=\"fillColor\"\n        [attr.opacity]=\"opacity\"\n        [attr.title]=\"title\"\n        [attr.arialabel]=\"ariaLabel\"\n        [attr.role]=\"role\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n        [attr.testid]=\"testId\"\n      >\n      </goa-icon>\n    }\n  `,\n  styles: [\":host { display: inline-flex; align-items: center; }\"],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A simple and universal graphic symbol representing an action, object, or concept to help guide the user. */\nexport class GoabIcon extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** @required The icon type to display. See GoabIconType for available icons. */\n  @Input({ required: true }) type!: GoabIconType | GoabIconOverridesType;\n  /** Sets the size of the icon. Accepts numeric (1-6) or named sizes. @default \"medium\" */\n  @Input() size?: GoabIconSize;\n  /** Sets the icon theme. 'outline' shows stroked icons, 'filled' shows solid icons. */\n  @Input() theme?: GoabIconTheme;\n  /** When true, inverts the icon colors for use on dark backgrounds. */\n  @Input({ transform: booleanAttribute }) inverted?: boolean;\n  /** Sets a custom fill color for the icon. Accepts any valid CSS color value. */\n  @Input() fillColor?: string;\n  /** Sets the opacity of the icon from 0 (transparent) to 1 (opaque). */\n  @Input({ transform: numberAttribute }) opacity?: number;\n  /** Adds an accessible title to the icon SVG. Used by screen readers. */\n  @Input() title?: string;\n  /** Defines how the icon will be announced by screen readers. */\n  @Input() ariaLabel?: string;\n  /** Sets the ARIA role for the icon. Use 'presentation' for decorative icons. */\n  @Input() role?: string;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  GoabIconButtonVariant,\n  GoabIconSize,\n  GoabIconTheme,\n  GoabIconType,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  booleanAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-icon-button\",\n  template: `\n    @if (isReady) {\n      <goa-icon-button\n        [attr.icon]=\"icon\"\n        [disabled]=\"disabled\"\n        [attr.size]=\"size\"\n        [attr.theme]=\"theme\"\n        [attr.variant]=\"variant\"\n        [title]=\"title\"\n        [attr.arialabel]=\"ariaLabel\"\n        [attr.testid]=\"testId\"\n        [attr.action]=\"action\"\n        [attr.action-arg]=\"actionArg\"\n        [attr.action-args]=\"JSON.stringify(actionArgs)\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n        (_click)=\"_onClick()\"\n      >\n        <ng-content></ng-content>\n      </goa-icon-button>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A compact button with an icon and no text. */\nexport class GoabIconButton extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  protected readonly JSON = JSON;\n  /** @required Sets the icon. */\n  @Input({ required: true }) icon!: GoabIconType;\n  /** Sets the size of button. @default \"medium\" */\n  @Input() size?: GoabIconSize = \"medium\";\n  /** Styles the button to show color, light, dark or destructive action. */\n  @Input() variant?: GoabIconButtonVariant;\n  /** Sets the icon theme. \"outline\" for stroked icons, \"filled\" for solid icons. @default \"outline\" */\n  @Input() theme?: GoabIconTheme = \"outline\";\n  /** Sets the title of the button. */\n  @Input() title?: string;\n  /** Disables the button. */\n  @Input({ transform: booleanAttribute }) disabled?: boolean;\n  /** Sets the aria-label of the button. */\n  @Input() ariaLabel?: string;\n  /** Action identifier passed in click events for event delegation patterns. */\n  @Input() action?: string;\n  /** Single argument value passed with the action in click events. */\n  @Input() actionArg?: string;\n  /** Multiple argument values passed with the action in click events. */\n  @Input() actionArgs?: Record<string, unknown>;\n  /** Emits when the icon button is clicked. */\n  @Output() onClick = new EventEmitter();\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  _onClick() {\n    this.onClick.emit();\n  }\n}\n","import {\n  GoabIconType,\n  GoabInputAutoCapitalize,\n  GoabInputOnBlurDetail,\n  GoabInputOnChangeDetail,\n  GoabInputOnFocusDetail,\n  GoabInputOnKeyPressDetail,\n  GoabInputSize,\n  GoabInputType,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  forwardRef,\n  OnInit,\n  booleanAttribute,\n  numberAttribute,\n  TemplateRef,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { GoabControlValueAccessor } from \"../base.component\";\nimport { NgTemplateOutlet } from \"@angular/common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-input\",\n  imports: [NgTemplateOutlet],\n  template: `@if (isReady) {\n    <goa-input\n      #goaComponentRef\n      [attr.version]=\"version\"\n      [attr.type]=\"type\"\n      [attr.name]=\"name\"\n      [attr.focused]=\"focused\"\n      [attr.value]=\"value\"\n      [attr.autocapitalize]=\"autoCapitalize\"\n      [attr.autocomplete]=\"autoComplete\"\n      [attr.placeholder]=\"placeholder\"\n      [attr.leadingicon]=\"leadingIcon\"\n      [attr.trailingicon]=\"trailingIcon\"\n      [attr.variant]=\"variant\"\n      [disabled]=\"disabled\"\n      [attr.readonly]=\"readonly\"\n      [attr.error]=\"error\"\n      [attr.data-testid]=\"testId\"\n      [attr.width]=\"width\"\n      [attr.arialabel]=\"ariaLabel\"\n      [attr.arialabelledby]=\"ariaLabelledBy\"\n      [attr.min]=\"min\"\n      [attr.max]=\"max\"\n      [attr.step]=\"step\"\n      [attr.prefix]=\"prefix\"\n      [attr.suffix]=\"suffix\"\n      [attr.debounce]=\"debounce\"\n      [attr.maxlength]=\"maxLength\"\n      [attr.id]=\"id\"\n      [attr.mt]=\"mt\"\n      [attr.mr]=\"mr\"\n      [attr.mb]=\"mb\"\n      [attr.ml]=\"ml\"\n      [attr.handletrailingiconclick]=\"handleTrailingIconClick\"\n      [attr.textalign]=\"textAlign\"\n      [attr.size]=\"size\"\n      (_trailingIconClick)=\"_onTrailingIconClick($event)\"\n      (_change)=\"_onChange($event)\"\n      (_focus)=\"_onFocus($event)\"\n      (_blur)=\"_onBlur($event)\"\n      (_keyPress)=\"_onKeyPress($event)\"\n      [attr.trailingiconarialabel]=\"trailingIconAriaLabel\"\n    >\n      @if (leadingContent) {\n        <div slot=\"leadingContent\">\n          @if (getLeadingContentAsTemplate()) {\n            <ng-container [ngTemplateOutlet]=\"getLeadingContentAsTemplate()\">\n            </ng-container>\n          } @else {\n            {{ getLeadingContentAsString() }}\n          }\n        </div>\n      }\n\n      <ng-content />\n\n      @if (trailingContent) {\n        <div slot=\"trailingContent\">\n          @if (getTrailingContentAsTemplate()) {\n            <ng-container\n              [ngTemplateOutlet]=\"getTrailingContentAsTemplate()\"\n            ></ng-container>\n          } @else {\n            {{ getTrailingContentAsString() }}\n          }\n        </div>\n      }\n    </goa-input>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      multi: true,\n      useExisting: forwardRef(() => GoabInput),\n    },\n  ],\n})\n/** A single-line field where users can input and edit text. */\nexport class GoabInput extends GoabControlValueAccessor implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Sets the type of the input field. @default \"text\" */\n  @Input() type?: GoabInputType = \"text\";\n  /** Name of input value that is received in the onChange event. */\n  @Input() name?: string;\n  /** Debounce delay in milliseconds before firing the change event. 0 means no debounce. */\n  @Input({ transform: numberAttribute }) debounce?: number;\n  /** Controls whether and how text input is automatically capitalized as it is entered/edited by the user. This only works on mobile devices. */\n  @Input() autoCapitalize?: GoabInputAutoCapitalize;\n  /** Specifies the autocomplete attribute for the input field. */\n  @Input() autoComplete?: string;\n  /** Text displayed within the input when no value is set. */\n  @Input() placeholder?: string;\n  /** Icon shown to the left of the text. */\n  @Input() leadingIcon?: GoabIconType;\n  /** Icon shown to the right of the text. */\n  @Input() trailingIcon?: GoabIconType;\n  /** Sets the visual style variant. 'goa' for standard GoA styling, 'bare' for minimal styling. */\n  @Input() variant?: string;\n  /** Sets the cursor focus to the input. */\n  @Input({ transform: booleanAttribute }) focused?: boolean;\n  /** Makes the input readonly. */\n  @Input({ transform: booleanAttribute }) readonly?: boolean;\n  /** Sets the width of the text input area. */\n  @Input() width?: string;\n  /** @deprecated Use leadingContent slot instead. */\n  @Input() prefix?: string;\n  /** @deprecated Use trailingContent slot instead. */\n  @Input() suffix?: string;\n  /** Defines how the input will be translated for the screen reader. If not specified it will fall back to the name. */\n  @Input() ariaLabel?: string;\n  /** Sets the maximum number of characters (as UTF-16 code units) the user can enter into the input. */\n  @Input({ transform: numberAttribute }) maxLength?: number;\n  /** A string value that supports any number, or an ISO 8601 format if using the date or datetime type. */\n  @Input() min?: string | number;\n  /** A string value that supports any number, or an ISO 8601 format if using the date or datetime type. */\n  @Input() max?: string | number;\n  /** How much a number or date should change by. */\n  @Input({ transform: numberAttribute }) step?: number;\n  /** The aria-labelledby attribute identifies the element (or elements) that labels the input. */\n  @Input() ariaLabelledBy?: string;\n  /** Aria label for the trailing icon. Use only when the trailing icon is interactive. */\n  @Input() trailingIconAriaLabel?: string;\n  /** Sets the text alignment within the input field. @default \"left\" */\n  @Input() textAlign?: \"left\" | \"right\" = \"left\";\n  /** Sets the leading content slot, accepting a string or template reference. */\n  @Input() leadingContent!: string | TemplateRef<any>;\n  /** Sets the trailing content slot, accepting a string or template reference. */\n  @Input() trailingContent!: string | TemplateRef<any>;\n  /** Sets the size of the input. 'compact' reduces height for dense layouts. @default \"default\" */\n  @Input() size?: GoabInputSize = \"default\";\n\n  /** Emits when the trailing icon is clicked. */\n  @Output() onTrailingIconClick = new EventEmitter();\n  /** Emits when the input receives focus. Emits focus detail including the current value. */\n  @Output() onFocus = new EventEmitter<GoabInputOnFocusDetail>();\n  /** Emits when the input loses focus. Emits blur detail including the current value. */\n  @Output() onBlur = new EventEmitter<GoabInputOnBlurDetail>();\n  /** Emits when a key is pressed in the input. Emits key press detail including the value and key pressed. */\n  @Output() onKeyPress = new EventEmitter<GoabInputOnKeyPressDetail>();\n  /** Emits when the input value changes. Emits change detail including the new value. */\n  @Output() onChange = new EventEmitter<GoabInputOnChangeDetail>();\n\n  version = \"2\";\n  isReady = false;\n  handleTrailingIconClick = false;\n\n  ngOnInit() {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n\n    this.handleTrailingIconClick = this.onTrailingIconClick.observed;\n    if (typeof this.value === \"number\") {\n      console.warn(\"For numeric values use goab-input-number.\");\n    }\n  }\n\n  _onTrailingIconClick(_: Event) {\n    if (this.handleTrailingIconClick) {\n      this.onTrailingIconClick.emit();\n    }\n  }\n\n  _onChange(e: Event) {\n    const detail = { ...(e as CustomEvent<GoabInputOnChangeDetail>).detail, event: e };\n    this.onChange.emit(detail);\n\n    this.fcChange?.(detail.value);\n  }\n\n  _onKeyPress(e: Event) {\n    const detail = { ...(e as CustomEvent<GoabInputOnKeyPressDetail>).detail, event: e };\n    this.onKeyPress.emit(detail);\n  }\n\n  _onFocus(e: Event) {\n    const detail = { ...(e as CustomEvent<GoabInputOnFocusDetail>).detail, event: e };\n    this.onFocus.emit(detail);\n  }\n\n  _onBlur(e: Event) {\n    this.markAsTouched();\n    const detail = { ...(e as CustomEvent<GoabInputOnBlurDetail>).detail, event: e };\n    this.onBlur.emit(detail);\n  }\n\n  getLeadingContentAsString(): string {\n    return this.leadingContent instanceof TemplateRef ? \"\" : this.leadingContent;\n  }\n\n  getLeadingContentAsTemplate(): TemplateRef<any> | null {\n    if (!this.leadingContent) return null;\n    return this.leadingContent instanceof TemplateRef ? this.leadingContent : null;\n  }\n\n  getTrailingContentAsString(): string {\n    return this.trailingContent instanceof TemplateRef ? \"\" : this.trailingContent;\n  }\n\n  getTrailingContentAsTemplate(): TemplateRef<any> | null {\n    if (!this.trailingContent) return null;\n    return this.trailingContent instanceof TemplateRef ? this.trailingContent : null;\n  }\n}\n","import {\n  GoabIconType,\n  GoabInputAutoCapitalize,\n  GoabInputOnBlurDetail,\n  GoabInputOnChangeDetail,\n  GoabInputOnFocusDetail,\n  GoabInputOnKeyPressDetail,\n  GoabInputType,\n  Spacing,\n} from \"@abgov/ui-components-common\";\nimport { NgTemplateOutlet } from \"@angular/common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  forwardRef,\n  OnInit,\n  booleanAttribute,\n  numberAttribute,\n  TemplateRef,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-input-number\",\n  imports: [NgTemplateOutlet],\n  template: `\n    @if (isReady) {\n      <goa-input\n        [attr.type]=\"type\"\n        [attr.name]=\"name\"\n        [attr.focused]=\"focused\"\n        [attr.value]=\"value !== null ? value : ''\"\n        [attr.autocapitalize]=\"autoCapitalize\"\n        [attr.placeholder]=\"placeholder\"\n        [attr.leadingicon]=\"leadingIcon\"\n        [attr.trailingicon]=\"trailingIcon\"\n        [attr.variant]=\"variant\"\n        [disabled]=\"disabled\"\n        [attr.readonly]=\"readonly\"\n        [attr.error]=\"error\"\n        [attr.data-testid]=\"testId\"\n        [attr.width]=\"width\"\n        [attr.arialabel]=\"ariaLabel\"\n        [attr.arialabelledby]=\"ariaLabelledBy\"\n        [attr.min]=\"min\"\n        [attr.max]=\"max\"\n        [attr.step]=\"step\"\n        [attr.prefix]=\"prefix\"\n        [attr.suffix]=\"suffix\"\n        [attr.debounce]=\"debounce\"\n        [attr.maxlength]=\"maxLength\"\n        [attr.id]=\"id\"\n        [attr.mt]=\"mt\"\n        [attr.mr]=\"mr\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.handletrailingiconclick]=\"handleTrailingIconClick\"\n        [attr.textalign]=\"textAlign\"\n        (_trailingIconClick)=\"_onTrailingIconClick($event)\"\n        (_change)=\"_onChange($event)\"\n        (_focus)=\"_onFocus($event)\"\n        (_blur)=\"_onBlur($event)\"\n        (_keypress)=\"_onKeyPress($event)\"\n        [attr.trailingiconarialabel]=\"trailingIconAriaLabel\"\n      >\n        <div slot=\"leadingContent\">\n          @if (leadingContent) {\n            @if (getLeadingContentAsTemplate()) {\n              <ng-container\n                [ngTemplateOutlet]=\"getLeadingContentAsTemplate()\"\n              ></ng-container>\n            } @else {\n              {{ getLeadingContentAsString() }}\n            }\n          }\n        </div>\n\n        <ng-content />\n\n        <div slot=\"trailingContent\">\n          @if (trailingContent) {\n            @if (getTrailingContentAsTemplate()) {\n              <ng-container\n                [ngTemplateOutlet]=\"getTrailingContentAsTemplate()\"\n              ></ng-container>\n            } @else {\n              {{ getTrailingContentAsString() }}\n            }\n          }\n        </div>\n      </goa-input>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      multi: true,\n      // Use forwardRef with the new class name\n      useExisting: forwardRef(() => GoabInputNumber),\n    },\n  ],\n})\n/** A single-line field where users can input and edit numeric values. */\nexport class GoabInputNumber implements ControlValueAccessor, OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** Sets the type of the input field. @default \"number\" */\n  @Input() type: GoabInputType = \"number\";\n  /** Name of input value that is received in the onChange event. */\n  @Input() name?: string;\n  /** Unique identifier for the input element. Used for label associations and accessibility. */\n  @Input() id?: string;\n  /** Debounce delay in milliseconds before firing the change event. 0 means no debounce. */\n  @Input({ transform: numberAttribute }) debounce?: number;\n  /** Disables this input. The input will not receive focus or events. */\n  @Input({ transform: booleanAttribute }) disabled?: boolean;\n  /** Controls whether and how text input is automatically capitalized as it is entered/edited by the user. This only works on mobile devices. */\n  @Input() autoCapitalize?: GoabInputAutoCapitalize;\n  /** Text displayed within the input when no value is set. */\n  @Input() placeholder?: string;\n  /** Icon shown to the left of the text. */\n  @Input() leadingIcon?: GoabIconType;\n  /** Icon shown to the right of the text. */\n  @Input() trailingIcon?: GoabIconType;\n  /** Sets the visual style variant. 'goa' for standard GoA styling, 'bare' for minimal styling. */\n  @Input() variant?: string;\n  /** Sets the cursor focus to the input. */\n  @Input({ transform: booleanAttribute }) focused?: boolean;\n  /** Makes the input readonly. */\n  @Input({ transform: booleanAttribute }) readonly?: boolean;\n  /** Sets the input to an error state. */\n  @Input({ transform: booleanAttribute }) error?: boolean;\n  /** Sets the width of the text input area. */\n  @Input() width?: string;\n  /** @deprecated Use leadingContent slot instead. */\n  @Input() prefix?: string;\n  /** @deprecated Use trailingContent slot instead. */\n  @Input() suffix?: string;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** Defines how the input will be translated for the screen reader. If not specified it will fall back to the name. */\n  @Input() ariaLabel?: string;\n  /** Sets the maximum number of characters (as UTF-16 code units) the user can enter into the input. */\n  @Input({ transform: numberAttribute }) maxLength?: number;\n  /** A string value that supports any number, or an ISO 8601 format if using the date or datetime type. */\n  @Input() min?: string | number;\n  /** A string value that supports any number, or an ISO 8601 format if using the date or datetime type. */\n  @Input() max?: string | number;\n  /** How much a number or date should change by. */\n  @Input({ transform: numberAttribute }) step?: number;\n  /** The aria-labelledby attribute identifies the element (or elements) that labels the input. */\n  @Input() ariaLabelledBy?: string;\n  /** Top margin. */\n  @Input() mt?: Spacing;\n  /** Right margin. */\n  @Input() mr?: Spacing;\n  /** Bottom margin. */\n  @Input() mb?: Spacing;\n  /** Left margin. */\n  @Input() ml?: Spacing;\n  /** Aria label for the trailing icon. Use only when the trailing icon is interactive. */\n  @Input() trailingIconAriaLabel?: string;\n  /** Sets the text alignment within the input field. @default \"right\" */\n  @Input() textAlign?: \"left\" | \"right\" = \"right\"; // Default to right for numbers\n\n  /** Bound to value. */\n  @Input() value: number | null = null;\n  /** Sets the leading content slot, accepting a string or template reference. */\n  @Input() leadingContent!: string | TemplateRef<any>;\n  /** Sets the trailing content slot, accepting a string or template reference. */\n  @Input() trailingContent!: string | TemplateRef<any>;\n\n  /** Emits when the trailing icon is clicked. */\n  @Output() onTrailingIconClick = new EventEmitter<void>(); // Keep void type\n  /** Emits when the input receives focus. Emits focus detail including the current value. */\n  @Output() onFocus = new EventEmitter<GoabInputOnFocusDetail>();\n  /** Emits when the input loses focus. Emits blur detail including the current value. */\n  @Output() onBlur = new EventEmitter<GoabInputOnBlurDetail>();\n  /** Emits when a key is pressed in the input. Emits key press detail including the value and key pressed. */\n  @Output() onKeyPress = new EventEmitter<GoabInputOnKeyPressDetail>();\n  /** Emits when the input value changes. Emits change detail including the new value. */\n  @Output() onChange = new EventEmitter<GoabInputOnChangeDetail>();\n\n  handleTrailingIconClick = false;\n\n  ngOnInit() {\n    this.handleTrailingIconClick = this.onTrailingIconClick.observed;\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  _onTrailingIconClick(_: Event) {\n    if (this.handleTrailingIconClick) {\n      this.onTrailingIconClick.emit();\n    }\n  }\n\n  _onChange(e: Event) {\n    this.markAsTouched();\n    const detail = (e as CustomEvent<GoabInputOnChangeDetail>).detail;\n\n    const stringValue = detail.value;\n    let numericValue: number | null = null;\n\n    if (stringValue !== null && stringValue.trim() !== \"\") {\n      const parsed = parseFloat(stringValue);\n      if (!isNaN(parsed)) {\n        numericValue = parsed;\n      }\n    }\n\n    this.value = numericValue;\n\n    this.fcChange?.(numericValue);\n\n    this.onChange.emit(detail);\n  }\n\n  _onKeyPress(e: Event) {\n    this.markAsTouched();\n    const detail = (e as CustomEvent<GoabInputOnKeyPressDetail>).detail;\n    this.onKeyPress.emit(detail);\n  }\n\n  _onFocus(e: Event) {\n    this.markAsTouched();\n    const detail = (e as CustomEvent<GoabInputOnFocusDetail>).detail;\n    this.onFocus.emit(detail);\n  }\n\n  _onBlur(e: Event) {\n    this.markAsTouched();\n    const detail = (e as CustomEvent<GoabInputOnBlurDetail>).detail;\n    this.onBlur.emit(detail);\n  }\n\n  private fcChange?: (value: number | null) => void;\n  private fcTouched?: () => void; // Changed type to void for consistency\n  touched = false;\n\n  markAsTouched() {\n    if (!this.touched) {\n      this.fcTouched?.();\n      this.touched = true;\n    }\n  }\n\n  writeValue(value: number | null): void {\n    this.value = value === undefined ? null : value;\n  }\n\n  registerOnChange(fn: (value: number | null) => void): void {\n    this.fcChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.fcTouched = fn;\n  }\n\n  setDisabledState?(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  getLeadingContentAsString(): string {\n    return this.leadingContent instanceof TemplateRef ? \"\" : this.leadingContent;\n  }\n\n  getLeadingContentAsTemplate(): TemplateRef<any> | null {\n    if (!this.leadingContent) return null;\n    return this.leadingContent instanceof TemplateRef ? this.leadingContent : null;\n  }\n\n  getTrailingContentAsString(): string {\n    return this.trailingContent instanceof TemplateRef ? \"\" : this.trailingContent;\n  }\n\n  getTrailingContentAsTemplate(): TemplateRef<any> | null {\n    if (!this.trailingContent) return null;\n    return this.trailingContent instanceof TemplateRef ? this.trailingContent : null;\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n@Component({\n  standalone: true,\n  selector: \"goab-linear-progress\",\n  template: `\n    @if (isReady) {\n      <goa-linear-progress\n        [attr.progress]=\"progress\"\n        [attr.percent-visibility]=\"percentVisibility\"\n        [attr.aria-label]=\"ariaLabel\"\n        [attr.aria-labelledby]=\"ariaLabelledBy\"\n        [attr.testid]=\"testid\"\n      >\n      </goa-linear-progress>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Provide visual feedback to users while loading. */\nexport class GoabLinearProgress implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Progress value (0-100). When undefined, shows an indeterminate loading animation. */\n  @Input() progress?: number | null | undefined;\n  /** Controls visibility of the percentage text. */\n  @Input() percentVisibility?: \"visible\" | \"hidden\" | undefined;\n  /** Accessible label for the progress bar. */\n  @Input() ariaLabel?: string;\n  /** ID of the element that labels this progress bar. */\n  @Input() ariaLabelledBy?: string;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testid?: string;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  GoabIconType,\n  GoabLinkColor,\n  GoabLinkSize,\n  Spacing,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-link\",\n  template: `\n    @if (isReady) {\n      <goa-link\n        [attr.leadingicon]=\"leadingIcon\"\n        [attr.trailingicon]=\"trailingIcon\"\n        [attr.testid]=\"testId\"\n        [attr.action]=\"action\"\n        [attr.color]=\"color\"\n        [attr.size]=\"size\"\n        [attr.action-arg]=\"actionArg\"\n        [attr.action-args]=\"JSON.stringify(actionArgs)\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content />\n      </goa-link>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Wraps an anchor element to add icons or margins. */\nexport class GoabLink implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** Icon displayed before the link text. */\n  @Input() leadingIcon?: GoabIconType;\n  /** Icon displayed after the link text. */\n  @Input() trailingIcon?: GoabIconType;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** Custom action event name to dispatch when the link is clicked. */\n  @Input() action?: string;\n  /** Sets the color theme. 'interactive' for blue, 'dark' for black, 'light' for white text. @default \"interactive\" */\n  @Input() color?: GoabLinkColor = \"interactive\";\n  /** Sets the text size and corresponding icon size. @default \"medium\" */\n  @Input() size?: GoabLinkSize = \"medium\";\n  /** Single argument to pass with the action event (deprecated, use actionArgs). */\n  @Input() actionArg?: string;\n  /** Object of arguments to pass with the action event. */\n  @Input() actionArgs?: Record<string, unknown>;\n  /** Top margin. */\n  @Input() mt?: Spacing;\n  /** Bottom margin. */\n  @Input() mb?: Spacing;\n  /** Left margin. */\n  @Input() ml?: Spacing;\n  /** Right margin. */\n  @Input() mr?: Spacing;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  protected readonly JSON = JSON;\n}\n","import { GoabLinkTarget, GoabServiceLevel } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  TemplateRef,\n  EventEmitter,\n  Output,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-microsite-header\",\n  template: `\n    @if (isReady) {\n      <goa-microsite-header\n        [attr.type]=\"type\"\n        [attr.version]=\"getVersionAsString()\"\n        [attr.feedbackurl]=\"feedbackUrl\"\n        [attr.maxcontentwidth]=\"maxContentWidth\"\n        [attr.feedbackurltarget]=\"feedbackUrlTarget\"\n        [attr.headerurltarget]=\"headerUrlTarget\"\n        [attr.testid]=\"testId\"\n        [attr.hasfeedbackhandler]=\"onFeedbackClick.observed\"\n        (_feedbackClick)=\"_onFeedbackClick()\"\n      >\n        <div slot=\"version\">\n          <ng-container [ngTemplateOutlet]=\"getVersionAsTemplate()\"></ng-container>\n        </div>\n      </goa-microsite-header>\n    }\n  `,\n  imports: [NgTemplateOutlet],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Communicate what stage the service is at, connect to Alberta.ca, and gather feedback on your service. */\nexport class GoabMicrositeHeader implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** @required The service type which determines the badge style. \"live\" shows official government site text, \"alpha\" and \"beta\" show development stage badges. */\n  @Input({ required: true }) type!: GoabServiceLevel;\n  /** @required App or service version displayed on the right side of the header. */\n  @Input() version!: string | TemplateRef<any>;\n  /** Url to feedback page that will be displayed when provided. */\n  @Input() feedbackUrl?: string;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** Maximum width of the content area. */\n  @Input() maxContentWidth?: string;\n  /** For internal feedback urls sets target. */\n  @Input() feedbackUrlTarget?: GoabLinkTarget;\n  /** Sets the target attribute for the header link. */\n  @Input() headerUrlTarget?: GoabLinkTarget;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  /** Emits when the feedback link is clicked. */\n  @Output() onFeedbackClick = new EventEmitter<void>();\n\n  getVersionAsString(): string {\n    return typeof this.version === \"string\" ? this.version : \"\";\n  }\n\n  getVersionAsTemplate(): TemplateRef<any> | null {\n    if (!this.version) return null;\n    return this.version instanceof TemplateRef ? this.version : null;\n  }\n\n  _onFeedbackClick() {\n    this.onFeedbackClick.emit();\n  }\n}\n","import {\n  GoabModalCalloutVariant,\n  GoabModalTransition,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  booleanAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-modal\",\n  imports: [NgTemplateOutlet],\n  template: `\n    @if (isReady) {\n      <goa-modal\n        [attr.version]=\"version\"\n        [attr.calloutvariant]=\"calloutVariant\"\n        [attr.open]=\"open\"\n        [attr.maxwidth]=\"maxWidth\"\n        [attr.testid]=\"testId\"\n        [attr.role]=\"role\"\n        [attr.closable]=\"closable\"\n        [attr.transition]=\"transition\"\n        [attr.heading]=\"getHeadingAsString()\"\n        (_close)=\"_onClose($event)\"\n      >\n        <div slot=\"heading\">\n          @if (this.heading !== \"\" && getHeadingAsTemplate() !== null) {\n            <ng-container [ngTemplateOutlet]=\"getHeadingAsTemplate()\"></ng-container>\n          }\n        </div>\n\n        <ng-content></ng-content>\n\n        <div slot=\"actions\">\n          @if (this.actions) {\n            <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n          }\n        </div>\n      </goa-modal>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** An overlay that appears in front of all other content, and requires a user to take an action before continuing. */\nexport class GoabModal implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  /** Define the context and colour of the callout modal. It is required when type is set to callout. */\n  @Input() calloutVariant?: GoabModalCalloutVariant;\n  /** Controls if modal is visible or not. */\n  @Input({ transform: booleanAttribute }) open?: boolean;\n  /** Set the max allowed width of the modal. */\n  @Input() maxWidth?: string;\n  /** Show close icon and allow clicking the background to close the modal. */\n  @Input() closable = false;\n  /** Sets the animation transition when opening/closing. 'fast' or 'slow' for animated, 'none' for instant. */\n  @Input() transition?: GoabModalTransition;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /**\n   * @deprecated The role property is deprecated and will be removed in a future version.\n   * The modal will always use role=\"dialog\".\n   */\n  @Input() role?: string;\n  /** The heading text displayed at the top of the modal. */\n  @Input() heading!: string | TemplateRef<any>;\n  /** Sets the template reference for the modal action buttons. */\n  @Input() actions!: TemplateRef<any>;\n\n  /** Emits when the modal is closed. */\n  @Output() onClose = new EventEmitter<void>();\n\n  getHeadingAsString(): string {\n    return this.heading instanceof TemplateRef ? \"\" : this.heading;\n  }\n\n  getHeadingAsTemplate(): TemplateRef<any> | null {\n    if (!this.heading) return null;\n    return this.heading instanceof TemplateRef ? this.heading : null;\n  }\n\n  _onClose(event: Event) {\n    if (event.target !== event.currentTarget) return;\n    this.onClose.emit();\n  }\n}\n","import {\n  GoabButtonSize,\n  GoabButtonType,\n  GoabButtonVariant,\n  GoabIconType,\n  GoabMenuButtonOnActionDetail,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-menu-button\",\n  template: `\n    <goa-menu-button\n      [attr.text]=\"text\"\n      [attr.type]=\"type\"\n      [attr.size]=\"size\"\n      [attr.variant]=\"variant\"\n      version=\"2\"\n      [attr.max-width]=\"maxWidth\"\n      [attr.leading-icon]=\"leadingIcon\"\n      [attr.aria-label]=\"ariaLabel\"\n      [attr.testid]=\"testId\"\n      (_action)=\"_onAction($event)\"\n    >\n      <ng-content></ng-content>\n    </goa-menu-button>\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A button with more than one action. */\nexport class GoabMenuButton {\n  /** The button label text. When provided, displays as a text button with a dropdown icon. */\n  @Input() text?: string;\n  /** The button style variant. */\n  @Input() type?: GoabButtonType;\n  /** Sets the size of the button. */\n  @Input() size?: GoabButtonSize;\n  /** Sets the color variant for semantic meaning. */\n  @Input() variant?: GoabButtonVariant;\n  /** Maximum width of the dropdown menu. */\n  @Input() maxWidth?: string;\n  /** Icon displayed before the button text. When no text is provided, displays as an icon button. */\n  @Input() leadingIcon?: GoabIconType;\n  /** Sets the aria-label for the icon button in icon-only mode. */\n  @Input() ariaLabel?: string;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** Emits when a menu action is clicked. Emits the action detail. */\n  @Output() onAction = new EventEmitter<GoabMenuButtonOnActionDetail>();\n\n  _onAction(e: Event) {\n    const detail = (e as CustomEvent<GoabMenuButtonOnActionDetail>).detail;\n    this.onAction.emit(detail);\n  }\n}\n","import { GoabIconType } from \"@abgov/ui-components-common\";\n\nimport { CUSTOM_ELEMENTS_SCHEMA, Component, Input } from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-menu-action\",\n  template: `\n    <goa-menu-action\n      [attr.text]=\"text\"\n      [attr.action]=\"action\"\n      [attr.icon]=\"icon\"\n      [attr.testid]=\"testId\"\n    >\n    </goa-menu-action>\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Individual action item within a menu button. */\nexport class GoabMenuAction {\n  /** @required Display text for the menu action. */\n  @Input({ required: true }) text!: string;\n  /** @required Action identifier included in the click event. */\n  @Input({ required: true }) action!: string;\n  /** Icon displayed before the text. */\n  @Input() icon?: GoabIconType;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n}\n","import {\n  GoabAriaLiveType,\n  GoabNotificationEmphasis,\n  GoabNotificationType,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  OnInit,\n  ChangeDetectorRef,\n  booleanAttribute,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-notification\",\n  template: `\n    @if (isReady) {\n      <goa-notification\n        [attr.version]=\"version\"\n        [attr.type]=\"type\"\n        [attr.arialive]=\"ariaLive\"\n        [attr.maxcontentwidth]=\"maxContentWidth\"\n        [attr.emphasis]=\"emphasis\"\n        [attr.compact]=\"compact\"\n        [attr.testid]=\"testId\"\n        (_dismiss)=\"_onDismiss()\"\n      >\n        <ng-content />\n      </goa-notification>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Display important page level information or notifications. */\nexport class GoabNotification implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n  /** Define the context and colour of the notification. @default \"information\" */\n  @Input() type?: GoabNotificationType = \"information\";\n  /** Indicates how assistive technology should handle updates to the live region. */\n  @Input() ariaLive?: GoabAriaLiveType;\n  /** Maximum width of the content area. */\n  @Input() maxContentWidth?: string;\n  /** Sets the visual prominence. 'high' for full background, 'low' for medium. @default \"high\" */\n  @Input() emphasis?: GoabNotificationEmphasis = \"high\";\n  /** When true, reduces padding for a more compact notification. */\n  @Input({ transform: booleanAttribute }) compact?: boolean;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  /** Emits when the notification is dismissed. */\n  @Output() onDismiss = new EventEmitter();\n\n  _onDismiss() {\n    this.onDismiss.emit();\n  }\n}\n","import { GoabPageBlockSize } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-page-block\",\n  template: `\n    @if (isReady) {\n      <goa-page-block [attr.width]=\"width\" [attr.testid]=\"testId\">\n        <ng-content></ng-content>\n      </goa-page-block>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Full-width section with optional background. */\nexport class GoabPageBlock implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** Maximum width of the content area. Use \"full\" for 100% width or a CSS dimension like \"1200px\". */\n  @Input() width?: GoabPageBlockSize;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import { Spacing } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  numberAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-pages\",\n  template: `\n    @if (isReady) {\n      <goa-pages\n        [attr.current]=\"current\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content />\n      </goa-pages>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Container for paginated content views. */\nexport class GoabPages extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** The currently visible page (1-based index). */\n  @Input({ transform: numberAttribute }) current?: number;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import {\n  GoabPaginationOnChangeDetail,\n  GoabPaginationVariant,\n  Spacing,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-pagination\",\n  template: `\n    @if (isReady) {\n      <goa-pagination\n        [attr.version]=\"version\"\n        [attr.itemcount]=\"itemCount\"\n        [attr.perpagecount]=\"perPageCount\"\n        [attr.pagenumber]=\"pageNumber\"\n        [attr.variant]=\"variant\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n        (_change)=\"_onChange($event)\"\n      >\n      </goa-pagination>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Help users navigation between multiple pages or screens as part of a set. */\nexport class GoabPagination extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n  /** @required Total number of data items within all pages. */\n  @Input({ required: true }) itemCount!: number;\n  /** @required The current page being viewed (non-zero based). */\n  @Input({ required: true }) pageNumber!: number;\n  /** Number of data items shown per page. @default 10 */\n  @Input() perPageCount?: number = 10;\n  /** Controls which nav controls are visible. @default \"all\" */\n  @Input() variant?: GoabPaginationVariant = \"all\";\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  /** Emits when the page changes. Emits the new page number as part of the change detail. */\n  @Output() onChange = new EventEmitter<GoabPaginationOnChangeDetail>();\n\n  _onChange(e: Event) {\n    const detail = (e as CustomEvent<GoabPaginationOnChangeDetail>).detail;\n    this.onChange.emit(detail);\n  }\n}\n","import { GoabPopoverPosition } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  TemplateRef,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-popover\",\n  imports: [NgTemplateOutlet],\n  template: `\n    @if (isReady) {\n      <goa-popover\n        [attr.maxwidth]=\"maxWidth\"\n        [attr.minwidth]=\"minWidth\"\n        [attr.padded]=\"padded\"\n        [attr.position]=\"position\"\n        [attr.relative]=\"relative\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content></ng-content>\n        <div slot=\"target\">\n          <ng-container [ngTemplateOutlet]=\"target\"></ng-container>\n        </div>\n      </goa-popover>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A small overlay that opens on demand, used in other components. */\nexport class GoabPopover extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** Sets the maximum width of the popover container. @default \"320px\" */\n  @Input() maxWidth = \"320px\";\n  /** Sets the minimum width of the popover container. */\n  @Input() minWidth?: string;\n  /** Sets if the popover has padding. Use false when content needs to be flush with boundaries. @default true */\n  @Input() padded = true;\n  /** Provides control to where the popover content is positioned. */\n  @Input() position?: GoabPopoverPosition;\n  /** @deprecated This property has no effect and will be removed in a future version. */\n  @Input() relative?: boolean;\n  /** @required Sets the target template reference for the popover trigger. */\n  @Input({ required: true }) target!: TemplateRef<any>;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import { NgTemplateOutlet } from \"@angular/common\";\nimport {\n  booleanAttribute,\n  Component,\n  CUSTOM_ELEMENTS_SCHEMA,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-push-drawer\",\n  imports: [NgTemplateOutlet],\n  template: `@if (isReady) {\n    <goa-push-drawer\n      [open]=\"open\"\n      [attr.heading]=\"getHeadingAsString()\"\n      [attr.testid]=\"testId\"\n      [attr.width]=\"width\"\n      [attr.version]=\"version\"\n      (_close)=\"_onClose($event)\"\n    >\n      <ng-content></ng-content>\n      <div slot=\"heading\">\n        <ng-container [ngTemplateOutlet]=\"getHeadingAsTemplate()\"></ng-container>\n      </div>\n      @if (actions) {\n        <div slot=\"actions\">\n          <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n        </div>\n      }\n    </goa-push-drawer>\n  } `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A panel that pushes the main page content aside on desktop, falling back to an overlay drawer on smaller screens. */\nexport class GoabPushDrawer implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  version = \"2\";\n\n  /** Sets the open state of the push drawer. */\n  @Input({ transform: booleanAttribute }) open?: boolean;\n  /** Sets the heading text or template for the push drawer. */\n  @Input() heading!: string | TemplateRef<any>;\n  /** Sets the width of the push drawer panel. */\n  @Input() width?: string;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** Sets the template reference for the actions slot content. */\n  @Input() actions!: TemplateRef<any>;\n  /** Emits when the push drawer closes. */\n  @Output() onClose = new EventEmitter<void>();\n\n  isReady = false;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onClose(event: Event) {\n    if (event.target !== event.currentTarget) return;\n    this.onClose.emit();\n  }\n\n  getHeadingAsString(): string {\n    return this.heading instanceof TemplateRef ? \"\" : this.heading;\n  }\n\n  getHeadingAsTemplate(): TemplateRef<any> | null {\n    if (!this.heading) return null;\n    return this.heading instanceof TemplateRef ? this.heading : null;\n  }\n}\n","import {\n  GoabRadioGroupOnChangeDetail,\n  GoabRadioGroupOrientation,\n  GoabRadioGroupSize,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  forwardRef,\n  OnInit,\n  ChangeDetectorRef,\n    inject,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { GoabControlValueAccessor } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-radio-group\",\n  template: `\n    @if (isReady) {\n      <goa-radio-group\n        #goaComponentRef\n        [attr.version]=\"version\"\n        [attr.name]=\"name\"\n        [attr.value]=\"value\"\n        [disabled]=\"disabled\"\n        [attr.orientation]=\"orientation\"\n        [attr.error]=\"error\"\n        [attr.arialabel]=\"ariaLabel\"\n        [attr.size]=\"size\"\n        [id]=\"id\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n        (_change)=\"_onChange($event)\"\n      >\n        <ng-content />\n      </goa-radio-group>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      multi: true,\n      useExisting: forwardRef(() => GoabRadioGroup),\n    },\n  ],\n})\n/** Allow users to select one option from a set. */\nexport class GoabRadioGroup extends GoabControlValueAccessor implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n  /** The name for the radio group. Used for accessibility and change events. */\n  @Input() name?: string;\n  /** The currently selected value in the radio group. */\n  @Input() override value?: string;\n  /** Sets the layout direction. 'vertical' stacks items, 'horizontal' places them in a row. */\n  @Input() orientation?: GoabRadioGroupOrientation;\n  /** Defines how the radio group will be announced by screen readers. */\n  @Input() ariaLabel?: string;\n  /** Sets the size of all radio items. 'compact' reduces spacing for dense layouts (V2 only). @default \"default\" */\n  @Input() size?: GoabRadioGroupSize = \"default\";\n\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  /** Emits when the selected radio item changes. Emits the name, value, and event of the selected item. */\n  @Output() onChange = new EventEmitter<GoabRadioGroupOnChangeDetail>();\n\n  _onChange(e: Event) {\n    const detail = {\n      ...(e as CustomEvent<GoabRadioGroupOnChangeDetail>).detail,\n      event: e,\n    };\n    this.markAsTouched();\n    this.onChange.emit(detail);\n\n    this.fcChange?.(detail.value);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  TemplateRef,\n  booleanAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-radio-item\",\n  template: `\n    @if (isReady) {\n      <goa-radio-item\n        [attr.version]=\"version\"\n        [attr.name]=\"name\"\n        [attr.value]=\"value\"\n        [attr.label]=\"label\"\n        [attr.description]=\"getDescriptionAsString()\"\n        [attr.arialabel]=\"ariaLabel\"\n        [attr.revealarialabel]=\"revealAriaLabel\"\n        [disabled]=\"disabled\"\n        [attr.compact]=\"compact\"\n        [attr.maxwidth]=\"maxWidth\"\n        [attr.checked]=\"checked\"\n        [attr.error]=\"error\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content />\n        <div slot=\"description\">\n          <ng-container [ngTemplateOutlet]=\"getDescriptionAsTemplate()\"></ng-container>\n        </div>\n        <div slot=\"reveal\">\n          @if (this.reveal) {\n            <ng-container [ngTemplateOutlet]=\"reveal\"></ng-container>\n          }\n        </div>\n      </goa-radio-item>\n    }\n  `,\n  imports: [NgTemplateOutlet],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Individual radio option within a group. */\nexport class GoabRadioItem extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** The value of this radio option. Will be emitted when selected. */\n  @Input() value?: string;\n  /** The display label for this radio option. Falls back to value if not provided. */\n  @Input() label?: string;\n  /** The name of the radio group. Inherited from the parent RadioGroup if not set. */\n  @Input() name?: string;\n  /** Additional description text displayed below the label. */\n  @Input() description!: string | TemplateRef<any>;\n  /** Sets the template reference for the reveal slot content. */\n  @Input() reveal?: TemplateRef<any>;\n  /** Defines how this option will be announced by screen readers. */\n  @Input() ariaLabel?: string;\n  /** Text announced by screen readers when the reveal slot content is displayed. */\n  @Input() revealAriaLabel?: string;\n  /** Disables this radio option. Also disabled if the parent RadioGroup is disabled. */\n  @Input({ transform: booleanAttribute }) disabled?: boolean;\n  /** @internal Sets this radio option as checked/selected. */\n  @Input({ transform: booleanAttribute }) checked?: boolean;\n  /** Shows an error state on this radio option. */\n  @Input({ transform: booleanAttribute }) error?: boolean;\n  /** Sets the maximum width of this radio item. */\n  @Input() maxWidth?: string;\n  /** Enables compact layout for the radio item, reducing spacing for dense layouts. */\n  @Input({ transform: booleanAttribute }) compact?: boolean;\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  getDescriptionAsString(): string {\n    return !this.description || this.description instanceof TemplateRef\n      ? \"\"\n      : this.description;\n  }\n\n  getDescriptionAsTemplate(): TemplateRef<any> | null {\n    if (!this.description) return null;\n    return this.description instanceof TemplateRef ? this.description : null;\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-side-menu\",\n  template: `\n    @if (isReady) {\n      <goa-side-menu [attr.version]=\"version\" [attr.testid]=\"testId\">\n        <ng-content />\n      </goa-side-menu>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A side navigation that helps the user navigate between pages. */\nexport class GoabSideMenu implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabIconType } from \"@abgov/ui-components-common\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-side-menu-group\",\n  template: `\n    @if (isReady) {\n      <goa-side-menu-group\n        [attr.version]=\"version\"\n        [attr.heading]=\"heading\"\n        [attr.testid]=\"testId\"\n        [attr.icon]=\"icon\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content />\n      </goa-side-menu-group>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Group of related side menu items. */\nexport class GoabSideMenuGroup extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n  /** @required The heading text for the menu group. */\n  @Input({ required: true }) heading!: string;\n  /** Icon displayed alongside the heading. */\n  @Input() icon?: GoabIconType;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import { GoabIconType } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  TemplateRef,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-side-menu-heading\",\n  imports: [NgTemplateOutlet],\n  template: `\n    @if (isReady) {\n      <goa-side-menu-heading\n        [attr.version]=\"version\"\n        [attr.testid]=\"testId\"\n        [attr.icon]=\"icon\"\n      >\n        <ng-content />\n        <span slot=\"meta\">\n          <ng-container [ngTemplateOutlet]=\"meta\"></ng-container>\n        </span>\n      </goa-side-menu-heading>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Section heading in side menu. */\nexport class GoabSideMenuHeading implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n  /** @required Icon displayed before the heading text. */\n  @Input() icon!: GoabIconType;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** Sets the template for the meta slot content. */\n  @Input() meta!: TemplateRef<any>;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import { GoabSkeletonSize, GoabSkeletonType, Spacing } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  numberAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-skeleton\",\n  template: `\n    @if (isReady) {\n      <goa-skeleton\n        [attr.maxwidth]=\"maxWidth\"\n        [attr.size]=\"size\"\n        [attr.linecount]=\"lineCount\"\n        [attr.type]=\"type\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n      </goa-skeleton>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Provide visual feedback to users while loading a content heavy page or page element. */\nexport class GoabSkeleton extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** @required Sets the skeleton shape to represent your content. */\n  @Input({ required: true }) type!: GoabSkeletonType;\n  /** Sets the maximum width. Currently only used in card skeleton type. @default \"300px\" */\n  @Input() maxWidth = \"300px\";\n  /** Size can affect either the height, width or both for different skeleton types. */\n  @Input() size?: GoabSkeletonSize;\n  /** Used within components that contain multiple lines. Currently only used in card skeleton type. */\n  @Input({ transform: numberAttribute }) lineCount?: number;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import {\n  GoabSpacerHorizontalSpacing,\n  GoabSpacerVerticalSpacing,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-spacer\",\n  template: `\n    @if (isReady) {\n      <goa-spacer\n        [attr.hspacing]=\"hSpacing\"\n        [attr.vspacing]=\"vSpacing\"\n        [attr.testid]=\"testId\"\n      >\n      </goa-spacer>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n\n  styles: [\n    `\n      :host {\n        display: contents;\n      }\n    `,\n  ],\n})\n/** Negative area between the components and the interface. */\nexport class GoabSpacer implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** Horizontal spacing. */\n  @Input() hSpacing?: GoabSpacerHorizontalSpacing;\n  /** Vertical spacing. */\n  @Input() vSpacing?: GoabSpacerVerticalSpacing;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  ChangeDetectorRef,\n  Component,\n  Input,\n  OnInit,\n  TemplateRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-scroll-panel\",\n  imports: [NgTemplateOutlet],\n  template: `@if (isReady) {\n    <goa-scroll-panel\n      [attr.height]=\"height\"\n      [attr.testid]=\"testId\"\n      [style.height]=\"height\"\n    >\n      @if (header) {\n        <div slot=\"header\">\n          <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\n        </div>\n      }\n      <ng-content />\n      @if (footer) {\n        <div slot=\"footer\">\n          <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n        </div>\n      }\n    </goa-scroll-panel>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class GoabScrollPanel implements OnInit {\n  /**\n   * Sets the height of the panel. Accepts any valid CSS height value, including\n   * calc()/min()/clamp() and viewport units (e.g. \"400px\", \"100%\", \"100vh\",\n   * \"calc(100vh - 4rem)\"). Invalid values fall back to \"100%\". Defaults to \"100%\".\n   * The parent element must establish a height context for \"100%\" to resolve.\n   */\n  @Input() height?: string;\n  /** Template ref for the sticky header region. */\n  @Input() header?: TemplateRef<unknown>;\n  /** Template ref for the sticky footer region. */\n  @Input() footer?: TemplateRef<unknown>;\n  /** Sets the data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  isReady = false;\n\n  private cdr = inject(ChangeDetectorRef);\n\n  ngOnInit(): void {\n    // For Angular, delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  TemplateRef,\n  OnInit,\n  ChangeDetectorRef,\n  booleanAttribute,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-tab\",\n  template: `\n    @if (isReady) {\n      <goa-tab\n        [attr.slug]=\"slug\"\n        [attr.disabled]=\"disabled || null\"\n        [attr.heading]=\"getHeadingAsString()\"\n      >\n        <ng-content />\n        @if (typeof heading !== \"string\") {\n          <div slot=\"heading\">\n            <ng-container [ngTemplateOutlet]=\"getHeadingAsTemplate()\"></ng-container>\n          </div>\n        }\n      </goa-tab>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  imports: [NgTemplateOutlet],\n})\n/** Individual tab within a tabs component. */\nexport class GoabTab implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** The text label for this tab. Can also use the heading slot for custom content. */\n  @Input() heading!: string | TemplateRef<any>;\n  /** When true, disables the tab. */\n  @Input({ transform: booleanAttribute }) disabled?: boolean;\n  /** Sets the URL slug for the tab. */\n  @Input() slug?: string;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  getHeadingAsString(): string {\n    return this.heading instanceof TemplateRef ? \"\" : this.heading;\n  }\n\n  getHeadingAsTemplate(): TemplateRef<any> | null {\n    if (!this.heading) return null;\n    return this.heading instanceof TemplateRef ? this.heading : null;\n  }\n}\n","import {\n  GoabTableOnSortDetail,\n  GoabTableOnMultiSortDetail,\n  GoabTableSortMode,\n  GoabTableVariant,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  OnInit,\n  ChangeDetectorRef,\n  booleanAttribute,\n  inject,\n} from \"@angular/core\";\n\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-table\",\n  template: `\n    @if (isReady) {\n      <goa-table\n        [attr.version]=\"version\"\n        [attr.width]=\"width\"\n        [attr.variant]=\"variant\"\n        [attr.sort-mode]=\"sortMode\"\n        [attr.striped]=\"striped\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n        (_sort)=\"_onSort($event)\"\n        (_multisort)=\"_onMultiSort($event)\"\n      >\n        <table style=\"width: 100%;\">\n          <ng-content />\n        </table>\n      </goa-table>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A set of structured data that is easy for a user to scan, examine, and compare. */\nexport class GoabTable extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n  /** Width of the table. By default it will fit the enclosed content. */\n  @Input() width?: string;\n  /** Sets a relaxed variant of the table with more vertical padding for the cells. */\n  @Input() variant?: GoabTableVariant;\n  /** Sets sort mode: \"single\" allows one column, \"multi\" allows up to 2 columns. */\n  @Input() sortMode?: GoabTableSortMode;\n  /** When true, alternates row background colors for improved readability. */\n  @Input({ transform: booleanAttribute }) striped?: boolean;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  /** Emits when a table column is sorted. Emits the sort column and direction as GoabTableOnSortDetail. */\n  @Output() onSort = new EventEmitter<GoabTableOnSortDetail>();\n  /** Emits when multi-column sorting changes. Emits an array of sort entries as GoabTableOnMultiSortDetail. */\n  @Output() onMultiSort = new EventEmitter<GoabTableOnMultiSortDetail>();\n\n  _onSort(e: Event) {\n    const detail = (e as CustomEvent<GoabTableOnSortDetail>).detail;\n    this.onSort.emit(detail);\n  }\n\n  _onMultiSort(e: Event) {\n    const detail = (e as CustomEvent<GoabTableOnMultiSortDetail>).detail;\n    this.onMultiSort.emit(detail);\n  }\n}\n","import { GoabTableSortDirection, GoabTableSortOrder } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-table-sort-header\",\n  template: `\n    @if (isReady) {\n      <goa-table-sort-header\n        [attr.name]=\"name\"\n        [attr.direction]=\"direction\"\n        [attr.sort-order]=\"sortOrder\"\n        [attr.version]=\"version\"\n      >\n        <ng-content />\n      </goa-table-sort-header>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A set of structured data that is easy for a user to scan, examine, and compare. */\nexport class GoabTableSortHeader implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n  /** Column name identifier for sorting. */\n  @Input() name?: string;\n  /** Sets the sort direction indicator. @default \"none\" */\n  @Input() direction?: GoabTableSortDirection = \"none\";\n  /** Sort order number for multi-column sort display (\"1\", \"2\", etc). */\n  @Input() sortOrder?: GoabTableSortOrder;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  numberAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport {\n  GoabTabsOnChangeDetail,\n  GoabTabsOrientation,\n  GoabTabsVariant,\n  GoabTabsNavigation,\n} from \"@abgov/ui-components-common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-tabs\",\n  template: `\n    @if (isReady) {\n      <goa-tabs\n        [attr.version]=\"version\"\n        [attr.initialtab]=\"initialTab\"\n        [attr.testid]=\"testId\"\n        [attr.variant]=\"variant\"\n        [attr.orientation]=\"orientation\"\n        [attr.navigation]=\"navigation\"\n        (_change)=\"_onChange($event)\"\n      >\n        <ng-content />\n      </goa-tabs>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Let users navigate between related sections of content, displaying one section at a time. */\nexport class GoabTabs implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  version = \"2\";\n  /** The initially active tab (1-based index). If not set, the first tab is active. */\n  @Input({ transform: numberAttribute }) initialTab?: number;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** Visual style variant. \"segmented\" shows pill-style tabs with animation. */\n  @Input() variant?: GoabTabsVariant;\n  /** Tab layout orientation. \"auto\" stacks vertically on mobile (default), \"horizontal\" keeps horizontal on all screen sizes. */\n  @Input() orientation?: GoabTabsOrientation;\n  /** Sets the navigation mode for tab switching. \"hash\" updates the URL hash when switching tabs. */\n  @Input() navigation?: GoabTabsNavigation;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  /** Emits when the active tab changes. Emits the new tab index as GoabTabsOnChangeDetail. */\n  @Output() onChange = new EventEmitter<GoabTabsOnChangeDetail>();\n\n  _onChange(e: Event) {\n    const detail = (e as CustomEvent<GoabTabsOnChangeDetail>).detail;\n    this.onChange.emit(detail);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\ntype SnackbarVerticalPosition = \"top\" | \"bottom\";\ntype SnackbarHorizontalPosition = \"left\" | \"center\" | \"right\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-temporary-notification-ctrl\",\n  template: `\n    @if (isReady) {\n      <goa-temp-notification-ctrl\n        [attr.vertical-position]=\"verticalPosition\"\n        [attr.horizontal-position]=\"horizontalPosition\"\n        [attr.testid]=\"testId\"\n      >\n      </goa-temp-notification-ctrl>\n    }\n  `,\n\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** A notification that appears at the bottom of the screen. */\nexport class GoabTemporaryNotificationCtrl implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** Vertical position of the notification container. @default \"bottom\" */\n  @Input() verticalPosition: SnackbarVerticalPosition = \"bottom\";\n  /** Horizontal position of the notification container. @default \"center\" */\n  @Input() horizontalPosition: SnackbarHorizontalPosition = \"center\";\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n}\n","import {\n  Component,\n  CUSTOM_ELEMENTS_SCHEMA,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  HostBinding,\n  inject,\n} from \"@angular/core\";\n\nimport {\n  GoabTextColor,\n  GoabTextHeadingElement,\n  GoabTextMaxWidth,\n  GoabTextSize,\n  GoabTextTextElement,\n  Spacing,\n} from \"@abgov/ui-components-common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-text\",\n\n  template: `\n    @if (isReady) {\n      <goa-text\n        [attr.as]=\"tag\"\n        [attr.size]=\"size\"\n        [attr.maxwidth]=\"maxWidth\"\n        [attr.color]=\"color\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <ng-content />\n      </goa-text>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Provides consistent sizing, spacing, and colour to written content. */\nexport class GoabText implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** The HTML element to render. Use semantic elements like 'h1'-'h6' for headings. */\n  @Input() tag?: GoabTextTextElement | GoabTextHeadingElement;\n  /** Overrides the text size. */\n  @Input() size?: GoabTextSize;\n  /** Sets the max width. */\n  @Input() maxWidth?: GoabTextMaxWidth;\n  /** Sets the text colour. */\n  @Input() color?: GoabTextColor;\n  /** Sets the id attribute on the host element. */\n  @Input() id?: string;\n  /*\n    This is necessary because angular outputs two elements, <goab-text> and <goa-text>\n    This removes the id from <goa-text> and only outputs it to <goab-text>\n  */\n  @HostBinding(\"attr.id\") get hostId() {\n    return this.id;\n  }\n  /** Top margin. */\n  @Input() mt?: Spacing;\n  /** Bottom margin. */\n  @Input() mb?: Spacing;\n  /** Left margin. */\n  @Input() ml?: Spacing;\n  /** Right margin. */\n  @Input() mr?: Spacing;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  GoabTextAreaCountBy,\n  GoabTextAreaOnChangeDetail,\n  GoabTextAreaOnKeyPressDetail,\n  GoabTextAreaOnBlurDetail,\n  GoabTextAreaSize,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  booleanAttribute,\n  forwardRef,\n  numberAttribute,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { GoabControlValueAccessor } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-textarea\",\n\n  template: `\n    @if (isReady) {\n      <goa-textarea\n        #goaComponentRef\n        [attr.version]=\"version\"\n        [attr.name]=\"name\"\n        [attr.value]=\"value\"\n        [attr.placeholder]=\"placeholder\"\n        [attr.rows]=\"rows\"\n        [attr.error]=\"error\"\n        [disabled]=\"disabled\"\n        [attr.readonly]=\"readOnly\"\n        [attr.width]=\"width\"\n        [attr.maxwidth]=\"maxWidth\"\n        [attr.arialabel]=\"ariaLabel\"\n        [attr.countby]=\"countBy\"\n        [attr.maxcount]=\"maxCount\"\n        [attr.autocomplete]=\"autoComplete\"\n        [attr.size]=\"size\"\n        [attr.testid]=\"testId\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n        (_change)=\"_onChange($event)\"\n        (_keyPress)=\"_onKeyPress($event)\"\n        (_blur)=\"_onBlur($event)\"\n      >\n      </goa-textarea>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      multi: true,\n      useExisting: forwardRef(() => GoabTextArea),\n    },\n  ],\n})\n/** A multi-line field where users can input and edit text. */\nexport class GoabTextArea extends GoabControlValueAccessor implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Name of the input value that is received in the _change event. */\n  @Input() name?: string;\n  /** Text displayed within the input when no value is set. */\n  @Input() placeholder?: string;\n  /** Set the number of rows. @default 3 */\n  @Input({ transform: numberAttribute }) rows?: number;\n  /** Sets the input to a read only state. */\n  @Input({ transform: booleanAttribute }) readOnly?: boolean;\n  /** Width of the text area. */\n  @Input() width?: string;\n  /** Defines how the text will be translated for the screen reader. If not specified it will fall back to the name. */\n  @Input() ariaLabel?: string;\n  /** Counting interval for characters or words, specifying whether to count every character or word. @default \"\" */\n  @Input() countBy?: GoabTextAreaCountBy = \"\";\n  /** Maximum number of characters or words allowed. @default -1 */\n  @Input() maxCount?: number = -1;\n  /** Maximum width of the text area. */\n  @Input() maxWidth?: string;\n  /** Specifies the autocomplete attribute for the textarea input. @default \"on\" */\n  @Input() autoComplete?: string = \"on\";\n  /** Sets the size variant of the textarea. @default \"default\" */\n  @Input() size?: GoabTextAreaSize = \"default\";\n\n  /** Emits when the textarea value changes. Emits the name and new value. */\n  @Output() onChange = new EventEmitter<GoabTextAreaOnChangeDetail>();\n  /** Emits when a key is pressed in the textarea. Emits the name, value, and key. */\n  @Output() onKeyPress = new EventEmitter<GoabTextAreaOnKeyPressDetail>();\n  /** Emits when the textarea loses focus. Emits the name and current value. */\n  @Output() onBlur = new EventEmitter<GoabTextAreaOnBlurDetail>();\n\n  isReady = false;\n  version = \"2\";\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onChange(e: Event) {\n    const detail = { ...(e as CustomEvent<GoabTextAreaOnChangeDetail>).detail, event: e };\n    this.onChange.emit(detail);\n    this.fcChange?.(detail.value);\n  }\n\n  _onKeyPress(e: Event) {\n    const detail = {\n      ...(e as CustomEvent<GoabTextAreaOnKeyPressDetail>).detail,\n      event: e,\n    };\n    this.onKeyPress.emit(detail);\n  }\n\n  _onBlur(e: Event) {\n    const detail = { ...(e as CustomEvent<GoabTextAreaOnBlurDetail>).detail, event: e };\n    this.markAsTouched();\n    this.onBlur.emit(detail);\n  }\n}\n","import {\n  GoabTooltipHorizontalAlignment,\n  GoabTooltipPosition,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  TemplateRef,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\nimport { GoabBaseComponent } from \"../base.component\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-tooltip\",\n  template: `\n    @if (isReady) {\n      <goa-tooltip\n        [attr.position]=\"position\"\n        [attr.content]=\"getContentAsString()\"\n        [attr.halign]=\"hAlign\"\n        [attr.testid]=\"testId\"\n        [attr.maxwidth]=\"maxWidth\"\n        [attr.mt]=\"mt\"\n        [attr.mb]=\"mb\"\n        [attr.ml]=\"ml\"\n        [attr.mr]=\"mr\"\n      >\n        <div slot=\"content\">\n          @if (getContentAsTemplate()) {\n            <ng-container [ngTemplateOutlet]=\"getContentAsTemplate()\"></ng-container>\n          }\n          {{ getContentAsString() }}\n        </div>\n        <ng-content />\n      </goa-tooltip>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  imports: [NgTemplateOutlet],\n})\n/** A small popover that displays more information about an item. */\nexport class GoabTooltip extends GoabBaseComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  isReady = false;\n  /** Position with respect to the child element. @default \"top\" */\n  @Input() position?: GoabTooltipPosition;\n  /** The content of the tooltip. */\n  @Input() content?: string | TemplateRef<unknown>;\n  /** Horizontal alignment to the child element. @default \"center\" */\n  @Input() hAlign?: GoabTooltipHorizontalAlignment;\n  /** Sets the maximum width of the tooltip. Must use 'px' unit. */\n  @Input() maxWidth?: string;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    });\n  }\n\n  getContentAsString(): string {\n    return this.content instanceof TemplateRef ? \"\" : this.content || \"\";\n  }\n\n  getContentAsTemplate(): TemplateRef<unknown> | null {\n    if (!this.content) return null;\n    return this.content instanceof TemplateRef ? this.content : null;\n  }\n}\n","import {\n  booleanAttribute,\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  Output,\n  TemplateRef,\n  EventEmitter,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\n@Component({\n  standalone: true,\n  selector: \"goab-work-side-menu\", // eslint-disable-line\n  imports: [NgTemplateOutlet],\n  template: `\n    @if (isReady) {\n      <goa-work-side-menu\n        [open]=\"open ?? false\"\n        [attr.heading]=\"heading\"\n        [attr.url]=\"url\"\n        [attr.user-name]=\"userName\"\n        [attr.user-secondary-text]=\"userSecondaryText\"\n        [attr.testid]=\"testId\"\n        (_toggle)=\"_onToggle()\"\n        (_navigate)=\"_onNavigate($event)\"\n      >\n        @if (primaryContent) {\n          <div slot=\"primary\">\n            <ng-container [ngTemplateOutlet]=\"primaryContent\"></ng-container>\n          </div>\n        }\n        @if (secondaryContent) {\n          <div slot=\"secondary\">\n            <ng-container [ngTemplateOutlet]=\"secondaryContent\"></ng-container>\n          </div>\n        }\n        @if (accountContent) {\n          <div slot=\"account\">\n            <ng-container [ngTemplateOutlet]=\"accountContent\"></ng-container>\n          </div>\n        }\n      </goa-work-side-menu>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Side menu variant for worker applications. */\nexport class GoabWorkSideMenu implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** @required The application name displayed in the header. */\n  @Input({ required: true }) heading!: string;\n  /** @required URL for the header link. Clicking the logo/heading navigates to this URL. */\n  @Input({ required: true }) url!: string;\n  /** User's name displayed in the profile section. */\n  @Input() userName?: string;\n  /** Secondary text displayed below the user's name, such as role or email. */\n  @Input() userSecondaryText?: string;\n  /** Controls whether the side menu is expanded or collapsed. */\n  @Input({ transform: booleanAttribute }) open?: boolean;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** Template reference for the primary navigation slot content. */\n  @Input() primaryContent!: TemplateRef<unknown>;\n  /** Template reference for the secondary navigation slot content. */\n  @Input() secondaryContent!: TemplateRef<unknown>;\n  /** Template reference for the account slot content. */\n  @Input() accountContent!: TemplateRef<unknown>;\n  /** Emits when the side menu is toggled open or closed. */\n  @Output() onToggle = new EventEmitter<void>();\n  /** Emits when a navigation link is clicked. Emits the URL as a string. */\n  @Output() onNavigate = new EventEmitter<string>();\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onToggle() {\n    this.onToggle.emit();\n  }\n\n  _onNavigate(e: Event) {\n    this.onNavigate.emit((e as CustomEvent).detail.url);\n  }\n}\n","import { GoabIconType } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  booleanAttribute,\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-work-side-menu-group\", // eslint-disable-line\n\n  template: `\n    @if (isReady) {\n      <goa-work-side-menu-group\n        [attr.heading]=\"heading\"\n        [attr.icon]=\"icon\"\n        [attr.open]=\"open ? '' : null\"\n        [attr.testid]=\"testId\"\n      >\n        <ng-content />\n      </goa-work-side-menu-group>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Collapsible group of items within the work side menu. */\nexport class GoabWorkSideMenuGroup implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** @required The text displayed in the group heading. */\n  @Input({ required: true }) heading!: string;\n  /** Icon displayed before the group label. When omitted, no icon is rendered and no space is reserved. */\n  @Input() icon?: GoabIconType;\n  /** Whether the group is open. */\n  @Input({ transform: booleanAttribute }) open?: boolean;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import { GoabWorkSideMenuItemType } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  TemplateRef,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-work-side-menu-item\", // eslint-disable-line\n  imports: [NgTemplateOutlet],\n  template: `\n    @if (isReady) {\n      <goa-work-side-menu-item\n        [attr.label]=\"label\"\n        [attr.url]=\"url\"\n        [attr.badge]=\"badge\"\n        [attr.current]=\"current\"\n        [attr.divider]=\"divider\"\n        [attr.icon]=\"icon\"\n        [attr.testid]=\"testId\"\n        [attr.type]=\"type\"\n      >\n        @if (popoverContent) {\n          <div slot=\"popoverContent\">\n            <ng-container [ngTemplateOutlet]=\"popoverContent\"></ng-container>\n          </div>\n        }\n        @if (trailingContent) {\n          <div slot=\"trailingContent\">\n            <ng-container [ngTemplateOutlet]=\"trailingContent\"></ng-container>\n          </div>\n        }\n        <ng-content />\n      </goa-work-side-menu-item>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Individual menu item within the work side menu. */\nexport class GoabWorkSideMenuItem implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** @required The text label displayed for the menu item. */\n  @Input({ required: true }) label!: string;\n  /** The URL the menu item links to. Optional — when absent, renders as a button instead of a link. */\n  @Input() url?: string;\n  /** @deprecated Use trailingContent instead. Badge text displayed alongside the menu item (e.g., notification count). */\n  @Input() badge?: string;\n  /** When true, indicates this is the currently active menu item. */\n  @Input() current?: boolean;\n  /** When true, displays a divider line above this menu item. */\n  @Input() divider?: boolean;\n  /** Icon displayed before the menu item label. */\n  @Input() icon?: string;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n  /** @deprecated Use trailingContent instead. Sets the visual style of the badge. Use \"emergency\" for urgent items, \"success\" for positive status. @default \"normal\" */\n  @Input() type?: GoabWorkSideMenuItemType = \"normal\";\n  /** Template reference for the popover content slot. */\n  @Input() popoverContent!: TemplateRef<any>;\n  /** Template reference for the trailing content slot. */\n  @Input() trailingContent!: TemplateRef<any>;\n\n  isReady = false;\n\n  ngOnInit(): void {\n    // For Angular 20, we need to delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n}\n","import {\n  GoabWorkSideNotificationItemType,\n  GoabWorkSideNotificationReadStatus,\n  GoabWorkSideNotificationPriority,\n} from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-work-side-notification-item\", // eslint-disable-line\n  template: `\n    @if (isReady) {\n      <goa-work-side-notification-item\n        [attr.type]=\"type\"\n        [attr.timestamp]=\"timestamp\"\n        [attr.title]=\"title\"\n        [attr.description]=\"description\"\n        [attr.read-status]=\"readStatus\"\n        [attr.priority]=\"priority\"\n        [attr.testid]=\"testId\"\n        (_click)=\"_onClick()\"\n      />\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Displays an individual notification item in the work-side notification panel. */\nexport class GoabWorkSideNotificationItem implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** Sets the visual style of the notification item. */\n  @Input() type?: GoabWorkSideNotificationItemType;\n  /** The timestamp for when the notification was created. */\n  @Input() timestamp?: string;\n  /** The title text of the notification item. */\n  @Input() title?: string;\n  /** @required The description text of the notification item. */\n  @Input({ required: true }) description!: string;\n  /** Indicates whether the notification is read or unread. */\n  @Input() readStatus?: GoabWorkSideNotificationReadStatus;\n  /** Sets the priority level of the notification. */\n  @Input() priority?: GoabWorkSideNotificationPriority;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  /** Emits when the notification item is clicked. */\n  @Output() onClick = new EventEmitter<void>();\n\n  isReady = false;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onClick() {\n    this.onClick.emit();\n  }\n}\n","import { GoabWorkSideNotificationActiveTabType } from \"@abgov/ui-components-common\";\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-work-side-notification-panel\", // eslint-disable-line\n  template: `\n    @if (isReady) {\n      <goa-work-side-notification-panel\n        [attr.heading]=\"heading\"\n        [attr.active-tab]=\"activeTab\"\n        [attr.testid]=\"testId\"\n        (_markAllRead)=\"_onMarkAllRead()\"\n        (_viewAll)=\"_onViewAll()\"\n      >\n        <ng-content />\n      </goa-work-side-notification-panel>\n    }\n  `,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\n/** Displays a panel of work-side notifications. */\nexport class GoabWorkSideNotificationPanel implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  /** The heading text displayed at the top of the notification panel. */\n  @Input() heading?: string;\n  /** Sets the initially active tab in the notification panel. */\n  @Input() activeTab?: GoabWorkSideNotificationActiveTabType;\n  /** Sets a data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  /** Emits when the user clicks \"Mark all as read\". */\n  @Output() onMarkAllRead = new EventEmitter<void>();\n  /** Emits when the user clicks \"View all\". */\n  @Output() onViewAll = new EventEmitter<void>();\n\n  isReady = false;\n\n  ngOnInit(): void {\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onMarkAllRead() {\n    this.onMarkAllRead.emit();\n  }\n\n  _onViewAll() {\n    this.onViewAll.emit();\n  }\n}\n","import { Injectable, signal } from \"@angular/core\";\nimport { GoabWorkspaceLayoutScrollState } from \"@abgov/ui-components-common\";\n\n/**\n * Tracks the current scroll state of the active GoabWorkspaceLayout.\n * The Consumers (typically page-header or page-footer components) inject this\n * service to react to scroll position without wiring an Output event handler.\n *\n * Note: If multiple GoabWorkspaceLayouts are\n * mounted simultaneously (uncommon), the most recent update wins.\n */\n@Injectable({ providedIn: \"root\" })\nexport class GoabWorkspaceLayoutScrollStateService {\n  private _scrollPosition = signal<GoabWorkspaceLayoutScrollState>(\n    GoabWorkspaceLayoutScrollState.NO_SCROLL,\n  );\n  private _isScrollable = signal(false);\n\n  /** Current scroll position. Reacts to user scroll progress. */\n  readonly scrollPosition = this._scrollPosition.asReadonly();\n\n  /** Whether the content actually overflows (false when content fits the viewport). */\n  readonly isScrollable = this._isScrollable.asReadonly();\n\n  /**\n   * @internal — called by GoabWorkspaceLayout.\n   */\n  _setState(state: GoabWorkspaceLayoutScrollState, isScrollable: boolean): void {\n    this._scrollPosition.set(state);\n    this._isScrollable.set(isScrollable);\n  }\n}\n","import {\n  CUSTOM_ELEMENTS_SCHEMA,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  OnInit,\n  ChangeDetectorRef,\n  inject,\n} from \"@angular/core\";\nimport { NgTemplateOutlet } from \"@angular/common\";\nimport { GoabWorkspaceLayoutOnScrollStateChangeDetail } from \"@abgov/ui-components-common\";\nimport { GoabWorkspaceLayoutScrollStateService } from \"./workspace-layout-scroll-state.service\";\n\n@Component({\n  standalone: true,\n  selector: \"goab-workspace-layout\",\n  imports: [NgTemplateOutlet],\n  template: `@if (isReady) {\n    <goa-workspace-layout\n      [attr.testid]=\"testId\"\n      (_scrollStateChange)=\"_onScrollStateChange($event)\"\n    >\n      @if (sideMenu) {\n        <div slot=\"side-menu\">\n          <ng-container [ngTemplateOutlet]=\"sideMenu\"></ng-container>\n        </div>\n      }\n      @if (pageHeader) {\n        <div slot=\"page-header\">\n          <ng-container [ngTemplateOutlet]=\"pageHeader\"></ng-container>\n        </div>\n      }\n      <ng-content />\n      @if (pageFooter) {\n        <div slot=\"page-footer\">\n          <ng-container [ngTemplateOutlet]=\"pageFooter\"></ng-container>\n        </div>\n      }\n      @if (pushDrawer) {\n        <div slot=\"push-drawer\">\n          <ng-container [ngTemplateOutlet]=\"pushDrawer\"></ng-container>\n        </div>\n      }\n    </goa-workspace-layout>\n  }`,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class GoabWorkspaceLayout implements OnInit {\n  /** Template ref for the side navigation region (e.g. work-side-menu). */\n  @Input() sideMenu?: TemplateRef<unknown>;\n  /** Template ref for the sticky page header region. */\n  @Input() pageHeader?: TemplateRef<unknown>;\n  /** Template ref for the sticky page footer region. */\n  @Input() pageFooter?: TemplateRef<unknown>;\n  /**\n   * Template ref for a GoabPushDrawer rendered as a sibling of the main card.\n   * Use when the page needs a push drawer alongside the workspace layout —\n   * the layout gives it the shell-level height and flex context. The side\n   * menu is not pushed; only the card is.\n   */\n  @Input() pushDrawer?: TemplateRef<unknown>;\n  /** Sets the data-testid attribute for automated testing. */\n  @Input() testId?: string;\n\n  /**\n   * Emitted whenever the internal scroll state changes (no-scroll → at-top →\n   * middle → at-bottom).\n   */\n  @Output() onScrollStateChange =\n    new EventEmitter<GoabWorkspaceLayoutOnScrollStateChangeDetail>();\n\n  isReady = false;\n\n  private cdr = inject(ChangeDetectorRef);\n  private scrollStateService = inject(GoabWorkspaceLayoutScrollStateService);\n\n  ngOnInit(): void {\n    // For Angular, delay rendering the web component\n    // to ensure all attributes are properly bound before the component initializes\n    setTimeout(() => {\n      this.isReady = true;\n      this.cdr.detectChanges();\n    }, 0);\n  }\n\n  _onScrollStateChange(e: Event) {\n    const detail = (e as CustomEvent<GoabWorkspaceLayoutOnScrollStateChangeDetail>)\n      .detail;\n    this.scrollStateService._setState(detail.state, detail.isScrollable);\n    this.onScrollStateChange.emit({ ...detail, event: e });\n  }\n}\n","import { Injectable, effect, signal, type Signal } from \"@angular/core\";\nimport type { GoabThemeMode } from \"@abgov/ui-components-common\";\n\nconst STORAGE_KEY = \"goab-theme\";\nconst ATTRIBUTE = \"data-theme\";\n\n@Injectable({ providedIn: \"root\" })\nexport class GoabThemeService {\n  private readonly _mode = signal<GoabThemeMode>(this.readInitialMode());\n\n  /** Read-only signal for consumers. Use in templates: theme.mode() === 'dark'. */\n  readonly mode: Signal<GoabThemeMode> = this._mode.asReadonly();\n\n  constructor() {\n    effect(() => {\n      const current = this._mode();\n      if (typeof document === \"undefined\") return;\n      document.documentElement.setAttribute(ATTRIBUTE, current);\n      try {\n        window.localStorage.setItem(STORAGE_KEY, current);\n      } catch {\n        // localStorage blocked: fail silently.\n      }\n    });\n  }\n\n  setMode(next: GoabThemeMode): void {\n    this._mode.set(next);\n  }\n\n  toggle(): void {\n    this._mode.update((prev) => (prev === \"light\" ? \"dark\" : \"light\"));\n  }\n\n  private readInitialMode(): GoabThemeMode {\n    if (typeof window === \"undefined\") return \"light\";\n\n    try {\n      const stored = window.localStorage.getItem(STORAGE_KEY);\n      if (stored === \"light\" || stored === \"dark\") return stored;\n    } catch {\n      // fall through\n    }\n\n    const fromAttribute = document.documentElement.getAttribute(ATTRIBUTE);\n    if (fromAttribute === \"light\" || fromAttribute === \"dark\") return fromAttribute;\n\n    if (window.matchMedia(\"(prefers-color-scheme: dark)\").matches) return \"dark\";\n\n    return \"light\";\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}