@koobiq/components 17.6.0 → 17.7.0

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 (274) hide show
  1. package/alert/alert.module.d.ts +3 -4
  2. package/autocomplete/autocomplete.module.d.ts +1 -1
  3. package/badge/badge-tokens.scss +1 -1
  4. package/badge/badge.module.d.ts +3 -4
  5. package/button/button-tokens.scss +2 -3
  6. package/button/button.module.d.ts +4 -5
  7. package/code-block/code-block.module.d.ts +6 -7
  8. package/core/forms/_forms-theme.scss +7 -15
  9. package/core/forms/_forms.scss +3 -9
  10. package/core/forms/forms-tokens.scss +39 -0
  11. package/core/option/_optgroup-theme.scss +4 -10
  12. package/core/option/_option-action-theme.scss +7 -15
  13. package/core/option/_option-theme.scss +13 -24
  14. package/core/option/action.scss +4 -0
  15. package/core/option/optgroup-tokens.scss +26 -0
  16. package/core/option/optgroup.scss +4 -5
  17. package/core/option/option-action-tokens.scss +21 -0
  18. package/core/option/option-module.d.ts +2 -3
  19. package/core/option/option-tokens.scss +115 -0
  20. package/core/option/option.scss +5 -3
  21. package/core/styles/_koobiq-theme.scss +7 -37
  22. package/core/styles/theming/_scrollbar-theme.scss +10 -11
  23. package/core/styles/theming/scrollbar-tokens.scss +34 -0
  24. package/datepicker/datepicker-module.d.ts +8 -8
  25. package/dl/dl.module.d.ts +3 -4
  26. package/dropdown/dropdown-tokens.scss +0 -1
  27. package/dropdown/dropdown.module.d.ts +4 -4
  28. package/empty-state/empty-state.module.d.ts +3 -4
  29. package/esm2022/alert/alert.component.mjs +3 -4
  30. package/esm2022/alert/alert.module.mjs +3 -7
  31. package/esm2022/autocomplete/autocomplete.module.mjs +15 -5
  32. package/esm2022/badge/badge.component.mjs +2 -2
  33. package/esm2022/badge/badge.module.mjs +3 -7
  34. package/esm2022/button/button.component.mjs +2 -2
  35. package/esm2022/button/button.module.mjs +3 -7
  36. package/esm2022/code-block/actionbar.component.mjs +6 -7
  37. package/esm2022/code-block/code-block.component.mjs +8 -9
  38. package/esm2022/code-block/code-block.module.mjs +4 -8
  39. package/esm2022/core/option/action.mjs +14 -25
  40. package/esm2022/core/option/optgroup.mjs +3 -3
  41. package/esm2022/core/option/option-module.mjs +4 -5
  42. package/esm2022/core/option/option.mjs +5 -6
  43. package/esm2022/core/version.mjs +2 -2
  44. package/esm2022/datepicker/calendar-body.component.mjs +3 -3
  45. package/esm2022/datepicker/calendar-header.component.mjs +8 -8
  46. package/esm2022/datepicker/datepicker-module.mjs +10 -9
  47. package/esm2022/datepicker/datepicker-toggle.component.mjs +5 -6
  48. package/esm2022/datepicker/month-view.component.mjs +4 -5
  49. package/esm2022/dl/dl.module.mjs +3 -7
  50. package/esm2022/dropdown/dropdown-item.component.mjs +5 -6
  51. package/esm2022/dropdown/dropdown.module.mjs +8 -9
  52. package/esm2022/empty-state/empty-state.module.mjs +3 -7
  53. package/esm2022/file-upload/file-upload.module.mjs +12 -9
  54. package/esm2022/file-upload/multiple-file-upload.component.mjs +10 -10
  55. package/esm2022/file-upload/single-file-upload.component.mjs +10 -10
  56. package/esm2022/form-field/form-field.mjs +7 -8
  57. package/esm2022/form-field/form-field.module.mjs +9 -5
  58. package/esm2022/form-field/password-hint.mjs +3 -3
  59. package/esm2022/form-field/password-toggle.mjs +3 -3
  60. package/esm2022/icon/icon.module.mjs +3 -7
  61. package/esm2022/input/input.module.mjs +3 -7
  62. package/esm2022/link/link.module.mjs +3 -7
  63. package/esm2022/list/list-selection.component.mjs +4 -5
  64. package/esm2022/list/list.module.mjs +3 -7
  65. package/esm2022/loader-overlay/loader-overlay.component.mjs +4 -5
  66. package/esm2022/loader-overlay/loader-overlay.module.mjs +3 -7
  67. package/esm2022/markdown/markdown.module.mjs +4 -5
  68. package/esm2022/modal/modal.component.mjs +7 -7
  69. package/esm2022/modal/modal.module.mjs +12 -9
  70. package/esm2022/navbar/navbar-item.component.mjs +30 -31
  71. package/esm2022/navbar/navbar.module.mjs +3 -7
  72. package/esm2022/popover/popover-confirm.component.mjs +4 -4
  73. package/esm2022/popover/popover.component.mjs +8 -8
  74. package/esm2022/popover/popover.module.mjs +40 -7
  75. package/esm2022/progress-bar/progress-bar.component.mjs +3 -4
  76. package/esm2022/progress-bar/progress-bar.module.mjs +3 -7
  77. package/esm2022/progress-spinner/progress-spinner.component.mjs +3 -3
  78. package/esm2022/progress-spinner/progress-spinner.module.mjs +7 -8
  79. package/esm2022/radio/radio.component.mjs +3 -3
  80. package/esm2022/radio/radio.module.mjs +4 -5
  81. package/esm2022/risk-level/risk-level.component.mjs +3 -3
  82. package/esm2022/risk-level/risk-level.module.mjs +3 -7
  83. package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
  84. package/esm2022/select/select.component.mjs +8 -8
  85. package/esm2022/select/select.module.mjs +11 -13
  86. package/esm2022/sidebar/sidebar.component.mjs +3 -4
  87. package/esm2022/sidepanel/sidepanel-container.component.mjs +5 -6
  88. package/esm2022/sidepanel/sidepanel-directives.mjs +30 -29
  89. package/esm2022/sidepanel/sidepanel.module.mjs +3 -7
  90. package/esm2022/splitter/splitter.component.mjs +3 -4
  91. package/esm2022/splitter/splitter.module.mjs +3 -7
  92. package/esm2022/table/table.module.mjs +3 -7
  93. package/esm2022/tabs/tab-group.component.mjs +9 -10
  94. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +3 -3
  95. package/esm2022/tabs/tabs.module.mjs +3 -7
  96. package/esm2022/tags/tag-list.component.mjs +3 -4
  97. package/esm2022/tags/tag.module.mjs +4 -5
  98. package/esm2022/textarea/textarea.module.mjs +4 -5
  99. package/esm2022/timepicker/timepicker.module.mjs +3 -7
  100. package/esm2022/timezone/timezone-option.component.mjs +6 -6
  101. package/esm2022/timezone/timezone-select.component.mjs +7 -7
  102. package/esm2022/timezone/timezone.module.mjs +10 -9
  103. package/esm2022/toast/toast.component.mjs +6 -6
  104. package/esm2022/toast/toast.module.mjs +10 -9
  105. package/esm2022/toggle/toggle.component.mjs +2 -2
  106. package/esm2022/toggle/toggle.module.mjs +4 -5
  107. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  108. package/esm2022/tooltip/tooltip.module.mjs +11 -5
  109. package/esm2022/tree/toggle.mjs +2 -2
  110. package/esm2022/tree/tree-option.component.mjs +5 -6
  111. package/esm2022/tree/tree-selection.component.mjs +2 -2
  112. package/esm2022/tree/tree.mjs +2 -2
  113. package/esm2022/tree/tree.module.mjs +3 -7
  114. package/esm2022/tree-select/tree-select.component.mjs +7 -7
  115. package/esm2022/tree-select/tree-select.module.mjs +11 -12
  116. package/fesm2022/koobiq-components-alert.mjs +4 -9
  117. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-autocomplete.mjs +14 -4
  119. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-badge.mjs +4 -8
  121. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-button.mjs +4 -8
  123. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-code-block.mjs +15 -20
  125. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  126. package/fesm2022/koobiq-components-core.mjs +22 -33
  127. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-datepicker.mjs +21 -20
  129. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-dl.mjs +2 -6
  131. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-dropdown.mjs +16 -17
  133. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-empty-state.mjs +2 -6
  135. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-file-upload.mjs +22 -19
  137. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-form-field.mjs +17 -13
  139. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-icon.mjs +2 -6
  141. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-input.mjs +2 -6
  143. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-link.mjs +2 -6
  145. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-list.mjs +5 -10
  147. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-loader-overlay.mjs +5 -10
  149. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-markdown.mjs +3 -4
  151. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-modal.mjs +18 -15
  153. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  154. package/fesm2022/koobiq-components-navbar.mjs +32 -36
  155. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-popover.mjs +47 -14
  157. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-progress-bar.mjs +4 -9
  159. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-progress-spinner.mjs +8 -9
  161. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-radio.mjs +5 -6
  163. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-risk-level.mjs +4 -8
  165. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
  167. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-select.mjs +17 -19
  169. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  170. package/fesm2022/koobiq-components-sidebar.mjs +2 -3
  171. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-sidepanel.mjs +35 -38
  173. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-splitter.mjs +4 -9
  175. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-table.mjs +2 -6
  177. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-tabs.mjs +8 -13
  179. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-tags.mjs +5 -7
  181. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-textarea.mjs +3 -4
  183. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-timepicker.mjs +2 -6
  185. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-timezone.mjs +19 -18
  187. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-toast.mjs +14 -13
  189. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-toggle.mjs +5 -6
  191. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tooltip.mjs +12 -6
  193. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-tree-select.mjs +16 -17
  195. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-tree.mjs +16 -21
  197. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  198. package/file-upload/file-upload-tokens.scss +5 -5
  199. package/file-upload/file-upload.module.d.ts +12 -12
  200. package/file-upload/single-file-upload.component.d.ts +1 -1
  201. package/form-field/form-field-tokens.scss +13 -1
  202. package/form-field/form-field.module.d.ts +3 -3
  203. package/icon/icon-button-tokens.scss +0 -1
  204. package/icon/icon.module.d.ts +3 -4
  205. package/input/input.module.d.ts +5 -6
  206. package/link/link-tokens.scss +1 -1
  207. package/link/link.module.d.ts +2 -3
  208. package/list/list.module.d.ts +3 -4
  209. package/loader-overlay/loader-overlay.module.d.ts +4 -5
  210. package/markdown/markdown.module.d.ts +4 -5
  211. package/modal/modal.module.d.ts +7 -7
  212. package/navbar/navbar.module.d.ts +5 -6
  213. package/package.json +6 -6
  214. package/popover/popover.module.d.ts +7 -7
  215. package/prebuilt-themes/dark-theme.css +1 -1
  216. package/prebuilt-themes/light-theme.css +1 -1
  217. package/progress-bar/_progress-bar-theme.scss +6 -12
  218. package/progress-bar/progress-bar-tokens.scss +36 -0
  219. package/progress-bar/progress-bar.module.d.ts +2 -3
  220. package/progress-bar/progress-bar.scss +4 -4
  221. package/progress-spinner/_progress-spinner-theme.scss +5 -11
  222. package/progress-spinner/progress-spinner-tokens.scss +38 -0
  223. package/progress-spinner/progress-spinner.module.d.ts +3 -3
  224. package/progress-spinner/progress-spinner.scss +4 -4
  225. package/radio/_radio-theme.scss +21 -36
  226. package/radio/radio-tokens.scss +166 -0
  227. package/radio/radio.module.d.ts +3 -4
  228. package/radio/radio.scss +4 -5
  229. package/risk-level/_risk-level-theme.scss +20 -24
  230. package/risk-level/risk-level-tokens.scss +72 -0
  231. package/risk-level/risk-level.component.scss +5 -3
  232. package/risk-level/risk-level.module.d.ts +3 -4
  233. package/schematics/ng-add/index.js +4 -4
  234. package/scrollbar/_scrollbar-component-theme.scss +13 -31
  235. package/scrollbar/scrollbar-tokens.scss +34 -0
  236. package/scrollbar/scrollbar.component.scss +4 -3
  237. package/select/_select-theme.scss +11 -22
  238. package/select/select-tokens.scss +59 -0
  239. package/select/select.component.d.ts +1 -1
  240. package/select/select.module.d.ts +7 -7
  241. package/select/select.scss +5 -3
  242. package/sidepanel/_sidepanel-theme.scss +6 -12
  243. package/sidepanel/sidepanel-tokens.scss +48 -0
  244. package/sidepanel/sidepanel.module.d.ts +8 -9
  245. package/sidepanel/sidepanel.scss +4 -4
  246. package/splitter/_splitter-theme.scss +2 -6
  247. package/splitter/splitter-tokens.scss +7 -0
  248. package/splitter/splitter.module.d.ts +2 -3
  249. package/splitter/splitter.scss +4 -0
  250. package/table/table.module.d.ts +3 -4
  251. package/tabs/_tabs-common.scss +0 -6
  252. package/tabs/_tabs-theme.scss +30 -65
  253. package/tabs/tab-group.scss +0 -3
  254. package/tabs/tab-header.scss +0 -3
  255. package/tabs/tab-nav-bar/tab-nav-bar.scss +0 -2
  256. package/tabs/tabs-tokens.scss +136 -0
  257. package/tabs/tabs.module.d.ts +7 -8
  258. package/tags/_tag-theme.scss +17 -26
  259. package/tags/tag-input-tokens.scss +14 -0
  260. package/tags/tag-list.scss +0 -6
  261. package/tags/tag-tokens.scss +151 -0
  262. package/tags/tag.module.d.ts +2 -3
  263. package/tags/tag.scss +0 -3
  264. package/textarea/textarea.module.d.ts +4 -5
  265. package/timepicker/timepicker.module.d.ts +4 -5
  266. package/timezone/timezone.module.d.ts +9 -9
  267. package/toast/toast.module.d.ts +7 -7
  268. package/toggle/toggle-tokens.scss +4 -4
  269. package/toggle/toggle.module.d.ts +3 -4
  270. package/tooltip/tooltip.module.d.ts +3 -3
  271. package/tree/tree-tokens.scss +4 -4
  272. package/tree/tree.module.d.ts +3 -4
  273. package/tree-select/tree-select.component.d.ts +1 -1
  274. package/tree-select/tree-select.module.d.ts +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-code-block.mjs","sources":["../../../packages/components/code-block/actionbar.component.ts","../../../packages/components/code-block/actionbar.component.html","../../../packages/components/code-block/code-block.component.ts","../../../packages/components/code-block/code-block.component.html","../../../packages/components/code-block/code-block.module.ts","../../../packages/components/code-block/koobiq-components-code-block.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { filter } from 'rxjs/operators';\nimport { KbqCodeBlockConfiguration, KbqCodeFile } from './code-block.types';\n\n@Component({\n selector: 'kbq-actionbar-block',\n templateUrl: './actionbar.component.html',\n styleUrls: ['./actionbar.component.scss'],\n host: {\n class: 'kbq-code-block-actionbar'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqActionBarComponent implements AfterViewInit {\n @ViewChild('copyTooltip') copyTooltip: KbqTooltipTrigger;\n\n @Input() config: KbqCodeBlockConfiguration;\n @Input() codeFiles: KbqCodeFile[];\n @Input() selectedTabIndex = 0;\n @Input() multiLine: boolean;\n @Input() softWrap: boolean;\n @Input() canLoad: boolean;\n\n @Output() toggleSoftWrap = new EventEmitter<void>();\n @Output() downloadCode = new EventEmitter<void>();\n @Output() copyCode = new EventEmitter<void>();\n @Output() openExternalSystem = new EventEmitter<void>();\n\n copyTooltipText: string;\n\n ngAfterViewInit(): void {\n this.copyTooltipText = this.config.copyTooltip;\n\n this.copyTooltip.visibleChange.pipe(filter((state) => !state)).subscribe(() => {\n if (this.copyTooltipText === this.config.copiedTooltip) {\n this.copyTooltipText = this.config.copyTooltip;\n }\n });\n }\n\n onCopy() {\n this.copyCode.emit();\n\n setTimeout(() => {\n this.copyTooltipText = this.config.copiedTooltip;\n this.copyTooltip.show();\n });\n }\n}\n","<div class=\"kbq-code-block__fade-gradient\"></div>\n\n<div class=\"kbq-actionbar-block__button-stack layout-row\">\n <button\n *ngIf=\"multiLine\"\n kbq-button\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n [kbqTooltip]=\"softWrap ? config.softWrapOffTooltip : config.softWrapOnTooltip\"\n (click)=\"toggleSoftWrap.emit()\"\n >\n <i\n *ngIf=\"!softWrap\"\n kbq-icon=\"mc-word-wrap_16\"\n ></i>\n <i\n *ngIf=\"softWrap\"\n kbq-icon=\"mc-word-wrap-slash_16\"\n ></i>\n </button>\n\n <button\n *ngIf=\"canLoad\"\n kbq-button\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n [kbqTooltip]=\"config.downloadTooltip\"\n (click)=\"downloadCode.emit()\"\n >\n <i kbq-icon=\"mc-download_16\"></i>\n </button>\n\n <button\n #copyTooltip=\"kbqTooltip\"\n kbq-button\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n [kbqTooltip]=\"copyTooltipText\"\n (click)=\"onCopy()\"\n >\n <i kbq-icon=\"mc-copy-o_16\"></i>\n </button>\n\n <button\n *ngIf=\"codeFiles[selectedTabIndex].link\"\n kbq-button\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n [kbqTooltip]=\"config.openExternalSystemTooltip\"\n (click)=\"openExternalSystem.emit()\"\n >\n <i kbq-icon=\"mc-external-link_16\"></i>\n </button>\n</div>\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n Optional,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqTabChangeEvent, KbqTabGroup } from '@koobiq/components/tabs';\nimport { Subject, Subscription, fromEvent, merge, pairwise } from 'rxjs';\nimport { debounceTime, filter, map, startWith, switchMap } from 'rxjs/operators';\nimport { KbqCodeBlockConfiguration, KbqCodeFile } from './code-block.types';\n\nexport const COPIED_MESSAGE_TOOLTIP_TIMEOUT = 100;\nexport const DEFAULT_EXTENSION = 'txt';\nexport const LANGUAGES_EXTENSIONS = {\n html: 'html',\n css: 'css',\n php: 'php',\n java: 'java',\n bash: 'sh',\n javascript: 'js',\n typescript: 'ts',\n python: 'py',\n ruby: 'rb',\n c: 'c',\n 'c++': 'cpp',\n 'c#': 'cs',\n csharp: 'cs',\n lua: 'lua',\n xml: 'xml',\n json: 'json'\n};\n\nexport const KBQ_CODE_BLOCK_CONFIGURATION = new InjectionToken<any>('KbqCodeBlockConfiguration');\n\nexport const KBQ_CODE_BLOCK_DEFAULT_CONFIGURATION = {\n softWrapOnTooltip: 'Включить перенос по словам',\n softWrapOffTooltip: 'Выключить перенос по словам',\n downloadTooltip: 'Скачать',\n copiedTooltip: '✓ Скопировано',\n copyTooltip: 'Скопировать',\n viewAllText: 'Показать все',\n viewLessText: 'Свернуть',\n openExternalSystemTooltip: 'Открыть во внешней системе'\n};\n\nconst actionBarBlockLeftMargin = 24;\n\nconst hasScroll = (element: HTMLElement) => {\n const { scrollHeight, scrollWidth, clientHeight, clientWidth } = element;\n return scrollHeight > clientHeight || scrollWidth > clientWidth;\n};\n\n@Component({\n selector: 'kbq-code-block',\n exportAs: 'kbqCodeBlock',\n templateUrl: './code-block.component.html',\n styleUrls: ['./code-block.scss', './code-block-tokens.scss'],\n host: {\n class: 'kbq-code-block',\n '[class.kbq-code-block_filled]': 'filled',\n '[class.kbq-code-block_outline]': '!filled',\n '[class.kbq-code-block_hide-line-numbers]': '!lineNumbers',\n '[class.kbq-code-block_single-file]': 'singleFile',\n '[class.kbq-code-block_no-header]': 'noHeader',\n '[class.kbq-code-block_header-with-shadow]': 'isTopOverflow',\n '(window:resize)': 'resizeStream.next($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqCodeBlockComponent implements AfterViewInit, OnDestroy {\n @ViewChild(KbqTabGroup) tabGroup: KbqTabGroup;\n\n @Input() lineNumbers = true;\n @Input() filled: boolean;\n @Input() maxHeight: number;\n @Input() softWrap: boolean = false;\n @Input() canLoad: boolean = true;\n @Input() get codeFiles(): KbqCodeFile[] {\n return this._codeFiles;\n }\n\n set codeFiles(files: KbqCodeFile[]) {\n this._codeFiles = files;\n this.hideActionBarIfNoHeader();\n this.subscribeToHover();\n }\n\n private _codeFiles: KbqCodeFile[];\n\n // TODO: replace with property\n get noHeader(): any {\n return this.codeFiles.length === 1 && !this.codeFiles[0].filename;\n }\n\n get singleFile(): boolean {\n return this.codeFiles.length === 1;\n }\n\n selectedTabIndex = 0;\n copied: boolean = false;\n viewAll: boolean = false;\n multiLine: boolean = false;\n isTopOverflow: boolean = false;\n hasKeyboardFocus: boolean = false;\n /**\n * @docs-private\n */\n actionbarHidden?: boolean;\n\n readonly resizeStream = new Subject<Event>();\n readonly currentCodeBlock = new Subject<HTMLElement>();\n\n private readonly resizeDebounceInterval: number = 100;\n private resizeSubscription = Subscription.EMPTY;\n private codeBlockSubscription = Subscription.EMPTY;\n private hoverSubscription: Subscription | null = null;\n\n constructor(\n private elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n private clipboard: Clipboard,\n private renderer: Renderer2,\n private focusMonitor: FocusMonitor,\n @Optional() @Inject(KBQ_CODE_BLOCK_CONFIGURATION) public config: KbqCodeBlockConfiguration\n ) {\n this.config = config || KBQ_CODE_BLOCK_DEFAULT_CONFIGURATION;\n\n this.resizeSubscription = this.resizeStream\n .pipe(debounceTime(this.resizeDebounceInterval))\n .subscribe(this.updateHeader);\n }\n\n ngAfterViewInit() {\n // render focus border if origin is keyboard\n this.codeBlockSubscription = this.currentCodeBlock\n .pipe(\n startWith(null),\n pairwise(),\n switchMap(([prev, current]) => {\n if (prev) {\n this.focusMonitor.stopMonitoring(prev);\n }\n\n return this.focusMonitor.monitor(current!);\n }),\n filter((origin: FocusOrigin) => origin === 'keyboard')\n )\n .subscribe(() => {\n this.hasKeyboardFocus = true;\n this.changeDetectorRef.markForCheck();\n });\n\n this.hideActionBarIfNoHeader();\n this.subscribeToHover();\n this.currentCodeBlock.next(this.elementRef.nativeElement.querySelector('code'));\n }\n\n ngOnDestroy(): void {\n this.resizeSubscription.unsubscribe();\n this.codeBlockSubscription.unsubscribe();\n }\n\n updateHeader = () => {\n const clientWidth: number = this.elementRef.nativeElement.querySelector('kbq-actionbar-block').clientWidth;\n\n this.renderer.setStyle(\n this.tabGroup.tabHeader.elementRef.nativeElement,\n 'padding-right',\n `${actionBarBlockLeftMargin + clientWidth}px`\n );\n\n this.changeDetectorRef.markForCheck();\n };\n\n toggleSoftWrap() {\n this.softWrap = !this.softWrap;\n }\n\n toggleViewAll() {\n this.viewAll = !this.viewAll;\n }\n\n downloadCode() {\n const codeFile = this.codeFiles[this.selectedTabIndex];\n const blob = new Blob([codeFile.content], { type: 'text/plain' });\n const url = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n\n link.setAttribute('href', url);\n link.setAttribute('download', `${this.getFullFileName(codeFile)}`);\n link.click();\n }\n\n copyCode() {\n this.clipboard.copy(this.codeFiles[this.selectedTabIndex].content);\n this.copied = true;\n }\n\n openExternalSystem() {\n const externalLink = this.codeFiles[this.selectedTabIndex].link;\n window.open(externalLink, '_blank');\n }\n\n onHighlighted() {\n setTimeout(this.updateMultiline, 1);\n }\n\n getMaxHeight(): string {\n return this.maxHeight > 0 && !this.viewAll ? `${this.maxHeight}px` : '';\n }\n\n onSelectTab($event: KbqTabChangeEvent) {\n this.selectedTabIndex = $event.index;\n this.updateMultiline();\n this.isTopOverflow = false;\n\n setTimeout(this.updateHeader);\n setTimeout(() => this.currentCodeBlock.next(this.elementRef.nativeElement.querySelector('code')));\n }\n\n checkOverflow(currentCodeContentElement: HTMLElement) {\n if (this.noHeader) {\n return;\n }\n this.isTopOverflow = currentCodeContentElement.scrollTop > 0;\n }\n\n onShowMoreClick(currentCodeContentElement: HTMLPreElement) {\n this.toggleViewAll();\n\n if (this.viewAll) {\n this.showActionBarIfNecessary();\n } else {\n // Should explicitly scroll to top so content will be cropped from the bottom\n currentCodeContentElement?.scroll({ top: 0, behavior: 'instant' });\n }\n }\n\n // TODO: replace with property to reduce calculations\n canShowFocus(currentCodeContent: HTMLPreElement): boolean {\n const currentCodeBlock = currentCodeContent.querySelector('code')!;\n\n return (\n (hasScroll(currentCodeContent) || hasScroll(currentCodeBlock)) &&\n ((!!this.maxHeight && this.viewAll) || !this.maxHeight)\n );\n }\n\n onEnter(currentCodeBlock: HTMLPreElement) {\n // defer execution after toggle view mode\n setTimeout(() => {\n if (this.canShowFocus(currentCodeBlock)) {\n this.focusMonitor.focusVia(currentCodeBlock.querySelector('code')!, 'keyboard');\n }\n }, 0);\n }\n\n /** @docs-private */\n showActionBarIfNecessary(): void {\n if (!this.actionbarHidden) return;\n this.actionbarHidden = false;\n }\n\n /** @docs-private */\n hideActionBarIfNoHeader(event?: FocusEvent | null): void {\n if (!this.noHeader) return;\n if (event) {\n this.actionbarHidden = !this.elementRef.nativeElement.contains(event.relatedTarget);\n return;\n }\n\n this.actionbarHidden = this.noHeader;\n }\n\n private updateMultiline = () => {\n this.multiLine = this.elementRef.nativeElement.querySelectorAll('.hljs-ln-numbers').length > 1;\n\n this.updateHeader();\n\n this.changeDetectorRef.markForCheck();\n };\n\n private getFullFileName(codeFile: KbqCodeFile): string {\n const fileName = codeFile.filename || 'code';\n const extension = LANGUAGES_EXTENSIONS[codeFile.language] || DEFAULT_EXTENSION;\n\n return `${fileName}.${extension}`;\n }\n\n private subscribeToHover() {\n if (!this.noHeader) {\n this.hoverSubscription?.unsubscribe();\n this.hoverSubscription = null;\n return;\n }\n if (this.hoverSubscription) return;\n\n this.hoverSubscription = merge(\n fromEvent<FocusEvent>(this.elementRef.nativeElement, 'focusin'),\n fromEvent<FocusEvent>(this.elementRef.nativeElement, 'mouseenter')\n ).subscribe(() => {\n this.showActionBarIfNecessary();\n this.changeDetectorRef.markForCheck();\n });\n\n const blur = merge(\n fromEvent<FocusEvent>(this.elementRef.nativeElement, 'focusout'),\n fromEvent<FocusEvent>(this.elementRef.nativeElement, 'mouseleave').pipe(map(() => null))\n ).subscribe((event: FocusEvent | null) => {\n if (!this.hasKeyboardFocus) {\n this.hideActionBarIfNoHeader(event);\n }\n this.changeDetectorRef.markForCheck();\n });\n this.hoverSubscription.add(blur);\n }\n}\n","<kbq-tab-group\n [class.kbq-focused]=\"hasKeyboardFocus\"\n (selectedTabChange)=\"onSelectTab($event)\"\n>\n <kbq-tab\n *ngFor=\"let codeFile of codeFiles; let i = index\"\n [disabled]=\"singleFile\"\n >\n <ng-template kbq-tab-label>{{ codeFile.filename }}</ng-template>\n\n <pre\n #codeContent\n class=\"kbq-code-block__code kbq-scrollbar\"\n [class.kbq-code-block__code_soft-wrap]=\"softWrap\"\n [class.kbq-code-block__code_view-all]=\"viewAll\"\n [style.max-height]=\"getMaxHeight()\"\n (scroll)=\"checkOverflow(codeContent)\"\n ><kbq-actionbar-block\n [class.kbq-actionbar-block_floating]=\"noHeader\"\n [config]=\"config\"\n [codeFiles]=\"codeFiles\"\n [selectedTabIndex]=\"selectedTabIndex\"\n [multiLine]=\"multiLine\"\n [softWrap]=\"softWrap\"\n [canLoad]=\"canLoad\"\n [style.opacity]=\"actionbarHidden ? 0 : null\"\n (toggleSoftWrap)=\"toggleSoftWrap()\"\n (downloadCode)=\"downloadCode()\"\n (copyCode)=\"copyCode()\"\n (openExternalSystem)=\"openExternalSystem()\" /><code class=\"hljs\"\n [id]=\"codeFile.filename + '_' + i\"\n [class.hljs-line-numbers]=\"lineNumbers\"\n [highlight]=\"codeFiles[i].content\"\n [lineNumbers]=\"true\"\n [tabIndex]=\"canShowFocus(codeContent) ? 0 : -1\"\n (highlighted)=\"onHighlighted()\"\n (blur)=\"hasKeyboardFocus = false\">\n </code></pre>\n\n <div\n *ngIf=\"maxHeight\"\n class=\"kbq-code-block__show-more\"\n [class.kbq-code-block__show-more_collapsed]=\"!viewAll\"\n [class.kbq-code-block__show-more_expanded]=\"viewAll\"\n >\n <span class=\"bg-wrapper\">\n <button\n kbq-button\n [color]=\"'theme'\"\n [kbqStyle]=\"'transparent'\"\n (click)=\"onShowMoreClick(codeContent)\"\n (keydown.enter)=\"onEnter(codeContent)\"\n >\n <i\n *ngIf=\"!viewAll\"\n kbq-icon=\"mc-angle-down-L_16\"\n ></i>\n <i\n *ngIf=\"viewAll\"\n kbq-icon=\"mc-angle-up-L_16\"\n ></i>\n {{ viewAll ? config.viewLessText : config.viewAllText }}\n </button>\n </span>\n </div>\n </kbq-tab>\n</kbq-tab-group>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqTabsModule } from '@koobiq/components/tabs';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport { HIGHLIGHT_OPTIONS, HighlightModule } from 'ngx-highlightjs';\nimport { KbqActionBarComponent } from './actionbar.component';\nimport { KbqCodeBlockComponent } from './code-block.component';\n\n@NgModule({\n imports: [\n CommonModule,\n KbqButtonModule,\n KbqToolTipModule,\n KbqIconModule,\n HighlightModule,\n KbqTabsModule\n ], // , I18nModule\n declarations: [\n KbqCodeBlockComponent,\n KbqActionBarComponent\n ],\n providers: [\n {\n provide: HIGHLIGHT_OPTIONS,\n useValue: {\n fullLibraryLoader: () => import('highlight.js'),\n lineNumbersLoader: () => import('ngx-highlightjs/line-numbers'),\n lineNumbers: true\n }\n }\n ],\n exports: [KbqCodeBlockComponent]\n})\nexport class KbqCodeBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3","i4","i5","i8.KbqActionBarComponent"],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-code-block.mjs","sources":["../../../packages/components/code-block/actionbar.component.ts","../../../packages/components/code-block/actionbar.component.html","../../../packages/components/code-block/code-block.component.ts","../../../packages/components/code-block/code-block.component.html","../../../packages/components/code-block/code-block.module.ts","../../../packages/components/code-block/koobiq-components-code-block.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { filter } from 'rxjs/operators';\nimport { KbqCodeBlockConfiguration, KbqCodeFile } from './code-block.types';\n\n@Component({\n selector: 'kbq-actionbar-block',\n templateUrl: './actionbar.component.html',\n styleUrls: ['./actionbar.component.scss'],\n host: {\n class: 'kbq-code-block-actionbar'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqActionBarComponent implements AfterViewInit {\n @ViewChild('copyTooltip') copyTooltip: KbqTooltipTrigger;\n\n @Input() config: KbqCodeBlockConfiguration;\n @Input() codeFiles: KbqCodeFile[];\n @Input() selectedTabIndex = 0;\n @Input() multiLine: boolean;\n @Input() softWrap: boolean;\n @Input() canLoad: boolean;\n\n @Output() toggleSoftWrap = new EventEmitter<void>();\n @Output() downloadCode = new EventEmitter<void>();\n @Output() copyCode = new EventEmitter<void>();\n @Output() openExternalSystem = new EventEmitter<void>();\n\n copyTooltipText: string;\n\n ngAfterViewInit(): void {\n this.copyTooltipText = this.config.copyTooltip;\n\n this.copyTooltip.visibleChange.pipe(filter((state) => !state)).subscribe(() => {\n if (this.copyTooltipText === this.config.copiedTooltip) {\n this.copyTooltipText = this.config.copyTooltip;\n }\n });\n }\n\n onCopy() {\n this.copyCode.emit();\n\n setTimeout(() => {\n this.copyTooltipText = this.config.copiedTooltip;\n this.copyTooltip.show();\n });\n }\n}\n","<div class=\"kbq-code-block__fade-gradient\"></div>\n\n<div class=\"kbq-actionbar-block__button-stack layout-row\">\n @if (multiLine) {\n <button\n kbq-button\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n [kbqTooltip]=\"softWrap ? config.softWrapOffTooltip : config.softWrapOnTooltip\"\n (click)=\"toggleSoftWrap.emit()\"\n >\n @if (!softWrap) {\n <i kbq-icon=\"mc-word-wrap_16\"></i>\n }\n @if (softWrap) {\n <i kbq-icon=\"mc-word-wrap-slash_16\"></i>\n }\n </button>\n }\n\n @if (canLoad) {\n <button\n kbq-button\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n [kbqTooltip]=\"config.downloadTooltip\"\n (click)=\"downloadCode.emit()\"\n >\n <i kbq-icon=\"mc-download_16\"></i>\n </button>\n }\n\n <button\n #copyTooltip=\"kbqTooltip\"\n kbq-button\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n [kbqTooltip]=\"copyTooltipText\"\n (click)=\"onCopy()\"\n >\n <i kbq-icon=\"mc-copy-o_16\"></i>\n </button>\n\n @if (codeFiles[selectedTabIndex].link) {\n <button\n kbq-button\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n [kbqTooltip]=\"config.openExternalSystemTooltip\"\n (click)=\"openExternalSystem.emit()\"\n >\n <i kbq-icon=\"mc-external-link_16\"></i>\n </button>\n }\n</div>\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n Optional,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqTabChangeEvent, KbqTabGroup } from '@koobiq/components/tabs';\nimport { Subject, Subscription, fromEvent, merge, pairwise } from 'rxjs';\nimport { debounceTime, filter, map, startWith, switchMap } from 'rxjs/operators';\nimport { KbqCodeBlockConfiguration, KbqCodeFile } from './code-block.types';\n\nexport const COPIED_MESSAGE_TOOLTIP_TIMEOUT = 100;\nexport const DEFAULT_EXTENSION = 'txt';\nexport const LANGUAGES_EXTENSIONS = {\n html: 'html',\n css: 'css',\n php: 'php',\n java: 'java',\n bash: 'sh',\n javascript: 'js',\n typescript: 'ts',\n python: 'py',\n ruby: 'rb',\n c: 'c',\n 'c++': 'cpp',\n 'c#': 'cs',\n csharp: 'cs',\n lua: 'lua',\n xml: 'xml',\n json: 'json'\n};\n\nexport const KBQ_CODE_BLOCK_CONFIGURATION = new InjectionToken<any>('KbqCodeBlockConfiguration');\n\nexport const KBQ_CODE_BLOCK_DEFAULT_CONFIGURATION = {\n softWrapOnTooltip: 'Включить перенос по словам',\n softWrapOffTooltip: 'Выключить перенос по словам',\n downloadTooltip: 'Скачать',\n copiedTooltip: '✓ Скопировано',\n copyTooltip: 'Скопировать',\n viewAllText: 'Показать все',\n viewLessText: 'Свернуть',\n openExternalSystemTooltip: 'Открыть во внешней системе'\n};\n\nconst actionBarBlockLeftMargin = 24;\n\nconst hasScroll = (element: HTMLElement) => {\n const { scrollHeight, scrollWidth, clientHeight, clientWidth } = element;\n return scrollHeight > clientHeight || scrollWidth > clientWidth;\n};\n\n@Component({\n selector: 'kbq-code-block',\n exportAs: 'kbqCodeBlock',\n templateUrl: './code-block.component.html',\n styleUrls: ['./code-block.scss', './code-block-tokens.scss'],\n host: {\n class: 'kbq-code-block',\n '[class.kbq-code-block_filled]': 'filled',\n '[class.kbq-code-block_outline]': '!filled',\n '[class.kbq-code-block_hide-line-numbers]': '!lineNumbers',\n '[class.kbq-code-block_single-file]': 'singleFile',\n '[class.kbq-code-block_no-header]': 'noHeader',\n '[class.kbq-code-block_header-with-shadow]': 'isTopOverflow',\n '(window:resize)': 'resizeStream.next($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqCodeBlockComponent implements AfterViewInit, OnDestroy {\n @ViewChild(KbqTabGroup) tabGroup: KbqTabGroup;\n\n @Input() lineNumbers = true;\n @Input() filled: boolean;\n @Input() maxHeight: number;\n @Input() softWrap: boolean = false;\n @Input() canLoad: boolean = true;\n @Input() get codeFiles(): KbqCodeFile[] {\n return this._codeFiles;\n }\n\n set codeFiles(files: KbqCodeFile[]) {\n this._codeFiles = files;\n this.hideActionBarIfNoHeader();\n this.subscribeToHover();\n }\n\n private _codeFiles: KbqCodeFile[];\n\n // TODO: replace with property\n get noHeader(): any {\n return this.codeFiles.length === 1 && !this.codeFiles[0].filename;\n }\n\n get singleFile(): boolean {\n return this.codeFiles.length === 1;\n }\n\n selectedTabIndex = 0;\n copied: boolean = false;\n viewAll: boolean = false;\n multiLine: boolean = false;\n isTopOverflow: boolean = false;\n hasKeyboardFocus: boolean = false;\n /**\n * @docs-private\n */\n actionbarHidden?: boolean;\n\n readonly resizeStream = new Subject<Event>();\n readonly currentCodeBlock = new Subject<HTMLElement>();\n\n private readonly resizeDebounceInterval: number = 100;\n private resizeSubscription = Subscription.EMPTY;\n private codeBlockSubscription = Subscription.EMPTY;\n private hoverSubscription: Subscription | null = null;\n\n constructor(\n private elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n private clipboard: Clipboard,\n private renderer: Renderer2,\n private focusMonitor: FocusMonitor,\n @Optional() @Inject(KBQ_CODE_BLOCK_CONFIGURATION) public config: KbqCodeBlockConfiguration\n ) {\n this.config = config || KBQ_CODE_BLOCK_DEFAULT_CONFIGURATION;\n\n this.resizeSubscription = this.resizeStream\n .pipe(debounceTime(this.resizeDebounceInterval))\n .subscribe(this.updateHeader);\n }\n\n ngAfterViewInit() {\n // render focus border if origin is keyboard\n this.codeBlockSubscription = this.currentCodeBlock\n .pipe(\n startWith(null),\n pairwise(),\n switchMap(([prev, current]) => {\n if (prev) {\n this.focusMonitor.stopMonitoring(prev);\n }\n\n return this.focusMonitor.monitor(current!);\n }),\n filter((origin: FocusOrigin) => origin === 'keyboard')\n )\n .subscribe(() => {\n this.hasKeyboardFocus = true;\n this.changeDetectorRef.markForCheck();\n });\n\n this.hideActionBarIfNoHeader();\n this.subscribeToHover();\n this.currentCodeBlock.next(this.elementRef.nativeElement.querySelector('code'));\n }\n\n ngOnDestroy(): void {\n this.resizeSubscription.unsubscribe();\n this.codeBlockSubscription.unsubscribe();\n }\n\n updateHeader = () => {\n const clientWidth: number = this.elementRef.nativeElement.querySelector('kbq-actionbar-block').clientWidth;\n\n this.renderer.setStyle(\n this.tabGroup.tabHeader.elementRef.nativeElement,\n 'padding-right',\n `${actionBarBlockLeftMargin + clientWidth}px`\n );\n\n this.changeDetectorRef.markForCheck();\n };\n\n toggleSoftWrap() {\n this.softWrap = !this.softWrap;\n }\n\n toggleViewAll() {\n this.viewAll = !this.viewAll;\n }\n\n downloadCode() {\n const codeFile = this.codeFiles[this.selectedTabIndex];\n const blob = new Blob([codeFile.content], { type: 'text/plain' });\n const url = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n\n link.setAttribute('href', url);\n link.setAttribute('download', `${this.getFullFileName(codeFile)}`);\n link.click();\n }\n\n copyCode() {\n this.clipboard.copy(this.codeFiles[this.selectedTabIndex].content);\n this.copied = true;\n }\n\n openExternalSystem() {\n const externalLink = this.codeFiles[this.selectedTabIndex].link;\n window.open(externalLink, '_blank');\n }\n\n onHighlighted() {\n setTimeout(this.updateMultiline, 1);\n }\n\n getMaxHeight(): string {\n return this.maxHeight > 0 && !this.viewAll ? `${this.maxHeight}px` : '';\n }\n\n onSelectTab($event: KbqTabChangeEvent) {\n this.selectedTabIndex = $event.index;\n this.updateMultiline();\n this.isTopOverflow = false;\n\n setTimeout(this.updateHeader);\n setTimeout(() => this.currentCodeBlock.next(this.elementRef.nativeElement.querySelector('code')));\n }\n\n checkOverflow(currentCodeContentElement: HTMLElement) {\n if (this.noHeader) {\n return;\n }\n this.isTopOverflow = currentCodeContentElement.scrollTop > 0;\n }\n\n onShowMoreClick(currentCodeContentElement: HTMLPreElement) {\n this.toggleViewAll();\n\n if (this.viewAll) {\n this.showActionBarIfNecessary();\n } else {\n // Should explicitly scroll to top so content will be cropped from the bottom\n currentCodeContentElement?.scroll({ top: 0, behavior: 'instant' });\n }\n }\n\n // TODO: replace with property to reduce calculations\n canShowFocus(currentCodeContent: HTMLPreElement): boolean {\n const currentCodeBlock = currentCodeContent.querySelector('code')!;\n\n return (\n (hasScroll(currentCodeContent) || hasScroll(currentCodeBlock)) &&\n ((!!this.maxHeight && this.viewAll) || !this.maxHeight)\n );\n }\n\n onEnter(currentCodeBlock: HTMLPreElement) {\n // defer execution after toggle view mode\n setTimeout(() => {\n if (this.canShowFocus(currentCodeBlock)) {\n this.focusMonitor.focusVia(currentCodeBlock.querySelector('code')!, 'keyboard');\n }\n }, 0);\n }\n\n /** @docs-private */\n showActionBarIfNecessary(): void {\n if (!this.actionbarHidden) return;\n this.actionbarHidden = false;\n }\n\n /** @docs-private */\n hideActionBarIfNoHeader(event?: FocusEvent | null): void {\n if (!this.noHeader) return;\n if (event) {\n this.actionbarHidden = !this.elementRef.nativeElement.contains(event.relatedTarget);\n return;\n }\n\n this.actionbarHidden = this.noHeader;\n }\n\n private updateMultiline = () => {\n this.multiLine = this.elementRef.nativeElement.querySelectorAll('.hljs-ln-numbers').length > 1;\n\n this.updateHeader();\n\n this.changeDetectorRef.markForCheck();\n };\n\n private getFullFileName(codeFile: KbqCodeFile): string {\n const fileName = codeFile.filename || 'code';\n const extension = LANGUAGES_EXTENSIONS[codeFile.language] || DEFAULT_EXTENSION;\n\n return `${fileName}.${extension}`;\n }\n\n private subscribeToHover() {\n if (!this.noHeader) {\n this.hoverSubscription?.unsubscribe();\n this.hoverSubscription = null;\n return;\n }\n if (this.hoverSubscription) return;\n\n this.hoverSubscription = merge(\n fromEvent<FocusEvent>(this.elementRef.nativeElement, 'focusin'),\n fromEvent<FocusEvent>(this.elementRef.nativeElement, 'mouseenter')\n ).subscribe(() => {\n this.showActionBarIfNecessary();\n this.changeDetectorRef.markForCheck();\n });\n\n const blur = merge(\n fromEvent<FocusEvent>(this.elementRef.nativeElement, 'focusout'),\n fromEvent<FocusEvent>(this.elementRef.nativeElement, 'mouseleave').pipe(map(() => null))\n ).subscribe((event: FocusEvent | null) => {\n if (!this.hasKeyboardFocus) {\n this.hideActionBarIfNoHeader(event);\n }\n this.changeDetectorRef.markForCheck();\n });\n this.hoverSubscription.add(blur);\n }\n}\n","<kbq-tab-group\n [class.kbq-focused]=\"hasKeyboardFocus\"\n (selectedTabChange)=\"onSelectTab($event)\"\n>\n @for (codeFile of codeFiles; track codeFile; let i = $index) {\n <kbq-tab [disabled]=\"singleFile\">\n <ng-template kbq-tab-label>{{ codeFile.filename }}</ng-template>\n <pre\n #codeContent\n class=\"kbq-code-block__code kbq-scrollbar\"\n [class.kbq-code-block__code_soft-wrap]=\"softWrap\"\n [class.kbq-code-block__code_view-all]=\"viewAll\"\n [style.max-height]=\"getMaxHeight()\"\n (scroll)=\"checkOverflow(codeContent)\"\n ><kbq-actionbar-block\n [class.kbq-actionbar-block_floating]=\"noHeader\"\n [config]=\"config\"\n [codeFiles]=\"codeFiles\"\n [selectedTabIndex]=\"selectedTabIndex\"\n [multiLine]=\"multiLine\"\n [softWrap]=\"softWrap\"\n [canLoad]=\"canLoad\"\n [style.opacity]=\"actionbarHidden ? 0 : null\"\n (toggleSoftWrap)=\"toggleSoftWrap()\"\n (downloadCode)=\"downloadCode()\"\n (copyCode)=\"copyCode()\"\n (openExternalSystem)=\"openExternalSystem()\" /><code class=\"hljs\"\n [id]=\"codeFile.filename + '_' + i\"\n [class.hljs-line-numbers]=\"lineNumbers\"\n [highlight]=\"codeFiles[i].content\"\n [lineNumbers]=\"true\"\n [tabIndex]=\"canShowFocus(codeContent) ? 0 : -1\"\n (highlighted)=\"onHighlighted()\"\n (blur)=\"hasKeyboardFocus = false\">\n </code></pre>\n @if (maxHeight) {\n <div\n class=\"kbq-code-block__show-more\"\n [class.kbq-code-block__show-more_collapsed]=\"!viewAll\"\n [class.kbq-code-block__show-more_expanded]=\"viewAll\"\n >\n <span class=\"bg-wrapper\">\n <button\n kbq-button\n [color]=\"'theme'\"\n [kbqStyle]=\"'transparent'\"\n (click)=\"onShowMoreClick(codeContent)\"\n (keydown.enter)=\"onEnter(codeContent)\"\n >\n @if (!viewAll) {\n <i kbq-icon=\"mc-angle-down-L_16\"></i>\n }\n @if (viewAll) {\n <i kbq-icon=\"mc-angle-up-L_16\"></i>\n }\n {{ viewAll ? config.viewLessText : config.viewAllText }}\n </button>\n </span>\n </div>\n }\n </kbq-tab>\n }\n</kbq-tab-group>\n","import { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqTabsModule } from '@koobiq/components/tabs';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport { HIGHLIGHT_OPTIONS, HighlightModule } from 'ngx-highlightjs';\nimport { KbqActionBarComponent } from './actionbar.component';\nimport { KbqCodeBlockComponent } from './code-block.component';\n\n@NgModule({\n imports: [\n KbqButtonModule,\n KbqToolTipModule,\n KbqIconModule,\n HighlightModule,\n KbqTabsModule\n ],\n declarations: [\n KbqCodeBlockComponent,\n KbqActionBarComponent\n ],\n providers: [\n {\n provide: HIGHLIGHT_OPTIONS,\n useValue: {\n fullLibraryLoader: () => import('highlight.js'),\n lineNumbersLoader: () => import('ngx-highlightjs/line-numbers'),\n lineNumbers: true\n }\n }\n ],\n exports: [KbqCodeBlockComponent]\n})\nexport class KbqCodeBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i4","i7.KbqActionBarComponent"],"mappings":"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"}
@@ -6,7 +6,6 @@ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coerci
6
6
  import * as i1 from '@koobiq/date-adapter';
7
7
  import { DateAdapter as DateAdapter$1 } from '@koobiq/date-adapter';
8
8
  import { DateFormatter as DateFormatter$1 } from '@koobiq/date-formatter';
9
- import * as i2 from '@angular/common';
10
9
  import { DOCUMENT, CommonModule } from '@angular/common';
11
10
  import { BehaviorSubject, Subject, Subscription, pairwise } from 'rxjs';
12
11
  import * as i1$1 from '@angular/cdk/a11y';
@@ -1700,32 +1699,22 @@ class KbqOptionActionComponent extends KbqOptionActionMixinBase {
1700
1699
  setTimeout(() => (this.option.tooltipTrigger.disabled = false));
1701
1700
  }
1702
1701
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionActionComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusMonitor }, { token: KBQ_OPTION_ACTION_PARENT }], target: i0.ɵɵFactoryTarget.Component }); }
1703
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqOptionActionComponent, selector: "kbq-option-action", inputs: { disabled: "disabled" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()", "click": "onClick($event)", "keydown": "onKeyDown($event)" }, properties: { "class.kbq-expanded": "false", "class.kbq-disabled": "disabled", "attr.disabled": "disabled || null", "attr.tabIndex": "-1" }, classAttribute: "kbq-option-action" }, queries: [{ propertyName: "customIcon", first: true, predicate: ["customIcon"], descendants: true }], exportAs: ["kbqOptionAction"], usesInheritance: true, ngImport: i0, template: `
1704
- <ng-container [ngSwitch]="!!customIcon">
1705
- <i
1706
- class="mc kbq-icon mc-ellipsis_16"
1707
- *ngSwitchCase="false"
1708
- ></i>
1709
- <ng-content
1710
- *ngSwitchCase="true"
1711
- select="[kbq-icon]"
1712
- />
1713
- </ng-container>
1714
- `, isInline: true, styles: [".kbq-option-action{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:-2px;width:var(--kbq-list-font-text-line-height, 20px);height:var(--kbq-list-font-text-line-height, 20px);cursor:pointer;outline:none;border:2px solid transparent;background:transparent}.kbq-option-action.kbq-disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1702
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: KbqOptionActionComponent, selector: "kbq-option-action", inputs: { disabled: "disabled" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()", "click": "onClick($event)", "keydown": "onKeyDown($event)" }, properties: { "class.kbq-expanded": "false", "class.kbq-disabled": "disabled", "attr.disabled": "disabled || null", "attr.tabIndex": "-1" }, classAttribute: "kbq-option-action" }, queries: [{ propertyName: "customIcon", first: true, predicate: ["customIcon"], descendants: true }], exportAs: ["kbqOptionAction"], usesInheritance: true, ngImport: i0, template: `
1703
+ @if (!!customIcon) {
1704
+ <ng-content select="[kbq-icon]" />
1705
+ } @else {
1706
+ <i class="mc kbq-icon mc-ellipsis_16"></i>
1707
+ }
1708
+ `, isInline: true, styles: [".kbq-option-action{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:-2px;width:var(--kbq-list-font-text-line-height, 20px);height:var(--kbq-list-font-text-line-height, 20px);cursor:pointer;outline:none;border:2px solid transparent;background:transparent}.kbq-option-action.kbq-disabled{cursor:default}.kbq-option-action.cdk-keyboard-focused{border-color:var(--kbq-states-focused-color, )}.kbq-option-action:active,.kbq-option-action.kbq-pressed{background-color:var(--kbq-background-transparent, )}.kbq-option-action:active .kbq-icon,.kbq-option-action.kbq-pressed .kbq-icon{color:var(--kbq-states-icon-contrast-fade-active, )}.kbq-option-action:hover .kbq-icon{color:var(--kbq-states-icon-contrast-fade-hover, )}.kbq-option-action.kbq-disabled{background-color:var(--kbq-background-transparent, )}.kbq-option-action.kbq-disabled .kbq-icon{color:var(--kbq-states-icon-disabled, )}\n", ".kbq-option-action{--kbq-list-font-text-line-height: 20px}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-background-transparent: transparent;--kbq-states-icon-disabled: hsla(229, 15%, 15%, 32%);--kbq-states-icon-contrast-fade-hover: hsla(229, 15%, 50%, 100%);--kbq-states-icon-contrast-fade-active: hsla(229, 15%, 40%, 100%);--kbq-states-focused-color: hsla(216, 100%, 50%, 100%);--kbq-states-focused-color-error: hsla(7, 97%, 50%, 100%)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-background-transparent: transparent;--kbq-states-icon-contrast-fade-hover: hsla(229, 15%, 50%, 100%);--kbq-states-icon-contrast-fade-active: hsla(229, 15%, 40%, 100%);--kbq-states-icon-disabled: hsla(229, 15%, 30%, 100%);--kbq-states-focused-color: hsla(216, 100%, 50%, 100%);--kbq-states-focused-color-error: hsla(7, 97%, 50%, 100%)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1715
1709
  }
1716
1710
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionActionComponent, decorators: [{
1717
1711
  type: Component,
1718
1712
  args: [{ selector: 'kbq-option-action', exportAs: 'kbqOptionAction', template: `
1719
- <ng-container [ngSwitch]="!!customIcon">
1720
- <i
1721
- class="mc kbq-icon mc-ellipsis_16"
1722
- *ngSwitchCase="false"
1723
- ></i>
1724
- <ng-content
1725
- *ngSwitchCase="true"
1726
- select="[kbq-icon]"
1727
- />
1728
- </ng-container>
1713
+ @if (!!customIcon) {
1714
+ <ng-content select="[kbq-icon]" />
1715
+ } @else {
1716
+ <i class="mc kbq-icon mc-ellipsis_16"></i>
1717
+ }
1729
1718
  `, host: {
1730
1719
  class: 'kbq-option-action',
1731
1720
  '[class.kbq-expanded]': 'false',
@@ -1736,7 +1725,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
1736
1725
  '(blur)': 'onBlur()',
1737
1726
  '(click)': 'onClick($event)',
1738
1727
  '(keydown)': 'onKeyDown($event)'
1739
- }, inputs: ['disabled'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".kbq-option-action{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:-2px;width:var(--kbq-list-font-text-line-height, 20px);height:var(--kbq-list-font-text-line-height, 20px);cursor:pointer;outline:none;border:2px solid transparent;background:transparent}.kbq-option-action.kbq-disabled{cursor:default}\n"] }]
1728
+ }, inputs: ['disabled'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".kbq-option-action{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:-2px;width:var(--kbq-list-font-text-line-height, 20px);height:var(--kbq-list-font-text-line-height, 20px);cursor:pointer;outline:none;border:2px solid transparent;background:transparent}.kbq-option-action.kbq-disabled{cursor:default}.kbq-option-action.cdk-keyboard-focused{border-color:var(--kbq-states-focused-color, )}.kbq-option-action:active,.kbq-option-action.kbq-pressed{background-color:var(--kbq-background-transparent, )}.kbq-option-action:active .kbq-icon,.kbq-option-action.kbq-pressed .kbq-icon{color:var(--kbq-states-icon-contrast-fade-active, )}.kbq-option-action:hover .kbq-icon{color:var(--kbq-states-icon-contrast-fade-hover, )}.kbq-option-action.kbq-disabled{background-color:var(--kbq-background-transparent, )}.kbq-option-action.kbq-disabled .kbq-icon{color:var(--kbq-states-icon-disabled, )}\n", ".kbq-option-action{--kbq-list-font-text-line-height: 20px}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-background-transparent: transparent;--kbq-states-icon-disabled: hsla(229, 15%, 15%, 32%);--kbq-states-icon-contrast-fade-hover: hsla(229, 15%, 50%, 100%);--kbq-states-icon-contrast-fade-active: hsla(229, 15%, 40%, 100%);--kbq-states-focused-color: hsla(216, 100%, 50%, 100%);--kbq-states-focused-color-error: hsla(7, 97%, 50%, 100%)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-background-transparent: transparent;--kbq-states-icon-contrast-fade-hover: hsla(229, 15%, 50%, 100%);--kbq-states-icon-contrast-fade-active: hsla(229, 15%, 40%, 100%);--kbq-states-icon-disabled: hsla(229, 15%, 30%, 100%);--kbq-states-focused-color: hsla(216, 100%, 50%, 100%);--kbq-states-focused-color-error: hsla(7, 97%, 50%, 100%)}\n"] }]
1740
1729
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.FocusMonitor }, { type: undefined, decorators: [{
1741
1730
  type: Inject,
1742
1731
  args: [KBQ_OPTION_ACTION_PARENT]
@@ -1760,14 +1749,14 @@ class KbqOptgroup extends KbqOptgroupMixinBase {
1760
1749
  this.labelId = `kbq-optgroup-label-${uniqueOptgroupIdCounter++}`;
1761
1750
  }
1762
1751
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptgroup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1763
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqOptgroup, selector: "kbq-optgroup", inputs: { disabled: "disabled", label: "label" }, host: { properties: { "class.kbq-disabled": "disabled" }, classAttribute: "kbq-optgroup" }, exportAs: ["kbqOptgroup"], usesInheritance: true, ngImport: i0, template: "<label\n class=\"kbq-optgroup-label\"\n [id]=\"labelId\"\n>\n {{ label }}\n</label>\n<ng-content select=\"kbq-option, kbq-list-option, kbq-timezone-option, ng-container\" />\n", styles: [".kbq-optgroup-label{padding-left:var(--kbq-size-m, 12px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1752
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqOptgroup, selector: "kbq-optgroup", inputs: { disabled: "disabled", label: "label" }, host: { properties: { "class.kbq-disabled": "disabled" }, classAttribute: "kbq-optgroup" }, exportAs: ["kbqOptgroup"], usesInheritance: true, ngImport: i0, template: "<label\n class=\"kbq-optgroup-label\"\n [id]=\"labelId\"\n>\n {{ label }}\n</label>\n<ng-content select=\"kbq-option, kbq-list-option, kbq-timezone-option, ng-container\" />\n", styles: [".kbq-optgroup-label{padding-left:var(--kbq-size-m, 12px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-optgroup-label{color:var(--kbq-foreground-contrast, )}.kbq-disabled .kbq-optgroup-label{color:var(--kbq-foreground-text-disabled, )}.kbq-optgroup-label{font-size:var(--kbq-optgroup-font-default-font-size, 18px);font-weight:var(--kbq-optgroup-font-default-font-weight, 600);line-height:var(--kbq-optgroup-font-default-line-height, 26px);font-family:var(--kbq-optgroup-font-default-font-family, \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-optgroup-font-default-text-transform, );font-feature-settings:var(--kbq-optgroup-font-default-font-feature-settings, \"calt\", \"kern\", \"liga\");letter-spacing:var(--kbq-optgroup-font-default-letter-spacing, normal)}\n", ".kbq-optgroup{--kbq-size-m: 12px;--kbq-optgroup-size-padding-left: 17px;--kbq-optgroup-font-default-font-size: 18px;--kbq-optgroup-font-default-line-height: 26px;--kbq-optgroup-font-default-letter-spacing: normal;--kbq-optgroup-font-default-font-weight: 600;--kbq-optgroup-font-default-font-family: \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-optgroup-font-default-text-transform: null;--kbq-optgroup-font-default-font-feature-settings: \"calt\", \"kern\", \"liga\"}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-foreground-contrast: hsla(229, 15%, 15%, 100%);--kbq-foreground-contrast-secondary: hsla(229, 15%, 50%, 100%);--kbq-foreground-contrast-tertiary: hsla(229, 15%, 60%, 100%);--kbq-foreground-text-disabled: hsla(229, 15%, 70%, 100%)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-foreground-contrast: hsla(229, 15%, 80%, 100%);--kbq-foreground-contrast-secondary: hsla(229, 15%, 60%, 100%);--kbq-foreground-contrast-tertiary: hsla(229, 15%, 45%, 100%);--kbq-foreground-text-disabled: hsla(229, 15%, 70%, 100%)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1764
1753
  }
1765
1754
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptgroup, decorators: [{
1766
1755
  type: Component,
1767
1756
  args: [{ selector: 'kbq-optgroup', exportAs: 'kbqOptgroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['disabled'], host: {
1768
1757
  class: 'kbq-optgroup',
1769
1758
  '[class.kbq-disabled]': 'disabled'
1770
- }, template: "<label\n class=\"kbq-optgroup-label\"\n [id]=\"labelId\"\n>\n {{ label }}\n</label>\n<ng-content select=\"kbq-option, kbq-list-option, kbq-timezone-option, ng-container\" />\n", styles: [".kbq-optgroup-label{padding-left:var(--kbq-size-m, 12px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}\n"] }]
1759
+ }, template: "<label\n class=\"kbq-optgroup-label\"\n [id]=\"labelId\"\n>\n {{ label }}\n</label>\n<ng-content select=\"kbq-option, kbq-list-option, kbq-timezone-option, ng-container\" />\n", styles: [".kbq-optgroup-label{padding-left:var(--kbq-size-m, 12px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-optgroup-label{color:var(--kbq-foreground-contrast, )}.kbq-disabled .kbq-optgroup-label{color:var(--kbq-foreground-text-disabled, )}.kbq-optgroup-label{font-size:var(--kbq-optgroup-font-default-font-size, 18px);font-weight:var(--kbq-optgroup-font-default-font-weight, 600);line-height:var(--kbq-optgroup-font-default-line-height, 26px);font-family:var(--kbq-optgroup-font-default-font-family, \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-optgroup-font-default-text-transform, );font-feature-settings:var(--kbq-optgroup-font-default-font-feature-settings, \"calt\", \"kern\", \"liga\");letter-spacing:var(--kbq-optgroup-font-default-letter-spacing, normal)}\n", ".kbq-optgroup{--kbq-size-m: 12px;--kbq-optgroup-size-padding-left: 17px;--kbq-optgroup-font-default-font-size: 18px;--kbq-optgroup-font-default-line-height: 26px;--kbq-optgroup-font-default-letter-spacing: normal;--kbq-optgroup-font-default-font-weight: 600;--kbq-optgroup-font-default-font-family: \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-optgroup-font-default-text-transform: null;--kbq-optgroup-font-default-font-feature-settings: \"calt\", \"kern\", \"liga\"}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-foreground-contrast: hsla(229, 15%, 15%, 100%);--kbq-foreground-contrast-secondary: hsla(229, 15%, 50%, 100%);--kbq-foreground-contrast-tertiary: hsla(229, 15%, 60%, 100%);--kbq-foreground-text-disabled: hsla(229, 15%, 70%, 100%)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-foreground-contrast: hsla(229, 15%, 80%, 100%);--kbq-foreground-contrast-secondary: hsla(229, 15%, 60%, 100%);--kbq-foreground-contrast-tertiary: hsla(229, 15%, 45%, 100%);--kbq-foreground-text-disabled: hsla(229, 15%, 70%, 100%)}\n"] }]
1771
1760
  }], propDecorators: { label: [{
1772
1761
  type: Input
1773
1762
  }] } });
@@ -2031,12 +2020,12 @@ class KbqOption extends KbqOptionBase {
2031
2020
  return this.element.nativeElement;
2032
2021
  }
2033
2022
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: KBQ_OPTION_PARENT_COMPONENT, optional: true }, { token: KbqOptgroup, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
2034
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqOption, selector: "kbq-option", inputs: { value: "value", showCheckbox: "showCheckbox", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "attr.tabindex": "getTabIndex()", "class.kbq-selected": "selected", "class.kbq-option-multiple": "multiple", "class.kbq-active": "active", "class.kbq-disabled": "disabled", "id": "id" }, classAttribute: "kbq-option" }, providers: [
2023
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: KbqOption, selector: "kbq-option", inputs: { value: "value", showCheckbox: "showCheckbox", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "attr.tabindex": "getTabIndex()", "class.kbq-selected": "selected", "class.kbq-option-multiple": "multiple", "class.kbq-active": "active", "class.kbq-disabled": "disabled", "id": "id" }, classAttribute: "kbq-option" }, providers: [
2035
2024
  {
2036
2025
  provide: KBQ_TITLE_TEXT_REF,
2037
2026
  useExisting: KbqOption
2038
2027
  }
2039
- ], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["kbqTitleText"], descendants: true }], exportAs: ["kbqOption"], usesInheritance: true, ngImport: i0, template: "<kbq-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [disabled]=\"disabled\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n/>\n\n<span\n #kbqTitleText\n class=\"kbq-option-text\"\n>\n <ng-content />\n</span>\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-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s, 8px);border:var(--kbq-size-3xs, 2px) solid transparent;padding-top:var(--kbq-size-xxs, 4px);padding-left:var(--kbq-size-m, 12px);padding-right:var(--kbq-size-m, 12px);padding-bottom:var(--kbq-size-xxs, 4px)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs, 2px)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: KbqPseudoCheckbox, selector: "kbq-pseudo-checkbox", inputs: ["color", "big", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2028
+ ], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["kbqTitleText"], descendants: true }], exportAs: ["kbqOption"], usesInheritance: true, ngImport: i0, template: "@if (showCheckbox) {\n <kbq-pseudo-checkbox\n [disabled]=\"disabled\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n />\n}\n\n<span\n #kbqTitleText\n class=\"kbq-option-text\"\n>\n <ng-content />\n</span>\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-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s, 8px);border:var(--kbq-size-3xs, 2px) solid transparent;padding-top:var(--kbq-size-xxs, 4px);padding-left:var(--kbq-size-m, 12px);padding-right:var(--kbq-size-m, 12px);padding-bottom:var(--kbq-size-xxs, 4px)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs, 2px)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}.kbq-option{background:var(--kbq-list-default-container-background, )}.kbq-option .kbq-option-text{color:var(--kbq-list-default-text-color, )}.kbq-option .kbq-option-action .kbq-icon{color:var(--kbq-list-default-icon-button-color, )}.kbq-option .kbq-option-caption{color:var(--kbq-list-default-caption-color, )}.kbq-option:hover:not(.kbq-disabled){background:var(--kbq-list-states-hover-container-background, )}.kbq-option:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-hover-text-color, )}.kbq-option:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon{color:var(--kbq-list-states-hover-icon-button-color, )}.kbq-option:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-hover-caption-color, )}.kbq-option.kbq-focused,.kbq-option.kbq-active{border-color:var(--kbq-list-states-focused-focus-outline-color, )}.kbq-option.kbq-selected{background:var(--kbq-list-states-selected-container-background, )}.kbq-option.kbq-selected .kbq-option-text{color:var(--kbq-list-states-selected-text-color, )}.kbq-option.kbq-selected .kbq-option-action .kbq-icon{color:var(--kbq-list-states-selected-icon-button-color, )}.kbq-option.kbq-selected .kbq-option-caption{color:var(--kbq-list-states-selected-caption-color, )}.kbq-option.kbq-selected:hover:not(.kbq-disabled){background:var(--kbq-list-states-selected-hover-container-background, )}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-selected-hover-text-color, )}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon{color:var(--kbq-list-states-selected-hover-icon-button-color, )}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-selected-hover-caption-color, )}.kbq-option.kbq-disabled{background:var(--kbq-list-states-disabled-container-background, )}.kbq-option.kbq-disabled .kbq-option-text{color:var(--kbq-list-states-disabled-text-color, )}.kbq-option.kbq-disabled .kbq-option-action .kbq-icon{color:var(--kbq-list-states-disabled-icon-button-color, )}.kbq-option.kbq-disabled .kbq-option-caption{color:var(--kbq-list-states-disabled-caption-color, )}.kbq-option{font-size:var(--kbq-list-font-text-font-size, 14px);font-weight:var(--kbq-list-font-text-font-weight, normal);line-height:var(--kbq-list-font-text-line-height, 20px);font-family:var(--kbq-list-font-text-font-family, Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-list-font-text-text-transform, );font-feature-settings:var(--kbq-list-font-text-font-feature-settings, \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\");letter-spacing:var(--kbq-list-font-text-letter-spacing, -.006em)}.kbq-list-option-caption{font-size:var(--kbq-list-font-caption-font-size, 12px);font-weight:var(--kbq-list-font-caption-font-weight, normal);line-height:var(--kbq-list-font-caption-line-height, 16px);font-family:var(--kbq-list-font-caption-font-family, Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-list-font-caption-text-transform, );font-feature-settings:var(--kbq-list-font-caption-font-feature-settings, \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\");letter-spacing:var(--kbq-list-font-caption-letter-spacing, normal)}\n", ".kbq-option{--kbq-size-3xs: 2px;--kbq-size-xxs: 4px;--kbq-size-xs: 6px;--kbq-size-s: 8px;--kbq-size-m: 12px;--kbq-list-size-container-padding-left: 12px;--kbq-list-size-container-padding-right: 12px;--kbq-list-size-container-padding-vertical: 6px;--kbq-list-size-container-content-gap-horizontal: 8px;--kbq-list-size-container-content-gap-vertical: 2px;--kbq-list-size-container-focus-outline-width: 2px;--kbq-list-size-text-padding-vertical: 0;--kbq-list-size-header-padding-top: 8px;--kbq-list-size-header-padding-bottom: 4px;--kbq-list-size-header-padding-horizontal: 12px;--kbq-list-size-subheading-padding-top: 12px;--kbq-list-size-subheading-padding-bottom: 4px;--kbq-list-size-subheading-padding-horizontal: 12px;--kbq-list-font-text-font-size: 14px;--kbq-list-font-text-line-height: 20px;--kbq-list-font-text-letter-spacing: -.006em;--kbq-list-font-text-font-weight: normal;--kbq-list-font-text-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-list-font-text-text-transform: null;--kbq-list-font-text-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\";--kbq-list-font-caption-font-size: 12px;--kbq-list-font-caption-line-height: 16px;--kbq-list-font-caption-letter-spacing: normal;--kbq-list-font-caption-font-weight: normal;--kbq-list-font-caption-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-list-font-caption-text-transform: null;--kbq-list-font-caption-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\";--kbq-list-font-header-font-size: 16px;--kbq-list-font-header-line-height: 24px;--kbq-list-font-header-letter-spacing: -.011em;--kbq-list-font-header-font-weight: 600;--kbq-list-font-header-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-list-font-header-text-transform: null;--kbq-list-font-header-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\";--kbq-list-font-subheading-font-size: 12px;--kbq-list-font-subheading-line-height: 16px;--kbq-list-font-subheading-letter-spacing: 1px;--kbq-list-font-subheading-font-weight: 500;--kbq-list-font-subheading-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-list-font-subheading-text-transform: uppercase;--kbq-list-font-subheading-font-feature-settings: \"calt\", \"case\", \"kern\", \"liga\", \"ss01\", \"ss04\";--kbq-option-size-horizontal-padding: 12px;--kbq-option-size-height: 32px;--kbq-option-size-border-width: 2px;--kbq-option-font-default-font-size: 16px;--kbq-option-font-default-line-height: 24px;--kbq-option-font-default-letter-spacing: -.011em;--kbq-option-font-default-font-weight: normal;--kbq-option-font-default-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-option-font-default-text-transform: null;--kbq-option-font-default-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\"}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: hsla(229, 15%, 15%, 100%);--kbq-list-default-icon-color: hsla(229, 15%, 15%, 100%);--kbq-list-default-icon-button-color: hsla(229, 15%, 60%, 100%);--kbq-list-default-caption-color: hsla(229, 15%, 50%, 100%);--kbq-list-states-hover-container-background: hsla(229, 15%, 50%, 8%);--kbq-list-states-hover-text-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-hover-icon-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-hover-icon-button-color: hsla(229, 15%, 60%, 100%);--kbq-list-states-selected-container-background: hsla(216, 100%, 94%, 100%);--kbq-list-states-selected-text-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-selected-icon-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-selected-icon-button-color: hsla(229, 15%, 60%, 100%);--kbq-list-states-selected-hover-container-background: hsla(216, 100%, 90%, 100%);--kbq-list-states-selected-hover-text-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-selected-hover-icon-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-selected-hover-icon-button-color: hsla(229, 15%, 60%, 100%);--kbq-list-states-focused-focus-outline-color: hsla(216, 100%, 60%, 100%);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: hsla(229, 15%, 15%, 32%);--kbq-list-states-disabled-icon-color: hsla(229, 15%, 15%, 32%);--kbq-list-states-disabled-icon-button-color: hsla(229, 15%, 15%, 32%);--kbq-list-states-disabled-caption-color: hsla(229, 15%, 15%, 32%)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: hsla(229, 15%, 80%, 100%);--kbq-list-default-icon-color: hsla(229, 15%, 80%, 100%);--kbq-list-default-icon-button-color: hsla(229, 15%, 45%, 100%);--kbq-list-default-caption-color: hsla(229, 15%, 60%, 100%);--kbq-list-states-hover-container-background: hsla(229, 15%, 50%, 16%);--kbq-list-states-hover-text-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-hover-icon-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-hover-icon-button-color: hsla(229, 15%, 45%, 100%);--kbq-list-states-selected-container-background: hsla(216, 100%, 18%, 100%);--kbq-list-states-selected-text-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-selected-icon-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-selected-icon-button-color: hsla(229, 15%, 45%, 100%);--kbq-list-states-selected-hover-container-background: hsla(216, 100%, 15%, 100%);--kbq-list-states-selected-hover-text-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-selected-hover-icon-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-selected-hover-icon-button-color: hsla(229, 15%, 45%, 100%);--kbq-list-states-focused-focus-outline-color: hsla(216, 100%, 60%, 100%);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: hsla(229, 15%, 40%, 100%);--kbq-list-states-disabled-icon-color: hsla(229, 15%, 30%, 100%);--kbq-list-states-disabled-icon-button-color: hsla(229, 15%, 30%, 100%);--kbq-list-states-disabled-caption-color: hsla(229, 15%, 40%, 100%)}\n"], dependencies: [{ kind: "component", type: KbqPseudoCheckbox, selector: "kbq-pseudo-checkbox", inputs: ["color", "big", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2040
2029
  }
2041
2030
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOption, decorators: [{
2042
2031
  type: Component,
@@ -2055,7 +2044,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
2055
2044
  provide: KBQ_TITLE_TEXT_REF,
2056
2045
  useExisting: KbqOption
2057
2046
  }
2058
- ], template: "<kbq-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [disabled]=\"disabled\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n/>\n\n<span\n #kbqTitleText\n class=\"kbq-option-text\"\n>\n <ng-content />\n</span>\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-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s, 8px);border:var(--kbq-size-3xs, 2px) solid transparent;padding-top:var(--kbq-size-xxs, 4px);padding-left:var(--kbq-size-m, 12px);padding-right:var(--kbq-size-m, 12px);padding-bottom:var(--kbq-size-xxs, 4px)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs, 2px)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}\n"] }]
2047
+ ], template: "@if (showCheckbox) {\n <kbq-pseudo-checkbox\n [disabled]=\"disabled\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n />\n}\n\n<span\n #kbqTitleText\n class=\"kbq-option-text\"\n>\n <ng-content />\n</span>\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-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s, 8px);border:var(--kbq-size-3xs, 2px) solid transparent;padding-top:var(--kbq-size-xxs, 4px);padding-left:var(--kbq-size-m, 12px);padding-right:var(--kbq-size-m, 12px);padding-bottom:var(--kbq-size-xxs, 4px)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs, 2px)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}.kbq-option{background:var(--kbq-list-default-container-background, )}.kbq-option .kbq-option-text{color:var(--kbq-list-default-text-color, )}.kbq-option .kbq-option-action .kbq-icon{color:var(--kbq-list-default-icon-button-color, )}.kbq-option .kbq-option-caption{color:var(--kbq-list-default-caption-color, )}.kbq-option:hover:not(.kbq-disabled){background:var(--kbq-list-states-hover-container-background, )}.kbq-option:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-hover-text-color, )}.kbq-option:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon{color:var(--kbq-list-states-hover-icon-button-color, )}.kbq-option:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-hover-caption-color, )}.kbq-option.kbq-focused,.kbq-option.kbq-active{border-color:var(--kbq-list-states-focused-focus-outline-color, )}.kbq-option.kbq-selected{background:var(--kbq-list-states-selected-container-background, )}.kbq-option.kbq-selected .kbq-option-text{color:var(--kbq-list-states-selected-text-color, )}.kbq-option.kbq-selected .kbq-option-action .kbq-icon{color:var(--kbq-list-states-selected-icon-button-color, )}.kbq-option.kbq-selected .kbq-option-caption{color:var(--kbq-list-states-selected-caption-color, )}.kbq-option.kbq-selected:hover:not(.kbq-disabled){background:var(--kbq-list-states-selected-hover-container-background, )}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-selected-hover-text-color, )}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon{color:var(--kbq-list-states-selected-hover-icon-button-color, )}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-selected-hover-caption-color, )}.kbq-option.kbq-disabled{background:var(--kbq-list-states-disabled-container-background, )}.kbq-option.kbq-disabled .kbq-option-text{color:var(--kbq-list-states-disabled-text-color, )}.kbq-option.kbq-disabled .kbq-option-action .kbq-icon{color:var(--kbq-list-states-disabled-icon-button-color, )}.kbq-option.kbq-disabled .kbq-option-caption{color:var(--kbq-list-states-disabled-caption-color, )}.kbq-option{font-size:var(--kbq-list-font-text-font-size, 14px);font-weight:var(--kbq-list-font-text-font-weight, normal);line-height:var(--kbq-list-font-text-line-height, 20px);font-family:var(--kbq-list-font-text-font-family, Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-list-font-text-text-transform, );font-feature-settings:var(--kbq-list-font-text-font-feature-settings, \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\");letter-spacing:var(--kbq-list-font-text-letter-spacing, -.006em)}.kbq-list-option-caption{font-size:var(--kbq-list-font-caption-font-size, 12px);font-weight:var(--kbq-list-font-caption-font-weight, normal);line-height:var(--kbq-list-font-caption-line-height, 16px);font-family:var(--kbq-list-font-caption-font-family, Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-list-font-caption-text-transform, );font-feature-settings:var(--kbq-list-font-caption-font-feature-settings, \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\");letter-spacing:var(--kbq-list-font-caption-letter-spacing, normal)}\n", ".kbq-option{--kbq-size-3xs: 2px;--kbq-size-xxs: 4px;--kbq-size-xs: 6px;--kbq-size-s: 8px;--kbq-size-m: 12px;--kbq-list-size-container-padding-left: 12px;--kbq-list-size-container-padding-right: 12px;--kbq-list-size-container-padding-vertical: 6px;--kbq-list-size-container-content-gap-horizontal: 8px;--kbq-list-size-container-content-gap-vertical: 2px;--kbq-list-size-container-focus-outline-width: 2px;--kbq-list-size-text-padding-vertical: 0;--kbq-list-size-header-padding-top: 8px;--kbq-list-size-header-padding-bottom: 4px;--kbq-list-size-header-padding-horizontal: 12px;--kbq-list-size-subheading-padding-top: 12px;--kbq-list-size-subheading-padding-bottom: 4px;--kbq-list-size-subheading-padding-horizontal: 12px;--kbq-list-font-text-font-size: 14px;--kbq-list-font-text-line-height: 20px;--kbq-list-font-text-letter-spacing: -.006em;--kbq-list-font-text-font-weight: normal;--kbq-list-font-text-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-list-font-text-text-transform: null;--kbq-list-font-text-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\";--kbq-list-font-caption-font-size: 12px;--kbq-list-font-caption-line-height: 16px;--kbq-list-font-caption-letter-spacing: normal;--kbq-list-font-caption-font-weight: normal;--kbq-list-font-caption-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-list-font-caption-text-transform: null;--kbq-list-font-caption-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\";--kbq-list-font-header-font-size: 16px;--kbq-list-font-header-line-height: 24px;--kbq-list-font-header-letter-spacing: -.011em;--kbq-list-font-header-font-weight: 600;--kbq-list-font-header-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-list-font-header-text-transform: null;--kbq-list-font-header-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\";--kbq-list-font-subheading-font-size: 12px;--kbq-list-font-subheading-line-height: 16px;--kbq-list-font-subheading-letter-spacing: 1px;--kbq-list-font-subheading-font-weight: 500;--kbq-list-font-subheading-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-list-font-subheading-text-transform: uppercase;--kbq-list-font-subheading-font-feature-settings: \"calt\", \"case\", \"kern\", \"liga\", \"ss01\", \"ss04\";--kbq-option-size-horizontal-padding: 12px;--kbq-option-size-height: 32px;--kbq-option-size-border-width: 2px;--kbq-option-font-default-font-size: 16px;--kbq-option-font-default-line-height: 24px;--kbq-option-font-default-letter-spacing: -.011em;--kbq-option-font-default-font-weight: normal;--kbq-option-font-default-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-option-font-default-text-transform: null;--kbq-option-font-default-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\"}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: hsla(229, 15%, 15%, 100%);--kbq-list-default-icon-color: hsla(229, 15%, 15%, 100%);--kbq-list-default-icon-button-color: hsla(229, 15%, 60%, 100%);--kbq-list-default-caption-color: hsla(229, 15%, 50%, 100%);--kbq-list-states-hover-container-background: hsla(229, 15%, 50%, 8%);--kbq-list-states-hover-text-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-hover-icon-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-hover-icon-button-color: hsla(229, 15%, 60%, 100%);--kbq-list-states-selected-container-background: hsla(216, 100%, 94%, 100%);--kbq-list-states-selected-text-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-selected-icon-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-selected-icon-button-color: hsla(229, 15%, 60%, 100%);--kbq-list-states-selected-hover-container-background: hsla(216, 100%, 90%, 100%);--kbq-list-states-selected-hover-text-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-selected-hover-icon-color: hsla(229, 15%, 15%, 100%);--kbq-list-states-selected-hover-icon-button-color: hsla(229, 15%, 60%, 100%);--kbq-list-states-focused-focus-outline-color: hsla(216, 100%, 60%, 100%);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: hsla(229, 15%, 15%, 32%);--kbq-list-states-disabled-icon-color: hsla(229, 15%, 15%, 32%);--kbq-list-states-disabled-icon-button-color: hsla(229, 15%, 15%, 32%);--kbq-list-states-disabled-caption-color: hsla(229, 15%, 15%, 32%)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: hsla(229, 15%, 80%, 100%);--kbq-list-default-icon-color: hsla(229, 15%, 80%, 100%);--kbq-list-default-icon-button-color: hsla(229, 15%, 45%, 100%);--kbq-list-default-caption-color: hsla(229, 15%, 60%, 100%);--kbq-list-states-hover-container-background: hsla(229, 15%, 50%, 16%);--kbq-list-states-hover-text-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-hover-icon-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-hover-icon-button-color: hsla(229, 15%, 45%, 100%);--kbq-list-states-selected-container-background: hsla(216, 100%, 18%, 100%);--kbq-list-states-selected-text-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-selected-icon-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-selected-icon-button-color: hsla(229, 15%, 45%, 100%);--kbq-list-states-selected-hover-container-background: hsla(216, 100%, 15%, 100%);--kbq-list-states-selected-hover-text-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-selected-hover-icon-color: hsla(229, 15%, 80%, 100%);--kbq-list-states-selected-hover-icon-button-color: hsla(229, 15%, 45%, 100%);--kbq-list-states-focused-focus-outline-color: hsla(216, 100%, 60%, 100%);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: hsla(229, 15%, 40%, 100%);--kbq-list-states-disabled-icon-color: hsla(229, 15%, 30%, 100%);--kbq-list-states-disabled-icon-button-color: hsla(229, 15%, 30%, 100%);--kbq-list-states-disabled-caption-color: hsla(229, 15%, 40%, 100%)}\n"] }]
2059
2048
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
2060
2049
  type: Optional
2061
2050
  }, {
@@ -2137,13 +2126,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
2137
2126
 
2138
2127
  class KbqOptionModule {
2139
2128
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2140
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionModule, declarations: [KbqOption, KbqOptgroup, KbqOptionActionComponent], imports: [CommonModule, KbqPseudoCheckboxModule], exports: [KbqOption, KbqOptgroup, KbqOptionActionComponent] }); }
2141
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionModule, imports: [CommonModule, KbqPseudoCheckboxModule] }); }
2129
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionModule, declarations: [KbqOption, KbqOptgroup, KbqOptionActionComponent], imports: [KbqPseudoCheckboxModule], exports: [KbqOption, KbqOptgroup, KbqOptionActionComponent] }); }
2130
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionModule, imports: [KbqPseudoCheckboxModule] }); }
2142
2131
  }
2143
2132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionModule, decorators: [{
2144
2133
  type: NgModule,
2145
2134
  args: [{
2146
- imports: [CommonModule, KbqPseudoCheckboxModule],
2135
+ imports: [KbqPseudoCheckboxModule],
2147
2136
  declarations: [KbqOption, KbqOptgroup, KbqOptionActionComponent],
2148
2137
  exports: [KbqOption, KbqOptgroup, KbqOptionActionComponent]
2149
2138
  }]
@@ -3182,7 +3171,7 @@ const KBQ_VALIDATION = new InjectionToken('KbqUseValidation', {
3182
3171
  factory: () => ({ useValidation: true })
3183
3172
  });
3184
3173
 
3185
- const VERSION = new Version('17.6.0+sha-9ca72f5');
3174
+ const VERSION = new Version('17.7.0+sha-cf18e83');
3186
3175
 
3187
3176
  /**
3188
3177
  * Generated bundle index. Do not edit.