@koobiq/components 19.8.5 → 19.8.6

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 (193) hide show
  1. package/accordion/accordion-content.directive.d.ts +23 -3
  2. package/accordion/accordion-trigger.component.d.ts +1 -0
  3. package/accordion/accordion.component.scss +4 -1
  4. package/alert/alert-tokens.scss +4 -4
  5. package/autocomplete/autocomplete-trigger.directive.d.ts +10 -5
  6. package/breadcrumbs/breadcrumbs.d.ts +2 -0
  7. package/breadcrumbs/breadcrumbs.scss +4 -0
  8. package/button/button-group.scss +42 -2
  9. package/button-toggle/button-toggle-tokens.scss +16 -0
  10. package/button-toggle/button-toggle.component.d.ts +3 -1
  11. package/button-toggle/button-toggle.scss +105 -1
  12. package/checkbox/checkbox.scss +5 -4
  13. package/clamped-text/clamped-text.d.ts +1 -0
  14. package/core/form-field/field-sizing-content.d.ts +0 -1
  15. package/core/form-field/form-field-ref.d.ts +1 -0
  16. package/core/form-field/index.d.ts +1 -0
  17. package/core/form-field/text-field-selection.d.ts +18 -0
  18. package/core/form-field/text-ruler.d.ts +16 -0
  19. package/core/navbar/rectangle-item.d.ts +8 -0
  20. package/core/option/_action-container-mixins.scss +28 -0
  21. package/core/option/_option-theme.scss +8 -0
  22. package/core/option/action.d.ts +9 -0
  23. package/core/option/action.scss +7 -0
  24. package/core/option/option.d.ts +10 -6
  25. package/core/pop-up/pop-up-trigger.d.ts +6 -0
  26. package/core/select/constants.d.ts +8 -1
  27. package/core/services/measure-scrollbar.service.d.ts +1 -0
  28. package/core/styles/common/_animation.scss +35 -24
  29. package/core/styles/common/_select.scss +17 -2
  30. package/core/styles/theming/_scrollbar-theme.scss +4 -0
  31. package/core/styles/typography/_typography.scss +8 -0
  32. package/core/utils/dom.d.ts +12 -0
  33. package/datepicker/datepicker-input.directive.d.ts +20 -5
  34. package/datepicker/datepicker.component.d.ts +4 -1
  35. package/dl/dl.component.d.ts +1 -0
  36. package/dl/dl.scss +10 -0
  37. package/dropdown/dropdown-item.component.d.ts +10 -2
  38. package/dropdown/dropdown-item.scss +16 -0
  39. package/dropdown/dropdown-trigger.directive.d.ts +6 -1
  40. package/dropdown/dropdown.component.d.ts +6 -1
  41. package/dropdown/dropdown.module.d.ts +1 -1
  42. package/dropdown/dropdown.scss +18 -3
  43. package/ellipsis-center/ellipsis-center.directive.d.ts +35 -2
  44. package/fesm2022/koobiq-components-accordion.mjs +104 -16
  45. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  46. package/fesm2022/koobiq-components-alert.mjs +2 -2
  47. package/fesm2022/koobiq-components-app-switcher.mjs +6 -6
  48. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-autocomplete.mjs +21 -9
  50. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-breadcrumbs.mjs +10 -5
  52. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-button-toggle.mjs +8 -5
  54. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-button.mjs +4 -4
  56. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  58. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  59. package/fesm2022/koobiq-components-clamped-text.mjs +4 -0
  60. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  61. package/fesm2022/koobiq-components-code-block.mjs +14 -5
  62. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-content-panel.mjs +5 -4
  64. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-core.mjs +234 -64
  66. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-datepicker.mjs +73 -49
  68. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-dl.mjs +5 -4
  70. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-dropdown.mjs +65 -22
  72. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-ellipsis-center.mjs +77 -22
  74. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-file-upload.mjs +12 -12
  76. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-filter-bar.mjs +152 -46
  78. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-form-field.mjs +2 -2
  80. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-icon.mjs +1 -1
  82. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-inline-edit.mjs +26 -5
  84. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-list.mjs +12 -22
  86. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-markdown.mjs +4 -1
  88. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-modal.mjs +53 -12
  90. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-navbar.mjs +29 -13
  92. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-notification-center.mjs +45 -7
  94. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-overflow-items.mjs +4 -0
  96. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-popover.mjs +35 -18
  98. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-radio.mjs +3 -7
  100. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-resizer.mjs +23 -4
  102. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-select.mjs +126 -29
  104. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-sidebar.mjs +10 -0
  106. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-sidepanel.mjs +34 -10
  108. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-splitter.mjs +4 -0
  110. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-tabs.mjs +27 -7
  112. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-tags.mjs +3 -1
  114. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  115. package/fesm2022/koobiq-components-textarea.mjs +7 -14
  116. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  117. package/fesm2022/koobiq-components-timepicker.mjs +44 -19
  118. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-timezone.mjs +10 -4
  120. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-title.mjs +41 -3
  122. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-toast.mjs +31 -3
  124. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  126. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-tooltip.mjs +4 -1
  128. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-tree-select.mjs +36 -12
  130. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-tree.mjs +41 -37
  132. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-username.mjs +2 -2
  134. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  135. package/file-upload/dropzone.d.ts +0 -1
  136. package/file-upload/file-upload.scss +11 -0
  137. package/file-upload/multiple-file-upload.component.scss +29 -3
  138. package/file-upload/primitives/file-picker.d.ts +1 -1
  139. package/file-upload/single-file-upload.component.scss +10 -2
  140. package/filter-bar/filter-bar.d.ts +1 -1
  141. package/filter-bar/pipes/base-pipe.d.ts +31 -0
  142. package/filter-bar/pipes/pipe-date.d.ts +1 -1
  143. package/filter-bar/pipes/pipe-datetime.d.ts +1 -1
  144. package/form-field/fieldset.scss +10 -0
  145. package/inline-edit/inline-edit.d.ts +5 -0
  146. package/inline-edit/inline-edit.scss +7 -7
  147. package/link/_link-theme.scss +50 -15
  148. package/list/_list-theme.scss +12 -0
  149. package/list/list-selection.component.d.ts +1 -0
  150. package/list/list.scss +2 -9
  151. package/modal/modal-tokens.scss +1 -1
  152. package/modal/modal.component.d.ts +9 -1
  153. package/modal/modal.directive.d.ts +11 -0
  154. package/modal/modal.type.d.ts +7 -0
  155. package/navbar/_navbar-item_horizontal.scss +5 -0
  156. package/navbar/_navbar-item_vertical.scss +7 -5
  157. package/navbar/navbar-item.component.d.ts +15 -0
  158. package/navbar/navbar.component.d.ts +1 -0
  159. package/navbar/vertical-navbar.scss +6 -0
  160. package/notification-center/notification-center.d.ts +13 -1
  161. package/notification-center/notification-center.scss +12 -0
  162. package/notification-center/notification-item.scss +6 -0
  163. package/overflow-items/overflow-items.d.ts +1 -0
  164. package/package.json +4 -4
  165. package/prebuilt-themes/dark-theme.css +1 -1
  166. package/prebuilt-themes/light-theme.css +1 -1
  167. package/prebuilt-themes/theme.css +1 -1
  168. package/radio/radio.component.d.ts +1 -5
  169. package/radio/radio.scss +18 -4
  170. package/resizer/resizer.d.ts +12 -0
  171. package/schematics/ng-add/index.js +2 -2
  172. package/select/select-option.directive.d.ts +1 -0
  173. package/select/select.component.d.ts +29 -4
  174. package/sidebar/sidebar.component.d.ts +3 -0
  175. package/sidepanel/sidepanel-directives.d.ts +2 -0
  176. package/sidepanel/sidepanel.service.d.ts +8 -0
  177. package/splitter/splitter.component.d.ts +1 -0
  178. package/tabs/tab-body.component.d.ts +2 -0
  179. package/tabs/tab-header.component.d.ts +1 -0
  180. package/tabs/tab-header.scss +1 -0
  181. package/tabs/tab-nav-bar.d.ts +1 -0
  182. package/tabs/tabs-tokens.scss +1 -1
  183. package/textarea/textarea.component.d.ts +0 -1
  184. package/timepicker/timepicker.directive.d.ts +3 -0
  185. package/timezone/timezone-option.directive.d.ts +1 -0
  186. package/title/title.directive.d.ts +21 -0
  187. package/toast/toast-container.component.d.ts +25 -0
  188. package/tree/_tree-theme.scss +5 -11
  189. package/tree/toggle.scss +4 -0
  190. package/tree/tree-option.component.d.ts +3 -0
  191. package/tree/tree-option.scss +2 -12
  192. package/tree/tree-selection.component.d.ts +1 -0
  193. package/tree-select/tree-select.component.d.ts +9 -2
