@testgorilla/tgo-ui 4.1.2-beta → 4.1.3-beta

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 (141) hide show
  1. package/components/autocomplete/autocomplete.component.d.ts +1 -1
  2. package/components/autocomplete/autocomplete.component.module.d.ts +7 -8
  3. package/components/autocomplete/index.d.ts +5 -0
  4. package/components/autocomplete/public-api.d.ts +4 -0
  5. package/components/avatar/avatar.component.module.d.ts +1 -1
  6. package/components/avatar/index.d.ts +5 -0
  7. package/components/avatar/public-api.d.ts +4 -0
  8. package/components/card/index.d.ts +5 -0
  9. package/components/card/public-api.d.ts +4 -0
  10. package/components/checkbox/checkbox.component.d.ts +1 -1
  11. package/components/checkbox/checkbox.component.module.d.ts +4 -5
  12. package/components/checkbox/index.d.ts +5 -0
  13. package/components/checkbox/public-api.d.ts +4 -0
  14. package/components/core/has-validation-error.pipe.d.ts +15 -0
  15. package/components/core/keyboard-events.model.d.ts +11 -0
  16. package/components/core/public-api.d.ts +7 -0
  17. package/components/core/select-text.directive.d.ts +19 -0
  18. package/components/datepicker/datepicker.component.module.d.ts +1 -1
  19. package/components/dropdown/dropdown.component.module.d.ts +2 -3
  20. package/components/dropdown/index.d.ts +5 -0
  21. package/components/dropdown/public-api.d.ts +4 -0
  22. package/components/empty-state/index.d.ts +5 -0
  23. package/components/empty-state/public-api.d.ts +4 -0
  24. package/components/field/field.component.d.ts +1 -1
  25. package/components/field/field.component.module.d.ts +3 -5
  26. package/components/field/index.d.ts +5 -0
  27. package/components/field/public-api.d.ts +4 -0
  28. package/components/file-upload/file-upload.component.module.d.ts +1 -1
  29. package/components/filter-button/filter-button.component.module.d.ts +3 -3
  30. package/components/filter-button/index.d.ts +5 -0
  31. package/components/filter-button/public-api.d.ts +4 -0
  32. package/components/inline-field/index.d.ts +5 -0
  33. package/components/inline-field/inline-field.component.d.ts +2 -2
  34. package/components/inline-field/inline-field.component.module.d.ts +1 -1
  35. package/components/inline-field/public-api.d.ts +4 -0
  36. package/components/logo/index.d.ts +5 -0
  37. package/components/logo/public-api.d.ts +4 -0
  38. package/components/multi-input/multi-input.component.module.d.ts +5 -6
  39. package/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.d.ts +1 -1
  40. package/components/navbar/navbar.component.d.ts +2 -2
  41. package/components/navbar/navbar.component.module.d.ts +2 -2
  42. package/components/paginator/index.d.ts +5 -0
  43. package/components/paginator/public-api.d.ts +3 -0
  44. package/components/password-criteria/password.component.module.d.ts +2 -2
  45. package/components/password-strength/password-strength.component.module.d.ts +1 -1
  46. package/components/phone-input/phone-input.component.module.d.ts +2 -2
  47. package/components/progress-bar/index.d.ts +5 -0
  48. package/components/progress-bar/public-api.d.ts +3 -0
  49. package/components/prompt/prompt.component.d.ts +1 -1
  50. package/components/prompt/prompt.module.d.ts +3 -3
  51. package/components/radial-progress/index.d.ts +5 -0
  52. package/components/radial-progress/public-api.d.ts +4 -0
  53. package/components/radio-button/index.d.ts +5 -0
  54. package/components/radio-button/public-api.d.ts +4 -0
  55. package/components/radio-button/radio-button.component.d.ts +1 -1
  56. package/components/radio-button/radio-button.component.module.d.ts +1 -1
  57. package/components/rating/index.d.ts +5 -0
  58. package/components/rating/public-api.d.ts +3 -0
  59. package/components/scale/index.d.ts +5 -0
  60. package/components/scale/public-api.d.ts +3 -0
  61. package/components/segmented-bar/index.d.ts +5 -0
  62. package/components/segmented-bar/public-api.d.ts +4 -0
  63. package/components/segmented-button/index.d.ts +5 -0
  64. package/components/segmented-button/public-api.d.ts +4 -0
  65. package/components/selectable-card/selectable-card.component.d.ts +1 -1
  66. package/components/selectable-card/selectable-card.component.module.d.ts +2 -2
  67. package/components/side-sheet/side-sheet.component.module.d.ts +1 -1
  68. package/components/slider/index.d.ts +5 -0
  69. package/components/slider/public-api.d.ts +4 -0
  70. package/components/spider-chart/spider-chart.module.d.ts +1 -1
  71. package/components/spinner/index.d.ts +5 -0
  72. package/components/spinner/public-api.d.ts +4 -0
  73. package/components/stepper/stepper.component.module.d.ts +1 -1
  74. package/components/table/table.component.module.d.ts +1 -1
  75. package/components/tag/index.d.ts +5 -0
  76. package/components/tag/public-api.d.ts +4 -0
  77. package/components/toggle/index.d.ts +5 -0
  78. package/components/toggle/public-api.d.ts +3 -0
  79. package/components/toggle/toggle.component.module.d.ts +1 -1
  80. package/components/universal-skills-report/universal-skills-report.component.module.d.ts +1 -1
  81. package/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.d.ts +1 -1
  82. package/components/validation-error/index.d.ts +5 -0
  83. package/components/validation-error/public-api.d.ts +3 -0
  84. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs +1045 -0
  85. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs.map +1 -0
  86. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs +173 -0
  87. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs.map +1 -0
  88. package/fesm2022/testgorilla-tgo-ui-components-card.mjs +164 -0
  89. package/fesm2022/testgorilla-tgo-ui-components-card.mjs.map +1 -0
  90. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs +402 -0
  91. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs.map +1 -0
  92. package/fesm2022/testgorilla-tgo-ui-components-core.mjs +240 -1
  93. package/fesm2022/testgorilla-tgo-ui-components-core.mjs.map +1 -1
  94. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs +434 -0
  95. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs.map +1 -0
  96. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs +326 -0
  97. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs.map +1 -0
  98. package/fesm2022/testgorilla-tgo-ui-components-field.mjs +638 -0
  99. package/fesm2022/testgorilla-tgo-ui-components-field.mjs.map +1 -0
  100. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs +314 -0
  101. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs.map +1 -0
  102. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs +367 -0
  103. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs.map +1 -0
  104. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs +218 -0
  105. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs.map +1 -0
  106. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs +110 -0
  107. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs.map +1 -0
  108. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs +128 -0
  109. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs.map +1 -0
  110. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs +152 -0
  111. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs.map +1 -0
  112. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs +373 -0
  113. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs.map +1 -0
  114. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs +150 -0
  115. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs.map +1 -0
  116. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs +158 -0
  117. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs.map +1 -0
  118. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs +137 -0
  119. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs.map +1 -0
  120. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs +128 -0
  121. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs.map +1 -0
  122. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs +274 -0
  123. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs.map +1 -0
  124. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs +108 -0
  125. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs.map +1 -0
  126. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs +239 -0
  127. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs.map +1 -0
  128. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs +216 -0
  129. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs.map +1 -0
  130. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs +79 -0
  131. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs.map +1 -0
  132. package/fesm2022/testgorilla-tgo-ui.mjs +3057 -9093
  133. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  134. package/package.json +99 -7
  135. package/public-api.d.ts +0 -63
  136. /package/{directives → components/autocomplete}/select-text.directive.d.ts +0 -0
  137. /package/{pipes → components/avatar}/name-initials.pipe.d.ts +0 -0
  138. /package/{utils → components/core}/autocomplete-utils.d.ts +0 -0
  139. /package/{models → components/core}/checkbox.model.d.ts +0 -0
  140. /package/{directives → components/core}/digits-only.directive.d.ts +0 -0
  141. /package/{utils → components/core}/hex-to-rgb.d.ts +0 -0
