@abgov/angular-components 4.3.0-alpha.2 → 4.3.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/esm2022/lib/components/accordion/accordion.mjs +8 -16
  2. package/esm2022/lib/components/badge/badge.mjs +6 -15
  3. package/esm2022/lib/components/base.component.mjs +118 -0
  4. package/esm2022/lib/components/block/block.mjs +6 -15
  5. package/esm2022/lib/components/button/button.mjs +8 -16
  6. package/esm2022/lib/components/button-group/button-group.mjs +6 -15
  7. package/esm2022/lib/components/callout/callout.mjs +7 -15
  8. package/esm2022/lib/components/card/card.mjs +6 -15
  9. package/esm2022/lib/components/checkbox/checkbox.mjs +52 -87
  10. package/esm2022/lib/components/chip/chip.mjs +7 -15
  11. package/esm2022/lib/components/container/container.mjs +6 -14
  12. package/esm2022/lib/components/date-picker/date-picker.mjs +6 -32
  13. package/esm2022/lib/components/details/details.mjs +6 -15
  14. package/esm2022/lib/components/divider/divider.mjs +8 -17
  15. package/esm2022/lib/components/dropdown/dropdown.mjs +10 -45
  16. package/esm2022/lib/components/file-upload-input/file-upload-input.mjs +7 -15
  17. package/esm2022/lib/components/filter-chip/filter-chip.mjs +7 -15
  18. package/esm2022/lib/components/form-item/form-item.mjs +6 -15
  19. package/esm2022/lib/components/form-stepper/form-stepper.mjs +8 -16
  20. package/esm2022/lib/components/grid/grid.mjs +5 -14
  21. package/esm2022/lib/components/icon/icon.mjs +7 -15
  22. package/esm2022/lib/components/icon-button/icon-button.mjs +8 -16
  23. package/esm2022/lib/components/input/input.mjs +7 -43
  24. package/esm2022/lib/components/modal/modal.mjs +14 -10
  25. package/esm2022/lib/components/pages/pages.mjs +5 -12
  26. package/esm2022/lib/components/pagination/pagination.mjs +9 -17
  27. package/esm2022/lib/components/popover/popover.mjs +6 -14
  28. package/esm2022/lib/components/radio-group/radio-group.mjs +8 -41
  29. package/esm2022/lib/components/radio-item/radio-item.mjs +8 -13
  30. package/esm2022/lib/components/side-menu-group/side-menu-group.mjs +5 -14
  31. package/esm2022/lib/components/skeleton/skeleton.mjs +7 -15
  32. package/esm2022/lib/components/table/table.mjs +8 -16
  33. package/esm2022/lib/components/textarea/textarea.mjs +11 -47
  34. package/esm2022/lib/components/tooltip/tooltip.mjs +6 -15
  35. package/fesm2022/abgov-angular-components.mjs +321 -648
  36. package/fesm2022/abgov-angular-components.mjs.map +1 -1
  37. package/lib/components/accordion/accordion.d.ts +4 -8
  38. package/lib/components/badge/badge.d.ts +4 -8
  39. package/lib/components/base.component.d.ts +58 -0
  40. package/lib/components/block/block.d.ts +3 -7
  41. package/lib/components/button/button.d.ts +4 -8
  42. package/lib/components/button-group/button-group.d.ts +4 -8
  43. package/lib/components/callout/callout.d.ts +4 -8
  44. package/lib/components/card/card.d.ts +3 -8
  45. package/lib/components/checkbox/checkbox.d.ts +4 -20
  46. package/lib/components/chip/chip.d.ts +4 -8
  47. package/lib/components/container/container.d.ts +4 -8
  48. package/lib/components/date-picker/date-picker.d.ts +4 -17
  49. package/lib/components/details/details.d.ts +3 -8
  50. package/lib/components/divider/divider.d.ts +3 -8
  51. package/lib/components/dropdown/dropdown.d.ts +4 -21
  52. package/lib/components/file-upload-input/file-upload-input.d.ts +4 -8
  53. package/lib/components/filter-chip/filter-chip.d.ts +4 -8
  54. package/lib/components/form-item/form-item.d.ts +4 -8
  55. package/lib/components/form-stepper/form-stepper.d.ts +4 -8
  56. package/lib/components/grid/grid.d.ts +3 -7
  57. package/lib/components/icon/icon.d.ts +4 -8
  58. package/lib/components/icon-button/icon-button.d.ts +4 -8
  59. package/lib/components/input/input.d.ts +4 -21
  60. package/lib/components/pages/pages.d.ts +3 -7
  61. package/lib/components/pagination/pagination.d.ts +4 -8
  62. package/lib/components/popover/popover.d.ts +4 -8
  63. package/lib/components/radio-group/radio-group.d.ts +4 -20
  64. package/lib/components/radio-item/radio-item.d.ts +3 -7
  65. package/lib/components/side-menu-group/side-menu-group.d.ts +4 -8
  66. package/lib/components/skeleton/skeleton.d.ts +4 -8
  67. package/lib/components/table/table.d.ts +4 -8
  68. package/lib/components/textarea/textarea.d.ts +4 -21
  69. package/lib/components/tooltip/tooltip.d.ts +4 -8
  70. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { forwardRef, Directive, HostListener, NgModule, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, Component, Input, Output, TemplateRef } from '@angular/core';
2
+ import { forwardRef, Directive, HostListener, NgModule, CUSTOM_ELEMENTS_SCHEMA, Component, Input, booleanAttribute, EventEmitter, Output, TemplateRef } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR, CheckboxControlValueAccessor } from '@angular/forms';
4
- import { NgTemplateOutlet } from '@angular/common';
4
+ import { NgTemplateOutlet, NgIf } from '@angular/common';
5
5
  export * from '@abgov/ui-components-common';
6
6
 
7
7
  // @deprecated: Use the new <goab-input .. /> component
@@ -205,16 +205,133 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
205
205
  }]
206
206
  }] });
207
207
 
208
- class GoabAccordion {
208
+ class GoabBaseComponent {
209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabBaseComponent, isStandalone: true, selector: "ng-component", inputs: { mt: "mt", mb: "mb", ml: "ml", mr: "mr", testId: "testId" }, ngImport: i0, template: ``, isInline: true }); }
211
+ }
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabBaseComponent, decorators: [{
213
+ type: Component,
214
+ args: [{
215
+ standalone: true,
216
+ template: ``, //** IMPLEMENT IN SUBCLASS
217
+ }]
218
+ }], propDecorators: { mt: [{
219
+ type: Input
220
+ }], mb: [{
221
+ type: Input
222
+ }], ml: [{
223
+ type: Input
224
+ }], mr: [{
225
+ type: Input
226
+ }], testId: [{
227
+ type: Input
228
+ }] } });
229
+ /**
230
+ * An abstract base class that extends `GoabBaseComponent` and implements the `ControlValueAccessor` interface.
231
+ * This class provides a foundation for creating custom form controls in Angular, enabling them to integrate
232
+ * seamlessly with Angular forms. It includes support for handling value changes, touch events, and disabled states.
233
+ *
234
+ * ## Features
235
+ * - Supports `disabled="true"` and `error="true` attribute bindings for convenience.
236
+ * - Handles form control value changes and touch events via `ControlValueAccessor` methods.
237
+ * - Allows for flexible value types (`unknown`), making it suitable for various data types like integers, dates, or booleans.
238
+ *
239
+ * ## Usage
240
+ * Extend this class to create custom form controls. Implement additional functionality as needed for your specific use case.
241
+ *
242
+ * ## Properties
243
+ * - `id?`: An optional identifier for the component.
244
+ * - `disabled?`: A boolean indicating whether the component is disabled.
245
+ * - `error?`: A boolean indicating whether the component is in an error state.
246
+ * - `value?`: The current value of the component, which can be of any type.
247
+ *
248
+ * ## Methods
249
+ * - `markAsTouched()`: Marks the component as touched and triggers the `fcTouched` callback if defined.
250
+ * - `writeValue(value: unknown)`: Writes a new value to the form control.
251
+ * - `registerOnChange(fn: any)`: Registers a function to handle changes in the form control value.
252
+ * - `registerOnTouched(fn: any)`: Registers a function to handle touch events on the form control.
253
+ * - `setDisabledState?(isDisabled: boolean)`: Sets the disabled state of the component.
254
+ *
255
+ * ## Callbacks
256
+ * - `fcChange?`: A function to handle changes in the form control value.
257
+ * - `fcTouched?`: A function to handle touch events on the form control.
258
+ */
259
+ class GoabControlValueAccessor extends GoabBaseComponent {
260
+ constructor() {
261
+ super(...arguments);
262
+ this.touched = false;
263
+ }
264
+ /**
265
+ * Marks the component as touched. If the component is not already marked as touched,
266
+ * it triggers the `fcTouched` callback (if defined) and sets the `touched` property to `true`.
267
+ */
268
+ markAsTouched() {
269
+ if (!this.touched) {
270
+ this.fcTouched?.();
271
+ this.touched = true;
272
+ }
273
+ }
274
+ /**
275
+ * Writes a new value to the form control.
276
+ * @param {unknown} value - The value to write.
277
+ */
278
+ writeValue(value) {
279
+ this.value = value;
280
+ }
281
+ /**
282
+ * Registers a function to call when the form control value changes.
283
+ * @param {function} fn - The function to call.
284
+ */
285
+ registerOnChange(fn) {
286
+ this.fcChange = fn;
287
+ }
288
+ /**
289
+ * Registers a function to call when the form control is touched.
290
+ * @param {function} fn - The function to call.
291
+ */
292
+ registerOnTouched(fn) {
293
+ this.fcTouched = fn;
294
+ }
295
+ /**
296
+ * Sets the disabled state of the component.
297
+ *
298
+ * @param isDisabled - A boolean indicating whether the component should be disabled.
299
+ */
300
+ setDisabledState(isDisabled) {
301
+ this.disabled = isDisabled;
302
+ }
303
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
304
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.3", type: GoabControlValueAccessor, isStandalone: true, selector: "ng-component", inputs: { id: "id", disabled: ["disabled", "disabled", booleanAttribute], error: ["error", "error", booleanAttribute], value: "value" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
305
+ }
306
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabControlValueAccessor, decorators: [{
307
+ type: Component,
308
+ args: [{
309
+ standalone: true,
310
+ template: ``, //** IMPLEMENT IN SUBCLASS
311
+ }]
312
+ }], propDecorators: { id: [{
313
+ type: Input
314
+ }], disabled: [{
315
+ type: Input,
316
+ args: [{ transform: booleanAttribute }]
317
+ }], error: [{
318
+ type: Input,
319
+ args: [{ transform: booleanAttribute }]
320
+ }], value: [{
321
+ type: Input
322
+ }] } });
323
+
324
+ class GoabAccordion extends GoabBaseComponent {
209
325
  constructor() {
326
+ super(...arguments);
210
327
  this.onChange = new EventEmitter();
211
328
  }
212
329
  _onChange(e) {
213
330
  const detail = e.detail;
214
331
  this.onChange.emit(detail.open);
215
332
  }
216
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabAccordion, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
217
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabAccordion, isStandalone: true, selector: "goab-accordion", inputs: { heading: "heading", secondaryText: "secondaryText", testId: "testId", open: "open", headingSize: "headingSize", headingContent: "headingContent", maxWidth: "maxWidth", iconPosition: "iconPosition", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onChange: "onChange" }, ngImport: i0, template: `
333
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabAccordion, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
334
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabAccordion, isStandalone: true, selector: "goab-accordion", inputs: { heading: "heading", secondaryText: "secondaryText", open: "open", headingSize: "headingSize", headingContent: "headingContent", maxWidth: "maxWidth", iconPosition: "iconPosition" }, outputs: { onChange: "onChange" }, usesInheritance: true, ngImport: i0, template: `
218
335
  <goa-accordion
219
336
  [attr.heading]="heading"
220
337
  [attr.secondarytext]="secondaryText"
@@ -263,14 +380,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
263
380
  <ng-content></ng-content>
264
381
  </goa-accordion>
265
382
  `,
266
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
383
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
267
384
  }]
268
385
  }], propDecorators: { heading: [{
269
386
  type: Input
270
387
  }], secondaryText: [{
271
388
  type: Input
272
- }], testId: [{
273
- type: Input
274
389
  }], open: [{
275
390
  type: Input
276
391
  }], headingSize: [{
@@ -281,21 +396,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
281
396
  type: Input
282
397
  }], iconPosition: [{
283
398
  type: Input
284
- }], mt: [{
285
- type: Input
286
- }], mb: [{
287
- type: Input
288
- }], ml: [{
289
- type: Input
290
- }], mr: [{
291
- type: Input
292
399
  }], onChange: [{
293
400
  type: Output
294
401
  }] } });
295
402
 
296
- class GoabBadge {
297
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabBadge, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
298
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabBadge, isStandalone: true, selector: "goab-badge", inputs: { type: "type", content: "content", testId: "testId", icon: "icon", ariaLabel: "ariaLabel", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
403
+ class GoabBadge extends GoabBaseComponent {
404
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabBadge, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
405
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabBadge, isStandalone: true, selector: "goab-badge", inputs: { type: "type", content: "content", icon: "icon", ariaLabel: "ariaLabel" }, usesInheritance: true, ngImport: i0, template: `
299
406
  <goa-badge
300
407
  [attr.type]="type"
301
408
  [attr.icon]="icon"
@@ -330,25 +437,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
330
437
  type: Input
331
438
  }], content: [{
332
439
  type: Input
333
- }], testId: [{
334
- type: Input
335
440
  }], icon: [{
336
441
  type: Input
337
442
  }], ariaLabel: [{
338
443
  type: Input
339
- }], mt: [{
340
- type: Input
341
- }], mb: [{
342
- type: Input
343
- }], ml: [{
344
- type: Input
345
- }], mr: [{
346
- type: Input
347
444
  }] } });
