@koobiq/components 18.20.0 → 18.22.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 (272) hide show
  1. package/badge/badge.component.d.ts +0 -1
  2. package/breadcrumbs/breadcrumbs-tokens.scss +1 -0
  3. package/breadcrumbs/breadcrumbs.d.ts +27 -19
  4. package/breadcrumbs/breadcrumbs.scss +81 -18
  5. package/breadcrumbs/breadcrumbs.types.d.ts +22 -0
  6. package/breadcrumbs/public-api.d.ts +1 -0
  7. package/button/button-tokens.scss +1 -1
  8. package/button/button.component.d.ts +11 -16
  9. package/button/button.scss +2 -15
  10. package/checkbox/checkbox-tokens.scss +2 -0
  11. package/checkbox/checkbox.d.ts +13 -18
  12. package/checkbox/checkbox.scss +4 -4
  13. package/core/common-behaviors/color.d.ts +11 -0
  14. package/core/common-behaviors/index.d.ts +1 -1
  15. package/core/formatters/date/formatter.d.ts +3 -2
  16. package/core/locales/locale-service.d.ts +5 -1
  17. package/core/option/action.d.ts +5 -7
  18. package/core/option/optgroup.d.ts +6 -7
  19. package/core/pop-up/pop-up-trigger.d.ts +2 -2
  20. package/core/pop-up/pop-up.d.ts +8 -2
  21. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -12
  22. package/core/styles/theming/scrollbar-tokens.scss +10 -4
  23. package/core/utils/utils.d.ts +3 -0
  24. package/dropdown/dropdown-item.component.d.ts +6 -8
  25. package/dropdown/dropdown.scss +20 -5
  26. package/empty-state/_empty-state-theme.scss +15 -5
  27. package/empty-state/empty-state-tokens.scss +12 -2
  28. package/empty-state/empty-state.component.d.ts +7 -2
  29. package/empty-state/empty-state.scss +29 -0
  30. package/esm2022/accordion/accordion-trigger.component.mjs +1 -1
  31. package/esm2022/actions-panel/actions-panel-container.mjs +2 -2
  32. package/esm2022/badge/badge.component.mjs +2 -5
  33. package/esm2022/breadcrumbs/breadcrumbs.mjs +68 -24
  34. package/esm2022/breadcrumbs/breadcrumbs.types.mjs +2 -0
  35. package/esm2022/breadcrumbs/public-api.mjs +2 -1
  36. package/esm2022/button/button.component.mjs +25 -29
  37. package/esm2022/button-toggle/button-toggle.component.mjs +4 -3
  38. package/esm2022/checkbox/checkbox.mjs +23 -24
  39. package/esm2022/code-block/code-block.mjs +2 -2
  40. package/esm2022/core/common-behaviors/color.mjs +35 -1
  41. package/esm2022/core/common-behaviors/disabled.mjs +2 -1
  42. package/esm2022/core/common-behaviors/error-state.mjs +2 -1
  43. package/esm2022/core/common-behaviors/index.mjs +2 -2
  44. package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
  45. package/esm2022/core/formatters/date/formatter.mjs +13 -4
  46. package/esm2022/core/locales/en-US.mjs +29 -29
  47. package/esm2022/core/locales/es-LA.mjs +29 -29
  48. package/esm2022/core/locales/fa-IR.mjs +29 -29
  49. package/esm2022/core/locales/locale-service.mjs +38 -3
  50. package/esm2022/core/locales/pt-BR.mjs +29 -29
  51. package/esm2022/core/locales/tk-TM.mjs +29 -29
  52. package/esm2022/core/locales/zh-CN.mjs +29 -29
  53. package/esm2022/core/option/action.mjs +17 -12
  54. package/esm2022/core/option/optgroup.mjs +18 -12
  55. package/esm2022/core/option/option.mjs +1 -1
  56. package/esm2022/core/pop-up/pop-up-trigger.mjs +8 -8
  57. package/esm2022/core/pop-up/pop-up.mjs +21 -5
  58. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +10 -19
  59. package/esm2022/core/utils/utils.mjs +7 -1
  60. package/esm2022/core/version.mjs +2 -2
  61. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  62. package/esm2022/datepicker/datepicker-toggle.component.mjs +1 -1
  63. package/esm2022/dropdown/dropdown-item.component.mjs +19 -14
  64. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  65. package/esm2022/empty-state/empty-state.component.mjs +13 -8
  66. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  67. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  68. package/esm2022/filter-bar/filter-bar.mjs +3 -3
  69. package/esm2022/filter-bar/filter-refresher.mjs +2 -2
  70. package/esm2022/filter-bar/filter-reset.mjs +1 -1
  71. package/esm2022/filter-bar/filter-search.mjs +2 -2
  72. package/esm2022/filter-bar/filters.mjs +2 -2
  73. package/esm2022/filter-bar/pipe-add.mjs +2 -2
  74. package/esm2022/filter-bar/pipes/pipe-button.mjs +2 -2
  75. package/esm2022/filter-bar/pipes/pipe-date.mjs +37 -22
  76. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +38 -23
  77. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +2 -2
  78. package/esm2022/filter-bar/pipes/pipe-select.mjs +2 -2
  79. package/esm2022/filter-bar/pipes/pipe-text.mjs +4 -4
  80. package/esm2022/form-field/cleaner.mjs +1 -1
  81. package/esm2022/form-field/form-field.mjs +13 -22
  82. package/esm2022/form-field/hint.mjs +10 -18
  83. package/esm2022/form-field/password-hint.mjs +7 -7
  84. package/esm2022/form-field/password-toggle.mjs +1 -1
  85. package/esm2022/form-field/stepper.mjs +1 -1
  86. package/esm2022/form-field/validate.directive.mjs +19 -9
  87. package/esm2022/icon/icon-button.component.mjs +13 -21
  88. package/esm2022/icon/icon-item.component.mjs +8 -15
  89. package/esm2022/icon/icon.component.mjs +15 -27
  90. package/esm2022/input/input-number.mjs +2 -2
  91. package/esm2022/input/input-password.mjs +20 -5
  92. package/esm2022/input/input.mjs +21 -22
  93. package/esm2022/link/link.component.mjs +46 -14
  94. package/esm2022/list/list-selection.component.mjs +19 -15
  95. package/esm2022/loader-overlay/loader-overlay.component.mjs +14 -9
  96. package/esm2022/modal/modal.component.mjs +1 -1
  97. package/esm2022/modal/modal.directive.mjs +1 -1
  98. package/esm2022/navbar/navbar-item.component.mjs +8 -11
  99. package/esm2022/overflow-items/overflow-items.mjs +24 -3
  100. package/esm2022/popover/popover-confirm.component.mjs +2 -2
  101. package/esm2022/popover/popover.component.mjs +5 -4
  102. package/esm2022/progress-bar/progress-bar.component.mjs +14 -21
  103. package/esm2022/progress-spinner/progress-spinner.component.mjs +18 -25
  104. package/esm2022/radio/radio.component.mjs +25 -35
  105. package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
  106. package/esm2022/select/select.component.mjs +56 -37
  107. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  108. package/esm2022/sidepanel/sidepanel-directives.mjs +17 -6
  109. package/esm2022/tabs/paginated-tab-header.mjs +7 -4
  110. package/esm2022/tabs/tab-group.component.mjs +23 -19
  111. package/esm2022/tabs/tab-header.component.mjs +3 -3
  112. package/esm2022/tabs/tab-label-wrapper.directive.mjs +16 -13
  113. package/esm2022/tabs/tab-nav-bar.mjs +2 -2
  114. package/esm2022/tabs/tab.component.mjs +17 -12
  115. package/esm2022/tags/tag-list.component.mjs +27 -22
  116. package/esm2022/tags/tag.component.mjs +7 -14
  117. package/esm2022/textarea/textarea.component.mjs +53 -28
  118. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  119. package/esm2022/toast/toast.component.mjs +2 -2
  120. package/esm2022/toggle/toggle.component.mjs +20 -19
  121. package/esm2022/top-bar/top-bar.mjs +2 -2
  122. package/esm2022/tree/toggle.mjs +19 -14
  123. package/esm2022/tree/tree-option.component.mjs +1 -1
  124. package/esm2022/tree/tree-selection.component.mjs +1 -1
  125. package/esm2022/tree-select/tree-select.component.mjs +58 -38
  126. package/fesm2022/koobiq-components-accordion.mjs +1 -1
  127. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-actions-panel.mjs +1 -1
  129. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-badge.mjs +2 -5
  131. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-breadcrumbs.mjs +68 -24
  133. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-button-toggle.mjs +3 -3
  135. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-button.mjs +25 -29
  137. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-checkbox.mjs +23 -24
  139. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-code-block.mjs +1 -1
  141. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-core.mjs +1246 -1143
  143. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-datepicker.mjs +2 -2
  145. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-dropdown.mjs +20 -15
  147. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-empty-state.mjs +12 -7
  149. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-file-upload.mjs +2 -2
  151. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-filter-bar.mjs +86 -56
  153. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  154. package/fesm2022/koobiq-components-form-field.mjs +41 -49
  155. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-icon.mjs +33 -57
  157. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-input.mjs +41 -26
  159. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-link.mjs +46 -14
  161. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-list.mjs +19 -15
  163. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-loader-overlay.mjs +13 -8
  165. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-modal.mjs +2 -2
  167. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-navbar.mjs +7 -10
  169. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  170. package/fesm2022/koobiq-components-overflow-items.mjs +24 -3
  171. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-popover.mjs +5 -4
  173. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-progress-bar.mjs +13 -20
  175. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-progress-spinner.mjs +17 -24
  177. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-radio.mjs +25 -35
  179. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
  181. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-select.mjs +56 -37
  183. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-sidepanel.mjs +18 -7
  185. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-tabs.mjs +60 -44
  187. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-tags.mjs +32 -34
  189. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-textarea.mjs +53 -28
  191. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  193. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-toast.mjs +1 -1
  195. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-toggle.mjs +20 -19
  197. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-top-bar.mjs +2 -2
  199. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-tree-select.mjs +57 -37
  201. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-tree.mjs +21 -15
  203. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  204. package/file-upload/multiple-file-upload.component.d.ts +2 -2
  205. package/file-upload/single-file-upload.component.d.ts +2 -2
  206. package/filter-bar/filter-bar.scss +1 -0
  207. package/filter-bar/pipes/pipe-date.d.ts +3 -1
  208. package/filter-bar/pipes/pipe-date.scss +7 -0
  209. package/filter-bar/pipes/pipe-datetime.d.ts +3 -1
  210. package/form-field/_form-field-theme.scss +7 -3
  211. package/form-field/form-field.d.ts +4 -12
  212. package/form-field/hint.d.ts +3 -12
  213. package/form-field/password-hint.d.ts +3 -3
  214. package/form-field/validate.directive.d.ts +4 -2
  215. package/icon/icon-button.component.d.ts +5 -8
  216. package/icon/icon-item.component.d.ts +3 -7
  217. package/icon/icon.component.d.ts +7 -14
  218. package/input/input-password.d.ts +8 -2
  219. package/input/input.d.ts +9 -18
  220. package/link/_link-theme.scss +23 -24
  221. package/link/link.component.d.ts +13 -9
  222. package/list/list-selection.component.d.ts +8 -10
  223. package/loader-overlay/_loader-overlay-theme.scss +18 -8
  224. package/loader-overlay/loader-overlay-tokens.scss +6 -3
  225. package/loader-overlay/loader-overlay.component.d.ts +7 -2
  226. package/loader-overlay/loader-overlay.scss +19 -5
  227. package/navbar/navbar-item.component.d.ts +1 -2
  228. package/overflow-items/overflow-items.d.ts +17 -1
  229. package/package.json +5 -5
  230. package/prebuilt-themes/dark-theme.css +1 -1
  231. package/prebuilt-themes/light-theme.css +1 -1
  232. package/prebuilt-themes/theme.css +1 -1
  233. package/progress-bar/progress-bar.component.d.ts +4 -12
  234. package/progress-spinner/progress-spinner.component.d.ts +4 -12
  235. package/progress-spinner/progress-spinner.scss +10 -4
  236. package/radio/radio.component.d.ts +11 -25
  237. package/schematics/collection.json +10 -0
  238. package/schematics/migrations/css-selectors/README.md +19 -0
  239. package/schematics/migrations/deprecated-icons/README.md +21 -0
  240. package/schematics/migrations/empty-state-size-attr/README.md +62 -0
  241. package/schematics/migrations/empty-state-size-attr/index.js +74 -0
  242. package/schematics/migrations/empty-state-size-attr/schema.json +15 -0
  243. package/schematics/migrations/loader-overlay-size-attr/README.md +62 -0
  244. package/schematics/migrations/loader-overlay-size-attr/index.js +74 -0
  245. package/schematics/migrations/loader-overlay-size-attr/schema.json +15 -0
  246. package/schematics/migrations/new-icons-pack/README.md +21 -0
  247. package/schematics/ng-add/index.js +3 -3
  248. package/schematics/utils/angular-parsing.js +153 -0
  249. package/schematics/utils/ast.js +28 -0
  250. package/schematics/utils/package-config.js +46 -0
  251. package/schematics/utils/typescript.js +171 -0
  252. package/scrollbar/scrollbar-tokens.scss +10 -4
  253. package/select/_select-theme.scss +4 -1
  254. package/select/select.component.d.ts +26 -25
  255. package/sidepanel/sidepanel-directives.d.ts +6 -1
  256. package/sidepanel/sidepanel.scss +9 -3
  257. package/tabs/paginated-tab-header.d.ts +2 -1
  258. package/tabs/tab-group.component.d.ts +11 -13
  259. package/tabs/tab-header.component.d.ts +1 -1
  260. package/tabs/tab-label-wrapper.directive.d.ts +6 -8
  261. package/tabs/tab.component.d.ts +7 -8
  262. package/tags/tag-list.component.d.ts +15 -18
  263. package/tags/tag.component.d.ts +3 -10
  264. package/textarea/textarea.component.d.ts +24 -20
  265. package/textarea/textarea.scss +4 -0
  266. package/toggle/toggle.component.d.ts +8 -12
  267. package/top-bar/top-bar-tokens.scss +2 -2
  268. package/top-bar/top-bar.scss +1 -1
  269. package/tree/toggle.d.ts +7 -9
  270. package/tree/tree-selection.component.d.ts +2 -2
  271. package/tree-select/_tree-select-theme.scss +4 -1
  272. package/tree-select/tree-select.component.d.ts +24 -26