@@ -0,0 +1,152 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Output, Input, HostBinding, Optional, Inject, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/material/progress-spinner';
4
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
5
+ import * as i2 from '@testgorilla/tgo-ui/components/button';
6
+ import { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';
7
+ import { CommonModule } from '@angular/common';
8
+
9
+ var RadialProgressSizeValue;
10
+ (function (RadialProgressSizeValue) {
11
+ RadialProgressSizeValue[RadialProgressSizeValue["LARGE"] = 64] = "LARGE";
12
+ RadialProgressSizeValue[RadialProgressSizeValue["SMALL"] = 40] = "SMALL";
13
+ })(RadialProgressSizeValue || (RadialProgressSizeValue = {}));
14
+ var RadialProgressSizeEnum;
15
+ (function (RadialProgressSizeEnum) {
16
+ RadialProgressSizeEnum["LARGE"] = "large";
17
+ RadialProgressSizeEnum["SMALL"] = "small";
18
+ })(RadialProgressSizeEnum || (RadialProgressSizeEnum = {}));
19
+
20
+ class RadialProgressComponent {
21
+ constructor(defaultAppTheme) {
22
+ this.defaultAppTheme = defaultAppTheme;
23
+ /**
24
+ * The size of the component. Defaults to 'small'.
25
+ * @type {RadialProgressSize}
26
+ * @memberof RadialProgressComponent
27
+ */
28
+ this.size = RadialProgressSizeEnum.SMALL;
29
+ /**
30
+ * The current value of the progress. Defaults to 0.
31
+ * @type {number}
32
+ * @memberof RadialProgressComponent
33
+ */
34
+ this.value = 0;
35
+ /**
36
+ * The value of the total progress. Used to set the cap and used for percentage calculations. Defaults to 0.
37
+ * @type {number}
38
+ * @memberof RadialProgressComponent
39
+ */
40
+ this.total = 0;
41
+ /**
42
+ * @type {number}
43
+ * @memberof RadialProgressComponent
44
+ */
45
+ this.variant = 'number';
46
+ /**
47
+ * @type {boolean}
48
+ * @memberof RadialProgressComponent
49
+ */
50
+ this.showPercentageSign = true;
51
+ /**
52
+ * Icon for icon button
53
+ * @type {number}
54
+ * @memberof RadialProgressComponent
55
+ */
56
+ this.icon = '';
57
+ /**
58
+ * The tooltip that is displayed on hover. Required for icon-button
59
+ * @type {number}
60
+ * @memberof RadialProgressComponent
61
+ */
62
+ this.buttonTooltip = '';
63
+ /**
64
+ *
65
+ * Defines the application theme
66
+ *
67
+ * @type {ApplicationTheme}
68
+ * @memberof ButtonComponent
69
+ */
70
+ this.applicationTheme = 'light';
71
+ this.buttonClicked = new EventEmitter();
72
+ this.radialProgressSize = RadialProgressSizeEnum;
73
+ if (defaultAppTheme) {
74
+ this.applicationTheme = defaultAppTheme;
75
+ }
76
+ }
77
+ ngOnChanges(changes) {
78
+ if (!changes['companyColor']) {
79
+ this.companyColor = this.applicationTheme === 'classic' ? '#46A997' : '#D410AA';
80
+ }
81
+ }
82
+ get progressSize() {
83
+ return this.size === RadialProgressSizeEnum.SMALL ? RadialProgressSizeValue.SMALL : RadialProgressSizeValue.LARGE;
84
+ }
85
+ get percentage() {
86
+ return Math.round(this.total ? (this.value * 100) / this.total : 0);
87
+ }
88
+ get strokeWidth() {
89
+ return this.variant === 'thin' || this.variant === 'empty-thin' ? 4 : 8;
90
+ }
91
+ get displayValue() {
92
+ return this.showPercentageSign ? `${this.percentage}%` : `${this.percentage}`;
93
+ }
94
+ onButtonClick(ev) {
95
+ this.buttonClicked.emit(ev);
96
+ }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RadialProgressComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: RadialProgressComponent, isStandalone: false, selector: "ui-radial-progress", inputs: { size: "size", value: "value", total: "total", variant: "variant", showPercentageSign: "showPercentageSign", icon: "icon", buttonTooltip: "buttonTooltip", companyColor: "companyColor", applicationTheme: "applicationTheme" }, outputs: { buttonClicked: "buttonClicked" }, host: { properties: { "style.--color": "this.companyColor" } }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"radial-progress-container\"\n [attr.theme]=\"applicationTheme\"\n [style.width]=\"progressSize + 'px'\"\n [style.height]=\"progressSize + 'px'\"\n>\n <div class=\"background\" [style.border-width]=\"strokeWidth + 'px'\"></div>\n\n <mat-progress-spinner\n [strokeWidth]=\"strokeWidth\"\n [diameter]=\"progressSize\"\n [value]=\"percentage\"\n ></mat-progress-spinner>\n\n <div\n class=\"inner-container\"\n [class.small-font]=\"(variant === 'thin' || variant === 'empty-thin') && percentage !== 100\"\n [class.tiny-font]=\"percentage === 100 && showPercentageSign && variant === 'thin'\"\n >\n @if (variant === 'empty' || variant === 'empty-thin') {\n <div>{{ '-' }}</div>\n } @else if (variant === 'icon-button' && size !== 'small') {\n <ui-button\n [tooltip]=\"buttonTooltip\"\n [iconName]=\"icon\"\n [variant]=\"'icon-button'\"\n (click)=\"onButtonClick($event)\"\n [applicationTheme]=\"applicationTheme\"\n ></ui-button>\n } @else if (size === radialProgressSize.LARGE || variant === 'thin') {\n <div>\n {{ displayValue }}\n </div>\n }\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host .radial-progress-container{position:relative}:host .radial-progress-container .inner-container,:host .radial-progress-container .background{position:absolute;top:0;left:0;width:100%;height:100%}:host .radial-progress-container .background{border:solid #E0E0E0;border-radius:50%}:host .radial-progress-container .inner-container{display:flex;align-items:center;justify-content:center;color:#276678;font-size:14px;font-weight:700}:host .radial-progress-container .inner-container.small-font{font-size:12px}:host .radial-progress-container .inner-container.tiny-font{font-size:10px}:host .radial-progress-container ::ng-deep .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,:host .radial-progress-container .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--color);stroke-linecap:round}:host .radial-progress-container[theme=dark] .inner-container,:host .radial-progress-container[theme=light] .inner-container{color:#242424}\n"], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i2.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RadialProgressComponent, decorators: [{
101
+ type: Component,
102
+ args: [{ selector: 'ui-radial-progress', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div\n class=\"radial-progress-container\"\n [attr.theme]=\"applicationTheme\"\n [style.width]=\"progressSize + 'px'\"\n [style.height]=\"progressSize + 'px'\"\n>\n <div class=\"background\" [style.border-width]=\"strokeWidth + 'px'\"></div>\n\n <mat-progress-spinner\n [strokeWidth]=\"strokeWidth\"\n [diameter]=\"progressSize\"\n [value]=\"percentage\"\n ></mat-progress-spinner>\n\n <div\n class=\"inner-container\"\n [class.small-font]=\"(variant === 'thin' || variant === 'empty-thin') && percentage !== 100\"\n [class.tiny-font]=\"percentage === 100 && showPercentageSign && variant === 'thin'\"\n >\n @if (variant === 'empty' || variant === 'empty-thin') {\n <div>{{ '-' }}</div>\n } @else if (variant === 'icon-button' && size !== 'small') {\n <ui-button\n [tooltip]=\"buttonTooltip\"\n [iconName]=\"icon\"\n [variant]=\"'icon-button'\"\n (click)=\"onButtonClick($event)\"\n [applicationTheme]=\"applicationTheme\"\n ></ui-button>\n } @else if (size === radialProgressSize.LARGE || variant === 'thin') {\n <div>\n {{ displayValue }}\n </div>\n }\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host .radial-progress-container{position:relative}:host .radial-progress-container .inner-container,:host .radial-progress-container .background{position:absolute;top:0;left:0;width:100%;height:100%}:host .radial-progress-container .background{border:solid #E0E0E0;border-radius:50%}:host .radial-progress-container .inner-container{display:flex;align-items:center;justify-content:center;color:#276678;font-size:14px;font-weight:700}:host .radial-progress-container .inner-container.small-font{font-size:12px}:host .radial-progress-container .inner-container.tiny-font{font-size:10px}:host .radial-progress-container ::ng-deep .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,:host .radial-progress-container .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--color);stroke-linecap:round}:host .radial-progress-container[theme=dark] .inner-container,:host .radial-progress-container[theme=light] .inner-container{color:#242424}\n"] }]
103
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
104
+ type: Optional
105
+ }, {
106
+ type: Inject,
107
+ args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
108
+ }] }], propDecorators: { size: [{
109
+ type: Input
110
+ }], value: [{
111
+ type: Input
112
+ }], total: [{
113
+ type: Input
114
+ }], variant: [{
115
+ type: Input
116
+ }], showPercentageSign: [{
117
+ type: Input
118
+ }], icon: [{
119
+ type: Input
120
+ }], buttonTooltip: [{
121
+ type: Input
122
+ }], companyColor: [{
123
+ type: HostBinding,
124
+ args: ['style.--color']
125
+ }, {
126
+ type: Input
127
+ }], applicationTheme: [{
128
+ type: Input
129
+ }], buttonClicked: [{
130
+ type: Output
131
+ }] } });
132
+
133
+ class RadialProgressComponentModule {
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RadialProgressComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
135
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: RadialProgressComponentModule, declarations: [RadialProgressComponent], imports: [CommonModule, MatProgressSpinnerModule, ButtonComponentModule], exports: [RadialProgressComponent] }); }
136
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RadialProgressComponentModule, imports: [CommonModule, MatProgressSpinnerModule, ButtonComponentModule] }); }
137
+ }
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RadialProgressComponentModule, decorators: [{
139
+ type: NgModule,
140
+ args: [{
141
+ declarations: [RadialProgressComponent],
142
+ exports: [RadialProgressComponent],
143
+ imports: [CommonModule, MatProgressSpinnerModule, ButtonComponentModule],
144
+ }]
145
+ }] });
146
+
147
+ /**
148
+ * Generated bundle index. Do not edit.
149
+ */
150
+
151
+ export { RadialProgressComponent, RadialProgressComponentModule, RadialProgressSizeEnum, RadialProgressSizeValue };
152
+ //# sourceMappingURL=testgorilla-tgo-ui-components-radial-progress.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testgorilla-tgo-ui-components-radial-progress.mjs","sources":["../../../components/radial-progress/radial-progress.model.ts","../../../components/radial-progress/radial-progress.component.ts","../../../components/radial-progress/radial-progress.component.html","../../../components/radial-progress/radial-progress.component.module.ts","../../../components/radial-progress/testgorilla-tgo-ui-components-radial-progress.ts"],"sourcesContent":["export type RadialProgressSize = 'large' | 'small';\n\nexport enum RadialProgressSizeValue {\n LARGE = 64,\n SMALL = 40,\n}\n\nexport enum RadialProgressSizeEnum {\n LARGE = 'large',\n SMALL = 'small',\n}\n\nexport type RadialProgressVariant = 'number' | 'icon-button' | 'thin' | 'empty' | 'empty-thin';\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {\n RadialProgressSize,\n RadialProgressSizeEnum,\n RadialProgressSizeValue,\n RadialProgressVariant,\n} from './radial-progress.model';\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\nimport { IconName } from '@testgorilla/tgo-ui/components/icon';\n\n@Component({\n selector: 'ui-radial-progress',\n templateUrl: './radial-progress.component.html',\n styleUrls: ['./radial-progress.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class RadialProgressComponent {\n /**\n * The size of the component. Defaults to 'small'.\n * @type {RadialProgressSize}\n * @memberof RadialProgressComponent\n */\n @Input() size: RadialProgressSize = RadialProgressSizeEnum.SMALL;\n /**\n * The current value of the progress. Defaults to 0.\n * @type {number}\n * @memberof RadialProgressComponent\n */\n @Input() value = 0;\n /**\n * The value of the total progress. Used to set the cap and used for percentage calculations. Defaults to 0.\n * @type {number}\n * @memberof RadialProgressComponent\n */\n @Input() total = 0;\n\n /**\n * @type {number}\n * @memberof RadialProgressComponent\n */\n @Input() variant: RadialProgressVariant = 'number';\n\n /**\n * @type {boolean}\n * @memberof RadialProgressComponent\n */\n @Input() showPercentageSign = true;\n\n /**\n * Icon for icon button\n * @type {number}\n * @memberof RadialProgressComponent\n */\n @Input() icon: IconName = '';\n\n /**\n * The tooltip that is displayed on hover. Required for icon-button\n * @type {number}\n * @memberof RadialProgressComponent\n */\n @Input() buttonTooltip = '';\n\n /**\n * Color of the progress bar.\n * Defaults to Test Gorilla primary color.\n *\n * @type {string}\n * @memberof RadialProgressComponent\n */\n @HostBinding('style.--color')\n @Input()\n companyColor: string | null;\n\n /**\n *\n * Defines the application theme\n *\n * @type {ApplicationTheme}\n * @memberof ButtonComponent\n */\n @Input() applicationTheme: ApplicationTheme = 'light';\n\n @Output() buttonClicked = new EventEmitter<Event>();\n\n protected radialProgressSize = RadialProgressSizeEnum;\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes['companyColor']) {\n this.companyColor = this.applicationTheme === 'classic' ? '#46A997' : '#D410AA';\n }\n }\n\n protected get progressSize(): number {\n return this.size === RadialProgressSizeEnum.SMALL ? RadialProgressSizeValue.SMALL : RadialProgressSizeValue.LARGE;\n }\n\n protected get percentage(): number {\n return Math.round(this.total ? (this.value * 100) / this.total : 0);\n }\n\n protected get strokeWidth(): number {\n return this.variant === 'thin' || this.variant === 'empty-thin' ? 4 : 8;\n }\n\n protected get displayValue(): string {\n return this.showPercentageSign ? `${this.percentage}%` : `${this.percentage}`;\n }\n\n protected onButtonClick(ev: Event): void {\n this.buttonClicked.emit(ev);\n }\n}\n","<div\n class=\"radial-progress-container\"\n [attr.theme]=\"applicationTheme\"\n [style.width]=\"progressSize + 'px'\"\n [style.height]=\"progressSize + 'px'\"\n>\n <div class=\"background\" [style.border-width]=\"strokeWidth + 'px'\"></div>\n\n <mat-progress-spinner\n [strokeWidth]=\"strokeWidth\"\n [diameter]=\"progressSize\"\n [value]=\"percentage\"\n ></mat-progress-spinner>\n\n <div\n class=\"inner-container\"\n [class.small-font]=\"(variant === 'thin' || variant === 'empty-thin') && percentage !== 100\"\n [class.tiny-font]=\"percentage === 100 && showPercentageSign && variant === 'thin'\"\n >\n @if (variant === 'empty' || variant === 'empty-thin') {\n <div>{{ '-' }}</div>\n } @else if (variant === 'icon-button' && size !== 'small') {\n <ui-button\n [tooltip]=\"buttonTooltip\"\n [iconName]=\"icon\"\n [variant]=\"'icon-button'\"\n (click)=\"onButtonClick($event)\"\n [applicationTheme]=\"applicationTheme\"\n ></ui-button>\n } @else if (size === radialProgressSize.LARGE || variant === 'thin') {\n <div>\n {{ displayValue }}\n </div>\n }\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RadialProgressComponent } from './radial-progress.component';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';\n\n@NgModule({\n declarations: [RadialProgressComponent],\n exports: [RadialProgressComponent],\n imports: [CommonModule, MatProgressSpinnerModule, ButtonComponentModule],\n})\nexport class RadialProgressComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,373 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, ViewChild, Output, Input, HostBinding, HostListener, Optional, Inject, Self, Host, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import * as i1 from '@angular/forms';
5
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
+ import * as i2 from '@angular/cdk/a11y';
7
+ import * as i3 from '@angular/common';
8
+ import { CommonModule } from '@angular/common';
9
+ import * as i4 from '@angular/material/radio';
10
+ import { MatRadioModule } from '@angular/material/radio';
11
+ import * as i5 from '@testgorilla/tgo-ui/components/core';
12
+ import { EllipseTextDirective } from '@testgorilla/tgo-ui/components/core';
13
+ import * as i6 from '@angular/material/tooltip';
14
+ import { MatTooltipModule } from '@angular/material/tooltip';
15
+ import { MatInputModule } from '@angular/material/input';
16
+ import { MatCheckboxModule } from '@angular/material/checkbox';
17
+ import { FocusVisibleDirective } from '@testgorilla/tgo-ui/components/checkbox';
18
+
19
+ /* eslint-disable no-underscore-dangle */
20
+ class RadioButtonComponent {
21
+ onHostClick(event) {
22
+ if (event.target?.classList?.value?.includes?.('mat-mdc-radio-button') || event.target?.classList?.value?.includes?.('mdc-form-field')) {
23
+ this.radioElement._inputElement.nativeElement.click();
24
+ }
25
+ }
26
+ get selected() {
27
+ return this._selected;
28
+ }
29
+ set selected(selected) {
30
+ this._selected = selected;
31
+ }
32
+ constructor(defaultAppTheme, ngControl, hostNgControl, destroyRef, focusMonitor, ngZone, cdr) {
33
+ this.defaultAppTheme = defaultAppTheme;
34
+ this.ngControl = ngControl;
35
+ this.hostNgControl = hostNgControl;
36
+ this.destroyRef = destroyRef;
37
+ this.focusMonitor = focusMonitor;
38
+ this.ngZone = ngZone;
39
+ this.cdr = cdr;
40
+ /**
41
+ * Determines whether the radio button is disabled.
42
+ * Default: false.
43
+ *
44
+ * @type {boolean}
45
+ * @memberof RadioButtonComponent
46
+ */
47
+ this.disabled = false;
48
+ /**
49
+ * Determines whether the radio button is checked.
50
+ * Default: false.
51
+ *
52
+ * @type {boolean}
53
+ * @memberof RadioButtonComponent
54
+ */
55
+ //@Input() selected = false;
56
+ this._selected = false;
57
+ /**
58
+ * Determines whether the radio button can be unchecked.
59
+ * Default: false.
60
+ *
61
+ * @type {boolean}
62
+ * @memberof RadioButtonComponent
63
+ */
64
+ this.allowUnselect = false;
65
+ /**
66
+ * Determines the radio button color.
67
+ * Default: Test Gorilla primary color.
68
+ *
69
+ * @type {string}
70
+ * @memberof RadioButtonComponent
71
+ */
72
+ this.companyColor = null;
73
+ /**
74
+ * Used to group radios for unique selection.
75
+ *
76
+ * @type {string}
77
+ * @memberof RadioButtonComponent
78
+ */
79
+ this.name = '';
80
+ /**
81
+ * Text content will be applied to the input element if present.
82
+ *
83
+ * @type {string}
84
+ * @memberof RadioButtonComponent
85
+ */
86
+ this.label = '';
87
+ /**
88
+ * Determines whether the radio button is a multiple choice cell.
89
+ * Default: false
90
+ *
91
+ * @type {boolean}
92
+ * @memberof RadioButtonComponent
93
+ */
94
+ this.multiple = false;
95
+ /**
96
+ *
97
+ * Defines the application theme
98
+ *
99
+ * @type {ApplicationTheme}
100
+ * @memberof RadioButtonComponent
101
+ */
102
+ this.applicationTheme = 'light';
103
+ /**
104
+ * A string representing the ARIA requirement for accessibility.
105
+ * This attribute is used to indicate whether an input field is required for form submission.
106
+ * @type {boolean}
107
+ * @memberof RadioButtonComponent
108
+ */
109
+ this.ariaRequired = false;
110
+ /**
111
+ * Defines if checkbox has error
112
+ *
113
+ * @type {boolean}
114
+ * @memberof RadioButtonComponent
115
+ */
116
+ this.hasError = false;
117
+ /**
118
+ * A string representing the ARIA requirement for accessibility.
119
+ * This attribute is used to indicate whether an input field is required for form submission.
120
+ * @type {string}
121
+ * @memberof RadioButtonComponent
122
+ */
123
+ this.ariaLabelledby = '';
124
+ /**
125
+ * A string representing the ARIA requirement for accessibility.
126
+ * This attribute is used to indicate whether an input field is required for form submission.
127
+ * @type {string}
128
+ * @memberof RadioButtonComponent
129
+ */
130
+ this.ariaDescribedby = '';
131
+ /**
132
+ * Truncate text if it is too long
133
+ * @type {boolean}
134
+ * @memberof RadioButtonComponent
135
+ */
136
+ this.truncateText = false;
137
+ /**
138
+ * Text alignment
139
+ * @type {'center' | 'top'}
140
+ * @memberof RadioButtonComponent
141
+ */
142
+ this.alignment = 'center';
143
+ /**
144
+ * Sets the tab index for the checkbox component.
145
+ * This determines the order in which elements receive focus when the user navigates through them using the Tab key.
146
+ * Default value is 0.
147
+ *
148
+ * @type {number}
149
+ * @memberof RadioButtonComponent
150
+ */
151
+ this.tabIndex = 0;
152
+ /**
153
+ * Show tooltip when label is truncated
154
+ * @type {boolean}
155
+ * @memberof RadioButtonComponent
156
+ */
157
+ this.hideTooltipOnEllipsis = false;
158
+ /**
159
+ * Event emitted when the checked state of the radio button changes.
160
+ *
161
+ * @type {boolean}
162
+ * @memberof RadioButtonComponent
163
+ */
164
+ this.changeRadio = new EventEmitter();
165
+ this.showTooltip = false;
166
+ this.origin = null;
167
+ this.onChange = (_) => { };
168
+ /**
169
+ * @ignore
170
+ */
171
+ this.onTouch = () => { };
172
+ if (defaultAppTheme) {
173
+ this.applicationTheme = defaultAppTheme;
174
+ }
175
+ if (this.ngControl != null) {
176
+ this.ngControl.valueAccessor = this;
177
+ }
178
+ }
179
+ ngOnInit() {
180
+ this.checkHost();
181
+ this.classMultiple = this.setClass();
182
+ }
183
+ ngOnChanges(changes) {
184
+ if (changes['selected']) {
185
+ this.classMultiple = this.setClass();
186
+ }
187
+ this.setCompanyColor();
188
+ }
189
+ ngAfterViewInit() {
190
+ this.radioElement._inputElement.nativeElement.setAttribute('role', 'radio');
191
+ this.radioElement._inputElement.nativeElement.onclick = () => {
192
+ this.clickRadio();
193
+ };
194
+ this.focusMonitor.monitor(this.radioElement._inputElement.nativeElement).pipe(takeUntilDestroyed(this.destroyRef)).subscribe(origin => this.ngZone.run(() => {
195
+ this.origin = origin;
196
+ this.cdr.markForCheck();
197
+ this.onFocus(origin === 'keyboard');
198
+ }));
199
+ }
200
+ ngOnDestroy() {
201
+ this.focusMonitor.stopMonitoring(this.radioElement._inputElement.nativeElement);
202
+ }
203
+ //Click method
204
+ clickRadio() {
205
+ if (this.allowUnselect) {
206
+ this.radioElement.checked = !this.radioElement.checked;
207
+ this._selected = this.radioElement.checked;
208
+ this.classMultiple = this.setClass();
209
+ this.selected = this.radioElement.checked;
210
+ this.changeRadio?.emit({ optionName: this.radioElement.value, optionChecked: this.radioElement.checked });
211
+ }
212
+ else {
213
+ this.selected = this.radioElement.checked;
214
+ this.changeRadio.emit({ optionName: this.radioElement.value, optionChecked: true });
215
+ }
216
+ if (this.disabled) {
217
+ this._selected = false;
218
+ this.changeRadio.emit({ optionName: '', optionChecked: false });
219
+ }
220
+ this.onChange(this._selected);
221
+ }
222
+ writeValue(value) {
223
+ if (typeof value === 'boolean' || value === this.value) {
224
+ this.selected = value;
225
+ }
226
+ }
227
+ registerOnChange(fn) {
228
+ this.onChange = fn;
229
+ }
230
+ registerOnTouched(fn) {
231
+ this.onTouch = fn;
232
+ }
233
+ setDisabledState(isDisabled) {
234
+ this.disabled = isDisabled;
235
+ }
236
+ //Set class for multiple radio
237
+ setClass() {
238
+ if (this.multiple) {
239
+ return this._selected ? 'multiple-checked' : 'multiple-unchecked';
240
+ }
241
+ return '';
242
+ }
243
+ onLabelEllipsisChange(isEllipsis) {
244
+ this.showTooltip = isEllipsis && !this.hideTooltipOnEllipsis;
245
+ }
246
+ checkHost() {
247
+ if (this.hostNgControl) {
248
+ this.selected = this.value === this.hostNgControl.value;
249
+ this.hostNgControl.valueChanges?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((value) => {
250
+ this.selected = value === this.value;
251
+ this.classMultiple = this.setClass();
252
+ });
253
+ }
254
+ }
255
+ setCompanyColor() {
256
+ this.companyColor = this.companyColor ? this.companyColor : this.applicationTheme === 'classic' ? '#46A997' : '#D410AA';
257
+ }
258
+ onFocus(isFocus) {
259
+ setTimeout(() => {
260
+ if (this.tooltipElement) {
261
+ if (this.showTooltip && isFocus) {
262
+ this.tooltipElement.show();
263
+ }
264
+ else {
265
+ this.tooltipElement.hide();
266
+ }
267
+ }
268
+ }, 0);
269
+ }
270
+ focus() {
271
+ this.radioElement.focus();
272
+ }
273
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RadioButtonComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgControl, host: true, optional: true }, { token: i0.DestroyRef }, { token: i2.FocusMonitor }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
274
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: RadioButtonComponent, isStandalone: false, selector: "ui-radio-button", inputs: { disabled: "disabled", selected: "selected", allowUnselect: "allowUnselect", companyColor: "companyColor", name: "name", label: "label", multiple: "multiple", value: "value", applicationTheme: "applicationTheme", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", hasError: "hasError", ariaLabelledby: "ariaLabelledby", ariaDescribedby: "ariaDescribedby", truncateText: "truncateText", alignment: "alignment", tabIndex: "tabIndex", hideTooltipOnEllipsis: "hideTooltipOnEllipsis" }, outputs: { changeRadio: "changeRadio" }, host: { listeners: { "focus": "radioElement.focus()", "click": "onHostClick($event)" }, properties: { "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "style.--color": "this.companyColor" } }, viewQueries: [{ propertyName: "radioElement", first: true, predicate: ["radio"], descendants: true }, { propertyName: "tooltipElement", first: true, predicate: ["tooltip"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #radioContainer\n [class]=\"multiple ? 'radio-container' : 'radio'\"\n [class.multiple-disabled]=\"disabled && multiple\"\n [ngClass]=\"classMultiple\"\n [attr.alignment]=\"alignment\"\n [attr.truncate-text]=\"truncateText\"\n [attr.theme]=\"applicationTheme\"\n [attr.hasError]=\"hasError\"\n (keydown.enter)=\"clickRadio(); radioContainer.focus()\"\n (keydown.space)=\"clickRadio(); radioContainer.focus()\"\n>\n <mat-radio-button\n #radio\n [checked]=\"selected\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [value]=\"value\"\n class=\"radio-button\"\n [required]=\"ariaRequired\"\n [aria-label]=\"ariaLabel\"\n [aria-labelledby]=\"ariaLabelledby ? ariaLabelledby : label\"\n [aria-describedby]=\"ariaDescribedby\"\n (keydown.enter)=\"$event.preventDefault()\"\n (keydown.space)=\"$event.preventDefault()\"\n [tabIndex]=\"tabIndex\"\n >\n @if (label) {\n <span\n #tooltip=\"matTooltip\"\n class=\"label\"\n uiEllipseText\n (onChangeTextState)=\"onLabelEllipsisChange($event)\"\n [matTooltip]=\"showTooltip ? label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n >{{ label }}</span>\n }\n <ng-content select=\"[radio-label]\"></ng-content>\n </mat-radio-button>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.mat-mdc-radio-button.mat-accent{--mat-radio-checked-ripple-color: var(--color)!important;--mdc-radio-selected-focus-icon-color: var(--color)!important;--mdc-radio-selected-pressed-icon-color: var(--color)!important}::ng-deep .mat-mdc-radio-checked .mdc-radio__outer-circle{border-color:var(--color)!important}::ng-deep .mat-mdc-radio-checked .mdc-radio__inner-circle{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-radio-button .mat-ripple-element{background-color:var(--color)!important}::ng-deep .mat-mdc-radio-button.mat-radio-disabled.mat-radio-checked .mdc-radio__outer-circle,.mat-radio-button.mat-radio-disabled .mdc-radio__outer-circle{border-color:#888!important}::ng-deep .mat-mdc-radio-button.mat-radio-disabled .mdc-radio__inner-circle{background-color:#888!important}[theme=dark] .mat-mdc-radio-button,[theme=light] .mat-mdc-radio-button{width:100%!important}[theme=dark] ::ng-deep .mdc-form-field,[theme=light] ::ng-deep .mdc-form-field{width:100%}[theme=dark] .mat-mdc-radio-button.mat-accent,[theme=light] .mat-mdc-radio-button.mat-accent{--mdc-radio-unselected-icon-color: #242424 !important}[theme=dark] ::ng-deep .mdc-radio.mdc-radio--disabled,[theme=light] ::ng-deep .mdc-radio.mdc-radio--disabled{--mdc-radio-disabled-unselected-icon-color: #919191;--mdc-radio-disabled-selected-icon-opacity: 1;--mdc-radio-disabled-unselected-icon-opacity: 1;--color: #919191}[theme=dark] ::ng-deep .mdc-radio.mdc-radio--disabled .mdc-radio__background,[theme=light] ::ng-deep .mdc-radio.mdc-radio--disabled .mdc-radio__background{background:#e9e9e9;border-radius:100%}[theme=dark] ::ng-deep .mdc-radio__background,[theme=light] ::ng-deep .mdc-radio__background{background:#fff!important;border-radius:100%;scale:.8}[theme=dark] ::ng-deep .mdc-radio__background .mdc-radio__outer-circle,[theme=light] ::ng-deep .mdc-radio__background .mdc-radio__outer-circle{border-width:1px}[theme=dark] ::ng-deep .mat-ripple,[theme=light] ::ng-deep .mat-ripple{display:none}[haserror=true] ::ng-deep .mdc-radio__background .mdc-radio__outer-circle{border-width:2px}.multiple-checked{border:1px solid var(--color);display:flex;flex-direction:row;align-items:center;gap:16px;background:var(--color);border-radius:8px}.multiple-checked ::ng-deep .mat-mdc-radio-button{width:100%;height:100%;padding:8px}.multiple-checked ::ng-deep .mat-mdc-radio-checked .mdc-radio__outer-circle{border:1px solid #ffffff;border-radius:64px;background:#fff}.multiple-checked ::ng-deep label{color:#fff;height:100%}.multiple-checked[theme=dark][hasError=false],.multiple-checked[theme=light][hasError=false]{background:#fff;border-color:#242424;outline:1px solid #242424}.multiple-checked[theme=dark][hasError=false] ::ng-deep label,.multiple-checked[theme=light][hasError=false] ::ng-deep label{color:#242424}.multiple-checked[theme=dark][hasError=true],.multiple-checked[theme=light][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff;border-radius:10px}.multiple-checked[theme=dark][hasError=true] ::ng-deep label,.multiple-checked[theme=light][hasError=true] ::ng-deep label{color:#242424}.multiple-checked[theme=classic][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800}.multiple-unchecked{border:1px solid #E0E0E0;display:flex;flex-direction:row;align-items:center;gap:16px;background:#fff;border-radius:8px}.multiple-unchecked ::ng-deep .mat-mdc-radio-button{width:100%;height:100%;padding:8px}.multiple-unchecked:hover{background:#f6f6f6;border:1px solid #E0E0E0}.multiple-unchecked ::ng-deep label{height:100%}.multiple-unchecked ::ng-deep .mat-mdc-radio-button .mdc-radio .mdc-radio__background:before{opacity:0!important}.multiple-unchecked[theme=dark][hasError=false],.multiple-unchecked[theme=light][hasError=false]{border:1px solid #919191;background:#fff}.multiple-unchecked[theme=dark][hasError=false]:not(.multiple-disabled):hover,.multiple-unchecked[theme=light][hasError=false]:not(.multiple-disabled):hover{outline:1px solid #242424;background:#fff;border-color:#242424!important}.multiple-unchecked[hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff}.multiple-unchecked[hasError=true]:not([theme=classic]){border-radius:10px}.multiple-unchecked ::ng-deep label,.multiple-checked ::ng-deep label{padding-left:0;width:fit-content;cursor:pointer}.radio-container{cursor:pointer}.radio-container .label{cursor:pointer;-webkit-user-select:none;user-select:none}.radio-button .label{cursor:pointer;-webkit-user-select:none;user-select:none;padding-left:4px}:host *[hasError=true] .mat-mdc-radio-button.mat-accent{--mdc-radio-unselected-icon-color: #E02800 !important;--mdc-radio-unselected-hover-icon-color: #E02800 !important;--mdc-radio-unselected-focus-icon-color: #E02800 !important}:host ::ng-deep .mat-mdc-radio-touch-target{height:40px;width:40px}.radio,.radio-container{--border-width-default-state: 4px;--border-width-animation-state: 6px;width:100%}.radio[alignment=top] ::ng-deep .mdc-form-field,.radio-container[alignment=top] ::ng-deep .mdc-form-field{align-items:start}.radio[alignment=top] .label,.radio-container[alignment=top] .label{margin-top:10px}.radio[truncate-text=true] .label,.radio[truncate-text=true] ::ng-deep label,.radio-container[truncate-text=true] .label,.radio-container[truncate-text=true] ::ng-deep label{-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes focus-ring-animation{0%{outline-width:var(--border-width-animation-state)}to{outline-width:var(--border-width-default-state)}}.radio-container[hasError=true]{outline:1px solid #E02800}.radio .label{display:block;width:100%;cursor:pointer}::ng-deep .mat-mdc-radio-button.mat-accent.cdk-keyboard-focused{outline:none;--mat-radio-checked-ripple-color: transparent!important;--mat-radio-ripple-color: transparent!important}::ng-deep .mat-mdc-radio-button.mat-accent.cdk-keyboard-focused ::ng-deep .mdc-radio__background{outline:3px solid #242424;animation:focus-ring-animation .4s forwards}::ng-deep .mat-mdc-radio-button.mat-accent.cdk-keyboard-focused ::ng-deep .mdc-radio__background:after{content:\"\";position:absolute;width:100%;height:100%;top:0;left:0;outline:2px solid #ffffff;border-radius:100px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i5.EllipseTextDirective, selector: "[uiEllipseText]", inputs: ["isMultiline", "maxDiffPixels", "refresh"], outputs: ["onChangeTextState"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
275
+ }
276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RadioButtonComponent, decorators: [{
277
+ type: Component,
278
+ args: [{ selector: 'ui-radio-button', changeDetection: ChangeDetectionStrategy.OnPush, host: {
279
+ // Needs to be removed since it causes some a11y issues (https://github.com/angular/components/issues/21266).
280
+ '[attr.tabindex]': 'null',
281
+ '[attr.aria-label]': 'null',
282
+ '[attr.aria-labelledby]': 'null',
283
+ '[attr.aria-describedby]': 'null',
284
+ // Note: under normal conditions focus shouldn't land on this element, however it may be
285
+ // programmatically set, for example inside of a focus trap, in this case we want to forward
286
+ // the focus to the mat-radio-button element.
287
+ '(focus)': 'radioElement.focus()',
288
+ }, standalone: false, template: "<div\n #radioContainer\n [class]=\"multiple ? 'radio-container' : 'radio'\"\n [class.multiple-disabled]=\"disabled && multiple\"\n [ngClass]=\"classMultiple\"\n [attr.alignment]=\"alignment\"\n [attr.truncate-text]=\"truncateText\"\n [attr.theme]=\"applicationTheme\"\n [attr.hasError]=\"hasError\"\n (keydown.enter)=\"clickRadio(); radioContainer.focus()\"\n (keydown.space)=\"clickRadio(); radioContainer.focus()\"\n>\n <mat-radio-button\n #radio\n [checked]=\"selected\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [value]=\"value\"\n class=\"radio-button\"\n [required]=\"ariaRequired\"\n [aria-label]=\"ariaLabel\"\n [aria-labelledby]=\"ariaLabelledby ? ariaLabelledby : label\"\n [aria-describedby]=\"ariaDescribedby\"\n (keydown.enter)=\"$event.preventDefault()\"\n (keydown.space)=\"$event.preventDefault()\"\n [tabIndex]=\"tabIndex\"\n >\n @if (label) {\n <span\n #tooltip=\"matTooltip\"\n class=\"label\"\n uiEllipseText\n (onChangeTextState)=\"onLabelEllipsisChange($event)\"\n [matTooltip]=\"showTooltip ? label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n >{{ label }}</span>\n }\n <ng-content select=\"[radio-label]\"></ng-content>\n </mat-radio-button>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.mat-mdc-radio-button.mat-accent{--mat-radio-checked-ripple-color: var(--color)!important;--mdc-radio-selected-focus-icon-color: var(--color)!important;--mdc-radio-selected-pressed-icon-color: var(--color)!important}::ng-deep .mat-mdc-radio-checked .mdc-radio__outer-circle{border-color:var(--color)!important}::ng-deep .mat-mdc-radio-checked .mdc-radio__inner-circle{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-radio-button .mat-ripple-element{background-color:var(--color)!important}::ng-deep .mat-mdc-radio-button.mat-radio-disabled.mat-radio-checked .mdc-radio__outer-circle,.mat-radio-button.mat-radio-disabled .mdc-radio__outer-circle{border-color:#888!important}::ng-deep .mat-mdc-radio-button.mat-radio-disabled .mdc-radio__inner-circle{background-color:#888!important}[theme=dark] .mat-mdc-radio-button,[theme=light] .mat-mdc-radio-button{width:100%!important}[theme=dark] ::ng-deep .mdc-form-field,[theme=light] ::ng-deep .mdc-form-field{width:100%}[theme=dark] .mat-mdc-radio-button.mat-accent,[theme=light] .mat-mdc-radio-button.mat-accent{--mdc-radio-unselected-icon-color: #242424 !important}[theme=dark] ::ng-deep .mdc-radio.mdc-radio--disabled,[theme=light] ::ng-deep .mdc-radio.mdc-radio--disabled{--mdc-radio-disabled-unselected-icon-color: #919191;--mdc-radio-disabled-selected-icon-opacity: 1;--mdc-radio-disabled-unselected-icon-opacity: 1;--color: #919191}[theme=dark] ::ng-deep .mdc-radio.mdc-radio--disabled .mdc-radio__background,[theme=light] ::ng-deep .mdc-radio.mdc-radio--disabled .mdc-radio__background{background:#e9e9e9;border-radius:100%}[theme=dark] ::ng-deep .mdc-radio__background,[theme=light] ::ng-deep .mdc-radio__background{background:#fff!important;border-radius:100%;scale:.8}[theme=dark] ::ng-deep .mdc-radio__background .mdc-radio__outer-circle,[theme=light] ::ng-deep .mdc-radio__background .mdc-radio__outer-circle{border-width:1px}[theme=dark] ::ng-deep .mat-ripple,[theme=light] ::ng-deep .mat-ripple{display:none}[haserror=true] ::ng-deep .mdc-radio__background .mdc-radio__outer-circle{border-width:2px}.multiple-checked{border:1px solid var(--color);display:flex;flex-direction:row;align-items:center;gap:16px;background:var(--color);border-radius:8px}.multiple-checked ::ng-deep .mat-mdc-radio-button{width:100%;height:100%;padding:8px}.multiple-checked ::ng-deep .mat-mdc-radio-checked .mdc-radio__outer-circle{border:1px solid #ffffff;border-radius:64px;background:#fff}.multiple-checked ::ng-deep label{color:#fff;height:100%}.multiple-checked[theme=dark][hasError=false],.multiple-checked[theme=light][hasError=false]{background:#fff;border-color:#242424;outline:1px solid #242424}.multiple-checked[theme=dark][hasError=false] ::ng-deep label,.multiple-checked[theme=light][hasError=false] ::ng-deep label{color:#242424}.multiple-checked[theme=dark][hasError=true],.multiple-checked[theme=light][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff;border-radius:10px}.multiple-checked[theme=dark][hasError=true] ::ng-deep label,.multiple-checked[theme=light][hasError=true] ::ng-deep label{color:#242424}.multiple-checked[theme=classic][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800}.multiple-unchecked{border:1px solid #E0E0E0;display:flex;flex-direction:row;align-items:center;gap:16px;background:#fff;border-radius:8px}.multiple-unchecked ::ng-deep .mat-mdc-radio-button{width:100%;height:100%;padding:8px}.multiple-unchecked:hover{background:#f6f6f6;border:1px solid #E0E0E0}.multiple-unchecked ::ng-deep label{height:100%}.multiple-unchecked ::ng-deep .mat-mdc-radio-button .mdc-radio .mdc-radio__background:before{opacity:0!important}.multiple-unchecked[theme=dark][hasError=false],.multiple-unchecked[theme=light][hasError=false]{border:1px solid #919191;background:#fff}.multiple-unchecked[theme=dark][hasError=false]:not(.multiple-disabled):hover,.multiple-unchecked[theme=light][hasError=false]:not(.multiple-disabled):hover{outline:1px solid #242424;background:#fff;border-color:#242424!important}.multiple-unchecked[hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff}.multiple-unchecked[hasError=true]:not([theme=classic]){border-radius:10px}.multiple-unchecked ::ng-deep label,.multiple-checked ::ng-deep label{padding-left:0;width:fit-content;cursor:pointer}.radio-container{cursor:pointer}.radio-container .label{cursor:pointer;-webkit-user-select:none;user-select:none}.radio-button .label{cursor:pointer;-webkit-user-select:none;user-select:none;padding-left:4px}:host *[hasError=true] .mat-mdc-radio-button.mat-accent{--mdc-radio-unselected-icon-color: #E02800 !important;--mdc-radio-unselected-hover-icon-color: #E02800 !important;--mdc-radio-unselected-focus-icon-color: #E02800 !important}:host ::ng-deep .mat-mdc-radio-touch-target{height:40px;width:40px}.radio,.radio-container{--border-width-default-state: 4px;--border-width-animation-state: 6px;width:100%}.radio[alignment=top] ::ng-deep .mdc-form-field,.radio-container[alignment=top] ::ng-deep .mdc-form-field{align-items:start}.radio[alignment=top] .label,.radio-container[alignment=top] .label{margin-top:10px}.radio[truncate-text=true] .label,.radio[truncate-text=true] ::ng-deep label,.radio-container[truncate-text=true] .label,.radio-container[truncate-text=true] ::ng-deep label{-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes focus-ring-animation{0%{outline-width:var(--border-width-animation-state)}to{outline-width:var(--border-width-default-state)}}.radio-container[hasError=true]{outline:1px solid #E02800}.radio .label{display:block;width:100%;cursor:pointer}::ng-deep .mat-mdc-radio-button.mat-accent.cdk-keyboard-focused{outline:none;--mat-radio-checked-ripple-color: transparent!important;--mat-radio-ripple-color: transparent!important}::ng-deep .mat-mdc-radio-button.mat-accent.cdk-keyboard-focused ::ng-deep .mdc-radio__background{outline:3px solid #242424;animation:focus-ring-animation .4s forwards}::ng-deep .mat-mdc-radio-button.mat-accent.cdk-keyboard-focused ::ng-deep .mdc-radio__background:after{content:\"\";position:absolute;width:100%;height:100%;top:0;left:0;outline:2px solid #ffffff;border-radius:100px}\n"] }]
289
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
290
+ type: Optional
291
+ }, {
292
+ type: Inject,
293
+ args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
294
+ }] }, { type: i1.NgControl, decorators: [{
295
+ type: Optional
296
+ }, {
297
+ type: Self
298
+ }] }, { type: i1.NgControl, decorators: [{
299
+ type: Optional
300
+ }, {
301
+ type: Host
302
+ }] }, { type: i0.DestroyRef }, { type: i2.FocusMonitor }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { onHostClick: [{
303
+ type: HostListener,
304
+ args: ['click', ['$event']]
305
+ }], disabled: [{
306
+ type: Input
307
+ }], selected: [{
308
+ type: Input
309
+ }], allowUnselect: [{
310
+ type: Input
311
+ }], companyColor: [{
312
+ type: HostBinding,
313
+ args: ['style.--color']
314
+ }, {
315
+ type: Input
316
+ }], name: [{
317
+ type: Input
318
+ }], label: [{
319
+ type: Input
320
+ }], multiple: [{
321
+ type: Input
322
+ }], value: [{
323
+ type: Input
324
+ }], applicationTheme: [{
325
+ type: Input
326
+ }], ariaLabel: [{
327
+ type: Input
328
+ }], ariaRequired: [{
329
+ type: Input
330
+ }], hasError: [{
331
+ type: Input
332
+ }], ariaLabelledby: [{
333
+ type: Input
334
+ }], ariaDescribedby: [{
335
+ type: Input
336
+ }], truncateText: [{
337
+ type: Input
338
+ }], alignment: [{
339
+ type: Input
340
+ }], tabIndex: [{
341
+ type: Input
342
+ }], hideTooltipOnEllipsis: [{
343
+ type: Input
344
+ }], changeRadio: [{
345
+ type: Output
346
+ }], radioElement: [{
347
+ type: ViewChild,
348
+ args: ['radio']
349
+ }], tooltipElement: [{
350
+ type: ViewChild,
351
+ args: ['tooltip']
352
+ }] } });
353
+
354
+ class RadioButtonComponentModule {
355
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RadioButtonComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
356
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: RadioButtonComponentModule, declarations: [RadioButtonComponent], imports: [CommonModule, MatRadioModule, FormsModule, ReactiveFormsModule, MatInputModule, EllipseTextDirective, MatTooltipModule, MatCheckboxModule, FocusVisibleDirective], exports: [RadioButtonComponent] }); }
357
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RadioButtonComponentModule, imports: [CommonModule, MatRadioModule, FormsModule, ReactiveFormsModule, MatInputModule, MatTooltipModule, MatCheckboxModule] }); }
358
+ }
359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RadioButtonComponentModule, decorators: [{
360
+ type: NgModule,
361
+ args: [{
362
+ declarations: [RadioButtonComponent],
363
+ imports: [CommonModule, MatRadioModule, FormsModule, ReactiveFormsModule, MatInputModule, EllipseTextDirective, MatTooltipModule, MatCheckboxModule, FocusVisibleDirective],
364
+ exports: [RadioButtonComponent],
365
+ }]
366
+ }] });
367
+
368
+ /**
369
+ * Generated bundle index. Do not edit.
370
+ */
371
+
372
+ export { RadioButtonComponent, RadioButtonComponentModule };
373
+ //# sourceMappingURL=testgorilla-tgo-ui-components-radio-button.mjs.map