@@ -303,11 +303,7 @@ class KbqRadioButton extends KbqColorDirective {
303
303
  set required(value) {
304
304
  this._required = value;
305
305
  }
306
- /**
307
- * Whether the label should appear after or before the radio button. Defaults to 'after'
308
- * @TODO: doesn't affect anything. Should be removed or implemented (#DS-4571)
309
- * @docs-private
310
- */
306
+ /** Whether the label should appear after or before the radio button. Defaults to 'after' */
311
307
  get labelPosition() {
312
308
  return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';
313
309
  }
@@ -412,7 +408,7 @@ class KbqRadioButton extends KbqColorDirective {
412
408
  this.change.emit(new KbqRadioChange(this, this._value));
413
409
  }
414
410
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqRadioButton, deps: [{ token: KbqRadioGroup, optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
415
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", type: KbqRadioButton, isStandalone: true, selector: "kbq-radio-button", inputs: { checked: ["checked", "checked", booleanAttribute], value: "value", disabled: ["disabled", "disabled", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", numberAttribute], required: ["required", "required", booleanAttribute], labelPosition: "labelPosition", name: "name", isFocused: "isFocused", id: "id" }, outputs: { change: "change" }, host: { properties: { "attr.id": "id", "class.kbq-radio-button_big": "radioGroup?.big", "class.kbq-selected": "checked", "class.kbq-disabled": "disabled" }, classAttribute: "kbq-radio-button" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["kbqRadioButton"], usesInheritance: true, ngImport: i0, template: "<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: [".kbq-radio-group{display:inline-flex;flex-direction:column}.kbq-radio-group.kbq-radio-group_normal{gap:var(--kbq-radio-size-normal-vertical-gap)}.kbq-radio-group.kbq-radio-group_big{gap:var(--kbq-radio-size-big-vertical-gap)}.kbq-radio-button{display:inline-flex}.kbq-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;width:100%}.kbq-radio-label-content{display:inline-flex;position:relative;order:0;line-height:inherit;padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2);padding-right:0}.kbq-radio-label-content .kbq-radio-button__outer-circle,.kbq-radio-label-content .kbq-radio-button__inner-circle{box-sizing:content-box;position:absolute;display:flex;content:\"\";border-style:solid;border-radius:50%}.kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-normal-outer-circle-border-width);left:0;top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-radio-size-normal-outer-size) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-normal-outer-size);height:var(--kbq-radio-size-normal-outer-size)}.kbq-radio-label-content .kbq-radio-button__inner-circle{position:relative;margin:auto;width:var(--kbq-radio-size-normal-inner-size);height:var(--kbq-radio-size-normal-inner-size)}.kbq-radio-label-content .kbq-radio__text-container{display:flex;flex-direction:column}.kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-normal-vertical-content-padding)}[dir=rtl] .kbq-radio-label-content{padding-right:var(--kbq-radio-size-normal-horizontal-content-padding);padding-left:0}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-big-outer-circle-border-width);top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-radio-size-big-outer-size) - var(--kbq-radio-size-big-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-big-outer-size);height:var(--kbq-radio-size-big-outer-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__inner-circle{width:var(--kbq-radio-size-big-inner-size);height:var(--kbq-radio-size-big-inner-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-big-vertical-content-padding)}[dir=rtl] .kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-right:var(--kbq-radio-size-big-horizontal-content-padding)}.kbq-radio-button .kbq-radio-button__inner-circle{border-width:0!important}.kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-default-outer-circle-border);background:var(--kbq-radio-theme-default-outer-circle-background)}.kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-default-inner-circle-background)}.kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-hover-outer-circle-border);background:var(--kbq-radio-theme-states-hover-outer-circle-background)}.kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-hover-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-focused-outer-circle-border);background:var(--kbq-radio-theme-states-focused-outer-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-focused-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-outer-circle-border);background:var(--kbq-radio-theme-states-checked-outer-circle-background)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-focused-outer-circle-border);background:var(--kbq-radio-theme-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button{color:var(--kbq-foreground-contrast)}.kbq-radio-button.kbq-error .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-button.kbq-error .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-button.kbq-error .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error{color:var(--kbq-foreground-contrast)}.kbq-radio-button{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-button .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-button.kbq-radio-button_big{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-radio-button.kbq-radio-button_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-radio-group{--kbq-radio-size-big-vertical-gap: var(--kbq-size-m);--kbq-radio-size-normal-vertical-gap: var(--kbq-size-s);--kbq-radio-size-big-top: var(--kbq-size-3xs);--kbq-radio-theme-default-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-default-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-default-inner-circle-background: transparent;--kbq-radio-theme-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-theme-states-hover-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-states-hover-outer-circle-background: var(--kbq-states-background-transparent-hover);--kbq-radio-theme-states-hover-inner-circle-background: transparent;--kbq-radio-theme-states-checked-outer-circle-border: transparent;--kbq-radio-theme-states-checked-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-hover-outer-circle-border: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-outer-circle-background: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-theme-states-focused-outer-circle-border: transparent;--kbq-radio-theme-states-focused-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-states-focused-inner-circle-background: transparent;--kbq-radio-theme-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-checked-focused-outer-circle-border: transparent;--kbq-radio-theme-states-checked-focused-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-focused-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-disabled-inner-circle-background: transparent;--kbq-radio-theme-states-disabled-caption: var(--kbq-states-foreground-disabled);--kbq-radio-error-default-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-default-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-default-inner-circle-background: transparent;--kbq-radio-error-states-hover-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-states-hover-outer-circle-background: var(--kbq-states-background-error-fade-hover);--kbq-radio-error-states-hover-inner-circle-background: transparent;--kbq-radio-error-states-checked-outer-circle-border: transparent;--kbq-radio-error-states-checked-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-hover-outer-circle-border: transparent;--kbq-radio-error-states-checked-hover-outer-circle-background: var(--kbq-states-background-error-hover);--kbq-radio-error-states-checked-hover-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-error-states-focused-outer-circle-border: transparent;--kbq-radio-error-states-focused-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-states-focused-inner-circle-background: transparent;--kbq-radio-error-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-checked-focused-outer-circle-border: transparent;--kbq-radio-error-states-checked-focused-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-focused-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-disabled-inner-circle-background: transparent;--kbq-radio-error-states-disabled-caption: var(--kbq-states-foreground-disabled)}.kbq-radio-button{--kbq-radio-size-normal-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-normal-outer-size: calc( var(--kbq-size-l) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2 );--kbq-radio-size-normal-inner-size: var(--kbq-size-xs);--kbq-radio-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-normal-vertical-content-padding: var(--kbq-size-3xs);--kbq-radio-size-normal-top: 0;--kbq-radio-size-big-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-big-outer-size: calc(var(--kbq-size-l) - var(--kbq-radio-size-big-outer-circle-border-width) * 2);--kbq-radio-size-big-inner-size: var(--kbq-size-xs);--kbq-radio-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-big-vertical-content-padding: var(--kbq-size-3xs)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
411
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", type: KbqRadioButton, isStandalone: true, selector: "kbq-radio-button", inputs: { checked: ["checked", "checked", booleanAttribute], value: "value", disabled: ["disabled", "disabled", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", numberAttribute], required: ["required", "required", booleanAttribute], labelPosition: "labelPosition", name: "name", isFocused: "isFocused", id: "id" }, outputs: { change: "change" }, host: { properties: { "attr.id": "id", "class.kbq-radio-button_big": "radioGroup?.big", "class.kbq-selected": "checked", "class.kbq-disabled": "disabled" }, classAttribute: "kbq-radio-button" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["kbqRadioButton"], usesInheritance: true, ngImport: i0, template: "<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: [".kbq-radio-group{display:inline-flex;flex-direction:column}.kbq-radio-group.kbq-radio-group_normal{gap:var(--kbq-radio-size-normal-vertical-gap)}.kbq-radio-group.kbq-radio-group_big{gap:var(--kbq-radio-size-big-vertical-gap)}.kbq-radio-button{display:inline-flex}.kbq-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;width:100%}.kbq-radio-label-content{display:inline-flex;position:relative;order:0;line-height:inherit;padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2);padding-right:0}.kbq-radio-label-content .kbq-radio-button__outer-circle,.kbq-radio-label-content .kbq-radio-button__inner-circle{box-sizing:content-box;position:absolute;display:flex;content:\"\";border-style:solid;border-radius:50%}.kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-normal-outer-circle-border-width);left:0;top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-radio-size-normal-outer-size) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-normal-outer-size);height:var(--kbq-radio-size-normal-outer-size)}.kbq-radio-label-content .kbq-radio-button__inner-circle{position:relative;margin:auto;width:var(--kbq-radio-size-normal-inner-size);height:var(--kbq-radio-size-normal-inner-size)}.kbq-radio-label-content .kbq-radio__text-container{display:flex;flex-direction:column}.kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-normal-vertical-content-padding)}.kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2)}.kbq-radio-label-content.kbq-radio-label-before .kbq-radio-button__outer-circle{left:unset;right:0}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-big-outer-circle-border-width);top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-radio-size-big-outer-size) - var(--kbq-radio-size-big-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-big-outer-size);height:var(--kbq-radio-size-big-outer-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__inner-circle{width:var(--kbq-radio-size-big-inner-size);height:var(--kbq-radio-size-big-inner-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-big-vertical-content-padding)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button .kbq-radio-button__inner-circle{border-width:0!important}.kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-default-outer-circle-border);background:var(--kbq-radio-theme-default-outer-circle-background)}.kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-default-inner-circle-background)}.kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-hover-outer-circle-border);background:var(--kbq-radio-theme-states-hover-outer-circle-background)}.kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-hover-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-focused-outer-circle-border);background:var(--kbq-radio-theme-states-focused-outer-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-focused-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-outer-circle-border);background:var(--kbq-radio-theme-states-checked-outer-circle-background)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-focused-outer-circle-border);background:var(--kbq-radio-theme-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button{color:var(--kbq-foreground-contrast)}.kbq-radio-button.kbq-error .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-button.kbq-error .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-button.kbq-error .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error{color:var(--kbq-foreground-contrast)}.kbq-radio-button{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-button .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-button.kbq-radio-button_big{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-radio-button.kbq-radio-button_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-radio-group{--kbq-radio-size-big-vertical-gap: var(--kbq-size-m);--kbq-radio-size-normal-vertical-gap: var(--kbq-size-s);--kbq-radio-size-big-top: var(--kbq-size-3xs);--kbq-radio-theme-default-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-default-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-default-inner-circle-background: transparent;--kbq-radio-theme-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-theme-states-hover-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-states-hover-outer-circle-background: var(--kbq-states-background-transparent-hover);--kbq-radio-theme-states-hover-inner-circle-background: transparent;--kbq-radio-theme-states-checked-outer-circle-border: transparent;--kbq-radio-theme-states-checked-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-hover-outer-circle-border: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-outer-circle-background: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-theme-states-focused-outer-circle-border: transparent;--kbq-radio-theme-states-focused-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-states-focused-inner-circle-background: transparent;--kbq-radio-theme-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-checked-focused-outer-circle-border: transparent;--kbq-radio-theme-states-checked-focused-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-focused-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-disabled-inner-circle-background: transparent;--kbq-radio-theme-states-disabled-caption: var(--kbq-states-foreground-disabled);--kbq-radio-error-default-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-default-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-default-inner-circle-background: transparent;--kbq-radio-error-states-hover-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-states-hover-outer-circle-background: var(--kbq-states-background-error-fade-hover);--kbq-radio-error-states-hover-inner-circle-background: transparent;--kbq-radio-error-states-checked-outer-circle-border: transparent;--kbq-radio-error-states-checked-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-hover-outer-circle-border: transparent;--kbq-radio-error-states-checked-hover-outer-circle-background: var(--kbq-states-background-error-hover);--kbq-radio-error-states-checked-hover-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-error-states-focused-outer-circle-border: transparent;--kbq-radio-error-states-focused-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-states-focused-inner-circle-background: transparent;--kbq-radio-error-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-checked-focused-outer-circle-border: transparent;--kbq-radio-error-states-checked-focused-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-focused-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-disabled-inner-circle-background: transparent;--kbq-radio-error-states-disabled-caption: var(--kbq-states-foreground-disabled)}.kbq-radio-button{--kbq-radio-size-normal-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-normal-outer-size: calc( var(--kbq-size-l) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2 );--kbq-radio-size-normal-inner-size: var(--kbq-size-xs);--kbq-radio-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-normal-vertical-content-padding: var(--kbq-size-3xs);--kbq-radio-size-normal-top: 0;--kbq-radio-size-big-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-big-outer-size: calc(var(--kbq-size-l) - var(--kbq-radio-size-big-outer-circle-border-width) * 2);--kbq-radio-size-big-inner-size: var(--kbq-size-xs);--kbq-radio-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-big-vertical-content-padding: var(--kbq-size-3xs)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
416
412
  }