@@ -198,7 +198,7 @@ class KbqScrollbar {
198
198
  >
199
199
  <ng-content />
200
200
  </div>
201
- `, isInline: true, styles: [".kbq-scrollbar-component .os-scrollbar-vertical{padding:var(--kbq-scrollbar-size-track-padding-vertical) var(--kbq-scrollbar-size-track-padding-horizontal);bottom:var(--kbq-scrollbar-size-track-dimension);width:var(--kbq-scrollbar-size-track-dimension)}.kbq-scrollbar-component .os-scrollbar-vertical .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,width .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal) solid;width:100%;min-height:var(--kbq-scrollbar-size-thumb-min-size)}.kbq-scrollbar-component .os-scrollbar-vertical:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-vertical:active .os-scrollbar-handle{width:100%}.kbq-scrollbar-component .os-scrollbar-horizontal{padding:var(--kbq-scrollbar-size-track-padding-horizontal) var(--kbq-scrollbar-size-track-padding-vertical);right:var(--kbq-scrollbar-size-track-dimension);height:var(--kbq-scrollbar-size-track-dimension)}.kbq-scrollbar-component .os-scrollbar-horizontal .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,height .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal) solid;height:100%;min-width:var(--kbq-scrollbar-size-thumb-min-size)}.kbq-scrollbar-component .os-scrollbar-horizontal:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-horizontal:active .os-scrollbar-handle{height:100%}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{box-sizing:border-box;border-radius:var(--kbq-scrollbar-size-thumb-border-radius)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{border-width:calc((var(--kbq-scrollbar-size-track-dimension) - var(--kbq-scrollbar-size-thumb-width)) / 4)!important;transition:opacity .15s,background-color .15s,border-color .15s}[data-overlayscrollbars-contents]:focus-visible{outline:none}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before{border-color:var(--kbq-scrollbar-thumb-default-background);background-color:var(--kbq-scrollbar-thumb-default-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:hover:before{border-color:var(--kbq-scrollbar-thumb-hover-background);background-color:var(--kbq-scrollbar-thumb-hover-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:active:before{border-color:var(--kbq-scrollbar-thumb-active-background);background-color:var(--kbq-scrollbar-thumb-active-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle{border-style:solid;border-color:var(--kbq-scrollbar-track-default-border)!important;background-color:var(--kbq-scrollbar-track-default-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track:hover,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:hover{border-color:var(--kbq-scrollbar-track-hover-border);background:var(--kbq-scrollbar-track-hover-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track:active,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:active{border-color:var(--kbq-scrollbar-track-active-border);background:var(--kbq-scrollbar-track-active-background)}.os-size-observer,.os-size-observer-listener{scroll-behavior:auto!important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;inset:0;transform:scale(.1)}.os-size-observer:before{content:\"\";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(10)}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty:before{content:\"\";width:100%;height:100%}.os-size-observer-listener:empty:before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{0%{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}.os-environment{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}.os-environment div{width:200%;height:200%;margin:10px 0}.os-environment.os-environment-flexbox-glue{display:flex;flex-direction:row;flex-wrap:nowrap;height:auto;width:auto;min-height:200px;min-width:200px}.os-environment.os-environment-flexbox-glue div{flex:auto;width:auto;height:auto;max-height:100%;max-width:100%;margin:0}.os-environment.os-environment-flexbox-glue-max{max-height:200px}.os-environment.os-environment-flexbox-glue-max div{overflow:visible}.os-environment.os-environment-flexbox-glue-max div:before{content:\"\";display:block;height:999px;width:999px}.os-environment,[data-overlayscrollbars-viewport]{-ms-overflow-style:scrollbar!important}[data-overlayscrollbars-initialize],[data-overlayscrollbars~=scrollbarHidden],[data-overlayscrollbars-viewport~=scrollbarHidden],.os-environment-scrollbar-hidden{scrollbar-width:none!important}[data-overlayscrollbars-initialize]::-webkit-scrollbar,[data-overlayscrollbars-initialize]::-webkit-scrollbar-corner,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,.os-environment-scrollbar-hidden::-webkit-scrollbar,.os-environment-scrollbar-hidden::-webkit-scrollbar-corner{-webkit-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}html[data-overlayscrollbars]{box-sizing:border-box;margin:0}html[data-overlayscrollbars~=body],html[data-overlayscrollbars~=body]>body{width:100%;height:100%}html[data-overlayscrollbars~=viewport]>body{overflow:visible}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch!important;flex-direction:row!important;flex-wrap:nowrap!important}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before{content:\"\";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:0;height:0}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]{box-sizing:inherit;position:relative;flex:auto!important;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0;overflow:hidden}[data-overlayscrollbars~=host],[data-overlayscrollbars~=viewport]{position:relative;overflow:hidden}[data-overlayscrollbars~=overflowVisible],[data-overlayscrollbars-padding~=overflowVisible],[data-overlayscrollbars-viewport~=overflowVisible]{overflow:visible}[data-overlayscrollbars-overflow-x=hidden]{overflow-x:hidden;overflow-y:hidden}[data-overlayscrollbars-overflow-x=scroll]{overflow-x:scroll}[data-overlayscrollbars-overflow-y=scroll]{overflow-y:scroll}[data-overlayscrollbars~=scrollbarPressed],[data-overlayscrollbars~=scrollbarPressed] [data-overlayscrollbars-viewport]{scroll-behavior:auto!important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto!important;width:auto!important}.os-scrollbar{box-sizing:border-box;contain:size layout;contain:size layout style;transition:opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none}.os-scrollbar-track{position:relative;direction:ltr!important;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none!important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important;transition:none!important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0}.os-scrollbar-vertical .os-scrollbar-handle{right:0}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}.os-scrollbar .os-scrollbar-handle:before{content:\"\";position:absolute;inset:0;display:block}[data-overlayscrollbars~=updating]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none!important}\n", ".kbq-scrollbar-component{--kbq-scrollbar-size-track-dimension: var(--kbq-size-l);--kbq-scrollbar-size-track-padding-vertical: var(--kbq-size-3xs);--kbq-scrollbar-size-track-padding-horizontal: var(--kbq-size-3xs);--kbq-scrollbar-size-thumb-width: var(--kbq-size-s);--kbq-scrollbar-size-thumb-min-size: var(--kbq-size-xl);--kbq-scrollbar-size-thumb-border-radius: var(--kbq-size-s);--kbq-scrollbar-thumb-default-background: var(--kbq-icon-contrast-fade);--kbq-scrollbar-thumb-hover-background: var(--kbq-states-icon-contrast-fade-hover);--kbq-scrollbar-thumb-active-background: var(--kbq-states-icon-contrast-fade-active);--kbq-scrollbar-thumb-disabled-background: var(--kbq-states-icon-disabled);--kbq-scrollbar-track-default-border: transparent;--kbq-scrollbar-track-default-background: transparent;--kbq-scrollbar-track-hover-border: transparent;--kbq-scrollbar-track-hover-background: transparent;--kbq-scrollbar-track-active-border: transparent;--kbq-scrollbar-track-active-background: transparent}\n"], dependencies: [{ kind: "directive", type: KbqScrollbarDirective, selector: "[kbqScrollbar]", inputs: ["options", "events", "defer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
201
+ `, isInline: true, styles: [".kbq-scrollbar-component .os-scrollbar-vertical{padding:var(--kbq-scrollbar-size-track-padding-vertical) var(--kbq-scrollbar-size-track-padding-horizontal);bottom:var(--kbq-scrollbar-size-track-dimension);width:var(--kbq-scrollbar-size-track-dimension)}.kbq-scrollbar-component .os-scrollbar-vertical .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,width .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal) solid;width:100%;min-height:var(--kbq-scrollbar-size-thumb-min-size)}.kbq-scrollbar-component .os-scrollbar-vertical:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-vertical:active .os-scrollbar-handle{width:100%}.kbq-scrollbar-component .os-scrollbar-horizontal{padding:var(--kbq-scrollbar-size-track-padding-horizontal) var(--kbq-scrollbar-size-track-padding-vertical);right:var(--kbq-scrollbar-size-track-dimension);height:var(--kbq-scrollbar-size-track-dimension)}.kbq-scrollbar-component .os-scrollbar-horizontal .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,height .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal) solid;height:100%;min-width:var(--kbq-scrollbar-size-thumb-min-size)}.kbq-scrollbar-component .os-scrollbar-horizontal:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-horizontal:active .os-scrollbar-handle{height:100%}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{box-sizing:border-box;border-radius:var(--kbq-scrollbar-size-thumb-border-radius)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{border-width:calc((var(--kbq-scrollbar-size-track-dimension) - var(--kbq-scrollbar-size-thumb-width)) / 4)!important;transition:opacity .15s,background-color .15s,border-color .15s}[data-overlayscrollbars-contents]:focus-visible{outline:none}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before{border-color:var(--kbq-scrollbar-thumb-default-background);background-color:var(--kbq-scrollbar-thumb-default-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:hover:before{border-color:var(--kbq-scrollbar-thumb-hover-background);background-color:var(--kbq-scrollbar-thumb-hover-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:active:before{border-color:var(--kbq-scrollbar-thumb-active-background);background-color:var(--kbq-scrollbar-thumb-active-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle{border-style:solid;border-color:var(--kbq-scrollbar-track-default-border)!important;background-color:var(--kbq-scrollbar-track-default-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track:hover,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:hover{border-color:var(--kbq-scrollbar-track-hover-border);background:var(--kbq-scrollbar-track-hover-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track:active,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:active{border-color:var(--kbq-scrollbar-track-active-border);background:var(--kbq-scrollbar-track-active-background)}.os-size-observer,.os-size-observer-listener{scroll-behavior:auto!important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;inset:0;transform:scale(.1)}.os-size-observer:before{content:\"\";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(10)}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty:before{content:\"\";width:100%;height:100%}.os-size-observer-listener:empty:before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{0%{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}.os-environment{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}.os-environment div{width:200%;height:200%;margin:10px 0}.os-environment.os-environment-flexbox-glue{display:flex;flex-direction:row;flex-wrap:nowrap;height:auto;width:auto;min-height:200px;min-width:200px}.os-environment.os-environment-flexbox-glue div{flex:auto;width:auto;height:auto;max-height:100%;max-width:100%;margin:0}.os-environment.os-environment-flexbox-glue-max{max-height:200px}.os-environment.os-environment-flexbox-glue-max div{overflow:visible}.os-environment.os-environment-flexbox-glue-max div:before{content:\"\";display:block;height:999px;width:999px}.os-environment,[data-overlayscrollbars-viewport]{-ms-overflow-style:scrollbar!important}[data-overlayscrollbars-initialize],[data-overlayscrollbars~=scrollbarHidden],[data-overlayscrollbars-viewport~=scrollbarHidden],.os-environment-scrollbar-hidden{scrollbar-width:none!important}[data-overlayscrollbars-initialize]::-webkit-scrollbar,[data-overlayscrollbars-initialize]::-webkit-scrollbar-corner,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,.os-environment-scrollbar-hidden::-webkit-scrollbar,.os-environment-scrollbar-hidden::-webkit-scrollbar-corner{-webkit-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}html[data-overlayscrollbars]{box-sizing:border-box;margin:0}html[data-overlayscrollbars~=body],html[data-overlayscrollbars~=body]>body{width:100%;height:100%}html[data-overlayscrollbars~=viewport]>body{overflow:visible}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch!important;flex-direction:row!important;flex-wrap:nowrap!important}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before{content:\"\";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:0;height:0}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]{box-sizing:inherit;position:relative;flex:auto!important;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0;overflow:hidden}[data-overlayscrollbars~=host],[data-overlayscrollbars~=viewport]{position:relative;overflow:hidden}[data-overlayscrollbars~=overflowVisible],[data-overlayscrollbars-padding~=overflowVisible],[data-overlayscrollbars-viewport~=overflowVisible]{overflow:visible}[data-overlayscrollbars-overflow-x=hidden]{overflow-x:hidden;overflow-y:hidden}[data-overlayscrollbars-overflow-x=scroll]{overflow-x:scroll}[data-overlayscrollbars-overflow-y=scroll]{overflow-y:scroll}[data-overlayscrollbars~=scrollbarPressed],[data-overlayscrollbars~=scrollbarPressed] [data-overlayscrollbars-viewport]{scroll-behavior:auto!important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto!important;width:auto!important}.os-scrollbar{box-sizing:border-box;contain:size layout;contain:size layout style;transition:opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none}.os-scrollbar-track{position:relative;direction:ltr!important;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none!important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important;transition:none!important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0}.os-scrollbar-vertical .os-scrollbar-handle{right:0}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}.os-scrollbar .os-scrollbar-handle:before{content:\"\";position:absolute;inset:0;display:block}[data-overlayscrollbars~=updating]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none!important}\n", ":where(.kbq-scrollbar-component){--kbq-scrollbar-size-track-dimension: var(--kbq-size-l);--kbq-scrollbar-size-track-padding-vertical: var(--kbq-size-3xs);--kbq-scrollbar-size-track-padding-horizontal: var(--kbq-size-3xs);--kbq-scrollbar-size-thumb-width: var(--kbq-size-s);--kbq-scrollbar-size-thumb-min-size: var(--kbq-size-xl);--kbq-scrollbar-size-thumb-border-radius: var(--kbq-size-s);--kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a32);--kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a48);--kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-20-a55);--kbq-scrollbar-thumb-disabled-background: var(--kbq-states-icon-disabled);--kbq-scrollbar-track-default-border: transparent;--kbq-scrollbar-track-default-background: transparent;--kbq-scrollbar-track-hover-border: transparent;--kbq-scrollbar-track-hover-background: transparent;--kbq-scrollbar-track-active-border: transparent;--kbq-scrollbar-track-active-background: transparent}:where(.kbq-dark .kbq-scrollbar-component){--kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a48);--kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a60);--kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-50-a80)}\n"], dependencies: [{ kind: "directive", type: KbqScrollbarDirective, selector: "[kbqScrollbar]", inputs: ["options", "events", "defer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
202
202
  }
203
203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqScrollbar, decorators: [{
204
204
  type: Component,
@@ -216,7 +216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
216
216
  >
217
217
  <ng-content />
218
218
  </div>
219
- `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-scrollbar-component .os-scrollbar-vertical{padding:var(--kbq-scrollbar-size-track-padding-vertical) var(--kbq-scrollbar-size-track-padding-horizontal);bottom:var(--kbq-scrollbar-size-track-dimension);width:var(--kbq-scrollbar-size-track-dimension)}.kbq-scrollbar-component .os-scrollbar-vertical .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,width .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal) solid;width:100%;min-height:var(--kbq-scrollbar-size-thumb-min-size)}.kbq-scrollbar-component .os-scrollbar-vertical:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-vertical:active .os-scrollbar-handle{width:100%}.kbq-scrollbar-component .os-scrollbar-horizontal{padding:var(--kbq-scrollbar-size-track-padding-horizontal) var(--kbq-scrollbar-size-track-padding-vertical);right:var(--kbq-scrollbar-size-track-dimension);height:var(--kbq-scrollbar-size-track-dimension)}.kbq-scrollbar-component .os-scrollbar-horizontal .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,height .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal) solid;height:100%;min-width:var(--kbq-scrollbar-size-thumb-min-size)}.kbq-scrollbar-component .os-scrollbar-horizontal:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-horizontal:active .os-scrollbar-handle{height:100%}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{box-sizing:border-box;border-radius:var(--kbq-scrollbar-size-thumb-border-radius)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{border-width:calc((var(--kbq-scrollbar-size-track-dimension) - var(--kbq-scrollbar-size-thumb-width)) / 4)!important;transition:opacity .15s,background-color .15s,border-color .15s}[data-overlayscrollbars-contents]:focus-visible{outline:none}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before{border-color:var(--kbq-scrollbar-thumb-default-background);background-color:var(--kbq-scrollbar-thumb-default-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:hover:before{border-color:var(--kbq-scrollbar-thumb-hover-background);background-color:var(--kbq-scrollbar-thumb-hover-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:active:before{border-color:var(--kbq-scrollbar-thumb-active-background);background-color:var(--kbq-scrollbar-thumb-active-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle{border-style:solid;border-color:var(--kbq-scrollbar-track-default-border)!important;background-color:var(--kbq-scrollbar-track-default-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track:hover,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:hover{border-color:var(--kbq-scrollbar-track-hover-border);background:var(--kbq-scrollbar-track-hover-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track:active,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:active{border-color:var(--kbq-scrollbar-track-active-border);background:var(--kbq-scrollbar-track-active-background)}.os-size-observer,.os-size-observer-listener{scroll-behavior:auto!important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;inset:0;transform:scale(.1)}.os-size-observer:before{content:\"\";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(10)}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty:before{content:\"\";width:100%;height:100%}.os-size-observer-listener:empty:before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{0%{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}.os-environment{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}.os-environment div{width:200%;height:200%;margin:10px 0}.os-environment.os-environment-flexbox-glue{display:flex;flex-direction:row;flex-wrap:nowrap;height:auto;width:auto;min-height:200px;min-width:200px}.os-environment.os-environment-flexbox-glue div{flex:auto;width:auto;height:auto;max-height:100%;max-width:100%;margin:0}.os-environment.os-environment-flexbox-glue-max{max-height:200px}.os-environment.os-environment-flexbox-glue-max div{overflow:visible}.os-environment.os-environment-flexbox-glue-max div:before{content:\"\";display:block;height:999px;width:999px}.os-environment,[data-overlayscrollbars-viewport]{-ms-overflow-style:scrollbar!important}[data-overlayscrollbars-initialize],[data-overlayscrollbars~=scrollbarHidden],[data-overlayscrollbars-viewport~=scrollbarHidden],.os-environment-scrollbar-hidden{scrollbar-width:none!important}[data-overlayscrollbars-initialize]::-webkit-scrollbar,[data-overlayscrollbars-initialize]::-webkit-scrollbar-corner,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,.os-environment-scrollbar-hidden::-webkit-scrollbar,.os-environment-scrollbar-hidden::-webkit-scrollbar-corner{-webkit-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}html[data-overlayscrollbars]{box-sizing:border-box;margin:0}html[data-overlayscrollbars~=body],html[data-overlayscrollbars~=body]>body{width:100%;height:100%}html[data-overlayscrollbars~=viewport]>body{overflow:visible}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch!important;flex-direction:row!important;flex-wrap:nowrap!important}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before{content:\"\";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:0;height:0}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]{box-sizing:inherit;position:relative;flex:auto!important;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0;overflow:hidden}[data-overlayscrollbars~=host],[data-overlayscrollbars~=viewport]{position:relative;overflow:hidden}[data-overlayscrollbars~=overflowVisible],[data-overlayscrollbars-padding~=overflowVisible],[data-overlayscrollbars-viewport~=overflowVisible]{overflow:visible}[data-overlayscrollbars-overflow-x=hidden]{overflow-x:hidden;overflow-y:hidden}[data-overlayscrollbars-overflow-x=scroll]{overflow-x:scroll}[data-overlayscrollbars-overflow-y=scroll]{overflow-y:scroll}[data-overlayscrollbars~=scrollbarPressed],[data-overlayscrollbars~=scrollbarPressed] [data-overlayscrollbars-viewport]{scroll-behavior:auto!important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto!important;width:auto!important}.os-scrollbar{box-sizing:border-box;contain:size layout;contain:size layout style;transition:opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none}.os-scrollbar-track{position:relative;direction:ltr!important;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none!important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important;transition:none!important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0}.os-scrollbar-vertical .os-scrollbar-handle{right:0}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}.os-scrollbar .os-scrollbar-handle:before{content:\"\";position:absolute;inset:0;display:block}[data-overlayscrollbars~=updating]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none!important}\n", ".kbq-scrollbar-component{--kbq-scrollbar-size-track-dimension: var(--kbq-size-l);--kbq-scrollbar-size-track-padding-vertical: var(--kbq-size-3xs);--kbq-scrollbar-size-track-padding-horizontal: var(--kbq-size-3xs);--kbq-scrollbar-size-thumb-width: var(--kbq-size-s);--kbq-scrollbar-size-thumb-min-size: var(--kbq-size-xl);--kbq-scrollbar-size-thumb-border-radius: var(--kbq-size-s);--kbq-scrollbar-thumb-default-background: var(--kbq-icon-contrast-fade);--kbq-scrollbar-thumb-hover-background: var(--kbq-states-icon-contrast-fade-hover);--kbq-scrollbar-thumb-active-background: var(--kbq-states-icon-contrast-fade-active);--kbq-scrollbar-thumb-disabled-background: var(--kbq-states-icon-disabled);--kbq-scrollbar-track-default-border: transparent;--kbq-scrollbar-track-default-background: transparent;--kbq-scrollbar-track-hover-border: transparent;--kbq-scrollbar-track-hover-background: transparent;--kbq-scrollbar-track-active-border: transparent;--kbq-scrollbar-track-active-background: transparent}\n"] }]
219
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-scrollbar-component .os-scrollbar-vertical{padding:var(--kbq-scrollbar-size-track-padding-vertical) var(--kbq-scrollbar-size-track-padding-horizontal);bottom:var(--kbq-scrollbar-size-track-dimension);width:var(--kbq-scrollbar-size-track-dimension)}.kbq-scrollbar-component .os-scrollbar-vertical .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,width .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal) solid;width:100%;min-height:var(--kbq-scrollbar-size-thumb-min-size)}.kbq-scrollbar-component .os-scrollbar-vertical:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-vertical:active .os-scrollbar-handle{width:100%}.kbq-scrollbar-component .os-scrollbar-horizontal{padding:var(--kbq-scrollbar-size-track-padding-horizontal) var(--kbq-scrollbar-size-track-padding-vertical);right:var(--kbq-scrollbar-size-track-dimension);height:var(--kbq-scrollbar-size-track-dimension)}.kbq-scrollbar-component .os-scrollbar-horizontal .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,height .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal) solid;height:100%;min-width:var(--kbq-scrollbar-size-thumb-min-size)}.kbq-scrollbar-component .os-scrollbar-horizontal:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-horizontal:active .os-scrollbar-handle{height:100%}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{box-sizing:border-box;border-radius:var(--kbq-scrollbar-size-thumb-border-radius)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{border-width:calc((var(--kbq-scrollbar-size-track-dimension) - var(--kbq-scrollbar-size-thumb-width)) / 4)!important;transition:opacity .15s,background-color .15s,border-color .15s}[data-overlayscrollbars-contents]:focus-visible{outline:none}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before{border-color:var(--kbq-scrollbar-thumb-default-background);background-color:var(--kbq-scrollbar-thumb-default-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:hover:before{border-color:var(--kbq-scrollbar-thumb-hover-background);background-color:var(--kbq-scrollbar-thumb-hover-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:active:before{border-color:var(--kbq-scrollbar-thumb-active-background);background-color:var(--kbq-scrollbar-thumb-active-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle{border-style:solid;border-color:var(--kbq-scrollbar-track-default-border)!important;background-color:var(--kbq-scrollbar-track-default-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track:hover,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:hover{border-color:var(--kbq-scrollbar-track-hover-border);background:var(--kbq-scrollbar-track-hover-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track:active,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:active{border-color:var(--kbq-scrollbar-track-active-border);background:var(--kbq-scrollbar-track-active-background)}.os-size-observer,.os-size-observer-listener{scroll-behavior:auto!important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;inset:0;transform:scale(.1)}.os-size-observer:before{content:\"\";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(10)}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty:before{content:\"\";width:100%;height:100%}.os-size-observer-listener:empty:before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{0%{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}.os-environment{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}.os-environment div{width:200%;height:200%;margin:10px 0}.os-environment.os-environment-flexbox-glue{display:flex;flex-direction:row;flex-wrap:nowrap;height:auto;width:auto;min-height:200px;min-width:200px}.os-environment.os-environment-flexbox-glue div{flex:auto;width:auto;height:auto;max-height:100%;max-width:100%;margin:0}.os-environment.os-environment-flexbox-glue-max{max-height:200px}.os-environment.os-environment-flexbox-glue-max div{overflow:visible}.os-environment.os-environment-flexbox-glue-max div:before{content:\"\";display:block;height:999px;width:999px}.os-environment,[data-overlayscrollbars-viewport]{-ms-overflow-style:scrollbar!important}[data-overlayscrollbars-initialize],[data-overlayscrollbars~=scrollbarHidden],[data-overlayscrollbars-viewport~=scrollbarHidden],.os-environment-scrollbar-hidden{scrollbar-width:none!important}[data-overlayscrollbars-initialize]::-webkit-scrollbar,[data-overlayscrollbars-initialize]::-webkit-scrollbar-corner,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,.os-environment-scrollbar-hidden::-webkit-scrollbar,.os-environment-scrollbar-hidden::-webkit-scrollbar-corner{-webkit-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}html[data-overlayscrollbars]{box-sizing:border-box;margin:0}html[data-overlayscrollbars~=body],html[data-overlayscrollbars~=body]>body{width:100%;height:100%}html[data-overlayscrollbars~=viewport]>body{overflow:visible}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch!important;flex-direction:row!important;flex-wrap:nowrap!important}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before{content:\"\";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:0;height:0}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]{box-sizing:inherit;position:relative;flex:auto!important;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0;overflow:hidden}[data-overlayscrollbars~=host],[data-overlayscrollbars~=viewport]{position:relative;overflow:hidden}[data-overlayscrollbars~=overflowVisible],[data-overlayscrollbars-padding~=overflowVisible],[data-overlayscrollbars-viewport~=overflowVisible]{overflow:visible}[data-overlayscrollbars-overflow-x=hidden]{overflow-x:hidden;overflow-y:hidden}[data-overlayscrollbars-overflow-x=scroll]{overflow-x:scroll}[data-overlayscrollbars-overflow-y=scroll]{overflow-y:scroll}[data-overlayscrollbars~=scrollbarPressed],[data-overlayscrollbars~=scrollbarPressed] [data-overlayscrollbars-viewport]{scroll-behavior:auto!important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto!important;width:auto!important}.os-scrollbar{box-sizing:border-box;contain:size layout;contain:size layout style;transition:opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none}.os-scrollbar-track{position:relative;direction:ltr!important;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none!important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important;transition:none!important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0}.os-scrollbar-vertical .os-scrollbar-handle{right:0}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}.os-scrollbar .os-scrollbar-handle:before{content:\"\";position:absolute;inset:0;display:block}[data-overlayscrollbars~=updating]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none!important}\n", ":where(.kbq-scrollbar-component){--kbq-scrollbar-size-track-dimension: var(--kbq-size-l);--kbq-scrollbar-size-track-padding-vertical: var(--kbq-size-3xs);--kbq-scrollbar-size-track-padding-horizontal: var(--kbq-size-3xs);--kbq-scrollbar-size-thumb-width: var(--kbq-size-s);--kbq-scrollbar-size-thumb-min-size: var(--kbq-size-xl);--kbq-scrollbar-size-thumb-border-radius: var(--kbq-size-s);--kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a32);--kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a48);--kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-20-a55);--kbq-scrollbar-thumb-disabled-background: var(--kbq-states-icon-disabled);--kbq-scrollbar-track-default-border: transparent;--kbq-scrollbar-track-default-background: transparent;--kbq-scrollbar-track-hover-border: transparent;--kbq-scrollbar-track-hover-background: transparent;--kbq-scrollbar-track-active-border: transparent;--kbq-scrollbar-track-active-background: transparent}:where(.kbq-dark .kbq-scrollbar-component){--kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a48);--kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a60);--kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-50-a80)}\n"] }]
220
220
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }], propDecorators: { contentElement: [{
221
221
  type: ViewChild,
222
222
  args: ['content']
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-scrollbar.mjs","sources":["../../../packages/components/scrollbar/scrollbar.types.ts","../../../packages/components/scrollbar/scrollbar.directive.ts","../../../packages/components/scrollbar/scrollbar.component.ts","../../../packages/components/scrollbar/scrollbar.module.ts","../../../packages/components/scrollbar/koobiq-components-scrollbar.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\nimport { EventListenerArgs, EventListeners, InitializationTarget, PartialOptions } from 'overlayscrollbars';\n\nexport type KbqScrollbarEvents = EventListeners;\nexport type KbqScrollbarEventListenerArgs = EventListenerArgs;\nexport type KbqScrollbarOptions = PartialOptions;\nexport type KbqScrollbarTarget = InitializationTarget;\n\nexport const KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG: KbqScrollbarOptions = {\n scrollbars: {\n autoHide: 'leave',\n autoHideDelay: 100\n }\n};\n\nexport const KBQ_SCROLLBAR_CONFIG = new InjectionToken<KbqScrollbarOptions>('KBQ_SCROLLBAR_CONFIG');\n\n/** Default scroll behavior */\nexport const KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER: Provider = {\n provide: KBQ_SCROLLBAR_CONFIG,\n useValue: KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG\n};\n","import { CdkScrollable } from '@angular/cdk/overlay';\nimport { Directive, Inject, Input, NgZone, OnDestroy } from '@angular/core';\nimport { OverlayScrollbars } from 'overlayscrollbars';\nimport { KBQ_SCROLLBAR_CONFIG, KbqScrollbarEvents, KbqScrollbarOptions, KbqScrollbarTarget } from './scrollbar.types';\n\ntype Defer = [\n requestDefer: (callback: () => any, options?: boolean | IdleRequestOptions) => void,\n cancelDefer: () => void\n];\n\nconst createDefer = (): Defer => {\n if (typeof window === 'undefined') {\n // mock ssr calls with \"noop\"\n const noop = () => {};\n return [noop, noop];\n }\n\n let idleId: number;\n let rafId: number;\n\n const { requestIdleCallback, requestAnimationFrame, cancelAnimationFrame, cancelIdleCallback } = window;\n\n const idleSupported = typeof requestIdleCallback === 'function';\n const rIdle = idleSupported ? requestIdleCallback : requestAnimationFrame;\n const cIdle = idleSupported ? cancelIdleCallback : cancelAnimationFrame;\n const clear = () => {\n cIdle(idleId);\n cancelAnimationFrame(rafId);\n };\n\n return [\n (callback, options) => {\n clear();\n idleId = rIdle(\n idleSupported\n ? () => {\n clear();\n // inside idle its best practice to use rAF to change DOM for best performance\n rafId = requestAnimationFrame(callback);\n }\n : callback,\n typeof options === 'object' ? options : { timeout: 2233 }\n );\n },\n clear\n\n ];\n};\n\n/**\n * A directive for adding `overlayscrollbars` to an element.\n */\n@Directive({\n standalone: true,\n selector: '[kbqScrollbar]',\n hostDirectives: [CdkScrollable]\n})\nexport class KbqScrollbarDirective implements OnDestroy {\n private requestDefer: ReturnType<typeof createDefer>[0];\n private cancelDefer: ReturnType<typeof createDefer>[1];\n\n private _options: KbqScrollbarOptions;\n\n @Input()\n set options(value: KbqScrollbarOptions) {\n this._options = value;\n\n if (OverlayScrollbars.valid(this.scrollbarInstance)) {\n this.scrollbarInstance.options(value || {}, true);\n }\n }\n\n /** Scrollbar behavior customization object */\n get options(): KbqScrollbarOptions | undefined {\n return this._options;\n }\n\n private _events?: KbqScrollbarEvents;\n\n @Input()\n set events(value: KbqScrollbarEvents) {\n this._events = value;\n\n if (OverlayScrollbars.valid(this.scrollbarInstance)) {\n this.scrollbarInstance.on(value || {}, true);\n }\n }\n\n get events(): KbqScrollbarEvents | undefined {\n return this._events;\n }\n\n /** Whether to defer the initialization to a point in time when the browser is idle. (or to the next frame if `window.requestIdleCallback` is not supported) */\n @Input()\n defer?: boolean | IdleRequestOptions;\n\n scrollbarInstance?: OverlayScrollbars;\n\n constructor(\n private ngZone: NgZone,\n @Inject(KBQ_SCROLLBAR_CONFIG) private scrollbarConfig?: KbqScrollbarOptions\n ) {\n const [requestDefer, cancelDefer] = createDefer();\n this.requestDefer = requestDefer;\n this.cancelDefer = cancelDefer;\n }\n\n initialize(target: KbqScrollbarTarget) {\n this.ngZone.runOutsideAngular(() => {\n const init = () => {\n this.scrollbarInstance = OverlayScrollbars(\n target,\n this.options || this.scrollbarConfig || {},\n this.events || {}\n );\n };\n\n if (this.defer) {\n this.requestDefer(init, this.defer);\n } else {\n init();\n }\n });\n }\n\n ngOnDestroy() {\n this.cancelDefer();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqScrollbarDirective } from './scrollbar.directive';\nimport {\n KbqScrollbarEventListenerArgs,\n KbqScrollbarEvents,\n KbqScrollbarOptions,\n KbqScrollbarTarget\n} from './scrollbar.types';\n\nconst filterEvents = (emits: KbqScrollbarEvents, events: KbqScrollbarEvents) =>\n (Object.keys(emits) as (keyof KbqScrollbarEvents)[]).reduce<KbqScrollbarEvents>(\n <N extends keyof KbqScrollbarEvents>(obj: KbqScrollbarEvents, name: N) => {\n const emitListener = emits[name];\n const eventListener = events[name];\n // merge & check listeners\n obj[name] = [\n emitListener,\n ...(Array.isArray(eventListener) ? eventListener : [eventListener]).filter(Boolean)];\n return obj;\n },\n {}\n );\n\n/**\n * The component-wrapper for `overlayscrollbars` library.\n */\n@Component({\n standalone: true,\n imports: [KbqScrollbarDirective],\n selector: 'kbq-scrollbar, [kbq-scrollbar]',\n exportAs: 'kbqScrollbar',\n host: {\n 'data-overlayscrollbars-initialize': '',\n class: 'kbq-scrollbar-component'\n },\n template: `\n <div\n #content\n [options]=\"options\"\n [events]=\"mergeEvents()\"\n [defer]=\"defer\"\n data-overlayscrollbars-contents=\"\"\n kbqScrollbar\n >\n <ng-content />\n </div>\n `,\n styleUrls: ['./scrollbar.component.scss', 'scrollbar-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqScrollbar implements AfterViewInit, OnDestroy {\n /** Element that is being overflowed */\n @ViewChild('content') contentElement: ElementRef<HTMLDivElement>;\n @ViewChild('content', { read: KbqScrollbarDirective }) private kbqScrollbarDirective?: KbqScrollbarDirective;\n\n /** Elements scrollbar applied on */\n @Input() initializationTarget?: KbqScrollbarTarget;\n /** Scrollbar behavior customization object */\n @Input() options: KbqScrollbarOptions;\n @Input() events: KbqScrollbarEvents;\n /** Whether to defer the initialization to a point in time when the browser is idle. (or to the next frame if `window.requestIdleCallback` is not supported) */\n @Input() defer?: boolean | IdleRequestOptions;\n\n @Output() onInitialize = new EventEmitter<KbqScrollbarEventListenerArgs['initialized']>();\n /** Event triggered when options or event listeners updated */\n @Output() onUpdate = new EventEmitter<KbqScrollbarEventListenerArgs['updated']>();\n /** Event triggered when scrollbar instance destroyed */\n @Output() onDestroy = new EventEmitter<KbqScrollbarEventListenerArgs['destroyed']>();\n @Output() onScroll = new EventEmitter<KbqScrollbarEventListenerArgs['scroll']>();\n\n get element(): HTMLElement {\n return this.targetElement.nativeElement;\n }\n\n constructor(\n private ngZone: NgZone,\n private targetElement: ElementRef<HTMLElement>\n ) {}\n\n ngAfterViewInit() {\n if (this.element && this.contentElement.nativeElement) {\n this.kbqScrollbarDirective?.initialize(\n this.initializationTarget || {\n target: this.targetElement.nativeElement,\n elements: {\n viewport: this.contentElement.nativeElement,\n content: this.contentElement.nativeElement\n }\n }\n );\n }\n }\n\n ngOnDestroy() {\n this.kbqScrollbarDirective?.scrollbarInstance?.destroy();\n }\n\n /** Wrapper function for native scroll */\n scrollTo(options?: ScrollToOptions): void {\n this.contentElement.nativeElement.scroll(options);\n }\n\n mergeEvents(): KbqScrollbarEvents {\n const defaultListeners: KbqScrollbarEvents = {\n initialized: (...args) => this.dispatchEventIfHasObservers(this.onInitialize, args),\n updated: (...args) => this.dispatchEventIfHasObservers(this.onUpdate, args),\n destroyed: (...args) => this.dispatchEventIfHasObservers(this.onDestroy, args),\n scroll: (...args) => this.dispatchEventIfHasObservers(this.onScroll, args)\n };\n\n if (!this.events) {\n return defaultListeners;\n }\n\n // merge default listeners with custom listeners in case of Input binding\n return {\n ...defaultListeners,\n ...filterEvents(this.events, defaultListeners)\n };\n }\n\n private dispatchEventIfHasObservers<T>(eventEmitter: EventEmitter<T>, args: T): void {\n // `observed` is available since RxJS@7.2 because `observers` is being deprecated.\n if ((eventEmitter as any).observed || eventEmitter.observers.length > 0) {\n // This is required to re-enter the Angular zone to call the event handler in the Angular\n // zone too. This will not re-enter the Angular zone if emitter doesn't have any observers,\n // for instance, it's being listened: `<overlay-scrollbars (osInitialized)=\"...\"`.\n // Events are dispatched outside of the Angular zone because instance is created in the\n // `<root>` zone\n this.ngZone.run(() => eventEmitter.emit(args));\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqScrollbar } from './scrollbar.component';\nimport { KbqScrollbarDirective } from './scrollbar.directive';\nimport { KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER } from './scrollbar.types';\n\nconst COMPONENTS = [\n KbqScrollbar,\n KbqScrollbarDirective\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS,\n providers: [KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER]\n})\nexport class KbqScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-scrollbar.mjs","sources":["../../../packages/components/scrollbar/scrollbar.types.ts","../../../packages/components/scrollbar/scrollbar.directive.ts","../../../packages/components/scrollbar/scrollbar.component.ts","../../../packages/components/scrollbar/scrollbar.module.ts","../../../packages/components/scrollbar/koobiq-components-scrollbar.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\nimport { EventListenerArgs, EventListeners, InitializationTarget, PartialOptions } from 'overlayscrollbars';\n\nexport type KbqScrollbarEvents = EventListeners;\nexport type KbqScrollbarEventListenerArgs = EventListenerArgs;\nexport type KbqScrollbarOptions = PartialOptions;\nexport type KbqScrollbarTarget = InitializationTarget;\n\nexport const KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG: KbqScrollbarOptions = {\n scrollbars: {\n autoHide: 'leave',\n autoHideDelay: 100\n }\n};\n\nexport const KBQ_SCROLLBAR_CONFIG = new InjectionToken<KbqScrollbarOptions>('KBQ_SCROLLBAR_CONFIG');\n\n/** Default scroll behavior */\nexport const KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER: Provider = {\n provide: KBQ_SCROLLBAR_CONFIG,\n useValue: KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG\n};\n","import { CdkScrollable } from '@angular/cdk/overlay';\nimport { Directive, Inject, Input, NgZone, OnDestroy } from '@angular/core';\nimport { OverlayScrollbars } from 'overlayscrollbars';\nimport { KBQ_SCROLLBAR_CONFIG, KbqScrollbarEvents, KbqScrollbarOptions, KbqScrollbarTarget } from './scrollbar.types';\n\ntype Defer = [\n requestDefer: (callback: () => any, options?: boolean | IdleRequestOptions) => void,\n cancelDefer: () => void\n];\n\nconst createDefer = (): Defer => {\n if (typeof window === 'undefined') {\n // mock ssr calls with \"noop\"\n const noop = () => {};\n return [noop, noop];\n }\n\n let idleId: number;\n let rafId: number;\n\n const { requestIdleCallback, requestAnimationFrame, cancelAnimationFrame, cancelIdleCallback } = window;\n\n const idleSupported = typeof requestIdleCallback === 'function';\n const rIdle = idleSupported ? requestIdleCallback : requestAnimationFrame;\n const cIdle = idleSupported ? cancelIdleCallback : cancelAnimationFrame;\n const clear = () => {\n cIdle(idleId);\n cancelAnimationFrame(rafId);\n };\n\n return [\n (callback, options) => {\n clear();\n idleId = rIdle(\n idleSupported\n ? () => {\n clear();\n // inside idle its best practice to use rAF to change DOM for best performance\n rafId = requestAnimationFrame(callback);\n }\n : callback,\n typeof options === 'object' ? options : { timeout: 2233 }\n );\n },\n clear\n\n ];\n};\n\n/**\n * A directive for adding `overlayscrollbars` to an element.\n */\n@Directive({\n standalone: true,\n selector: '[kbqScrollbar]',\n hostDirectives: [CdkScrollable]\n})\nexport class KbqScrollbarDirective implements OnDestroy {\n private requestDefer: ReturnType<typeof createDefer>[0];\n private cancelDefer: ReturnType<typeof createDefer>[1];\n\n private _options: KbqScrollbarOptions;\n\n @Input()\n set options(value: KbqScrollbarOptions) {\n this._options = value;\n\n if (OverlayScrollbars.valid(this.scrollbarInstance)) {\n this.scrollbarInstance.options(value || {}, true);\n }\n }\n\n /** Scrollbar behavior customization object */\n get options(): KbqScrollbarOptions | undefined {\n return this._options;\n }\n\n private _events?: KbqScrollbarEvents;\n\n @Input()\n set events(value: KbqScrollbarEvents) {\n this._events = value;\n\n if (OverlayScrollbars.valid(this.scrollbarInstance)) {\n this.scrollbarInstance.on(value || {}, true);\n }\n }\n\n get events(): KbqScrollbarEvents | undefined {\n return this._events;\n }\n\n /** Whether to defer the initialization to a point in time when the browser is idle. (or to the next frame if `window.requestIdleCallback` is not supported) */\n @Input()\n defer?: boolean | IdleRequestOptions;\n\n scrollbarInstance?: OverlayScrollbars;\n\n constructor(\n private ngZone: NgZone,\n @Inject(KBQ_SCROLLBAR_CONFIG) private scrollbarConfig?: KbqScrollbarOptions\n ) {\n const [requestDefer, cancelDefer] = createDefer();\n this.requestDefer = requestDefer;\n this.cancelDefer = cancelDefer;\n }\n\n initialize(target: KbqScrollbarTarget) {\n this.ngZone.runOutsideAngular(() => {\n const init = () => {\n this.scrollbarInstance = OverlayScrollbars(\n target,\n this.options || this.scrollbarConfig || {},\n this.events || {}\n );\n };\n\n if (this.defer) {\n this.requestDefer(init, this.defer);\n } else {\n init();\n }\n });\n }\n\n ngOnDestroy() {\n this.cancelDefer();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqScrollbarDirective } from './scrollbar.directive';\nimport {\n KbqScrollbarEventListenerArgs,\n KbqScrollbarEvents,\n KbqScrollbarOptions,\n KbqScrollbarTarget\n} from './scrollbar.types';\n\nconst filterEvents = (emits: KbqScrollbarEvents, events: KbqScrollbarEvents) =>\n (Object.keys(emits) as (keyof KbqScrollbarEvents)[]).reduce<KbqScrollbarEvents>(\n <N extends keyof KbqScrollbarEvents>(obj: KbqScrollbarEvents, name: N) => {\n const emitListener = emits[name];\n const eventListener = events[name];\n // merge & check listeners\n obj[name] = [\n emitListener,\n ...(Array.isArray(eventListener) ? eventListener : [eventListener]).filter(Boolean)];\n return obj;\n },\n {}\n );\n\n/**\n * The component-wrapper for `overlayscrollbars` library.\n */\n@Component({\n standalone: true,\n imports: [KbqScrollbarDirective],\n selector: 'kbq-scrollbar, [kbq-scrollbar]',\n exportAs: 'kbqScrollbar',\n host: {\n 'data-overlayscrollbars-initialize': '',\n class: 'kbq-scrollbar-component'\n },\n template: `\n <div\n #content\n [options]=\"options\"\n [events]=\"mergeEvents()\"\n [defer]=\"defer\"\n data-overlayscrollbars-contents=\"\"\n kbqScrollbar\n >\n <ng-content />\n </div>\n `,\n styleUrls: ['./scrollbar.component.scss', 'scrollbar-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqScrollbar implements AfterViewInit, OnDestroy {\n /** Element that is being overflowed */\n @ViewChild('content') contentElement: ElementRef<HTMLDivElement>;\n @ViewChild('content', { read: KbqScrollbarDirective }) private kbqScrollbarDirective?: KbqScrollbarDirective;\n\n /** Elements scrollbar applied on */\n @Input() initializationTarget?: KbqScrollbarTarget;\n /** Scrollbar behavior customization object */\n @Input() options: KbqScrollbarOptions;\n @Input() events: KbqScrollbarEvents;\n /** Whether to defer the initialization to a point in time when the browser is idle. (or to the next frame if `window.requestIdleCallback` is not supported) */\n @Input() defer?: boolean | IdleRequestOptions;\n\n @Output() onInitialize = new EventEmitter<KbqScrollbarEventListenerArgs['initialized']>();\n /** Event triggered when options or event listeners updated */\n @Output() onUpdate = new EventEmitter<KbqScrollbarEventListenerArgs['updated']>();\n /** Event triggered when scrollbar instance destroyed */\n @Output() onDestroy = new EventEmitter<KbqScrollbarEventListenerArgs['destroyed']>();\n @Output() onScroll = new EventEmitter<KbqScrollbarEventListenerArgs['scroll']>();\n\n get element(): HTMLElement {\n return this.targetElement.nativeElement;\n }\n\n constructor(\n private ngZone: NgZone,\n private targetElement: ElementRef<HTMLElement>\n ) {}\n\n ngAfterViewInit() {\n if (this.element && this.contentElement.nativeElement) {\n this.kbqScrollbarDirective?.initialize(\n this.initializationTarget || {\n target: this.targetElement.nativeElement,\n elements: {\n viewport: this.contentElement.nativeElement,\n content: this.contentElement.nativeElement\n }\n }\n );\n }\n }\n\n ngOnDestroy() {\n this.kbqScrollbarDirective?.scrollbarInstance?.destroy();\n }\n\n /** Wrapper function for native scroll */\n scrollTo(options?: ScrollToOptions): void {\n this.contentElement.nativeElement.scroll(options);\n }\n\n mergeEvents(): KbqScrollbarEvents {\n const defaultListeners: KbqScrollbarEvents = {\n initialized: (...args) => this.dispatchEventIfHasObservers(this.onInitialize, args),\n updated: (...args) => this.dispatchEventIfHasObservers(this.onUpdate, args),\n destroyed: (...args) => this.dispatchEventIfHasObservers(this.onDestroy, args),\n scroll: (...args) => this.dispatchEventIfHasObservers(this.onScroll, args)\n };\n\n if (!this.events) {\n return defaultListeners;\n }\n\n // merge default listeners with custom listeners in case of Input binding\n return {\n ...defaultListeners,\n ...filterEvents(this.events, defaultListeners)\n };\n }\n\n private dispatchEventIfHasObservers<T>(eventEmitter: EventEmitter<T>, args: T): void {\n // `observed` is available since RxJS@7.2 because `observers` is being deprecated.\n if ((eventEmitter as any).observed || eventEmitter.observers.length > 0) {\n // This is required to re-enter the Angular zone to call the event handler in the Angular\n // zone too. This will not re-enter the Angular zone if emitter doesn't have any observers,\n // for instance, it's being listened: `<overlay-scrollbars (osInitialized)=\"...\"`.\n // Events are dispatched outside of the Angular zone because instance is created in the\n // `<root>` zone\n this.ngZone.run(() => eventEmitter.emit(args));\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqScrollbar } from './scrollbar.component';\nimport { KbqScrollbarDirective } from './scrollbar.directive';\nimport { KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER } from './scrollbar.types';\n\nconst COMPONENTS = [\n KbqScrollbar,\n KbqScrollbarDirective\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS,\n providers: [KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER]\n})\nexport class KbqScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { SharedResizeObserver } from '@angular/cdk/observers/private';
3
3
  import * as i0 from '@angular/core';
4
4
  import { inject, Directive, InjectionToken, EventEmitter, DestroyRef, isDevMode, booleanAttribute, numberAttribute, ElementRef, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Host, Self, Inject, ViewChild, ContentChild, ViewChildren, ContentChildren, Input, Output, NgModule } from '@angular/core';
5
5
  import * as i1 from '@koobiq/components/core';
6
- import { KbqAbstractSelect, mixinTabIndex, mixinDisabled, mixinErrorState, getKbqSelectDynamicMultipleError, getKbqSelectNonFunctionValueError, defaultOffsetY, getKbqSelectNonArrayValueError, KbqVirtualOption, KBQ_SELECT_SCROLL_STRATEGY, KBQ_LOCALE_SERVICE, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_POPUP, KbqSelectFooter, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch, KbqOption, KbqOptgroup, kbqSelectAnimations, KbqOptionModule, KbqSelectSearchEmptyResult, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER } from '@koobiq/components/core';
6
+ import { KbqAbstractSelect, getKbqSelectDynamicMultipleError, getKbqSelectNonFunctionValueError, KbqComponentColors, defaultOffsetY, getKbqSelectNonArrayValueError, KbqVirtualOption, KBQ_SELECT_SCROLL_STRATEGY, KBQ_LOCALE_SERVICE, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_POPUP, KbqSelectFooter, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch, KbqOption, KbqOptgroup, kbqSelectAnimations, KbqOptionModule, KbqSelectSearchEmptyResult, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER } from '@koobiq/components/core';
7
7
  import { KbqTooltipTrigger, KbqToolTipModule } from '@koobiq/components/tooltip';
8
8
  import * as i3 from '@angular/cdk/bidi';
9
9
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
@@ -109,26 +109,7 @@ const kbqSelectOptionsProvider = (options) => {
109
109
  useValue: options
110
110
  };
111
111
  };
112
- /** @docs-private */
113
- class KbqSelectBase extends KbqAbstractSelect {
114
- constructor(elementRef, defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl) {
115
- super();
116
- this.elementRef = elementRef;
117
- this.defaultErrorStateMatcher = defaultErrorStateMatcher;
118
- this.parentForm = parentForm;
119
- this.parentFormGroup = parentFormGroup;
120
- this.ngControl = ngControl;
121
- /**
122
- * Emits whenever the component state changes and should cause the parent
123
- * form-field to update. Implemented as part of `KbqFormFieldControl`.
124
- * @docs-private
125
- */
126
- this.stateChanges = new Subject();
127
- }
128
- }
129
- /** @docs-private */
130
- const KbqSelectMixinBase = mixinTabIndex(mixinDisabled(mixinErrorState(KbqSelectBase)));
131
- class KbqSelect extends KbqSelectMixinBase {
112
+ class KbqSelect extends KbqAbstractSelect {
132
113
  get hasBackdrop() {
133
114
  return this._hasBackdrop;
134
115
  }
@@ -193,13 +174,23 @@ class KbqSelect extends KbqSelectMixinBase {
193
174
  this._id = value || this.uid;
194
175
  this.stateChanges.next();
195
176
  }
177
+ get tabIndex() {
178
+ return this.disabled ? -1 : this._tabIndex;
179
+ }
180
+ set tabIndex(value) {
181
+ this._tabIndex = value;
182
+ }
196
183
  get disabled() {
197
184
  return this._disabled;
198
185
  }
199
186
  set disabled(value) {
200
- this._disabled = coerceBooleanProperty(value);
201
- if (this.parentFormField) {
202
- this._disabled ? this.parentFormField.stopFocusMonitor() : this.parentFormField.runFocusMonitor();
187
+ if (value !== this.disabled) {
188
+ this._disabled = value;
189
+ if (this.parentFormField) {
190
+ this._disabled ? this.parentFormField.stopFocusMonitor() : this.parentFormField.runFocusMonitor();
191
+ }
192
+ // Let the parent form field know to run change detection when the disabled state changes.
193
+ this.stateChanges.next();
203
194
  }
204
195
  }
205
196
  /** Whether the select is focused. */
@@ -243,18 +234,34 @@ class KbqSelect extends KbqSelectMixinBase {
243
234
  get firstFiltered() {
244
235
  return !this.options.find((option) => option === this.firstSelected);
245
236
  }
237
+ get colorForState() {
238
+ return this.ngControl?.invalid || this.errorState ? KbqComponentColors.Error : KbqComponentColors.ContrastFade;
239
+ }
246
240
  constructor(_changeDetectorRef, _ngZone, _renderer, defaultErrorStateMatcher, elementRef, overlayContainer, _dir, parentForm, parentFormGroup, parentFormField, ngControl, scrollStrategyFactory, localeService) {
247
- super(elementRef, defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);
241
+ super();
248
242
  this._changeDetectorRef = _changeDetectorRef;
249
243
  this._ngZone = _ngZone;
250
244
  this._renderer = _renderer;
245
+ this.defaultErrorStateMatcher = defaultErrorStateMatcher;
246
+ this.elementRef = elementRef;
251
247
  this.overlayContainer = overlayContainer;
252
248
  this._dir = _dir;
249
+ this.parentForm = parentForm;
250
+ this.parentFormGroup = parentFormGroup;
253
251
  this.parentFormField = parentFormField;
252
+ this.ngControl = ngControl;
254
253
  this.scrollStrategyFactory = scrollStrategyFactory;
255
254
  this.localeService = localeService;
256
255
  this.isBrowser = inject(Platform).isBrowser;
257
256
  this.defaultOptions = inject(KBQ_SELECT_OPTIONS, { optional: true });
257
+ /** Whether the component is in an error state. */
258
+ this.errorState = false;
259
+ /**
260
+ * Emits whenever the component state changes and should cause the parent
261
+ * form-field to update. Implemented as part of `KbqFormFieldControl`.
262
+ * @docs-private
263
+ */
264
+ this.stateChanges = new Subject();
258
265
  /** A name for this control that can be used by `kbq-form-field`. */
259
266
  this.controlType = 'select';
260
267
  this.hiddenItems = 0;
@@ -326,6 +333,7 @@ class KbqSelect extends KbqSelectMixinBase {
326
333
  * If set to null or an empty string, the panel will grow to match the longest option's text.
327
334
  */
328
335
  this.panelWidth = this.defaultOptions?.panelWidth || null;
336
+ this._tabIndex = 0;
329
337
  this._disabled = false;
330
338
  this.panelOpen = false;
331
339
  this._focused = false;
@@ -403,17 +411,21 @@ class KbqSelect extends KbqSelectMixinBase {
403
411
  this.updateErrorState();
404
412
  }
405
413
  }
406
- ngOnChanges(changes) {
407
- // Updating the disabled state is handled by `mixinDisabled`, but we need to additionally let
408
- // the parent form field know to run change detection when the disabled state changes.
409
- if (changes.disabled) {
410
- this.stateChanges.next();
411
- }
412
- }
413
414
  ngOnDestroy() {
414
415
  this.stateChanges.complete();
415
416
  this.closeSubscription.unsubscribe();
416
417
  }
418
+ updateErrorState() {
419
+ const oldState = this.errorState;
420
+ const parent = this.parentFormGroup || this.parentForm;
421
+ const matcher = this.errorStateMatcher || this.defaultErrorStateMatcher;
422
+ const control = this.ngControl ? this.ngControl.control : null;
423
+ const newState = matcher.isErrorState(control, parent);
424
+ if (newState !== oldState) {
425
+ this.errorState = newState;
426
+ this.stateChanges.next();
427
+ }
428
+ }
417
429
  hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) {
418
430
  return hiddenItemsText.replace('{{ number }}', hiddenItems.toString());
419
431
  }
@@ -422,6 +434,7 @@ class KbqSelect extends KbqSelectMixinBase {
422
434
  this.selectionModel.clear();
423
435
  this.keyManager.setActiveItem(-1);
424
436
  this.propagateChanges();
437
+ this.focus();
425
438
  }
426
439
  resetSearch() {
427
440
  if (!this.search) {
@@ -988,18 +1001,18 @@ class KbqSelect extends KbqSelectMixinBase {
988
1001
  return triggerClone;
989
1002
  }
990
1003
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ErrorStateMatcher }, { token: i0.ElementRef }, { token: i2.OverlayContainer }, { token: i3.Directionality, optional: true }, { token: i4.NgForm, optional: true }, { token: i4.FormGroupDirective, optional: true }, { token: i5.KbqFormField, host: true, optional: true }, { token: i4.NgControl, optional: true, self: true }, { token: KBQ_SELECT_SCROLL_STRATEGY }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
991
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqSelect, selector: "kbq-select", inputs: { disabled: "disabled", tabIndex: "tabIndex", hiddenItemsText: "hiddenItemsText", panelClass: "panelClass", backdropClass: "backdropClass", errorStateMatcher: "errorStateMatcher", sortComparator: "sortComparator", hasBackdrop: "hasBackdrop", placeholder: "placeholder", required: "required", multiple: ["multiple", "multiple", booleanAttribute], compareWith: "compareWith", panelWidth: "panelWidth", panelMinWidth: ["panelMinWidth", "panelMinWidth", numberAttribute], value: "value", id: "id", hiddenItemsTextFormatter: "hiddenItemsTextFormatter" }, outputs: { openedChange: "openedChange", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "click": "toggle()", "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()", "window:resize": "calculateHiddenItems()" }, properties: { "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "class.kbq-disabled": "disabled", "class.kbq-invalid": "errorState" }, classAttribute: "kbq-select" }, providers: [
1004
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqSelect, selector: "kbq-select", inputs: { hiddenItemsText: "hiddenItemsText", panelClass: "panelClass", backdropClass: "backdropClass", errorStateMatcher: "errorStateMatcher", sortComparator: "sortComparator", hasBackdrop: "hasBackdrop", placeholder: "placeholder", required: "required", multiple: ["multiple", "multiple", booleanAttribute], compareWith: "compareWith", panelWidth: "panelWidth", panelMinWidth: ["panelMinWidth", "panelMinWidth", numberAttribute], value: "value", id: "id", tabIndex: ["tabIndex", "tabIndex", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute], hiddenItemsTextFormatter: "hiddenItemsTextFormatter" }, outputs: { openedChange: "openedChange", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "click": "toggle()", "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()", "window:resize": "calculateHiddenItems()" }, properties: { "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "class.kbq-disabled": "disabled", "class.kbq-invalid": "errorState" }, classAttribute: "kbq-select" }, providers: [
992
1005
  { provide: KbqFormFieldControl, useExisting: KbqSelect },
993
1006
  { provide: KBQ_OPTION_PARENT_COMPONENT, useExisting: KbqSelect },
994
1007
  { provide: KBQ_PARENT_POPUP, useExisting: KbqSelect }
995
- ], queries: [{ propertyName: "footer", first: true, predicate: KbqSelectFooter, descendants: true, read: ElementRef }, { propertyName: "cdkVirtualForOf", first: true, predicate: CdkVirtualForOf, descendants: true }, { propertyName: "customTrigger", first: true, predicate: KbqSelectTrigger, descendants: true }, { propertyName: "customMatcher", first: true, predicate: KbqSelectMatcher, descendants: true }, { propertyName: "customTagTemplateRef", first: true, predicate: ["kbqSelectTagContent"], descendants: true, read: TemplateRef }, { propertyName: "cleaner", first: true, predicate: ["kbqSelectCleaner"], descendants: true, static: true }, { propertyName: "search", first: true, predicate: KbqSelectSearch, descendants: true }, { propertyName: "options", predicate: KbqOption, descendants: true }, { propertyName: "optionGroups", predicate: KbqOptgroup }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "optionsContainer", first: true, predicate: ["optionsContainer"], descendants: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: KbqTag, descendants: true }], exportAs: ["kbqSelect"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n }\n @if (!empty) {\n <span>\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiple) {\n <div class=\"kbq-select__match-list\">\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [class.kbq-error]=\"errorState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n }\n </span>\n }\n\n @if (canShowCleaner) {\n <div class=\"kbq-select__cleaner\" (click)=\"clearValue($event)\">\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"'contrast-fade'\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n [@fadeInContent]=\"'showing'\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;width:100%;overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:calc(var(--kbq-select-size-single-padding-vertical, var(--kbq-size-xs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-right, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-vertical, var(--kbq-size-xs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-left, var(--kbq-size-m)) - var(--kbq-size-border-width))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:calc(var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-right, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-left, var(--kbq-size-xxs)) - var(--kbq-size-border-width))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) * 2);max-height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;padding:4px}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-optgroup-label,.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.ng-invalid{color:var(--kbq-error-default)}.kbq-select.ng-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-size-m);--kbq-select-size-single-padding-right: var(--kbq-size-xxs);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-right: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"], dependencies: [{ kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor", "kbq-icon"] }, { kind: "component", type: i7.KbqTag, selector: "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", inputs: ["color", "selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["kbqTag"] }, { kind: "directive", type: i7.KbqTagRemove, selector: "[kbqTagRemove]" }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i9.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], animations: [
1008
+ ], queries: [{ propertyName: "footer", first: true, predicate: KbqSelectFooter, descendants: true, read: ElementRef }, { propertyName: "cdkVirtualForOf", first: true, predicate: CdkVirtualForOf, descendants: true }, { propertyName: "customTrigger", first: true, predicate: KbqSelectTrigger, descendants: true }, { propertyName: "customMatcher", first: true, predicate: KbqSelectMatcher, descendants: true }, { propertyName: "customTagTemplateRef", first: true, predicate: ["kbqSelectTagContent"], descendants: true, read: TemplateRef }, { propertyName: "cleaner", first: true, predicate: ["kbqSelectCleaner"], descendants: true, static: true }, { propertyName: "search", first: true, predicate: KbqSelectSearch, descendants: true }, { propertyName: "options", predicate: KbqOption, descendants: true }, { propertyName: "optionGroups", predicate: KbqOptgroup }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "optionsContainer", first: true, predicate: ["optionsContainer"], descendants: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: KbqTag, descendants: true }], exportAs: ["kbqSelect"], usesInheritance: true, ngImport: i0, template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n }\n @if (!empty) {\n <span>\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiple) {\n <div class=\"kbq-select__match-list\">\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [color]=\"colorForState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n }\n </span>\n }\n\n @if (canShowCleaner) {\n <div class=\"kbq-select__cleaner\" (click)=\"clearValue($event)\" (keydown.enter)=\"clearValue($event)\">\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n [@fadeInContent]=\"'showing'\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;width:100%;overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:calc(var(--kbq-select-size-single-padding-vertical, var(--kbq-size-xs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-right, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-vertical, var(--kbq-size-xs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-left, var(--kbq-size-m)) - var(--kbq-size-border-width))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:calc(var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-right, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-left, var(--kbq-size-xxs)) - var(--kbq-size-border-width))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) * 2);max-height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;padding:4px}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-optgroup-label,.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.kbq-control_has-validate-directive.ng-invalid,.kbq-select.kbq-invalid{color:var(--kbq-error-default)}.kbq-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-size-m);--kbq-select-size-single-padding-right: var(--kbq-size-xxs);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-right: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"], dependencies: [{ kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "component", type: i7.KbqTag, selector: "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", inputs: ["selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["kbqTag"] }, { kind: "directive", type: i7.KbqTagRemove, selector: "[kbqTagRemove]" }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i9.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], animations: [
996
1009
  kbqSelectAnimations.transformPanel,
997
1010
  kbqSelectAnimations.fadeInContent
998
1011
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
999
1012
  }
1000
1013
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqSelect, decorators: [{
1001
1014
  type: Component,
1002
- args: [{ selector: 'kbq-select', exportAs: 'kbqSelect', inputs: ['disabled', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
1015
+ args: [{ selector: 'kbq-select', exportAs: 'kbqSelect', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
1003
1016
  '[attr.tabindex]': 'tabIndex',
1004
1017
  '[attr.disabled]': 'disabled || null',
1005
1018
  class: 'kbq-select',
@@ -1017,7 +1030,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
1017
1030
  { provide: KbqFormFieldControl, useExisting: KbqSelect },
1018
1031
  { provide: KBQ_OPTION_PARENT_COMPONENT, useExisting: KbqSelect },
1019
1032
  { provide: KBQ_PARENT_POPUP, useExisting: KbqSelect }
1020
- ], template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n }\n @if (!empty) {\n <span>\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiple) {\n <div class=\"kbq-select__match-list\">\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [class.kbq-error]=\"errorState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n }\n </span>\n }\n\n @if (canShowCleaner) {\n <div class=\"kbq-select__cleaner\" (click)=\"clearValue($event)\">\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"'contrast-fade'\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n [@fadeInContent]=\"'showing'\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;width:100%;overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:calc(var(--kbq-select-size-single-padding-vertical, var(--kbq-size-xs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-right, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-vertical, var(--kbq-size-xs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-left, var(--kbq-size-m)) - var(--kbq-size-border-width))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:calc(var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-right, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-left, var(--kbq-size-xxs)) - var(--kbq-size-border-width))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) * 2);max-height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;padding:4px}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-optgroup-label,.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.ng-invalid{color:var(--kbq-error-default)}.kbq-select.ng-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-size-m);--kbq-select-size-single-padding-right: var(--kbq-size-xxs);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-right: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"] }]
1033
+ ], template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n }\n @if (!empty) {\n <span>\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiple) {\n <div class=\"kbq-select__match-list\">\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [color]=\"colorForState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n }\n </span>\n }\n\n @if (canShowCleaner) {\n <div class=\"kbq-select__cleaner\" (click)=\"clearValue($event)\" (keydown.enter)=\"clearValue($event)\">\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n [@fadeInContent]=\"'showing'\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;width:100%;overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:calc(var(--kbq-select-size-single-padding-vertical, var(--kbq-size-xs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-right, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-vertical, var(--kbq-size-xs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-single-padding-left, var(--kbq-size-m)) - var(--kbq-size-border-width))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:calc(var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-right, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) - var(--kbq-size-border-width)) calc(var(--kbq-select-size-multiple-padding-left, var(--kbq-size-xxs)) - var(--kbq-size-border-width))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) * 2);max-height:calc(var(--kbq-form-field-size-height, var(--kbq-size-3xl)) - var(--kbq-select-size-multiple-padding-vertical, var(--kbq-size-xxs)) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;padding:4px}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-optgroup-label,.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.kbq-control_has-validate-directive.ng-invalid,.kbq-select.kbq-invalid{color:var(--kbq-error-default)}.kbq-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-size-m);--kbq-select-size-single-padding-right: var(--kbq-size-xxs);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-right: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"] }]
1021
1034
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ErrorStateMatcher }, { type: i0.ElementRef }, { type: i2.OverlayContainer }, { type: i3.Directionality, decorators: [{
1022
1035
  type: Optional
1023
1036
  }] }, { type: i4.NgForm, decorators: [{
@@ -1124,6 +1137,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
1124
1137
  type: Input
1125
1138
  }], id: [{
1126
1139
  type: Input
1140
+ }], tabIndex: [{
1141
+ type: Input,
1142
+ args: [{ transform: numberAttribute }]
1143
+ }], disabled: [{
1144
+ type: Input,
1145
+ args: [{ transform: booleanAttribute }]
1127
1146
  }], hiddenItemsTextFormatter: [{
1128
1147
  type: Input
1129
1148
  }] } });
@@ -1198,5 +1217,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
1198
1217
  * Generated bundle index. Do not edit.
1199
1218
  */
1200
1219
 
1201
- export { KBQ_SELECT_OPTIONS, KbqOptionTooltip, KbqSelect, KbqSelectBase, KbqSelectChange, KbqSelectModule, kbqSelectOptionsProvider };
1220
+ export { KBQ_SELECT_OPTIONS, KbqOptionTooltip, KbqSelect, KbqSelectChange, KbqSelectModule, kbqSelectOptionsProvider };
1202
1221
  //# sourceMappingURL=koobiq-components-select.mjs.map