@koobiq/components 20.4.2 → 21.0.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 (771) hide show
  1. package/accordion/accordion-trigger.scss +3 -10
  2. package/accordion/accordion.scss +4 -6
  3. package/actions-panel/actions-panel-container.scss +45 -1
  4. package/alert/alert.component.scss +3 -2
  5. package/app-switcher/_app-switcher-theme.scss +0 -4
  6. package/app-switcher/app-switcher-dropdown-app.scss +3 -2
  7. package/app-switcher/app-switcher-dropdown-site.scss +2 -1
  8. package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
  9. package/app-switcher/app-switcher-tokens.scss +15 -0
  10. package/app-switcher/app-switcher.scss +14 -4
  11. package/autocomplete/autocomplete.scss +7 -6
  12. package/badge/badge.component.scss +5 -8
  13. package/breadcrumbs/breadcrumbs.scss +25 -10
  14. package/button/_button-base.scss +30 -7
  15. package/button/_button-theme.scss +16 -0
  16. package/button/button-group.scss +7 -0
  17. package/button/button-tokens.scss +0 -2
  18. package/button/button.scss +34 -2
  19. package/button-toggle/_button-toggle-theme.scss +7 -2
  20. package/button-toggle/button-toggle.scss +65 -15
  21. package/checkbox/_checkbox-theme.scss +4 -3
  22. package/checkbox/checkbox.scss +3 -6
  23. package/clamped-text/clamped-text.scss +6 -2
  24. package/code-block/code-block-tokens.scss +0 -224
  25. package/code-block/code-block.scss +20 -9
  26. package/content-panel/content-panel-aside.scss +3 -2
  27. package/content-panel/content-panel-container.scss +37 -0
  28. package/content-panel/content-panel.scss +4 -3
  29. package/core/highlight/_highlight-theme.scss +3 -1
  30. package/core/option/action-container.scss +2 -2
  31. package/core/option/action.scss +2 -1
  32. package/core/option/option.scss +2 -1
  33. package/core/pop-up/_pop-up.scss +0 -37
  34. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
  35. package/core/styles/_core.scss +3 -0
  36. package/core/styles/_koobiq-theme.scss +5 -6
  37. package/core/styles/common/_animation.scss +44 -16
  38. package/core/styles/common/_groups-mixins.scss +21 -19
  39. package/core/styles/common/_groups.scss +4 -32
  40. package/core/styles/common/_index.scss +0 -2
  41. package/core/styles/common/_link.scss +117 -0
  42. package/core/styles/common/_list.scss +0 -26
  43. package/core/styles/common/_overlay.scss +8 -10
  44. package/core/styles/common/_rtl.scss +0 -14
  45. package/core/styles/common/_select.scss +33 -15
  46. package/core/styles/common/_squircle.scss +63 -0
  47. package/core/styles/common/_tokens.scss +0 -11
  48. package/core/styles/common/_vendor-prefixes.scss +0 -20
  49. package/core/styles/functions/_timing.scss +0 -22
  50. package/core/styles/theming/_scrollbar-theme.scss +6 -1
  51. package/core/styles/theming/_theming.scss +13 -65
  52. package/core/styles/typography/_index.scss +0 -1
  53. package/core/styles/typography/_typography.scss +0 -143
  54. package/core/styles/visual/_body.scss +1 -6
  55. package/core/styles/visual/_layout.scss +0 -12
  56. package/datepicker/calendar-body.scss +3 -1
  57. package/datepicker/calendar-header.scss +0 -1
  58. package/datepicker/datepicker-content.scss +33 -1
  59. package/datepicker/datepicker-toggle.scss +0 -38
  60. package/dl/dl-tokens.scss +10 -0
  61. package/dl/dl.scss +113 -13
  62. package/dropdown/_dropdown-theme.scss +4 -16
  63. package/dropdown/dropdown-item.scss +4 -10
  64. package/dropdown/dropdown.scss +2 -1
  65. package/empty-state/_empty-state-theme.scss +10 -4
  66. package/empty-state/empty-state-tokens.scss +4 -4
  67. package/empty-state/empty-state.scss +4 -0
  68. package/fesm2022/koobiq-components-accordion.mjs +347 -229
  69. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
  71. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-alert.mjs +39 -39
  73. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
  75. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
  77. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-badge.mjs +46 -48
  79. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
  81. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
  83. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-button.mjs +332 -116
  85. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-checkbox.mjs +172 -132
  87. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
  89. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-code-block.mjs +755 -601
  91. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-content-panel.mjs +260 -143
  93. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-core.mjs +4342 -1595
  95. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
  97. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-divider.mjs +73 -36
  99. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-dl.mjs +447 -89
  101. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-dropdown.mjs +703 -599
  103. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
  105. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
  107. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-empty-state.mjs +116 -60
  109. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-file-upload.mjs +550 -290
  111. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
  113. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-flag.mjs +79 -24
  115. package/fesm2022/koobiq-components-flag.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-form-field.mjs +389 -525
  117. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-icon.mjs +366 -136
  119. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
  121. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-input.mjs +601 -459
  123. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
  125. package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
  126. package/fesm2022/koobiq-components-link.mjs +328 -125
  127. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-list.mjs +583 -433
  129. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
  131. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-markdown.mjs +55 -78
  133. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-modal.mjs +853 -475
  135. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-navbar.mjs +895 -556
  137. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-notification-center.mjs +680 -310
  139. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
  141. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-popover.mjs +684 -285
  143. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
  145. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
  147. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-radio.mjs +450 -231
  149. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-resizer.mjs +127 -21
  151. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
  153. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
  154. package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
  155. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
  157. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-select.mjs +883 -693
  159. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-sidebar.mjs +207 -88
  161. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
  163. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-skeleton.mjs +815 -41
  165. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-split-button.mjs +109 -88
  167. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
  169. package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
  170. package/fesm2022/koobiq-components-splitter.mjs +890 -501
  171. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-table.mjs +63 -49
  173. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-tabs.mjs +1062 -603
  175. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-tags.mjs +886 -733
  177. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-textarea.mjs +213 -185
  179. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-time-range.mjs +299 -147
  181. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-timepicker.mjs +233 -245
  183. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-timezone.mjs +344 -142
  185. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-title.mjs +229 -145
  187. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-toast.mjs +463 -143
  189. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-toggle.mjs +177 -130
  191. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tooltip.mjs +657 -214
  193. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-top-bar.mjs +61 -32
  195. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-tree-select.mjs +719 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1506 -558
  199. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-username.mjs +290 -135
  201. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  202. package/file-upload/dropzone.scss +31 -3
  203. package/file-upload/file-upload-tokens.scss +2 -22
  204. package/file-upload/file-upload.scss +6 -0
  205. package/file-upload/multiple-file-upload.component.scss +14 -12
  206. package/file-upload/single-file-upload.component.scss +3 -2
  207. package/filter-bar/filters.scss +7 -0
  208. package/filter-bar/pipes/base-pipe.scss +3 -3
  209. package/filter-bar/pipes/pipe-date.scss +8 -1
  210. package/flag/flag-tokens.scss +22 -0
  211. package/flag/flag.scss +34 -21
  212. package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
  213. package/form-field/_form-field-theme.scss +4 -9
  214. package/form-field/cleaner.scss +3 -1
  215. package/form-field/fieldset.scss +3 -4
  216. package/form-field/form-field.scss +26 -21
  217. package/form-field/password-toggle.scss +3 -1
  218. package/icon/_icon-button-theme.scss +7 -0
  219. package/icon/_icon-theme.scss +10 -7
  220. package/icon/icon-button.scss +0 -2
  221. package/icon/icon-tokens.scss +12 -9
  222. package/inline-edit/inline-edit.scss +40 -54
  223. package/input/input.scss +4 -0
  224. package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
  225. package/link/deprecated/link-tokens.scss +27 -0
  226. package/link/link-tokens.scss +6 -25
  227. package/link/link.scss +137 -0
  228. package/list/list.scss +3 -2
  229. package/loader-overlay/_loader-overlay-theme.scss +19 -10
  230. package/loader-overlay/loader-overlay-tokens.scss +0 -2
  231. package/loader-overlay/loader-overlay.scss +7 -1
  232. package/markdown/_markdown-theme.scss +16 -0
  233. package/markdown/markdown-tokens.scss +5 -0
  234. package/markdown/markdown.scss +2 -1
  235. package/modal/_modal-animation.scss +23 -14
  236. package/modal/modal-tokens.scss +2 -1
  237. package/modal/modal.scss +35 -31
  238. package/navbar/_navbar-item_horizontal.scss +8 -6
  239. package/navbar/_navbar-item_vertical.scss +18 -6
  240. package/navbar/_navbar-theme.scss +9 -1
  241. package/navbar/navbar-brand.scss +8 -6
  242. package/navbar/navbar-divider.scss +1 -1
  243. package/navbar/navbar-item.scss +8 -9
  244. package/navbar/navbar-toggle.scss +3 -3
  245. package/navbar/navbar-tokens.scss +14 -0
  246. package/navbar/navbar.scss +1 -2
  247. package/navbar/vertical-navbar.scss +2 -2
  248. package/notification-center/_notification-center-theme.scss +11 -6
  249. package/notification-center/notification-center-tokens.scss +33 -0
  250. package/notification-center/notification-center.scss +58 -20
  251. package/notification-center/notification-item.scss +15 -6
  252. package/package.json +112 -81
  253. package/popover/popover-tokens.scss +0 -2
  254. package/popover/popover.scss +41 -19
  255. package/prebuilt-themes/theme.css +1 -1
  256. package/progress-bar/_progress-bar-theme.scss +20 -3
  257. package/progress-bar/progress-bar-tokens.scss +3 -0
  258. package/progress-bar/progress-bar.scss +36 -8
  259. package/progress-spinner/progress-spinner.scss +4 -3
  260. package/radio/_radio-theme.scss +21 -4
  261. package/radio/radio-tokens.scss +7 -3
  262. package/radio/radio.scss +55 -8
  263. package/schematics/collection.json +399 -7
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
  267. package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
  268. package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
  269. package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
  271. package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
  272. package/schematics/migrations/alert-signals/README.md +13 -7
  273. package/schematics/migrations/alert-signals/data.js +3 -0
  274. package/schematics/migrations/alert-signals/index.js +70 -203
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.js +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.js +20 -0
  278. package/schematics/migrations/angular-animations-removal/schema.json +15 -0
  279. package/schematics/migrations/app-switcher-signals/README.md +88 -0
  280. package/schematics/migrations/app-switcher-signals/data.js +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.js +365 -0
  282. package/schematics/migrations/app-switcher-signals/schema.json +20 -0
  283. package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
  284. package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.js +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.js +706 -0
  288. package/schematics/migrations/autocomplete-signals/schema.json +20 -0
  289. package/schematics/migrations/badge-signals/README.md +77 -0
  290. package/schematics/migrations/badge-signals/data.js +109 -0
  291. package/schematics/migrations/badge-signals/index.js +693 -0
  292. package/schematics/migrations/badge-signals/schema.json +20 -0
  293. package/schematics/migrations/button-state-and-styles/README.md +129 -0
  294. package/schematics/migrations/button-state-and-styles/data.js +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.js +220 -0
  296. package/schematics/migrations/button-state-and-styles/schema.json +20 -0
  297. package/schematics/migrations/button-supported-colors/README.md +73 -0
  298. package/schematics/migrations/button-supported-colors/data.js +106 -0
  299. package/schematics/migrations/button-supported-colors/index.js +260 -0
  300. package/schematics/migrations/button-supported-colors/schema.json +20 -0
  301. package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
  302. package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
  304. package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
  305. package/schematics/migrations/button-truncation/README.md +110 -0
  306. package/schematics/migrations/button-truncation/data.js +88 -0
  307. package/schematics/migrations/button-truncation/index.js +269 -0
  308. package/schematics/migrations/button-truncation/schema.json +20 -0
  309. package/schematics/migrations/checkbox-signals/README.md +76 -0
  310. package/schematics/migrations/checkbox-signals/data.js +114 -0
  311. package/schematics/migrations/checkbox-signals/index.js +634 -0
  312. package/schematics/migrations/checkbox-signals/schema.json +20 -0
  313. package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
  314. package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-signals/README.md +84 -0
  318. package/schematics/migrations/code-block-signals/data.js +121 -0
  319. package/schematics/migrations/code-block-signals/index.js +700 -0
  320. package/schematics/migrations/code-block-signals/schema.json +20 -0
  321. package/schematics/migrations/color-signals/README.md +46 -0
  322. package/schematics/migrations/color-signals/data.js +131 -0
  323. package/schematics/migrations/color-signals/index.js +19 -0
  324. package/schematics/migrations/color-signals/schema.json +20 -0
  325. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  326. package/schematics/migrations/core-mixins-removal/data.js +27 -0
  327. package/schematics/migrations/core-mixins-removal/index.js +17 -0
  328. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  329. package/schematics/migrations/css-selectors/README.md +2 -2
  330. package/schematics/migrations/css-selectors/index.js +1 -1
  331. package/schematics/migrations/datepicker-signals/README.md +24 -0
  332. package/schematics/migrations/datepicker-signals/data.js +49 -0
  333. package/schematics/migrations/datepicker-signals/index.js +17 -0
  334. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  335. package/schematics/migrations/deprecated-icons/README.md +2 -2
  336. package/schematics/migrations/deprecated-icons/index.js +1 -1
  337. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  338. package/schematics/migrations/design-tokens-v4/index.js +59 -0
  339. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  340. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  341. package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
  342. package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
  343. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  344. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  345. package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
  346. package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
  347. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  348. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  349. package/schematics/migrations/dl-standalone-names/data.js +44 -0
  350. package/schematics/migrations/dl-standalone-names/index.js +321 -0
  351. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  352. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  353. package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
  354. package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
  355. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  356. package/schematics/migrations/dropdown-signals/README.md +83 -0
  357. package/schematics/migrations/dropdown-signals/data.js +152 -0
  358. package/schematics/migrations/dropdown-signals/index.js +19 -0
  359. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  360. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  361. package/schematics/migrations/empty-state-error-color/data.js +85 -0
  362. package/schematics/migrations/empty-state-error-color/index.js +71 -0
  363. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  364. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  365. package/schematics/migrations/empty-state-size-attr/index.js +1 -1
  366. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  367. package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
  368. package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
  369. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  370. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  371. package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
  372. package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
  373. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  374. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  375. package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
  376. package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
  377. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  379. package/schematics/migrations/filter-bar-signals/data.js +1 -2
  380. package/schematics/migrations/filter-bar-signals/index.js +100 -195
  381. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  382. package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
  383. package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
  384. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  385. package/schematics/migrations/flag-inner-html/README.md +67 -0
  386. package/schematics/migrations/flag-inner-html/data.js +58 -0
  387. package/schematics/migrations/flag-inner-html/index.js +61 -0
  388. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  389. package/schematics/migrations/form-field-signals/README.md +125 -0
  390. package/schematics/migrations/form-field-signals/data.js +288 -0
  391. package/schematics/migrations/form-field-signals/index.js +382 -0
  392. package/schematics/migrations/form-field-signals/schema.json +20 -0
  393. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  394. package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
  395. package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
  396. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  397. package/schematics/migrations/icons-replacement/README.md +5 -5
  398. package/schematics/migrations/icons-replacement/index.js +1 -1
  399. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  400. package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
  401. package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
  402. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  403. package/schematics/migrations/input-number-surface/README.md +140 -0
  404. package/schematics/migrations/input-number-surface/data.js +135 -0
  405. package/schematics/migrations/input-number-surface/index.js +292 -0
  406. package/schematics/migrations/input-number-surface/schema.json +20 -0
  407. package/schematics/migrations/input-signals/README.md +20 -0
  408. package/schematics/migrations/input-signals/data.js +30 -0
  409. package/schematics/migrations/input-signals/index.js +17 -0
  410. package/schematics/migrations/input-signals/schema.json +15 -0
  411. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  412. package/schematics/migrations/link-deprecated-path/index.js +19 -0
  413. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  414. package/schematics/migrations/link-signals/README.md +71 -0
  415. package/schematics/migrations/link-signals/data.js +116 -0
  416. package/schematics/migrations/link-signals/index.js +415 -0
  417. package/schematics/migrations/link-signals/schema.json +20 -0
  418. package/schematics/migrations/list-signals/README.md +22 -0
  419. package/schematics/migrations/list-signals/data.js +35 -0
  420. package/schematics/migrations/list-signals/index.js +17 -0
  421. package/schematics/migrations/list-signals/schema.json +15 -0
  422. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  423. package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
  424. package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
  425. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  426. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  427. package/schematics/migrations/loader-overlay-signals/data.js +101 -0
  428. package/schematics/migrations/loader-overlay-signals/index.js +697 -0
  429. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  431. package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
  432. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  433. package/schematics/migrations/locale-configuration-providers/data.js +257 -0
  434. package/schematics/migrations/locale-configuration-providers/index.js +294 -0
  435. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  436. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  437. package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
  438. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  439. package/schematics/migrations/markdown-signals/README.md +58 -0
  440. package/schematics/migrations/markdown-signals/data.js +79 -0
  441. package/schematics/migrations/markdown-signals/index.js +639 -0
  442. package/schematics/migrations/markdown-signals/schema.json +20 -0
  443. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  444. package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
  445. package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
  446. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  447. package/schematics/migrations/modal-signals/README.md +88 -0
  448. package/schematics/migrations/modal-signals/data.js +132 -0
  449. package/schematics/migrations/modal-signals/index.js +19 -0
  450. package/schematics/migrations/modal-signals/schema.json +20 -0
  451. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  452. package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
  453. package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
  454. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  455. package/schematics/migrations/new-icons-pack/README.md +10 -10
  456. package/schematics/migrations/new-icons-pack/index.js +1 -1
  457. package/schematics/migrations/notification-center-signals/README.md +67 -0
  458. package/schematics/migrations/notification-center-signals/data.js +66 -0
  459. package/schematics/migrations/notification-center-signals/index.js +61 -0
  460. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  461. package/schematics/migrations/option-signals/README.md +37 -0
  462. package/schematics/migrations/option-signals/data.js +86 -0
  463. package/schematics/migrations/option-signals/index.js +19 -0
  464. package/schematics/migrations/option-signals/schema.json +20 -0
  465. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  466. package/schematics/migrations/popover-leave-delay/data.js +61 -0
  467. package/schematics/migrations/popover-leave-delay/index.js +54 -0
  468. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  469. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  470. package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
  471. package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
  472. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  473. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  474. package/schematics/migrations/progress-spinner-signals/data.js +83 -0
  475. package/schematics/migrations/progress-spinner-signals/index.js +694 -0
  476. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  477. package/schematics/migrations/query-list-signals/README.md +32 -0
  478. package/schematics/migrations/query-list-signals/data.js +70 -0
  479. package/schematics/migrations/query-list-signals/index.js +17 -0
  480. package/schematics/migrations/query-list-signals/schema.json +15 -0
  481. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  482. package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
  483. package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
  484. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  485. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  486. package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
  487. package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
  488. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  489. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  490. package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
  491. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  492. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  493. package/schematics/migrations/select-signal-inputs/data.js +99 -0
  494. package/schematics/migrations/select-signal-inputs/index.js +57 -0
  495. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  496. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  497. package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
  498. package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
  499. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  500. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  501. package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
  502. package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
  503. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  504. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  505. package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
  506. package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
  507. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  508. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  509. package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
  510. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  511. package/schematics/migrations/state-saving-default/README.md +67 -0
  512. package/schematics/migrations/state-saving-default/data.js +88 -0
  513. package/schematics/migrations/state-saving-default/index.js +62 -0
  514. package/schematics/migrations/state-saving-default/schema.json +15 -0
  515. package/schematics/migrations/table-cell-content/README.md +55 -0
  516. package/schematics/migrations/table-cell-content/data.js +66 -0
  517. package/schematics/migrations/table-cell-content/index.js +66 -0
  518. package/schematics/migrations/table-cell-content/schema.json +15 -0
  519. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  520. package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
  521. package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
  522. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  523. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  524. package/schematics/migrations/tag-list-cleaner/data.js +42 -0
  525. package/schematics/migrations/tag-list-cleaner/index.js +196 -0
  526. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  527. package/schematics/migrations/tag-slots/README.md +41 -0
  528. package/schematics/migrations/tag-slots/index.js +190 -0
  529. package/schematics/migrations/tag-slots/schema.json +20 -0
  530. package/schematics/migrations/tags-signals/README.md +85 -0
  531. package/schematics/migrations/tags-signals/data.js +103 -0
  532. package/schematics/migrations/tags-signals/index.js +673 -0
  533. package/schematics/migrations/tags-signals/schema.json +20 -0
  534. package/schematics/migrations/textarea-signals/README.md +72 -0
  535. package/schematics/migrations/textarea-signals/data.js +121 -0
  536. package/schematics/migrations/textarea-signals/index.js +379 -0
  537. package/schematics/migrations/textarea-signals/schema.json +20 -0
  538. package/schematics/migrations/time-range-title-for/README.md +164 -0
  539. package/schematics/migrations/time-range-title-for/data.js +139 -0
  540. package/schematics/migrations/time-range-title-for/index.js +163 -0
  541. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  542. package/schematics/migrations/timepicker-signals/README.md +78 -0
  543. package/schematics/migrations/timepicker-signals/data.js +82 -0
  544. package/schematics/migrations/timepicker-signals/index.js +709 -0
  545. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  546. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  547. package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
  548. package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
  549. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  550. package/schematics/migrations/title-encapsulation/README.md +49 -0
  551. package/schematics/migrations/title-encapsulation/data.js +69 -0
  552. package/schematics/migrations/title-encapsulation/index.js +57 -0
  553. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  554. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  555. package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
  556. package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
  557. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  558. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  559. package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
  560. package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
  561. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  562. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  563. package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
  564. package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
  565. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  566. package/schematics/migrations/tree-select-signals/README.md +61 -0
  567. package/schematics/migrations/tree-select-signals/data.js +106 -0
  568. package/schematics/migrations/tree-select-signals/index.js +58 -0
  569. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  570. package/schematics/migrations/tree-signals/README.md +82 -0
  571. package/schematics/migrations/tree-signals/data.js +123 -0
  572. package/schematics/migrations/tree-signals/index.js +54 -0
  573. package/schematics/migrations/tree-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  575. package/schematics/migrations/tree-state-saving-default/data.js +78 -0
  576. package/schematics/migrations/tree-state-saving-default/index.js +60 -0
  577. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  578. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  579. package/schematics/migrations/username-pipe-injection/data.js +78 -0
  580. package/schematics/migrations/username-pipe-injection/index.js +58 -0
  581. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  582. package/schematics/migrations/v20-upgrade/README.md +36 -16
  583. package/schematics/migrations/v20-upgrade/data.js +124 -77
  584. package/schematics/migrations/v20-upgrade/index.js +6 -213
  585. package/schematics/migrations/v21-upgrade/README.md +271 -0
  586. package/schematics/migrations/v21-upgrade/data.js +1371 -0
  587. package/schematics/migrations/v21-upgrade/index.js +94 -0
  588. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  589. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  590. package/schematics/migrations/zoneless-change-detection/data.js +29 -0
  591. package/schematics/migrations/zoneless-change-detection/index.js +20 -0
  592. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  593. package/schematics/migrations.json +392 -2
  594. package/schematics/ng-add/index.js +515 -14
  595. package/schematics/ng-add/schema.json +15 -0
  596. package/schematics/utils/deprecated-path-migration.js +61 -0
  597. package/schematics/utils/package-config.js +9 -105
  598. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  599. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  600. package/scrollbar/native-scrollbar.scss +68 -0
  601. package/scrollbar/scrollbar-tokens.scss +13 -22
  602. package/scrollbar/scrollbar-track.scss +94 -0
  603. package/scrollbar/scrollbar-viewport.scss +33 -0
  604. package/scrollbar/scrollbar.scss +24 -0
  605. package/search-expandable/search-expandable-tokens.scss +4 -0
  606. package/search-expandable/search-expandable.scss +4 -2
  607. package/select/_select-theme.scss +3 -16
  608. package/select/select.scss +0 -6
  609. package/sidebar/sidebar.scss +20 -0
  610. package/sidepanel/_sidepanel-theme.scss +1 -1
  611. package/sidepanel/sidepanel-tokens.scss +7 -1
  612. package/sidepanel/sidepanel.scss +41 -5
  613. package/skeleton/skeleton-presets.scss +350 -0
  614. package/skeleton/skeleton-tokens.scss +127 -0
  615. package/skeleton/skeleton.scss +53 -45
  616. package/split-button/_split-button-theme.scss +4 -4
  617. package/split-button/split-button.scss +2 -6
  618. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  619. package/splitter/deprecated/splitter.scss +51 -0
  620. package/splitter/splitter-tokens.scss +19 -0
  621. package/splitter/splitter.scss +148 -28
  622. package/table/_table-theme.scss +13 -12
  623. package/table/table-tokens.scss +8 -0
  624. package/table/table.scss +47 -22
  625. package/tabs/_tabs-common.scss +14 -14
  626. package/tabs/_tabs-theme.scss +4 -5
  627. package/tabs/tab-body.scss +49 -1
  628. package/tabs/tab-header.scss +2 -1
  629. package/tags/tag-list.scss +4 -0
  630. package/tags/tag.scss +19 -1
  631. package/time-range/time-range.scss +9 -0
  632. package/timezone/timezone-option.component.scss +4 -7
  633. package/timezone/timezone-select.component.scss +3 -0
  634. package/toast/_toast-theme.scss +1 -4
  635. package/toast/toast-container.component.scss +19 -13
  636. package/toast/toast-tokens.scss +12 -6
  637. package/toast/toast.component.scss +42 -19
  638. package/toggle/_toggle-theme.scss +4 -10
  639. package/toggle/toggle.scss +67 -26
  640. package/tooltip/_tooltip-theme.scss +7 -1
  641. package/tooltip/tooltip-tokens.scss +1 -2
  642. package/tooltip/tooltip.scss +55 -9
  643. package/top-bar/top-bar-tokens.scss +13 -2
  644. package/top-bar/top-bar.scss +24 -19
  645. package/tree/_tree-theme.scss +0 -1
  646. package/tree/toggle.scss +5 -9
  647. package/tree/tree-option.scss +2 -4
  648. package/tree/tree-tokens.scss +2 -1
  649. package/tree/tree.scss +3 -5
  650. package/tree-select/_tree-select-theme.scss +4 -15
  651. package/tree-select/tree-select-tokens.scss +16 -0
  652. package/tree-select/tree-select.scss +0 -6
  653. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  654. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  655. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  656. package/types/koobiq-components-app-switcher.d.ts +406 -0
  657. package/types/koobiq-components-autocomplete.d.ts +443 -0
  658. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  659. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  660. package/types/koobiq-components-button-toggle.d.ts +340 -0
  661. package/types/koobiq-components-button.d.ts +296 -0
  662. package/types/koobiq-components-checkbox.d.ts +172 -0
  663. package/types/koobiq-components-clamped-text.d.ts +184 -0
  664. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
  665. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  666. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  667. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  668. package/types/koobiq-components-divider.d.ts +43 -0
  669. package/types/koobiq-components-dl.d.ts +235 -0
  670. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  671. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  672. package/types/koobiq-components-empty-state.d.ts +106 -0
  673. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  674. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  675. package/types/koobiq-components-flag.d.ts +68 -0
  676. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  677. package/types/koobiq-components-icon.d.ts +333 -0
  678. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  679. package/types/koobiq-components-input.d.ts +477 -0
  680. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  681. package/types/koobiq-components-link.d.ts +176 -0
  682. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  683. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  684. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  685. package/types/koobiq-components-modal.d.ts +666 -0
  686. package/types/koobiq-components-navbar.d.ts +569 -0
  687. package/types/koobiq-components-notification-center.d.ts +500 -0
  688. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  689. package/types/koobiq-components-popover.d.ts +468 -0
  690. package/types/koobiq-components-progress-bar.d.ts +67 -0
  691. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  692. package/types/koobiq-components-radio.d.ts +294 -0
  693. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  694. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  695. package/types/koobiq-components-scrollbar.d.ts +154 -0
  696. package/types/koobiq-components-search-expandable.d.ts +164 -0
  697. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  698. package/types/koobiq-components-sidebar.d.ts +152 -0
  699. package/types/koobiq-components-sidepanel.d.ts +436 -0
  700. package/types/koobiq-components-skeleton.d.ts +234 -0
  701. package/types/koobiq-components-split-button.d.ts +65 -0
  702. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  703. package/types/koobiq-components-splitter.d.ts +406 -0
  704. package/types/koobiq-components-table.d.ts +44 -0
  705. package/types/koobiq-components-tabs.d.ts +888 -0
  706. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  707. package/types/koobiq-components-textarea.d.ts +178 -0
  708. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  709. package/types/koobiq-components-timepicker.d.ts +223 -0
  710. package/types/koobiq-components-timezone.d.ts +266 -0
  711. package/types/koobiq-components-title.d.ts +184 -0
  712. package/types/koobiq-components-toast.d.ts +289 -0
  713. package/types/koobiq-components-toggle.d.ts +121 -0
  714. package/types/koobiq-components-tooltip.d.ts +610 -0
  715. package/types/koobiq-components-top-bar.d.ts +61 -0
  716. package/types/koobiq-components-tree-select.d.ts +667 -0
  717. package/types/koobiq-components-tree.d.ts +1290 -0
  718. package/types/koobiq-components-username.d.ts +340 -0
  719. package/username/_username-theme.scss +35 -0
  720. package/username/username.scss +10 -34
  721. package/app-switcher/index.d.ts +0 -276
  722. package/autocomplete/index.d.ts +0 -286
  723. package/button/index.d.ts +0 -153
  724. package/button-toggle/index.d.ts +0 -162
  725. package/checkbox/index.d.ts +0 -163
  726. package/clamped-text/index.d.ts +0 -146
  727. package/core/styles/_tokens.scss +0 -7
  728. package/core/styles/common/_clearfix.scss +0 -13
  729. package/core/styles/common/_popup.scss +0 -6
  730. package/core/styles/functions/_index.scss +0 -3
  731. package/core/styles/functions/_number.scss +0 -60
  732. package/core/styles/functions/_string.scss +0 -18
  733. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  734. package/core/styles/typography/_typography-utils.scss +0 -84
  735. package/divider/index.d.ts +0 -20
  736. package/dl/index.d.ts +0 -45
  737. package/ellipsis-center/index.d.ts +0 -71
  738. package/empty-state/index.d.ts +0 -45
  739. package/flag/index.d.ts +0 -44
  740. package/icon/index.d.ts +0 -200
  741. package/input/index.d.ts +0 -354
  742. package/link/index.d.ts +0 -56
  743. package/loader-overlay/index.d.ts +0 -57
  744. package/modal/index.d.ts +0 -339
  745. package/navbar/index.d.ts +0 -372
  746. package/notification-center/index.d.ts +0 -323
  747. package/popover/index.d.ts +0 -182
  748. package/prebuilt-themes/dark-theme.css +0 -1
  749. package/prebuilt-themes/light-theme.css +0 -1
  750. package/progress-bar/index.d.ts +0 -31
  751. package/radio/index.d.ts +0 -203
  752. package/search-expandable/index.d.ts +0 -101
  753. package/sidebar/index.d.ts +0 -94
  754. package/sidepanel/index.d.ts +0 -272
  755. package/skeleton/index.d.ts +0 -26
  756. package/split-button/index.d.ts +0 -46
  757. package/table/index.d.ts +0 -25
  758. package/tabs/index.d.ts +0 -677
  759. package/textarea/index.d.ts +0 -138
  760. package/timepicker/index.d.ts +0 -197
  761. package/timezone/index.d.ts +0 -125
  762. package/title/index.d.ts +0 -139
  763. package/toast/index.d.ts +0 -178
  764. package/toggle/index.d.ts +0 -104
  765. package/tooltip/index.d.ts +0 -335
  766. package/top-bar/index.d.ts +0 -33
  767. package/tree/index.d.ts +0 -802
  768. package/tree-select/index.d.ts +0 -475
  769. package/username/index.d.ts +0 -194
  770. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  771. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-popover.mjs","sources":["../../../packages/components/popover/popover-animations.ts","../../../packages/components/popover/popover.component.ts","../../../packages/components/popover/popover.component.html","../../../packages/components/popover/popover-confirm.component.ts","../../../packages/components/popover/popover-confirm.component.html","../../../packages/components/popover/popover.module.ts","../../../packages/components/popover/koobiq-components-popover.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport const kbqPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state(\n 'initial',\n style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })\n ),\n transition(\n '* => visible',\n animate(\n '120ms cubic-bezier(0, 0, 0.2, 1)',\n style({\n opacity: 1,\n transform: 'scale(1, 1)'\n })\n )\n ),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayContainer,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n InjectionToken,\n Input,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n Type,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n input,\n numberAttribute,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport {\n KbqComponentColors,\n KbqOverflowShadowBottom,\n KbqOverflowShadowContainer,\n KbqOverflowShadowTop,\n KbqPopUp,\n KbqPopUpPlacementValues,\n KbqPopUpSizeValues,\n KbqPopUpTrigger,\n KbqStickToWindowPlacementValues,\n POSITION_TO_CSS_MAP,\n PopUpSizes,\n PopUpTriggers,\n applyPopupMargins,\n kbqSiblingPopupProvider\n} from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { NEVER, merge } from 'rxjs';\nimport { kbqPopoverAnimations } from './popover-animations';\n\nexport const defaultOffsetYWithArrow = 8;\n\n@Component({\n selector: 'kbq-popover-component',\n imports: [\n NgTemplateOutlet,\n CdkObserveContent,\n KbqButtonModule,\n KbqIconModule,\n CdkTrapFocus,\n KbqOverflowShadowContainer,\n KbqOverflowShadowTop,\n KbqOverflowShadowBottom\n ],\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '(keydown.esc)': 'onEscape()'\n },\n animations: [kbqPopoverAnimations.popoverState],\n preserveWhitespaces: false\n})\nexport class KbqPopoverComponent extends KbqPopUp implements AfterViewInit {\n prefix = 'kbq-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n trigger: KbqPopoverTrigger;\n\n isTrapFocus: boolean = false;\n hasCloseButton: boolean = false;\n\n @ViewChild('popover') elementRef: ElementRef;\n readonly cdkTrapFocus = viewChild.required(CdkTrapFocus);\n /** @docs-private */\n readonly overflowContainer = viewChild(KbqOverflowShadowContainer);\n\n ngAfterViewInit() {\n this.visibleChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((state) => {\n if (this.offset !== null && state && this.elementRef) {\n applyPopupMargins(\n this.renderer,\n this.elementRef.nativeElement,\n this.prefix,\n `${this.offset!.toString()}px`\n );\n\n this.setStickPosition();\n }\n });\n\n this.cdkTrapFocus().focusTrap.focusFirstTabbableElement();\n }\n\n updateClassMap(placement: string, customClass: string, size: KbqPopUpSizeValues) {\n super.updateClassMap(placement, customClass, { [`${this.prefix}_${size}`]: !!size });\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n\n onEscape() {\n this.hide(0);\n\n this.trigger.focus();\n }\n\n protected readonly componentColors = KbqComponentColors;\n}\n\nexport const KBQ_POPOVER_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>('kbq-popover-scroll-strategy', {\n providedIn: 'root',\n factory: () => kbqPopoverScrollStrategyFactory(inject(Overlay))\n});\n\n/** @docs-private */\nexport function kbqPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: KBQ_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: kbqPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getKbqPopoverInvalidPositionError(position: string) {\n return Error(`KbqPopover position \"${position}\" is invalid.`);\n}\n\n@Directive({\n selector: '[kbqPopover]',\n providers: [kbqSiblingPopupProvider(KbqPopoverTrigger)],\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '[class.kbq-active]': 'hasClickTrigger && isOpen',\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n },\n exportAs: 'kbqPopover'\n})\nexport class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> implements AfterContentInit, OnInit {\n private overlayContainer = inject(OverlayContainer);\n private renderer = inject(Renderer2);\n\n protected scrollStrategy: () => ScrollStrategy = inject(KBQ_POPOVER_SCROLL_STRATEGY);\n\n /** Controls whether the component should be hidden when it is not visible in the viewport. */\n readonly hideIfNotInViewPort = input(true, { transform: booleanAttribute });\n\n /** prevents closure by any event */\n // TODO: Skipped for migration because:\n // Your application code writes to the input. This prevents migration.\n @Input({ alias: 'kbqPopoverPreventClose', transform: booleanAttribute }) override preventClose: boolean = false;\n\n /** disables default padding for all popover elements (header, content and footer) */\n // TODO: Skipped for migration because:\n // Class of this input is referenced in the signature of another class.\n @Input({ transform: booleanAttribute }) defaultPaddings = true;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverVisible')\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverPlacement')\n get popoverPlacement(): KbqPopUpPlacementValues {\n return this.placement;\n }\n\n set popoverPlacement(value: KbqPopUpPlacementValues) {\n super.updatePlacement(value);\n }\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverPlacementPriority')\n get popoverPlacementPriority() {\n return this.placementPriority;\n }\n\n set popoverPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n /**\n * Additionally positions the element relative to the window side (Top, Right, Bottom and Left).\n * If container is specified, the positioning will be relative to it.\n * */\n // TODO: Skipped for migration because:\n // This input overrides a field from a superclass, while the superclass field\n // is not migrated.\n @Input('kbqPopoverStickToWindow') stickToWindow: KbqStickToWindowPlacementValues;\n\n /** Container for additional positioning, used with kbqPopoverStickToWindow */\n // TODO: Skipped for migration because:\n // This input overrides a field from a superclass, while the superclass field\n // is not migrated.\n @Input() container: HTMLElement;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(value: string | TemplateRef<any>) {\n this._header = value;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverContent')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n\n this.updateData();\n }\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverFooter')\n get footer(): string | TemplateRef<any> {\n return this._footer;\n }\n\n set footer(value: string | TemplateRef<any>) {\n this._footer = value;\n\n this.updateData();\n }\n\n private _footer: string | TemplateRef<any>;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n\n if (this._disabled) {\n this.hide();\n }\n }\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\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 if (this.trigger.includes(PopUpTriggers.Hover)) {\n this.hideWithTimeout = true;\n this.leaveDelay = this.leaveDelay ?? 500;\n }\n } else {\n this._trigger = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverSize')\n get size(): KbqPopUpSizeValues {\n return this._size;\n }\n\n set size(value: KbqPopUpSizeValues) {\n if ([PopUpSizes.Small, PopUpSizes.Medium, PopUpSizes.Large, PopUpSizes.Custom].includes(value as PopUpSizes)) {\n this._size = value;\n\n this.updateClassMap();\n } else {\n this._size = PopUpSizes.Medium;\n }\n }\n\n private _size: KbqPopUpSizeValues = PopUpSizes.Medium;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverClass')\n get customClass() {\n return this._customClass;\n }\n\n set customClass(value: string) {\n this._customClass = value;\n\n this.updateClassMap();\n }\n\n /** Context for popover templates (kbqPopoverHeader, kbqPopoverContent and kbqPopoverFooter). */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverContext')\n get context() {\n return this._context;\n }\n\n set context(ctx) {\n this._context = ctx;\n this.updateData();\n }\n\n private _context: unknown = null;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n get hasCloseButton() {\n return this._hasCloseButton;\n }\n set hasCloseButton(value) {\n this._hasCloseButton = value;\n this.updateData();\n }\n private _hasCloseButton = false;\n\n /**\n * Controls the behavior of closing the component on scroll.\n * The default value is `false`.\n * Use CloseScrollStrategy as alternative\n */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n get closeOnScroll(): boolean | null {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean | null = null;\n\n get hasClickTrigger(): boolean {\n return this.trigger.includes(PopUpTriggers.Click);\n }\n\n /** @docs-private */\n get instanceDestroyRef(): DestroyRef {\n return this.instance.destroyRef;\n }\n\n // TODO: Skipped for migration because:\n // Class of this input is referenced in the signature of another class.\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n // @TODO add realization for arrow (#DS-2514)\n // TODO: Skipped for migration because:\n // This input overrides a field from a superclass, while the superclass field\n // is not migrated.\n @Input({ alias: 'kbqPopoverArrow', transform: booleanAttribute }) arrow: boolean = true;\n\n // TODO: Skipped for migration because:\n // Class of this input is referenced in the signature of another class.\n @Input({ alias: 'kbqPopoverOffset', transform: numberAttribute }) offset: number | null = defaultOffsetYWithArrow;\n\n /** Delay before closing in milliseconds. The default value for kbqTrigger=PopUpTriggers.Hover is 500 ms. */\n // TODO: Skipped for migration because:\n // Your application code writes to the input. This prevents migration.\n @Input({ alias: 'kbqLeaveDelay', transform: numberAttribute }) leaveDelay: number;\n\n @Output('kbqPopoverPlacementChange') readonly placementChange = new EventEmitter();\n\n @Output('kbqPopoverVisibleChange') readonly visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.kbq-popover';\n\n // NB: the trigger↔popover gap is a CSS `margin` on `.kbq-popover` (see `applyPopupMargins`), which sits inside\n // this `pointer-events: auto` pane, so the gap band is already covered and not click/hover-through. This is why\n // the connected-overlay `offsetY`→in-pane-padding fix (KBQ_CONNECTED_OVERLAY_* / --kbq-connected-overlay-gap,\n // used by select/tree-select/autocomplete/datepicker) intentionally does NOT apply here — do not \"port\" it.\n // Guarded by the \"trigger↔panel gap is not click-through\" e2e tests in e2e.playwright-spec.ts.\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'kbq-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n private classAddedToOverlayContainer: boolean = false;\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.scrollable\n ?.elementScrolled()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(this.hideIfScrolledOutOfView);\n }\n\n ngAfterContentInit(): void {\n if (this.closeOnScroll === null) {\n this.scrollDispatcher\n .scrolled()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((scrollable: CdkScrollable | void) => {\n if (!scrollable?.getElementRef().nativeElement.classList.contains('kbq-hide-nested-popup')) return;\n\n const parentRects = scrollable.getElementRef().nativeElement.getBoundingClientRect();\n const childRects = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (childRects.bottom < parentRects.top || childRects.top > parentRects.bottom) {\n this.hide();\n }\n });\n }\n }\n\n /**\n * Overrides the base `show` method to display the overlay component with the\n * specified entry delay and apply default positioning offsets.\n */\n override show(delay: number = this.enterDelay) {\n super.show(delay);\n\n this.addClassToOverlayContainer();\n }\n\n override hide(delay: number = this.leaveDelay) {\n super.hide(delay);\n\n this.removeClassFromOverlayContainer();\n }\n\n updateData() {\n if (!this.instance) return;\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.context = this.context && { $implicit: this.context };\n this.instance.arrow = this.arrow;\n this.instance.offset = this.offset;\n this.instance.footer = this.footer;\n this.instance.hasCloseButton = this.hasCloseButton;\n this.instance.defaultPaddings = this.defaultPaddings;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getAdjustedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n getOverlayHandleComponentType(): Type<KbqPopoverComponent> {\n return KbqPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) {\n return;\n }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n closingActionsForClick() {\n if (this.hasClickTrigger) {\n return this.defaultClosingActions();\n }\n\n return [];\n }\n\n defaultClosingActions() {\n return [\n this.overlayRef!.backdropClick(),\n this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents()\n ];\n }\n\n closingActions() {\n return merge(...this.closingActionsForClick(), this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER);\n }\n\n private hideIfScrolledOutOfView = () => {\n if (!this.scrollable || !this.hideIfNotInViewPort()) return;\n\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n const containerRect = this.scrollable.getElementRef().nativeElement.getBoundingClientRect();\n\n if (!(\n rect.bottom >= containerRect.top &&\n rect.right >= containerRect.left &&\n rect.top <= containerRect.bottom &&\n rect.left <= containerRect.right\n )) {\n this.hide();\n }\n };\n\n private addClassToOverlayContainer() {\n const overlayContainer = this.overlayContainer?.getContainerElement();\n\n if (overlayContainer.childNodes.length === 1) {\n this.classAddedToOverlayContainer = true;\n\n this.renderer.addClass(overlayContainer, 'cdk-overlay-container_dropdown');\n }\n }\n\n private removeClassFromOverlayContainer() {\n if (this.classAddedToOverlayContainer) {\n this.renderer.removeClass(this.overlayContainer.getContainerElement(), 'cdk-overlay-container_dropdown');\n }\n }\n}\n","<div\n #popover\n class=\"kbq-popover\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [class]=\"classMap\"\n [@state]=\"visibility\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\n>\n <div\n class=\"kbq-popover__container\"\n [class.kbq-popover__container_with-footer]=\"footer\"\n [class.kbq-popover__container_with-header]=\"header\"\n >\n @if (header) {\n <div\n class=\"kbq-popover__header\"\n [class.kbq-popover__header_default-paddings]=\"defaultPaddings\"\n [class.kbq-popover__header_with-close-button]=\"hasCloseButton\"\n [kbqOverflowShadowTop]=\"overflowContainer()\"\n >\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div class=\"kbq-popover__header-text\">{{ header }}</div>\n }\n </div>\n }\n\n @if (content) {\n <div\n #popoverContent=\"kbqOverflowShadowContainer\"\n kbqOverflowShadowContainer\n class=\"kbq-popover__content kbq-scrollbar\"\n [class.kbq-popover__content_default-paddings]=\"defaultPaddings\"\n [debounce]=\"15\"\n (cdkObserveContent)=\"popoverContent.checkOverflow()\"\n >\n @if (hasCloseButton && !header) {\n <div class=\"kbq-popover__close-container\">\n <ng-container [ngTemplateOutlet]=\"closeButton\" />\n </div>\n }\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ content }}</div>\n }\n </div>\n }\n\n @if (footer) {\n <div\n class=\"kbq-popover__footer\"\n [class.kbq-popover__footer_default-paddings]=\"defaultPaddings\"\n [kbqOverflowShadowBottom]=\"overflowContainer()\"\n >\n @if (isTemplateRef(footer)) {\n <ng-container [ngTemplateOutlet]=\"$any(footer)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ footer }}</div>\n }\n </div>\n }\n </div>\n\n @if (hasCloseButton && header) {\n <div class=\"kbq-popover__close-container\">\n <ng-container [ngTemplateOutlet]=\"closeButton\" />\n </div>\n }\n\n <ng-template #closeButton>\n <div class=\"kbq-popover__close\" [class.kbq-popover__close_background-overlay-inverse]=\"!header\">\n <button kbq-button class=\"kbq-button_transparent\" [color]=\"componentColors.Contrast\" (click)=\"hide(0)\">\n <i kbq-icon=\"kbq-xmark_16\" [color]=\"componentColors.Contrast\"></i>\n </button>\n </div>\n </ng-template>\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n InjectionToken,\n Input,\n ViewEncapsulation,\n inject,\n output\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { kbqSiblingPopupProvider } from '@koobiq/components/core';\nimport { Subject } from 'rxjs';\nimport { kbqPopoverAnimations } from './popover-animations';\nimport { KbqPopoverComponent, KbqPopoverTrigger } from './popover.component';\n\nexport const KBQ_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const KBQ_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n selector: 'kbq-popover-confirm-component',\n imports: [\n CdkTrapFocus,\n KbqButtonModule\n ],\n templateUrl: './popover-confirm.component.html',\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [kbqPopoverAnimations.popoverState],\n preserveWhitespaces: false\n})\nexport class KbqPopoverConfirmComponent extends KbqPopoverComponent {\n onConfirm = new Subject<void>();\n confirmButtonText: string;\n\n confirmText: string;\n}\n\n@Directive({\n selector: '[kbqPopoverConfirm]',\n // Declared again rather than inherited from `KbqPopoverTrigger`: Angular copies `providers` to a subclass\n // only when that subclass has no decorator of its own.\n providers: [kbqSiblingPopupProvider(KbqPopoverConfirmTrigger)],\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n },\n exportAs: 'kbqPopoverConfirm'\n})\nexport class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {\n readonly confirm = output<void>();\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverConfirmText')\n get confirmText(): string {\n return this._confirmText;\n }\n\n set confirmText(value: string) {\n this._confirmText = value;\n\n this.updateData();\n }\n\n private _confirmText: string;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input('kbqPopoverConfirmButtonText')\n get confirmButtonText(): string {\n return this._confirmButtonText;\n }\n\n set confirmButtonText(value: string) {\n this._confirmButtonText = value;\n\n this.updateData();\n }\n\n private _confirmButtonText: string = 'Да';\n\n constructor() {\n const confirmText = inject(KBQ_POPOVER_CONFIRM_TEXT, { optional: true });\n const confirmButtonText = inject(KBQ_POPOVER_CONFIRM_BUTTON_TEXT, { optional: true });\n\n super();\n\n this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n this.confirmButtonText = confirmButtonText || 'Да';\n }\n\n updateData() {\n if (!this.instance) {\n return;\n }\n\n super.updateData();\n this.setupButtonEvents();\n this.instance.confirmButtonText = this.confirmButtonText;\n this.instance.confirmText = this.confirmText;\n }\n\n setupButtonEvents() {\n this.instance.onConfirm.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n // TODO: The 'emit' function requires a mandatory void argument\n this.confirm.emit();\n this.hide();\n });\n }\n\n getOverlayHandleComponentType() {\n return KbqPopoverConfirmComponent;\n }\n}\n","<div\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n class=\"kbq-popover-confirm kbq-popover\"\n [class]=\"classMap\"\n [@state]=\"visibility\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\n>\n <div class=\"kbq-popover__container\">\n <div class=\"kbq-popover__content\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"'contrast'\" (click)=\"onConfirm.next()\">\n {{ confirmButtonText }}\n </button>\n </div>\n </div>\n\n <div class=\"kbq-popover__arrow\"></div>\n</div>\n","import {\n A11yModule,\n ConfigurableFocusTrapFactory,\n FOCUS_TRAP_INERT_STRATEGY,\n FocusTrapFactory\n} from '@angular/cdk/a11y';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { EmptyFocusTrapStrategy } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqPopoverConfirmComponent, KbqPopoverConfirmTrigger } from './popover-confirm.component';\nimport { KbqPopoverComponent, KbqPopoverTrigger } from './popover.component';\n\n@NgModule({\n imports: [\n OverlayModule,\n KbqButtonModule,\n A11yModule,\n KbqIconModule,\n CdkObserveContent,\n NgTemplateOutlet,\n KbqPopoverComponent,\n KbqPopoverTrigger,\n KbqPopoverConfirmComponent,\n KbqPopoverConfirmTrigger\n ],\n providers: [\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory },\n { provide: FOCUS_TRAP_INERT_STRATEGY, useClass: EmptyFocusTrapStrategy }\n ],\n exports: [\n KbqPopoverComponent,\n KbqPopoverTrigger,\n KbqPopoverConfirmComponent,\n KbqPopoverConfirmTrigger\n ]\n})\nexport class KbqPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-popover.mjs","sources":["../../../packages/components/popover/popover.component.ts","../../../packages/components/popover/popover.component.html","../../../packages/components/popover/popover-confirm.component.ts","../../../packages/components/popover/popover-confirm.component.html","../../../packages/components/popover/popover.module.ts","../../../packages/components/popover/koobiq-components-popover.ts"],"sourcesContent":["import {\n CdkTrapFocus,\n ConfigurableFocusTrapFactory,\n FOCUS_TRAP_INERT_STRATEGY,\n FocusMonitor,\n FocusTrapFactory\n} from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n OverlayConfig,\n OverlayRef,\n ScrollDispatcher,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n InjectionToken,\n InputSignal,\n OnChanges,\n OnInit,\n Provider,\n SimpleChanges,\n TemplateRef,\n Type,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n input,\n untracked,\n viewChild\n} from '@angular/core';\nimport { outputFromObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport {\n EmptyFocusTrapStrategy,\n KBQ_OVERLAY_LAYERS,\n KbqComponentColors,\n KbqOverflowShadowBottom,\n KbqOverflowShadowContainer,\n KbqOverflowShadowTop,\n KbqOverlayOrigin,\n KbqPopUp,\n KbqPopUpPlacementValues,\n KbqPopUpSizeValues,\n KbqPopUpTrigger,\n KbqStickToWindowPlacementValues,\n POSITION_TO_CSS_MAP,\n PopUpPlacements,\n PopUpSizes,\n PopUpTriggers,\n applyPopupMargins,\n kbqInjectA11yLocaleConfiguration,\n kbqOptionalNumberAttribute,\n kbqRepositionScrollStrategyFactory,\n kbqSiblingPopupProvider\n} from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqScrollbarViewport } from '@koobiq/components/scrollbar';\nimport { NEVER, merge } from 'rxjs';\n\nexport const defaultOffsetYWithArrow = 8;\n\n/** Leave delay applied to a hover-triggered popover when `kbqLeaveDelay` is not bound. */\nexport const defaultHoverLeaveDelay = 500;\n\n/** Default `kbqPopoverBackdropClass`. */\nconst defaultBackdropClass = 'cdk-overlay-transparent-backdrop';\n\n/** Debounce of the content-mutation observer that drives the scroll shadows, in milliseconds. */\nconst contentObserverDebounce = 15;\n\n/** DOM event names the shared pop-up base records right before opening on a pointer or focus event. */\nconst passiveOpenEvents = ['mouseenter', 'focus'];\n\nlet nextUniqueId = 0;\n\n/**\n * Focus-trap wiring of a popover panel.\n *\n * Provided on the panel components rather than on `KbqPopoverModule`: both entries are injector-wide, so at\n * module level they replaced the CDK inert strategy for every other focus trap in the importing injector.\n *\n * @docs-private\n */\nexport const KBQ_POPOVER_FOCUS_TRAP_PROVIDERS: Provider[] = [\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory },\n { provide: FOCUS_TRAP_INERT_STRATEGY, useClass: EmptyFocusTrapStrategy }\n];\n\n@Component({\n selector: 'kbq-popover-component',\n imports: [\n NgTemplateOutlet,\n CdkObserveContent,\n KbqButtonModule,\n KbqIconModule,\n KbqScrollbarViewport,\n CdkTrapFocus,\n KbqOverflowShadowContainer,\n KbqOverflowShadowTop,\n KbqOverflowShadowBottom\n ],\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n providers: KBQ_POPOVER_FOCUS_TRAP_PROVIDERS,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '(keydown.esc)': 'onEscape($event)'\n },\n preserveWhitespaces: false\n})\nexport class KbqPopoverComponent extends KbqPopUp implements AfterViewInit {\n /** Accessible name for the icon-only close button. */\n protected readonly a11yLocaleConfiguration = kbqInjectA11yLocaleConfiguration();\n\n /** Debounce shared by the mutation observer and the scroll-shadow container (both expose `debounce`). */\n protected readonly contentObserverDebounce = contentObserverDebounce;\n\n prefix = 'kbq-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n trigger: KbqPopoverTrigger;\n\n isTrapFocus: boolean = false;\n hasCloseButton: boolean = false;\n\n /** Id of the panel element, referenced by the trigger's `aria-controls`. Written by the trigger. */\n panelId: string;\n\n /** Accessible name of the panel, used when there is no header to label it. Written by the trigger. */\n ariaLabel: string | undefined;\n\n private readonly popoverElement = viewChild<ElementRef<HTMLElement>>('popover');\n\n /**\n * Panel element (`.kbq-popover`), not the component host.\n *\n * Deliberately shadows the injected `KbqPopUp.elementRef`: the base measures and decorates the visible\n * panel, so both `applyPopupMargins` here and `setStickPosition`/`addEventListenerForHide` in the base\n * must resolve to the same element. The confirm template carries the matching `#popover` reference.\n */\n override get elementRef(): ElementRef<HTMLElement> {\n return this.popoverElement()!;\n }\n readonly cdkTrapFocus = viewChild.required(CdkTrapFocus);\n /** @docs-private */\n readonly overflowContainer = viewChild(KbqOverflowShadowContainer);\n\n private readonly scrollbarViewport = viewChild(KbqScrollbarViewport);\n\n /** Id of the header text node, referenced by the panel's `aria-labelledby`. */\n get headerId(): string {\n return `${this.panelId}-header`;\n }\n\n /**\n * Whether the header can name the dialog. Only a string header renders a text node with an id to point\n * `aria-labelledby` at; a template header is arbitrary markup, so those panels fall back to `ariaLabel`.\n */\n protected get labelledByHeader(): boolean {\n return !!this.header && !this.isTemplateRef(this.header);\n }\n\n ngAfterViewInit() {\n this.visibleChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((state) => {\n if (this.offset !== null && state && this.elementRef) {\n applyPopupMargins(\n this.renderer,\n this.elementRef.nativeElement,\n this.prefix,\n `${this.offset!.toString()}px`\n );\n\n this.setStickPosition();\n }\n\n // Every closing path ends here, and the panel is still in the DOM at this point, so this is the\n // one place where focus can be handed back to the trigger instead of falling to `<body>`.\n if (!state) {\n this.trigger?.restoreFocus();\n }\n });\n\n // A hover- or focus-triggered popover is dismissed by the pointer leaving it, so capturing the\n // keyboard would strand focus on `<body>` when it auto-hides.\n if (this.trigger?.capturesFocusOnOpen ?? true) {\n this.cdkTrapFocus().focusTrap.focusFirstTabbableElement();\n }\n }\n\n updateClassMap(placement: string, customClass: string, size: KbqPopUpSizeValues) {\n super.updateClassMap(placement, customClass, { [`${this.prefix}_${size}`]: !!size });\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n\n /** Closes the panel on `Escape` inside it, unless a control there spent the key closing a popup of its own. */\n onEscape(event?: Event) {\n if (event?.defaultPrevented || this.trigger?.preventClose) return;\n\n // Spent, so that a container closing on Escape, such as a modal around an overlay layer, stays open.\n event?.preventDefault();\n this.requestClose();\n }\n\n /** Handles a click on the close button. */\n protected onClose(): void {\n this.requestClose();\n }\n\n /**\n * Closes the panel through its trigger, so that `kbqPopoverPreventClose` is honored and focus is restored\n * the same way as on every other closing path.\n *\n * The component is exported and can be rendered without a trigger — `ngAfterViewInit` already allows for\n * that — and such a panel has no `preventClose` to honor and no trigger to hand focus back to, so it hides\n * itself rather than throwing on a keypress.\n */\n private requestClose(): void {\n if (this.trigger) {\n this.trigger.close();\n } else {\n this.hide(0);\n }\n }\n\n /**\n * Whether the scrollable content region needs its own tab stop and landmark (AXE\n * `scrollable-region-focusable`). An unconditional `tabindex` would add a stop to every popover.\n */\n protected isScrollableRegion(container: KbqOverflowShadowContainer): boolean {\n const { top, bottom } = container.overflow();\n\n return top || bottom;\n }\n\n protected override afterShowAnimation(): void {\n this.scrollbarViewport()?.flashScrollIndicators();\n }\n\n protected readonly componentColors = KbqComponentColors;\n}\n\nexport const KBQ_POPOVER_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>('kbq-popover-scroll-strategy', {\n providedIn: 'root',\n factory: () => kbqPopoverScrollStrategyFactory(inject(ScrollDispatcher))\n});\n\n/** @docs-private */\nexport function kbqPopoverScrollStrategyFactory(scrollDispatcher: ScrollDispatcher): () => ScrollStrategy {\n return kbqRepositionScrollStrategyFactory(scrollDispatcher, { scrollThrottle: 20 });\n}\n\n/**\n * Redundant to the root factory of the token; kept so an app can restore the default under its own override (#DS-2196).\n *\n * @docs-private\n */\nexport const KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: KBQ_POPOVER_SCROLL_STRATEGY,\n deps: [ScrollDispatcher],\n useFactory: kbqPopoverScrollStrategyFactory\n};\n\n@Directive({\n selector: '[kbqPopover]',\n providers: [kbqSiblingPopupProvider(KbqPopoverTrigger)],\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '[class.kbq-active]': 'hasClickTrigger && isOpen',\n '[attr.aria-expanded]': 'hasClickTrigger ? isOpen : null',\n '[attr.aria-haspopup]': 'hasClickTrigger ? \"dialog\" : null',\n '[attr.aria-controls]': 'hasClickTrigger && isOpen ? panelId : null',\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n },\n exportAs: 'kbqPopover'\n})\nexport class KbqPopoverTrigger\n extends KbqPopUpTrigger<KbqPopoverComponent>\n implements OnChanges, AfterContentInit, OnInit\n{\n protected scrollStrategy: () => ScrollStrategy = inject(KBQ_POPOVER_SCROLL_STRATEGY);\n\n private readonly focusMonitor = inject(FocusMonitor);\n private readonly document = inject(DOCUMENT);\n private readonly overlayLayers = inject(KBQ_OVERLAY_LAYERS);\n\n /** Id of the panel this trigger controls, shared with `aria-controls`. */\n readonly panelId: string = `kbq-popover-${nextUniqueId++}`;\n\n /**\n * Input (`kbqPopoverHideIfNotInViewPort`) — whether the popover closes once its trigger scrolls out of the\n * nearest scrollable ancestor. A bound `null` or `undefined` restores the default, `true`.\n */\n readonly popoverHideIfNotInViewPort = input<boolean, unknown>(true, {\n alias: 'kbqPopoverHideIfNotInViewPort',\n transform: (value) => (value == null ? true : booleanAttribute(value))\n });\n\n /** prevents closure by any event */\n override preventClose: boolean = false;\n\n /** Whether the header, content and footer keep their default paddings. Bound with `kbqPopoverDefaultPaddings`. */\n defaultPaddings = true;\n\n /** Input (`kbqPopoverDefaultPaddings`) — sets {@link defaultPaddings}. */\n set popoverDefaultPaddings(value: boolean) {\n this.defaultPaddings = value;\n }\n\n /** Input (`kbqPopoverVisible`) — opens the popover when set to `true` and closes it when set to `false`. */\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n /** Input (`kbqPopoverPlacement`) — preferred placement of the panel relative to the trigger. */\n get popoverPlacement(): KbqPopUpPlacementValues {\n return this.placement;\n }\n\n set popoverPlacement(value: KbqPopUpPlacementValues) {\n super.updatePlacement(value);\n }\n\n /** Input (`kbqPopoverPlacementPriority`) — ordered placements tried before the default strategy. */\n get popoverPlacementPriority() {\n return this.placementPriority;\n }\n\n set popoverPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n /**\n * Additionally positions the element relative to the window side (Top, Right, Bottom and Left).\n * If container is specified, the positioning will be relative to it.\n * */\n stickToWindow: KbqStickToWindowPlacementValues | undefined;\n\n /** Container for additional positioning, used with `kbqPopoverStickToWindow`. Bound with `kbqPopoverContainer`. */\n container: HTMLElement | undefined;\n\n /** Input (`kbqPopoverContainer`) — sets {@link container}. */\n set popoverContainer(value: HTMLElement | undefined) {\n this.container = value;\n }\n\n /**\n * Whether a backdrop is rendered behind the panel. With a backdrop the popover closes on a backdrop click\n * instead of on any outside pointer event. Bound with `kbqPopoverHasBackdrop`.\n */\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n\n this.invalidateOverlay();\n }\n\n private _hasBackdrop: boolean = false;\n\n /** Input (`kbqPopoverHasBackdrop`) — sets {@link hasBackdrop}. */\n set popoverHasBackdrop(value: boolean) {\n this.hasBackdrop = value;\n }\n\n /** Input (`kbqPopoverHeader`) — header of the panel, as a string or a template. */\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(value: string | TemplateRef<any>) {\n this._header = value;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n /** Input (`kbqPopoverContent`) — content of the panel, as a string or a template. */\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n\n this.updateData();\n }\n\n /** Input (`kbqPopoverFooter`) — footer of the panel, as a string or a template. */\n get footer(): string | TemplateRef<any> {\n return this._footer;\n }\n\n set footer(value: string | TemplateRef<any>) {\n this._footer = value;\n\n this.updateData();\n }\n\n private _footer: string | TemplateRef<any>;\n\n /** Input (`kbqPopoverDisabled`) — disables the trigger and closes an open popover. */\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n\n if (this._disabled) {\n this.hide();\n }\n }\n\n /**\n * Input (`kbqTrigger`) with the comma-separated trigger events. An empty value resets to click + keydown\n * and rebinds listeners. The alias is shared with `kbqTooltip`, so binding it on an element that carries\n * both reconfigures both.\n */\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n\n if (this.trigger.includes(PopUpTriggers.Hover)) {\n this.hideWithTimeout = true;\n }\n } else {\n this._trigger = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n }\n\n // Re-derived from the trigger on every change rather than applied once to an unset delay: a popover\n // switched to `hover` later closes on the 0 it was born with otherwise, leaving no time to cross the\n // gap between the trigger and the panel.\n if (!this.leaveDelayBound) {\n this.leaveDelay = this.defaultLeaveDelay;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n\n /** Leave delay while `kbqLeaveDelay` is not bound. */\n private get defaultLeaveDelay(): number {\n return this._trigger.includes(PopUpTriggers.Hover) ? defaultHoverLeaveDelay : 0;\n }\n\n /** Input (`kbqPopoverSize`) — preset width of the panel. An unknown value falls back to `medium`. */\n get size(): KbqPopUpSizeValues {\n return this._size;\n }\n\n set size(value: KbqPopUpSizeValues) {\n if ([PopUpSizes.Small, PopUpSizes.Medium, PopUpSizes.Large, PopUpSizes.Custom].includes(value as PopUpSizes)) {\n this._size = value;\n\n this.updateClassMap();\n } else {\n this._size = PopUpSizes.Medium;\n\n // eslint-disable-next-line no-console\n console.warn(`Unknown size: ${value}. Will use the default size: ${this._size}`);\n }\n }\n\n private _size: KbqPopUpSizeValues = PopUpSizes.Medium;\n\n /** Input (`kbqPopoverClass`) with extra CSS classes applied to the panel. */\n get customClass() {\n return this._customClass;\n }\n\n set customClass(value: string) {\n this._customClass = value;\n\n this.updateClassMap();\n }\n\n /** Context for popover templates (kbqPopoverHeader, kbqPopoverContent and kbqPopoverFooter). */\n get context() {\n return this._context;\n }\n\n set context(ctx) {\n this._context = ctx;\n this.updateData();\n }\n\n private _context: unknown = null;\n\n /**\n * Accessible name of the panel. Ignored while a string `kbqPopoverHeader` is set — the header labels the\n * dialog then — and recommended for every header-less popover.\n */\n get ariaLabel(): string | undefined {\n return this._ariaLabel;\n }\n\n set ariaLabel(value: string | undefined) {\n this._ariaLabel = value;\n\n this.updateData();\n }\n\n private _ariaLabel: string | undefined;\n\n /** Renders the icon-only close button in the top corner of the panel. Bound with `kbqPopoverHasCloseButton`. */\n get hasCloseButton(): boolean {\n return this._hasCloseButton;\n }\n\n set hasCloseButton(value: boolean) {\n this._hasCloseButton = value;\n this.updateData();\n }\n\n private _hasCloseButton = false;\n\n /** Input (`kbqPopoverHasCloseButton`) — sets {@link hasCloseButton}. */\n set popoverHasCloseButton(value: boolean) {\n this.hasCloseButton = value;\n }\n\n /**\n * Controls the behavior of closing the component on scroll. Bound with `kbqPopoverCloseOnScroll`. Three\n * states:\n * - `null` (default) — the popover survives a scroll, except when it scrolls out of a\n * `.kbq-hide-nested-popup` container, which closes it;\n * - `true` — any scroll closes the popover;\n * - `false` — no scroll closes the popover, not even a `.kbq-hide-nested-popup` one.\n *\n * Use CloseScrollStrategy as alternative\n */\n get closeOnScroll(): boolean | null {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean | null = null;\n\n /** Input (`kbqPopoverCloseOnScroll`) — sets {@link closeOnScroll}. */\n set popoverCloseOnScroll(value: boolean) {\n this.closeOnScroll = value;\n }\n\n /** Whether the trigger opens the popover on click, which is also what makes it a labelled dialog opener. */\n get hasClickTrigger(): boolean {\n return this.trigger.includes(PopUpTriggers.Click);\n }\n\n /**\n * Whether opening the popover should move the keyboard focus into the panel. Only deliberate opens\n * (click, keyboard, programmatic) do — a hover- or focus-triggered popover must not steal focus.\n */\n get capturesFocusOnOpen(): boolean {\n return this.autoFocus && (this.hasClickTrigger || this.deliberateOpen);\n }\n\n /** @docs-private */\n get instanceDestroyRef(): DestroyRef {\n return this.instance.destroyRef;\n }\n\n /** CSS class applied to the backdrop, when there is one. Bound with `kbqPopoverBackdropClass`. */\n get backdropClass(): string {\n return this._backdropClass;\n }\n\n set backdropClass(value: string) {\n this._backdropClass = value;\n\n this.invalidateOverlay();\n }\n\n private _backdropClass: string = defaultBackdropClass;\n\n /** Input (`kbqPopoverBackdropClass`) — sets {@link backdropClass}. */\n set popoverBackdropClass(value: string) {\n this.backdropClass = value;\n }\n\n /** Input (`kbqPopoverArrow`) — renders the arrow pointing at the trigger. */\n arrow: boolean = true;\n\n /** Input (`kbqPopoverOffset`) — distance between the trigger and the panel, in pixels. */\n offset: number | null = defaultOffsetYWithArrow;\n\n /**\n * Input (`kbqPopoverAutoFocus`) — whether opening the popover moves the keyboard focus into the panel. Turn it\n * off for a panel that must not disturb what the reader is doing: taking focus away from a text selection\n * collapses it. Focus then never enters the panel, so its content has to be reachable some other way.\n */\n autoFocus: boolean = true;\n\n /**\n * Input (`kbqPopoverOrigin`) — what the panel is positioned against: an element, or a rectangle in viewport\n * coordinates such as the one `kbqCreateCaretOrigin` keeps on the caret. `null` anchors it to the trigger.\n *\n * Bind it before `kbqPopoverVisible`, which opens the panel as it is written.\n */\n get popoverOrigin(): KbqOverlayOrigin | null {\n return this.origin;\n }\n\n set popoverOrigin(value: KbqOverlayOrigin | null) {\n this.updateOrigin(value);\n }\n\n /** Input (`kbqEnterDelay`) — delay before opening, in milliseconds. Defaults to `0`. */\n enterDelay: number = 0;\n\n /**\n * Input (`kbqLeaveDelay`) — delay before closing, in milliseconds. Defaults to `0`, and to\n * {@link defaultHoverLeaveDelay} when `kbqTrigger` includes `hover`.\n */\n // A write-only input rather than an accessor over `leaveDelay`: the base declares that member as a\n // plain field, and TypeScript refuses to override a property with an accessor (TS2611).\n set kbqLeaveDelay(value: number) {\n this.leaveDelay = value;\n // Tracked instead of comparing the delay against a sentinel: an explicit `kbqLeaveDelay=\"0\"` and an\n // unbound one are indistinguishable by value, and only the latter takes the hover default.\n this.leaveDelayBound = true;\n }\n\n private leaveDelayBound = false;\n\n /**\n * Emits the resolved placement whenever the panel is repositioned.\n *\n * Declared as `string` to match the abstract member on `KbqPopUpTrigger`: `EventEmitter` is invariant,\n * so a narrower emitter cannot override a wider one. Narrowing both is a change to the shared pop-up\n * base and belongs to the branch that owns it.\n */\n readonly placementChange = new EventEmitter<KbqPopUpPlacementValues>();\n\n /** @docs-private */\n readonly placementChangeOutput = outputFromObservable(this.placementChange, { alias: 'kbqPopoverPlacementChange' });\n\n /** Emits `true` when the panel opens and `false` when it closes. */\n readonly visibleChange = new EventEmitter<boolean>();\n\n /** @docs-private */\n readonly visibleChangeOutput = outputFromObservable(this.visibleChange, { alias: 'kbqPopoverVisibleChange' });\n\n protected originSelector = '.kbq-popover';\n\n /** Whether a position re-apply is already queued for this turn. */\n private repositionScheduled = false;\n\n /**\n * Whether the open currently on screen was a deliberate one rather than a pointer or focus one.\n *\n * The shared base records the event that opened the pop-up in `triggerName`, but its keyboard opener is\n * the one listener registered without that bookkeeping, and it defers the open to a task of its own —\n * by then `triggerName` still holds whatever the pointer last did. Frozen on every `show()`, which the\n * pointer and focus listeners reach with the name they have just written.\n */\n private deliberateOpen = true;\n\n // NB: the trigger↔popover gap is a CSS `margin` on `.kbq-popover` (see `applyPopupMargins`), which sits inside\n // this `pointer-events: auto` pane, so the gap band is already covered and not click/hover-through. This is why\n // the connected-overlay `offsetY`→in-pane-padding fix (KBQ_CONNECTED_OVERLAY_* / --kbq-connected-overlay-gap,\n // used by select/tree-select/autocomplete/datepicker) intentionally does NOT apply here — do not \"port\" it.\n // Guarded by the \"trigger↔panel gap is not click-through\" e2e tests in e2e.playwright-spec.ts.\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'kbq-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n /** @docs-private */\n readonly triggerInput = input<string | undefined>(undefined, { alias: 'kbqTrigger' });\n\n /** @docs-private */\n readonly kbqLeaveDelayInput = input<number | undefined, number | string | null | undefined>(undefined, {\n alias: 'kbqLeaveDelay',\n transform: kbqOptionalNumberAttribute\n });\n\n /** @docs-private */\n readonly enterDelayInput = input<number | undefined, number | string | null | undefined>(undefined, {\n alias: 'kbqEnterDelay',\n transform: kbqOptionalNumberAttribute\n });\n\n /** @docs-private */\n readonly preventCloseInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'kbqPopoverPreventClose',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly stickToWindowInput = input<KbqStickToWindowPlacementValues | undefined>(undefined, {\n alias: 'kbqPopoverStickToWindow'\n });\n\n /** @docs-private */\n readonly popoverContainerInput = input<HTMLElement | undefined>(undefined, { alias: 'kbqPopoverContainer' });\n\n /** @docs-private */\n readonly popoverHasBackdropInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'kbqPopoverHasBackdrop',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly popoverBackdropClassInput = input<string | undefined>(undefined, { alias: 'kbqPopoverBackdropClass' });\n\n /** @docs-private */\n readonly popoverDefaultPaddingsInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'kbqPopoverDefaultPaddings',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly sizeInput = input<KbqPopUpSizeValues | undefined>(undefined, { alias: 'kbqPopoverSize' });\n\n /** @docs-private */\n readonly customClassInput = input<string | undefined>(undefined, { alias: 'kbqPopoverClass' });\n\n /** @docs-private */\n readonly headerInput: InputSignal<KbqPopoverTrigger['header'] | undefined> = input<\n KbqPopoverTrigger['header'] | undefined\n >(undefined, {\n alias: 'kbqPopoverHeader'\n });\n\n /** @docs-private */\n readonly contentInput: InputSignal<KbqPopoverTrigger['content'] | undefined> = input<\n KbqPopoverTrigger['content'] | undefined\n >(undefined, {\n alias: 'kbqPopoverContent'\n });\n\n /** @docs-private */\n readonly footerInput: InputSignal<KbqPopoverTrigger['footer'] | undefined> = input<\n KbqPopoverTrigger['footer'] | undefined\n >(undefined, {\n alias: 'kbqPopoverFooter'\n });\n\n /** @docs-private */\n readonly contextInput = input<NonNullable<unknown> | null | undefined>(undefined, { alias: 'kbqPopoverContext' });\n\n /** @docs-private */\n readonly ariaLabelInput = input<string | undefined>(undefined, { alias: 'kbqPopoverAriaLabel' });\n\n /** @docs-private */\n readonly popoverHasCloseButtonInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'kbqPopoverHasCloseButton',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly popoverCloseOnScrollInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'kbqPopoverCloseOnScroll',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly arrowInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'kbqPopoverArrow',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly offsetInput = input<number | undefined, number | string | null | undefined>(undefined, {\n alias: 'kbqPopoverOffset',\n transform: kbqOptionalNumberAttribute\n });\n\n /** @docs-private */\n readonly autoFocusInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'kbqPopoverAutoFocus',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly popoverOriginInput = input<KbqOverlayOrigin | null | undefined>(undefined, { alias: 'kbqPopoverOrigin' });\n\n /** @docs-private */\n readonly disabledInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'kbqPopoverDisabled',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly popoverPlacementPriorityInput = input<string | string[] | null | undefined>(undefined, {\n alias: 'kbqPopoverPlacementPriority'\n });\n\n /** @docs-private */\n readonly popoverPlacementInput = input<KbqPopUpPlacementValues | undefined>(undefined, {\n alias: 'kbqPopoverPlacement'\n });\n\n /** @docs-private */\n readonly popoverVisibleInput = input<boolean | undefined>(undefined, { alias: 'kbqPopoverVisible' });\n\n ngOnChanges(changes: SimpleChanges): void {\n // A bound input is handed to its member, a bound `undefined` restoring the\n // member's default; unbound, it leaves what code wrote. The `booleanAttribute` inputs are the exception:\n // the transform reads a bound `undefined` as `false`.\n if (changes['triggerInput']) {\n this.trigger = this.triggerInput() ?? '';\n }\n\n if (changes['kbqLeaveDelayInput']) {\n const kbqLeaveDelay = this.kbqLeaveDelayInput();\n\n if (kbqLeaveDelay === undefined) {\n // Counts as unbound, so that a hover popover gets its default delay back.\n this.leaveDelayBound = false;\n this.leaveDelay = this.defaultLeaveDelay;\n } else {\n this.kbqLeaveDelay = kbqLeaveDelay;\n }\n }\n\n if (changes['enterDelayInput']) {\n this.enterDelay = this.enterDelayInput() ?? 0;\n }\n\n if (changes['preventCloseInput']) {\n const preventClose = this.preventCloseInput();\n\n if (preventClose !== undefined) this.preventClose = preventClose;\n }\n\n if (changes['stickToWindowInput']) {\n this.stickToWindow = this.stickToWindowInput();\n }\n\n if (changes['popoverContainerInput']) {\n this.popoverContainer = this.popoverContainerInput();\n }\n\n if (changes['popoverHasBackdropInput']) {\n const popoverHasBackdrop = this.popoverHasBackdropInput();\n\n if (popoverHasBackdrop !== undefined) this.popoverHasBackdrop = popoverHasBackdrop;\n }\n\n if (changes['popoverBackdropClassInput']) {\n this.popoverBackdropClass = this.popoverBackdropClassInput() ?? defaultBackdropClass;\n }\n\n if (changes['popoverDefaultPaddingsInput']) {\n const popoverDefaultPaddings = this.popoverDefaultPaddingsInput();\n\n if (popoverDefaultPaddings !== undefined) this.popoverDefaultPaddings = popoverDefaultPaddings;\n }\n\n if (changes['sizeInput']) {\n this.size = this.sizeInput() ?? PopUpSizes.Medium;\n }\n\n if (changes['customClassInput']) {\n this.customClass = this.customClassInput() ?? '';\n }\n\n if (changes['headerInput']) {\n this.header = this.headerInput() ?? '';\n }\n\n if (changes['contentInput']) {\n this.content = this.contentInput() ?? '';\n }\n\n if (changes['footerInput']) {\n this.footer = this.footerInput() ?? '';\n }\n\n if (changes['contextInput']) {\n this.context = this.contextInput();\n }\n\n if (changes['ariaLabelInput']) {\n this.ariaLabel = this.ariaLabelInput();\n }\n\n if (changes['popoverHasCloseButtonInput']) {\n const popoverHasCloseButton = this.popoverHasCloseButtonInput();\n\n if (popoverHasCloseButton !== undefined) this.popoverHasCloseButton = popoverHasCloseButton;\n }\n\n if (changes['popoverCloseOnScrollInput']) {\n const popoverCloseOnScroll = this.popoverCloseOnScrollInput();\n\n if (popoverCloseOnScroll !== undefined) this.popoverCloseOnScroll = popoverCloseOnScroll;\n }\n\n if (changes['arrowInput']) {\n const arrow = this.arrowInput();\n\n if (arrow !== undefined) this.arrow = arrow;\n }\n\n if (changes['offsetInput']) {\n this.offset = this.offsetInput() ?? defaultOffsetYWithArrow;\n }\n\n if (changes['autoFocusInput']) {\n const autoFocus = this.autoFocusInput();\n\n if (autoFocus !== undefined) this.autoFocus = autoFocus;\n }\n\n if (changes['popoverOriginInput']) {\n this.popoverOrigin = this.popoverOriginInput() ?? null;\n }\n\n if (changes['disabledInput']) {\n const disabled = this.disabledInput();\n\n if (disabled !== undefined) this.disabled = disabled;\n }\n\n if (changes['popoverPlacementPriorityInput']) {\n this.popoverPlacementPriority = this.popoverPlacementPriorityInput() ?? null;\n }\n\n if (changes['popoverPlacementInput']) {\n this.popoverPlacement = this.popoverPlacementInput() ?? PopUpPlacements.Top;\n }\n\n if (changes['popoverVisibleInput']) {\n this.popoverVisible = this.popoverVisibleInput() ?? false;\n }\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.scrollable\n ?.elementScrolled()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(this.hideIfScrolledOutOfView);\n }\n\n ngAfterContentInit(): void {\n if (this.closeOnScroll === null) {\n this.scrollDispatcher\n .scrolled()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(this.hideIfNestedPopupScrolledAway);\n }\n }\n\n /** @docs-private */\n show(delay: number = this.enterDelay): void {\n this.deliberateOpen = !passiveOpenEvents.includes(this.triggerName);\n\n super.show(delay);\n }\n\n /** @docs-private */\n updateData() {\n // Untracked: an input written from a consumer's `effect()` lands here, and `isOpen` read on the way would make\n // the effect run again on every open and close.\n untracked(() => this.pushData());\n }\n\n /** Body of `updateData()`. */\n private pushData(): void {\n if (!this.instance) return;\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n // `!= null` rather than a truthy check: `0`, `''` and `false` are legitimate template contexts, and\n // dropping them left the template rendering the previous context instead.\n this.instance.context = this.context != null ? { $implicit: this.context } : null;\n // `setStickPosition` drops the arrow because a stuck panel no longer points at its trigger; copying\n // the input back would resurrect a detached rotated square on the next update.\n this.instance.arrow = this.stickToWindow ? false : this.arrow;\n this.instance.offset = this.offset;\n this.instance.footer = this.footer;\n this.instance.hasCloseButton = this.hasCloseButton;\n this.instance.defaultPaddings = this.defaultPaddings;\n this.instance.panelId = this.panelId;\n this.instance.ariaLabel = this.ariaLabel;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n // As the tooltip does: this mostly runs from an input setter, while the trigger's view is being checked,\n // and the panel renders in an overlay of its own that nothing else would check.\n this.instance.detectChanges();\n\n if (this.isOpen) {\n this.scheduleReposition();\n }\n }\n\n /** @docs-private */\n override createOverlay(): OverlayRef {\n const overlayRef = super.createOverlay();\n\n // Read on every attach: a popover stuck to a window edge stays above the bars.\n this.overlayLayers.adopt(overlayRef, () => (this.stickToWindow ? null : this.getNativeElement()));\n\n return overlayRef;\n }\n\n /**\n * Re-applies the overlay position.\n *\n * Deliberately narrower than the inherited one, which also rebuilds the closing-action subscription:\n * that stream carries a `delay(0)`, so a reposition coalesced into the same task as an outside click —\n * which is the task in which that click's change detection writes a popover input — would drop the\n * close the click had already scheduled.\n */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getAdjustedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n /** @docs-private */\n getOverlayHandleComponentType(): Type<KbqPopoverComponent> {\n return KbqPopoverComponent;\n }\n\n /** @docs-private */\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) {\n return;\n }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n }\n\n /** @docs-private */\n closingActionsForClick() {\n if (this.hasClickTrigger) {\n return this.defaultClosingActions();\n }\n\n return [];\n }\n\n /** @docs-private */\n defaultClosingActions() {\n return [\n this.overlayRef!.backdropClick(),\n this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents()\n ];\n }\n\n /** @docs-private */\n closingActions() {\n // Inner panel scrolling must not trigger closeOnScroll.\n const scrolled = this.closeOnScroll ? this.scrollDispatcher.ancestorScrolled(this.getNativeElement()) : NEVER;\n\n return merge(...this.closingActionsForClick(), scrolled);\n }\n\n /**\n * Returns focus to the trigger when the popover is closed while focus is still inside its panel.\n *\n * Goes through `FocusMonitor` rather than a native `focus()` call: the kbq focus ring is only rendered\n * for a monitored origin, and a `program` origin keeps a tooltip on the same element from re-opening.\n */\n restoreFocus(): void {\n if (!this.overlayRef?.overlayElement?.contains(this.document.activeElement)) return;\n\n this.focusMonitor.focusVia(this.getNativeElement(), 'program');\n }\n\n /**\n * Closes the popover on a deliberate action — the panel's close button, or `Escape` inside the panel.\n *\n * `hide()` keeps a hover popover open while the pointer rests on the panel, so that the pointer can\n * travel from the trigger to the content; that is exactly where the pointer is when the close button is\n * clicked, so a deliberate close answers to `kbqPopoverPreventClose` and to nothing else.\n */\n close(): void {\n if (this.preventClose) return;\n\n this.instance?.hide(0);\n }\n\n /**\n * Coalesces the position re-apply: a burst of input writes — or a parent change-detection pass that\n * recreates the object bound to `kbqPopoverContext` — schedules one reposition per turn instead of one\n * per write, each of which costs a forced layout read per candidate position.\n */\n private scheduleReposition(): void {\n if (this.repositionScheduled) return;\n\n this.repositionScheduled = true;\n\n queueMicrotask(() => {\n this.repositionScheduled = false;\n\n if (this.isOpen && this.overlayRef?.hasAttached()) {\n this.updatePosition(true);\n }\n });\n }\n\n /**\n * Drops a closed overlay so the next `show()` rebuilds it. The backdrop and its class are baked into the\n * overlay when it is created, and CDK does not re-render them from the config afterwards.\n */\n private invalidateOverlay(): void {\n if (!this.overlayRef || this.overlayRef.hasAttached()) return;\n\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n\n /** Closes the popover once it has scrolled out of its nearest scrollable ancestor. */\n private hideIfScrolledOutOfView = () => {\n if (!this.instance || !this.scrollable || !this.popoverHideIfNotInViewPort()) return;\n\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n const containerRect = this.scrollable.getElementRef().nativeElement.getBoundingClientRect();\n\n const intersectsContainer =\n rect.bottom >= containerRect.top &&\n rect.right >= containerRect.left &&\n rect.top <= containerRect.bottom &&\n rect.left <= containerRect.right;\n\n if (!intersectsContainer) {\n this.hide();\n }\n };\n\n /** Closes the popover once its trigger has scrolled out of a `.kbq-hide-nested-popup` container. */\n private hideIfNestedPopupScrolledAway = (scrollable: CdkScrollable | void) => {\n if (!this.instance) return;\n\n if (!scrollable?.getElementRef().nativeElement.classList.contains('kbq-hide-nested-popup')) return;\n\n const parentRects = scrollable.getElementRef().nativeElement.getBoundingClientRect();\n const childRects = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (childRects.bottom < parentRects.top || childRects.top > parentRects.bottom) {\n this.hide();\n }\n };\n}\n","<!--\n The dialog role is dropped when nothing names the panel: a screen reader announces an unnamed dialog as\n just \"dialog\", and the `aria-dialog-name` audit fails it. A named panel keeps the role.\n-->\n<div\n #popover\n class=\"kbq-popover\"\n [attr.role]=\"labelledByHeader || ariaLabel ? 'dialog' : null\"\n [attr.aria-label]=\"labelledByHeader ? null : ariaLabel\"\n [attr.aria-labelledby]=\"labelledByHeader ? headerId : null\"\n [id]=\"panelId\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [class]=\"classMap\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-popover_visible]=\"isVisible()\"\n>\n <div\n class=\"kbq-popover__container\"\n [class.kbq-popover__container_with-footer]=\"footer\"\n [class.kbq-popover__container_with-header]=\"header\"\n >\n @if (header) {\n <div\n class=\"kbq-popover__header\"\n [class.kbq-popover__header_default-paddings]=\"defaultPaddings\"\n [class.kbq-popover__header_with-close-button]=\"hasCloseButton\"\n [kbqOverflowShadowTop]=\"overflowContainer()\"\n >\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div class=\"kbq-popover__header-text\" [id]=\"headerId\">{{ header }}</div>\n }\n </div>\n }\n\n @if (content) {\n <div\n #popoverContent=\"kbqOverflowShadowContainer\"\n kbqOverflowShadowContainer\n kbqScrollbarViewport\n class=\"kbq-popover__content\"\n [attr.tabindex]=\"isScrollableRegion(popoverContent) ? 0 : null\"\n [attr.role]=\"isScrollableRegion(popoverContent) && labelledByHeader ? 'region' : null\"\n [attr.aria-labelledby]=\"isScrollableRegion(popoverContent) && labelledByHeader ? headerId : null\"\n [class.kbq-popover__content_default-paddings]=\"defaultPaddings\"\n [debounce]=\"contentObserverDebounce\"\n (cdkObserveContent)=\"popoverContent.checkOverflow()\"\n >\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ content }}</div>\n }\n </div>\n }\n\n @if (footer) {\n <div\n class=\"kbq-popover__footer\"\n [class.kbq-popover__footer_default-paddings]=\"defaultPaddings\"\n [kbqOverflowShadowBottom]=\"overflowContainer()\"\n >\n @if (isTemplateRef(footer)) {\n <ng-container [ngTemplateOutlet]=\"$any(footer)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ footer }}</div>\n }\n </div>\n }\n </div>\n\n @if (hasCloseButton) {\n <div class=\"kbq-popover__close-container\" [class.kbq-popover__close-container_without-header]=\"!header\">\n <div class=\"kbq-popover__close\" [class.kbq-popover__close_background-overlay-inverse]=\"!header\">\n <button\n kbq-button\n class=\"kbq-button_transparent\"\n [attr.aria-label]=\"a11yLocaleConfiguration().close\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClose()\"\n >\n <i kbq-icon=\"kbq-xmark_16\" [color]=\"componentColors.Contrast\"></i>\n </button>\n </div>\n </div>\n }\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n effect,\n inject,\n InjectionToken,\n input,\n output,\n signal,\n SimpleChanges,\n untracked,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { kbqInjectPopoverConfirmLocaleConfiguration, kbqSiblingPopupProvider } from '@koobiq/components/core';\nimport { Subject } from 'rxjs';\nimport { KBQ_POPOVER_FOCUS_TRAP_PROVIDERS, KbqPopoverComponent, KbqPopoverTrigger } from './popover.component';\n\n/**\n * Overrides the question of every confirmation popover in the injector scope. Takes precedence over the\n * locale, but not over the `kbqPopoverConfirmText` input.\n */\nexport const KBQ_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('KbqPopoverConfirmText');\n\n/**\n * Overrides the confirm-button caption of every confirmation popover in the injector scope. Takes precedence\n * over the locale, but not over the `kbqPopoverConfirmButtonText` input.\n */\nexport const KBQ_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('KbqPopoverConfirmButtonText');\n\n@Component({\n selector: 'kbq-popover-confirm-component',\n imports: [\n CdkTrapFocus,\n KbqButtonModule\n ],\n templateUrl: './popover-confirm.component.html',\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n // Repeated rather than inherited: Angular copies `providers` to a subclass only when that subclass has\n // no decorator of its own.\n providers: KBQ_POPOVER_FOCUS_TRAP_PROVIDERS,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false\n})\nexport class KbqPopoverConfirmComponent extends KbqPopoverComponent {\n /**\n * Emits when the confirm button is pressed. Internal channel between the panel and its trigger — consume\n * the trigger's `confirm` output instead.\n *\n * @docs-private\n */\n readonly onConfirm = new Subject<void>();\n\n /** Caption of the confirm button. Written by the trigger. */\n get confirmButtonText(): string {\n return this.confirmButtonTextState();\n }\n\n set confirmButtonText(value: string) {\n this.confirmButtonTextState.set(value);\n }\n\n private readonly confirmButtonTextState = signal<string>(undefined!);\n\n /** Question rendered in the panel. Written by the trigger. */\n get confirmText(): string {\n return this.confirmTextState();\n }\n\n set confirmText(value: string) {\n this.confirmTextState.set(value);\n }\n\n private readonly confirmTextState = signal<string>(undefined!);\n}\n\n@Directive({\n selector: '[kbqPopoverConfirm]',\n // Declared again rather than inherited from `KbqPopoverTrigger`: Angular copies `providers` to a subclass\n // only when that subclass has no decorator of its own.\n providers: [kbqSiblingPopupProvider(KbqPopoverConfirmTrigger)],\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '[attr.aria-expanded]': 'hasClickTrigger ? isOpen : null',\n '[attr.aria-haspopup]': 'hasClickTrigger ? \"dialog\" : null',\n '[attr.aria-controls]': 'hasClickTrigger && isOpen ? panelId : null',\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n },\n exportAs: 'kbqPopoverConfirm'\n})\nexport class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {\n /** Emits when the user confirms the action. */\n readonly confirm = output<void>();\n\n private readonly localeConfiguration = kbqInjectPopoverConfirmLocaleConfiguration();\n private readonly externalConfirmText = inject(KBQ_POPOVER_CONFIRM_TEXT, { optional: true });\n private readonly externalConfirmButtonText = inject(KBQ_POPOVER_CONFIRM_BUTTON_TEXT, { optional: true });\n\n /**\n * Input (`kbqPopoverConfirmText`) — question rendered in the panel. Falls back to\n * {@link KBQ_POPOVER_CONFIRM_TEXT} and then to the `popoverConfirm` section of the active locale while\n * unset or `undefined`.\n */\n get confirmText(): string {\n return this._confirmText() ?? this.externalConfirmText ?? this.localeConfiguration().confirmText;\n }\n\n set confirmText(value: string | undefined) {\n this._confirmText.set(value);\n\n this.updateData();\n }\n\n private readonly _confirmText = signal<string | undefined>(undefined);\n\n /**\n * Input (`kbqPopoverConfirmButtonText`) — caption of the confirm button. Falls back to\n * {@link KBQ_POPOVER_CONFIRM_BUTTON_TEXT} and then to the `popoverConfirm` section of the active locale\n * while unset or `undefined`.\n */\n get confirmButtonText(): string {\n return (\n this._confirmButtonText() ?? this.externalConfirmButtonText ?? this.localeConfiguration().confirmButtonText\n );\n }\n\n set confirmButtonText(value: string | undefined) {\n this._confirmButtonText.set(value);\n\n this.updateData();\n }\n\n private readonly _confirmButtonText = signal<string | undefined>(undefined);\n\n /** Panel the confirm handler is currently wired to, so it is wired once per attach. */\n private wiredInstance: KbqPopoverConfirmComponent | null = null;\n\n /** @docs-private */\n readonly confirmTextInput = input<string | undefined>(undefined, { alias: 'kbqPopoverConfirmText' });\n\n /** @docs-private */\n readonly confirmButtonTextInput = input<string | undefined>(undefined, { alias: 'kbqPopoverConfirmButtonText' });\n\n override ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n\n // A bound input is handed to its member, a bound `undefined` restoring the\n // fallback; unbound, it leaves what code wrote.\n if (changes['confirmTextInput']) {\n this.confirmText = this.confirmTextInput();\n }\n\n if (changes['confirmButtonTextInput']) {\n this.confirmButtonText = this.confirmButtonTextInput();\n }\n }\n\n constructor() {\n super();\n\n // The strings are resolved from signals (input, token, locale), so switching the locale while the\n // popover is open has to reach the live panel — `updateData` alone only runs on input writes.\n effect(() => {\n const confirmText = this.confirmText;\n const confirmButtonText = this.confirmButtonText;\n\n if (!this.instance) return;\n\n this.instance.confirmText = confirmText;\n this.instance.confirmButtonText = confirmButtonText;\n });\n }\n\n /** @docs-private */\n updateData() {\n if (!this.instance) {\n return;\n }\n\n // Before `super.updateData()`, which renders the panel. Untracked as there: the texts follow the inputs and the\n // locale.\n untracked(() => {\n this.instance.confirmButtonText = this.confirmButtonText;\n this.instance.confirmText = this.confirmText;\n });\n\n super.updateData();\n\n if (this.wiredInstance !== this.instance) {\n this.wiredInstance = this.instance;\n\n this.setupButtonEvents();\n }\n }\n\n /**\n * Subscribes to the panel's confirm button. Called once per attach: the subscription is scoped to the\n * panel, so it dies with it.\n *\n * @docs-private\n */\n setupButtonEvents() {\n this.instance.onConfirm.pipe(takeUntilDestroyed(this.instanceDestroyRef)).subscribe(() => {\n this.confirm.emit();\n this.hide();\n });\n }\n\n /** @docs-private */\n getOverlayHandleComponentType() {\n return KbqPopoverConfirmComponent;\n }\n}\n","<div\n #popover\n role=\"dialog\"\n class=\"kbq-popover-confirm kbq-popover\"\n [attr.aria-label]=\"confirmText\"\n [id]=\"panelId\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [class]=\"classMap\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-popover_visible]=\"isVisible()\"\n>\n <div class=\"kbq-popover__container\">\n <div class=\"kbq-popover__content\" [class.kbq-popover__content_default-paddings]=\"defaultPaddings\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"componentColors.Contrast\" (click)=\"onConfirm.next()\">\n {{ confirmButtonText }}\n </button>\n </div>\n </div>\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { KbqPopoverConfirmComponent, KbqPopoverConfirmTrigger } from './popover-confirm.component';\nimport { KbqPopoverComponent, KbqPopoverTrigger } from './popover.component';\n\n@NgModule({\n imports: [KbqPopoverComponent, KbqPopoverTrigger, KbqPopoverConfirmComponent, KbqPopoverConfirmTrigger],\n exports: [KbqPopoverComponent, KbqPopoverTrigger, KbqPopoverConfirmComponent, KbqPopoverConfirmTrigger]\n})\nexport class KbqPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,76 +1,130 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
