@koobiq/components 18.33.0 → 18.35.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 (309) hide show
  1. package/actions-panel/actions-panel-config.d.ts +4 -3
  2. package/actions-panel/actions-panel-container.scss +0 -6
  3. package/actions-panel/actions-panel-ref.d.ts +13 -0
  4. package/actions-panel/actions-panel.d.ts +1 -7
  5. package/button/_button-theme.scss +1 -0
  6. package/clamped-text/clamped-text.d.ts +61 -0
  7. package/clamped-text/clamped-text.scss +17 -0
  8. package/clamped-text/constants.d.ts +14 -0
  9. package/clamped-text/index.d.ts +3 -0
  10. package/clamped-text/module.d.ts +7 -0
  11. package/content-panel/content-panel-aside.scss +9 -0
  12. package/content-panel/content-panel-body.scss +9 -0
  13. package/content-panel/content-panel-container.scss +32 -0
  14. package/content-panel/content-panel-footer.scss +5 -0
  15. package/content-panel/content-panel-header.scss +30 -0
  16. package/content-panel/content-panel-tokens.scss +9 -0
  17. package/content-panel/content-panel.d.ts +149 -0
  18. package/content-panel/content-panel.scss +25 -0
  19. package/content-panel/index.d.ts +3 -0
  20. package/content-panel/module.d.ts +7 -0
  21. package/content-panel/resizable.d.ts +70 -0
  22. package/core/form-field/field-sizing-content.d.ts +21 -0
  23. package/core/form-field/index.d.ts +1 -0
  24. package/core/locales/en-US.d.ts +10 -0
  25. package/core/locales/es-LA.d.ts +10 -0
  26. package/core/locales/fa-IR.d.ts +10 -0
  27. package/core/locales/locale-service.d.ts +70 -0
  28. package/core/locales/pt-BR.d.ts +10 -0
  29. package/core/locales/ru-RU.d.ts +10 -0
  30. package/core/locales/tk-TM.d.ts +10 -0
  31. package/core/locales/types.d.ts +5 -0
  32. package/core/locales/zh-CN.d.ts +10 -0
  33. package/core/navbar/index.d.ts +1 -0
  34. package/core/navbar/rectangle-item.d.ts +14 -0
  35. package/core/option/option.d.ts +3 -1
  36. package/core/pop-up/pop-up-trigger.d.ts +2 -0
  37. package/core/public-api.d.ts +1 -0
  38. package/core/styles/common/_select.scss +6 -3
  39. package/core/utils/dom.d.ts +9 -0
  40. package/core/utils/index.d.ts +1 -0
  41. package/core/utils/utils.d.ts +4 -0
  42. package/datepicker/calendar.component.d.ts +1 -1
  43. package/datepicker/datepicker-input.directive.d.ts +19 -8
  44. package/datepicker/datepicker-toggle.component.d.ts +1 -1
  45. package/datepicker/datepicker.component.d.ts +2 -2
  46. package/dropdown/dropdown-item.scss +1 -0
  47. package/dropdown/dropdown-trigger.directive.d.ts +7 -1
  48. package/dynamic-translation/dynamic-translation.d.ts +72 -0
  49. package/dynamic-translation/index.d.ts +2 -0
  50. package/dynamic-translation/module.d.ts +7 -0
  51. package/esm2022/actions-panel/actions-panel-config.mjs +1 -1
  52. package/esm2022/actions-panel/actions-panel-container.mjs +7 -7
  53. package/esm2022/actions-panel/actions-panel-ref.mjs +17 -1
  54. package/esm2022/actions-panel/actions-panel.mjs +34 -24
  55. package/esm2022/breadcrumbs/breadcrumbs.mjs +2 -2
  56. package/esm2022/button/button.component.mjs +2 -2
  57. package/esm2022/button-toggle/button-toggle.component.mjs +9 -9
  58. package/esm2022/clamped-text/clamped-text.mjs +202 -0
  59. package/esm2022/clamped-text/constants.mjs +20 -0
  60. package/esm2022/clamped-text/index.mjs +4 -0
  61. package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +5 -0
  62. package/esm2022/clamped-text/module.mjs +19 -0
  63. package/esm2022/content-panel/content-panel.mjs +432 -0
  64. package/esm2022/content-panel/index.mjs +4 -0
  65. package/esm2022/content-panel/koobiq-components-content-panel.mjs +5 -0
  66. package/esm2022/content-panel/module.mjs +42 -0
  67. package/esm2022/content-panel/resizable.mjs +138 -0
  68. package/esm2022/core/form-field/field-sizing-content.mjs +114 -0
  69. package/esm2022/core/form-field/index.mjs +2 -1
  70. package/esm2022/core/locales/en-US.mjs +11 -1
  71. package/esm2022/core/locales/es-LA.mjs +11 -1
  72. package/esm2022/core/locales/fa-IR.mjs +11 -1
  73. package/esm2022/core/locales/pt-BR.mjs +11 -1
  74. package/esm2022/core/locales/ru-RU.mjs +11 -1
  75. package/esm2022/core/locales/tk-TM.mjs +11 -1
  76. package/esm2022/core/locales/types.mjs +1 -1
  77. package/esm2022/core/locales/zh-CN.mjs +11 -1
  78. package/esm2022/core/navbar/index.mjs +2 -0
  79. package/esm2022/core/navbar/rectangle-item.mjs +39 -0
  80. package/esm2022/core/option/option.mjs +8 -4
  81. package/esm2022/core/pop-up/pop-up-trigger.mjs +5 -1
  82. package/esm2022/core/public-api.mjs +2 -1
  83. package/esm2022/core/utils/dom.mjs +14 -0
  84. package/esm2022/core/utils/index.mjs +2 -1
  85. package/esm2022/core/utils/utils.mjs +9 -1
  86. package/esm2022/core/version.mjs +2 -2
  87. package/esm2022/datepicker/calendar-header.component.mjs +6 -3
  88. package/esm2022/datepicker/calendar.component.mjs +9 -9
  89. package/esm2022/datepicker/datepicker-input.directive.mjs +24 -21
  90. package/esm2022/datepicker/datepicker-toggle.component.mjs +8 -8
  91. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  92. package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
  93. package/esm2022/dropdown/dropdown-trigger.directive.mjs +30 -10
  94. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  95. package/esm2022/dynamic-translation/dynamic-translation.mjs +175 -0
  96. package/esm2022/dynamic-translation/index.mjs +3 -0
  97. package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +5 -0
  98. package/esm2022/dynamic-translation/module.mjs +25 -0
  99. package/esm2022/file-upload/file-drop.mjs +1 -1
  100. package/esm2022/file-upload/file-upload.mjs +6 -1
  101. package/esm2022/file-upload/multiple-file-upload.component.mjs +21 -16
  102. package/esm2022/file-upload/single-file-upload.component.mjs +23 -16
  103. package/esm2022/filter-bar/filter-bar.mjs +3 -3
  104. package/esm2022/filter-bar/filter-refresher.mjs +5 -5
  105. package/esm2022/filter-bar/filter-reset.mjs +3 -3
  106. package/esm2022/filter-bar/filter-search.mjs +11 -11
  107. package/esm2022/filter-bar/filters.mjs +16 -4
  108. package/esm2022/filter-bar/pipe-add.mjs +6 -6
  109. package/esm2022/filter-bar/pipes/base-pipe.mjs +2 -2
  110. package/esm2022/filter-bar/pipes/pipe-button.mjs +7 -7
  111. package/esm2022/filter-bar/pipes/pipe-date.mjs +10 -2
  112. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +10 -2
  113. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +11 -17
  114. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +10 -9
  115. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +7 -7
  116. package/esm2022/filter-bar/pipes/pipe-select.mjs +3 -4
  117. package/esm2022/filter-bar/pipes/pipe-text.mjs +9 -3
  118. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +9 -3
  119. package/esm2022/form-field/cleaner.mjs +16 -11
  120. package/esm2022/form-field/fieldset.mjs +2 -2
  121. package/esm2022/form-field/form-field.mjs +5 -5
  122. package/esm2022/form-field/password-hint.mjs +14 -3
  123. package/esm2022/form-field/password-toggle.mjs +45 -10
  124. package/esm2022/form-field/reactive-password-hint.mjs +18 -17
  125. package/esm2022/form-field/stepper.mjs +9 -9
  126. package/esm2022/icon/icon-button.component.mjs +2 -2
  127. package/esm2022/input/input-number.mjs +15 -10
  128. package/esm2022/markdown/markdown.component.mjs +3 -3
  129. package/esm2022/modal/modal.component.mjs +14 -14
  130. package/esm2022/modal/modal.directive.mjs +7 -5
  131. package/esm2022/navbar/navbar-item.component.mjs +3 -3
  132. package/esm2022/navbar-ic/index.mjs +2 -0
  133. package/esm2022/navbar-ic/koobiq-components-navbar-ic.mjs +5 -0
  134. package/esm2022/navbar-ic/navbar-ic-header.mjs +58 -0
  135. package/esm2022/navbar-ic/navbar-ic-item.mjs +399 -0
  136. package/esm2022/navbar-ic/navbar-ic.animation.mjs +9 -0
  137. package/esm2022/navbar-ic/navbar-ic.mjs +281 -0
  138. package/esm2022/navbar-ic/navbar-ic.module.mjs +74 -0
  139. package/esm2022/navbar-ic/public-api.mjs +5 -0
  140. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  141. package/esm2022/popover/popover.component.mjs +10 -5
  142. package/esm2022/scrollbar/scrollbar.component.mjs +5 -5
  143. package/esm2022/select/select.component.mjs +24 -11
  144. package/esm2022/sidebar/sidebar.component.mjs +46 -27
  145. package/esm2022/sidepanel/sidepanel-container.component.mjs +15 -4
  146. package/esm2022/sidepanel/sidepanel-directives.mjs +5 -5
  147. package/esm2022/sidepanel/sidepanel-ref.mjs +8 -6
  148. package/esm2022/splitter/splitter.component.mjs +1 -1
  149. package/esm2022/tabs/tab-body.component.mjs +3 -3
  150. package/esm2022/tabs/tab-group.component.mjs +27 -27
  151. package/esm2022/tabs/tab.component.mjs +4 -4
  152. package/esm2022/tags/tag-input.mjs +2 -2
  153. package/esm2022/tags/tag-list.component.mjs +36 -17
  154. package/esm2022/tags/tag.component.mjs +231 -22
  155. package/esm2022/tags/tag.module.mjs +16 -6
  156. package/esm2022/textarea/textarea.component.mjs +6 -4
  157. package/esm2022/timepicker/timepicker.directive.mjs +1 -1
  158. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  159. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  160. package/esm2022/tree/tree-selection.component.mjs +4 -4
  161. package/esm2022/tree-select/tree-select.component.mjs +11 -9
  162. package/esm2022/username/constants.mjs +25 -0
  163. package/esm2022/username/index.mjs +6 -0
  164. package/esm2022/username/koobiq-components-username.mjs +5 -0
  165. package/esm2022/username/module.mjs +35 -0
  166. package/esm2022/username/types.mjs +32 -0
  167. package/esm2022/username/username.mjs +129 -0
  168. package/esm2022/username/username.pipe.mjs +92 -0
  169. package/fesm2022/koobiq-components-actions-panel.mjs +56 -31
  170. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  171. package/fesm2022/koobiq-components-breadcrumbs.mjs +1 -1
  172. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  173. package/fesm2022/koobiq-components-button-toggle.mjs +8 -8
  174. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-button.mjs +2 -2
  176. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-clamped-text.mjs +242 -0
  178. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -0
  179. package/fesm2022/koobiq-components-content-panel.mjs +612 -0
  180. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -0
  181. package/fesm2022/koobiq-components-core.mjs +271 -31
  182. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  183. package/fesm2022/koobiq-components-datepicker.mjs +45 -40
  184. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  185. package/fesm2022/koobiq-components-dropdown.mjs +33 -13
  186. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  187. package/fesm2022/koobiq-components-dynamic-translation.mjs +204 -0
  188. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -0
  189. package/fesm2022/koobiq-components-file-upload.mjs +44 -27
  190. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  191. package/fesm2022/koobiq-components-filter-bar.mjs +100 -71
  192. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  193. package/fesm2022/koobiq-components-form-field.mjs +100 -49
  194. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  195. package/fesm2022/koobiq-components-icon.mjs +2 -2
  196. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  197. package/fesm2022/koobiq-components-input.mjs +14 -9
  198. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  199. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  200. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  201. package/fesm2022/koobiq-components-modal.mjs +19 -17
  202. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  203. package/fesm2022/koobiq-components-navbar-ic.mjs +800 -0
  204. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -0
  205. package/fesm2022/koobiq-components-navbar.mjs +2 -2
  206. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  207. package/fesm2022/koobiq-components-popover.mjs +11 -6
  208. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  209. package/fesm2022/koobiq-components-scrollbar.mjs +4 -4
  210. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  211. package/fesm2022/koobiq-components-select.mjs +23 -10
  212. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  213. package/fesm2022/koobiq-components-sidebar.mjs +45 -26
  214. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  215. package/fesm2022/koobiq-components-sidepanel.mjs +24 -12
  216. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  217. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  218. package/fesm2022/koobiq-components-tabs.mjs +31 -31
  219. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  220. package/fesm2022/koobiq-components-tags.mjs +284 -47
  221. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  222. package/fesm2022/koobiq-components-textarea.mjs +5 -3
  223. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  224. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  225. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  226. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  227. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  228. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  229. package/fesm2022/koobiq-components-tree-select.mjs +10 -8
  230. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  231. package/fesm2022/koobiq-components-tree.mjs +3 -3
  232. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  233. package/fesm2022/koobiq-components-username.mjs +308 -0
  234. package/fesm2022/koobiq-components-username.mjs.map +1 -0
  235. package/file-upload/_file-upload-theme.scss +1 -1
  236. package/file-upload/file-drop.d.ts +1 -1
  237. package/file-upload/file-upload.d.ts +5 -2
  238. package/file-upload/multiple-file-upload.component.d.ts +4 -2
  239. package/file-upload/single-file-upload.component.d.ts +5 -3
  240. package/filter-bar/_filter-bar-theme.scss +2 -2
  241. package/filter-bar/filters.d.ts +1 -0
  242. package/filter-bar/pipes/pipe-date.d.ts +3 -1
  243. package/filter-bar/pipes/pipe-datetime.d.ts +3 -1
  244. package/filter-bar/pipes/pipe-multi-select.d.ts +0 -1
  245. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +3 -2
  246. package/filter-bar/pipes/pipe-select.d.ts +0 -1
  247. package/filter-bar/pipes/pipe-tree-select.d.ts +3 -2
  248. package/form-field/_form-field-theme.scss +27 -18
  249. package/form-field/cleaner.d.ts +4 -2
  250. package/form-field/cleaner.scss +6 -2
  251. package/form-field/form-field.scss +12 -2
  252. package/form-field/password-hint.d.ts +7 -0
  253. package/form-field/password-toggle.d.ts +23 -3
  254. package/form-field/password-toggle.scss +4 -8
  255. package/form-field/reactive-password-hint.d.ts +1 -0
  256. package/icon/_icon-button-theme.scss +8 -2
  257. package/modal/modal.component.d.ts +6 -6
  258. package/navbar-ic/_navbar-ic-theme.scss +81 -0
  259. package/navbar-ic/index.d.ts +1 -0
  260. package/navbar-ic/navbar-ic-divider.scss +7 -0
  261. package/navbar-ic/navbar-ic-header.d.ts +18 -0
  262. package/navbar-ic/navbar-ic-header.scss +53 -0
  263. package/navbar-ic/navbar-ic-item.d.ts +125 -0
  264. package/navbar-ic/navbar-ic-item.scss +96 -0
  265. package/navbar-ic/navbar-ic-tokens.scss +22 -0
  266. package/navbar-ic/navbar-ic.animation.d.ts +2 -0
  267. package/navbar-ic/navbar-ic.d.ts +103 -0
  268. package/navbar-ic/navbar-ic.module.d.ts +14 -0
  269. package/navbar-ic/navbar-ic.scss +32 -0
  270. package/navbar-ic/public-api.d.ts +4 -0
  271. package/package.json +34 -4
  272. package/popover/_popover-theme.scss +6 -2
  273. package/popover/popover-confirm.component.d.ts +1 -1
  274. package/popover/popover-tokens.scss +2 -0
  275. package/popover/popover.component.d.ts +6 -3
  276. package/prebuilt-themes/dark-theme.css +1 -1
  277. package/prebuilt-themes/light-theme.css +1 -1
  278. package/prebuilt-themes/theme.css +1 -1
  279. package/schematics/ng-add/index.js +4 -4
  280. package/scrollbar/scrollbar.component.d.ts +4 -4
  281. package/select/select.component.d.ts +14 -2
  282. package/sidebar/sidebar.component.d.ts +31 -5
  283. package/sidepanel/sidepanel-container.component.d.ts +9 -0
  284. package/sidepanel/sidepanel-ref.d.ts +3 -3
  285. package/splitter/splitter.component.d.ts +2 -2
  286. package/tabs/tab-group.component.d.ts +1 -1
  287. package/tabs/tab.component.d.ts +1 -1
  288. package/tags/_tag-theme.scss +10 -1
  289. package/tags/tag-input.d.ts +1 -1
  290. package/tags/tag-list.component.d.ts +11 -3
  291. package/tags/tag-list.scss +5 -0
  292. package/tags/tag.component.d.ts +78 -8
  293. package/tags/tag.module.d.ts +1 -1
  294. package/tags/tag.scss +18 -0
  295. package/textarea/textarea-tokens.scss +1 -1
  296. package/timepicker/timepicker.directive.d.ts +1 -1
  297. package/tooltip/_tooltip-theme.scss +9 -2
  298. package/tooltip/tooltip-tokens.scss +2 -0
  299. package/tooltip/tooltip.component.d.ts +2 -2
  300. package/tree/tree-selection.component.d.ts +1 -1
  301. package/tree-select/tree-select.component.d.ts +1 -1
  302. package/username/constants.d.ts +15 -0
  303. package/username/index.d.ts +5 -0
  304. package/username/module.d.ts +8 -0
  305. package/username/types.d.ts +62 -0
  306. package/username/username-tokens.scss +6 -0
  307. package/username/username.d.ts +68 -0
  308. package/username/username.pipe.d.ts +23 -0
  309. package/username/username.scss +107 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"koobiq-components-navbar-ic.mjs","sources":["../../../packages/components/navbar-ic/navbar-ic-item.ts","../../../packages/components/navbar-ic/navbar-ic-item.html","../../../packages/components/navbar-ic/navbar-ic.animation.ts","../../../packages/components/navbar-ic/navbar-ic.ts","../../../packages/components/navbar-ic/navbar-ic-header.ts","../../../packages/components/navbar-ic/navbar-ic.module.ts","../../../packages/components/navbar-ic/koobiq-components-navbar-ic.ts"],"sourcesContent":["import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n ViewEncapsulation,\n booleanAttribute,\n inject\n} from '@angular/core';\nimport { IFocusableOption } from '@koobiq/cdk/a11y';\nimport { ENTER, RIGHT_ARROW, SPACE } from '@koobiq/cdk/keycodes';\nimport { KbqButton, KbqButtonCssStyler } from '@koobiq/components/button';\nimport { KBQ_WINDOW, KbqRectangleItem, PopUpPlacements, PopUpTriggers } from '@koobiq/components/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\nimport { KbqFormField } from '@koobiq/components/form-field';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqTooltipTrigger, TooltipModifier } from '@koobiq/components/tooltip';\nimport { Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { KbqNavbarIc } from './navbar-ic';\n\n/**\n * The maximum number of characters that can be placed in a title without being wrapped.\n */\nexport const kbqMaxSymbolsInHeaderTitle = 22;\n\nexport interface KbqNavbarFocusableItemEvent {\n item: KbqNavbarIcFocusableItem;\n}\n\n@Directive({\n standalone: true,\n selector: '[kbqNavbarIcLogo]',\n host: {\n class: 'kbq-navbar-ic-logo'\n }\n})\nexport class KbqNavbarIcLogo {}\n\n@Directive({\n standalone: true,\n selector: '[kbqNavbarIcTitle]',\n host: {\n class: 'kbq-navbar-ic-title',\n '[class.kbq-navbar-ic-title_text-overflown]': 'isTextOverflown',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class KbqNavbarIcTitle implements AfterViewInit {\n protected readonly isBrowser = inject(Platform).isBrowser;\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n private readonly window = inject(KBQ_WINDOW);\n\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n isTextOverflown: boolean = false;\n\n get text(): string {\n return this.nativeElement.textContent;\n }\n\n get isOverflown() {\n return this.nativeElement.scrollWidth > this.nativeElement.clientWidth;\n }\n\n ngAfterViewInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n\n this.checkTextOverflown();\n }\n\n getOuterElementWidth(): number {\n if (!this.isBrowser) return 0;\n\n const { width, marginLeft, marginRight } = this.window.getComputedStyle(this.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);\n }\n\n checkTextOverflown() {\n this.isTextOverflown = this.text.length > kbqMaxSymbolsInHeaderTitle;\n }\n}\n\n@Directive({\n standalone: true,\n selector: '[kbqNavbarIcDivider]',\n host: {\n class: 'kbq-navbar-ic-divider'\n }\n})\nexport class KbqNavbarIcDivider {}\n\n@Directive({\n standalone: true,\n selector:\n 'kbq-navbar-ic-item, [kbq-navbar-ic-item], kbq-navbar-ic-header, [kbq-navbar-ic-header], kbq-navbar-ic-toggle',\n host: {\n '[attr.tabindex]': '-1',\n '[attr.disabled]': 'disabled || null',\n\n class: 'kbq-navbar-ic-focusable-item',\n '[class.kbq-disabled]': 'disabled',\n\n '(focus)': 'focusHandler()',\n '(blur)': 'blurHandler()'\n }\n})\nexport class KbqNavbarIcFocusableItem implements AfterContentInit, AfterViewInit, OnDestroy, IFocusableOption {\n protected readonly elementRef = inject(ElementRef<HTMLElement>);\n protected readonly changeDetector = inject(ChangeDetectorRef);\n protected readonly focusMonitor = inject(FocusMonitor);\n protected readonly ngZone = inject(NgZone);\n\n /** @docs-private */\n @ContentChild(KbqNavbarIcTitle) title: KbqNavbarIcTitle;\n /** @docs-private */\n @ContentChild(KbqButton) button: KbqButton;\n /** @docs-private */\n @ContentChild(KbqFormField) formField: KbqFormField;\n\n get tooltip(): KbqTooltipTrigger {\n return this._tooltip;\n }\n\n private _tooltip: KbqTooltipTrigger;\n\n readonly onFocus = new Subject<KbqNavbarFocusableItemEvent>();\n\n readonly onBlur = new Subject<KbqNavbarFocusableItemEvent>();\n\n get hasFocus(): boolean {\n return this._hasFocus;\n }\n\n set hasFocus(value: boolean) {\n this._hasFocus = value;\n }\n\n private _hasFocus: boolean = false;\n\n /** Whether the item is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n if (value !== this._disabled) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled = false;\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n ngAfterContentInit(): void {\n if (this.button) {\n this.button.tabIndex = -1;\n }\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n setTooltip(value: KbqTooltipTrigger) {\n this._tooltip = value;\n }\n\n focus(origin?: FocusOrigin): void {\n if (this.disabled || this.hasFocus) {\n return;\n }\n\n if (origin === 'keyboard') {\n this.focusMonitor.focusVia(this.elementRef, origin);\n }\n\n this.tooltip?.show();\n this.focusHandler();\n }\n\n /** @docs-private */\n focusHandler() {\n if (this.disabled || this.hasFocus) return;\n\n this.onFocus.next({ item: this });\n\n this.hasFocus = true;\n\n this.changeDetector.markForCheck();\n\n this.elementRef.nativeElement.focus();\n }\n\n /** @docs-private */\n blurHandler(): void {\n // When animations are enabled, Angular may end up removing the option from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the list\n // that moves focus not the next item. To work around the issue, we defer marking the option\n // as not focused until the next time the zone stabilizes.\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.ngZone.run(() => {\n this._hasFocus = false;\n\n this.tooltip?.hide();\n\n if (this.button?.hasFocus) {\n return;\n }\n\n this.onBlur.next({ item: this });\n });\n });\n }\n\n getLabel(): string {\n return this.title?.text || '';\n }\n}\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic-item, [kbq-navbar-ic-item]',\n exportAs: 'kbqNavbarIcItem',\n templateUrl: './navbar-ic-item.html',\n styleUrl: './navbar-ic-item.scss',\n host: {\n class: 'kbq-navbar-ic-item',\n '[class.kbq-navbar-ic-item_with-title]': '!!title',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [KbqRectangleItem],\n imports: [KbqIcon]\n})\nexport class KbqNavbarIcItem extends KbqTooltipTrigger implements AfterContentInit {\n readonly rectangleElement = inject(KbqRectangleItem);\n readonly navbarFocusableItem = inject(KbqNavbarIcFocusableItem);\n\n private changeDetectorRef = inject(ChangeDetectorRef);\n private dropdownTrigger = inject(KbqDropdownTrigger, { optional: true });\n private tooltip = inject(KbqTooltipTrigger, { optional: true });\n\n /** @docs-private */\n @ContentChild(KbqNavbarIcTitle) title: KbqNavbarIcTitle;\n /** @docs-private */\n @ContentChild(KbqIcon) icon: KbqIcon;\n /** @docs-private */\n @ContentChild(KbqButtonCssStyler) button: KbqButtonCssStyler;\n\n @Input('kbqTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n\n this.initListeners();\n }\n }\n\n set collapsed(value: boolean) {\n if (this._collapsed !== value) {\n this._collapsed = value;\n\n this.updateTooltip();\n }\n }\n\n private _collapsed = false;\n\n get croppedText(): string {\n return this.title?.isOverflown ? this.titleText : '';\n }\n\n get titleText(): string {\n return this.title?.text;\n }\n\n get disabled(): boolean {\n if (this._disabled !== undefined) {\n return this._disabled;\n }\n\n return !this.collapsed && !this.hasCroppedText;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n get hasDropDownTrigger(): boolean {\n return !!this.dropdownTrigger;\n }\n\n get showDropDownAngle(): boolean {\n return this.hasDropDownTrigger && !this.collapsed;\n }\n\n get hasCroppedText(): boolean {\n return !!this.title?.isOverflown;\n }\n\n constructor() {\n super();\n\n if (this.dropdownTrigger) {\n this.dropdownTrigger.openByArrowDown = false;\n }\n\n this.rectangleElement.state.subscribe(() => {\n this.collapsed = this.rectangleElement.collapsed;\n\n this.changeDetectorRef.markForCheck();\n });\n\n this._trigger = `${PopUpTriggers.Hover}`;\n\n this.navbarFocusableItem.setTooltip(this);\n\n if (this.tooltip) {\n this.tooltip.arrow = false;\n this.tooltip.offset = 0;\n\n this.tooltip['overlayConfig'].panelClass = 'kbq-tooltip-panel_horizontal-navbar';\n }\n }\n\n ngAfterContentInit(): void {\n if (this.dropdownTrigger?.dropdown) {\n this.dropdownTrigger.dropdown.overlapTriggerX = false;\n this.dropdownTrigger.dropdown.overlapTriggerY = true;\n // needs to shift dropdown to the left by 8 pixels\n this.dropdownTrigger.offsetX = -8;\n }\n\n this.updateTooltip();\n }\n\n /** @docs-private */\n updateTooltip(): void {\n if (!this.collapsed && this.hasCroppedText) {\n this.content = this.croppedText;\n }\n\n this.placement = PopUpPlacements.Right;\n\n this.changeDetectorRef.markForCheck();\n }\n\n /** @docs-private */\n onKeyDown($event: KeyboardEvent) {\n if (!this.hasDropDownTrigger) {\n return;\n }\n\n if (this.dropdownTrigger && this.rectangleElement && $event.keyCode === RIGHT_ARROW) {\n this.dropdownTrigger.openedBy = 'keyboard';\n this.dropdownTrigger.open();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n}\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic-toggle',\n template: `\n <div class=\"kbq-navbar-ic-item__inner\">\n @if (navbar.pinned) {\n <i kbq-icon [class.kbq-chevron-left_16]=\"navbar.expanded\"></i>\n <ng-content select=\"[kbqNavbarIcTitle]\">{{ localeData.collapseButton }}</ng-content>\n } @else if ((navbar.expandedByHoverOrFocus || navbar.expandedByToggle) && !navbar.pinned) {\n <i\n kbq-icon\n [class.kbq-pin_16]=\"navbar.expanded\"\n [class.kbq-chevron-left_16]=\"navbar.expanded && navbar.pinned\"\n ></i>\n {{ localeData.pinButton }}\n } @else {\n <i kbq-icon [class.kbq-chevron-right_16]=\"!navbar.expanded\"></i>\n }\n </div>\n `,\n styleUrls: ['./navbar-ic.scss'],\n host: {\n class: 'kbq-navbar-ic-item kbq-navbar-ic-toggle',\n '[class.kbq-collapsed]': '!navbar.expanded',\n '[class.kbq-expanded]': 'navbar.expanded',\n\n '(keydown)': 'onKeydown($event)',\n '(click)': 'toggle()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [KbqIcon],\n hostDirectives: [KbqRectangleItem]\n})\nexport class KbqNavbarIcToggle {\n readonly navbar = inject(KbqNavbarIc);\n readonly rectangleElement = inject(KbqRectangleItem);\n\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n /** localized data\n * @docs-private */\n get localeData() {\n return this.navbar?.configuration.toggle;\n }\n\n constructor() {\n this.rectangleElement.state.subscribe(() => this.changeDetectorRef.markForCheck());\n }\n\n /** @docs-private */\n onKeydown($event: KeyboardEvent) {\n if ([SPACE, ENTER].includes($event.keyCode)) {\n this.toggle();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n\n toggle = () => {\n if ((this.navbar.expandedByHoverOrFocus || this.navbar.expandedByToggle) && !this.navbar.pinned) {\n this.navbar.pinned = true;\n } else {\n this.navbar.pinned = false;\n this.navbar.toggle();\n }\n\n this.changeDetectorRef.detectChanges();\n };\n}\n","<div class=\"kbq-navbar-ic-item__inner\">\n <ng-content select=\"[kbq-icon]\" />\n\n @if (title && !collapsed) {\n <div class=\"kbq-navbar-ic-item__title-container\">\n <ng-content select=\"[kbqNavbarIcTitle]\" />\n\n @if (showDropDownAngle) {\n <i kbq-icon=\"kbq-chevron-right_16\" class=\"kbq-navbar-ic-item__arrow-icon\"></i>\n }\n </div>\n }\n\n <ng-content />\n</div>\n","import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport function toggleNavbarIcAnimation(): AnimationTriggerMetadata {\n return trigger('toggle', [\n state('0', style({ width: '64px' })),\n state('1', style({ width: '240px' })),\n transition('0 <=> 1', animate('150ms ease-out'))]);\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n ContentChildren,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n Input,\n numberAttribute,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FocusKeyManager } from '@koobiq/cdk/a11y';\nimport { DOWN_ARROW, isVerticalMovement, TAB, UP_ARROW } from '@koobiq/cdk/keycodes';\nimport { KBQ_LOCALE_SERVICE, KbqRectangleItem, ruRULocaleData } from '@koobiq/components/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\nimport { KbqPopoverTrigger } from '@koobiq/components/popover';\nimport { BehaviorSubject, combineLatest, merge, Observable, Subject, Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport {\n KbqNavbarFocusableItemEvent,\n KbqNavbarIcFocusableItem,\n KbqNavbarIcItem,\n KbqNavbarIcToggle\n} from './navbar-ic-item';\nimport { toggleNavbarIcAnimation } from './navbar-ic.animation';\n\nexport enum KbqExpandEvents {\n toggle,\n hoverOrFocus\n}\n\n/** default configuration of navbar-ic */\n/** @docs-private */\nexport const KBQ_NAVBAR_IC_DEFAULT_CONFIGURATION = ruRULocaleData.navbarIc;\n\n/** Injection Token for providing configuration of navbar-ic */\n/** @docs-private */\nexport const KBQ_NAVBAR_IC_CONFIGURATION = new InjectionToken('KbqNavbarIcConfiguration');\n\n@Directive()\nexport class KbqFocusable implements AfterContentInit, AfterViewInit, OnDestroy {\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n protected readonly elementRef = inject(ElementRef);\n protected readonly destroyRef = inject(DestroyRef);\n protected readonly focusMonitor = inject(FocusMonitor);\n\n @ContentChildren(forwardRef(() => KbqNavbarIcFocusableItem), { descendants: true })\n focusableItems: QueryList<KbqNavbarIcFocusableItem>;\n\n keyManager: FocusKeyManager<KbqNavbarIcFocusableItem>;\n\n @Input({ transform: numberAttribute })\n get tabindex(): number {\n return this._tabindex;\n }\n\n set tabindex(value: number) {\n this._tabindex = value;\n }\n\n private _tabindex = 0;\n\n get itemFocusChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((item) => item.onFocus));\n }\n\n get itemBlurChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((option) => option.onBlur));\n }\n\n private itemFocusSubscription: Subscription | null;\n private itemBlurSubscription: Subscription | null;\n\n ngAfterContentInit(): void {\n this.keyManager = new FocusKeyManager<KbqNavbarIcFocusableItem>(this.focusableItems).withTypeAhead();\n\n this.keyManager.tabOut.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.tabindex = -1;\n\n setTimeout(() => {\n this.tabindex = 0;\n this.changeDetectorRef.markForCheck();\n });\n });\n\n this.focusableItems.changes.pipe(startWith(null), takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.resetOptions();\n\n // Check to see if we need to update our tab index\n this.updateTabIndex();\n });\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef).subscribe((focusOrigin) => {\n this.keyManager.setFocusOrigin(focusOrigin);\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n /** @docs-private */\n focusHandler(): void {\n if (this.focusableItems.length === 0) return;\n\n this.keyManager.setFirstItemActive();\n }\n\n /** @docs-private */\n blurHandler() {\n if (!this.hasFocusedItem()) {\n this.keyManager.setActiveItem(-1);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected resetOptions() {\n this.dropSubscriptions();\n this.listenToItemsFocus();\n }\n\n protected dropSubscriptions() {\n this.itemFocusSubscription?.unsubscribe();\n this.itemBlurSubscription?.unsubscribe();\n\n this.itemFocusSubscription = null;\n this.itemBlurSubscription = null;\n }\n\n protected listenToItemsFocus(): void {\n this.itemFocusSubscription = this.itemFocusChanges.subscribe((event) => {\n const index: number = this.focusableItems.toArray().indexOf(event.item);\n\n if (this.isValidIndex(index)) {\n this.keyManager.updateActiveItem(index);\n }\n });\n\n this.itemBlurSubscription = this.itemBlurChanges.subscribe(() => this.blurHandler());\n }\n\n protected updateTabIndex(): void {\n this.tabindex = this.focusableItems.length === 0 ? -1 : 0;\n }\n\n protected isValidIndex(index: number): boolean {\n return index >= 0 && index < this.focusableItems.length;\n }\n\n protected hasFocusedItem() {\n return this.focusableItems.some((item) => item.hasFocus);\n }\n}\n\n@Directive({\n standalone: true,\n selector: 'kbq-navbar-ic-container',\n host: {\n class: 'kbq-navbar-ic-container'\n }\n})\nexport class KbqNavbarIcContainer {}\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic',\n exportAs: 'KbqNavbarIc',\n template: `\n <div class=\"kbq-navbar-ic__top-layer\" [@toggle]=\"expanded\" (@toggle.done)=\"animationDone.next()\">\n <ng-content select=\"[kbq-navbar-ic-container], kbq-navbar-ic-container\" />\n <ng-content select=\"[kbq-navbar-ic-toggle], kbq-navbar-ic-toggle\" />\n </div>\n `,\n styleUrls: [\n './navbar-ic.scss',\n './navbar-ic-divider.scss',\n './navbar-ic-tokens.scss'\n ],\n host: {\n class: 'kbq-navbar-ic',\n '[class.kbq-collapsed]': '!expanded',\n '[class.kbq-expanded]': 'expanded',\n '[style.min-width.px]': 'pinned ? expandedWidth : collapsedWidth',\n '[attr.tabindex]': 'tabindex',\n\n '(focus)': 'focusHandler()',\n '(blur)': 'blurHandler()',\n\n '(keydown)': 'onKeyDown($event)',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n },\n animations: [toggleNavbarIcAnimation()],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarIc extends KbqFocusable implements AfterContentInit {\n /** @docs-private */\n protected readonly localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });\n\n readonly externalConfiguration = inject(KBQ_NAVBAR_IC_CONFIGURATION, { optional: true });\n\n configuration;\n\n /** @docs-private */\n rectangleElements = contentChildren(\n forwardRef(() => KbqRectangleItem),\n { descendants: true }\n );\n\n /** @docs-private */\n items = contentChildren(\n forwardRef(() => KbqNavbarIcItem),\n { descendants: true }\n );\n\n /** @docs-private */\n toggleElement = contentChildren(\n forwardRef(() => KbqNavbarIcToggle),\n { descendants: true }\n );\n\n /** @docs-private */\n dropdownTrigger = contentChildren(\n forwardRef(() => KbqDropdownTrigger),\n { descendants: true }\n );\n\n /** @docs-private */\n popoverTrigger = contentChildren(\n forwardRef(() => KbqPopoverTrigger),\n { descendants: true }\n );\n\n readonly hovered = new BehaviorSubject<boolean>(false);\n readonly focused = new BehaviorSubject<boolean>(false);\n\n readonly animationDone: Subject<void> = new Subject();\n\n expandEvent: KbqExpandEvents | null = null;\n\n @Input({ transform: booleanAttribute }) pinned = true;\n\n @Input({ transform: numberAttribute }) collapsedWidth = 64;\n @Input({ transform: numberAttribute }) expandedWidth = 240;\n\n @Input({ transform: booleanAttribute })\n get expanded(): boolean {\n return this._expanded || this.pinned || this.hasOpenedPopUp;\n }\n\n set expanded(value: boolean) {\n this._expanded = value;\n\n this.updateExpandedStateForItems();\n }\n\n private _expanded: boolean = true;\n\n get hasOpenedPopUp() {\n return [...this.dropdownTrigger(), ...this.popoverTrigger()].some(\n (instance) => instance?.isOpen || instance?.opened\n );\n }\n\n get expandedByToggle() {\n return this.expanded && this.expandEvent === KbqExpandEvents.toggle;\n }\n\n get expandedByHoverOrFocus() {\n return this.expanded && this.expandEvent === KbqExpandEvents.hoverOrFocus;\n }\n\n get currentWidth(): number {\n return this.expanded ? this.expandedWidth : this.collapsedWidth;\n }\n\n constructor() {\n super();\n\n this.animationDone.pipe(takeUntilDestroyed()).subscribe(this.updateTooltipForItems);\n\n effect(this.updateExpandedStateForItems);\n\n combineLatest([this.hovered, this.focused])\n .pipe(takeUntilDestroyed())\n .subscribe(([hovered, focused]) => {\n if (this.pinned) return;\n\n this.expandEvent = KbqExpandEvents.hoverOrFocus;\n this.expanded = hovered || focused;\n\n this.changeDetectorRef.markForCheck();\n });\n\n this.focusMonitor.monitor(this.elementRef, true).subscribe((focusOrigin) => {\n this.focused.next(focusOrigin === 'keyboard');\n });\n\n this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);\n\n if (!this.localeService) {\n this.initDefaultParams();\n }\n }\n\n /** @docs-private */\n ngAfterContentInit(): void {\n this.updateTooltipForItems();\n\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(true);\n }\n\n toggle(): void {\n this.expanded = !this.expanded;\n\n this.expandEvent = KbqExpandEvents.toggle;\n\n this.changeDetectorRef.markForCheck();\n }\n\n /** @docs-private */\n onKeyDown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n if (!(event.target as HTMLElement).attributes.getNamedItem('kbqinput') && isVerticalMovement(event)) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === DOWN_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === UP_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n protected updateTooltipForItems = () => this.items().forEach((item) => item.updateTooltip());\n\n protected updateExpandedStateForItems = () => this.rectangleElements().forEach(this.updateItemExpandedState);\n\n protected updateItemExpandedState = (item: KbqNavbarIcItem): void => {\n item.collapsed = !this.expanded;\n setTimeout(() => item.button?.updateClassModifierForIcons());\n };\n\n private updateLocaleParams = () => {\n this.configuration = this.externalConfiguration || this.localeService?.getParams('navbarIc');\n\n this.changeDetectorRef.markForCheck();\n };\n\n private initDefaultParams() {\n this.configuration = KBQ_NAVBAR_IC_DEFAULT_CONFIGURATION;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n DestroyRef,\n ElementRef,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { PopUpPlacements, PopUpTriggers } from '@koobiq/components/core';\nimport { KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { KbqNavbarIc } from './navbar-ic';\nimport { KbqNavbarIcLogo, KbqNavbarIcTitle } from './navbar-ic-item';\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic-header, [kbq-navbar-ic-header]',\n exportAs: 'kbqNavbarIcHeader',\n template: `\n <div class=\"kbq-navbar-ic-header__inner\">\n <ng-content />\n </div>\n `,\n styleUrl: './navbar-ic-header.scss',\n host: {\n class: 'kbq-navbar-ic-header',\n '[class.kbq-navbar-ic-header_interactive]': 'isLink'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarIcHeader extends KbqTooltipTrigger implements AfterContentInit {\n protected readonly navbar = inject(KbqNavbarIc);\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n protected readonly destroyRef = inject(DestroyRef);\n\n @ContentChild(KbqNavbarIcLogo) logo: KbqNavbarIcLogo;\n @ContentChild(KbqNavbarIcTitle) title: KbqNavbarIcTitle;\n\n get titleText(): string {\n return this.title?.text || '';\n }\n\n get isLink(): boolean {\n return this.nativeElement.tagName === 'A';\n }\n\n constructor() {\n super();\n\n this._trigger = `${PopUpTriggers.Hover}`;\n\n this.arrow = false;\n this.offset = -8;\n this.tooltipPlacement = PopUpPlacements.RightTop;\n }\n\n ngAfterContentInit(): void {\n this.navbar?.animationDone\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.title?.checkTextOverflown());\n\n this.title?.checkTextOverflown();\n\n if (this.title?.isTextOverflown) {\n this.content = this.titleText;\n }\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqRectangleItem } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport { KbqNavbarIc, KbqNavbarIcContainer } from './navbar-ic';\nimport { KbqNavbarIcHeader } from './navbar-ic-header';\nimport {\n KbqNavbarIcDivider,\n KbqNavbarIcFocusableItem,\n KbqNavbarIcItem,\n KbqNavbarIcLogo,\n KbqNavbarIcTitle,\n KbqNavbarIcToggle\n} from './navbar-ic-item';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n KbqIconModule,\n KbqToolTipModule,\n KbqNavbarIc,\n KbqNavbarIcTitle,\n KbqNavbarIcItem,\n KbqNavbarIcHeader,\n KbqNavbarIcLogo,\n KbqNavbarIcToggle,\n KbqNavbarIcDivider,\n KbqNavbarIcFocusableItem,\n KbqNavbarIcContainer,\n KbqRectangleItem\n ],\n exports: [\n KbqNavbarIc,\n KbqNavbarIcContainer,\n KbqNavbarIcTitle,\n KbqNavbarIcItem,\n KbqNavbarIcHeader,\n KbqNavbarIcLogo,\n KbqNavbarIcToggle,\n KbqNavbarIcDivider,\n KbqNavbarIcFocusableItem\n ]\n})\nexport class KbqNavbarIcModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -849,9 +849,9 @@ class KbqNavbarToggle extends KbqTooltipTrigger {
849
849
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KbqNavbarToggle, selector: "kbq-navbar-toggle", inputs: { content: ["kbqCollapsedTooltip", "content"] }, host: { listeners: { "keydown": "onKeydown($event)", "click": "toggle()", "touchend": "handleTouchend()" }, properties: { "class.kbq-tooltip_open": "isOpen", "class.kbq-collapsed": "!navbar.expanded", "class.kbq-expanded": "navbar.expanded" }, classAttribute: "kbq-navbar-item kbq-navbar-toggle kbq-vertical" }, queries: [{ propertyName: "customIcon", first: true, predicate: KbqIcon, descendants: true }], usesInheritance: true, ngImport: i0, template: `
850
850
  @if (!customIcon) {
851
851
  <i
852
+ kbq-icon
852
853
  [class.kbq-chevron-left_16]="navbar.expanded"
853
854
  [class.kbq-chevron-right_16]="!navbar.expanded"
854
- kbq-icon
855
855
  ></i>
856
856
  }
857
857
 
@@ -869,9 +869,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
869
869
  args: [{ selector: 'kbq-navbar-toggle', template: `
870
870
  @if (!customIcon) {
871
871
  <i
872
+ kbq-icon
872
873
  [class.kbq-chevron-left_16]="navbar.expanded"
873
874
  [class.kbq-chevron-right_16]="!navbar.expanded"
874
- kbq-icon
875
875
  ></i>
876
876
  }
877
877
 
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-navbar.mjs","sources":["../../../packages/components/navbar/navbar.component.ts","../../../packages/components/navbar/vertical-navbar.component.ts","../../../packages/components/navbar/navbar-item.component.ts","../../../packages/components/navbar/navbar-item.component.html","../../../packages/components/navbar/navbar.module.ts","../../../packages/components/navbar/koobiq-components-navbar.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n ContentChildren,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n inject,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FocusKeyManager } from '@koobiq/cdk/a11y';\nimport { isHorizontalMovement, isVerticalMovement, LEFT_ARROW, RIGHT_ARROW, TAB } from '@koobiq/cdk/keycodes';\nimport { merge, Observable, Subject, Subscription } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\nimport {\n KbqNavbarFocusableItem,\n KbqNavbarFocusableItemEvent,\n KbqNavbarItem,\n KbqNavbarRectangleElement\n} from './navbar-item.component';\n\nexport type KbqNavbarContainerPositionType = 'left' | 'right';\n\n@Directive()\nexport class KbqFocusableComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n @ContentChildren(forwardRef(() => KbqNavbarFocusableItem), { descendants: true })\n focusableItems: QueryList<KbqNavbarFocusableItem>;\n\n keyManager: FocusKeyManager<KbqNavbarFocusableItem>;\n\n @Input()\n get tabIndex(): any {\n return this._tabIndex;\n }\n\n set tabIndex(value: any) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n get optionFocusChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((item) => item.onFocus));\n }\n\n get optionBlurChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((option) => option.onBlur));\n }\n\n private readonly destroyRef = inject(DestroyRef);\n\n private optionFocusSubscription: Subscription | null;\n private optionBlurSubscription: Subscription | null;\n\n constructor(\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly elementRef: ElementRef,\n protected readonly focusMonitor: FocusMonitor\n ) {}\n\n ngAfterContentInit(): void {\n this.keyManager = new FocusKeyManager<KbqNavbarFocusableItem>(this.focusableItems).withTypeAhead();\n\n this.keyManager.tabOut.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.tabIndex = -1;\n\n setTimeout(() => {\n this.tabIndex = 0;\n this.changeDetectorRef.markForCheck();\n });\n });\n\n this.focusableItems.changes.pipe(startWith(null), takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.resetOptions();\n\n // Check to see if we need to update our tab index\n this.updateTabIndex();\n });\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef).subscribe((focusOrigin) => {\n this.keyManager.setFocusOrigin(focusOrigin);\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n focus(): void {\n if (this.focusableItems.length === 0) {\n return;\n }\n\n this.keyManager.setFirstItemActive();\n }\n\n blur() {\n if (!this.hasFocusedItem()) {\n this.keyManager.setActiveItem(-1);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected resetOptions() {\n this.dropSubscriptions();\n this.listenToOptionsFocus();\n }\n\n protected dropSubscriptions() {\n if (this.optionFocusSubscription) {\n this.optionFocusSubscription.unsubscribe();\n this.optionFocusSubscription = null;\n }\n\n if (this.optionBlurSubscription) {\n this.optionBlurSubscription.unsubscribe();\n this.optionBlurSubscription = null;\n }\n }\n\n private listenToOptionsFocus(): void {\n this.optionFocusSubscription = this.optionFocusChanges.subscribe((event) => {\n const index: number = this.focusableItems.toArray().indexOf(event.item);\n\n if (this.isValidIndex(index)) {\n this.keyManager.updateActiveItem(index);\n }\n });\n\n this.optionBlurSubscription = this.optionBlurChanges.subscribe(() => this.blur());\n }\n\n private updateTabIndex(): void {\n this.tabIndex = this.focusableItems.length === 0 ? -1 : 0;\n }\n\n private isValidIndex(index: number): boolean {\n return index >= 0 && index < this.focusableItems.length;\n }\n\n private hasFocusedItem() {\n return this.focusableItems.some((item) => item.hasFocus);\n }\n}\n\n@Directive({\n selector: 'kbq-navbar-container',\n host: {\n class: 'kbq-navbar-container'\n }\n})\nexport class KbqNavbarContainer {}\n\n@Component({\n selector: 'kbq-navbar',\n template: `\n <ng-content select=\"[kbq-navbar-container], kbq-navbar-container\" />\n `,\n styleUrls: [\n './navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss',\n './navbar-tokens.scss'\n ],\n host: {\n class: 'kbq-navbar',\n\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)',\n\n '(window:resize)': 'resizeStream.next($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbar extends KbqFocusableComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n rectangleElements = contentChildren(\n forwardRef(() => KbqNavbarRectangleElement),\n { descendants: true }\n );\n\n @ContentChildren(forwardRef(() => KbqNavbarItem), { descendants: true }) navbarItems: QueryList<KbqNavbarItem>;\n\n readonly resizeStream = new Subject<Event>();\n\n private readonly resizeDebounceInterval: number = 100;\n\n private get width(): number {\n return this.elementRef.nativeElement.getBoundingClientRect().width;\n }\n\n private get totalItemsWidth(): number {\n return this.rectangleElements().reduce((acc, item) => acc + item.getOuterElementWidth(), 0);\n }\n\n private get collapsableItems(): KbqNavbarItem[] {\n return this.navbarItems\n .toArray()\n .filter((item) => item.icon && item.title && item.collapsable)\n .reverse();\n }\n\n private resizeSubscription: Subscription;\n\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly focusMonitor: FocusMonitor\n ) {\n super(changeDetectorRef, elementRef, focusMonitor);\n\n this.resizeSubscription = this.resizeStream\n .pipe(debounceTime(this.resizeDebounceInterval), takeUntilDestroyed())\n .subscribe(this.updateExpandedStateForItems);\n\n effect(() => this.setItemsState(this.rectangleElements()));\n }\n\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(false).withHorizontalOrientation('ltr');\n }\n\n ngAfterViewInit(): void {\n // Note: this wait is required for loading and rendering fonts for icons;\n // unfortunately we cannot control font rendering\n setTimeout(this.updateExpandedStateForItems);\n }\n\n ngOnDestroy() {\n this.resizeSubscription.unsubscribe();\n\n super.ngOnDestroy();\n }\n\n onKeyDown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n if (!this.eventFromInput(event) && (isVerticalMovement(event) || isHorizontalMovement(event))) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (this.eventFromInput(event) && this.cursorOnLastPosition(event) && keyCode === RIGHT_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (this.eventFromInput(event) && this.cursorOnFirstPosition(event) && keyCode === LEFT_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else if (!this.eventFromInput(event)) {\n this.keyManager.onKeydown(event);\n }\n }\n\n updateExpandedStateForItems = () => {\n const collapseDelta = this.totalItemsWidth - this.width;\n\n const needCollapse = collapseDelta > 0;\n\n if (needCollapse) {\n this.collapseItems(collapseDelta);\n } else {\n this.expandItems(collapseDelta);\n }\n };\n\n private eventFromInput(event: KeyboardEvent): boolean {\n return !!(event.target as HTMLElement).attributes.getNamedItem('kbqinput');\n }\n\n private cursorOnFirstPosition(event: KeyboardEvent): boolean {\n const input = event.target as HTMLInputElement;\n\n return input.selectionStart === 0;\n }\n\n private cursorOnLastPosition(event: KeyboardEvent): boolean {\n const input = event.target as HTMLInputElement;\n\n return input.selectionEnd === input.value.length;\n }\n\n private collapseItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n const unCollapsedItems = this.collapsableItems.filter((item) => !item.collapsed);\n\n for (const item of unCollapsedItems) {\n item.collapsed = true;\n delta -= item.getTitleWidth();\n\n if (delta < 0) {\n break;\n }\n }\n }\n\n private expandItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n this.collapsableItems\n .filter((item) => item.collapsed)\n .forEach((item) => {\n if (delta + item.getTitleWidth() < 0) {\n item.collapsed = false;\n delta += item.getTitleWidth();\n }\n });\n }\n\n private setItemsState = (rectangleElements: Readonly<KbqNavbarRectangleElement[]>) => {\n Promise.resolve().then(() => rectangleElements.forEach((item) => (item.horizontal = true)));\n };\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n contentChildren,\n ContentChildren,\n effect,\n ElementRef,\n forwardRef,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DOWN_ARROW, isHorizontalMovement, isVerticalMovement, TAB, UP_ARROW } from '@koobiq/cdk/keycodes';\nimport { Subject } from 'rxjs';\nimport { KbqNavbarBento, KbqNavbarItem, KbqNavbarRectangleElement } from './navbar-item.component';\nimport { KbqFocusableComponent } from './navbar.component';\n\n@Component({\n selector: 'kbq-vertical-navbar',\n exportAs: 'KbqVerticalNavbar',\n template: `\n <div class=\"kbq-vertical-navbar__container\" [class.kbq-collapsed]=\"!expanded\" [class.kbq-expanded]=\"expanded\">\n <ng-content select=\"[kbq-navbar-container], kbq-navbar-container\" />\n <ng-content select=\"[kbq-navbar-toggle], kbq-navbar-toggle\" />\n </div>\n `,\n styleUrls: [\n './vertical-navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss',\n './navbar-tokens.scss'\n ],\n host: {\n class: 'kbq-vertical-navbar',\n '[class.kbq-vertical-navbar_open-over]': 'openOver',\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqVerticalNavbar extends KbqFocusableComponent implements AfterContentInit {\n rectangleElements = contentChildren(\n forwardRef(() => KbqNavbarRectangleElement),\n { descendants: true }\n );\n\n @ContentChildren(forwardRef(() => KbqNavbarItem), { descendants: true }) items: QueryList<KbqNavbarItem>;\n\n @ContentChild(forwardRef(() => KbqNavbarBento)) bento: KbqNavbarBento;\n\n readonly animationDone: Subject<void> = new Subject();\n\n @Input() openOver: boolean = false;\n\n @Input()\n get expanded() {\n return this._expanded;\n }\n\n set expanded(value: boolean) {\n this._expanded = coerceBooleanProperty(value);\n\n this.updateExpandedStateForItems();\n }\n\n private _expanded: boolean = false;\n\n constructor(\n protected elementRef: ElementRef,\n changeDetectorRef: ChangeDetectorRef,\n focusMonitor: FocusMonitor\n ) {\n super(changeDetectorRef, elementRef, focusMonitor);\n\n this.animationDone.pipe(takeUntilDestroyed()).subscribe(this.updateTooltipForItems);\n\n effect(() => this.setItemsVerticalStateAndUpdateExpandedState(this.rectangleElements()));\n }\n\n ngAfterContentInit(): void {\n this.updateTooltipForItems();\n\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(true);\n }\n\n toggle(): void {\n this.expanded = !this.expanded;\n\n this.changeDetectorRef.markForCheck();\n }\n\n onKeyDown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n if (\n !(event.target as HTMLElement).attributes.getNamedItem('kbqinput') &&\n (isVerticalMovement(event) || isHorizontalMovement(event))\n ) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === DOWN_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === UP_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n private updateExpandedStateForItems = () => this.rectangleElements().forEach(this.updateItemExpandedState);\n\n private updateTooltipForItems = () => this.items.forEach((item) => item.updateTooltip());\n\n private setItemsVerticalStateAndUpdateExpandedState = (rectangleElements: Readonly<KbqNavbarRectangleElement[]>) =>\n rectangleElements.forEach(this.setItemVerticalStateAndUpdateExpandedState);\n\n private setItemVerticalStateAndUpdateExpandedState = (item: KbqNavbarRectangleElement): void => {\n queueMicrotask(() => this.setItemVerticalState(item));\n this.updateItemExpandedState(item);\n };\n\n private setItemVerticalState = (item: KbqNavbarRectangleElement): void => {\n item.vertical = true;\n };\n\n private updateItemExpandedState = (item: KbqNavbarRectangleElement): void => {\n item.collapsed = !this.expanded;\n setTimeout(() => item.button?.updateClassModifierForIcons());\n };\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n DestroyRef,\n Directive,\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IFocusableOption } from '@koobiq/cdk/a11y';\nimport { DOWN_ARROW, ENTER, NUMPAD_DIVIDE, RIGHT_ARROW, SLASH, SPACE } from '@koobiq/cdk/keycodes';\nimport { KbqButton, KbqButtonCssStyler } from '@koobiq/components/button';\nimport { KBQ_WINDOW, PopUpPlacements, PopUpTriggers } from '@koobiq/components/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\nimport { KbqFormField } from '@koobiq/components/form-field';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqTooltipTrigger, TooltipModifier } from '@koobiq/components/tooltip';\nimport { EMPTY, Subject, merge } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { KbqVerticalNavbar } from './vertical-navbar.component';\n\nexport interface KbqNavbarFocusableItemEvent {\n item: KbqNavbarFocusableItem;\n}\n\n@Directive({\n selector: 'kbq-navbar-logo, [kbq-navbar-logo]',\n host: {\n class: 'kbq-navbar-logo',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class KbqNavbarLogo {\n readonly hovered = new Subject<boolean>();\n}\n\n@Directive({\n selector: 'kbq-navbar-item[bento], [kbq-navbar-item][bento]',\n host: {\n class: 'kbq-navbar-bento'\n }\n})\nexport class KbqNavbarBento {}\n\n@Directive({\n selector: 'kbq-navbar-title, [kbq-navbar-title]',\n host: {\n class: 'kbq-navbar-title',\n '[class.kbq-navbar-title_small]': 'isTextOverflown',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class KbqNavbarTitle implements AfterViewInit {\n protected readonly isBrowser = inject(Platform).isBrowser;\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n private readonly window = inject(KBQ_WINDOW);\n\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n isTextOverflown: boolean = false;\n\n get text(): string {\n return this.nativeElement.textContent;\n }\n\n get isOverflown() {\n return this.nativeElement.scrollWidth > this.nativeElement.clientWidth;\n }\n\n getOuterElementWidth(): number {\n if (!this.isBrowser) return 0;\n\n const { width, marginLeft, marginRight } = this.window.getComputedStyle(this.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);\n }\n\n checkTextOverflown() {\n this.isTextOverflown = this.text.length > 18;\n }\n\n ngAfterViewInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n@Component({\n selector: 'kbq-navbar-brand, [kbq-navbar-brand]',\n exportAs: 'kbqNavbarBrand',\n template: `\n <ng-content />\n `,\n host: {\n class: 'kbq-navbar-brand',\n '[class.kbq-hovered]': 'hovered'\n }\n})\nexport class KbqNavbarBrand implements AfterContentInit {\n @ContentChild(KbqNavbarLogo) logo: KbqNavbarLogo;\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n hovered = false;\n\n get hasBento(): boolean {\n return !!this.navbar?.bento;\n }\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(@Optional() private navbar: KbqVerticalNavbar) {}\n\n ngAfterContentInit(): void {\n merge(this.logo ? this.logo.hovered : (EMPTY as any), this.title ? this.title.hovered : (EMPTY as any))\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => (this.hovered = !!value));\n\n this.navbar?.animationDone\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.title?.checkTextOverflown());\n }\n}\n\n@Directive({\n selector: 'kbq-navbar-divider',\n host: {\n class: 'kbq-navbar-divider'\n }\n})\nexport class KbqNavbarDivider {}\n\n@Directive({\n selector: 'kbq-navbar-item, [kbq-navbar-item], kbq-navbar-brand, [kbq-navbar-brand], kbq-navbar-toggle',\n host: {\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n class: 'kbq-navbar-focusable-item',\n '[class.kbq-navbar-item_has-nested]': '!!nestedElement',\n '[class.kbq-disabled]': 'disabled',\n\n '(focus)': 'onFocusHandler()',\n '(blur)': 'blur()'\n }\n})\nexport class KbqNavbarFocusableItem implements AfterContentInit, AfterViewInit, OnDestroy, IFocusableOption {\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n @ContentChild(KbqButton) button: KbqButton;\n\n @ContentChild(KbqFormField) formField: KbqFormField;\n\n get nestedElement(): KbqButton | KbqFormField {\n return this.button || this.formField;\n }\n\n get tooltip(): KbqTooltipTrigger {\n return this._tooltip;\n }\n\n private _tooltip: KbqTooltipTrigger;\n\n readonly onFocus = new Subject<KbqNavbarFocusableItemEvent>();\n\n readonly onBlur = new Subject<KbqNavbarFocusableItemEvent>();\n\n get hasFocus(): boolean {\n return !!this.nestedElement?.hasFocus || this._hasFocus;\n }\n\n set hasFocus(value: boolean) {\n this._hasFocus = value;\n }\n\n private _hasFocus: boolean = false;\n\n /** Whether the item is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n if (value !== this._disabled) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled = false;\n\n get tabIndex(): number {\n return -1;\n }\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private ngZone: NgZone\n ) {}\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n ngAfterContentInit(): void {\n if (this.button) {\n this.button.tabIndex = -1;\n }\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n setTooltip(value: KbqTooltipTrigger) {\n this._tooltip = value;\n }\n\n onFocusHandler() {\n if (this.disabled || this.hasFocus) {\n return;\n }\n\n this.onFocus.next({ item: this });\n\n this.hasFocus = true;\n\n this.changeDetector.markForCheck();\n\n this.elementRef.nativeElement.focus();\n }\n\n focus(origin?: FocusOrigin): void {\n if (this.disabled || this.hasFocus) {\n return;\n }\n\n if (origin === 'keyboard') {\n this.focusMonitor.focusVia(this.elementRef, origin);\n }\n\n if (this.nestedElement) {\n this.nestedElement.focusViaKeyboard();\n\n this.changeDetector.markForCheck();\n\n return;\n }\n\n this.tooltip?.show();\n this.onFocusHandler();\n }\n\n blur(): void {\n // When animations are enabled, Angular may end up removing the option from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the list\n // that moves focus not the next item. To work around the issue, we defer marking the option\n // as not focused until the next time the zone stabilizes.\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.ngZone.run(() => {\n this._hasFocus = false;\n\n this.tooltip?.hide();\n\n if (this.button?.hasFocus) {\n return;\n }\n\n this.onBlur.next({ item: this });\n });\n });\n }\n\n getLabel(): string {\n return this.title?.text || '';\n }\n}\n\n@Directive({\n selector: 'kbq-navbar-item, [kbq-navbar-item], kbq-navbar-divider, kbq-navbar-brand, [kbq-navbar-brand]',\n host: {\n '[class.kbq-vertical]': 'vertical',\n '[class.kbq-horizontal]': 'horizontal',\n\n '[class.kbq-expanded]': 'vertical && !collapsed',\n '[class.kbq-collapsed]': 'vertical && collapsed'\n }\n})\nexport class KbqNavbarRectangleElement {\n protected readonly isBrowser = inject(Platform).isBrowser;\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n private readonly window = inject(KBQ_WINDOW);\n\n readonly state = new Subject<void>();\n\n get horizontal(): boolean {\n return this._horizontal;\n }\n\n set horizontal(value: boolean) {\n this._horizontal = value;\n\n this.state.next();\n }\n\n private _horizontal: boolean;\n\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = value;\n\n this.state.next();\n }\n\n private _vertical: boolean;\n\n get collapsed(): boolean {\n return this._collapsed;\n }\n\n set collapsed(value: boolean) {\n this._collapsed = value;\n\n this.state.next();\n }\n\n private _collapsed: boolean;\n\n @ContentChild(KbqButtonCssStyler) button: KbqButtonCssStyler;\n\n getOuterElementWidth(): number {\n if (!this.isBrowser) return 0;\n\n const { width, marginLeft, marginRight } = this.window.getComputedStyle(this.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item), 0);\n }\n}\n\n@Component({\n selector: 'kbq-navbar-item, [kbq-navbar-item]',\n exportAs: 'kbqNavbarItem',\n templateUrl: './navbar-item.component.html',\n host: {\n class: 'kbq-navbar-item',\n '[class.kbq-navbar-item_collapsed]': 'isCollapsed',\n '[class.kbq-navbar-item_with-title]': '!!title',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarItem extends KbqTooltipTrigger implements AfterContentInit {\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n @ContentChild(KbqIcon) icon: KbqIcon;\n\n @Input() collapsedText: string;\n\n @Input('kbqTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n\n this.initListeners();\n }\n }\n\n set collapsed(value: boolean) {\n if (this._collapsed !== value) {\n this._collapsed = value;\n\n this.updateTooltip();\n }\n }\n\n // todo in future need rename to 'collapsed'\n get isCollapsed(): boolean {\n return this._collapsed ?? this.rectangleElement.collapsed;\n }\n\n private _collapsed = false;\n\n get croppedText(): string {\n const croppedTitleText = this.title?.isOverflown ? this.titleText : '';\n\n return `${croppedTitleText}`;\n }\n\n @Input()\n get collapsable(): boolean {\n return this._collapsable;\n }\n\n set collapsable(value: boolean) {\n this._collapsable = coerceBooleanProperty(value);\n }\n\n private _collapsable: boolean = true;\n\n get titleText(): string | null {\n return this.collapsedText || this.title?.text || null;\n }\n\n get disabled(): boolean {\n if (this._disabled !== undefined) {\n return this._disabled;\n }\n\n return !this.isCollapsed && !this.hasCroppedText;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n get hasDropDownTrigger(): boolean {\n return !!this.dropdownTrigger;\n }\n\n get showVerticalDropDownAngle(): boolean {\n return !this.bento && this.hasDropDownTrigger && this.rectangleElement.vertical && !this.isCollapsed;\n }\n\n get showHorizontalDropDownAngle(): boolean {\n return this.hasDropDownTrigger && this.rectangleElement.horizontal && !this.isCollapsed;\n }\n\n get hasCroppedText(): boolean {\n return !!this.title?.isOverflown;\n }\n\n constructor(\n public rectangleElement: KbqNavbarRectangleElement,\n public navbarFocusableItem: KbqNavbarFocusableItem,\n private changeDetectorRef: ChangeDetectorRef,\n @Optional() private dropdownTrigger: KbqDropdownTrigger,\n @Optional() private bento: KbqNavbarBento,\n @Optional() private tooltip: KbqTooltipTrigger\n ) {\n super();\n\n if (this.hasDropDownTrigger) {\n this.dropdownTrigger.openByArrowDown = false;\n }\n\n this.rectangleElement.state.subscribe(() => {\n this.collapsed = this.rectangleElement.collapsed;\n\n this.changeDetectorRef.detectChanges();\n });\n\n this._trigger = `${PopUpTriggers.Hover}`;\n\n this.navbarFocusableItem.setTooltip(this);\n\n if (this.tooltip) {\n this.tooltip.arrow = false;\n this.tooltip.offset = 0;\n\n this.tooltip['overlayConfig'].panelClass = 'kbq-tooltip-panel_horizontal-navbar';\n }\n }\n\n ngAfterContentInit(): void {\n this.updateTooltip();\n }\n\n updateTooltip(): void {\n if (this.isCollapsed) {\n this.content = `${this.titleText || ''}`;\n } else if (!this.isCollapsed && this.hasCroppedText) {\n this.content = this.croppedText;\n }\n\n if (this.rectangleElement.vertical) {\n this.placement = PopUpPlacements.Right;\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n getTitleWidth(): number {\n return this.title.outerElementWidth;\n }\n\n onKeyDown($event: KeyboardEvent) {\n if (!this.hasDropDownTrigger) {\n return;\n }\n\n if (\n (this.rectangleElement.horizontal && $event.keyCode === DOWN_ARROW) ||\n (this.rectangleElement.vertical && $event.keyCode === RIGHT_ARROW)\n ) {\n this.dropdownTrigger.openedBy = 'keyboard';\n this.dropdownTrigger.open();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n}\n\n@Component({\n selector: 'kbq-navbar-toggle',\n template: `\n @if (!customIcon) {\n <i\n [class.kbq-chevron-left_16]=\"navbar.expanded\"\n [class.kbq-chevron-right_16]=\"!navbar.expanded\"\n kbq-icon\n ></i>\n }\n\n <ng-content select=\"[kbq-icon]\" />\n\n @if (navbar.expanded) {\n <div class=\"kbq-navbar-item__title\">\n <ng-content select=\"kbq-navbar-title\" />\n </div>\n }\n `,\n styleUrls: ['./navbar.scss'],\n host: {\n class: 'kbq-navbar-item kbq-navbar-toggle kbq-vertical',\n '[class.kbq-tooltip_open]': 'isOpen',\n '[class.kbq-collapsed]': '!navbar.expanded',\n '[class.kbq-expanded]': 'navbar.expanded',\n\n '(keydown)': 'onKeydown($event)',\n '(click)': 'toggle()',\n '(touchend)': 'handleTouchend()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarToggle extends KbqTooltipTrigger implements OnDestroy {\n protected readonly document = inject<Document>(DOCUMENT);\n private readonly window = inject(KBQ_WINDOW);\n\n @ContentChild(KbqIcon) customIcon: KbqIcon;\n\n @Input('kbqCollapsedTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n get disabled(): boolean {\n return this.navbar.expanded;\n }\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n constructor(\n public navbar: KbqVerticalNavbar,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n\n this.placement = PopUpPlacements.Right;\n\n if (this.window) {\n this.ngZone.runOutsideAngular(() => {\n this.window.addEventListener('keydown', this.windowToggleHandler);\n });\n }\n }\n\n onKeydown($event: KeyboardEvent) {\n if ([SPACE, ENTER].includes($event.keyCode)) {\n this.toggle();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n super.handleKeydown($event);\n }\n\n ngOnDestroy(): void {\n this.window.removeEventListener('keydown', this.windowToggleHandler);\n }\n\n toggle = () => {\n this.navbar.toggle();\n\n this.changeDetectorRef.markForCheck();\n\n this.hide();\n };\n\n private windowToggleHandler = (event: KeyboardEvent) => {\n if (event.ctrlKey && [NUMPAD_DIVIDE, SLASH].includes(event.keyCode)) {\n this.ngZone.run(this.toggle);\n }\n };\n}\n","<ng-content select=\"[kbq-icon]\" />\n\n@if (title) {\n <div class=\"kbq-navbar-item__container\">\n <div class=\"kbq-navbar-item__title\">\n <ng-content select=\"kbq-navbar-title, [kbq-navbar-title]\" />\n </div>\n @if (showVerticalDropDownAngle) {\n <i kbq-icon=\"kbq-chevron-right_16\" class=\"kbq-navbar-item__arrow-icon\"></i>\n }\n @if (showHorizontalDropDownAngle) {\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-navbar-item__arrow-icon\"></i>\n }\n </div>\n}\n\n<ng-content />\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport {\n KbqNavbarBento,\n KbqNavbarBrand,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarItem,\n KbqNavbarLogo,\n KbqNavbarRectangleElement,\n KbqNavbarTitle,\n KbqNavbarToggle\n} from './navbar-item.component';\nimport { KbqNavbar, KbqNavbarContainer } from './navbar.component';\nimport { KbqVerticalNavbar } from './vertical-navbar.component';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n KbqIconModule,\n KbqToolTipModule\n ],\n exports: [\n KbqNavbar,\n KbqNavbarContainer,\n KbqNavbarTitle,\n KbqNavbarItem,\n KbqNavbarBrand,\n KbqNavbarLogo,\n KbqNavbarToggle,\n KbqVerticalNavbar,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarRectangleElement,\n KbqNavbarBento\n ],\n declarations: [\n KbqNavbar,\n KbqNavbarContainer,\n KbqNavbarTitle,\n KbqNavbarItem,\n KbqNavbarBrand,\n KbqNavbarLogo,\n KbqNavbarToggle,\n KbqVerticalNavbar,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarRectangleElement,\n KbqNavbarBento\n ]\n})\nexport class KbqNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.KbqVerticalNavbar","i2"],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-navbar.mjs","sources":["../../../packages/components/navbar/navbar.component.ts","../../../packages/components/navbar/vertical-navbar.component.ts","../../../packages/components/navbar/navbar-item.component.ts","../../../packages/components/navbar/navbar-item.component.html","../../../packages/components/navbar/navbar.module.ts","../../../packages/components/navbar/koobiq-components-navbar.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n ContentChildren,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n inject,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FocusKeyManager } from '@koobiq/cdk/a11y';\nimport { isHorizontalMovement, isVerticalMovement, LEFT_ARROW, RIGHT_ARROW, TAB } from '@koobiq/cdk/keycodes';\nimport { merge, Observable, Subject, Subscription } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\nimport {\n KbqNavbarFocusableItem,\n KbqNavbarFocusableItemEvent,\n KbqNavbarItem,\n KbqNavbarRectangleElement\n} from './navbar-item.component';\n\nexport type KbqNavbarContainerPositionType = 'left' | 'right';\n\n@Directive()\nexport class KbqFocusableComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n @ContentChildren(forwardRef(() => KbqNavbarFocusableItem), { descendants: true })\n focusableItems: QueryList<KbqNavbarFocusableItem>;\n\n keyManager: FocusKeyManager<KbqNavbarFocusableItem>;\n\n @Input()\n get tabIndex(): any {\n return this._tabIndex;\n }\n\n set tabIndex(value: any) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n get optionFocusChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((item) => item.onFocus));\n }\n\n get optionBlurChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((option) => option.onBlur));\n }\n\n private readonly destroyRef = inject(DestroyRef);\n\n private optionFocusSubscription: Subscription | null;\n private optionBlurSubscription: Subscription | null;\n\n constructor(\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly elementRef: ElementRef,\n protected readonly focusMonitor: FocusMonitor\n ) {}\n\n ngAfterContentInit(): void {\n this.keyManager = new FocusKeyManager<KbqNavbarFocusableItem>(this.focusableItems).withTypeAhead();\n\n this.keyManager.tabOut.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.tabIndex = -1;\n\n setTimeout(() => {\n this.tabIndex = 0;\n this.changeDetectorRef.markForCheck();\n });\n });\n\n this.focusableItems.changes.pipe(startWith(null), takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.resetOptions();\n\n // Check to see if we need to update our tab index\n this.updateTabIndex();\n });\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef).subscribe((focusOrigin) => {\n this.keyManager.setFocusOrigin(focusOrigin);\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n focus(): void {\n if (this.focusableItems.length === 0) {\n return;\n }\n\n this.keyManager.setFirstItemActive();\n }\n\n blur() {\n if (!this.hasFocusedItem()) {\n this.keyManager.setActiveItem(-1);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected resetOptions() {\n this.dropSubscriptions();\n this.listenToOptionsFocus();\n }\n\n protected dropSubscriptions() {\n if (this.optionFocusSubscription) {\n this.optionFocusSubscription.unsubscribe();\n this.optionFocusSubscription = null;\n }\n\n if (this.optionBlurSubscription) {\n this.optionBlurSubscription.unsubscribe();\n this.optionBlurSubscription = null;\n }\n }\n\n private listenToOptionsFocus(): void {\n this.optionFocusSubscription = this.optionFocusChanges.subscribe((event) => {\n const index: number = this.focusableItems.toArray().indexOf(event.item);\n\n if (this.isValidIndex(index)) {\n this.keyManager.updateActiveItem(index);\n }\n });\n\n this.optionBlurSubscription = this.optionBlurChanges.subscribe(() => this.blur());\n }\n\n private updateTabIndex(): void {\n this.tabIndex = this.focusableItems.length === 0 ? -1 : 0;\n }\n\n private isValidIndex(index: number): boolean {\n return index >= 0 && index < this.focusableItems.length;\n }\n\n private hasFocusedItem() {\n return this.focusableItems.some((item) => item.hasFocus);\n }\n}\n\n@Directive({\n selector: 'kbq-navbar-container',\n host: {\n class: 'kbq-navbar-container'\n }\n})\nexport class KbqNavbarContainer {}\n\n@Component({\n selector: 'kbq-navbar',\n template: `\n <ng-content select=\"[kbq-navbar-container], kbq-navbar-container\" />\n `,\n styleUrls: [\n './navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss',\n './navbar-tokens.scss'\n ],\n host: {\n class: 'kbq-navbar',\n\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)',\n\n '(window:resize)': 'resizeStream.next($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbar extends KbqFocusableComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n rectangleElements = contentChildren(\n forwardRef(() => KbqNavbarRectangleElement),\n { descendants: true }\n );\n\n @ContentChildren(forwardRef(() => KbqNavbarItem), { descendants: true }) navbarItems: QueryList<KbqNavbarItem>;\n\n readonly resizeStream = new Subject<Event>();\n\n private readonly resizeDebounceInterval: number = 100;\n\n private get width(): number {\n return this.elementRef.nativeElement.getBoundingClientRect().width;\n }\n\n private get totalItemsWidth(): number {\n return this.rectangleElements().reduce((acc, item) => acc + item.getOuterElementWidth(), 0);\n }\n\n private get collapsableItems(): KbqNavbarItem[] {\n return this.navbarItems\n .toArray()\n .filter((item) => item.icon && item.title && item.collapsable)\n .reverse();\n }\n\n private resizeSubscription: Subscription;\n\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly focusMonitor: FocusMonitor\n ) {\n super(changeDetectorRef, elementRef, focusMonitor);\n\n this.resizeSubscription = this.resizeStream\n .pipe(debounceTime(this.resizeDebounceInterval), takeUntilDestroyed())\n .subscribe(this.updateExpandedStateForItems);\n\n effect(() => this.setItemsState(this.rectangleElements()));\n }\n\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(false).withHorizontalOrientation('ltr');\n }\n\n ngAfterViewInit(): void {\n // Note: this wait is required for loading and rendering fonts for icons;\n // unfortunately we cannot control font rendering\n setTimeout(this.updateExpandedStateForItems);\n }\n\n ngOnDestroy() {\n this.resizeSubscription.unsubscribe();\n\n super.ngOnDestroy();\n }\n\n onKeyDown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n if (!this.eventFromInput(event) && (isVerticalMovement(event) || isHorizontalMovement(event))) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (this.eventFromInput(event) && this.cursorOnLastPosition(event) && keyCode === RIGHT_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (this.eventFromInput(event) && this.cursorOnFirstPosition(event) && keyCode === LEFT_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else if (!this.eventFromInput(event)) {\n this.keyManager.onKeydown(event);\n }\n }\n\n updateExpandedStateForItems = () => {\n const collapseDelta = this.totalItemsWidth - this.width;\n\n const needCollapse = collapseDelta > 0;\n\n if (needCollapse) {\n this.collapseItems(collapseDelta);\n } else {\n this.expandItems(collapseDelta);\n }\n };\n\n private eventFromInput(event: KeyboardEvent): boolean {\n return !!(event.target as HTMLElement).attributes.getNamedItem('kbqinput');\n }\n\n private cursorOnFirstPosition(event: KeyboardEvent): boolean {\n const input = event.target as HTMLInputElement;\n\n return input.selectionStart === 0;\n }\n\n private cursorOnLastPosition(event: KeyboardEvent): boolean {\n const input = event.target as HTMLInputElement;\n\n return input.selectionEnd === input.value.length;\n }\n\n private collapseItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n const unCollapsedItems = this.collapsableItems.filter((item) => !item.collapsed);\n\n for (const item of unCollapsedItems) {\n item.collapsed = true;\n delta -= item.getTitleWidth();\n\n if (delta < 0) {\n break;\n }\n }\n }\n\n private expandItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n this.collapsableItems\n .filter((item) => item.collapsed)\n .forEach((item) => {\n if (delta + item.getTitleWidth() < 0) {\n item.collapsed = false;\n delta += item.getTitleWidth();\n }\n });\n }\n\n private setItemsState = (rectangleElements: Readonly<KbqNavbarRectangleElement[]>) => {\n Promise.resolve().then(() => rectangleElements.forEach((item) => (item.horizontal = true)));\n };\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n contentChildren,\n ContentChildren,\n effect,\n ElementRef,\n forwardRef,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DOWN_ARROW, isHorizontalMovement, isVerticalMovement, TAB, UP_ARROW } from '@koobiq/cdk/keycodes';\nimport { Subject } from 'rxjs';\nimport { KbqNavbarBento, KbqNavbarItem, KbqNavbarRectangleElement } from './navbar-item.component';\nimport { KbqFocusableComponent } from './navbar.component';\n\n@Component({\n selector: 'kbq-vertical-navbar',\n exportAs: 'KbqVerticalNavbar',\n template: `\n <div class=\"kbq-vertical-navbar__container\" [class.kbq-collapsed]=\"!expanded\" [class.kbq-expanded]=\"expanded\">\n <ng-content select=\"[kbq-navbar-container], kbq-navbar-container\" />\n <ng-content select=\"[kbq-navbar-toggle], kbq-navbar-toggle\" />\n </div>\n `,\n styleUrls: [\n './vertical-navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss',\n './navbar-tokens.scss'\n ],\n host: {\n class: 'kbq-vertical-navbar',\n '[class.kbq-vertical-navbar_open-over]': 'openOver',\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqVerticalNavbar extends KbqFocusableComponent implements AfterContentInit {\n rectangleElements = contentChildren(\n forwardRef(() => KbqNavbarRectangleElement),\n { descendants: true }\n );\n\n @ContentChildren(forwardRef(() => KbqNavbarItem), { descendants: true }) items: QueryList<KbqNavbarItem>;\n\n @ContentChild(forwardRef(() => KbqNavbarBento)) bento: KbqNavbarBento;\n\n readonly animationDone: Subject<void> = new Subject();\n\n @Input() openOver: boolean = false;\n\n @Input()\n get expanded() {\n return this._expanded;\n }\n\n set expanded(value: boolean) {\n this._expanded = coerceBooleanProperty(value);\n\n this.updateExpandedStateForItems();\n }\n\n private _expanded: boolean = false;\n\n constructor(\n protected elementRef: ElementRef,\n changeDetectorRef: ChangeDetectorRef,\n focusMonitor: FocusMonitor\n ) {\n super(changeDetectorRef, elementRef, focusMonitor);\n\n this.animationDone.pipe(takeUntilDestroyed()).subscribe(this.updateTooltipForItems);\n\n effect(() => this.setItemsVerticalStateAndUpdateExpandedState(this.rectangleElements()));\n }\n\n ngAfterContentInit(): void {\n this.updateTooltipForItems();\n\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(true);\n }\n\n toggle(): void {\n this.expanded = !this.expanded;\n\n this.changeDetectorRef.markForCheck();\n }\n\n onKeyDown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n if (\n !(event.target as HTMLElement).attributes.getNamedItem('kbqinput') &&\n (isVerticalMovement(event) || isHorizontalMovement(event))\n ) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === DOWN_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === UP_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n private updateExpandedStateForItems = () => this.rectangleElements().forEach(this.updateItemExpandedState);\n\n private updateTooltipForItems = () => this.items.forEach((item) => item.updateTooltip());\n\n private setItemsVerticalStateAndUpdateExpandedState = (rectangleElements: Readonly<KbqNavbarRectangleElement[]>) =>\n rectangleElements.forEach(this.setItemVerticalStateAndUpdateExpandedState);\n\n private setItemVerticalStateAndUpdateExpandedState = (item: KbqNavbarRectangleElement): void => {\n queueMicrotask(() => this.setItemVerticalState(item));\n this.updateItemExpandedState(item);\n };\n\n private setItemVerticalState = (item: KbqNavbarRectangleElement): void => {\n item.vertical = true;\n };\n\n private updateItemExpandedState = (item: KbqNavbarRectangleElement): void => {\n item.collapsed = !this.expanded;\n setTimeout(() => item.button?.updateClassModifierForIcons());\n };\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n DestroyRef,\n Directive,\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IFocusableOption } from '@koobiq/cdk/a11y';\nimport { DOWN_ARROW, ENTER, NUMPAD_DIVIDE, RIGHT_ARROW, SLASH, SPACE } from '@koobiq/cdk/keycodes';\nimport { KbqButton, KbqButtonCssStyler } from '@koobiq/components/button';\nimport { KBQ_WINDOW, PopUpPlacements, PopUpTriggers } from '@koobiq/components/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\nimport { KbqFormField } from '@koobiq/components/form-field';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqTooltipTrigger, TooltipModifier } from '@koobiq/components/tooltip';\nimport { EMPTY, Subject, merge } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { KbqVerticalNavbar } from './vertical-navbar.component';\n\nexport interface KbqNavbarFocusableItemEvent {\n item: KbqNavbarFocusableItem;\n}\n\n@Directive({\n selector: 'kbq-navbar-logo, [kbq-navbar-logo]',\n host: {\n class: 'kbq-navbar-logo',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class KbqNavbarLogo {\n readonly hovered = new Subject<boolean>();\n}\n\n@Directive({\n selector: 'kbq-navbar-item[bento], [kbq-navbar-item][bento]',\n host: {\n class: 'kbq-navbar-bento'\n }\n})\nexport class KbqNavbarBento {}\n\n@Directive({\n selector: 'kbq-navbar-title, [kbq-navbar-title]',\n host: {\n class: 'kbq-navbar-title',\n '[class.kbq-navbar-title_small]': 'isTextOverflown',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class KbqNavbarTitle implements AfterViewInit {\n protected readonly isBrowser = inject(Platform).isBrowser;\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n private readonly window = inject(KBQ_WINDOW);\n\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n isTextOverflown: boolean = false;\n\n get text(): string {\n return this.nativeElement.textContent;\n }\n\n get isOverflown() {\n return this.nativeElement.scrollWidth > this.nativeElement.clientWidth;\n }\n\n getOuterElementWidth(): number {\n if (!this.isBrowser) return 0;\n\n const { width, marginLeft, marginRight } = this.window.getComputedStyle(this.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);\n }\n\n checkTextOverflown() {\n this.isTextOverflown = this.text.length > 18;\n }\n\n ngAfterViewInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n@Component({\n selector: 'kbq-navbar-brand, [kbq-navbar-brand]',\n exportAs: 'kbqNavbarBrand',\n template: `\n <ng-content />\n `,\n host: {\n class: 'kbq-navbar-brand',\n '[class.kbq-hovered]': 'hovered'\n }\n})\nexport class KbqNavbarBrand implements AfterContentInit {\n @ContentChild(KbqNavbarLogo) logo: KbqNavbarLogo;\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n hovered = false;\n\n get hasBento(): boolean {\n return !!this.navbar?.bento;\n }\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(@Optional() private navbar: KbqVerticalNavbar) {}\n\n ngAfterContentInit(): void {\n merge(this.logo ? this.logo.hovered : (EMPTY as any), this.title ? this.title.hovered : (EMPTY as any))\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => (this.hovered = !!value));\n\n this.navbar?.animationDone\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.title?.checkTextOverflown());\n }\n}\n\n@Directive({\n selector: 'kbq-navbar-divider',\n host: {\n class: 'kbq-navbar-divider'\n }\n})\nexport class KbqNavbarDivider {}\n\n@Directive({\n selector: 'kbq-navbar-item, [kbq-navbar-item], kbq-navbar-brand, [kbq-navbar-brand], kbq-navbar-toggle',\n host: {\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n class: 'kbq-navbar-focusable-item',\n '[class.kbq-navbar-item_has-nested]': '!!nestedElement',\n '[class.kbq-disabled]': 'disabled',\n\n '(focus)': 'onFocusHandler()',\n '(blur)': 'blur()'\n }\n})\nexport class KbqNavbarFocusableItem implements AfterContentInit, AfterViewInit, OnDestroy, IFocusableOption {\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n @ContentChild(KbqButton) button: KbqButton;\n\n @ContentChild(KbqFormField) formField: KbqFormField;\n\n get nestedElement(): KbqButton | KbqFormField {\n return this.button || this.formField;\n }\n\n get tooltip(): KbqTooltipTrigger {\n return this._tooltip;\n }\n\n private _tooltip: KbqTooltipTrigger;\n\n readonly onFocus = new Subject<KbqNavbarFocusableItemEvent>();\n\n readonly onBlur = new Subject<KbqNavbarFocusableItemEvent>();\n\n get hasFocus(): boolean {\n return !!this.nestedElement?.hasFocus || this._hasFocus;\n }\n\n set hasFocus(value: boolean) {\n this._hasFocus = value;\n }\n\n private _hasFocus: boolean = false;\n\n /** Whether the item is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n if (value !== this._disabled) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled = false;\n\n get tabIndex(): number {\n return -1;\n }\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private ngZone: NgZone\n ) {}\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n ngAfterContentInit(): void {\n if (this.button) {\n this.button.tabIndex = -1;\n }\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n setTooltip(value: KbqTooltipTrigger) {\n this._tooltip = value;\n }\n\n onFocusHandler() {\n if (this.disabled || this.hasFocus) {\n return;\n }\n\n this.onFocus.next({ item: this });\n\n this.hasFocus = true;\n\n this.changeDetector.markForCheck();\n\n this.elementRef.nativeElement.focus();\n }\n\n focus(origin?: FocusOrigin): void {\n if (this.disabled || this.hasFocus) {\n return;\n }\n\n if (origin === 'keyboard') {\n this.focusMonitor.focusVia(this.elementRef, origin);\n }\n\n if (this.nestedElement) {\n this.nestedElement.focusViaKeyboard();\n\n this.changeDetector.markForCheck();\n\n return;\n }\n\n this.tooltip?.show();\n this.onFocusHandler();\n }\n\n blur(): void {\n // When animations are enabled, Angular may end up removing the option from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the list\n // that moves focus not the next item. To work around the issue, we defer marking the option\n // as not focused until the next time the zone stabilizes.\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.ngZone.run(() => {\n this._hasFocus = false;\n\n this.tooltip?.hide();\n\n if (this.button?.hasFocus) {\n return;\n }\n\n this.onBlur.next({ item: this });\n });\n });\n }\n\n getLabel(): string {\n return this.title?.text || '';\n }\n}\n\n@Directive({\n selector: 'kbq-navbar-item, [kbq-navbar-item], kbq-navbar-divider, kbq-navbar-brand, [kbq-navbar-brand]',\n host: {\n '[class.kbq-vertical]': 'vertical',\n '[class.kbq-horizontal]': 'horizontal',\n\n '[class.kbq-expanded]': 'vertical && !collapsed',\n '[class.kbq-collapsed]': 'vertical && collapsed'\n }\n})\nexport class KbqNavbarRectangleElement {\n protected readonly isBrowser = inject(Platform).isBrowser;\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n private readonly window = inject(KBQ_WINDOW);\n\n readonly state = new Subject<void>();\n\n get horizontal(): boolean {\n return this._horizontal;\n }\n\n set horizontal(value: boolean) {\n this._horizontal = value;\n\n this.state.next();\n }\n\n private _horizontal: boolean;\n\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = value;\n\n this.state.next();\n }\n\n private _vertical: boolean;\n\n get collapsed(): boolean {\n return this._collapsed;\n }\n\n set collapsed(value: boolean) {\n this._collapsed = value;\n\n this.state.next();\n }\n\n private _collapsed: boolean;\n\n @ContentChild(KbqButtonCssStyler) button: KbqButtonCssStyler;\n\n getOuterElementWidth(): number {\n if (!this.isBrowser) return 0;\n\n const { width, marginLeft, marginRight } = this.window.getComputedStyle(this.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item), 0);\n }\n}\n\n@Component({\n selector: 'kbq-navbar-item, [kbq-navbar-item]',\n exportAs: 'kbqNavbarItem',\n templateUrl: './navbar-item.component.html',\n host: {\n class: 'kbq-navbar-item',\n '[class.kbq-navbar-item_collapsed]': 'isCollapsed',\n '[class.kbq-navbar-item_with-title]': '!!title',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarItem extends KbqTooltipTrigger implements AfterContentInit {\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n @ContentChild(KbqIcon) icon: KbqIcon;\n\n @Input() collapsedText: string;\n\n @Input('kbqTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n\n this.initListeners();\n }\n }\n\n set collapsed(value: boolean) {\n if (this._collapsed !== value) {\n this._collapsed = value;\n\n this.updateTooltip();\n }\n }\n\n // todo in future need rename to 'collapsed'\n get isCollapsed(): boolean {\n return this._collapsed ?? this.rectangleElement.collapsed;\n }\n\n private _collapsed = false;\n\n get croppedText(): string {\n const croppedTitleText = this.title?.isOverflown ? this.titleText : '';\n\n return `${croppedTitleText}`;\n }\n\n @Input()\n get collapsable(): boolean {\n return this._collapsable;\n }\n\n set collapsable(value: boolean) {\n this._collapsable = coerceBooleanProperty(value);\n }\n\n private _collapsable: boolean = true;\n\n get titleText(): string | null {\n return this.collapsedText || this.title?.text || null;\n }\n\n get disabled(): boolean {\n if (this._disabled !== undefined) {\n return this._disabled;\n }\n\n return !this.isCollapsed && !this.hasCroppedText;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n get hasDropDownTrigger(): boolean {\n return !!this.dropdownTrigger;\n }\n\n get showVerticalDropDownAngle(): boolean {\n return !this.bento && this.hasDropDownTrigger && this.rectangleElement.vertical && !this.isCollapsed;\n }\n\n get showHorizontalDropDownAngle(): boolean {\n return this.hasDropDownTrigger && this.rectangleElement.horizontal && !this.isCollapsed;\n }\n\n get hasCroppedText(): boolean {\n return !!this.title?.isOverflown;\n }\n\n constructor(\n public rectangleElement: KbqNavbarRectangleElement,\n public navbarFocusableItem: KbqNavbarFocusableItem,\n private changeDetectorRef: ChangeDetectorRef,\n @Optional() private dropdownTrigger: KbqDropdownTrigger,\n @Optional() private bento: KbqNavbarBento,\n @Optional() private tooltip: KbqTooltipTrigger\n ) {\n super();\n\n if (this.hasDropDownTrigger) {\n this.dropdownTrigger.openByArrowDown = false;\n }\n\n this.rectangleElement.state.subscribe(() => {\n this.collapsed = this.rectangleElement.collapsed;\n\n this.changeDetectorRef.detectChanges();\n });\n\n this._trigger = `${PopUpTriggers.Hover}`;\n\n this.navbarFocusableItem.setTooltip(this);\n\n if (this.tooltip) {\n this.tooltip.arrow = false;\n this.tooltip.offset = 0;\n\n this.tooltip['overlayConfig'].panelClass = 'kbq-tooltip-panel_horizontal-navbar';\n }\n }\n\n ngAfterContentInit(): void {\n this.updateTooltip();\n }\n\n updateTooltip(): void {\n if (this.isCollapsed) {\n this.content = `${this.titleText || ''}`;\n } else if (!this.isCollapsed && this.hasCroppedText) {\n this.content = this.croppedText;\n }\n\n if (this.rectangleElement.vertical) {\n this.placement = PopUpPlacements.Right;\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n getTitleWidth(): number {\n return this.title.outerElementWidth;\n }\n\n onKeyDown($event: KeyboardEvent) {\n if (!this.hasDropDownTrigger) {\n return;\n }\n\n if (\n (this.rectangleElement.horizontal && $event.keyCode === DOWN_ARROW) ||\n (this.rectangleElement.vertical && $event.keyCode === RIGHT_ARROW)\n ) {\n this.dropdownTrigger.openedBy = 'keyboard';\n this.dropdownTrigger.open();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n}\n\n@Component({\n selector: 'kbq-navbar-toggle',\n template: `\n @if (!customIcon) {\n <i\n kbq-icon\n [class.kbq-chevron-left_16]=\"navbar.expanded\"\n [class.kbq-chevron-right_16]=\"!navbar.expanded\"\n ></i>\n }\n\n <ng-content select=\"[kbq-icon]\" />\n\n @if (navbar.expanded) {\n <div class=\"kbq-navbar-item__title\">\n <ng-content select=\"kbq-navbar-title\" />\n </div>\n }\n `,\n styleUrls: ['./navbar.scss'],\n host: {\n class: 'kbq-navbar-item kbq-navbar-toggle kbq-vertical',\n '[class.kbq-tooltip_open]': 'isOpen',\n '[class.kbq-collapsed]': '!navbar.expanded',\n '[class.kbq-expanded]': 'navbar.expanded',\n\n '(keydown)': 'onKeydown($event)',\n '(click)': 'toggle()',\n '(touchend)': 'handleTouchend()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarToggle extends KbqTooltipTrigger implements OnDestroy {\n protected readonly document = inject<Document>(DOCUMENT);\n private readonly window = inject(KBQ_WINDOW);\n\n @ContentChild(KbqIcon) customIcon: KbqIcon;\n\n @Input('kbqCollapsedTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n get disabled(): boolean {\n return this.navbar.expanded;\n }\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n constructor(\n public navbar: KbqVerticalNavbar,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n\n this.placement = PopUpPlacements.Right;\n\n if (this.window) {\n this.ngZone.runOutsideAngular(() => {\n this.window.addEventListener('keydown', this.windowToggleHandler);\n });\n }\n }\n\n onKeydown($event: KeyboardEvent) {\n if ([SPACE, ENTER].includes($event.keyCode)) {\n this.toggle();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n super.handleKeydown($event);\n }\n\n ngOnDestroy(): void {\n this.window.removeEventListener('keydown', this.windowToggleHandler);\n }\n\n toggle = () => {\n this.navbar.toggle();\n\n this.changeDetectorRef.markForCheck();\n\n this.hide();\n };\n\n private windowToggleHandler = (event: KeyboardEvent) => {\n if (event.ctrlKey && [NUMPAD_DIVIDE, SLASH].includes(event.keyCode)) {\n this.ngZone.run(this.toggle);\n }\n };\n}\n","<ng-content select=\"[kbq-icon]\" />\n\n@if (title) {\n <div class=\"kbq-navbar-item__container\">\n <div class=\"kbq-navbar-item__title\">\n <ng-content select=\"kbq-navbar-title, [kbq-navbar-title]\" />\n </div>\n @if (showVerticalDropDownAngle) {\n <i kbq-icon=\"kbq-chevron-right_16\" class=\"kbq-navbar-item__arrow-icon\"></i>\n }\n @if (showHorizontalDropDownAngle) {\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-navbar-item__arrow-icon\"></i>\n }\n </div>\n}\n\n<ng-content />\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport {\n KbqNavbarBento,\n KbqNavbarBrand,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarItem,\n KbqNavbarLogo,\n KbqNavbarRectangleElement,\n KbqNavbarTitle,\n KbqNavbarToggle\n} from './navbar-item.component';\nimport { KbqNavbar, KbqNavbarContainer } from './navbar.component';\nimport { KbqVerticalNavbar } from './vertical-navbar.component';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n KbqIconModule,\n KbqToolTipModule\n ],\n exports: [\n KbqNavbar,\n KbqNavbarContainer,\n KbqNavbarTitle,\n KbqNavbarItem,\n KbqNavbarBrand,\n KbqNavbarLogo,\n KbqNavbarToggle,\n KbqVerticalNavbar,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarRectangleElement,\n KbqNavbarBento\n ],\n declarations: [\n KbqNavbar,\n KbqNavbarContainer,\n KbqNavbarTitle,\n KbqNavbarItem,\n KbqNavbarBrand,\n KbqNavbarLogo,\n KbqNavbarToggle,\n KbqVerticalNavbar,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarRectangleElement,\n KbqNavbarBento\n ]\n})\nexport class KbqNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.KbqVerticalNavbar","i2"],"mappings":"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"}