@koobiq/components 19.8.5 → 19.8.7

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 (204) 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/app-switcher/app-switcher.d.ts +9 -2
  6. package/autocomplete/autocomplete-trigger.directive.d.ts +10 -5
  7. package/breadcrumbs/breadcrumbs.d.ts +2 -0
  8. package/breadcrumbs/breadcrumbs.scss +4 -0
  9. package/button/button-group.scss +42 -2
  10. package/button-toggle/button-toggle-tokens.scss +16 -0
  11. package/button-toggle/button-toggle.component.d.ts +3 -1
  12. package/button-toggle/button-toggle.scss +105 -1
  13. package/checkbox/checkbox.scss +5 -4
  14. package/clamped-text/clamped-text.d.ts +1 -0
  15. package/core/form-field/field-sizing-content.d.ts +0 -1
  16. package/core/form-field/form-field-ref.d.ts +1 -0
  17. package/core/form-field/index.d.ts +1 -0
  18. package/core/form-field/text-field-selection.d.ts +18 -0
  19. package/core/form-field/text-ruler.d.ts +16 -0
  20. package/core/navbar/rectangle-item.d.ts +8 -0
  21. package/core/option/_action-container-mixins.scss +28 -0
  22. package/core/option/_option-theme.scss +8 -0
  23. package/core/option/action.d.ts +9 -0
  24. package/core/option/action.scss +7 -0
  25. package/core/option/option.d.ts +10 -6
  26. package/core/pop-up/pop-up-trigger.d.ts +6 -0
  27. package/core/select/constants.d.ts +8 -1
  28. package/core/services/measure-scrollbar.service.d.ts +1 -0
  29. package/core/styles/common/_animation.scss +35 -24
  30. package/core/styles/common/_select.scss +21 -3
  31. package/core/styles/theming/_scrollbar-theme.scss +4 -0
  32. package/core/styles/typography/_typography.scss +8 -0
  33. package/core/utils/dom.d.ts +12 -0
  34. package/datepicker/datepicker-input.directive.d.ts +20 -5
  35. package/datepicker/datepicker.component.d.ts +4 -1
  36. package/dl/dl.component.d.ts +1 -0
  37. package/dl/dl.scss +10 -0
  38. package/dropdown/dropdown-item.component.d.ts +10 -2
  39. package/dropdown/dropdown-item.scss +16 -0
  40. package/dropdown/dropdown-trigger.directive.d.ts +6 -1
  41. package/dropdown/dropdown.component.d.ts +6 -1
  42. package/dropdown/dropdown.module.d.ts +1 -1
  43. package/dropdown/dropdown.scss +18 -3
  44. package/ellipsis-center/ellipsis-center.directive.d.ts +40 -2
  45. package/fesm2022/koobiq-components-accordion.mjs +104 -16
  46. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-alert.mjs +2 -2
  48. package/fesm2022/koobiq-components-app-switcher.mjs +8 -8
  49. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  50. package/fesm2022/koobiq-components-autocomplete.mjs +21 -9
  51. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  52. package/fesm2022/koobiq-components-breadcrumbs.mjs +10 -5
  53. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  54. package/fesm2022/koobiq-components-button-toggle.mjs +8 -5
  55. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  56. package/fesm2022/koobiq-components-button.mjs +4 -4
  57. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  58. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  59. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  60. package/fesm2022/koobiq-components-clamped-text.mjs +4 -0
  61. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  62. package/fesm2022/koobiq-components-code-block.mjs +14 -5
  63. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  64. package/fesm2022/koobiq-components-content-panel.mjs +5 -4
  65. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  66. package/fesm2022/koobiq-components-core.mjs +244 -67
  67. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  68. package/fesm2022/koobiq-components-datepicker.mjs +73 -49
  69. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-dl.mjs +5 -4
  71. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-dropdown.mjs +65 -22
  73. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-ellipsis-center.mjs +82 -22
  75. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-file-upload.mjs +12 -12
  77. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-filter-bar.mjs +152 -46
  79. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-form-field.mjs +27 -6
  81. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-icon.mjs +1 -1
  83. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-inline-edit.mjs +26 -5
  85. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-list.mjs +12 -22
  87. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-markdown.mjs +4 -1
  89. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-modal.mjs +53 -12
  91. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-navbar.mjs +69 -21
  93. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-notification-center.mjs +45 -7
  95. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-overflow-items.mjs +4 -0
  97. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-popover.mjs +39 -19
  99. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-radio.mjs +3 -7
  101. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-resizer.mjs +23 -4
  103. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-search-expandable.mjs +2 -1
  105. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-select.mjs +174 -40
  107. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-sidebar.mjs +10 -0
  109. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-sidepanel.mjs +34 -10
  111. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-splitter.mjs +4 -0
  113. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-tabs.mjs +27 -7
  115. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-tags.mjs +3 -1
  117. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-textarea.mjs +7 -14
  119. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-time-range.mjs +20 -2
  121. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-timepicker.mjs +44 -19
  123. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-timezone.mjs +17 -6
  125. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  126. package/fesm2022/koobiq-components-title.mjs +50 -7
  127. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-toast.mjs +31 -3
  129. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  131. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-tooltip.mjs +46 -6
  133. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-tree-select.mjs +56 -14
  135. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-tree.mjs +41 -37
  137. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-username.mjs +2 -2
  139. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  140. package/file-upload/dropzone.d.ts +0 -1
  141. package/file-upload/file-upload.scss +11 -0
  142. package/file-upload/multiple-file-upload.component.scss +29 -3
  143. package/file-upload/primitives/file-picker.d.ts +1 -1
  144. package/file-upload/single-file-upload.component.scss +10 -2
  145. package/filter-bar/filter-bar.d.ts +1 -1
  146. package/filter-bar/pipes/base-pipe.d.ts +31 -0
  147. package/filter-bar/pipes/pipe-date.d.ts +1 -1
  148. package/filter-bar/pipes/pipe-datetime.d.ts +1 -1
  149. package/form-field/fieldset.scss +10 -0
  150. package/form-field/form-field-control.d.ts +10 -0
  151. package/form-field/form-field.d.ts +17 -0
  152. package/inline-edit/inline-edit.d.ts +5 -0
  153. package/inline-edit/inline-edit.scss +7 -7
  154. package/link/_link-theme.scss +50 -15
  155. package/list/_list-theme.scss +12 -0
  156. package/list/list-selection.component.d.ts +1 -0
  157. package/list/list.scss +2 -9
  158. package/modal/modal-tokens.scss +1 -1
  159. package/modal/modal.component.d.ts +9 -1
  160. package/modal/modal.directive.d.ts +11 -0
  161. package/modal/modal.type.d.ts +7 -0
  162. package/navbar/_navbar-item_horizontal.scss +5 -0
  163. package/navbar/_navbar-item_vertical.scss +7 -5
  164. package/navbar/navbar-brand.component.d.ts +1 -0
  165. package/navbar/navbar-brand.scss +12 -5
  166. package/navbar/navbar-item.component.d.ts +33 -1
  167. package/navbar/navbar.component.d.ts +1 -0
  168. package/navbar/vertical-navbar.scss +6 -0
  169. package/notification-center/notification-center.d.ts +13 -1
  170. package/notification-center/notification-center.scss +12 -0
  171. package/notification-center/notification-item.scss +10 -1
  172. package/overflow-items/overflow-items.d.ts +1 -0
  173. package/package.json +8 -8
  174. package/prebuilt-themes/dark-theme.css +1 -1
  175. package/prebuilt-themes/light-theme.css +1 -1
  176. package/prebuilt-themes/theme.css +1 -1
  177. package/radio/radio.component.d.ts +1 -5
  178. package/radio/radio.scss +18 -4
  179. package/resizer/resizer.d.ts +12 -0
  180. package/schematics/ng-add/index.js +2 -2
  181. package/select/select-option.directive.d.ts +6 -0
  182. package/select/select.component.d.ts +51 -4
  183. package/sidebar/sidebar.component.d.ts +3 -0
  184. package/sidepanel/sidepanel-directives.d.ts +2 -0
  185. package/sidepanel/sidepanel.service.d.ts +8 -0
  186. package/splitter/splitter.component.d.ts +1 -0
  187. package/tabs/tab-body.component.d.ts +2 -0
  188. package/tabs/tab-header.component.d.ts +1 -0
  189. package/tabs/tab-header.scss +1 -0
  190. package/tabs/tab-nav-bar.d.ts +1 -0
  191. package/tabs/tabs-tokens.scss +1 -1
  192. package/textarea/textarea.component.d.ts +0 -1
  193. package/time-range/time-range-title-as-form-field.d.ts +11 -0
  194. package/timepicker/timepicker.directive.d.ts +3 -0
  195. package/timezone/timezone-option.directive.d.ts +6 -0
  196. package/title/title.directive.d.ts +26 -0
  197. package/toast/toast-container.component.d.ts +25 -0
  198. package/tooltip/tooltip.component.d.ts +25 -1
  199. package/tree/_tree-theme.scss +5 -11
  200. package/tree/toggle.scss +4 -0
  201. package/tree/tree-option.component.d.ts +3 -0
  202. package/tree/tree-option.scss +2 -12
  203. package/tree/tree-selection.component.d.ts +1 -0
  204. package/tree-select/tree-select.component.d.ts +24 -2
@@ -178,7 +178,7 @@ class KbqToggleComponent extends KbqColorDirective {
178
178
  useExisting: forwardRef((() => KbqToggleComponent)),
179
179
  multi: true
180
180
  }