348
445
 
349
- class GoabBlock {
350
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabBlock, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
351
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabBlock, isStandalone: true, selector: "goab-block", inputs: { gap: "gap", direction: "direction", alignment: "alignment", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
446
+ class GoabBlock extends GoabBaseComponent {
447
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabBlock, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
448
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabBlock, isStandalone: true, selector: "goab-block", inputs: { gap: "gap", direction: "direction", alignment: "alignment" }, usesInheritance: true, ngImport: i0, template: `
352
449
  <goa-block
353
450
  [attr.gap]="gap"
354
451
  [attr.direction]="direction"
@@ -382,7 +479,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
382
479
  <ng-content />
383
480
  </goa-block>
384
481
  `,
385
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
482
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
386
483
  }]
387
484
  }], propDecorators: { gap: [{
388
485
  type: Input
@@ -390,28 +487,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
390
487
  type: Input
391
488
  }], alignment: [{
392
489
  type: Input
393
- }], testId: [{
394
- type: Input
395
- }], mt: [{
396
- type: Input
397
- }], mb: [{
398
- type: Input
399
- }], ml: [{
400
- type: Input
401
- }], mr: [{
402
- type: Input
403
490
  }] } });
404
491
 
405
- class GoabButton {
492
+ class GoabButton extends GoabBaseComponent {
406
493
  constructor() {
494
+ super(...arguments);
407
495
  this.type = "primary";
408
496
  this.onClick = new EventEmitter();
409
497
  }
410
498
  _onClick() {
411
499
  this.onClick.emit();
412
500
  }
413
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
414
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabButton, isStandalone: true, selector: "goab-button", inputs: { type: "type", size: "size", variant: "variant", disabled: "disabled", leadingIcon: "leadingIcon", trailingIcon: "trailingIcon", width: "width", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
501
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabButton, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
502
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabButton, isStandalone: true, selector: "goab-button", inputs: { type: "type", size: "size", variant: "variant", disabled: "disabled", leadingIcon: "leadingIcon", trailingIcon: "trailingIcon", width: "width" }, outputs: { onClick: "onClick" }, usesInheritance: true, ngImport: i0, template: `
415
503
  <goa-button
416
504
  [attr.type]="type"
417
505
  [attr.size]="size"
@@ -455,7 +543,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
455
543
  <ng-content />
456
544
  </goa-button>
457
545
  `,
458
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
546
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
459
547
  }]
460
548
  }], propDecorators: { type: [{
461
549
  type: Input
@@ -471,23 +559,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
471
559
  type: Input
472
560
  }], width: [{
473
561
  type: Input
474
- }], testId: [{
475
- type: Input
476
- }], mt: [{
477
- type: Input
478
- }], mb: [{
479
- type: Input
480
- }], ml: [{
481
- type: Input
482
- }], mr: [{
483
- type: Input
484
562
  }], onClick: [{
485
563
  type: Output
486
564
  }] } });
487
565
 
488
- class GoabButtonGroup {
489
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabButtonGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
490
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabButtonGroup, isStandalone: true, selector: "goab-button-group", inputs: { alignment: "alignment", gap: "gap", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
566
+ class GoabButtonGroup extends GoabBaseComponent {
567
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabButtonGroup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
568
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabButtonGroup, isStandalone: true, selector: "goab-button-group", inputs: { alignment: "alignment", gap: "gap" }, usesInheritance: true, ngImport: i0, template: `
491
569
  <goa-button-group
492
570
  [attr.alignment]="alignment"
493
571
  [attr.gap]="gap"
@@ -519,34 +597,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
519
597
  <ng-content />
520
598
  </goa-button-group>
521
599
  `,
522
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
600
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
523
601
  }]
524
602
  }], propDecorators: { alignment: [{
525
603
  type: Input
526
604
  }], gap: [{
527
605
  type: Input
528
- }], testId: [{
529
- type: Input
530
- }], mt: [{
531
- type: Input
532
- }], mb: [{
533
- type: Input
534
- }], ml: [{
535
- type: Input
536
- }], mr: [{
537
- type: Input
538
606
  }] } });
539
607
 
540
- class GoabCallout {
608
+ class GoabCallout extends GoabBaseComponent {
541
609
  constructor() {
610
+ super(...arguments);
542
611
  this.type = "information";
543
612
  this.heading = "";
544
613
  this.size = "large";
545
614
  this.ariaLive = "off";
546
615
  this.iconTheme = "outline";
547
616
  }
548
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabCallout, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
549
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabCallout, isStandalone: true, selector: "goab-callout", inputs: { type: "type", heading: "heading", size: "size", maxWidth: "maxWidth", ariaLive: "ariaLive", iconTheme: "iconTheme", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
617
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabCallout, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
618
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabCallout, isStandalone: true, selector: "goab-callout", inputs: { type: "type", heading: "heading", size: "size", maxWidth: "maxWidth", ariaLive: "ariaLive", iconTheme: "iconTheme" }, usesInheritance: true, ngImport: i0, template: `
550
619
  <goa-callout
551
620
  [attr.type]="type"
552
621
  [attr.heading]="heading"
@@ -586,7 +655,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
586
655
  <ng-content />
587
656
  </goa-callout>
588
657
  `,
589
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
658
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
590
659
  }]
591
660
  }], propDecorators: { type: [{
592
661
  type: Input
@@ -600,21 +669,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
600
669
  type: Input
601
670
  }], iconTheme: [{
602
671
  type: Input
603
- }], testId: [{
604
- type: Input
605
- }], mt: [{
606
- type: Input
607
- }], mb: [{
608
- type: Input
609
- }], ml: [{
610
- type: Input
611
- }], mr: [{
612
- type: Input
613
672
  }] } });
614
673
 