417
413
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqRadioButton, decorators: [{
418
414
  type: Component,
@@ -422,7 +418,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
422
418
  '[class.kbq-radio-button_big]': 'radioGroup?.big',
423
419
  '[class.kbq-selected]': 'checked',
424
420
  '[class.kbq-disabled]': 'disabled'
425
- }, template: "<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: [".kbq-radio-group{display:inline-flex;flex-direction:column}.kbq-radio-group.kbq-radio-group_normal{gap:var(--kbq-radio-size-normal-vertical-gap)}.kbq-radio-group.kbq-radio-group_big{gap:var(--kbq-radio-size-big-vertical-gap)}.kbq-radio-button{display:inline-flex}.kbq-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;width:100%}.kbq-radio-label-content{display:inline-flex;position:relative;order:0;line-height:inherit;padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2);padding-right:0}.kbq-radio-label-content .kbq-radio-button__outer-circle,.kbq-radio-label-content .kbq-radio-button__inner-circle{box-sizing:content-box;position:absolute;display:flex;content:\"\";border-style:solid;border-radius:50%}.kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-normal-outer-circle-border-width);left:0;top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-radio-size-normal-outer-size) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-normal-outer-size);height:var(--kbq-radio-size-normal-outer-size)}.kbq-radio-label-content .kbq-radio-button__inner-circle{position:relative;margin:auto;width:var(--kbq-radio-size-normal-inner-size);height:var(--kbq-radio-size-normal-inner-size)}.kbq-radio-label-content .kbq-radio__text-container{display:flex;flex-direction:column}.kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-normal-vertical-content-padding)}[dir=rtl] .kbq-radio-label-content{padding-right:var(--kbq-radio-size-normal-horizontal-content-padding);padding-left:0}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-big-outer-circle-border-width);top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-radio-size-big-outer-size) - var(--kbq-radio-size-big-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-big-outer-size);height:var(--kbq-radio-size-big-outer-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__inner-circle{width:var(--kbq-radio-size-big-inner-size);height:var(--kbq-radio-size-big-inner-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-big-vertical-content-padding)}[dir=rtl] .kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-right:var(--kbq-radio-size-big-horizontal-content-padding)}.kbq-radio-button .kbq-radio-button__inner-circle{border-width:0!important}.kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-default-outer-circle-border);background:var(--kbq-radio-theme-default-outer-circle-background)}.kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-default-inner-circle-background)}.kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-hover-outer-circle-border);background:var(--kbq-radio-theme-states-hover-outer-circle-background)}.kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-hover-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-focused-outer-circle-border);background:var(--kbq-radio-theme-states-focused-outer-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-focused-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-outer-circle-border);background:var(--kbq-radio-theme-states-checked-outer-circle-background)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-focused-outer-circle-border);background:var(--kbq-radio-theme-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button{color:var(--kbq-foreground-contrast)}.kbq-radio-button.kbq-error .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-button.kbq-error .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-button.kbq-error .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error{color:var(--kbq-foreground-contrast)}.kbq-radio-button{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-button .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-button.kbq-radio-button_big{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-radio-button.kbq-radio-button_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-radio-group{--kbq-radio-size-big-vertical-gap: var(--kbq-size-m);--kbq-radio-size-normal-vertical-gap: var(--kbq-size-s);--kbq-radio-size-big-top: var(--kbq-size-3xs);--kbq-radio-theme-default-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-default-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-default-inner-circle-background: transparent;--kbq-radio-theme-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-theme-states-hover-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-states-hover-outer-circle-background: var(--kbq-states-background-transparent-hover);--kbq-radio-theme-states-hover-inner-circle-background: transparent;--kbq-radio-theme-states-checked-outer-circle-border: transparent;--kbq-radio-theme-states-checked-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-hover-outer-circle-border: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-outer-circle-background: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-theme-states-focused-outer-circle-border: transparent;--kbq-radio-theme-states-focused-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-states-focused-inner-circle-background: transparent;--kbq-radio-theme-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-checked-focused-outer-circle-border: transparent;--kbq-radio-theme-states-checked-focused-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-focused-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-disabled-inner-circle-background: transparent;--kbq-radio-theme-states-disabled-caption: var(--kbq-states-foreground-disabled);--kbq-radio-error-default-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-default-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-default-inner-circle-background: transparent;--kbq-radio-error-states-hover-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-states-hover-outer-circle-background: var(--kbq-states-background-error-fade-hover);--kbq-radio-error-states-hover-inner-circle-background: transparent;--kbq-radio-error-states-checked-outer-circle-border: transparent;--kbq-radio-error-states-checked-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-hover-outer-circle-border: transparent;--kbq-radio-error-states-checked-hover-outer-circle-background: var(--kbq-states-background-error-hover);--kbq-radio-error-states-checked-hover-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-error-states-focused-outer-circle-border: transparent;--kbq-radio-error-states-focused-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-states-focused-inner-circle-background: transparent;--kbq-radio-error-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-checked-focused-outer-circle-border: transparent;--kbq-radio-error-states-checked-focused-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-focused-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-disabled-inner-circle-background: transparent;--kbq-radio-error-states-disabled-caption: var(--kbq-states-foreground-disabled)}.kbq-radio-button{--kbq-radio-size-normal-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-normal-outer-size: calc( var(--kbq-size-l) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2 );--kbq-radio-size-normal-inner-size: var(--kbq-size-xs);--kbq-radio-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-normal-vertical-content-padding: var(--kbq-size-3xs);--kbq-radio-size-normal-top: 0;--kbq-radio-size-big-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-big-outer-size: calc(var(--kbq-size-l) - var(--kbq-radio-size-big-outer-circle-border-width) * 2);--kbq-radio-size-big-inner-size: var(--kbq-size-xs);--kbq-radio-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-big-vertical-content-padding: var(--kbq-size-3xs)}\n"] }]
421
+ }, template: "<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: [".kbq-radio-group{display:inline-flex;flex-direction:column}.kbq-radio-group.kbq-radio-group_normal{gap:var(--kbq-radio-size-normal-vertical-gap)}.kbq-radio-group.kbq-radio-group_big{gap:var(--kbq-radio-size-big-vertical-gap)}.kbq-radio-button{display:inline-flex}.kbq-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;width:100%}.kbq-radio-label-content{display:inline-flex;position:relative;order:0;line-height:inherit;padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2);padding-right:0}.kbq-radio-label-content .kbq-radio-button__outer-circle,.kbq-radio-label-content .kbq-radio-button__inner-circle{box-sizing:content-box;position:absolute;display:flex;content:\"\";border-style:solid;border-radius:50%}.kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-normal-outer-circle-border-width);left:0;top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-radio-size-normal-outer-size) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-normal-outer-size);height:var(--kbq-radio-size-normal-outer-size)}.kbq-radio-label-content .kbq-radio-button__inner-circle{position:relative;margin:auto;width:var(--kbq-radio-size-normal-inner-size);height:var(--kbq-radio-size-normal-inner-size)}.kbq-radio-label-content .kbq-radio__text-container{display:flex;flex-direction:column}.kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-normal-vertical-content-padding)}.kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2)}.kbq-radio-label-content.kbq-radio-label-before .kbq-radio-button__outer-circle{left:unset;right:0}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-big-outer-circle-border-width);top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-radio-size-big-outer-size) - var(--kbq-radio-size-big-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-big-outer-size);height:var(--kbq-radio-size-big-outer-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__inner-circle{width:var(--kbq-radio-size-big-inner-size);height:var(--kbq-radio-size-big-inner-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-big-vertical-content-padding)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button .kbq-radio-button__inner-circle{border-width:0!important}.kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-default-outer-circle-border);background:var(--kbq-radio-theme-default-outer-circle-background)}.kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-default-inner-circle-background)}.kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-hover-outer-circle-border);background:var(--kbq-radio-theme-states-hover-outer-circle-background)}.kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-hover-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-focused-outer-circle-border);background:var(--kbq-radio-theme-states-focused-outer-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-focused-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-outer-circle-border);background:var(--kbq-radio-theme-states-checked-outer-circle-background)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-focused-outer-circle-border);background:var(--kbq-radio-theme-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button{color:var(--kbq-foreground-contrast)}.kbq-radio-button.kbq-error .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-button.kbq-error .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-button.kbq-error .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error{color:var(--kbq-foreground-contrast)}.kbq-radio-button{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-button .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-button.kbq-radio-button_big{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-radio-button.kbq-radio-button_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-radio-group{--kbq-radio-size-big-vertical-gap: var(--kbq-size-m);--kbq-radio-size-normal-vertical-gap: var(--kbq-size-s);--kbq-radio-size-big-top: var(--kbq-size-3xs);--kbq-radio-theme-default-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-default-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-default-inner-circle-background: transparent;--kbq-radio-theme-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-theme-states-hover-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-states-hover-outer-circle-background: var(--kbq-states-background-transparent-hover);--kbq-radio-theme-states-hover-inner-circle-background: transparent;--kbq-radio-theme-states-checked-outer-circle-border: transparent;--kbq-radio-theme-states-checked-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-hover-outer-circle-border: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-outer-circle-background: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-theme-states-focused-outer-circle-border: transparent;--kbq-radio-theme-states-focused-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-states-focused-inner-circle-background: transparent;--kbq-radio-theme-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-checked-focused-outer-circle-border: transparent;--kbq-radio-theme-states-checked-focused-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-focused-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-disabled-inner-circle-background: transparent;--kbq-radio-theme-states-disabled-caption: var(--kbq-states-foreground-disabled);--kbq-radio-error-default-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-default-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-default-inner-circle-background: transparent;--kbq-radio-error-states-hover-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-states-hover-outer-circle-background: var(--kbq-states-background-error-fade-hover);--kbq-radio-error-states-hover-inner-circle-background: transparent;--kbq-radio-error-states-checked-outer-circle-border: transparent;--kbq-radio-error-states-checked-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-hover-outer-circle-border: transparent;--kbq-radio-error-states-checked-hover-outer-circle-background: var(--kbq-states-background-error-hover);--kbq-radio-error-states-checked-hover-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-error-states-focused-outer-circle-border: transparent;--kbq-radio-error-states-focused-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-states-focused-inner-circle-background: transparent;--kbq-radio-error-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-checked-focused-outer-circle-border: transparent;--kbq-radio-error-states-checked-focused-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-focused-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-disabled-inner-circle-background: transparent;--kbq-radio-error-states-disabled-caption: var(--kbq-states-foreground-disabled)}.kbq-radio-button{--kbq-radio-size-normal-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-normal-outer-size: calc( var(--kbq-size-l) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2 );--kbq-radio-size-normal-inner-size: var(--kbq-size-xs);--kbq-radio-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-normal-vertical-content-padding: var(--kbq-size-3xs);--kbq-radio-size-normal-top: 0;--kbq-radio-size-big-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-big-outer-size: calc(var(--kbq-size-l) - var(--kbq-radio-size-big-outer-circle-border-width) * 2);--kbq-radio-size-big-inner-size: var(--kbq-size-xs);--kbq-radio-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-big-vertical-content-padding: var(--kbq-size-3xs)}\n"] }]
426
422
  }], ctorParameters: () => [{ type: KbqRadioGroup, decorators: [{
427
423
  type: Optional
428
424
  }] }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.UniqueSelectionDispatcher }], propDecorators: { checked: [{
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-radio.mjs","sources":["../../../packages/components/radio/radio.component.ts","../../../packages/components/radio/radio.component.html","../../../packages/components/radio/radio.module.ts","../../../packages/components/radio/koobiq-components-radio.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n numberAttribute,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KbqColorDirective } from '@koobiq/components/core';\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n/** Change event object emitted by KbqRadio. */\nexport class KbqRadioChange {\n constructor(\n /** The KbqRadioButton that emits the change event. */\n public source: KbqRadioButton,\n /** The value of the KbqRadioButton. */\n public value: any\n ) {}\n}\n\n/**\n * Provider Expression that allows kbq-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n */\nexport const KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqRadioGroup),\n multi: true\n};\n\n@Directive({\n selector: 'kbq-radio-group',\n exportAs: 'kbqRadioGroup',\n host: {\n role: 'radiogroup',\n class: 'kbq-radio-group',\n '[class.kbq-radio-group_normal]': '!big',\n '[class.kbq-radio-group_big]': 'big'\n },\n providers: [KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR]\n})\nexport class KbqRadioGroup implements AfterContentInit, ControlValueAccessor {\n @Input() big: boolean = false;\n\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n @Input()\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.updateRadioButtonNames();\n }\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition;\n }\n\n set labelPosition(v) {\n this._labelPosition = v === 'before' ? 'before' : 'after';\n this.markRadiosForCheck();\n }\n\n /** Value of the radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n if (this._value !== newValue) {\n // Set this before proceeding to ensure no circular loop occurs with selection.\n this._value = newValue;\n\n this.updateSelectedRadioFromValue();\n this.checkSelectedRadioButton();\n }\n }\n\n /** Whether the radio button is selected. */\n @Input()\n get selected() {\n return this._selected;\n }\n\n set selected(selected: KbqRadioButton | null) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this.checkSelectedRadioButton();\n }\n\n /** Whether the radio group is disabled */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n this.markRadiosForCheck();\n }\n\n private _disabled: boolean = false;\n\n /** Whether the radio group is required */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = value;\n this.markRadiosForCheck();\n }\n\n /** Whether the radio group is required. */\n private _required: boolean = false;\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type-\"radio\">`).\n */\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** Child radio buttons. */\n @ContentChildren(forwardRef(() => KbqRadioButton), { descendants: true })\n radios: QueryList<KbqRadioButton>;\n\n /**\n * Selected value for group. Should equal the value of the selected radio button if there *is*\n * a corresponding radio button with a matching value. If there is *not* such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n private _value: any = null;\n\n /** The HTML name attribute applied to radio buttons in this group. */\n private _name: string = `kbq-radio-group-${nextUniqueId++}`;\n\n /** The currently selected radio button. Should match value. */\n private _selected: KbqRadioButton | null = null;\n\n /** Whether the `value` has been set to its initial value. */\n private isInitialized: boolean = false;\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n private _labelPosition: 'before' | 'after' = 'after';\n\n constructor(private readonly changeDetector: ChangeDetectorRef) {}\n\n /** The method to be called in order to update ngModel */\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n * @docs-private\n */\n onTouched: () => any = () => {};\n\n checkSelectedRadioButton() {\n if (this._selected && !this._selected.checked) {\n this._selected.checked = true;\n }\n }\n\n /**\n * Initialize properties once content children are available.\n * This allows us to propagate relevant attributes to associated buttons.\n */\n ngAfterContentInit() {\n // Mark this component as initialized in AfterContentInit because the initial value can\n // possibly be set by NgModel on KbqRadioGroup, and it is possible that the OnInit of the\n // NgModel occurs *after* the OnInit of the KbqRadioGroup.\n this.isInitialized = true;\n }\n\n /**\n * Mark this group as being \"touched\" (for ngModel). Meant to be called by the contained\n * radio buttons upon their blur.\n */\n touch() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n if (this.isInitialized) {\n this.change.emit(new KbqRadioChange(this._selected!, this._value));\n }\n }\n\n markRadiosForCheck() {\n if (this.radios) {\n this.radios.forEach((radio) => radio.markForCheck());\n }\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n */\n writeValue(value: any) {\n this.value = value;\n this.changeDetector.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this.changeDetector.markForCheck();\n }\n\n private updateRadioButtonNames(): void {\n this.radios?.forEach((radio) => (radio.name = this.name));\n }\n\n /** Updates the `selected` radio button from the internal _value state. */\n private updateSelectedRadioFromValue(): void {\n // If the value already matches the selected radio, do nothing.\n const isAlreadySelected = this._selected !== null && this._selected.value === this._value;\n\n if (this.radios != null && !isAlreadySelected) {\n this._selected = null;\n\n this.radios.forEach((radio) => {\n radio.checked = this.value === radio.value;\n\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n}\n\n@Component({\n selector: 'kbq-radio-button',\n templateUrl: 'radio.component.html',\n styleUrls: ['radio.scss', 'radio-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqRadioButton',\n host: {\n class: 'kbq-radio-button',\n '[attr.id]': 'id',\n '[class.kbq-radio-button_big]': 'radioGroup?.big',\n '[class.kbq-selected]': 'checked',\n '[class.kbq-disabled]': 'disabled'\n }\n})\nexport class KbqRadioButton extends KbqColorDirective implements OnInit, AfterViewInit, OnDestroy {\n /** Whether this radio button is checked. */\n @Input({ transform: booleanAttribute })\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n\n if (value && this.radioGroup && this.radioGroup.value !== this.value) {\n this.radioGroup.selected = this;\n } else if (!value && this.radioGroup && this.radioGroup.value === this.value) {\n // When unchecking the selected radio button, update the selected radio\n // property on the group.\n this.radioGroup.selected = null;\n }\n\n if (value) {\n // Notify all radio buttons with the same name to un-check.\n this.radioDispatcher.notify(this.id, this.name);\n }\n\n this.changeDetector.markForCheck();\n }\n }\n\n /** The value of this radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (this._value !== value) {\n this._value = value;\n\n if (this.radioGroup != null) {\n if (!this.checked) {\n // Update checked when the value changed to match the radio group's value\n this.checked = this.radioGroup.value === value;\n }\n\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n }\n }\n }\n\n /** Whether the radio button is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled || (this.radioGroup != null && this.radioGroup.disabled);\n }\n\n set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled: boolean;\n\n @Input({ transform: numberAttribute })\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n /** Whether the radio button is required. */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required || (this.radioGroup && this.radioGroup.required);\n }\n\n set required(value: boolean) {\n this._required = value;\n }\n\n /** Whether this radio is required. */\n private _required: boolean;\n\n /**\n * Whether the label should appear after or before the radio button. Defaults to 'after'\n * @TODO: doesn't affect anything. Should be removed or implemented (#DS-4571)\n * @docs-private\n */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';\n }\n /** @docs-private */\n set labelPosition(value) {\n this._labelPosition = value;\n }\n\n /** Analog to HTML 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** The native `<input type=radio>` element */\n @ViewChild('input', { static: false }) inputElement: ElementRef;\n\n /**\n * Event emitted when the checked state of this radio button changes.\n * Change events are only emitted when the value changes due to user interaction with\n * the radio button (the same behavior as `<input type-\"radio\">`).\n */\n\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** The parent radio group. May or may not be present. */\n radioGroup: KbqRadioGroup;\n\n @Input()\n isFocused: boolean = false;\n\n /** The unique ID for the radio button. */\n @Input() id: string;\n\n /** ID of the native input element inside `<kbq-radio-button>` */\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n private _labelPosition: 'before' | 'after';\n\n private readonly uniqueId: string = `kbq-radio-${++nextUniqueId}`;\n\n /** Whether this radio is checked. */\n private _checked: boolean = false;\n\n /** Value assigned to this radio. */\n private _value: any = null;\n\n constructor(\n @Optional() radioGroup: KbqRadioGroup,\n private readonly changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private readonly radioDispatcher: UniqueSelectionDispatcher\n ) {\n super();\n\n this.id = this.uniqueId;\n\n this.radioGroup = radioGroup;\n\n this.removeUniqueSelectionListener = radioDispatcher.listen((id: string, name: string) => {\n if (id !== this.id && name === this.name) {\n this.checked = false;\n }\n });\n }\n\n ngOnInit() {\n if (this.radioGroup) {\n // If the radio is inside a radio group, determine if it should be checked\n this.checked = this.radioGroup.value === this._value;\n // Copy name from parent radio group\n this.name = this.radioGroup.name;\n }\n }\n\n ngAfterViewInit() {\n this.focusMonitor.monitor(this.elementRef, true).subscribe((focusOrigin) => {\n if (!focusOrigin && this.radioGroup) {\n this.radioGroup.touch();\n }\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n this.removeUniqueSelectionListener();\n }\n\n /** Focuses the radio button. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /**\n * Marks the radio button as needing checking for change detection.\n * This method is exposed because the parent radio group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When group value changes, the button will not be notified. Use `markForCheck` to explicit\n // update radio button's status\n this.changeDetector.markForCheck();\n }\n\n onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `radio-button` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling & forcing skip event from closing actions for the second event will solve that issue.\n event.stopPropagation();\n (event as Event & { kbqPopoverPreventHide: boolean }).kbqPopoverPreventHide = true;\n }\n\n onInputChange(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n\n const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;\n\n this.checked = true;\n this.emitChangeEvent();\n\n if (this.radioGroup) {\n this.radioGroup.controlValueAccessorChangeFn(this.value);\n this.radioGroup.touch();\n\n if (groupValueChanged) {\n this.radioGroup.emitChangeEvent();\n }\n }\n }\n\n /** Unregister function for _radioDispatcher */\n private readonly removeUniqueSelectionListener: () => void = () => {};\n\n /** Dispatch change event with current value. */\n private emitChangeEvent(): void {\n this.change.emit(new KbqRadioChange(this, this._value));\n }\n}\n","<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { KbqRadioButton, KbqRadioGroup } from './radio.component';\n\n@NgModule({\n imports: [A11yModule, KbqRadioGroup, KbqRadioButton],\n exports: [KbqRadioGroup, KbqRadioButton]\n})\nexport class KbqRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-radio.mjs","sources":["../../../packages/components/radio/radio.component.ts","../../../packages/components/radio/radio.component.html","../../../packages/components/radio/radio.module.ts","../../../packages/components/radio/koobiq-components-radio.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n numberAttribute,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KbqColorDirective } from '@koobiq/components/core';\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n/** Change event object emitted by KbqRadio. */\nexport class KbqRadioChange {\n constructor(\n /** The KbqRadioButton that emits the change event. */\n public source: KbqRadioButton,\n /** The value of the KbqRadioButton. */\n public value: any\n ) {}\n}\n\n/**\n * Provider Expression that allows kbq-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n */\nexport const KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqRadioGroup),\n multi: true\n};\n\n@Directive({\n selector: 'kbq-radio-group',\n exportAs: 'kbqRadioGroup',\n host: {\n role: 'radiogroup',\n class: 'kbq-radio-group',\n '[class.kbq-radio-group_normal]': '!big',\n '[class.kbq-radio-group_big]': 'big'\n },\n providers: [KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR]\n})\nexport class KbqRadioGroup implements AfterContentInit, ControlValueAccessor {\n @Input() big: boolean = false;\n\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n @Input()\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.updateRadioButtonNames();\n }\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition;\n }\n\n set labelPosition(v) {\n this._labelPosition = v === 'before' ? 'before' : 'after';\n this.markRadiosForCheck();\n }\n\n /** Value of the radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n if (this._value !== newValue) {\n // Set this before proceeding to ensure no circular loop occurs with selection.\n this._value = newValue;\n\n this.updateSelectedRadioFromValue();\n this.checkSelectedRadioButton();\n }\n }\n\n /** Whether the radio button is selected. */\n @Input()\n get selected() {\n return this._selected;\n }\n\n set selected(selected: KbqRadioButton | null) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this.checkSelectedRadioButton();\n }\n\n /** Whether the radio group is disabled */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n this.markRadiosForCheck();\n }\n\n private _disabled: boolean = false;\n\n /** Whether the radio group is required */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = value;\n this.markRadiosForCheck();\n }\n\n /** Whether the radio group is required. */\n private _required: boolean = false;\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type-\"radio\">`).\n */\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** Child radio buttons. */\n @ContentChildren(forwardRef(() => KbqRadioButton), { descendants: true })\n radios: QueryList<KbqRadioButton>;\n\n /**\n * Selected value for group. Should equal the value of the selected radio button if there *is*\n * a corresponding radio button with a matching value. If there is *not* such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n private _value: any = null;\n\n /** The HTML name attribute applied to radio buttons in this group. */\n private _name: string = `kbq-radio-group-${nextUniqueId++}`;\n\n /** The currently selected radio button. Should match value. */\n private _selected: KbqRadioButton | null = null;\n\n /** Whether the `value` has been set to its initial value. */\n private isInitialized: boolean = false;\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n private _labelPosition: 'before' | 'after' = 'after';\n\n constructor(private readonly changeDetector: ChangeDetectorRef) {}\n\n /** The method to be called in order to update ngModel */\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n * @docs-private\n */\n onTouched: () => any = () => {};\n\n checkSelectedRadioButton() {\n if (this._selected && !this._selected.checked) {\n this._selected.checked = true;\n }\n }\n\n /**\n * Initialize properties once content children are available.\n * This allows us to propagate relevant attributes to associated buttons.\n */\n ngAfterContentInit() {\n // Mark this component as initialized in AfterContentInit because the initial value can\n // possibly be set by NgModel on KbqRadioGroup, and it is possible that the OnInit of the\n // NgModel occurs *after* the OnInit of the KbqRadioGroup.\n this.isInitialized = true;\n }\n\n /**\n * Mark this group as being \"touched\" (for ngModel). Meant to be called by the contained\n * radio buttons upon their blur.\n */\n touch() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n if (this.isInitialized) {\n this.change.emit(new KbqRadioChange(this._selected!, this._value));\n }\n }\n\n markRadiosForCheck() {\n if (this.radios) {\n this.radios.forEach((radio) => radio.markForCheck());\n }\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n */\n writeValue(value: any) {\n this.value = value;\n this.changeDetector.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this.changeDetector.markForCheck();\n }\n\n private updateRadioButtonNames(): void {\n this.radios?.forEach((radio) => (radio.name = this.name));\n }\n\n /** Updates the `selected` radio button from the internal _value state. */\n private updateSelectedRadioFromValue(): void {\n // If the value already matches the selected radio, do nothing.\n const isAlreadySelected = this._selected !== null && this._selected.value === this._value;\n\n if (this.radios != null && !isAlreadySelected) {\n this._selected = null;\n\n this.radios.forEach((radio) => {\n radio.checked = this.value === radio.value;\n\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n}\n\n@Component({\n selector: 'kbq-radio-button',\n templateUrl: 'radio.component.html',\n styleUrls: ['radio.scss', 'radio-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqRadioButton',\n host: {\n class: 'kbq-radio-button',\n '[attr.id]': 'id',\n '[class.kbq-radio-button_big]': 'radioGroup?.big',\n '[class.kbq-selected]': 'checked',\n '[class.kbq-disabled]': 'disabled'\n }\n})\nexport class KbqRadioButton extends KbqColorDirective implements OnInit, AfterViewInit, OnDestroy {\n /** Whether this radio button is checked. */\n @Input({ transform: booleanAttribute })\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n\n if (value && this.radioGroup && this.radioGroup.value !== this.value) {\n this.radioGroup.selected = this;\n } else if (!value && this.radioGroup && this.radioGroup.value === this.value) {\n // When unchecking the selected radio button, update the selected radio\n // property on the group.\n this.radioGroup.selected = null;\n }\n\n if (value) {\n // Notify all radio buttons with the same name to un-check.\n this.radioDispatcher.notify(this.id, this.name);\n }\n\n this.changeDetector.markForCheck();\n }\n }\n\n /** The value of this radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (this._value !== value) {\n this._value = value;\n\n if (this.radioGroup != null) {\n if (!this.checked) {\n // Update checked when the value changed to match the radio group's value\n this.checked = this.radioGroup.value === value;\n }\n\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n }\n }\n }\n\n /** Whether the radio button is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled || (this.radioGroup != null && this.radioGroup.disabled);\n }\n\n set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled: boolean;\n\n @Input({ transform: numberAttribute })\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n /** Whether the radio button is required. */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required || (this.radioGroup && this.radioGroup.required);\n }\n\n set required(value: boolean) {\n this._required = value;\n }\n\n /** Whether this radio is required. */\n private _required: boolean;\n\n /** Whether the label should appear after or before the radio button. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';\n }\n /** @docs-private */\n set labelPosition(value) {\n this._labelPosition = value;\n }\n\n /** Analog to HTML 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** The native `<input type=radio>` element */\n @ViewChild('input', { static: false }) inputElement: ElementRef;\n\n /**\n * Event emitted when the checked state of this radio button changes.\n * Change events are only emitted when the value changes due to user interaction with\n * the radio button (the same behavior as `<input type-\"radio\">`).\n */\n\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** The parent radio group. May or may not be present. */\n radioGroup: KbqRadioGroup;\n\n @Input()\n isFocused: boolean = false;\n\n /** The unique ID for the radio button. */\n @Input() id: string;\n\n /** ID of the native input element inside `<kbq-radio-button>` */\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n private _labelPosition: 'before' | 'after';\n\n private readonly uniqueId: string = `kbq-radio-${++nextUniqueId}`;\n\n /** Whether this radio is checked. */\n private _checked: boolean = false;\n\n /** Value assigned to this radio. */\n private _value: any = null;\n\n constructor(\n @Optional() radioGroup: KbqRadioGroup,\n private readonly changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private readonly radioDispatcher: UniqueSelectionDispatcher\n ) {\n super();\n\n this.id = this.uniqueId;\n\n this.radioGroup = radioGroup;\n\n this.removeUniqueSelectionListener = radioDispatcher.listen((id: string, name: string) => {\n if (id !== this.id && name === this.name) {\n this.checked = false;\n }\n });\n }\n\n ngOnInit() {\n if (this.radioGroup) {\n // If the radio is inside a radio group, determine if it should be checked\n this.checked = this.radioGroup.value === this._value;\n // Copy name from parent radio group\n this.name = this.radioGroup.name;\n }\n }\n\n ngAfterViewInit() {\n this.focusMonitor.monitor(this.elementRef, true).subscribe((focusOrigin) => {\n if (!focusOrigin && this.radioGroup) {\n this.radioGroup.touch();\n }\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n this.removeUniqueSelectionListener();\n }\n\n /** Focuses the radio button. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /**\n * Marks the radio button as needing checking for change detection.\n * This method is exposed because the parent radio group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When group value changes, the button will not be notified. Use `markForCheck` to explicit\n // update radio button's status\n this.changeDetector.markForCheck();\n }\n\n onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `radio-button` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling & forcing skip event from closing actions for the second event will solve that issue.\n event.stopPropagation();\n (event as Event & { kbqPopoverPreventHide: boolean }).kbqPopoverPreventHide = true;\n }\n\n onInputChange(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n\n const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;\n\n this.checked = true;\n this.emitChangeEvent();\n\n if (this.radioGroup) {\n this.radioGroup.controlValueAccessorChangeFn(this.value);\n this.radioGroup.touch();\n\n if (groupValueChanged) {\n this.radioGroup.emitChangeEvent();\n }\n }\n }\n\n /** Unregister function for _radioDispatcher */\n private readonly removeUniqueSelectionListener: () => void = () => {};\n\n /** Dispatch change event with current value. */\n private emitChangeEvent(): void {\n this.change.emit(new KbqRadioChange(this, this._value));\n }\n}\n","<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { KbqRadioButton, KbqRadioGroup } from './radio.component';\n\n@NgModule({\n imports: [A11yModule, KbqRadioGroup, KbqRadioButton],\n exports: [KbqRadioGroup, KbqRadioButton]\n})\nexport class KbqRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { Directive, inject, NgZone, DestroyRef, Renderer2, input, output, comput
3
3
  import { coerceCssPixelValue } from '@angular/cdk/coercion';
4
4
  import { DOCUMENT } from '@angular/common';
5
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
- import { kbqInjectNativeElement } from '@koobiq/components/core';
6
+ import { kbqInjectNativeElement, KBQ_WINDOW } from '@koobiq/components/core';
7
7
  import { fromEvent } from 'rxjs';
8
8
 
9
9
  /**
@@ -48,6 +48,7 @@ class KbqResizer {
48
48
  this.document = inject(DOCUMENT);
49
49
  this.destroyRef = inject(DestroyRef);
50
50
  this.renderer = inject(Renderer2);
51
+ this.window = inject(KBQ_WINDOW);
51
52
  this.x = NaN;
52
53
  this.y = NaN;
53
54
  this.width = 0;
@@ -93,9 +94,27 @@ class KbqResizer {
93
94
  event.preventDefault();
94
95
  this.x = event.x;
95
96
  this.y = event.y;
96
- const { clientWidth, clientHeight } = this.resizable.element;
97
- this.width = clientWidth;
98
- this.height = clientHeight;
97
+ const { width, height } = this.getResizableSize();
98
+ this.width = width;
99
+ this.height = height;
100
+ }
101
+ /**
102
+ * Reads the resizable element in whichever box model `style.width`/`style.height` will be
103
+ * interpreted in when `updateSize()` writes them back.
104
+ *
105
+ * `clientWidth`/`clientHeight` are the padding box, so feeding them straight into `style.width`
106
+ * made the element jump on the first pointer-down — outward by its padding under the default
107
+ * `content-box`, inward by its border under a consuming application's `border-box` reset. The
108
+ * directive ships no stylesheet of its own, so it inherits whatever the host sets and has to ask
109
+ * rather than assume. Same branch as `KbqFieldSizingContent.calculateWidth()`.
110
+ */
111
+ getResizableSize() {
112
+ const style = this.window.getComputedStyle(this.resizable.element);
113
+ if (style.boxSizing === 'border-box') {
114
+ const { width, height } = this.resizable.element.getBoundingClientRect();
115
+ return { width, height };
116
+ }
117
+ return { width: parseFloat(style.width) || 0, height: parseFloat(style.height) || 0 };
99
118
  }
100
119
  handleDocumentPointerMove(event) {
101
120
  if (!event.buttons)
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-resizer.mjs","sources":["../../../packages/components/resizer/resizer.ts","../../../packages/components/resizer/module.ts","../../../packages/components/resizer/koobiq-components-resizer.ts"],"sourcesContent":["import { coerceCssPixelValue } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport {\n afterNextRender,\n computed,\n DestroyRef,\n Directive,\n inject,\n input,\n NgZone,\n output,\n Renderer2\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { kbqInjectNativeElement } from '@koobiq/components/core';\nimport { fromEvent } from 'rxjs';\n\n/**\n * Directions for resizing.\n *\n * Horizontal direction (x):\n * - Left: -1\n * - None: 0\n * - Right: 1\n *\n * Vertical direction (y):\n * - Up: -1\n * - None: 0\n * - Down: 1\n */\nexport type KbqResizerDirection = [x: -1 | 0 | 1, y: -1 | 0 | 1];\n\n/**\n * Event emitted when the size of the resizable element changes.\n */\nexport type KbqResizerSizeChangeEvent = {\n width: number;\n height: number;\n};\n\n/**\n * Directive (container) sets whether the element is resizable.\n *\n * @example\n *\n * ```html\n * <div kbqResizable>\n * <div [kbqResizer]=\"[-1, 0]\"></div>\n * </div>\n * ```\n */\n@Directive({\n selector: '[kbqResizable]',\n exportAs: 'kbqResizable',\n host: {\n class: 'kbq-resizable'\n }\n})\nexport class KbqResizable {\n /**\n * @docs-private\n */\n readonly element = kbqInjectNativeElement();\n}\n\n/**\n * Directive which defines element resizing direction.\n */\n@Directive({\n selector: '[kbqResizer]',\n exportAs: 'kbqResizer',\n host: {\n class: 'kbq-resizer',\n '[style.cursor]': 'cursor()'\n }\n})\nexport class KbqResizer {\n private readonly element = kbqInjectNativeElement();\n private readonly resizable = inject(KbqResizable);\n private readonly zone = inject(NgZone);\n private readonly document = inject<Document>(DOCUMENT);\n private readonly destroyRef = inject(DestroyRef);\n private readonly renderer = inject(Renderer2);\n\n private x = NaN;\n private y = NaN;\n\n private width = 0;\n private height = 0;\n\n /**\n * Direction of element resizing.\n */\n readonly direction = input.required<KbqResizerDirection>({ alias: 'kbqResizer' });\n\n /**\n * Emits the new size of the element after resizing.\n */\n readonly sizeChange = output<KbqResizerSizeChangeEvent>();\n\n /**\n * @docs-private\n */\n protected readonly cursor = computed(() => {\n const [x, y] = this.direction();\n\n if (x === 0 && y === 0) return 'default';\n if (!x) return 'ns-resize';\n if (!y) return 'ew-resize';\n if (x * y > 0) return 'nwse-resize';\n\n return 'nesw-resize';\n });\n\n constructor() {\n afterNextRender(() => {\n this.zone.runOutsideAngular(() => {\n fromEvent<PointerEvent>(this.element, 'pointerdown')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleElementPointerDown(event));\n\n fromEvent<PointerEvent>(this.document, 'pointermove')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleDocumentPointerMove(event));\n\n fromEvent<PointerEvent>(this.document, 'pointerup')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleDocumentPointerUp(event));\n });\n });\n }\n\n private handleElementPointerDown(event: PointerEvent): void {\n event.preventDefault();\n\n this.x = event.x;\n this.y = event.y;\n\n const { clientWidth, clientHeight } = this.resizable.element;\n\n this.width = clientWidth;\n this.height = clientHeight;\n }\n\n private handleDocumentPointerMove(event: PointerEvent): void {\n if (!event.buttons) return this.handleDocumentPointerUp(event);\n\n this.updateSize(event);\n }\n\n private handleDocumentPointerUp(_event: PointerEvent): void {\n this.x = NaN;\n }\n\n private updateSize({ x, y }: PointerEvent): void {\n if (Number.isNaN(this.x)) return;\n\n const [directionX, directionY] = this.direction();\n const width = this.width + directionX * (x - this.x);\n const height = this.height + directionY * (y - this.y);\n\n if (directionX) this.renderer.setStyle(this.resizable.element, 'width', coerceCssPixelValue(width));\n if (directionY) this.renderer.setStyle(this.resizable.element, 'height', coerceCssPixelValue(height));\n\n this.sizeChange.emit({ width, height });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqResizable, KbqResizer } from './resizer';\n\nconst COMPONENTS = [KbqResizable, KbqResizer];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqResizerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-resizer.mjs","sources":["../../../packages/components/resizer/resizer.ts","../../../packages/components/resizer/module.ts","../../../packages/components/resizer/koobiq-components-resizer.ts"],"sourcesContent":["import { coerceCssPixelValue } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport {\n afterNextRender,\n computed,\n DestroyRef,\n Directive,\n inject,\n input,\n NgZone,\n output,\n Renderer2\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KBQ_WINDOW, kbqInjectNativeElement } from '@koobiq/components/core';\nimport { fromEvent } from 'rxjs';\n\n/**\n * Directions for resizing.\n *\n * Horizontal direction (x):\n * - Left: -1\n * - None: 0\n * - Right: 1\n *\n * Vertical direction (y):\n * - Up: -1\n * - None: 0\n * - Down: 1\n */\nexport type KbqResizerDirection = [x: -1 | 0 | 1, y: -1 | 0 | 1];\n\n/**\n * Event emitted when the size of the resizable element changes.\n */\nexport type KbqResizerSizeChangeEvent = {\n width: number;\n height: number;\n};\n\n/**\n * Directive (container) sets whether the element is resizable.\n *\n * @example\n *\n * ```html\n * <div kbqResizable>\n * <div [kbqResizer]=\"[-1, 0]\"></div>\n * </div>\n * ```\n */\n@Directive({\n selector: '[kbqResizable]',\n exportAs: 'kbqResizable',\n host: {\n class: 'kbq-resizable'\n }\n})\nexport class KbqResizable {\n /**\n * @docs-private\n */\n readonly element = kbqInjectNativeElement();\n}\n\n/**\n * Directive which defines element resizing direction.\n */\n@Directive({\n selector: '[kbqResizer]',\n exportAs: 'kbqResizer',\n host: {\n class: 'kbq-resizer',\n '[style.cursor]': 'cursor()'\n }\n})\nexport class KbqResizer {\n private readonly element = kbqInjectNativeElement();\n private readonly resizable = inject(KbqResizable);\n private readonly zone = inject(NgZone);\n private readonly document = inject<Document>(DOCUMENT);\n private readonly destroyRef = inject(DestroyRef);\n private readonly renderer = inject(Renderer2);\n private readonly window = inject(KBQ_WINDOW);\n\n private x = NaN;\n private y = NaN;\n\n private width = 0;\n private height = 0;\n\n /**\n * Direction of element resizing.\n */\n readonly direction = input.required<KbqResizerDirection>({ alias: 'kbqResizer' });\n\n /**\n * Emits the new size of the element after resizing.\n */\n readonly sizeChange = output<KbqResizerSizeChangeEvent>();\n\n /**\n * @docs-private\n */\n protected readonly cursor = computed(() => {\n const [x, y] = this.direction();\n\n if (x === 0 && y === 0) return 'default';\n if (!x) return 'ns-resize';\n if (!y) return 'ew-resize';\n if (x * y > 0) return 'nwse-resize';\n\n return 'nesw-resize';\n });\n\n constructor() {\n afterNextRender(() => {\n this.zone.runOutsideAngular(() => {\n fromEvent<PointerEvent>(this.element, 'pointerdown')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleElementPointerDown(event));\n\n fromEvent<PointerEvent>(this.document, 'pointermove')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleDocumentPointerMove(event));\n\n fromEvent<PointerEvent>(this.document, 'pointerup')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleDocumentPointerUp(event));\n });\n });\n }\n\n private handleElementPointerDown(event: PointerEvent): void {\n event.preventDefault();\n\n this.x = event.x;\n this.y = event.y;\n\n const { width, height } = this.getResizableSize();\n\n this.width = width;\n this.height = height;\n }\n\n /**\n * Reads the resizable element in whichever box model `style.width`/`style.height` will be\n * interpreted in when `updateSize()` writes them back.\n *\n * `clientWidth`/`clientHeight` are the padding box, so feeding them straight into `style.width`\n * made the element jump on the first pointer-down — outward by its padding under the default\n * `content-box`, inward by its border under a consuming application's `border-box` reset. The\n * directive ships no stylesheet of its own, so it inherits whatever the host sets and has to ask\n * rather than assume. Same branch as `KbqFieldSizingContent.calculateWidth()`.\n */\n private getResizableSize(): { width: number; height: number } {\n const style = this.window.getComputedStyle(this.resizable.element);\n\n if (style.boxSizing === 'border-box') {\n const { width, height } = this.resizable.element.getBoundingClientRect();\n\n return { width, height };\n }\n\n return { width: parseFloat(style.width) || 0, height: parseFloat(style.height) || 0 };\n }\n\n private handleDocumentPointerMove(event: PointerEvent): void {\n if (!event.buttons) return this.handleDocumentPointerUp(event);\n\n this.updateSize(event);\n }\n\n private handleDocumentPointerUp(_event: PointerEvent): void {\n this.x = NaN;\n }\n\n private updateSize({ x, y }: PointerEvent): void {\n if (Number.isNaN(this.x)) return;\n\n const [directionX, directionY] = this.direction();\n const width = this.width + directionX * (x - this.x);\n const height = this.height + directionY * (y - this.y);\n\n if (directionX) this.renderer.setStyle(this.resizable.element, 'width', coerceCssPixelValue(width));\n if (directionY) this.renderer.setStyle(this.resizable.element, 'height', coerceCssPixelValue(height));\n\n this.sizeChange.emit({ width, height });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqResizable, KbqResizer } from './resizer';\n\nconst COMPONENTS = [KbqResizable, KbqResizer];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqResizerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}