181
- ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["kbqToggle"], usesInheritance: true, ngImport: i0, template: "<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition === 'left'\">\n <input\n #input\n role=\"switch\"\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"input.click()\"\n />\n <div class=\"kbq-toggle-bar-container\">\n <div class=\"kbq-toggle-bar\" [class.kbq-progress]=\"loading\">\n <div class=\"kbq-toggle__circle\" [@switch]=\"currentCheckState\"></div>\n <div class=\"kbq-toggle__thumb\"></div>\n </div>\n </div>\n\n <div\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition === 'right'\"\n >\n <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n</label>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;border-radius:50%;transform:translate(-1px);height:10px;width:10px}.kbq-toggle .kbq-toggle-layout{display:flex;flex-direction:row;align-items:flex-start;cursor:inherit}.kbq-toggle .kbq-toggle-layout.kbq-toggle-layout_left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-toggle-size-normal-height)) / 2)}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;transition:background .1s ease-in-out;height:var(--kbq-toggle-size-normal-height);width:var(--kbq-toggle-size-normal-width)}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{position:absolute;left:8px;display:none;justify-content:center;align-items:center;width:10px;height:2px;border-radius:var(--kbq-size-border-width);transition:left 50ms ease-in-out}.kbq-toggle .kbq-hint{margin-top:var(--kbq-size-3xs)}.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate:not(.kbq-disabled) .kbq-toggle-bar:hover .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate .kbq-toggle-bar .kbq-toggle__thumb{display:block}.kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height);width:var(--kbq-toggle-size-big-width)}.kbq-toggle.kbq-toggle_big .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-toggle-size-big-height)) / 2)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}.kbq-toggle .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-default-border);background:var(--kbq-toggle-theme-default-background)}.kbq-toggle .kbq-toggle__circle{background:var(--kbq-toggle-theme-default-circle-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-hover-border);background:var(--kbq-toggle-theme-states-hover-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-hover-circle-background)}.kbq-toggle.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-border);background:var(--kbq-toggle-theme-states-checked-background)}.kbq-toggle.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-circle-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-hover-border);background:var(--kbq-toggle-theme-states-checked-hover-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-hover-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-border);background:var(--kbq-toggle-theme-states-focused-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-focused-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-focused-focus-outline)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-border);background:var(--kbq-toggle-theme-states-checked-focused-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-focused-circle-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-checked-focused-focus-outline)}.kbq-toggle.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-disabled-border);background:var(--kbq-toggle-theme-states-disabled-background)}.kbq-toggle.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-active-disabled-border);background:var(--kbq-toggle-theme-states-active-disabled-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-active-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-error .kbq-toggle-bar{border-color:var(--kbq-toggle-error-default-border);background:var(--kbq-toggle-error-default-background)}.kbq-toggle.kbq-error .kbq-toggle__circle{background:var(--kbq-toggle-error-default-circle-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-hover-border);background:var(--kbq-toggle-error-states-hover-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-hover-circle-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-border);background:var(--kbq-toggle-error-states-checked-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-circle-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-hover-border);background:var(--kbq-toggle-error-states-checked-hover-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-hover-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-border);background:var(--kbq-toggle-error-states-focused-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-focused-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-border);background:var(--kbq-toggle-error-states-checked-focused-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-focused-circle-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-checked-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-disabled-border);background:var(--kbq-toggle-error-states-disabled-background)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-active-disabled-border);background:var(--kbq-toggle-error-states-active-disabled-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-active-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-toggle.kbq-disabled .kbq-hint .kbq-hint__text{color:inherit}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{background:var(--kbq-icon-white)}.kbq-toggle .kbq-hint .kbq-hint__text{color:var(--kbq-foreground-contrast-secondary)}.kbq-toggle:not(.kbq-toggle_big){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-toggle:not(.kbq-toggle_big) .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-toggle:not(.kbq-toggle_big) .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-compact-line-height)}.kbq-toggle.kbq-toggle_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-toggle.kbq-toggle_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)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-big-line-height)}\n", ".kbq-toggle{--kbq-toggle-size-normal-height: var(--kbq-size-l);--kbq-toggle-size-normal-width: 28px;--kbq-toggle-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-size-big-height: var(--kbq-size-l);--kbq-toggle-size-big-width: 28px;--kbq-toggle-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-theme-default-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-default-background: var(--kbq-background-bg);--kbq-toggle-theme-default-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-hover-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-toggle-theme-states-hover-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-checked-border: transparent;--kbq-toggle-theme-states-checked-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-hover-border: transparent;--kbq-toggle-theme-states-checked-hover-background: var(--kbq-states-background-theme-hover);--kbq-toggle-theme-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-focused-background: var(--kbq-background-bg);--kbq-toggle-theme-states-focused-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-theme-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-theme-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-theme-states-active-disabled-border: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-background: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-circle-background: var(--kbq-icon-white);--kbq-toggle-error-default-border: var(--kbq-line-error);--kbq-toggle-error-default-background: var(--kbq-background-error-less);--kbq-toggle-error-default-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-hover-background: var(--kbq-states-background-error-fade-hover);--kbq-toggle-error-states-hover-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-checked-border: var(--kbq-background-error);--kbq-toggle-error-states-checked-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-checked-hover-background: var(--kbq-states-background-error-hover);--kbq-toggle-error-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-focused-background: var(--kbq-background-error-less);--kbq-toggle-error-states-focused-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-error-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-error-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-error-states-active-disabled-border: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-background: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-circle-background: var(--kbq-icon-white)}\n"], dependencies: [{ kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], animations: [
181
+ ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["kbqToggle"], usesInheritance: true, ngImport: i0, template: "<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition === 'left'\">\n <input\n #input\n role=\"switch\"\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"input.click()\"\n />\n <div class=\"kbq-toggle-bar-container\">\n <div class=\"kbq-toggle-bar\" [class.kbq-progress]=\"loading\">\n <div class=\"kbq-toggle__circle\" [@switch]=\"currentCheckState\"></div>\n <div class=\"kbq-toggle__thumb\"></div>\n </div>\n </div>\n\n <div\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition === 'right'\"\n >\n <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n</label>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}@media(prefers-reduced-motion:reduce){.kbq-progress:after{animation:none}}.kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;border-radius:50%;transform:translate(-1px);height:10px;width:10px}.kbq-toggle .kbq-toggle-layout{display:flex;flex-direction:row;align-items:flex-start;cursor:inherit}.kbq-toggle .kbq-toggle-layout.kbq-toggle-layout_left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-toggle-size-normal-height)) / 2)}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;transition:background .1s ease-in-out;height:var(--kbq-toggle-size-normal-height);width:var(--kbq-toggle-size-normal-width)}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{position:absolute;left:8px;display:none;justify-content:center;align-items:center;width:10px;height:2px;border-radius:var(--kbq-size-border-width);transition:left 50ms ease-in-out}.kbq-toggle .kbq-hint{margin-top:var(--kbq-size-3xs)}.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate:not(.kbq-disabled) .kbq-toggle-bar:hover .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate .kbq-toggle-bar .kbq-toggle__thumb{display:block}.kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height);width:var(--kbq-toggle-size-big-width)}.kbq-toggle.kbq-toggle_big .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-toggle-size-big-height)) / 2)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}.kbq-toggle .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-default-border);background:var(--kbq-toggle-theme-default-background)}.kbq-toggle .kbq-toggle__circle{background:var(--kbq-toggle-theme-default-circle-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-hover-border);background:var(--kbq-toggle-theme-states-hover-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-hover-circle-background)}.kbq-toggle.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-border);background:var(--kbq-toggle-theme-states-checked-background)}.kbq-toggle.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-circle-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-hover-border);background:var(--kbq-toggle-theme-states-checked-hover-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-hover-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-border);background:var(--kbq-toggle-theme-states-focused-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-focused-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-focused-focus-outline)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-border);background:var(--kbq-toggle-theme-states-checked-focused-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-focused-circle-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-checked-focused-focus-outline)}.kbq-toggle.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-disabled-border);background:var(--kbq-toggle-theme-states-disabled-background)}.kbq-toggle.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-active-disabled-border);background:var(--kbq-toggle-theme-states-active-disabled-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-active-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-error .kbq-toggle-bar{border-color:var(--kbq-toggle-error-default-border);background:var(--kbq-toggle-error-default-background)}.kbq-toggle.kbq-error .kbq-toggle__circle{background:var(--kbq-toggle-error-default-circle-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-hover-border);background:var(--kbq-toggle-error-states-hover-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-hover-circle-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-border);background:var(--kbq-toggle-error-states-checked-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-circle-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-hover-border);background:var(--kbq-toggle-error-states-checked-hover-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-hover-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-border);background:var(--kbq-toggle-error-states-focused-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-focused-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-border);background:var(--kbq-toggle-error-states-checked-focused-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-focused-circle-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-checked-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-disabled-border);background:var(--kbq-toggle-error-states-disabled-background)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-active-disabled-border);background:var(--kbq-toggle-error-states-active-disabled-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-active-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-toggle.kbq-disabled .kbq-hint .kbq-hint__text{color:inherit}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{background:var(--kbq-icon-white)}.kbq-toggle .kbq-hint .kbq-hint__text{color:var(--kbq-foreground-contrast-secondary)}.kbq-toggle:not(.kbq-toggle_big){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-toggle:not(.kbq-toggle_big) .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-toggle:not(.kbq-toggle_big) .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-compact-line-height)}.kbq-toggle.kbq-toggle_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-toggle.kbq-toggle_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)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-big-line-height)}\n", ".kbq-toggle{--kbq-toggle-size-normal-height: var(--kbq-size-l);--kbq-toggle-size-normal-width: 28px;--kbq-toggle-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-size-big-height: var(--kbq-size-l);--kbq-toggle-size-big-width: 28px;--kbq-toggle-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-theme-default-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-default-background: var(--kbq-background-bg);--kbq-toggle-theme-default-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-hover-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-toggle-theme-states-hover-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-checked-border: transparent;--kbq-toggle-theme-states-checked-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-hover-border: transparent;--kbq-toggle-theme-states-checked-hover-background: var(--kbq-states-background-theme-hover);--kbq-toggle-theme-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-focused-background: var(--kbq-background-bg);--kbq-toggle-theme-states-focused-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-theme-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-theme-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-theme-states-active-disabled-border: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-background: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-circle-background: var(--kbq-icon-white);--kbq-toggle-error-default-border: var(--kbq-line-error);--kbq-toggle-error-default-background: var(--kbq-background-error-less);--kbq-toggle-error-default-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-hover-background: var(--kbq-states-background-error-fade-hover);--kbq-toggle-error-states-hover-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-checked-border: var(--kbq-background-error);--kbq-toggle-error-states-checked-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-checked-hover-background: var(--kbq-states-background-error-hover);--kbq-toggle-error-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-focused-background: var(--kbq-background-error-less);--kbq-toggle-error-states-focused-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-error-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-error-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-error-states-active-disabled-border: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-background: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-circle-background: var(--kbq-icon-white)}\n"], dependencies: [{ kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], animations: [
182
182
  trigger('switch', [
183
183
  state(TransitionCheckState.Init, style({ left: '3px' })),
184
184
  state(TransitionCheckState.Unchecked, style({ left: '3px' })),
@@ -218,7 +218,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
218
218
  useExisting: forwardRef((() => KbqToggleComponent)),
219
219
  multi: true
220
220
  }
221
- ], template: "<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition === 'left'\">\n <input\n #input\n role=\"switch\"\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"input.click()\"\n />\n <div class=\"kbq-toggle-bar-container\">\n <div class=\"kbq-toggle-bar\" [class.kbq-progress]=\"loading\">\n <div class=\"kbq-toggle__circle\" [@switch]=\"currentCheckState\"></div>\n <div class=\"kbq-toggle__thumb\"></div>\n </div>\n </div>\n\n <div\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition === 'right'\"\n >\n <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n</label>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;border-radius:50%;transform:translate(-1px);height:10px;width:10px}.kbq-toggle .kbq-toggle-layout{display:flex;flex-direction:row;align-items:flex-start;cursor:inherit}.kbq-toggle .kbq-toggle-layout.kbq-toggle-layout_left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-toggle-size-normal-height)) / 2)}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;transition:background .1s ease-in-out;height:var(--kbq-toggle-size-normal-height);width:var(--kbq-toggle-size-normal-width)}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{position:absolute;left:8px;display:none;justify-content:center;align-items:center;width:10px;height:2px;border-radius:var(--kbq-size-border-width);transition:left 50ms ease-in-out}.kbq-toggle .kbq-hint{margin-top:var(--kbq-size-3xs)}.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate:not(.kbq-disabled) .kbq-toggle-bar:hover .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate .kbq-toggle-bar .kbq-toggle__thumb{display:block}.kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height);width:var(--kbq-toggle-size-big-width)}.kbq-toggle.kbq-toggle_big .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-toggle-size-big-height)) / 2)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}.kbq-toggle .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-default-border);background:var(--kbq-toggle-theme-default-background)}.kbq-toggle .kbq-toggle__circle{background:var(--kbq-toggle-theme-default-circle-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-hover-border);background:var(--kbq-toggle-theme-states-hover-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-hover-circle-background)}.kbq-toggle.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-border);background:var(--kbq-toggle-theme-states-checked-background)}.kbq-toggle.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-circle-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-hover-border);background:var(--kbq-toggle-theme-states-checked-hover-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-hover-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-border);background:var(--kbq-toggle-theme-states-focused-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-focused-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-focused-focus-outline)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-border);background:var(--kbq-toggle-theme-states-checked-focused-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-focused-circle-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-checked-focused-focus-outline)}.kbq-toggle.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-disabled-border);background:var(--kbq-toggle-theme-states-disabled-background)}.kbq-toggle.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-active-disabled-border);background:var(--kbq-toggle-theme-states-active-disabled-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-active-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-error .kbq-toggle-bar{border-color:var(--kbq-toggle-error-default-border);background:var(--kbq-toggle-error-default-background)}.kbq-toggle.kbq-error .kbq-toggle__circle{background:var(--kbq-toggle-error-default-circle-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-hover-border);background:var(--kbq-toggle-error-states-hover-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-hover-circle-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-border);background:var(--kbq-toggle-error-states-checked-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-circle-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-hover-border);background:var(--kbq-toggle-error-states-checked-hover-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-hover-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-border);background:var(--kbq-toggle-error-states-focused-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-focused-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-border);background:var(--kbq-toggle-error-states-checked-focused-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-focused-circle-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-checked-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-disabled-border);background:var(--kbq-toggle-error-states-disabled-background)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-active-disabled-border);background:var(--kbq-toggle-error-states-active-disabled-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-active-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-toggle.kbq-disabled .kbq-hint .kbq-hint__text{color:inherit}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{background:var(--kbq-icon-white)}.kbq-toggle .kbq-hint .kbq-hint__text{color:var(--kbq-foreground-contrast-secondary)}.kbq-toggle:not(.kbq-toggle_big){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-toggle:not(.kbq-toggle_big) .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-toggle:not(.kbq-toggle_big) .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-compact-line-height)}.kbq-toggle.kbq-toggle_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-toggle.kbq-toggle_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)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-big-line-height)}\n", ".kbq-toggle{--kbq-toggle-size-normal-height: var(--kbq-size-l);--kbq-toggle-size-normal-width: 28px;--kbq-toggle-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-size-big-height: var(--kbq-size-l);--kbq-toggle-size-big-width: 28px;--kbq-toggle-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-theme-default-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-default-background: var(--kbq-background-bg);--kbq-toggle-theme-default-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-hover-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-toggle-theme-states-hover-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-checked-border: transparent;--kbq-toggle-theme-states-checked-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-hover-border: transparent;--kbq-toggle-theme-states-checked-hover-background: var(--kbq-states-background-theme-hover);--kbq-toggle-theme-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-focused-background: var(--kbq-background-bg);--kbq-toggle-theme-states-focused-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-theme-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-theme-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-theme-states-active-disabled-border: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-background: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-circle-background: var(--kbq-icon-white);--kbq-toggle-error-default-border: var(--kbq-line-error);--kbq-toggle-error-default-background: var(--kbq-background-error-less);--kbq-toggle-error-default-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-hover-background: var(--kbq-states-background-error-fade-hover);--kbq-toggle-error-states-hover-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-checked-border: var(--kbq-background-error);--kbq-toggle-error-states-checked-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-checked-hover-background: var(--kbq-states-background-error-hover);--kbq-toggle-error-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-focused-background: var(--kbq-background-error-less);--kbq-toggle-error-states-focused-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-error-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-error-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-error-states-active-disabled-border: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-background: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-circle-background: var(--kbq-icon-white)}\n"] }]
221
+ ], template: "<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition === 'left'\">\n <input\n #input\n role=\"switch\"\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"input.click()\"\n />\n <div class=\"kbq-toggle-bar-container\">\n <div class=\"kbq-toggle-bar\" [class.kbq-progress]=\"loading\">\n <div class=\"kbq-toggle__circle\" [@switch]=\"currentCheckState\"></div>\n <div class=\"kbq-toggle__thumb\"></div>\n </div>\n </div>\n\n <div\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition === 'right'\"\n >\n <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n</label>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}@media(prefers-reduced-motion:reduce){.kbq-progress:after{animation:none}}.kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;border-radius:50%;transform:translate(-1px);height:10px;width:10px}.kbq-toggle .kbq-toggle-layout{display:flex;flex-direction:row;align-items:flex-start;cursor:inherit}.kbq-toggle .kbq-toggle-layout.kbq-toggle-layout_left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-toggle-size-normal-height)) / 2)}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;transition:background .1s ease-in-out;height:var(--kbq-toggle-size-normal-height);width:var(--kbq-toggle-size-normal-width)}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{position:absolute;left:8px;display:none;justify-content:center;align-items:center;width:10px;height:2px;border-radius:var(--kbq-size-border-width);transition:left 50ms ease-in-out}.kbq-toggle .kbq-hint{margin-top:var(--kbq-size-3xs)}.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate:not(.kbq-disabled) .kbq-toggle-bar:hover .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate .kbq-toggle-bar .kbq-toggle__thumb{display:block}.kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height);width:var(--kbq-toggle-size-big-width)}.kbq-toggle.kbq-toggle_big .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-toggle-size-big-height)) / 2)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}.kbq-toggle .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-default-border);background:var(--kbq-toggle-theme-default-background)}.kbq-toggle .kbq-toggle__circle{background:var(--kbq-toggle-theme-default-circle-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-hover-border);background:var(--kbq-toggle-theme-states-hover-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-hover-circle-background)}.kbq-toggle.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-border);background:var(--kbq-toggle-theme-states-checked-background)}.kbq-toggle.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-circle-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-hover-border);background:var(--kbq-toggle-theme-states-checked-hover-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-hover-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-border);background:var(--kbq-toggle-theme-states-focused-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-focused-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-focused-focus-outline)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-border);background:var(--kbq-toggle-theme-states-checked-focused-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-focused-circle-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-checked-focused-focus-outline)}.kbq-toggle.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-disabled-border);background:var(--kbq-toggle-theme-states-disabled-background)}.kbq-toggle.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-active-disabled-border);background:var(--kbq-toggle-theme-states-active-disabled-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-active-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-error .kbq-toggle-bar{border-color:var(--kbq-toggle-error-default-border);background:var(--kbq-toggle-error-default-background)}.kbq-toggle.kbq-error .kbq-toggle__circle{background:var(--kbq-toggle-error-default-circle-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-hover-border);background:var(--kbq-toggle-error-states-hover-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-hover-circle-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-border);background:var(--kbq-toggle-error-states-checked-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-circle-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-hover-border);background:var(--kbq-toggle-error-states-checked-hover-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-hover-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-border);background:var(--kbq-toggle-error-states-focused-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-focused-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-border);background:var(--kbq-toggle-error-states-checked-focused-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-focused-circle-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-checked-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-disabled-border);background:var(--kbq-toggle-error-states-disabled-background)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-active-disabled-border);background:var(--kbq-toggle-error-states-active-disabled-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-active-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-toggle.kbq-disabled .kbq-hint .kbq-hint__text{color:inherit}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{background:var(--kbq-icon-white)}.kbq-toggle .kbq-hint .kbq-hint__text{color:var(--kbq-foreground-contrast-secondary)}.kbq-toggle:not(.kbq-toggle_big){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-toggle:not(.kbq-toggle_big) .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-toggle:not(.kbq-toggle_big) .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-compact-line-height)}.kbq-toggle.kbq-toggle_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-toggle.kbq-toggle_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)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-big-line-height)}\n", ".kbq-toggle{--kbq-toggle-size-normal-height: var(--kbq-size-l);--kbq-toggle-size-normal-width: 28px;--kbq-toggle-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-size-big-height: var(--kbq-size-l);--kbq-toggle-size-big-width: 28px;--kbq-toggle-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-theme-default-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-default-background: var(--kbq-background-bg);--kbq-toggle-theme-default-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-hover-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-toggle-theme-states-hover-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-checked-border: transparent;--kbq-toggle-theme-states-checked-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-hover-border: transparent;--kbq-toggle-theme-states-checked-hover-background: var(--kbq-states-background-theme-hover);--kbq-toggle-theme-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-focused-background: var(--kbq-background-bg);--kbq-toggle-theme-states-focused-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-theme-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-theme-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-theme-states-active-disabled-border: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-background: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-circle-background: var(--kbq-icon-white);--kbq-toggle-error-default-border: var(--kbq-line-error);--kbq-toggle-error-default-background: var(--kbq-background-error-less);--kbq-toggle-error-default-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-hover-background: var(--kbq-states-background-error-fade-hover);--kbq-toggle-error-states-hover-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-checked-border: var(--kbq-background-error);--kbq-toggle-error-states-checked-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-checked-hover-background: var(--kbq-states-background-error-hover);--kbq-toggle-error-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-focused-background: var(--kbq-background-error-less);--kbq-toggle-error-states-focused-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-error-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-error-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-error-states-active-disabled-border: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-background: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-circle-background: var(--kbq-icon-white)}\n"] }]
222
222
  }], ctorParameters: () => [{ type: i1.FocusMonitor }, { type: i0.ChangeDetectorRef }], propDecorators: { big: [{
223
223
  type: Input
224
224
  }], inputElement: [{
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-toggle.mjs","sources":["../../../packages/components/toggle/toggle.component.ts","../../../packages/components/toggle/toggle.component.html","../../../packages/components/toggle/toggle.module.ts","../../../packages/components/toggle/koobiq-components-toggle.ts"],"sourcesContent":["import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n numberAttribute,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KBQ_CHECKBOX_CLICK_ACTION, KbqCheckboxClickAction, TransitionCheckState } from '@koobiq/components/checkbox';\nimport { KbqAnimationCurves, KbqAnimationDurations, KbqCheckedState, KbqColorDirective } from '@koobiq/components/core';\n\nlet nextUniqueId = 0;\n\ntype ToggleLabelPositionType = 'left' | 'right';\n\nexport class KbqToggleChange {\n source: KbqToggleComponent;\n checked: boolean;\n}\n\n@Component({\n selector: 'kbq-toggle',\n imports: [\n CdkObserveContent\n ],\n templateUrl: './toggle.component.html',\n styleUrls: ['./toggle.scss', './toggle-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqToggle',\n host: {\n class: 'kbq-toggle',\n '[class.kbq-toggle_big]': 'big',\n '[id]': 'id',\n '[attr.id]': 'id',\n '[class.kbq-disabled]': 'disabled || loading',\n '[class.kbq-active]': 'checked',\n '[class.kbq-indeterminate]': 'indeterminate'\n },\n animations: [\n trigger('switch', [\n state(TransitionCheckState.Init, style({ left: '3px' })),\n state(TransitionCheckState.Unchecked, style({ left: '3px' })),\n state(TransitionCheckState.Indeterminate, style({ left: '10px', visibility: 'hidden' })),\n state(TransitionCheckState.Checked, style({ left: 'calc(100% - 11px)' })),\n transition(\n `${TransitionCheckState.Init} => ${TransitionCheckState.Checked}`,\n animate(KbqAnimationDurations.Entering)\n ),\n transition(\n `${TransitionCheckState.Checked} <=> ${TransitionCheckState.Unchecked}`,\n animate(KbqAnimationDurations.Rapid)\n ),\n transition(\n `${TransitionCheckState.Indeterminate} => *`,\n animate(`${KbqAnimationDurations.Instant} ${KbqAnimationCurves.EaseInOut}`)\n )\n ])\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqToggleComponent),\n multi: true\n }\n ]\n})\nexport class KbqToggleComponent extends KbqColorDirective implements AfterViewInit, ControlValueAccessor, OnDestroy {\n @Input() big: boolean = false;\n\n @ViewChild('input', { static: false }) inputElement: ElementRef<HTMLInputElement>;\n\n @Input() labelPosition: ToggleLabelPositionType = 'right';\n\n @Input('aria-label') ariaLabel: string = '';\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n @Input() id: string;\n\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n @Input() name: string | null = null;\n\n @Input() value: string;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n if (value !== this._disabled) {\n this._disabled = value;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private _disabled: boolean = false;\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 get checked() {\n return this._checked;\n }\n\n @Input()\n set checked(value: boolean) {\n if (value !== this._checked) {\n this._checked = value;\n this.setTransitionCheckState();\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private _checked: boolean = false;\n\n /**\n * Whether the toggle is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input({ transform: booleanAttribute })\n get indeterminate(): boolean {\n return this._indeterminate;\n }\n\n set indeterminate(value: boolean) {\n const changed = value !== this._indeterminate;\n\n this._indeterminate = value;\n\n if (changed) {\n this.setTransitionCheckState();\n this.indeterminateChange.emit(this._indeterminate);\n }\n }\n\n private _indeterminate: boolean = false;\n /**\n * Property for manually set loading state.\n */\n @Input({ transform: booleanAttribute }) loading: boolean = false;\n\n @Output() readonly change: EventEmitter<KbqToggleChange> = new EventEmitter<KbqToggleChange>();\n\n /** Event emitted when the toggle's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @docs-private */\n protected currentCheckState: TransitionCheckState = TransitionCheckState.Init;\n\n /** Defines the behavior when a user clicks on the toggle. */\n @Input() clickAction: KbqCheckboxClickAction = inject(KBQ_CHECKBOX_CLICK_ACTION, { optional: true }) || undefined;\n\n private uniqueId: string = `kbq-toggle-${++nextUniqueId}`;\n\n constructor(\n private focusMonitor: FocusMonitor,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n\n this.id = this.uniqueId;\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n focus(): void {\n this.focusMonitor.focusVia(this.inputElement.nativeElement, 'keyboard');\n }\n\n getAriaChecked(): KbqCheckedState {\n return this.checked ? 'true' : this.indeterminate ? 'mixed' : 'false';\n }\n\n onChangeEvent(event: Event) {\n event.stopPropagation();\n }\n\n onLabelTextChange() {\n this.changeDetectorRef.markForCheck();\n }\n\n onInputClick(event: MouseEvent) {\n if (this.loading) return;\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 `toggle` 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 for the second event will solve that issue.\n event.stopPropagation();\n\n if (!this.disabled && this.clickAction !== 'noop') {\n // When user manually click on the toggle, `indeterminate` is set to false.\n if (this.indeterminate && this.clickAction !== 'check') {\n Promise.resolve().then(() => {\n this._indeterminate = false;\n this.indeterminateChange.emit(this._indeterminate);\n });\n }\n\n this._checked = !this.checked;\n this.onTouchedCallback();\n this.transitionCheckState(this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this.emitChangeEvent();\n } else if (!this.disabled && this.clickAction === 'noop') {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `kbq-toggle`.\n this.inputElement.nativeElement.checked = this.checked;\n this.inputElement.nativeElement.indeterminate = this.indeterminate;\n }\n }\n\n writeValue(value: any) {\n this.checked = !!value;\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n private setTransitionCheckState() {\n if (this.indeterminate) {\n this.transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this.transitionCheckState(this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n }\n }\n\n private onTouchedCallback = () => {};\n\n private onChangeCallback = (_: any) => {};\n\n private transitionCheckState(newState: TransitionCheckState) {\n const oldState = this.currentCheckState;\n\n if (oldState === newState) return;\n\n this.currentCheckState = newState;\n }\n\n private emitChangeEvent() {\n const event = new KbqToggleChange();\n\n event.source = this;\n event.checked = this.checked;\n\n this.onChangeCallback(this.checked);\n this.change.emit(event);\n }\n}\n","<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition === 'left'\">\n <input\n #input\n role=\"switch\"\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"input.click()\"\n />\n <div class=\"kbq-toggle-bar-container\">\n <div class=\"kbq-toggle-bar\" [class.kbq-progress]=\"loading\">\n <div class=\"kbq-toggle__circle\" [@switch]=\"currentCheckState\"></div>\n <div class=\"kbq-toggle__thumb\"></div>\n </div>\n </div>\n\n <div\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition === 'right'\"\n >\n <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n</label>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { KbqToggleComponent } from './toggle.component';\n\n@NgModule({\n imports: [A11yModule, KbqToggleComponent],\n exports: [KbqToggleComponent]\n})\nexport class KbqToggleModule {}\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-toggle.mjs","sources":["../../../packages/components/toggle/toggle.component.ts","../../../packages/components/toggle/toggle.component.html","../../../packages/components/toggle/toggle.module.ts","../../../packages/components/toggle/koobiq-components-toggle.ts"],"sourcesContent":["import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n numberAttribute,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KBQ_CHECKBOX_CLICK_ACTION, KbqCheckboxClickAction, TransitionCheckState } from '@koobiq/components/checkbox';\nimport { KbqAnimationCurves, KbqAnimationDurations, KbqCheckedState, KbqColorDirective } from '@koobiq/components/core';\n\nlet nextUniqueId = 0;\n\ntype ToggleLabelPositionType = 'left' | 'right';\n\nexport class KbqToggleChange {\n source: KbqToggleComponent;\n checked: boolean;\n}\n\n@Component({\n selector: 'kbq-toggle',\n imports: [\n CdkObserveContent\n ],\n templateUrl: './toggle.component.html',\n styleUrls: ['./toggle.scss', './toggle-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqToggle',\n host: {\n class: 'kbq-toggle',\n '[class.kbq-toggle_big]': 'big',\n '[id]': 'id',\n '[attr.id]': 'id',\n '[class.kbq-disabled]': 'disabled || loading',\n '[class.kbq-active]': 'checked',\n '[class.kbq-indeterminate]': 'indeterminate'\n },\n animations: [\n trigger('switch', [\n state(TransitionCheckState.Init, style({ left: '3px' })),\n state(TransitionCheckState.Unchecked, style({ left: '3px' })),\n state(TransitionCheckState.Indeterminate, style({ left: '10px', visibility: 'hidden' })),\n state(TransitionCheckState.Checked, style({ left: 'calc(100% - 11px)' })),\n transition(\n `${TransitionCheckState.Init} => ${TransitionCheckState.Checked}`,\n animate(KbqAnimationDurations.Entering)\n ),\n transition(\n `${TransitionCheckState.Checked} <=> ${TransitionCheckState.Unchecked}`,\n animate(KbqAnimationDurations.Rapid)\n ),\n transition(\n `${TransitionCheckState.Indeterminate} => *`,\n animate(`${KbqAnimationDurations.Instant} ${KbqAnimationCurves.EaseInOut}`)\n )\n ])\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqToggleComponent),\n multi: true\n }\n ]\n})\nexport class KbqToggleComponent extends KbqColorDirective implements AfterViewInit, ControlValueAccessor, OnDestroy {\n @Input() big: boolean = false;\n\n @ViewChild('input', { static: false }) inputElement: ElementRef<HTMLInputElement>;\n\n @Input() labelPosition: ToggleLabelPositionType = 'right';\n\n @Input('aria-label') ariaLabel: string = '';\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n @Input() id: string;\n\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n @Input() name: string | null = null;\n\n @Input() value: string;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n if (value !== this._disabled) {\n this._disabled = value;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private _disabled: boolean = false;\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 get checked() {\n return this._checked;\n }\n\n @Input()\n set checked(value: boolean) {\n if (value !== this._checked) {\n this._checked = value;\n this.setTransitionCheckState();\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private _checked: boolean = false;\n\n /**\n * Whether the toggle is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input({ transform: booleanAttribute })\n get indeterminate(): boolean {\n return this._indeterminate;\n }\n\n set indeterminate(value: boolean) {\n const changed = value !== this._indeterminate;\n\n this._indeterminate = value;\n\n if (changed) {\n this.setTransitionCheckState();\n this.indeterminateChange.emit(this._indeterminate);\n }\n }\n\n private _indeterminate: boolean = false;\n /**\n * Property for manually set loading state.\n */\n @Input({ transform: booleanAttribute }) loading: boolean = false;\n\n @Output() readonly change: EventEmitter<KbqToggleChange> = new EventEmitter<KbqToggleChange>();\n\n /** Event emitted when the toggle's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @docs-private */\n protected currentCheckState: TransitionCheckState = TransitionCheckState.Init;\n\n /** Defines the behavior when a user clicks on the toggle. */\n @Input() clickAction: KbqCheckboxClickAction = inject(KBQ_CHECKBOX_CLICK_ACTION, { optional: true }) || undefined;\n\n private uniqueId: string = `kbq-toggle-${++nextUniqueId}`;\n\n constructor(\n private focusMonitor: FocusMonitor,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n\n this.id = this.uniqueId;\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n focus(): void {\n this.focusMonitor.focusVia(this.inputElement.nativeElement, 'keyboard');\n }\n\n getAriaChecked(): KbqCheckedState {\n return this.checked ? 'true' : this.indeterminate ? 'mixed' : 'false';\n }\n\n onChangeEvent(event: Event) {\n event.stopPropagation();\n }\n\n onLabelTextChange() {\n this.changeDetectorRef.markForCheck();\n }\n\n onInputClick(event: MouseEvent) {\n if (this.loading) return;\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 `toggle` 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 for the second event will solve that issue.\n event.stopPropagation();\n\n if (!this.disabled && this.clickAction !== 'noop') {\n // When user manually click on the toggle, `indeterminate` is set to false.\n if (this.indeterminate && this.clickAction !== 'check') {\n Promise.resolve().then(() => {\n this._indeterminate = false;\n this.indeterminateChange.emit(this._indeterminate);\n });\n }\n\n this._checked = !this.checked;\n this.onTouchedCallback();\n this.transitionCheckState(this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this.emitChangeEvent();\n } else if (!this.disabled && this.clickAction === 'noop') {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `kbq-toggle`.\n this.inputElement.nativeElement.checked = this.checked;\n this.inputElement.nativeElement.indeterminate = this.indeterminate;\n }\n }\n\n writeValue(value: any) {\n this.checked = !!value;\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n private setTransitionCheckState() {\n if (this.indeterminate) {\n this.transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this.transitionCheckState(this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n }\n }\n\n private onTouchedCallback = () => {};\n\n private onChangeCallback = (_: any) => {};\n\n private transitionCheckState(newState: TransitionCheckState) {\n const oldState = this.currentCheckState;\n\n if (oldState === newState) return;\n\n this.currentCheckState = newState;\n }\n\n private emitChangeEvent() {\n const event = new KbqToggleChange();\n\n event.source = this;\n event.checked = this.checked;\n\n this.onChangeCallback(this.checked);\n this.change.emit(event);\n }\n}\n","<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition === 'left'\">\n <input\n #input\n role=\"switch\"\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"input.click()\"\n />\n <div class=\"kbq-toggle-bar-container\">\n <div class=\"kbq-toggle-bar\" [class.kbq-progress]=\"loading\">\n <div class=\"kbq-toggle__circle\" [@switch]=\"currentCheckState\"></div>\n <div class=\"kbq-toggle__thumb\"></div>\n </div>\n </div>\n\n <div\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition === 'right'\"\n >\n <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n</label>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { KbqToggleComponent } from './toggle.component';\n\n@NgModule({\n imports: [A11yModule, KbqToggleComponent],\n exports: [KbqToggleComponent]\n})\nexport class KbqToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -78,7 +78,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
78
78
  type: ViewChild,
79
79
  args: ['tooltip']
80
80
  }] } });
81
- const KBQ_TOOLTIP_SCROLL_STRATEGY = new InjectionToken('kbq-tooltip-scroll-strategy');
81
+ const KBQ_TOOLTIP_SCROLL_STRATEGY = new InjectionToken('kbq-tooltip-scroll-strategy', {
82
+ providedIn: 'root',
83
+ factory: () => kbqTooltipScrollStrategyFactory(inject(Overlay))
84
+ });
82
85
  /** @docs-private */
83
86
  function kbqTooltipScrollStrategyFactory(overlay) {
84
87
  return () => overlay.scrollStrategies.close();
@@ -115,14 +118,19 @@ class KbqTooltipTrigger extends KbqPopUpTrigger {
115
118
  this._content = content;
116
119
  this.updateData();
117
120
  }
121
+ /**
122
+ * Input (`kbqTooltipDisabled`) controlling whether the tooltip is disabled; setting it to `true` hides it.
123
+ * `undefined` leaves the decision to the trigger, like an unset input.
124
+ *
125
+ * Reads back the *effective* state, which for triggers that derive one of their own (see
126
+ * `derivedDisabledWins`) is not necessarily the value that was written.
127
+ */
118
128
  get disabled() {
119
129
  return this._disabled;
120
130
  }
121
131
  set disabled(value) {
122
- this._disabled = coerceBooleanProperty(value);
123
- if (this._disabled) {
124
- this.hide();
125
- }
132
+ this.explicitlyDisabled = value === undefined ? undefined : coerceBooleanProperty(value);
133
+ this.applyDisabled();
126
134
  }
127
135
  get trigger() {
128
136
  return this._trigger;
@@ -197,6 +205,13 @@ class KbqTooltipTrigger extends KbqPopUpTrigger {
197
205
  * Does not work with kbqPlacementPriority.
198
206
  */
199
207
  this.relativeToPointer = false;
208
+ /**
209
+ * Whether the state this trigger derives means *there is nothing to show*, so an explicit
210
+ * `kbqTooltipDisabled="false"` cannot override it, as for a hint that repeats text the host never clipped.
211
+ * Otherwise the explicit value wins in both directions, so `false` on a wrapped control that is not disabled
212
+ * still asks for a tooltip.
213
+ * @docs-private */
214
+ this.derivedDisabledWins = false;
200
215
  this.enterDelay = 400;
201
216
  this.leaveDelay = 0;
202
217
  this._trigger = `${PopUpTriggers.Hover}, ${PopUpTriggers.Focus}`;
@@ -222,7 +237,7 @@ class KbqTooltipTrigger extends KbqPopUpTrigger {
222
237
  else {
223
238
  this.renderer.setAttribute(this.getNativeElement(), 'tabindex', '-1');
224
239
  }
225
- this.disabled = !disabled;
240
+ this.setDerivedDisabled(!disabled);
226
241
  });
227
242
  }
228
243
  ngAfterViewInit() {
@@ -313,6 +328,31 @@ class KbqTooltipTrigger extends KbqPopUpTrigger {
313
328
  }
314
329
  this.strategy.setOrigin(point);
315
330
  }
331
+ /**
332
+ * Records the state this trigger derives from what it renders — the wrapped control being disabled, text
333
+ * overflow in `KbqTitleDirective` and the option tooltips — without overwriting `kbqTooltipDisabled`.
334
+ * @docs-private */
335
+ setDerivedDisabled(value) {
336
+ this.derivedDisabled = value;
337
+ this.applyDisabled();
338
+ }
339
+ applyDisabled() {
340
+ const next = this.foldDisabled();
341
+ // Derived states are re-stated on every resize, content mutation and pointer sweep, and most of those
342
+ // repeat the previous answer, which must not reach `hide()` again.
343
+ if (next === this._disabled)
344
+ return;
345
+ this._disabled = next;
346
+ if (this._disabled) {
347
+ this.hide();
348
+ }
349
+ }
350
+ foldDisabled() {
351
+ if (this.derivedDisabledWins) {
352
+ return this.explicitlyDisabled === true || (this.derivedDisabled ?? false);
353
+ }
354
+ return this.explicitlyDisabled ?? this.derivedDisabled ?? false;
355
+ }
316
356
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTooltipTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
317
357
  /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.21", type: KbqTooltipTrigger, isStandalone: true, selector: "[kbqTooltip]", inputs: { forDisabledComponent: { classPropertyName: "forDisabledComponent", publicName: "forDisabledComponent", isSignal: true, isRequired: false, transformFunction: null }, ignoreTooltipPointerEvents: { classPropertyName: "ignoreTooltipPointerEvents", publicName: "ignoreTooltipPointerEvents", isSignal: true, isRequired: false, transformFunction: null }, hideWithTimeout: { classPropertyName: "hideWithTimeout", publicName: "hideWithTimeout", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tooltipVisible: { classPropertyName: "tooltipVisible", publicName: "kbqVisible", isSignal: false, isRequired: false, transformFunction: null }, tooltipPlacement: { classPropertyName: "tooltipPlacement", publicName: "kbqPlacement", isSignal: false, isRequired: false, transformFunction: null }, relativeToPointer: { classPropertyName: "relativeToPointer", publicName: "kbqRelativeToPointer", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tooltipPlacementPriority: { classPropertyName: "tooltipPlacementPriority", publicName: "kbqPlacementPriority", isSignal: false, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "kbqTooltip", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "kbqTooltipDisabled", isSignal: false, isRequired: false, transformFunction: null }, enterDelay: { classPropertyName: "enterDelay", publicName: "kbqEnterDelay", isSignal: false, isRequired: false, transformFunction: null }, leaveDelay: { classPropertyName: "leaveDelay", publicName: "kbqLeaveDelay", isSignal: false, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "kbqTrigger", isSignal: false, isRequired: false, transformFunction: null }, customClass: { classPropertyName: "customClass", publicName: "kbqTooltipClass", isSignal: false, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "kbqTooltipContext", isSignal: false, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "kbqTooltipColor", isSignal: false, isRequired: false, transformFunction: null }, arrow: { classPropertyName: "arrow", publicName: "kbqTooltipArrow", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, offset: { classPropertyName: "offset", publicName: "kbqTooltipOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute } }, outputs: { placementChange: "kbqPlacementChange", visibleChange: "kbqVisibleChange" }, host: { listeners: { "keydown": "keydownHandler($event)", "touchend": "touchendHandler()" }, properties: { "class.kbq-tooltip_open": "isOpen" } }, exportAs: ["kbqTooltip"], usesInheritance: true, ngImport: i0 }); }