615
- class GoabCard {
616
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
617
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabCard, isStandalone: true, selector: "goab-card", inputs: { elevation: "elevation", width: "width", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
674
+ class GoabCard extends GoabBaseComponent {
675
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabCard, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
676
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabCard, isStandalone: true, selector: "goab-card", inputs: { elevation: "elevation", width: "width" }, usesInheritance: true, ngImport: i0, template: `
618
677
  <goa-card
619
678
  [attr.elevation]="elevation"
620
679
  [attr.width]="width"
@@ -646,22 +705,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
646
705
  <ng-content />
647
706
  </goa-card>
648
707
  `,
649
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
708
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
650
709
  }]
651
710
  }], propDecorators: { elevation: [{
652
711
  type: Input
653
712
  }], width: [{
654
713
  type: Input
655
- }], testId: [{
656
- type: Input
657
- }], mt: [{
658
- type: Input
659
- }], mb: [{
660
- type: Input
661
- }], ml: [{
662
- type: Input
663
- }], mr: [{
664
- type: Input
665
714
  }] } });
666
715
 
667
716
  class GoabCardContent {
@@ -742,10 +791,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
742
791
  args: [{ required: true }]
743
792
  }] } });
744
793
 
745
- class GoabCheckbox {
794
+ class GoabCheckbox extends GoabControlValueAccessor {
746
795
  constructor() {
796
+ super(...arguments);
747
797
  this.onChange = new EventEmitter();
748
- this.touched = false;
749
798
  }
750
799
  getDescriptionAsString() {
751
800
  return typeof this.description === "string" ? this.description : "";
@@ -762,85 +811,65 @@ class GoabCheckbox {
762
811
  this.markAsTouched();
763
812
  this.fcChange?.(detail.binding === "check" ? detail.checked : detail.value || "");
764
813
  }
765
- markAsTouched() {
766
- if (!this.touched) {
767
- this.fcTouched?.();
768
- this.touched = true;
769
- }
770
- }
771
- writeValue(value) {
772
- this.value = value;
773
- }
774
- registerOnChange(fn) {
775
- this.fcChange = fn;
776
- }
777
- registerOnTouched(fn) {
778
- this.fcTouched = fn;
779
- }
780
- setDisabledState(isDisabled) {
781
- this.disabled = isDisabled;
782
- }
783
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
784
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabCheckbox, isStandalone: true, selector: "goab-checkbox", inputs: { name: "name", checked: "checked", disabled: "disabled", error: "error", text: "text", value: "value", testId: "testId", ariaLabel: "ariaLabel", description: "description", id: "id", maxWidth: "maxWidth", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onChange: "onChange" }, providers: [
814
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
815
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabCheckbox, isStandalone: true, selector: "goab-checkbox", inputs: { name: "name", checked: "checked", text: "text", value: "value", ariaLabel: "ariaLabel", description: "description", maxWidth: "maxWidth" }, outputs: { onChange: "onChange" }, providers: [
785
816
  {
786
817
  provide: NG_VALUE_ACCESSOR,
787
818
  multi: true,
788
819
  useExisting: forwardRef(() => GoabCheckbox),
789
820
  },
790
- ], ngImport: i0, template: `
791
- <goa-checkbox
792
- [attr.name]="name"
793
- [checked]="checked"
794
- [disabled]="disabled"
795
- [attr.error]="error"
796
- [attr.text]="text"
797
- [value]="value"
798
- [attr.testid]="testId"
799
- [attr.arialabel]="ariaLabel"
800
- [attr.description]="getDescriptionAsString()"
801
- [id]="id"
802
- [attr.maxwidth]="maxWidth"
803
- [attr.mt]="mt"
804
- [attr.mb]="mb"
805
- [attr.ml]="ml"
806
- [attr.mr]="mr"
807
- (_change)="_onChange($event)"
808
- >
809
- <ng-content />
810
- <div slot="description">
811
- <ng-container [ngTemplateOutlet]="getDescriptionAsTemplate()"></ng-container>
812
- </div>
813
- </goa-checkbox>`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
821
+ ], usesInheritance: true, ngImport: i0, template: ` <goa-checkbox
822
+ [attr.name]="name"
823
+ [checked]="checked"
824
+ [disabled]="disabled"
825
+ [attr.error]="error"
826
+ [attr.text]="text"
827
+ [value]="value"
828
+ [attr.testid]="testId"
829
+ [attr.arialabel]="ariaLabel"
830
+ [attr.description]="getDescriptionAsString()"
831
+ [id]="id"
832
+ [attr.maxwidth]="maxWidth"
833
+ [attr.mt]="mt"
834
+ [attr.mb]="mb"
835
+ [attr.ml]="ml"
836
+ [attr.mr]="mr"
837
+ (_change)="_onChange($event)"
838
+ >
839
+ <ng-content />
840
+ <div slot="description">
841
+ <ng-container [ngTemplateOutlet]="getDescriptionAsTemplate()"></ng-container>
842
+ </div>
843
+ </goa-checkbox>`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
814
844
  }
815
845
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabCheckbox, decorators: [{
816
846
  type: Component,
817
847
  args: [{
818
848
  standalone: true,
819
849
  selector: "goab-checkbox",
820
- template: `
821
- <goa-checkbox
822
- [attr.name]="name"
823
- [checked]="checked"
824
- [disabled]="disabled"
825
- [attr.error]="error"
826
- [attr.text]="text"
827
- [value]="value"
828
- [attr.testid]="testId"
829
- [attr.arialabel]="ariaLabel"
830
- [attr.description]="getDescriptionAsString()"
831
- [id]="id"
832
- [attr.maxwidth]="maxWidth"
833
- [attr.mt]="mt"
834
- [attr.mb]="mb"
835
- [attr.ml]="ml"
836
- [attr.mr]="mr"
837
- (_change)="_onChange($event)"
838
- >
839
- <ng-content />
840
- <div slot="description">
841
- <ng-container [ngTemplateOutlet]="getDescriptionAsTemplate()"></ng-container>
842
- </div>
843
- </goa-checkbox>`,
850
+ template: ` <goa-checkbox
851
+ [attr.name]="name"
852
+ [checked]="checked"
853
+ [disabled]="disabled"
854
+ [attr.error]="error"
855
+ [attr.text]="text"
856
+ [value]="value"
857
+ [attr.testid]="testId"
858
+ [attr.arialabel]="ariaLabel"
859
+ [attr.description]="getDescriptionAsString()"
860
+ [id]="id"
861
+ [attr.maxwidth]="maxWidth"
862
+ [attr.mt]="mt"
863
+ [attr.mb]="mb"
864
+ [attr.ml]="ml"
865
+ [attr.mr]="mr"
866
+ (_change)="_onChange($event)"
867
+ >
868
+ <ng-content />
869
+ <div slot="description">
870
+ <ng-container [ngTemplateOutlet]="getDescriptionAsTemplate()"></ng-container>
871
+ </div>
872
+ </goa-checkbox>`,
844
873
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
845
874
  providers: [
846
875
  {
@@ -855,46 +884,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
855
884
  type: Input
856
885
  }], checked: [{
857
886
  type: Input
858
- }], disabled: [{
859
- type: Input
860
- }], error: [{
861
- type: Input
862
887
  }], text: [{
863
888
  type: Input
864
889
  }], value: [{
865
890
  type: Input
866
- }], testId: [{
867
- type: Input
868
891
  }], ariaLabel: [{
869
892
  type: Input
870
893
  }], description: [{
871
894
  type: Input
872
- }], id: [{
873
- type: Input
874
895
  }], maxWidth: [{
875
896
  type: Input
876
- }], mt: [{
877
- type: Input
878
- }], mb: [{
879
- type: Input
880
- }], ml: [{
881
- type: Input
882
- }], mr: [{
883
- type: Input
884
897
  }], onChange: [{
885
898
  type: Output
886
899
  }] } });
887
900
 
888
- class GoabChip {
901
+ class GoabChip extends GoabBaseComponent {
889
902
  constructor() {
903
+ super(...arguments);
890
904
  this.content = "";
891
905
  this.onClick = new EventEmitter();
892
906
  }
893
907
  _onClick() {
894
908
  this.onClick.emit();
895
909
  }
896
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabChip, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
897
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabChip, isStandalone: true, selector: "goab-chip", inputs: { leadingIcon: "leadingIcon", error: "error", deletable: "deletable", content: "content", testId: "testId", variant: "variant", iconTheme: "iconTheme", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `<goa-chip
910
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabChip, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
911
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabChip, isStandalone: true, selector: "goab-chip", inputs: { leadingIcon: "leadingIcon", error: "error", deletable: "deletable", content: "content", variant: "variant", iconTheme: "iconTheme" }, outputs: { onClick: "onClick" }, usesInheritance: true, ngImport: i0, template: `<goa-chip
898
912
  [attr.leadingicon]="leadingIcon"
899
913
  [attr.variant]="variant"
900
914
  [attr.error]="error"
@@ -942,20 +956,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
942
956
  type: Input
943
957
  }], content: [{
944
958
  type: Input
945
- }], testId: [{
946
- type: Input
947
959
  }], variant: [{
948
960
  type: Input
949
961
  }], iconTheme: [{
950
962
  type: Input
951
- }], mt: [{
952
- type: Input
953
- }], mb: [{
954
- type: Input
955
- }], ml: [{
956
- type: Input
957
- }], mr: [{
958
- type: Input
959
963
  }], onClick: [{
960
964
  type: Output
961
965
  }] } });
@@ -1028,15 +1032,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1028
1032
  }]
1029
1033
  }] });
1030
1034
 
1031
- class GoabContainer {
1035
+ class GoabContainer extends GoabBaseComponent {
1032
1036
  constructor() {
1037
+ super(...arguments);
1033
1038
  this.type = "interactive";
1034
1039
  this.accent = "filled";
1035
1040
  this.padding = "relaxed";
1036
1041
  this.width = "full";
1037
1042
  }
1038
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1039
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabContainer, isStandalone: true, selector: "goab-container", inputs: { type: "type", accent: "accent", padding: "padding", width: "width", maxWidth: "maxWidth", testId: "testId", title: "title", actions: "actions", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `<goa-container
1043
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1044
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabContainer, isStandalone: true, selector: "goab-container", inputs: { type: "type", accent: "accent", padding: "padding", width: "width", maxWidth: "maxWidth", title: "title", actions: "actions" }, usesInheritance: true, ngImport: i0, template: `<goa-container
1040
1045
  [attr.type]="type"
1041
1046
  [attr.accent]="accent"
1042
1047
  [attr.padding]="padding"
@@ -1095,23 +1100,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1095
1100
  type: Input
1096
1101
  }], maxWidth: [{
1097
1102
  type: Input
1098
- }], testId: [{
1099
- type: Input
1100
1103
  }], title: [{
1101
1104
  type: Input
1102
1105
  }], actions: [{
1103
1106
  type: Input
1104
- }], mt: [{
1105
- type: Input
1106
- }], mb: [{
1107
- type: Input
1108
- }], ml: [{
1109
- type: Input
1110
- }], mr: [{
1111
- type: Input
1112
1107
  }] } });