- import { KbqColorDirective, KbqComponentColors } from '@koobiq/components/core';
4
- import { PlatformModule } from '@angular/cdk/platform';
2
+ import { input, Directive, contentChild, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import { KbqColorDirective, kbqInjectA11yLocaleConfiguration, kbqAnimationsDisabled, KbqComponentColors } from '@koobiq/components/core';
5
4
 
6
5
  let idIterator = 0;
6
+ let textIdIterator = 0;
7
+ let captionIdIterator = 0;
7
8
  const MIN_PERCENT = 0;
8
9
  const MAX_PERCENT = 100;
10
+ /**
11
+ * Label projected above the bar. Names the bar for assistive tech: `KbqProgressBar` points its
12
+ * `aria-labelledby` at this element.
13
+ */
9
14
  class KbqProgressBarText {
10
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqProgressBarText, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.30", type: KbqProgressBarText, isStandalone: true, selector: "[kbq-progress-bar-text]", host: { classAttribute: "kbq-progress-bar-text" }, ngImport: i0 }); }
15
+ constructor() {
16
+ /** Element id. Generated when not supplied, so the bar can always reference it. */
17
+ this.id = input(`kbq-progress-bar-text-${textIdIterator++}`, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
18
+ }
19
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqProgressBarText, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.25", type: KbqProgressBarText, isStandalone: true, selector: "[kbq-progress-bar-text]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()" }, classAttribute: "kbq-progress-bar-text" }, ngImport: i0 }); }
12
21
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqProgressBarText, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqProgressBarText, decorators: [{
14
23
  type: Directive,
15
24
  args: [{
16
25
  selector: '[kbq-progress-bar-text]',
17
26
  host: {
18
- class: 'kbq-progress-bar-text'
27
+ class: 'kbq-progress-bar-text',
28
+ '[attr.id]': 'id()'
19
29
  }
20
30
  }]
21
- }] });
31
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
32
+ /**
33
+ * Caption projected below the bar. Describes the bar for assistive tech: `KbqProgressBar` points its
34
+ * `aria-describedby` at this element.
35
+ */
22
36
  class KbqProgressBarCaption {
23
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqProgressBarCaption, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
24
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.30", type: KbqProgressBarCaption, isStandalone: true, selector: "[kbq-progress-bar-caption]", host: { classAttribute: "kbq-progress-bar-caption" }, ngImport: i0 }); }
37
+ constructor() {
38
+ /** Element id. Generated when not supplied, so the bar can always reference it. */
39
+ this.id = input(`kbq-progress-bar-caption-${captionIdIterator++}`, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
40
+ }
41
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqProgressBarCaption, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.25", type: KbqProgressBarCaption, isStandalone: true, selector: "[kbq-progress-bar-caption]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()" }, classAttribute: "kbq-progress-bar-caption" }, ngImport: i0 }); }
25
43
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqProgressBarCaption, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqProgressBarCaption, decorators: [{
27
45
  type: Directive,
28
46
  args: [{
29
47
  selector: '[kbq-progress-bar-caption]',
30
48
  host: {
31
- class: 'kbq-progress-bar-caption'
49
+ class: 'kbq-progress-bar-caption',
50
+ '[attr.id]': 'id()'
32
51
  }
33
52
  }]
34
- }] });
53
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
54
+ /** Horizontal indicator of the progress of an operation. */
35
55
  class KbqProgressBar extends KbqColorDirective {
36
- get percentage() {
37
- return Math.max(MIN_PERCENT, Math.min(MAX_PERCENT, this.value()));
38
- }
39
56
  constructor() {
40
57
  super();
41
- this.id = input(`kbq-progress-bar-${idIterator++}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
42
- this.value = input(0, ...(ngDevMode ? [{ debugName: "value" }] : []));
43
- this.mode = input('determinate', ...(ngDevMode ? [{ debugName: "mode" }] : []));
44
- this.color = KbqComponentColors.Theme;
58
+ this.a11yLocaleConfiguration = kbqInjectA11yLocaleConfiguration();
59
+ this.text = contentChild(KbqProgressBarText, ...(ngDevMode ? [{ debugName: "text" }] : /* istanbul ignore next */ []));
60
+ this.caption = contentChild(KbqProgressBarCaption, ...(ngDevMode ? [{ debugName: "caption" }] : /* istanbul ignore next */ []));
61
+ /** Id of the host element. Generated when not supplied. */
62
+ this.id = input(`kbq-progress-bar-${idIterator++}`, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
63
+ /** Share of the work that is done, in the `[0, 100]` range. Ignored in indeterminate mode. */
64
+ this.value = input(0, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
65
+ /** Whether the bar reports `value`, or an operation whose duration is unknown. */
66
+ this.mode = input('determinate', ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
67
+ /**
68
+ * Accessible name of the bar. Takes precedence over a projected `[kbq-progress-bar-text]`; when
69
+ * neither is given, the bar falls back to the `progressBar` name from the a11y locale.
70
+ */
71
+ this.ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
72
+ /**
73
+ * Whether the fill follows a new value without a transition, and the indeterminate fill pulses in place instead
74
+ * of sliding, as under reduced motion.
75
+ *
76
+ * @docs-private
77
+ */
78
+ this.animationsDisabled = kbqAnimationsDisabled();
79
+ /** Anything other than `indeterminate` reports a value, matching the branch the template renders. */
80
+ this.indeterminate = computed(() => this.mode() === 'indeterminate', ...(ngDevMode ? [{ debugName: "indeterminate" }] : /* istanbul ignore next */ []));
81
+ /** `value` clamped into `[0, 100]`. A non-finite value would be written out as an invalid width. */
82
+ this.percentage = computed(() => {
83
+ const value = this.value();
84
+ return Number.isFinite(value) ? Math.max(MIN_PERCENT, Math.min(MAX_PERCENT, value)) : MIN_PERCENT;
85
+ }, ...(ngDevMode ? [{ debugName: "percentage" }] : /* istanbul ignore next */ []));
86
+ this.resolvedAriaLabelledby = computed(() => (this.ariaLabel() ? null : (this.text()?.id() ?? null)), ...(ngDevMode ? [{ debugName: "resolvedAriaLabelledby" }] : /* istanbul ignore next */ []));
87
+ this.resolvedAriaLabel = computed(() => this.ariaLabel() ?? (this.text() ? null : this.a11yLocaleConfiguration().progressBar), ...(ngDevMode ? [{ debugName: "resolvedAriaLabel" }] : /* istanbul ignore next */ []));
88
+ this.setDefaultColor(KbqComponentColors.Theme);
45
89
  }
46
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.30", type: KbqProgressBar, isStandalone: true, selector: "kbq-progress-bar", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()", "class.kbq-progress-bar_determinate": "mode() === \"determinate\"", "class.kbq-progress-bar_indeterminate": "mode() === \"indeterminate\"" }, classAttribute: "kbq-progress-bar" }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[kbq-progress-bar-text]\" />\n\n<div class=\"kbq-progress-bar__inner\" [id]=\"id()\">\n @switch (mode()) {\n @case ('indeterminate') {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_indeterminate\"></div>\n }\n @default {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_determinate\" [style.width.%]=\"percentage\"></div>\n }\n }\n</div>\n\n<ng-content select=\"[kbq-progress-bar-caption]\" />\n", styles: ["@keyframes kbq-progress-bar-indeterminate{0%{width:25%;transform:translate(-150%)}to{width:40%;transform:translate(250%)}}.kbq-progress-bar{display:block;overflow:hidden}.kbq-progress-bar .kbq-progress-bar-text{margin-bottom:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar-caption{margin-top:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar__inner{overflow:hidden;height:var(--kbq-progress-bar-size-bar-height);border-radius:var(--kbq-progress-bar-size-container-border-radius)}.kbq-progress-bar .kbq-progress-bar__line{height:100%;transform-origin:top left;border-radius:var(--kbq-progress-bar-size-bar-border-radius)}.kbq-progress-bar.kbq-progress-bar_determinate .kbq-progress-bar__line{transition:width .3s}.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line{animation:kbq-progress-bar-indeterminate 2.1s cubic-bezier(.455,.03,.515,.955) infinite}@media(prefers-reduced-motion:reduce){.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line{animation:none}}.kbq-progress-bar.kbq-theme .kbq-progress-bar__inner{background-color:var(--kbq-progress-bar-bar-background)}.kbq-progress-bar.kbq-theme .kbq-progress-bar__line{background-color:var(--kbq-progress-bar-bar-foreground)}.kbq-progress-bar-text{color:var(--kbq-progress-bar-text-color)}.kbq-progress-bar-caption{color:var(--kbq-progress-bar-caption-color)}.kbq-progress-bar-text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-progress-bar-caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-progress-bar{--kbq-progress-bar-size-container-content-gap: var(--kbq-size-s);--kbq-progress-bar-size-container-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-size-bar-height: var(--kbq-size-xxs);--kbq-progress-bar-size-bar-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-bar-background: var(--kbq-background-contrast-fade);--kbq-progress-bar-bar-foreground: var(--kbq-icon-theme);--kbq-progress-bar-text-color: var(--kbq-foreground-contrast);--kbq-progress-bar-caption-color: var(--kbq-foreground-contrast-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
90
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: KbqProgressBar, isStandalone: true, selector: "kbq-progress-bar", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "attr.id": "id()", "class.kbq-progress-bar_determinate": "mode() !== 'indeterminate'", "class.kbq-progress-bar_indeterminate": "mode() === 'indeterminate'", "attr.aria-valuemin": "indeterminate() ? null : 0", "attr.aria-valuemax": "indeterminate() ? null : 100", "attr.aria-valuenow": "indeterminate() ? null : percentage()", "attr.aria-label": "resolvedAriaLabel()", "attr.aria-labelledby": "resolvedAriaLabelledby()", "attr.aria-describedby": "caption()?.id() ?? null" }, classAttribute: "kbq-progress-bar" }, queries: [{ propertyName: "text", first: true, predicate: KbqProgressBarText, descendants: true, isSignal: true }, { propertyName: "caption", first: true, predicate: KbqProgressBarCaption, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[kbq-progress-bar-text]\" />\n\n<div class=\"kbq-progress-bar__inner\">\n @switch (mode()) {\n @case ('indeterminate') {\n <div\n class=\"kbq-progress-bar__line kbq-progress-bar__line_indeterminate\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n ></div>\n }\n @default {\n <div\n class=\"kbq-progress-bar__line kbq-progress-bar__line_determinate\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [style.width.%]=\"percentage()\"\n ></div>\n }\n }\n</div>\n\n<ng-content select=\"[kbq-progress-bar-caption]\" />\n", styles: ["@charset \"UTF-8\";@keyframes kbq-progress-bar-indeterminate{0%{transform:translate(-100%) scaleX(1)}to{transform:translate(400%) scaleX(1.6)}}@keyframes kbq-progress-bar-indeterminate-pulse{0%,to{opacity:1}50%{opacity:.4}}.kbq-progress-bar{display:block}.kbq-progress-bar .kbq-progress-bar-text{margin-bottom:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar-caption{margin-top:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar__inner{overflow:hidden;height:var(--kbq-progress-bar-size-bar-height);border-radius:var(--kbq-progress-bar-size-container-border-radius)}.kbq-progress-bar .kbq-progress-bar__line{height:100%;transform-origin:top left;border-radius:var(--kbq-progress-bar-size-bar-border-radius)}.kbq-progress-bar.kbq-progress-bar_determinate .kbq-progress-bar__line{transition:width .3s}.kbq-progress-bar.kbq-progress-bar_determinate .kbq-progress-bar__line.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-progress-bar.kbq-progress-bar_determinate .kbq-progress-bar__line{animation:none;transition:none}}.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line{width:25%;animation:kbq-progress-bar-indeterminate 2.1s cubic-bezier(.455,.03,.515,.955) infinite}.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line.kbq-animations-disabled{animation:kbq-progress-bar-indeterminate-pulse 2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line{animation:kbq-progress-bar-indeterminate-pulse 2s ease-in-out infinite}}.kbq-progress-bar{--kbq-progress-bar-track: var(--kbq-progress-bar-bar-background);--kbq-progress-bar-fill: var(--kbq-progress-bar-bar-foreground)}.kbq-progress-bar .kbq-progress-bar__inner{background-color:var(--kbq-progress-bar-track)}.kbq-progress-bar .kbq-progress-bar__line{background-color:var(--kbq-progress-bar-fill)}.kbq-progress-bar.kbq-contrast{--kbq-progress-bar-fill: var(--kbq-progress-bar-bar-contrast-foreground)}.kbq-progress-bar.kbq-contrast-fade{--kbq-progress-bar-fill: var(--kbq-progress-bar-bar-contrast-fade-foreground)}.kbq-progress-bar.kbq-error{--kbq-progress-bar-fill: var(--kbq-progress-bar-bar-error-foreground)}.kbq-progress-bar-text{color:var(--kbq-progress-bar-text-color)}.kbq-progress-bar-caption{color:var(--kbq-progress-bar-caption-color)}.kbq-progress-bar-text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-progress-bar-caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-progress-bar{--kbq-progress-bar-size-container-content-gap: var(--kbq-size-s);--kbq-progress-bar-size-container-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-size-bar-height: var(--kbq-size-xxs);--kbq-progress-bar-size-bar-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-bar-background: var(--kbq-background-contrast-fade);--kbq-progress-bar-bar-foreground: var(--kbq-icon-theme);--kbq-progress-bar-bar-contrast-foreground: var(--kbq-icon-contrast);--kbq-progress-bar-bar-contrast-fade-foreground: var(--kbq-icon-contrast-fade);--kbq-progress-bar-bar-error-foreground: var(--kbq-icon-error);--kbq-progress-bar-text-color: var(--kbq-foreground-contrast);--kbq-progress-bar-caption-color: var(--kbq-foreground-contrast-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
48
92
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqProgressBar, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqProgressBar, decorators: [{
50
94
  type: Component,
51
95
  args: [{ selector: 'kbq-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
52
96
  '[attr.id]': 'id()',
53
97
  class: 'kbq-progress-bar',
54
- '[class.kbq-progress-bar_determinate]': 'mode() === "determinate"',
55
- '[class.kbq-progress-bar_indeterminate]': 'mode() === "indeterminate"'
56
- }, template: "<ng-content select=\"[kbq-progress-bar-text]\" />\n\n<div class=\"kbq-progress-bar__inner\" [id]=\"id()\">\n @switch (mode()) {\n @case ('indeterminate') {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_indeterminate\"></div>\n }\n @default {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_determinate\" [style.width.%]=\"percentage\"></div>\n }\n }\n</div>\n\n<ng-content select=\"[kbq-progress-bar-caption]\" />\n", styles: ["@keyframes kbq-progress-bar-indeterminate{0%{width:25%;transform:translate(-150%)}to{width:40%;transform:translate(250%)}}.kbq-progress-bar{display:block;overflow:hidden}.kbq-progress-bar .kbq-progress-bar-text{margin-bottom:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar-caption{margin-top:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar__inner{overflow:hidden;height:var(--kbq-progress-bar-size-bar-height);border-radius:var(--kbq-progress-bar-size-container-border-radius)}.kbq-progress-bar .kbq-progress-bar__line{height:100%;transform-origin:top left;border-radius:var(--kbq-progress-bar-size-bar-border-radius)}.kbq-progress-bar.kbq-progress-bar_determinate .kbq-progress-bar__line{transition:width .3s}.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line{animation:kbq-progress-bar-indeterminate 2.1s cubic-bezier(.455,.03,.515,.955) infinite}@media(prefers-reduced-motion:reduce){.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line{animation:none}}.kbq-progress-bar.kbq-theme .kbq-progress-bar__inner{background-color:var(--kbq-progress-bar-bar-background)}.kbq-progress-bar.kbq-theme .kbq-progress-bar__line{background-color:var(--kbq-progress-bar-bar-foreground)}.kbq-progress-bar-text{color:var(--kbq-progress-bar-text-color)}.kbq-progress-bar-caption{color:var(--kbq-progress-bar-caption-color)}.kbq-progress-bar-text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-progress-bar-caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-progress-bar{--kbq-progress-bar-size-container-content-gap: var(--kbq-size-s);--kbq-progress-bar-size-container-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-size-bar-height: var(--kbq-size-xxs);--kbq-progress-bar-size-bar-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-bar-background: var(--kbq-background-contrast-fade);--kbq-progress-bar-bar-foreground: var(--kbq-icon-theme);--kbq-progress-bar-text-color: var(--kbq-foreground-contrast);--kbq-progress-bar-caption-color: var(--kbq-foreground-contrast-secondary)}\n"] }]
57
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }] } });
98
+ role: 'progressbar',
99
+ // The classes read `mode` rather than `indeterminate`, which the attributes read: the host bindings of every
100
+ // bar in a view run in that view's reactive consumer, where a signal read again after others costs a scan of
101
+ // all it has read so far.
102
+ '[class.kbq-progress-bar_determinate]': "mode() !== 'indeterminate'",
103
+ '[class.kbq-progress-bar_indeterminate]': "mode() === 'indeterminate'",
104
+ // An indeterminate `progressbar` is expressed by the absence of `aria-valuenow`, so the whole
105
+ // range stays off the element rather than being pinned to zero.
106
+ '[attr.aria-valuemin]': 'indeterminate() ? null : 0',
107
+ '[attr.aria-valuemax]': 'indeterminate() ? null : 100',
108
+ '[attr.aria-valuenow]': 'indeterminate() ? null : percentage()',
109
+ '[attr.aria-label]': 'resolvedAriaLabel()',
110
+ '[attr.aria-labelledby]': 'resolvedAriaLabelledby()',
111
+ '[attr.aria-describedby]': 'caption()?.id() ?? null'
112
+ }, template: "<ng-content select=\"[kbq-progress-bar-text]\" />\n\n<div class=\"kbq-progress-bar__inner\">\n @switch (mode()) {\n @case ('indeterminate') {\n <div\n class=\"kbq-progress-bar__line kbq-progress-bar__line_indeterminate\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n ></div>\n }\n @default {\n <div\n class=\"kbq-progress-bar__line kbq-progress-bar__line_determinate\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [style.width.%]=\"percentage()\"\n ></div>\n }\n }\n</div>\n\n<ng-content select=\"[kbq-progress-bar-caption]\" />\n", styles: ["@charset \"UTF-8\";@keyframes kbq-progress-bar-indeterminate{0%{transform:translate(-100%) scaleX(1)}to{transform:translate(400%) scaleX(1.6)}}@keyframes kbq-progress-bar-indeterminate-pulse{0%,to{opacity:1}50%{opacity:.4}}.kbq-progress-bar{display:block}.kbq-progress-bar .kbq-progress-bar-text{margin-bottom:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar-caption{margin-top:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar__inner{overflow:hidden;height:var(--kbq-progress-bar-size-bar-height);border-radius:var(--kbq-progress-bar-size-container-border-radius)}.kbq-progress-bar .kbq-progress-bar__line{height:100%;transform-origin:top left;border-radius:var(--kbq-progress-bar-size-bar-border-radius)}.kbq-progress-bar.kbq-progress-bar_determinate .kbq-progress-bar__line{transition:width .3s}.kbq-progress-bar.kbq-progress-bar_determinate .kbq-progress-bar__line.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-progress-bar.kbq-progress-bar_determinate .kbq-progress-bar__line{animation:none;transition:none}}.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line{width:25%;animation:kbq-progress-bar-indeterminate 2.1s cubic-bezier(.455,.03,.515,.955) infinite}.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line.kbq-animations-disabled{animation:kbq-progress-bar-indeterminate-pulse 2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line{animation:kbq-progress-bar-indeterminate-pulse 2s ease-in-out infinite}}.kbq-progress-bar{--kbq-progress-bar-track: var(--kbq-progress-bar-bar-background);--kbq-progress-bar-fill: var(--kbq-progress-bar-bar-foreground)}.kbq-progress-bar .kbq-progress-bar__inner{background-color:var(--kbq-progress-bar-track)}.kbq-progress-bar .kbq-progress-bar__line{background-color:var(--kbq-progress-bar-fill)}.kbq-progress-bar.kbq-contrast{--kbq-progress-bar-fill: var(--kbq-progress-bar-bar-contrast-foreground)}.kbq-progress-bar.kbq-contrast-fade{--kbq-progress-bar-fill: var(--kbq-progress-bar-bar-contrast-fade-foreground)}.kbq-progress-bar.kbq-error{--kbq-progress-bar-fill: var(--kbq-progress-bar-bar-error-foreground)}.kbq-progress-bar-text{color:var(--kbq-progress-bar-text-color)}.kbq-progress-bar-caption{color:var(--kbq-progress-bar-caption-color)}.kbq-progress-bar-text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-progress-bar-caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-progress-bar{--kbq-progress-bar-size-container-content-gap: var(--kbq-size-s);--kbq-progress-bar-size-container-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-size-bar-height: var(--kbq-size-xxs);--kbq-progress-bar-size-bar-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-bar-background: var(--kbq-background-contrast-fade);--kbq-progress-bar-bar-foreground: var(--kbq-icon-theme);--kbq-progress-bar-bar-contrast-foreground: var(--kbq-icon-contrast);--kbq-progress-bar-bar-contrast-fade-foreground: var(--kbq-icon-contrast-fade);--kbq-progress-bar-bar-error-foreground: var(--kbq-icon-error);--kbq-progress-bar-text-color: var(--kbq-foreground-contrast);--kbq-progress-bar-caption-color: var(--kbq-foreground-contrast-secondary)}\n"] }]
113
+ }], ctorParameters: () => [], propDecorators: { text: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqProgressBarText), { isSignal: true }] }], caption: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqProgressBarCaption), { isSignal: true }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }] } });
58
114
 
59
115
  class KbqProgressBarModule {
60
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
61
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.30", ngImport: i0, type: KbqProgressBarModule, imports: [PlatformModule,
62
- KbqProgressBar,
116
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
117
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: KbqProgressBarModule, imports: [KbqProgressBar,
63
118
  KbqProgressBarText,
64
119
  KbqProgressBarCaption], exports: [KbqProgressBar,
65
120
  KbqProgressBarText,
66
121
  KbqProgressBarCaption] }); }
67
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqProgressBarModule, imports: [PlatformModule] }); }
122
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqProgressBarModule }); }
68
123
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqProgressBarModule, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqProgressBarModule, decorators: [{
70
125
  type: NgModule,
71
126
  args: [{
72
127
  imports: [
73
- PlatformModule,
74
128
  KbqProgressBar,
75
129
  KbqProgressBarText,
76
130
  KbqProgressBarCaption