318
358
  }
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-tooltip.mjs","sources":["../../../packages/components/tooltip/tooltip.animations.ts","../../../packages/components/tooltip/tooltip.component.ts","../../../packages/components/tooltip/tooltip.component.html","../../../packages/components/tooltip/tooltip.module.ts","../../../packages/components/tooltip/koobiq-components-tooltip.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, keyframes, state, style, transition, trigger } from '@angular/animations';\n\n/**\n * Animations used by KbqTooltip.\n * @docs-private\n */\nexport const kbqTooltipAnimations: {\n readonly tooltipState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n tooltipState: trigger('state', [\n state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n state('visible', style({ transform: 'scale(0.99)' })),\n transition(\n '* => visible',\n animate(\n '200ms cubic-bezier(0, 0, 0.2, 1)',\n keyframes([\n style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n style({ opacity: 0.5, transform: 'scale(0.9)', offset: 0.5 }),\n style({ opacity: 1, transform: 'scale(0.99)', offset: 1 })\n ])\n )\n ),\n transition('* => hidden', animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 })))\n ])\n};\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Point } from '@angular/cdk/drag-drop';\nimport { Overlay, OverlayConfig, ScrollStrategy } from '@angular/cdk/overlay';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n Type,\n ViewChild,\n ViewEncapsulation,\n WritableSignal,\n booleanAttribute,\n effect,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n KBQ_PARENT_POPUP,\n KbqComponentColors,\n KbqParentPopup,\n KbqPopUp,\n KbqPopUpPlacementValues,\n KbqPopUpTrigger,\n POSITION_TO_CSS_MAP,\n PopUpPlacements,\n PopUpTriggers,\n applyPopupMargins\n} from '@koobiq/components/core';\nimport { EMPTY, merge } from 'rxjs';\nimport { kbqTooltipAnimations } from './tooltip.animations';\n\nexport enum TooltipModifier {\n Default = 'default',\n Warning = 'warning',\n Extended = 'extended'\n}\n\nexport const KBQ_TOOLTIP_OPEN_TIME = new InjectionToken<() => ScrollStrategy>('kbq-tooltip-open-time');\n\n/** @docs-private */\nexport const KBQ_TOOLTIP_OPEN_TIME_PROVIDER = {\n provide: KBQ_TOOLTIP_OPEN_TIME,\n useValue: { value: 0 }\n};\n\nexport const MIN_TIME_FOR_DELAY = 2000;\n\n@Component({\n selector: 'kbq-tooltip-component',\n imports: [\n NgClass,\n NgTemplateOutlet\n ],\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.scss', './tooltip-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [kbqTooltipAnimations.tooltipState],\n providers: [KBQ_TOOLTIP_OPEN_TIME_PROVIDER]\n})\nexport class KbqTooltipComponent extends KbqPopUp {\n prefix = 'kbq-tooltip';\n\n @ViewChild('tooltip') elementRef: ElementRef;\n\n constructor(@Inject(KBQ_TOOLTIP_OPEN_TIME) private openTime) {\n super();\n }\n\n show(delay: number) {\n if (!this.content) {\n return;\n }\n\n super.show(Date.now() - this.openTime.value < MIN_TIME_FOR_DELAY ? 0 : delay);\n\n if (this.offset !== null) {\n applyPopupMargins(\n this.renderer,\n this.elementRef.nativeElement,\n this.prefix,\n `${this.offset!.toString()}px`\n );\n }\n\n this.openTime.value = Date.now();\n }\n\n updateClassMap(placement: string, customClass: string, { modifier }) {\n const classMap = {\n [`${this.prefix}_${modifier}`]: true\n };\n\n super.updateClassMap(placement, customClass, classMap);\n }\n}\n\nexport const KBQ_TOOLTIP_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>('kbq-tooltip-scroll-strategy');\n\n/** @docs-private */\nexport function kbqTooltipScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.close();\n}\n\n/** @docs-private */\nexport const KBQ_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: KBQ_TOOLTIP_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: kbqTooltipScrollStrategyFactory\n};\n\n@Directive({\n selector: '[kbqTooltip]',\n exportAs: 'kbqTooltip',\n host: {\n '[class.kbq-tooltip_open]': 'isOpen',\n\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n }\n})\nexport class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipComponent> implements AfterViewInit, OnDestroy {\n protected scrollStrategy: () => ScrollStrategy = inject(KBQ_TOOLTIP_SCROLL_STRATEGY);\n protected parentPopup = inject<KbqParentPopup>(KBQ_PARENT_POPUP, { optional: true });\n protected focusMonitor: FocusMonitor = inject(FocusMonitor);\n /** @docs-private */\n protected renderer: Renderer2 = inject(Renderer2);\n\n /**\n * Input for controlling the disabled state of a component.\n *\n * The input expects a component containing `disabledSignal` property, which is\n * a writable signal emitting boolean values.\n */\n readonly forDisabledComponent = input<Record<'disabledSignal', WritableSignal<boolean>>>();\n\n /**\n * Determines whether pointer events should be ignored on tooltips.\n *\n * When set to `true`, tooltip elements will not receive pointer events,\n * allowing interactions to pass through to underlying elements.\n * Defaults to `true`.\n */\n readonly ignoreTooltipPointerEvents = input<boolean>(true);\n\n /**\n * Changes hiding behavior. By default, tooltip is hidden on mouseleave from trigger.\n * Setting hideWithTimeout to true will delay tooltip hiding and will not hide when the mouse moves from trigger\n * to tooltip.\n */\n @Input({ transform: booleanAttribute }) hideWithTimeout: boolean = false;\n\n @Input('kbqVisible')\n get tooltipVisible(): boolean {\n return this.visible;\n }\n\n set tooltipVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('kbqPlacement')\n get tooltipPlacement(): KbqPopUpPlacementValues {\n return this.placement;\n }\n\n /**\n * Positions the tooltip relative to the mouse cursor. Only available for top and bottom kbqPlacement.\n * Does not work with kbqPlacementPriority.\n */\n @Input({ alias: 'kbqRelativeToPointer', transform: booleanAttribute }) relativeToPointer: boolean = false;\n\n set tooltipPlacement(value: KbqPopUpPlacementValues) {\n super.updatePlacement(value);\n }\n\n @Input('kbqPlacementPriority')\n get tooltipPlacementPriority() {\n return this.placementPriority;\n }\n\n set tooltipPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n @Input('kbqTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n @Input('kbqTooltipDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n\n if (this._disabled) {\n this.hide();\n }\n }\n\n @Input('kbqEnterDelay') enterDelay = 400;\n @Input('kbqLeaveDelay') leaveDelay = 0;\n\n @Input('kbqTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n } else {\n this._trigger = `${PopUpTriggers.Hover}, ${PopUpTriggers.Focus}`;\n }\n\n this.initListeners();\n }\n\n protected _trigger = `${PopUpTriggers.Hover}, ${PopUpTriggers.Focus}`;\n\n @Input('kbqTooltipClass')\n get customClass(): string {\n return this._customClass || '';\n }\n\n set customClass(value: string) {\n if (value) {\n this._customClass = value;\n\n this.updateClassMap();\n } else {\n this._customClass = '';\n }\n }\n\n @Input('kbqTooltipContext')\n get context() {\n return this._context;\n }\n\n set context(ctx) {\n this._context = ctx;\n this.updateData();\n }\n\n private _context: any = null;\n\n @Input('kbqTooltipColor')\n get color(): string {\n return `kbq-${this._color}`;\n }\n\n set color(value: KbqComponentColors | string) {\n this._color = value || KbqComponentColors.Contrast;\n }\n\n private _color: KbqComponentColors | string = KbqComponentColors.Contrast;\n\n @Input({ alias: 'kbqTooltipArrow', transform: booleanAttribute }) arrow: boolean = false;\n @Input({ alias: 'kbqTooltipOffset', transform: numberAttribute }) offset: number | null = null;\n\n @Output('kbqPlacementChange') readonly placementChange = new EventEmitter();\n\n @Output('kbqVisibleChange') readonly visibleChange = new EventEmitter<boolean>();\n\n private get hasClickInTrigger(): boolean {\n return this.trigger.includes(PopUpTriggers.Click);\n }\n\n protected originSelector = '.kbq-tooltip';\n\n protected overlayConfig: OverlayConfig = {\n panelClass: ['kbq-tooltip-panel']\n };\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n constructor() {\n super();\n\n effect(() => {\n if (!this.forDisabledComponent()) return;\n\n const disabled = this.forDisabledComponent()!.disabledSignal();\n\n if (disabled) {\n this.renderer.setAttribute(this.getNativeElement(), 'tabindex', '0');\n this.renderer.setStyle(this.getNativeElement(), 'outline-color', 'var(--kbq-states-line-focus-theme)');\n } else {\n this.renderer.setAttribute(this.getNativeElement(), 'tabindex', '-1');\n }\n\n this.disabled = !disabled;\n });\n }\n\n ngAfterViewInit(): void {\n this.parentPopup?.closedStream.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.hide());\n\n this.focusMonitor.monitor(this.elementRef.nativeElement);\n\n if (this.ignoreTooltipPointerEvents() && Array.isArray(this.overlayConfig.panelClass)) {\n this.overlayConfig.panelClass.push('cdk-overlay-pane_ignore-pointer-events');\n }\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n\n super.ngOnDestroy();\n }\n\n show(delay: number = this.enterDelay) {\n if (this.triggerName === 'focus' && this.focusMonitor['_lastFocusOrigin'] !== 'keyboard') {\n return;\n }\n\n super.show(delay);\n\n if (this.relativeToPointer) {\n this.applyRelativeToPointer();\n }\n }\n\n /** method allows to show the tooltip relative to the given mouse event. */\n showForMouseEvent(event: MouseEvent) {\n if (!(event.currentTarget instanceof HTMLElement)) return;\n\n this.triggerName = 'mouseenter';\n this.mouseEvent = event;\n this.setExternalNativeElement(event.currentTarget);\n\n super.show();\n\n this.applyRelativeToPointer();\n }\n\n /**\n * method allows to show the tooltip relative to the element\n * Use this approach when it is not possible to define a trigger in the template.\n *\n * For example:\n * const tooltip = new KbqTooltipTrigger();\n * tooltip.showForElement(element);\n */\n showForElement(element: HTMLElement) {\n this.show();\n this.strategy.setOrigin(element);\n }\n\n updateData() {\n if (!this.instance) {\n return;\n }\n\n this.instance.content = this.content;\n this.instance.context = this.context && { $implicit: this.context };\n this.instance.arrow = this.arrow;\n this.instance.offset = this.offset;\n this.instance.detectChanges();\n this.updatePosition(true);\n }\n\n closingActions() {\n return merge(\n this.hasClickInTrigger ? this.overlayRef!.outsidePointerEvents() : EMPTY,\n this.overlayRef!.detachments()\n );\n }\n\n getOverlayHandleComponentType(): Type<KbqTooltipComponent> {\n return KbqTooltipComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) {\n return;\n }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], `${this.customClass} ${this.color}`, {\n modifier: this.modifier\n });\n this.instance.markForCheck();\n }\n\n protected applyRelativeToPointer() {\n if (\n !this.strategy ||\n ![PopUpPlacements.Top, PopUpPlacements.Bottom].includes(this.placement as PopUpPlacements) ||\n this.triggerName !== 'mouseenter'\n ) {\n this.resetOrigin();\n\n return;\n }\n\n const triggerRects = this.getNativeElement().getBoundingClientRect();\n const point: Point = { x: 0, y: 0 };\n\n this.placementPriority = null;\n\n if (this.placement === PopUpPlacements.Top) {\n point.x = this.mouseEvent!.x;\n point.y = triggerRects.y;\n } else if (this.placement === PopUpPlacements.Bottom) {\n point.x = this.mouseEvent!.x;\n point.y = triggerRects.y + triggerRects.height;\n }\n\n this.strategy.setOrigin(point);\n }\n}\n\n/**\n * @docs-private\n * @deprecated Will be removed in next major release\n */\n@Directive({\n selector: '[kbqWarningTooltip]',\n exportAs: 'kbqWarningTooltip',\n host: {\n '[class.kbq-tooltip_open]': 'isOpen',\n\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n }\n})\nexport class KbqWarningTooltipTrigger extends KbqTooltipTrigger {\n @Input('kbqWarningTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n protected modifier: TooltipModifier = TooltipModifier.Warning;\n}\n\n/**\n * @docs-private\n * @deprecated Will be removed in next major release\n */\n@Directive({\n selector: '[kbqExtendedTooltip]',\n exportAs: 'kbqExtendedTooltip',\n host: {\n '[class.kbq-tooltip_open]': 'isOpen',\n\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n }\n})\nexport class KbqExtendedTooltipTrigger extends KbqTooltipTrigger {\n @Input('kbqExtendedTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n @Input('kbqTooltipHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(header: string | TemplateRef<any>) {\n this._header = header;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n protected modifier: TooltipModifier = TooltipModifier.Extended;\n\n updateData() {\n if (!this.instance) {\n return;\n }\n\n super.updateData();\n this.instance.header = this.header;\n }\n}\n","<div\n #tooltip\n class=\"kbq-tooltip\"\n [class.kbq-tooltip_arrowless]=\"!arrow\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\n>\n <div class=\"kbq-tooltip__inner\">\n @if (arrow) {\n <div class=\"kbq-tooltip__arrow\"></div>\n }\n\n @if (header) {\n <div class=\"kbq-tooltip__header\">\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" [ngTemplateOutletContext]=\"context\" />\n }\n @if (!isTemplateRef(header)) {\n <div>{{ header }}</div>\n }\n </div>\n }\n <div class=\"kbq-tooltip__content\">\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" [ngTemplateOutletContext]=\"context\" />\n }\n @if (!isTemplateRef(content)) {\n <div>{{ content }}</div>\n }\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport {\n KBQ_TOOLTIP_OPEN_TIME_PROVIDER,\n KBQ_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER,\n KbqExtendedTooltipTrigger,\n KbqTooltipComponent,\n KbqTooltipTrigger,\n KbqWarningTooltipTrigger\n} from './tooltip.component';\n\nconst COMPONENTS = [\n KbqTooltipComponent,\n KbqTooltipTrigger,\n KbqExtendedTooltipTrigger,\n KbqWarningTooltipTrigger\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS,\n providers: [\n KBQ_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER,\n KBQ_TOOLTIP_OPEN_TIME_PROVIDER\n ]\n})\nexport class KbqToolTipModule {}\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-tooltip.mjs","sources":["../../../packages/components/tooltip/tooltip.animations.ts","../../../packages/components/tooltip/tooltip.component.ts","../../../packages/components/tooltip/tooltip.component.html","../../../packages/components/tooltip/tooltip.module.ts","../../../packages/components/tooltip/koobiq-components-tooltip.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, keyframes, state, style, transition, trigger } from '@angular/animations';\n\n/**\n * Animations used by KbqTooltip.\n * @docs-private\n */\nexport const kbqTooltipAnimations: {\n readonly tooltipState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n tooltipState: trigger('state', [\n state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n state('visible', style({ transform: 'scale(0.99)' })),\n transition(\n '* => visible',\n animate(\n '200ms cubic-bezier(0, 0, 0.2, 1)',\n keyframes([\n style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n style({ opacity: 0.5, transform: 'scale(0.9)', offset: 0.5 }),\n style({ opacity: 1, transform: 'scale(0.99)', offset: 1 })\n ])\n )\n ),\n transition('* => hidden', animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 })))\n ])\n};\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Point } from '@angular/cdk/drag-drop';\nimport { Overlay, OverlayConfig, ScrollStrategy } from '@angular/cdk/overlay';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n Type,\n ViewChild,\n ViewEncapsulation,\n WritableSignal,\n booleanAttribute,\n effect,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n KBQ_PARENT_POPUP,\n KbqComponentColors,\n KbqParentPopup,\n KbqPopUp,\n KbqPopUpPlacementValues,\n KbqPopUpTrigger,\n POSITION_TO_CSS_MAP,\n PopUpPlacements,\n PopUpTriggers,\n applyPopupMargins\n} from '@koobiq/components/core';\nimport { EMPTY, merge } from 'rxjs';\nimport { kbqTooltipAnimations } from './tooltip.animations';\n\nexport enum TooltipModifier {\n Default = 'default',\n Warning = 'warning',\n Extended = 'extended'\n}\n\nexport const KBQ_TOOLTIP_OPEN_TIME = new InjectionToken<() => ScrollStrategy>('kbq-tooltip-open-time');\n\n/** @docs-private */\nexport const KBQ_TOOLTIP_OPEN_TIME_PROVIDER = {\n provide: KBQ_TOOLTIP_OPEN_TIME,\n useValue: { value: 0 }\n};\n\nexport const MIN_TIME_FOR_DELAY = 2000;\n\n@Component({\n selector: 'kbq-tooltip-component',\n imports: [\n NgClass,\n NgTemplateOutlet\n ],\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.scss', './tooltip-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [kbqTooltipAnimations.tooltipState],\n providers: [KBQ_TOOLTIP_OPEN_TIME_PROVIDER]\n})\nexport class KbqTooltipComponent extends KbqPopUp {\n prefix = 'kbq-tooltip';\n\n @ViewChild('tooltip') elementRef: ElementRef;\n\n constructor(@Inject(KBQ_TOOLTIP_OPEN_TIME) private openTime) {\n super();\n }\n\n show(delay: number) {\n if (!this.content) {\n return;\n }\n\n super.show(Date.now() - this.openTime.value < MIN_TIME_FOR_DELAY ? 0 : delay);\n\n if (this.offset !== null) {\n applyPopupMargins(\n this.renderer,\n this.elementRef.nativeElement,\n this.prefix,\n `${this.offset!.toString()}px`\n );\n }\n\n this.openTime.value = Date.now();\n }\n\n updateClassMap(placement: string, customClass: string, { modifier }) {\n const classMap = {\n [`${this.prefix}_${modifier}`]: true\n };\n\n super.updateClassMap(placement, customClass, classMap);\n }\n}\n\nexport const KBQ_TOOLTIP_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>('kbq-tooltip-scroll-strategy', {\n providedIn: 'root',\n factory: () => kbqTooltipScrollStrategyFactory(inject(Overlay))\n});\n\n/** @docs-private */\nexport function kbqTooltipScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.close();\n}\n\n/** @docs-private */\nexport const KBQ_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: KBQ_TOOLTIP_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: kbqTooltipScrollStrategyFactory\n};\n\n@Directive({\n selector: '[kbqTooltip]',\n exportAs: 'kbqTooltip',\n host: {\n '[class.kbq-tooltip_open]': 'isOpen',\n\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n }\n})\nexport class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipComponent> implements AfterViewInit, OnDestroy {\n protected scrollStrategy: () => ScrollStrategy = inject(KBQ_TOOLTIP_SCROLL_STRATEGY);\n protected parentPopup = inject<KbqParentPopup>(KBQ_PARENT_POPUP, { optional: true });\n protected focusMonitor: FocusMonitor = inject(FocusMonitor);\n /** @docs-private */\n protected renderer: Renderer2 = inject(Renderer2);\n\n /**\n * Input for controlling the disabled state of a component.\n *\n * The input expects a component containing `disabledSignal` property, which is\n * a writable signal emitting boolean values.\n */\n readonly forDisabledComponent = input<Record<'disabledSignal', WritableSignal<boolean>>>();\n\n /**\n * Determines whether pointer events should be ignored on tooltips.\n *\n * When set to `true`, tooltip elements will not receive pointer events,\n * allowing interactions to pass through to underlying elements.\n * Defaults to `true`.\n */\n readonly ignoreTooltipPointerEvents = input<boolean>(true);\n\n /**\n * Changes hiding behavior. By default, tooltip is hidden on mouseleave from trigger.\n * Setting hideWithTimeout to true will delay tooltip hiding and will not hide when the mouse moves from trigger\n * to tooltip.\n */\n @Input({ transform: booleanAttribute }) hideWithTimeout: boolean = false;\n\n @Input('kbqVisible')\n get tooltipVisible(): boolean {\n return this.visible;\n }\n\n set tooltipVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('kbqPlacement')\n get tooltipPlacement(): KbqPopUpPlacementValues {\n return this.placement;\n }\n\n /**\n * Positions the tooltip relative to the mouse cursor. Only available for top and bottom kbqPlacement.\n * Does not work with kbqPlacementPriority.\n */\n @Input({ alias: 'kbqRelativeToPointer', transform: booleanAttribute }) relativeToPointer: boolean = false;\n\n set tooltipPlacement(value: KbqPopUpPlacementValues) {\n super.updatePlacement(value);\n }\n\n @Input('kbqPlacementPriority')\n get tooltipPlacementPriority() {\n return this.placementPriority;\n }\n\n set tooltipPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n @Input('kbqTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n /**\n * Input (`kbqTooltipDisabled`) controlling whether the tooltip is disabled; setting it to `true` hides it.\n * `undefined` leaves the decision to the trigger, like an unset input.\n *\n * Reads back the *effective* state, which for triggers that derive one of their own (see\n * `derivedDisabledWins`) is not necessarily the value that was written.\n */\n @Input('kbqTooltipDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: BooleanInput) {\n this.explicitlyDisabled = value === undefined ? undefined : coerceBooleanProperty(value);\n\n this.applyDisabled();\n }\n\n /**\n * Whether the state this trigger derives means *there is nothing to show*, so an explicit\n * `kbqTooltipDisabled=\"false\"` cannot override it, as for a hint that repeats text the host never clipped.\n * Otherwise the explicit value wins in both directions, so `false` on a wrapped control that is not disabled\n * still asks for a tooltip.\n * @docs-private */\n protected readonly derivedDisabledWins: boolean = false;\n\n // Kept apart so the consumer's binding and the state the trigger derives cannot overwrite each other,\n // whichever order they are written in; `foldDisabled()` combines them.\n private explicitlyDisabled: boolean | undefined;\n private derivedDisabled: boolean | undefined;\n\n @Input('kbqEnterDelay') enterDelay = 400;\n @Input('kbqLeaveDelay') leaveDelay = 0;\n\n @Input('kbqTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n } else {\n this._trigger = `${PopUpTriggers.Hover}, ${PopUpTriggers.Focus}`;\n }\n\n this.initListeners();\n }\n\n protected _trigger = `${PopUpTriggers.Hover}, ${PopUpTriggers.Focus}`;\n\n @Input('kbqTooltipClass')\n get customClass(): string {\n return this._customClass || '';\n }\n\n set customClass(value: string) {\n if (value) {\n this._customClass = value;\n\n this.updateClassMap();\n } else {\n this._customClass = '';\n }\n }\n\n @Input('kbqTooltipContext')\n get context() {\n return this._context;\n }\n\n set context(ctx) {\n this._context = ctx;\n this.updateData();\n }\n\n private _context: any = null;\n\n @Input('kbqTooltipColor')\n get color(): string {\n return `kbq-${this._color}`;\n }\n\n set color(value: KbqComponentColors | string) {\n this._color = value || KbqComponentColors.Contrast;\n }\n\n private _color: KbqComponentColors | string = KbqComponentColors.Contrast;\n\n @Input({ alias: 'kbqTooltipArrow', transform: booleanAttribute }) arrow: boolean = false;\n @Input({ alias: 'kbqTooltipOffset', transform: numberAttribute }) offset: number | null = null;\n\n @Output('kbqPlacementChange') readonly placementChange = new EventEmitter();\n\n @Output('kbqVisibleChange') readonly visibleChange = new EventEmitter<boolean>();\n\n private get hasClickInTrigger(): boolean {\n return this.trigger.includes(PopUpTriggers.Click);\n }\n\n protected originSelector = '.kbq-tooltip';\n\n protected overlayConfig: OverlayConfig = {\n panelClass: ['kbq-tooltip-panel']\n };\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n constructor() {\n super();\n\n effect(() => {\n if (!this.forDisabledComponent()) return;\n\n const disabled = this.forDisabledComponent()!.disabledSignal();\n\n if (disabled) {\n this.renderer.setAttribute(this.getNativeElement(), 'tabindex', '0');\n this.renderer.setStyle(this.getNativeElement(), 'outline-color', 'var(--kbq-states-line-focus-theme)');\n } else {\n this.renderer.setAttribute(this.getNativeElement(), 'tabindex', '-1');\n }\n\n this.setDerivedDisabled(!disabled);\n });\n }\n\n ngAfterViewInit(): void {\n this.parentPopup?.closedStream.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.hide());\n\n this.focusMonitor.monitor(this.elementRef.nativeElement);\n\n if (this.ignoreTooltipPointerEvents() && Array.isArray(this.overlayConfig.panelClass)) {\n this.overlayConfig.panelClass.push('cdk-overlay-pane_ignore-pointer-events');\n }\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n\n super.ngOnDestroy();\n }\n\n show(delay: number = this.enterDelay) {\n if (this.triggerName === 'focus' && this.focusMonitor['_lastFocusOrigin'] !== 'keyboard') {\n return;\n }\n\n super.show(delay);\n\n if (this.relativeToPointer) {\n this.applyRelativeToPointer();\n }\n }\n\n /** method allows to show the tooltip relative to the given mouse event. */\n showForMouseEvent(event: MouseEvent) {\n if (!(event.currentTarget instanceof HTMLElement)) return;\n\n this.triggerName = 'mouseenter';\n this.mouseEvent = event;\n this.setExternalNativeElement(event.currentTarget);\n\n super.show();\n\n this.applyRelativeToPointer();\n }\n\n /**\n * method allows to show the tooltip relative to the element\n * Use this approach when it is not possible to define a trigger in the template.\n *\n * For example:\n * const tooltip = new KbqTooltipTrigger();\n * tooltip.showForElement(element);\n */\n showForElement(element: HTMLElement) {\n this.show();\n this.strategy.setOrigin(element);\n }\n\n updateData() {\n if (!this.instance) {\n return;\n }\n\n this.instance.content = this.content;\n this.instance.context = this.context && { $implicit: this.context };\n this.instance.arrow = this.arrow;\n this.instance.offset = this.offset;\n this.instance.detectChanges();\n this.updatePosition(true);\n }\n\n closingActions() {\n return merge(\n this.hasClickInTrigger ? this.overlayRef!.outsidePointerEvents() : EMPTY,\n this.overlayRef!.detachments()\n );\n }\n\n getOverlayHandleComponentType(): Type<KbqTooltipComponent> {\n return KbqTooltipComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) {\n return;\n }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], `${this.customClass} ${this.color}`, {\n modifier: this.modifier\n });\n this.instance.markForCheck();\n }\n\n protected applyRelativeToPointer() {\n if (\n !this.strategy ||\n ![PopUpPlacements.Top, PopUpPlacements.Bottom].includes(this.placement as PopUpPlacements) ||\n this.triggerName !== 'mouseenter'\n ) {\n this.resetOrigin();\n\n return;\n }\n\n const triggerRects = this.getNativeElement().getBoundingClientRect();\n const point: Point = { x: 0, y: 0 };\n\n this.placementPriority = null;\n\n if (this.placement === PopUpPlacements.Top) {\n point.x = this.mouseEvent!.x;\n point.y = triggerRects.y;\n } else if (this.placement === PopUpPlacements.Bottom) {\n point.x = this.mouseEvent!.x;\n point.y = triggerRects.y + triggerRects.height;\n }\n\n this.strategy.setOrigin(point);\n }\n\n /**\n * Records the state this trigger derives from what it renders — the wrapped control being disabled, text\n * overflow in `KbqTitleDirective` and the option tooltips — without overwriting `kbqTooltipDisabled`.\n * @docs-private */\n protected setDerivedDisabled(value: boolean): void {\n this.derivedDisabled = value;\n\n this.applyDisabled();\n }\n\n private applyDisabled(): void {\n const next = this.foldDisabled();\n\n // Derived states are re-stated on every resize, content mutation and pointer sweep, and most of those\n // repeat the previous answer, which must not reach `hide()` again.\n if (next === this._disabled) return;\n\n this._disabled = next;\n\n if (this._disabled) {\n this.hide();\n }\n }\n\n private foldDisabled(): boolean {\n if (this.derivedDisabledWins) {\n return this.explicitlyDisabled === true || (this.derivedDisabled ?? false);\n }\n\n return this.explicitlyDisabled ?? this.derivedDisabled ?? false;\n }\n}\n\n/**\n * @docs-private\n * @deprecated Will be removed in next major release\n */\n@Directive({\n selector: '[kbqWarningTooltip]',\n exportAs: 'kbqWarningTooltip',\n host: {\n '[class.kbq-tooltip_open]': 'isOpen',\n\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n }\n})\nexport class KbqWarningTooltipTrigger extends KbqTooltipTrigger {\n @Input('kbqWarningTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n protected modifier: TooltipModifier = TooltipModifier.Warning;\n}\n\n/**\n * @docs-private\n * @deprecated Will be removed in next major release\n */\n@Directive({\n selector: '[kbqExtendedTooltip]',\n exportAs: 'kbqExtendedTooltip',\n host: {\n '[class.kbq-tooltip_open]': 'isOpen',\n\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n }\n})\nexport class KbqExtendedTooltipTrigger extends KbqTooltipTrigger {\n @Input('kbqExtendedTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n @Input('kbqTooltipHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(header: string | TemplateRef<any>) {\n this._header = header;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n protected modifier: TooltipModifier = TooltipModifier.Extended;\n\n updateData() {\n if (!this.instance) {\n return;\n }\n\n super.updateData();\n this.instance.header = this.header;\n }\n}\n","<div\n #tooltip\n class=\"kbq-tooltip\"\n [class.kbq-tooltip_arrowless]=\"!arrow\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\n>\n <div class=\"kbq-tooltip__inner\">\n @if (arrow) {\n <div class=\"kbq-tooltip__arrow\"></div>\n }\n\n @if (header) {\n <div class=\"kbq-tooltip__header\">\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" [ngTemplateOutletContext]=\"context\" />\n }\n @if (!isTemplateRef(header)) {\n <div>{{ header }}</div>\n }\n </div>\n }\n <div class=\"kbq-tooltip__content\">\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" [ngTemplateOutletContext]=\"context\" />\n }\n @if (!isTemplateRef(content)) {\n <div>{{ content }}</div>\n }\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport {\n KBQ_TOOLTIP_OPEN_TIME_PROVIDER,\n KBQ_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER,\n KbqExtendedTooltipTrigger,\n KbqTooltipComponent,\n KbqTooltipTrigger,\n KbqWarningTooltipTrigger\n} from './tooltip.component';\n\nconst COMPONENTS = [\n KbqTooltipComponent,\n KbqTooltipTrigger,\n KbqExtendedTooltipTrigger,\n KbqWarningTooltipTrigger\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS,\n providers: [\n KBQ_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER,\n KBQ_TOOLTIP_OPEN_TIME_PROVIDER\n ]\n})\nexport class KbqToolTipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAEA;;;AAGG;AACI,MAAM,oBAAoB,GAE7B;;AAEA,IAAA,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAA,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5E,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QACrD,UAAU,CACN,cAAc,EACd,OAAO,CACH,kCAAkC,EAClC,SAAS,CAAC;AACN,YAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACvD,YAAA,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC7D,YAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE;AAC5D,SAAA,CAAC,CACL,CACJ;AACD,QAAA,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KAC/F;CACJ;;ICmBW;AAAZ,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACzB,CAAC,EAJW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;MAMd,qBAAqB,GAAG,IAAI,cAAc,CAAuB,uBAAuB;AAErG;AACO,MAAM,8BAA8B,GAAG;AAC1C,IAAA,OAAO,EAAE,qBAAqB;AAC9B,IAAA,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC;;AAGjB,MAAM,kBAAkB,GAAG;AAe5B,MAAO,mBAAoB,SAAQ,QAAQ,CAAA;AAK7C,IAAA,WAAA,CAAmD,QAAQ,EAAA;AACvD,QAAA,KAAK,EAAE;QADwC,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAJ3D,IAAA,CAAA,MAAM,GAAG,aAAa;IAMtB;AAEA,IAAA,IAAI,CAAC,KAAa,EAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf;QACJ;QAEA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,kBAAkB,GAAG,CAAC,GAAG,KAAK,CAAC;AAE7E,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACtB,iBAAiB,CACb,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,IAAI,CAAC,MAAM,EACX,CAAA,EAAG,IAAI,CAAC,MAAO,CAAC,QAAQ,EAAE,CAAA,EAAA,CAAI,CACjC;QACL;QAEA,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;IACpC;AAEA,IAAA,cAAc,CAAC,SAAiB,EAAE,WAAmB,EAAE,EAAE,QAAQ,EAAE,EAAA;AAC/D,QAAA,MAAM,QAAQ,GAAG;YACb,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAA,CAAE,GAAG;SACnC;QAED,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;IAC1D;AAlCS,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAKR,qBAAqB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AALhC,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,SAAA,EAFjB,CAAC,8BAA8B,CAAC,wJCxE/C,6lCAkCA,EAAA,MAAA,EAAA,CAAA,whPAAA,EAAA,wxCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED8BQ,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAMR,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGtC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAAA,OAAA,EACxB;wBACL,OAAO;wBACP;AACH,qBAAA,EAAA,aAAA,EAGc,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAA,SAAA,EACpC,CAAC,8BAA8B,CAAC,EAAA,QAAA,EAAA,6lCAAA,EAAA,MAAA,EAAA,CAAA,whPAAA,EAAA,wxCAAA,CAAA,EAAA;;0BAO9B,MAAM;2BAAC,qBAAqB;yCAFnB,UAAU,EAAA,CAAA;sBAA/B,SAAS;uBAAC,SAAS;;MAkCX,2BAA2B,GAAG,IAAI,cAAc,CAAuB,6BAA6B,EAAE;AAC/G,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAM,+BAA+B,CAAC,MAAM,CAAC,OAAO,CAAC;AACjE,CAAA;AAED;AACM,SAAU,+BAA+B,CAAC,OAAgB,EAAA;IAC5D,OAAO,MAAM,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACjD;AAEA;AACO,MAAM,4CAA4C,GAAG;AACxD,IAAA,OAAO,EAAE,2BAA2B;IACpC,IAAI,EAAE,CAAC,OAAO,CAAC;AACf,IAAA,UAAU,EAAE;;AAaV,MAAO,iBAAkB,SAAQ,eAAoC,CAAA;AA+BvE,IAAA,IACI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,OAAO;IACvB;IAEA,IAAI,cAAc,CAAC,KAAc,EAAA;AAC7B,QAAA,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;IAC9B;AAEA,IAAA,IACI,gBAAgB,GAAA;QAChB,OAAO,IAAI,CAAC,SAAS;IACzB;IAQA,IAAI,gBAAgB,CAAC,KAA8B,EAAA;AAC/C,QAAA,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC;IAChC;AAEA,IAAA,IACI,wBAAwB,GAAA;QACxB,OAAO,IAAI,CAAC,iBAAiB;IACjC;IAEA,IAAI,wBAAwB,CAAC,KAAK,EAAA;AAC9B,QAAA,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC;IACxC;AAEA,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEA,IAAI,OAAO,CAAC,OAAkC,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;QAEvB,IAAI,CAAC,UAAU,EAAE;IACrB;AAEA;;;;;;AAMG;AACH,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS;IACzB;IAEA,IAAI,QAAQ,CAAC,KAAmB,EAAA;AAC5B,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC;QAExF,IAAI,CAAC,aAAa,EAAE;IACxB;AAkBA,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEA,IAAI,OAAO,CAAC,KAAa,EAAA;QACrB,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;QACzB;aAAO;AACH,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAA,EAAG,aAAa,CAAC,KAAK,CAAA,EAAA,EAAK,aAAa,CAAC,KAAK,CAAA,CAAE;QACpE;QAEA,IAAI,CAAC,aAAa,EAAE;IACxB;AAIA,IAAA,IACI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,EAAE;IAClC;IAEA,IAAI,WAAW,CAAC,KAAa,EAAA;QACzB,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;YAEzB,IAAI,CAAC,cAAc,EAAE;QACzB;aAAO;AACH,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE;QAC1B;IACJ;AAEA,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEA,IAAI,OAAO,CAAC,GAAG,EAAA;AACX,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG;QACnB,IAAI,CAAC,UAAU,EAAE;IACrB;AAIA,IAAA,IACI,KAAK,GAAA;AACL,QAAA,OAAO,CAAA,IAAA,EAAO,IAAI,CAAC,MAAM,EAAE;IAC/B;IAEA,IAAI,KAAK,CAAC,KAAkC,EAAA;QACxC,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,kBAAkB,CAAC,QAAQ;IACtD;AAWA,IAAA,IAAY,iBAAiB,GAAA;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;IACrD;AAUA,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AAvLD,QAAA,IAAA,CAAA,cAAc,GAAyB,MAAM,CAAC,2BAA2B,CAAC;QAC1E,IAAA,CAAA,WAAW,GAAG,MAAM,CAAiB,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC1E,QAAA,IAAA,CAAA,YAAY,GAAiB,MAAM,CAAC,YAAY,CAAC;;AAEjD,QAAA,IAAA,CAAA,QAAQ,GAAc,MAAM,CAAC,SAAS,CAAC;AAEjD;;;;;AAKG;QACM,IAAA,CAAA,oBAAoB,GAAG,KAAK,EAAqD;AAE1F;;;;;;AAMG;AACM,QAAA,IAAA,CAAA,0BAA0B,GAAG,KAAK,CAAU,IAAI,CAAC;AAE1D;;;;AAIG;QACqC,IAAA,CAAA,eAAe,GAAY,KAAK;AAgBxE;;;AAGG;QACoE,IAAA,CAAA,iBAAiB,GAAY,KAAK;AA4CzG;;;;;AAKmB;QACA,IAAA,CAAA,mBAAmB,GAAY,KAAK;QAO/B,IAAA,CAAA,UAAU,GAAG,GAAG;QAChB,IAAA,CAAA,UAAU,GAAG,CAAC;QAiB5B,IAAA,CAAA,QAAQ,GAAG,CAAA,EAAG,aAAa,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAA,CAAE;QA2B7D,IAAA,CAAA,QAAQ,GAAQ,IAAI;AAWpB,QAAA,IAAA,CAAA,MAAM,GAAgC,kBAAkB,CAAC,QAAQ;QAEP,IAAA,CAAA,KAAK,GAAY,KAAK;QACtB,IAAA,CAAA,MAAM,GAAkB,IAAI;AAEvD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAE;AAEtC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAW;QAMtE,IAAA,CAAA,cAAc,GAAG,cAAc;AAE/B,QAAA,IAAA,CAAA,aAAa,GAAkB;YACrC,UAAU,EAAE,CAAC,mBAAmB;SACnC;AAES,QAAA,IAAA,CAAA,QAAQ,GAAoB,eAAe,CAAC,OAAO;QAKzD,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAAE;YAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAG,CAAC,cAAc,EAAE;YAE9D,IAAI,QAAQ,EAAE;AACV,gBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC;AACpE,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,eAAe,EAAE,oCAAoC,CAAC;YAC1G;iBAAO;AACH,gBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC;YACzE;AAEA,YAAA,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC;AACtC,QAAA,CAAC,CAAC;IACN;IAEA,eAAe,GAAA;QACX,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAErG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AAExD,QAAA,IAAI,IAAI,CAAC,0BAA0B,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;YACnF,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,wCAAwC,CAAC;QAChF;IACJ;IAEA,WAAW,GAAA;QACP,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAE/D,KAAK,CAAC,WAAW,EAAE;IACvB;AAEA,IAAA,IAAI,CAAC,KAAA,GAAgB,IAAI,CAAC,UAAU,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,UAAU,EAAE;YACtF;QACJ;AAEA,QAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AAEjB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,sBAAsB,EAAE;QACjC;IACJ;;AAGA,IAAA,iBAAiB,CAAC,KAAiB,EAAA;AAC/B,QAAA,IAAI,EAAE,KAAK,CAAC,aAAa,YAAY,WAAW,CAAC;YAAE;AAEnD,QAAA,IAAI,CAAC,WAAW,GAAG,YAAY;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC;QAElD,KAAK,CAAC,IAAI,EAAE;QAEZ,IAAI,CAAC,sBAAsB,EAAE;IACjC;AAEA;;;;;;;AAOG;AACH,IAAA,cAAc,CAAC,OAAoB,EAAA;QAC/B,IAAI,CAAC,IAAI,EAAE;AACX,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;IACpC;IAEA,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB;QACJ;QAEA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;AACpC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;QACnE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;QAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;AAClC,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;AAC7B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;IAC7B;IAEA,cAAc,GAAA;QACV,OAAO,KAAK,CACR,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAW,CAAC,oBAAoB,EAAE,GAAG,KAAK,EACxE,IAAI,CAAC,UAAW,CAAC,WAAW,EAAE,CACjC;IACL;IAEA,6BAA6B,GAAA;AACzB,QAAA,OAAO,mBAAmB;IAC9B;AAEA,IAAA,cAAc,CAAC,YAAA,GAAuB,IAAI,CAAC,SAAS,EAAA;AAChD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB;QACJ;AAEA,QAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,IAAI,CAAC,KAAK,EAAE,EAAE;YACjG,QAAQ,EAAE,IAAI,CAAC;AAClB,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;IAChC;IAEU,sBAAsB,GAAA;QAC5B,IACI,CAAC,IAAI,CAAC,QAAQ;AACd,YAAA,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAA4B,CAAC;AAC1F,YAAA,IAAI,CAAC,WAAW,KAAK,YAAY,EACnC;YACE,IAAI,CAAC,WAAW,EAAE;YAElB;QACJ;QAEA,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,qBAAqB,EAAE;QACpE,MAAM,KAAK,GAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAEnC,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAE7B,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,GAAG,EAAE;YACxC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,UAAW,CAAC,CAAC;AAC5B,YAAA,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;QAC5B;aAAO,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,MAAM,EAAE;YAClD,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,UAAW,CAAC,CAAC;YAC5B,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM;QAClD;AAEA,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;IAClC;AAEA;;;AAGmB;AACT,IAAA,kBAAkB,CAAC,KAAc,EAAA;AACvC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;QAE5B,IAAI,CAAC,aAAa,EAAE;IACxB;IAEQ,aAAa,GAAA;AACjB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;;;AAIhC,QAAA,IAAI,IAAI,KAAK,IAAI,CAAC,SAAS;YAAE;AAE7B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AAErB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,IAAI,EAAE;QACf;IACJ;IAEQ,YAAY,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAC,kBAAkB,KAAK,IAAI,KAAK,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;QAC9E;QAEA,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,eAAe,IAAI,KAAK;IACnE;kIA5VS,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,qiBA6BN,gBAAgB,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAoBe,gBAAgB,EAAA,EAAA,wBAAA,EAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAmHrB,gBAAgB,kIACf,eAAe,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FArKrD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,IAAI,EAAE;AACF,wBAAA,0BAA0B,EAAE,QAAQ;AAEpC,wBAAA,WAAW,EAAE,wBAAwB;AACrC,wBAAA,YAAY,EAAE;AACjB;AACJ,iBAAA;wDA8B2C,eAAe,EAAA,CAAA;sBAAtD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAGlC,cAAc,EAAA,CAAA;sBADjB,KAAK;uBAAC,YAAY;gBAUf,gBAAgB,EAAA,CAAA;sBADnB,KAAK;uBAAC,cAAc;gBASkD,iBAAiB,EAAA,CAAA;sBAAvF,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAOjE,wBAAwB,EAAA,CAAA;sBAD3B,KAAK;uBAAC,sBAAsB;gBAUzB,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,YAAY;gBAmBf,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,oBAAoB;gBAwBH,UAAU,EAAA,CAAA;sBAAjC,KAAK;uBAAC,eAAe;gBACE,UAAU,EAAA,CAAA;sBAAjC,KAAK;uBAAC,eAAe;gBAGlB,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,YAAY;gBAkBf,WAAW,EAAA,CAAA;sBADd,KAAK;uBAAC,iBAAiB;gBAgBpB,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,mBAAmB;gBAatB,KAAK,EAAA,CAAA;sBADR,KAAK;uBAAC,iBAAiB;gBAW0C,KAAK,EAAA,CAAA;sBAAtE,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,MAAM,EAAA,CAAA;sBAAvE,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE;gBAEzB,eAAe,EAAA,CAAA;sBAArD,MAAM;uBAAC,oBAAoB;gBAES,aAAa,EAAA,CAAA;sBAAjD,MAAM;uBAAC,kBAAkB;;AAsL9B;;;AAGG;AAWG,MAAO,wBAAyB,SAAQ,iBAAiB,CAAA;AAV/D,IAAA,WAAA,GAAA;;AAsBc,QAAA,IAAA,CAAA,QAAQ,GAAoB,eAAe,CAAC,OAAO;AAChE,IAAA;AAZG,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEA,IAAI,OAAO,CAAC,OAAkC,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;QAEvB,IAAI,CAAC,UAAU,EAAE;IACrB;kIAVS,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,IAAI,EAAE;AACF,wBAAA,0BAA0B,EAAE,QAAQ;AAEpC,wBAAA,WAAW,EAAE,wBAAwB;AACrC,wBAAA,YAAY,EAAE;AACjB;AACJ,iBAAA;8BAGO,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,mBAAmB;;AAc9B;;;AAGG;AAWG,MAAO,yBAA0B,SAAQ,iBAAiB,CAAA;AAVhE,IAAA,WAAA,GAAA;;AAmCc,QAAA,IAAA,CAAA,QAAQ,GAAoB,eAAe,CAAC,QAAQ;AAUjE,IAAA;AAlCG,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEA,IAAI,OAAO,CAAC,OAAkC,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;QAEvB,IAAI,CAAC,UAAU,EAAE;IACrB;AAEA,IAAA,IACI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,OAAO;IACvB;IAEA,IAAI,MAAM,CAAC,MAAiC,EAAA;AACxC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;QAErB,IAAI,CAAC,UAAU,EAAE;IACrB;IAMA,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB;QACJ;QAEA,KAAK,CAAC,UAAU,EAAE;QAClB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;IACtC;kIAlCS,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,IAAI,EAAE;AACF,wBAAA,0BAA0B,EAAE,QAAQ;AAEpC,wBAAA,WAAW,EAAE,wBAAwB;AACrC,wBAAA,YAAY,EAAE;AACjB;AACJ,iBAAA;8BAGO,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,oBAAoB;gBAYvB,MAAM,EAAA,CAAA;sBADT,KAAK;uBAAC,kBAAkB;;;AEthB7B,MAAM,UAAU,GAAG;IACf,mBAAmB;IACnB,iBAAiB;IACjB,yBAAyB;IACzB;CACH;MAUY,gBAAgB,CAAA;kIAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAdzB,mBAAmB;YACnB,iBAAiB;YACjB,yBAAyB;AACzB,YAAA,wBAAwB,aAHxB,mBAAmB;YACnB,iBAAiB;YACjB,yBAAyB;YACzB,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAWf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,SAAA,EALd;YACP,4CAA4C;YAC5C;AACH,SAAA,EAAA,CAAA,CAAA;;4FAEQ,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,UAAU;AACnB,oBAAA,OAAO,EAAE,UAAU;AACnB,oBAAA,SAAS,EAAE;wBACP,4CAA4C;wBAC5C;AACH;AACJ,iBAAA;;;ACxBD;;AAEG;;;;"}