1113
1108
 
1114
- class GoabDatePicker {
1109
+ class GoabDatePicker extends GoabControlValueAccessor {
1115
1110
  formatValue(val) {
1116
1111
  if (!val)
1117
1112
  return "";
@@ -1126,11 +1121,10 @@ class GoabDatePicker {
1126
1121
  this.markAsTouched();
1127
1122
  this.fcChange?.(detail.value);
1128
1123
  }
1129
- // ControlValueAccessor
1130
1124
  constructor(elementRef) {
1125
+ super();
1131
1126
  this.elementRef = elementRef;
1132
1127
  this.onChange = new EventEmitter();
1133
- this.touched = false;
1134
1128
  }
1135
1129
  setDisabledState(isDisabled) {
1136
1130
  this.disabled = isDisabled;
@@ -1139,12 +1133,6 @@ class GoabDatePicker {
1139
1133
  listenDisabledChange(isDisabled) {
1140
1134
  this.setDisabledState(isDisabled);
1141
1135
  }
1142
- markAsTouched() {
1143
- if (!this.touched) {
1144
- this.fcTouched?.();
1145
- this.touched = true;
1146
- }
1147
- }
1148
1136
  writeValue(value) {
1149
1137
  this.value = value;
1150
1138
  const datePickerEl = this.elementRef?.nativeElement?.querySelector("goa-date-picker");
@@ -1157,20 +1145,14 @@ class GoabDatePicker {
1157
1145
  }
1158
1146
  }
1159
1147
  }
1160
- registerOnChange(fn) {
1161
- this.fcChange = fn;
1162
- }
1163
- registerOnTouched(fn) {
1164
- this.fcTouched = fn;
1165
- }
1166
1148
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabDatePicker, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
1167
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabDatePicker, isStandalone: true, selector: "goab-date-picker", inputs: { name: "name", value: "value", min: "min", max: "max", error: "error", disabled: "disabled", relative: "relative", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onChange: "onChange" }, host: { listeners: { "disabledChange": "listenDisabledChange($event.detail.disabled)" } }, providers: [
1149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabDatePicker, isStandalone: true, selector: "goab-date-picker", inputs: { name: "name", value: "value", min: "min", max: "max", relative: "relative" }, outputs: { onChange: "onChange" }, host: { listeners: { "disabledChange": "listenDisabledChange($event.detail.disabled)" } }, providers: [
1168
1150
  {
1169
1151
  provide: NG_VALUE_ACCESSOR,
1170
1152
  multi: true,
1171
1153
  useExisting: forwardRef(() => GoabDatePicker),
1172
1154
  },
1173
- ], ngImport: i0, template: ` <goa-date-picker
1155
+ ], usesInheritance: true, ngImport: i0, template: ` <goa-date-picker
1174
1156
  [attr.name]="name"
1175
1157
  [attr.value]="formatValue(value)"
1176
1158
  [attr.min]="min"
@@ -1225,22 +1207,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1225
1207
  type: Input
1226
1208
  }], max: [{
1227
1209
  type: Input
1228
- }], error: [{
1229
- type: Input
1230
- }], disabled: [{
1231
- type: Input
1232
1210
  }], relative: [{
1233
1211
  type: Input
1234
- }], testId: [{
1235
- type: Input
1236
- }], mt: [{
1237
- type: Input
1238
- }], mb: [{
1239
- type: Input
1240
- }], ml: [{
1241
- type: Input
1242
- }], mr: [{
1243
- type: Input
1244
1212
  }], onChange: [{
1245
1213
  type: Output
1246
1214
  }], listenDisabledChange: [{
@@ -1248,9 +1216,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1248
1216
  args: ["disabledChange", ["$event.detail.disabled"]]
1249
1217
  }] } });
1250
1218
 
1251
- class GoabDetails {
1252
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabDetails, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1253
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabDetails, isStandalone: true, selector: "goab-details", inputs: { heading: "heading", testId: "testId", open: "open", maxWidth: "maxWidth", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
1219
+ class GoabDetails extends GoabBaseComponent {
1220
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabDetails, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1221
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabDetails, isStandalone: true, selector: "goab-details", inputs: { heading: "heading", open: "open", maxWidth: "maxWidth" }, usesInheritance: true, ngImport: i0, template: `
1254
1222
  <goa-details
1255
1223
  [attr.heading]="heading"
1256
1224
  [attr.testid]="testId"
@@ -1284,30 +1252,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1284
1252
  <ng-content />
1285
1253
  </goa-details>
1286
1254
  `,
1287
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
1255
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
1288
1256
  }]
1289
1257
  }], propDecorators: { heading: [{
1290
1258
  type: Input,
1291
1259
  args: [{ required: true }]
1292
- }], testId: [{
1293
- type: Input
1294
1260
  }], open: [{
1295
1261
  type: Input
1296
1262
  }], maxWidth: [{
1297
1263
  type: Input
1298
- }], mt: [{
1299
- type: Input
1300
- }], mb: [{
1301
- type: Input
1302
- }], ml: [{
1303
- type: Input
1304
- }], mr: [{
1305
- type: Input
1306
1264
  }] } });
1307
1265
 
1308
- class GoabDivider {
1309
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabDivider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1310
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabDivider, isStandalone: true, selector: "goab-divider", inputs: { testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
1266
+ class GoabDivider extends GoabBaseComponent {
1267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabDivider, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1268
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabDivider, isStandalone: true, selector: "goab-divider", usesInheritance: true, ngImport: i0, template: `
1311
1269
  <goa-divider
1312
1270
  [attr.testid]="testId"
1313
1271
  [attr.mt]="mt"
@@ -1333,19 +1291,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1333
1291
  >
1334
1292
  </goa-divider>
1335
1293
  `,
1336
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
1294
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
1337
1295
  }]
1338
- }], propDecorators: { testId: [{
1339
- type: Input
1340
- }], mt: [{
1341
- type: Input
1342
- }], mb: [{
1343
- type: Input
1344
- }], ml: [{
1345
- type: Input
1346
- }], mr: [{
1347
- type: Input
1348
- }] } });
1296
+ }] });
1349
1297
 
1350
1298
  class GoabDrawer {
1351
1299
  constructor() {
@@ -1427,10 +1375,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1427
1375
  }] } });
1428
1376
 
1429
1377
  // "disabled", "value", "id" is an exposed property of HTMLInputElement, no need to bind with attr
1430
- class GoabDropdown {
1378
+ class GoabDropdown extends GoabControlValueAccessor {
1431
1379
  constructor() {
1380
+ super(...arguments);
1432
1381
  this.onChange = new EventEmitter();
1433
- this.touched = false;
1434
1382
  }
1435
1383
  _onChange(e) {
1436
1384
  const detail = e.detail;
@@ -1438,32 +1386,14 @@ class GoabDropdown {
1438
1386
  this.markAsTouched();
1439
1387
  this.fcChange?.(detail.value || "");
1440
1388
  }
1441
- markAsTouched() {
1442
- if (!this.touched) {
1443
- this.fcTouched?.();
1444
- this.touched = true;
1445
- }
1446
- }
1447
- writeValue(value) {
1448
- this.value = value;
1449
- }
1450
- registerOnChange(fn) {
1451
- this.fcChange = fn;
1452
- }
1453
- registerOnTouched(fn) {
1454
- this.fcTouched = fn;
1455
- }
1456
- setDisabledState(isDisabled) {
1457
- this.disabled = isDisabled;
1458
- }
1459
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabDropdown, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1460
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabDropdown, isStandalone: true, selector: "goab-dropdown", inputs: { name: "name", value: "value", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", id: "id", disabled: "disabled", error: "error", filterable: "filterable", leadingIcon: "leadingIcon", maxHeight: "maxHeight", multiselect: "multiselect", native: "native", placeholder: "placeholder", testId: "testId", width: "width", relative: "relative", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onChange: "onChange" }, providers: [
1389
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabDropdown, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1390
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabDropdown, isStandalone: true, selector: "goab-dropdown", inputs: { name: "name", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterable: "filterable", leadingIcon: "leadingIcon", maxHeight: "maxHeight", multiselect: "multiselect", native: "native", placeholder: "placeholder", width: "width", relative: "relative" }, outputs: { onChange: "onChange" }, providers: [
1461
1391
  {
1462
1392
  provide: NG_VALUE_ACCESSOR,
1463
1393
  multi: true,
1464
1394
  useExisting: forwardRef(() => GoabDropdown),
1465
- }
1466
- ], ngImport: i0, template: `
1395
+ },
1396
+ ], usesInheritance: true, ngImport: i0, template: `
1467
1397
  <goa-dropdown
1468
1398
  [attr.name]="name"
1469
1399
  [value]="value"
@@ -1529,23 +1459,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1529
1459
  provide: NG_VALUE_ACCESSOR,
1530
1460
  multi: true,
1531
1461
  useExisting: forwardRef(() => GoabDropdown),
1532
- }
1462
+ },
1533
1463
  ],
1534
1464
  }]
1535
1465
  }], propDecorators: { name: [{
1536
1466
  type: Input
1537
- }], value: [{
1538
- type: Input
1539
1467
  }], ariaLabel: [{
1540
1468
  type: Input
1541
1469
  }], ariaLabelledBy: [{
1542
1470
  type: Input
1543
- }], id: [{
1544
- type: Input
1545
- }], disabled: [{
1546
- type: Input
1547
- }], error: [{
1548
- type: Input
1549
1471
  }], filterable: [{
1550
1472
  type: Input
1551
1473
  }], leadingIcon: [{
@@ -1558,20 +1480,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1558
1480
  type: Input
1559
1481
  }], placeholder: [{
1560
1482
  type: Input
1561
- }], testId: [{
1562
- type: Input
1563
1483
  }], width: [{
1564
1484
  type: Input
1565
1485
  }], relative: [{
1566
1486
  type: Input
1567
- }], mt: [{
1568
- type: Input
1569
- }], mb: [{
1570
- type: Input
1571
- }], ml: [{
1572
- type: Input
1573
- }], mr: [{
1574
- type: Input
1575
1487
  }], onChange: [{
1576
1488
  type: Output
1577
1489
  }] } });
@@ -1679,8 +1591,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1679
1591
  type: Output
1680
1592
  }] } });
1681
1593
 
1682
- class GoabFileUploadInput {
1594
+ class GoabFileUploadInput extends GoabBaseComponent {
1683
1595
  constructor() {
1596
+ super(...arguments);
1684
1597
  this.id = "";
1685
1598
  this.maxFileSize = "5MB";
1686
1599
  this.onSelectFile = new EventEmitter();
@@ -1689,8 +1602,8 @@ class GoabFileUploadInput {
1689
1602
  const detail = e.detail;
1690
1603
  this.onSelectFile.emit(detail);
1691
1604
  }
1692
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabFileUploadInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1693
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabFileUploadInput, isStandalone: true, selector: "goab-file-upload-input", inputs: { id: "id", variant: "variant", maxFileSize: "maxFileSize", accept: "accept", testId: "testId", mt: "mt", mb: "mb", mr: "mr", ml: "ml" }, outputs: { onSelectFile: "onSelectFile" }, ngImport: i0, template: `<goa-file-upload-input
1605
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabFileUploadInput, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1606
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabFileUploadInput, isStandalone: true, selector: "goab-file-upload-input", inputs: { id: "id", variant: "variant", maxFileSize: "maxFileSize", accept: "accept" }, outputs: { onSelectFile: "onSelectFile" }, usesInheritance: true, ngImport: i0, template: `<goa-file-upload-input
1694
1607
  [attr.variant]="variant"
1695
1608
  [attr.accept]="accept"
1696
1609
  [attr.maxfilesize]="maxFileSize"
@@ -1733,30 +1646,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1733
1646
  type: Input
1734
1647
  }], accept: [{
1735
1648
  type: Input
1736
- }], testId: [{
1737
- type: Input
1738
- }], mt: [{
1739
- type: Input
1740
- }], mb: [{
1741
- type: Input
1742
- }], mr: [{
1743
- type: Input
1744
- }], ml: [{
1745
- type: Input
1746
1649
  }], onSelectFile: [{
1747
1650
  type: Output
1748
1651
  }] } });
1749
1652
 
1750
- class GoabFilterChip {
1653
+ class GoabFilterChip extends GoabBaseComponent {
1751
1654
  constructor() {
1655
+ super(...arguments);
1752
1656
  this.content = "";
1753
1657
  this.onClick = new EventEmitter();
1754
1658
  }
1755
1659
  _onClick() {
1756
1660
  this.onClick.emit();
1757
1661
  }
1758
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabFilterChip, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1759
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabFilterChip, isStandalone: true, selector: "goab-filter-chip", inputs: { error: "error", deletable: "deletable", content: "content", testId: "testId", iconTheme: "iconTheme", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `<goa-filter-chip
1662
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabFilterChip, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1663
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabFilterChip, isStandalone: true, selector: "goab-filter-chip", inputs: { error: "error", deletable: "deletable", content: "content", iconTheme: "iconTheme" }, outputs: { onClick: "onClick" }, usesInheritance: true, ngImport: i0, template: `<goa-filter-chip
1760
1664
  [attr.error]="error"
1761
1665
  [attr.icontheme]="iconTheme"
1762
1666
  [attr.content]="content"
@@ -1796,18 +1700,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1796
1700
  type: Input
1797
1701
  }], content: [{
1798
1702
  type: Input
1799
- }], testId: [{
1800
- type: Input
1801
1703
  }], iconTheme: [{
1802
1704
  type: Input
1803
- }], mt: [{
1804
- type: Input
1805
- }], mb: [{
1806
- type: Input
1807
- }], ml: [{
1808
- type: Input
1809
- }], mr: [{
1810
- type: Input
1811
1705
  }], onClick: [{
1812
1706
  type: Output
1813
1707
  }] } });
@@ -1911,9 +1805,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1911
1805
  args: [{ required: true }]
1912
1806
  }] } });
1913
1807
 
1914
- class GoabFormItem {
1915
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabFormItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1916
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabFormItem, isStandalone: true, selector: "goab-form-item", inputs: { label: "label", labelSize: "labelSize", helpText: "helpText", error: "error", requirement: "requirement", maxWidth: "maxWidth", testId: "testId", id: "id", mt: "mt", mb: "mb", mr: "mr", ml: "ml" }, ngImport: i0, template: `
1808
+ class GoabFormItem extends GoabBaseComponent {
1809
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabFormItem, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1810
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabFormItem, isStandalone: true, selector: "goab-form-item", inputs: { label: "label", labelSize: "labelSize", helpText: "helpText", error: "error", requirement: "requirement", maxWidth: "maxWidth", id: "id" }, usesInheritance: true, ngImport: i0, template: `
1917
1811
  <goa-form-item
1918
1812
  [attr.label]="label"
1919
1813
  [attr.labelsize]="labelSize"
@@ -1971,18 +1865,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
1971
1865
  type: Input
1972
1866
  }], maxWidth: [{
1973
1867
  type: Input
1974
- }], testId: [{
1975
- type: Input
1976
1868
  }], id: [{
1977
1869
  type: Input
1978
- }], mt: [{
1979
- type: Input
1980
- }], mb: [{
1981
- type: Input
1982
- }], mr: [{
1983
- type: Input
1984
- }], ml: [{
1985
- type: Input
1986
1870
  }] } });
1987
1871
 
1988
1872
  /**
@@ -2033,8 +1917,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2033
1917
  type: Input
2034
1918
  }] } });
2035
1919
 
2036
- class GoabFormStepper {
1920
+ class GoabFormStepper extends GoabBaseComponent {
2037
1921
  constructor() {
1922
+ super(...arguments);
2038
1923
  this.step = -1;
2039
1924
  this.onChange = new EventEmitter();
2040
1925
  }
@@ -2042,8 +1927,8 @@ class GoabFormStepper {
2042
1927
  const detail = e.detail;
2043
1928
  this.onChange.emit(detail);
2044
1929
  }
2045
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabFormStepper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2046
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabFormStepper, isStandalone: true, selector: "goab-form-stepper", inputs: { step: "step", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onChange: "onChange" }, ngImport: i0, template: `
1930
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabFormStepper, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1931
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabFormStepper, isStandalone: true, selector: "goab-form-stepper", inputs: { step: "step" }, outputs: { onChange: "onChange" }, usesInheritance: true, ngImport: i0, template: `
2047
1932
  <goa-form-stepper
2048
1933
  [attr.step]="step"
2049
1934
  [attr.testid]="testId"
@@ -2075,27 +1960,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2075
1960
  <ng-content />
2076
1961
  </goa-form-stepper>
2077
1962
  `,
2078
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
1963
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
2079
1964
  }]
2080
1965
  }], propDecorators: { step: [{
2081
1966
  type: Input
2082
- }], testId: [{
2083
- type: Input
2084
- }], mt: [{
2085
- type: Input
2086
- }], mb: [{
2087
- type: Input
2088
- }], ml: [{
2089
- type: Input
2090
- }], mr: [{
2091
- type: Input
2092
1967
  }], onChange: [{
2093
1968
  type: Output
2094
1969
  }] } });
2095
1970
 
2096
- class GoabGrid {
2097
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2098
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabGrid, isStandalone: true, selector: "goab-grid", inputs: { minChildWidth: "minChildWidth", gap: "gap", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
1971
+ class GoabGrid extends GoabBaseComponent {
1972
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1973
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabGrid, isStandalone: true, selector: "goab-grid", inputs: { minChildWidth: "minChildWidth", gap: "gap" }, usesInheritance: true, ngImport: i0, template: `
2099
1974
  <goa-grid
2100
1975
  [attr.gap]="gap"
2101
1976
  [attr.minchildwidth]="minChildWidth"
@@ -2134,16 +2009,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2134
2009
  args: [{ required: true }]
2135
2010
  }], gap: [{
2136
2011
  type: Input
2137
- }], testId: [{
2138
- type: Input
2139
- }], mt: [{
2140
- type: Input
2141
- }], mb: [{
2142
- type: Input
2143
- }], ml: [{
2144
- type: Input
2145
- }], mr: [{
2146
- type: Input
2147
2012
  }] } });
2148
2013
 
2149
2014
  class GoabAppHeader {
@@ -2299,13 +2164,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2299
2164
  type: Input
2300
2165
  }] } });
2301
2166
 
2302
- class GoabIcon {
2167
+ class GoabIcon extends GoabBaseComponent {
2303
2168
  constructor() {
2169
+ super(...arguments);
2304
2170
  this.size = "medium";
2305
2171
  this.theme = "outline";
2306
2172
  }
2307
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2308
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabIcon, isStandalone: true, selector: "goab-icon", inputs: { type: "type", size: "size", theme: "theme", inverted: "inverted", fillColor: "fillColor", opacity: "opacity", title: "title", ariaLabel: "ariaLabel", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
2173
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabIcon, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2174
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabIcon, isStandalone: true, selector: "goab-icon", inputs: { type: "type", size: "size", theme: "theme", inverted: "inverted", fillColor: "fillColor", opacity: "opacity", title: "title", ariaLabel: "ariaLabel" }, usesInheritance: true, ngImport: i0, template: `
2309
2175
  <goa-icon
2310
2176
  [attr.type]="type"
2311
2177
  [attr.theme]="theme"
@@ -2347,7 +2213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2347
2213
  >
2348
2214
  </goa-icon>
2349
2215
  `,
2350
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
2216
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
2351
2217
  }]
2352
2218
  }], propDecorators: { type: [{
2353
2219
  type: Input,
@@ -2366,28 +2232,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2366
2232
  type: Input
2367
2233
  }], ariaLabel: [{
2368
2234
  type: Input
2369
- }], testId: [{
2370
- type: Input
2371
- }], mt: [{
2372
- type: Input
2373
- }], mb: [{
2374
- type: Input
2375
- }], ml: [{
2376
- type: Input
2377
- }], mr: [{
2378
- type: Input
2379
2235
  }] } });
2380
2236
 
2381
- class GoabIconButton {
2237
+ class GoabIconButton extends GoabBaseComponent {
2382
2238
  constructor() {
2239
+ super(...arguments);
2383
2240
  this.size = "medium";
2384
2241
  this.onClick = new EventEmitter();
2385
2242
  }
2386
2243
  _onClick() {
2387
2244
  this.onClick.emit();
2388
2245
  }
2389
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabIconButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2390
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabIconButton, isStandalone: true, selector: "goab-icon-button", inputs: { icon: "icon", size: "size", variant: "variant", title: "title", disabled: "disabled", ariaLabel: "ariaLabel", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
2246
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabIconButton, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2247
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabIconButton, isStandalone: true, selector: "goab-icon-button", inputs: { icon: "icon", size: "size", variant: "variant", title: "title", disabled: "disabled", ariaLabel: "ariaLabel" }, outputs: { onClick: "onClick" }, usesInheritance: true, ngImport: i0, template: `
2391
2248
  <goa-icon-button
2392
2249
  [attr.icon]="icon"
2393
2250
  [disabled]="disabled"
@@ -2429,7 +2286,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2429
2286
  <ng-content></ng-content>
2430
2287
  </goa-icon-button>
2431
2288
  `,
2432
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
2289
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
2433
2290
  }]
2434
2291
  }], propDecorators: { icon: [{
2435
2292
  type: Input,
@@ -2444,31 +2301,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2444
2301
  type: Input
2445
2302
  }], ariaLabel: [{
2446
2303
  type: Input
2447
- }], testId: [{
2448
- type: Input
2449
- }], mt: [{
2450
- type: Input
2451
- }], mb: [{
2452
- type: Input
2453
- }], ml: [{
2454
- type: Input
2455
- }], mr: [{
2456
- type: Input
2457
2304
  }], onClick: [{
2458
2305
  type: Output
2459
2306
  }] } });
2460
2307
 
2461
- class GoabInput {
2308
+ class GoabInput extends GoabControlValueAccessor {
2462
2309
  constructor() {
2310
+ super(...arguments);
2463
2311
  this.type = "text";
2464
- this.value = "";
2465
2312
  this.onTrailingIconClick = new EventEmitter();
2466
2313
  this.onFocus = new EventEmitter();
2467
2314
  this.onBlur = new EventEmitter();
2468
2315
  this.onKeyPress = new EventEmitter();
2469
2316
  this.onChange = new EventEmitter();
2470
2317
  this.handleTrailingIconClick = false;
2471
- this.touched = false;
2472
2318
  }
2473
2319
  ngOnInit() {
2474
2320
  this.handleTrailingIconClick = this.onTrailingIconClick.observed;
@@ -2502,32 +2348,14 @@ class GoabInput {
2502
2348
  const detail = e.detail;
2503
2349
  this.onBlur.emit(detail);
2504
2350
  }
2505
- markAsTouched() {
2506
- if (!this.touched) {
2507
- this.fcTouched?.();
2508
- this.touched = true;
2509
- }
2510
- }
2511
- writeValue(value) {
2512
- this.value = value;
2513
- }
2514
- registerOnChange(fn) {
2515
- this.fcChange = fn;
2516
- }
2517
- registerOnTouched(fn) {
2518
- this.fcTouched = fn;
2519
- }
2520
- setDisabledState(isDisabled) {
2521
- this.disabled = isDisabled;
2522
- }
2523
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2524
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabInput, isStandalone: true, selector: "goab-input", inputs: { type: "type", name: "name", id: "id", debounce: "debounce", disabled: "disabled", autoCapitalize: "autoCapitalize", placeholder: "placeholder", leadingIcon: "leadingIcon", trailingIcon: "trailingIcon", variant: "variant", focused: "focused", readonly: "readonly", error: "error", width: "width", prefix: "prefix", suffix: "suffix", testId: "testId", ariaLabel: "ariaLabel", maxLength: "maxLength", value: "value", min: "min", max: "max", step: "step", ariaLabelledBy: "ariaLabelledBy", mt: "mt", mr: "mr", mb: "mb", ml: "ml", trailingIconAriaLabel: "trailingIconAriaLabel" }, outputs: { onTrailingIconClick: "onTrailingIconClick", onFocus: "onFocus", onBlur: "onBlur", onKeyPress: "onKeyPress", onChange: "onChange" }, providers: [
2351
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabInput, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2352
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabInput, isStandalone: true, selector: "goab-input", inputs: { type: "type", name: "name", debounce: "debounce", autoCapitalize: "autoCapitalize", placeholder: "placeholder", leadingIcon: "leadingIcon", trailingIcon: "trailingIcon", variant: "variant", focused: "focused", readonly: "readonly", width: "width", prefix: "prefix", suffix: "suffix", ariaLabel: "ariaLabel", maxLength: "maxLength", min: "min", max: "max", step: "step", ariaLabelledBy: "ariaLabelledBy", trailingIconAriaLabel: "trailingIconAriaLabel" }, outputs: { onTrailingIconClick: "onTrailingIconClick", onFocus: "onFocus", onBlur: "onBlur", onKeyPress: "onKeyPress", onChange: "onChange" }, providers: [
2525
2353
  {
2526
2354
  provide: NG_VALUE_ACCESSOR,
2527
2355
  multi: true,
2528
2356
  useExisting: forwardRef(() => GoabInput),
2529
2357
  },
2530
- ], ngImport: i0, template: `
2358
+ ], usesInheritance: true, ngImport: i0, template: `
2531
2359
  <goa-input
2532
2360
  [attr.type]="type"
2533
2361
  [attr.name]="name"
@@ -2628,12 +2456,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2628
2456
  type: Input
2629
2457
  }], name: [{
2630
2458
  type: Input
2631
- }], id: [{
2632
- type: Input
2633
2459
  }], debounce: [{
2634
2460
  type: Input
2635
- }], disabled: [{
2636
- type: Input
2637
2461
  }], autoCapitalize: [{
2638
2462
  type: Input
2639
2463
  }], placeholder: [{
@@ -2648,22 +2472,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2648
2472
  type: Input
2649
2473
  }], readonly: [{
2650
2474
  type: Input
2651
- }], error: [{
2652
- type: Input
2653
2475
  }], width: [{
2654
2476
  type: Input
2655
2477
  }], prefix: [{
2656
2478
  type: Input
2657
2479
  }], suffix: [{
2658
2480
  type: Input
2659
- }], testId: [{
2660
- type: Input
2661
2481
  }], ariaLabel: [{
2662
2482
  type: Input
2663
2483
  }], maxLength: [{
2664
2484
  type: Input
2665
- }], value: [{
2666
- type: Input
2667
2485
  }], min: [{
2668
2486
  type: Input
2669
2487
  }], max: [{
@@ -2672,14 +2490,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2672
2490
  type: Input
2673
2491
  }], ariaLabelledBy: [{
2674
2492
  type: Input
2675
- }], mt: [{
2676
- type: Input
2677
- }], mr: [{
2678
- type: Input
2679
- }], mb: [{
2680
- type: Input
2681
- }], ml: [{
2682
- type: Input
2683
2493
  }], trailingIconAriaLabel: [{
2684
2494
  type: Input
2685
2495
  }], onTrailingIconClick: [{
@@ -3097,22 +2907,24 @@ class GoabModal {
3097
2907
  [attr.heading]="getHeadingAsString()"
3098
2908
  (_close)="_onClose()"
3099
2909
  >
3100
- <ng-content></ng-content>
3101
2910
  <div slot="heading">
3102
- <ng-container [ngTemplateOutlet]="getHeadingAsTemplate()"></ng-container>
2911
+ <ng-container *ngIf="this.heading !== '' && getHeadingAsTemplate() !== null" [ngTemplateOutlet]="getHeadingAsTemplate()"></ng-container>
3103
2912
  </div>
2913
+
2914
+ <ng-content></ng-content>
2915
+
3104
2916
  <div slot="actions">
3105
- <ng-container [ngTemplateOutlet]="actions"></ng-container>
2917
+ <ng-container *ngIf="this.actions" [ngTemplateOutlet]="actions"></ng-container>
3106
2918
  </div>
3107
2919
  </goa-modal>
3108
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
2920
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
3109
2921
  }
3110
2922
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabModal, decorators: [{
3111
2923
  type: Component,
3112
2924
  args: [{
3113
2925
  standalone: true,
3114
2926
  selector: "goab-modal",
3115
- imports: [NgTemplateOutlet],
2927
+ imports: [NgIf, NgTemplateOutlet],
3116
2928
  template: `
3117
2929
  <goa-modal
3118
2930
  [attr.calloutvariant]="calloutVariant"
@@ -3125,12 +2937,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3125
2937
  [attr.heading]="getHeadingAsString()"
3126
2938
  (_close)="_onClose()"
3127
2939
  >
3128
- <ng-content></ng-content>
3129
2940
  <div slot="heading">
3130
- <ng-container [ngTemplateOutlet]="getHeadingAsTemplate()"></ng-container>
2941
+ <ng-container *ngIf="this.heading !== '' && getHeadingAsTemplate() !== null" [ngTemplateOutlet]="getHeadingAsTemplate()"></ng-container>
3131
2942
  </div>
2943
+
2944
+ <ng-content></ng-content>
2945
+
3132
2946
  <div slot="actions">
3133
- <ng-container [ngTemplateOutlet]="actions"></ng-container>
2947
+ <ng-container *ngIf="this.actions" [ngTemplateOutlet]="actions"></ng-container>
3134
2948
  </div>
3135
2949
  </goa-modal>
3136
2950
  `,
@@ -3209,9 +3023,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3209
3023
  type: Output
3210
3024
  }] } });
3211
3025
 
3212
- class GoabPages {
3213
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabPages, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3214
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabPages, isStandalone: true, selector: "goab-pages", inputs: { current: "current", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
3026
+ class GoabPages extends GoabBaseComponent {
3027
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabPages, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3028
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabPages, isStandalone: true, selector: "goab-pages", inputs: { current: "current" }, usesInheritance: true, ngImport: i0, template: `
3215
3029
  <goa-pages
3216
3030
  [attr.current]="current"
3217
3031
  [attr.mt]="mt"
@@ -3243,18 +3057,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3243
3057
  }]
3244
3058
  }], propDecorators: { current: [{
3245
3059
  type: Input
3246
- }], mt: [{
3247
- type: Input
3248
- }], mb: [{
3249
- type: Input
3250
- }], ml: [{
3251
- type: Input
3252
- }], mr: [{
3253
- type: Input
3254
3060
  }] } });
3255
3061
 
3256
- class GoabPagination {
3062
+ class GoabPagination extends GoabBaseComponent {
3257
3063
  constructor() {
3064
+ super(...arguments);
3258
3065
  this.perPageCount = 10;
3259
3066
  this.variant = "all";
3260
3067
  this.onChange = new EventEmitter();
@@ -3263,12 +3070,12 @@ class GoabPagination {
3263
3070
  const detail = e.detail;
3264
3071
  this.onChange.emit(detail);
3265
3072
  }
3266
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabPagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3267
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabPagination, isStandalone: true, selector: "goab-pagination", inputs: { itemCount: "itemCount", pageNumber: "pageNumber", perPageCount: "perPageCount", variant: "variant", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onChange: "onChange" }, ngImport: i0, template: `
3073
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabPagination, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3074
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabPagination, isStandalone: true, selector: "goab-pagination", inputs: { itemCount: "itemCount", pageNumber: "pageNumber", perPageCount: "perPageCount", variant: "variant" }, outputs: { onChange: "onChange" }, usesInheritance: true, ngImport: i0, template: `
3268
3075
  <goa-pagination
3269
3076
  [attr.itemcount]="itemCount"
3270
3077
  [attr.perpagecount]="perPageCount"
3271
- [attr.pagenumber]="pageNumber"w
3078
+ [attr.pagenumber]="pageNumber"
3272
3079
  [attr.variant]="variant"
3273
3080
  [attr.testid]="testId"
3274
3081
  [attr.mt]="mt"
@@ -3289,7 +3096,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3289
3096
  <goa-pagination
3290
3097
  [attr.itemcount]="itemCount"
3291
3098
  [attr.perpagecount]="perPageCount"
3292
- [attr.pagenumber]="pageNumber"w
3099
+ [attr.pagenumber]="pageNumber"
3293
3100
  [attr.variant]="variant"
3294
3101
  [attr.testid]="testId"
3295
3102
  [attr.mt]="mt"
@@ -3312,27 +3119,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3312
3119
  type: Input
3313
3120
  }], variant: [{
3314
3121
  type: Input
3315
- }], testId: [{
3316
- type: Input
3317
- }], mt: [{
3318
- type: Input
3319
- }], mb: [{
3320
- type: Input
3321
- }], ml: [{
3322
- type: Input
3323
- }], mr: [{
3324
- type: Input
3325
3122
  }], onChange: [{
3326
3123
  type: Output
3327
3124
  }] } });
3328
3125
 
3329
- class GoabPopover {
3126
+ class GoabPopover extends GoabBaseComponent {
3330
3127
  constructor() {
3128
+ super(...arguments);
3331
3129
  this.maxWidth = "320px";
3332
3130
  this.padded = true;
3333
3131
  }
3334
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabPopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3335
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabPopover, isStandalone: true, selector: "goab-popover", inputs: { maxWidth: "maxWidth", minWidth: "minWidth", padded: "padded", position: "position", relative: "relative", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr", target: "target" }, ngImport: i0, template: `
3132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabPopover, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabPopover, isStandalone: true, selector: "goab-popover", inputs: { maxWidth: "maxWidth", minWidth: "minWidth", padded: "padded", position: "position", relative: "relative", target: "target" }, usesInheritance: true, ngImport: i0, template: `
3336
3134
  <goa-popover
3337
3135
  [attr.maxwidth]="maxWidth"
3338
3136
  [attr.minwidth]="minWidth"
@@ -3389,25 +3187,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3389
3187
  type: Input
3390
3188
  }], relative: [{
3391
3189
  type: Input
3392
- }], testId: [{
3393
- type: Input
3394
- }], mt: [{
3395
- type: Input
3396
- }], mb: [{
3397
- type: Input
3398
- }], ml: [{
3399
- type: Input
3400
- }], mr: [{
3401
- type: Input
3402
3190
  }], target: [{
3403
3191
  type: Input,
3404
3192
  args: [{ required: true }]
3405
3193
  }] } });
3406
3194
 
3407
- class GoabRadioGroup {
3195
+ class GoabRadioGroup extends GoabControlValueAccessor {
3408
3196
  constructor() {
3197
+ super(...arguments);
3409
3198
  this.onChange = new EventEmitter();
3410
- this.touched = false;
3411
3199
  }
3412
3200
  _onChange(e) {
3413
3201
  const detail = e.detail;
@@ -3415,32 +3203,14 @@ class GoabRadioGroup {
3415
3203
  this.onChange.emit(detail);
3416
3204
  this.fcChange?.(detail.value);
3417
3205
  }
3418
- markAsTouched() {
3419
- if (!this.touched) {
3420
- this.fcTouched?.();
3421
- this.touched = true;
3422
- }
3423
- }
3424
- writeValue(value) {
3425
- this.value = value;
3426
- }
3427
- registerOnChange(fn) {
3428
- this.fcChange = fn;
3429
- }
3430
- registerOnTouched(fn) {
3431
- this.fcTouched = fn;
3432
- }
3433
- setDisabledState(isDisabled) {
3434
- this.disabled = isDisabled;
3435
- }
3436
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabRadioGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3437
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabRadioGroup, isStandalone: true, selector: "goab-radio-group", inputs: { name: "name", value: "value", disabled: "disabled", orientation: "orientation", error: "error", ariaLabel: "ariaLabel", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onChange: "onChange" }, providers: [
3206
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabRadioGroup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3207
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabRadioGroup, isStandalone: true, selector: "goab-radio-group", inputs: { name: "name", orientation: "orientation", ariaLabel: "ariaLabel" }, outputs: { onChange: "onChange" }, providers: [
3438
3208
  {
3439
3209
  provide: NG_VALUE_ACCESSOR,
3440
3210
  multi: true,
3441
3211
  useExisting: forwardRef(() => GoabRadioGroup),
3442
3212
  },
3443
- ], ngImport: i0, template: `
3213
+ ], usesInheritance: true, ngImport: i0, template: `
3444
3214
  <goa-radio-group
3445
3215
  [attr.name]="name"
3446
3216
  [attr.value]="value"
@@ -3493,41 +3263,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3493
3263
  }]
3494
3264
  }], propDecorators: { name: [{
3495
3265
  type: Input
3496
- }], value: [{
3497
- type: Input
3498
- }], disabled: [{
3499
- type: Input
3500
3266
  }], orientation: [{
3501
3267
  type: Input
3502
- }], error: [{
3503
- type: Input
3504
3268
  }], ariaLabel: [{
3505
3269
  type: Input
3506
- }], testId: [{
3507
- type: Input
3508
- }], mt: [{
3509
- type: Input
3510
- }], mb: [{
3511
- type: Input
3512
- }], ml: [{
3513
- type: Input
3514
- }], mr: [{
3515
- type: Input
3516
3270
  }], onChange: [{
3517
3271
  type: Output
3518
3272
  }] } });
3519
3273
 
3520
- class GoabRadioItem {
3274
+ class GoabRadioItem extends GoabBaseComponent {
3521
3275
  getDescriptionAsString() {
3522
- return (!this.description || this.description instanceof TemplateRef) ? "" : this.description;
3276
+ return !this.description || this.description instanceof TemplateRef
3277
+ ? ""
3278
+ : this.description;
3523
3279
  }
3524
3280
  getDescriptionAsTemplate() {
3525
3281
  if (!this.description)
3526
3282
  return null;
3527
3283
  return this.description instanceof TemplateRef ? this.description : null;
3528
3284
  }
3529
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabRadioItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3530
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabRadioItem, isStandalone: true, selector: "goab-radio-item", inputs: { value: "value", label: "label", name: "name", description: "description", ariaLabel: "ariaLabel", disabled: "disabled", checked: "checked", error: "error", maxWidth: "maxWidth", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
3285
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabRadioItem, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3286
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabRadioItem, isStandalone: true, selector: "goab-radio-item", inputs: { value: "value", label: "label", name: "name", description: "description", ariaLabel: "ariaLabel", disabled: "disabled", checked: "checked", error: "error", maxWidth: "maxWidth" }, usesInheritance: true, ngImport: i0, template: `
3531
3287
  <goa-radio-item
3532
3288
  [attr.name]="name"
3533
3289
  [attr.value]="value"
@@ -3598,14 +3354,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3598
3354
  type: Input
3599
3355
  }], maxWidth: [{
3600
3356
  type: Input
3601
- }], mt: [{
3602
- type: Input
3603
- }], mb: [{
3604
- type: Input
3605
- }], ml: [{
3606
- type: Input
3607
- }], mr: [{
3608
- type: Input
3609
3357
  }] } });
3610
3358
 
3611
3359
  class GoabSideMenu {
@@ -3632,9 +3380,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3632
3380
  type: Input
3633
3381
  }] } });
3634
3382
 
3635
- class GoabSideMenuGroup {
3636
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabSideMenuGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3637
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabSideMenuGroup, isStandalone: true, selector: "goab-side-menu-group", inputs: { heading: "heading", testId: "testId", icon: "icon", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
3383
+ class GoabSideMenuGroup extends GoabBaseComponent {
3384
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabSideMenuGroup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3385
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabSideMenuGroup, isStandalone: true, selector: "goab-side-menu-group", inputs: { heading: "heading", icon: "icon" }, usesInheritance: true, ngImport: i0, template: `
3638
3386
  <goa-side-menu-group
3639
3387
  [attr.heading]="heading"
3640
3388
  [attr.testid]="testId"
@@ -3671,18 +3419,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3671
3419
  }], propDecorators: { heading: [{
3672
3420
  type: Input,
3673
3421
  args: [{ required: true }]
3674
- }], testId: [{
3675
- type: Input
3676
3422
  }], icon: [{
3677
3423
  type: Input
3678
- }], mt: [{
3679
- type: Input
3680
- }], mb: [{
3681
- type: Input
3682
- }], ml: [{
3683
- type: Input
3684
- }], mr: [{
3685
- type: Input
3686
3424
  }] } });
3687
3425
 
3688
3426
  class GoabSideMenuHeading {
@@ -3720,12 +3458,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3720
3458
  type: Input
3721
3459
  }] } });
3722
3460
 
3723
- class GoabSkeleton {
3461
+ class GoabSkeleton extends GoabBaseComponent {
3724
3462
  constructor() {
3463
+ super(...arguments);
3725
3464
  this.maxWidth = "300px";
3726
3465
  }
3727
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabSkeleton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3728
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabSkeleton, isStandalone: true, selector: "goab-skeleton", inputs: { type: "type", maxWidth: "maxWidth", size: "size", lineCount: "lineCount", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
3466
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabSkeleton, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3467
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabSkeleton, isStandalone: true, selector: "goab-skeleton", inputs: { type: "type", maxWidth: "maxWidth", size: "size", lineCount: "lineCount" }, usesInheritance: true, ngImport: i0, template: `
3729
3468
  <goa-skeleton
3730
3469
  [attr.maxwidth]="maxWidth"
3731
3470
  [attr.size]="size"
@@ -3759,7 +3498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3759
3498
  >
3760
3499
  </goa-skeleton>
3761
3500
  `,
3762
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
3501
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
3763
3502
  }]
3764
3503
  }], propDecorators: { type: [{
3765
3504
  type: Input,
@@ -3770,16 +3509,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3770
3509
  type: Input
3771
3510
  }], lineCount: [{
3772
3511
  type: Input
3773
- }], testId: [{
3774
- type: Input
3775
- }], mt: [{
3776
- type: Input
3777
- }], mb: [{
3778
- type: Input
3779
- }], ml: [{
3780
- type: Input
3781
- }], mr: [{
3782
- type: Input
3783
3512
  }] } });
3784
3513
 
3785
3514
  class GoabSpacer {
@@ -3857,16 +3586,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3857
3586
  type: Input
3858
3587
  }] } });
3859
3588
 
3860
- class GoabTable {
3589
+ class GoabTable extends GoabBaseComponent {
3861
3590
  constructor() {
3591
+ super(...arguments);
3862
3592
  this.onSort = new EventEmitter();
3863
3593
  }
3864
3594
  _onSort(e) {
3865
3595
  const detail = e.detail;
3866
3596
  this.onSort.emit(detail);
3867
3597
  }
3868
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabTable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3869
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabTable, isStandalone: true, selector: "goab-table", inputs: { width: "width", variant: "variant", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onSort: "onSort" }, ngImport: i0, template: `
3598
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabTable, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3599
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabTable, isStandalone: true, selector: "goab-table", inputs: { width: "width", variant: "variant" }, outputs: { onSort: "onSort" }, usesInheritance: true, ngImport: i0, template: `
3870
3600
  <goa-table
3871
3601
  [attr.width]="width"
3872
3602
  [attr.variant]="variant"
@@ -3904,22 +3634,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
3904
3634
  </table>
3905
3635
  </goa-table>
3906
3636
  `,
3907
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
3637
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
3908
3638
  }]
3909
3639
  }], propDecorators: { width: [{
3910
3640
  type: Input
3911
3641
  }], variant: [{
3912
3642
  type: Input
3913
- }], testId: [{
3914
- type: Input
3915
- }], mt: [{
3916
- type: Input
3917
- }], mb: [{
3918
- type: Input
3919
- }], ml: [{
3920
- type: Input
3921
- }], mr: [{
3922
- type: Input
3923
3643
  }], onSort: [{
3924
3644
  type: Output
3925
3645
  }] } });
@@ -4058,14 +3778,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
4058
3778
  type: Input
4059
3779
  }] } });
4060
3780
 
4061
- class GoabTextArea {
3781
+ class GoabTextArea extends GoabControlValueAccessor {
4062
3782
  constructor() {
4063
- this.value = "";
3783
+ super(...arguments);
4064
3784
  this.countBy = "";
4065
3785
  this.maxCount = -1;
4066
3786
  this.onChange = new EventEmitter();
4067
3787
  this.onKeyPress = new EventEmitter();
4068
- this.touched = false;
4069
3788
  }
4070
3789
  _onChange(e) {
4071
3790
  const detail = e.detail;
@@ -4078,32 +3797,14 @@ class GoabTextArea {
4078
3797
  this.markAsTouched();
4079
3798
  this.onKeyPress.emit(detail);
4080
3799
  }
4081
- markAsTouched() {
4082
- if (!this.touched) {
4083
- this.fcTouched?.();
4084
- this.touched = true;
4085
- }
4086
- }
4087
- writeValue(value) {
4088
- this.value = value;
4089
- }
4090
- registerOnChange(fn) {
4091
- this.fcChange = fn;
4092
- }
4093
- registerOnTouched(fn) {
4094
- this.fcTouched = fn;
4095
- }
4096
- setDisabledState(isDisabled) {
4097
- this.disabled = isDisabled;
4098
- }
4099
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabTextArea, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabTextArea, isStandalone: true, selector: "goab-textarea", inputs: { name: "name", value: "value", id: "id", placeholder: "placeholder", rows: "rows", error: "error", disabled: "disabled", readOnly: "readOnly", width: "width", ariaLabel: "ariaLabel", countBy: "countBy", maxCount: "maxCount", maxWidth: "maxWidth", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, outputs: { onChange: "onChange", onKeyPress: "onKeyPress" }, providers: [
3800
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabTextArea, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3801
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabTextArea, isStandalone: true, selector: "goab-textarea", inputs: { name: "name", placeholder: "placeholder", rows: "rows", readOnly: "readOnly", width: "width", ariaLabel: "ariaLabel", countBy: "countBy", maxCount: "maxCount", maxWidth: "maxWidth" }, outputs: { onChange: "onChange", onKeyPress: "onKeyPress" }, providers: [
4101
3802
  {
4102
3803
  provide: NG_VALUE_ACCESSOR,
4103
3804
  multi: true,
4104
3805
  useExisting: forwardRef(() => GoabTextArea),
4105
- }
4106
- ], ngImport: i0, template: `
3806
+ },
3807
+ ], usesInheritance: true, ngImport: i0, template: `
4107
3808
  <goa-textarea
4108
3809
  [attr.name]="name"
4109
3810
  [attr.value]="value"
@@ -4163,23 +3864,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
4163
3864
  provide: NG_VALUE_ACCESSOR,
4164
3865
  multi: true,
4165
3866
  useExisting: forwardRef(() => GoabTextArea),
4166
- }
4167
- ]
3867
+ },
3868
+ ],
4168
3869
  }]
4169
3870
  }], propDecorators: { name: [{
4170
3871
  type: Input
4171
- }], value: [{
4172
- type: Input
4173
- }], id: [{
4174
- type: Input
4175
3872
  }], placeholder: [{
4176
3873
  type: Input
4177
3874
  }], rows: [{
4178
3875
  type: Input
4179
- }], error: [{
4180
- type: Input
4181
- }], disabled: [{
4182
- type: Input
4183
3876
  }], readOnly: [{
4184
3877
  type: Input
4185
3878
  }], width: [{
@@ -4192,25 +3885,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
4192
3885
  type: Input
4193
3886
  }], maxWidth: [{
4194
3887
  type: Input
4195
- }], testId: [{
4196
- type: Input
4197
- }], mt: [{
4198
- type: Input
4199
- }], mb: [{
4200
- type: Input
4201
- }], ml: [{
4202
- type: Input
4203
- }], mr: [{
4204
- type: Input
4205
3888
  }], onChange: [{
4206
3889
  type: Output
4207
3890
  }], onKeyPress: [{
4208
3891
  type: Output
4209
3892
  }] } });
4210
3893
 
4211
- class GoabTooltip {
4212
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabTooltip, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4213
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabTooltip, isStandalone: true, selector: "goab-tooltip", inputs: { position: "position", content: "content", hAlign: "hAlign", testId: "testId", mt: "mt", mb: "mb", ml: "ml", mr: "mr" }, ngImport: i0, template: `
3894
+ class GoabTooltip extends GoabBaseComponent {
3895
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabTooltip, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3896
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: GoabTooltip, isStandalone: true, selector: "goab-tooltip", inputs: { position: "position", content: "content", hAlign: "hAlign" }, usesInheritance: true, ngImport: i0, template: `
4214
3897
  <goa-tooltip
4215
3898
  [attr.position]="position"
4216
3899
  [attr.content]="content"
@@ -4244,7 +3927,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
4244
3927
  <ng-content />
4245
3928
  </goa-tooltip>
4246
3929
  `,
4247
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
3930
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
4248
3931
  }]
4249
3932
  }], propDecorators: { position: [{
4250
3933
  type: Input
@@ -4252,16 +3935,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
4252
3935
  type: Input
4253
3936
  }], hAlign: [{
4254
3937
  type: Input
4255
- }], testId: [{
4256
- type: Input
4257
- }], mt: [{
4258
- type: Input
4259
- }], mb: [{
4260
- type: Input
4261
- }], ml: [{
4262
- type: Input
4263
- }], mr: [{
4264
- type: Input
4265
3938
  }] } });
4266
3939
 
4267
3940
  /**