@koobiq/components 20.4.1 → 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 +486 -165
  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 -187
  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,121 +1,479 @@
1
- import { Platform, PlatformModule } from '@angular/cdk/platform';
1
+ import { FocusMonitor, CdkMonitorFocus } from '@angular/cdk/a11y';
2
+ import { Directionality } from '@angular/cdk/bidi';
3
+ import { SharedResizeObserver } from '@angular/cdk/observers/private';
2
4
  import * as i0 from '@angular/core';
3
- import { input, inject, ElementRef, ChangeDetectorRef, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
4
- import { Subject, Subscription } from 'rxjs';
5
- import { startWith, debounceTime } from 'rxjs/operators';
6
- import { A11yModule } from '@angular/cdk/a11y';
5
+ import { InjectionToken, inject, booleanAttribute, ViewEncapsulation, ChangeDetectionStrategy, Component, input, numberAttribute, linkedSignal, output, computed, signal, DestroyRef, viewChild, contentChildren, ElementRef, afterNextRender, afterRenderEffect, untracked, effect, NgModule } from '@angular/core';
6
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
+ import * as i1 from '@koobiq/components/core';
8
+ import { kbqOptionalNumberAttribute, kbqInjectNativeElement, KBQ_WINDOW, KbqLocaleOverridesDirective, KBQ_A11Y_LOCALE_CONFIGURATION } from '@koobiq/components/core';
9
+ import { KbqResizable, KbqResizer } from '@koobiq/components/resizer';
7
10
 
8
- class KbqDlComponent {
9
- constructor() {
10
- this.minWidth = input(400, ...(ngDevMode ? [{ debugName: "minWidth" }] : []));
11
- this.wide = input(false, ...(ngDevMode ? [{ debugName: "wide" }] : []));
12
- /** Vertical alignment of `kbq-dt` and `kbq-dd` items. */
13
- this.verticalAlign = input('start', ...(ngDevMode ? [{ debugName: "verticalAlign" }] : []));
14
- /** Horizontal alignment of `kbq-dt` and `kbq-dd` items. */
15
- this.horizontalAlign = input('start', ...(ngDevMode ? [{ debugName: "horizontalAlign" }] : []));
16
- // TODO: Skipped for migration because:
17
- // Your application code writes to the input. This prevents migration.
18
- this.vertical = null;
19
- this.resizeStream = new Subject();
20
- this.resizeDebounceInterval = 100;
21
- this.resizeSubscription = Subscription.EMPTY;
22
- this.elementRef = inject(ElementRef);
23
- this.changeDetectorRef = inject(ChangeDetectorRef);
24
- this.platform = inject(Platform);
25
- this.updateState = () => {
26
- const domRect = this.elementRef.nativeElement.getClientRects()[0];
27
- const width = domRect?.width || 0;
28
- this.vertical = width <= this.minWidth();
29
- this.changeDetectorRef.markForCheck();
30
- };
31
- }
32
- ngAfterContentInit() {
33
- if (this.vertical !== null || !this.platform.isBrowser) {
34
- return;
35
- }
36
- this.resizeSubscription = this.resizeStream
37
- .pipe(startWith(null), debounceTime(this.resizeDebounceInterval))
38
- .subscribe(this.updateState);
39
- }
40
- ngOnDestroy() {
41
- this.resizeSubscription.unsubscribe();
42
- }
43
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqDlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.30", type: KbqDlComponent, isStandalone: true, selector: "kbq-dl", inputs: { minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, wide: { classPropertyName: "wide", publicName: "wide", isSignal: true, isRequired: false, transformFunction: null }, verticalAlign: { classPropertyName: "verticalAlign", publicName: "verticalAlign", isSignal: true, isRequired: false, transformFunction: null }, horizontalAlign: { classPropertyName: "horizontalAlign", publicName: "horizontalAlign", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: false, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "resizeStream.next($event)" }, properties: { "class.kbq-dl_vertical": "vertical", "class.kbq-dl_wide": "wide()", "class.kbq-dl_vertical-align-center": "verticalAlign() === 'center'", "class.kbq-dl_vertical-align-end": "verticalAlign() === 'end'", "class.kbq-dl_horizontal-align-center": "horizontalAlign() === 'center'", "class.kbq-dl_horizontal-align-end": "horizontalAlign() === 'end'" }, classAttribute: "kbq-dl" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-dl{display:grid;column-gap:var(--kbq-description-list-size-horizontal-content-gap-horizontal);row-gap:var(--kbq-description-list-size-horizontal-gap-vertical);grid-template-columns:repeat(4,1fr)}.kbq-dl.kbq-dl_vertical-align-center{align-items:center}.kbq-dl.kbq-dl_vertical-align-end{align-items:end}.kbq-dl.kbq-dl_horizontal-align-center{justify-items:center}.kbq-dl.kbq-dl_horizontal-align-end{justify-items:end}.kbq-dl .kbq-dt,.kbq-dl .kbq-dd{min-width:0;overflow-wrap:break-word}.kbq-dl .kbq-dt{grid-column:1}.kbq-dl .kbq-dd{grid-column:2/span 3}.kbq-dl.kbq-dl_wide{grid-template-columns:repeat(2,1fr)}.kbq-dl.kbq-dl_wide .kbq-dt{grid-column:1}.kbq-dl.kbq-dl_wide .kbq-dd{grid-column:2}.kbq-dl.kbq-dl_vertical{grid-template-columns:repeat(1,1fr);row-gap:var(--kbq-description-list-size-vertical-content-gap-vertical)}.kbq-dl.kbq-dl_vertical .kbq-dt,.kbq-dl.kbq-dl_vertical .kbq-dd{grid-column:1}.kbq-dl.kbq-dl_vertical .kbq-dd:not(:last-child){margin-bottom:var(--kbq-description-list-size-vertical-gap-vertical)}.kbq-dt{color:var(--kbq-description-list-term-color)}.kbq-dd{color:var(--kbq-description-list-description-color)}.kbq-dl .kbq-dt,.kbq-dl .kbq-dd{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)}\n", ".kbq-dl{--kbq-description-list-size-horizontal-content-gap-horizontal: var(--kbq-size-l);--kbq-description-list-size-horizontal-gap-vertical: var(--kbq-size-l);--kbq-description-list-size-vertical-content-gap-vertical: var(--kbq-size-3xs);--kbq-description-list-size-vertical-gap-vertical: var(--kbq-size-m);--kbq-description-list-term-color: var(--kbq-foreground-contrast-secondary);--kbq-description-list-description-color: var(--kbq-foreground-contrast)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
11
+ const KBQ_DL_DEFAULT_OPTIONS = {
12
+ verticalBreakpoint: 400,
13
+ vertical: null,
14
+ wide: false,
15
+ resizable: false,
16
+ dtWidth: null,
17
+ verticalAlign: 'start',
18
+ horizontalAlign: 'start'
19
+ };
20
+ /** Injection token holding the current {@link KbqDlOptions}. */
21
+ const KBQ_DL_OPTIONS = new InjectionToken('KBQ_DL_OPTIONS', {
22
+ factory: () => KBQ_DL_DEFAULT_OPTIONS
23
+ });
24
+ /**
25
+ * Overrides the default description list options within the given injector scope. The options it leaves out keep the
26
+ * values of the parent injector.
27
+ */
28
+ function kbqDlOptionsProvider(options) {
29
+ // An option passed as `undefined` keeps the inherited value instead of replacing it.
30
+ const defined = Object.fromEntries(Object.entries(options).filter(([, value]) => value !== undefined));
31
+ return {
32
+ provide: KBQ_DL_OPTIONS,
33
+ useFactory: () => ({
34
+ ...(inject(KBQ_DL_OPTIONS, { skipSelf: true, optional: true }) ?? KBQ_DL_DEFAULT_OPTIONS),
35
+ ...defined
36
+ })
37
+ };
45
38
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqDlComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'kbq-dl', template: '<ng-content />', encapsulation: ViewEncapsulation.None, host: {
49
- class: 'kbq-dl',
50
- '[class.kbq-dl_vertical]': 'vertical',
51
- '[class.kbq-dl_wide]': 'wide()',
52
- '[class.kbq-dl_vertical-align-center]': "verticalAlign() === 'center'",
53
- '[class.kbq-dl_vertical-align-end]': "verticalAlign() === 'end'",
54
- '[class.kbq-dl_horizontal-align-center]': "horizontalAlign() === 'center'",
55
- '[class.kbq-dl_horizontal-align-end]': "horizontalAlign() === 'end'",
56
- '(window:resize)': 'resizeStream.next($event)'
57
- }, styles: [".kbq-dl{display:grid;column-gap:var(--kbq-description-list-size-horizontal-content-gap-horizontal);row-gap:var(--kbq-description-list-size-horizontal-gap-vertical);grid-template-columns:repeat(4,1fr)}.kbq-dl.kbq-dl_vertical-align-center{align-items:center}.kbq-dl.kbq-dl_vertical-align-end{align-items:end}.kbq-dl.kbq-dl_horizontal-align-center{justify-items:center}.kbq-dl.kbq-dl_horizontal-align-end{justify-items:end}.kbq-dl .kbq-dt,.kbq-dl .kbq-dd{min-width:0;overflow-wrap:break-word}.kbq-dl .kbq-dt{grid-column:1}.kbq-dl .kbq-dd{grid-column:2/span 3}.kbq-dl.kbq-dl_wide{grid-template-columns:repeat(2,1fr)}.kbq-dl.kbq-dl_wide .kbq-dt{grid-column:1}.kbq-dl.kbq-dl_wide .kbq-dd{grid-column:2}.kbq-dl.kbq-dl_vertical{grid-template-columns:repeat(1,1fr);row-gap:var(--kbq-description-list-size-vertical-content-gap-vertical)}.kbq-dl.kbq-dl_vertical .kbq-dt,.kbq-dl.kbq-dl_vertical .kbq-dd{grid-column:1}.kbq-dl.kbq-dl_vertical .kbq-dd:not(:last-child){margin-bottom:var(--kbq-description-list-size-vertical-gap-vertical)}.kbq-dt{color:var(--kbq-description-list-term-color)}.kbq-dd{color:var(--kbq-description-list-description-color)}.kbq-dl .kbq-dt,.kbq-dl .kbq-dd{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)}\n", ".kbq-dl{--kbq-description-list-size-horizontal-content-gap-horizontal: var(--kbq-size-l);--kbq-description-list-size-horizontal-gap-vertical: var(--kbq-size-l);--kbq-description-list-size-vertical-content-gap-vertical: var(--kbq-size-3xs);--kbq-description-list-size-vertical-gap-vertical: var(--kbq-size-m);--kbq-description-list-term-color: var(--kbq-foreground-contrast-secondary);--kbq-description-list-description-color: var(--kbq-foreground-contrast)}\n"] }]
58
- }], propDecorators: { minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }], wide: [{ type: i0.Input, args: [{ isSignal: true, alias: "wide", required: false }] }], verticalAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalAlign", required: false }] }], horizontalAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalAlign", required: false }] }], vertical: [{
59
- type: Input
60
- }] } });
61
- class KbqDtComponent {
62
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqDtComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.30", type: KbqDtComponent, isStandalone: true, selector: "kbq-dt", host: { classAttribute: "kbq-dt" }, ngImport: i0, template: '<ng-content />', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
39
+ /**
40
+ * Coerces an attribute value to a boolean while keeping nullish apart from `false`.
41
+ *
42
+ * `booleanAttribute` folds both nullish values into `false`, which erases the "decide from
43
+ * `verticalBreakpoint`" state `vertical` needs.
44
+ */
45
+ const optionalBooleanAttribute = (value) => value == null ? value : booleanAttribute(value);
46
+ /** Term of a description list. */
47
+ class KbqDt {
48
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqDt, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: KbqDt, isStandalone: true, selector: "kbq-dt", host: { classAttribute: "kbq-dt" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
64
50
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqDtComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqDt, decorators: [{
66
52
  type: Component,
67
53
  args: [{
68
54
  selector: 'kbq-dt',
69
55
  template: '<ng-content />',
56
+ changeDetection: ChangeDetectionStrategy.OnPush,
70
57
  encapsulation: ViewEncapsulation.None,
71
58
  host: {
72
59
  class: 'kbq-dt'
73
60
  }
74
61
  }]
75
62
  }] });
76
- class KbqDdComponent {
77
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqDdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.30", type: KbqDdComponent, isStandalone: true, selector: "kbq-dd", host: { classAttribute: "kbq-dd" }, ngImport: i0, template: '<ng-content />', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
63
+ /** Description of the term before it. */
64
+ class KbqDd {
65
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqDd, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: KbqDd, isStandalone: true, selector: "kbq-dd", host: { classAttribute: "kbq-dd" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
79
67
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqDdComponent, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqDd, decorators: [{
81
69
  type: Component,
82
70
  args: [{
83
71
  selector: 'kbq-dd',
84
72
  template: '<ng-content />',
73
+ changeDetection: ChangeDetectionStrategy.OnPush,
85
74
  encapsulation: ViewEncapsulation.None,
86
75
  host: {
87
76
  class: 'kbq-dd'
88
77
  }
89
78
  }]
90
79
  }] });
80
+ /** Description list: `kbq-dt` terms paired with `kbq-dd` descriptions in an adaptive, horizontal or vertical layout. */
81
+ class KbqDl {
82
+ constructor() {
83
+ // Read by the input defaults below, so it is declared first.
84
+ this.options = inject(KBQ_DL_OPTIONS);
85
+ /**
86
+ * Host width in pixels at or below which the list auto-switches to the vertical layout.
87
+ * Defaults to the app-wide {@link KBQ_DL_OPTIONS}.
88
+ */
89
+ this.verticalBreakpoint = input(this.options.verticalBreakpoint, { ...(ngDevMode ? { debugName: "verticalBreakpoint" } : /* istanbul ignore next */ {}), transform: numberAttribute });
90
+ /** Whether the list uses the wide two-column layout. Defaults to the app-wide {@link KBQ_DL_OPTIONS}. */
91
+ this.wide = input(this.options.wide, { ...(ngDevMode ? { debugName: "wide" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
92
+ /**
93
+ * Whether the `kbq-dt` area can be resized by dragging the separator.
94
+ * Defaults to the app-wide {@link KBQ_DL_OPTIONS}.
95
+ */
96
+ this.resizable = input(this.options.resizable, { ...(ngDevMode ? { debugName: "resizable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
97
+ /**
98
+ * Backing input of `dtWidth`. Public because a signal input cannot be `protected` without breaking
99
+ * the binding for a `strictTemplates` consumer.
100
+ *
101
+ * @docs-private
102
+ */
103
+ this.dtWidthInput = input(this.options.dtWidth, { ...(ngDevMode ? { debugName: "dtWidthInput" } : /* istanbul ignore next */ {}), alias: 'dtWidth',
104
+ transform: (value) => kbqOptionalNumberAttribute(value) ?? null });
105
+ /**
106
+ * Width of the `kbq-dt` area in pixels; `null` restores the default column ratio.
107
+ * Defaults to the app-wide {@link KBQ_DL_OPTIONS}.
108
+ *
109
+ * Writable: a drag or a double-click on the separator sets it, and `dtWidthChange` reports that back.
110
+ * `model()` would have been the shorter form, but it takes no `transform`, so an uncoerced attribute
111
+ * reached the layout arithmetic as a string and skipped the clamp against `dtMinWidth`.
112
+ */
113
+ this.dtWidth = linkedSignal(() => this.dtWidthInput(), ...(ngDevMode ? [{ debugName: "dtWidth" }] : /* istanbul ignore next */ []));
114
+ /** Emits when the component itself changes `dtWidth`; completes the `[(dtWidth)]` two-way binding. */
115
+ this.dtWidthChange = output();
116
+ /**
117
+ * Minimum width of the `kbq-dt` area in pixels; defaults to the app-wide {@link KBQ_DL_OPTIONS}, then to the
118
+ * rendered term width.
119
+ */
120
+ this.dtMinWidth = input(this.options.dtMinWidth, { ...(ngDevMode ? { debugName: "dtMinWidth" } : /* istanbul ignore next */ {}), transform: kbqOptionalNumberAttribute });
121
+ /**
122
+ * Minimum width retained for the `kbq-dd` area in pixels; defaults to the app-wide {@link KBQ_DL_OPTIONS}, then
123
+ * to the rendered term width.
124
+ */
125
+ this.ddMinWidth = input(this.options.ddMinWidth, { ...(ngDevMode ? { debugName: "ddMinWidth" } : /* istanbul ignore next */ {}), transform: kbqOptionalNumberAttribute });
126
+ /** Accessible name of the column resize separator; falls back to the localized default when omitted. */
127
+ this.resizerAriaLabel = input(undefined, ...(ngDevMode ? [{ debugName: "resizerAriaLabel" }] : /* istanbul ignore next */ []));
128
+ /** Vertical alignment of `kbq-dt` and `kbq-dd` items. Defaults to the app-wide {@link KBQ_DL_OPTIONS}. */
129
+ this.verticalAlign = input(this.options.verticalAlign, ...(ngDevMode ? [{ debugName: "verticalAlign" }] : /* istanbul ignore next */ []));
130
+ /** Horizontal alignment of `kbq-dt` and `kbq-dd` items. Defaults to the app-wide {@link KBQ_DL_OPTIONS}. */
131
+ this.horizontalAlign = input(this.options.horizontalAlign, ...(ngDevMode ? [{ debugName: "horizontalAlign" }] : /* istanbul ignore next */ []));
132
+ /**
133
+ * Forces the vertical layout; `null` lets the list decide based on `verticalBreakpoint`.
134
+ * Defaults to the app-wide {@link KBQ_DL_OPTIONS}.
135
+ */
136
+ this.vertical = input(this.options.vertical, { ...(ngDevMode ? { debugName: "vertical" } : /* istanbul ignore next */ {}),
137
+ // Not `booleanAttribute`: it would fold `null` — the "decide for me" state — into `false`.
138
+ transform: (value) => optionalBooleanAttribute(value) ?? null });
139
+ /** @docs-private */
140
+ this.resizeDirection = computed(() => this.directionality?.valueSignal() === 'rtl' ? [-1, 0] : [1, 0], ...(ngDevMode ? [{ debugName: "resizeDirection" }] : /* istanbul ignore next */ []));
141
+ /** Host width as last measured; `null` until the list first has a box to measure. */
142
+ this.hostWidth = signal(null, ...(ngDevMode ? [{ debugName: "hostWidth" }] : /* istanbul ignore next */ []));
143
+ /**
144
+ * Auto-detected vertical layout. Derived from the measurement rather than written alongside it, so it
145
+ * cannot go stale when `verticalBreakpoint` changes, and `null` means "not measured yet" rather than
146
+ * doubling as "skipped the write".
147
+ */
148
+ this.autoVertical = computed(() => {
149
+ const width = this.hostWidth();
150
+ return width === null ? null : width <= this.verticalBreakpoint();
151
+ }, ...(ngDevMode ? [{ debugName: "autoVertical" }] : /* istanbul ignore next */ []));
152
+ /** Effective vertical layout, combining the explicit `vertical` input and the auto-detection. @docs-private */
153
+ this.isVertical = computed(() => this.vertical() ?? this.autoVertical() ?? false, ...(ngDevMode ? [{ debugName: "isVertical" }] : /* istanbul ignore next */ []));
154
+ /** Whether the column resize separator is currently rendered. @docs-private */
155
+ this.resizerVisible = computed(() => this.resizable() && !this.isVertical(), ...(ngDevMode ? [{ debugName: "resizerVisible" }] : /* istanbul ignore next */ []));
156
+ /** Whether `dtWidth` overrides the default column ratio. @docs-private */
157
+ this.resized = computed(() => this.dtWidth() !== null, ...(ngDevMode ? [{ debugName: "resized" }] : /* istanbul ignore next */ []));
158
+ /** Rendered term width used as the default minimum for both areas. */
159
+ this.measuredDtWidth = signal(0, ...(ngDevMode ? [{ debugName: "measuredDtWidth" }] : /* istanbul ignore next */ []));
160
+ /** Effective minimum width of the `kbq-dt` area. */
161
+ this.resolvedDtMinWidth = computed(() => this.dtMinWidth() ?? this.measuredDtWidth(), ...(ngDevMode ? [{ debugName: "resolvedDtMinWidth" }] : /* istanbul ignore next */ []));
162
+ /** Effective minimum width of the `kbq-dd` area. */
163
+ this.resolvedDdMinWidth = computed(() => this.ddMinWidth() ?? this.measuredDtWidth(), ...(ngDevMode ? [{ debugName: "resolvedDdMinWidth" }] : /* istanbul ignore next */ []));
164
+ /** Minimum `kbq-dt` width, clamped to a non-negative value. @docs-private */
165
+ this.normalizedDtMinWidth = computed(() => Math.max(0, this.resolvedDtMinWidth()), ...(ngDevMode ? [{ debugName: "normalizedDtMinWidth" }] : /* istanbul ignore next */ []));
166
+ /**
167
+ * Host width the two areas share, without the gap between them; `null` until measured. The geometry is read at
168
+ * the moments it can change, so change detection never forces a layout.
169
+ */
170
+ this.availableWidth = signal(null, ...(ngDevMode ? [{ debugName: "availableWidth" }] : /* istanbul ignore next */ []));
171
+ /** Rendered width of the resize track, which spans the `kbq-dt` area. */
172
+ this.trackWidth = signal(0, ...(ngDevMode ? [{ debugName: "trackWidth" }] : /* istanbul ignore next */ []));
173
+ /** Largest `kbq-dt` width that still leaves the `kbq-dd` area its minimum. @docs-private */
174
+ this.maxDtWidth = computed(() => Math.max(this.normalizedDtMinWidth(), (this.availableWidth() ?? 0) - Math.max(0, this.resolvedDdMinWidth())), ...(ngDevMode ? [{ debugName: "maxDtWidth" }] : /* istanbul ignore next */ []));
175
+ /**
176
+ * Current `kbq-dt` width, as the separator reports it: within `aria-valuemin` and `aria-valuemax`
177
+ * even before the host is measured and the effect below clamps a bound `dtWidth`.
178
+ *
179
+ * @docs-private
180
+ */
181
+ this.currentDtWidth = computed(() => {
182
+ const width = this.dtWidth();
183
+ return Math.round(width === null ? this.trackWidth() || this.normalizedDtMinWidth() : this.constrainDtWidth(width));
184
+ }, ...(ngDevMode ? [{ debugName: "currentDtWidth" }] : /* istanbul ignore next */ []));
185
+ /**
186
+ * Cursor shown over the separator: it advertises not just that the column is resizable but the
187
+ * direction still available — grow-only at the minimum width, shrink-only at the maximum, `default` when there is
188
+ * no room to move the border at all.
189
+ *
190
+ * @docs-private
191
+ */
192
+ this.resizeCursor = computed(() => {
193
+ // The bounds are unknown until the host is measured.
194
+ if (this.availableWidth() === null)
195
+ return 'col-resize';
196
+ const min = this.normalizedDtMinWidth();
197
+ const max = this.maxDtWidth();
198
+ // No room to move the border in either direction.
199
+ if (max <= min)
200
+ return 'default';
201
+ const width = this.currentDtWidth();
202
+ // `resizeDirection` is `[1, 0]` in LTR and `[-1, 0]` in RTL, so growing the column moves the pointer east in
203
+ // LTR and west in RTL; the cursor mirrors accordingly.
204
+ const ltr = this.resizeDirection()[0] > 0;
205
+ if (width <= min)
206
+ return ltr ? 'e-resize' : 'w-resize';
207
+ if (width >= max)
208
+ return ltr ? 'w-resize' : 'e-resize';
209
+ return 'col-resize';
210
+ }, ...(ngDevMode ? [{ debugName: "resizeCursor" }] : /* istanbul ignore next */ []));
211
+ this.keyboardResizeStep = 8;
212
+ this.nativeElement = kbqInjectNativeElement();
213
+ this.window = inject(KBQ_WINDOW);
214
+ this.destroyRef = inject(DestroyRef);
215
+ this.resizeObserver = inject(SharedResizeObserver);
216
+ this.directionality = inject(Directionality, { optional: true });
217
+ this.focusMonitor = inject(FocusMonitor);
218
+ this.a11yLocaleConfiguration = inject(KbqLocaleOverridesDirective, { self: true }).read('a11y', KBQ_A11Y_LOCALE_CONFIGURATION);
219
+ this.resizeTrack = viewChild('resizeTrack', ...(ngDevMode ? [{ debugName: "resizeTrack" }] : /* istanbul ignore next */ []));
220
+ this.resizeHandle = viewChild('resizeHandle', ...(ngDevMode ? [{ debugName: "resizeHandle" }] : /* istanbul ignore next */ []));
221
+ this.terms = contentChildren(KbqDt, { ...(ngDevMode ? { debugName: "terms" } : /* istanbul ignore next */ {}), read: ElementRef });
222
+ /** Resolved accessible name of the resize separator. @docs-private */
223
+ this.resolvedResizerAriaLabel = computed(() => this.resizerAriaLabel() || this.a11yLocaleConfiguration().resizeColumns, ...(ngDevMode ? [{ debugName: "resolvedResizerAriaLabel" }] : /* istanbul ignore next */ []));
224
+ // `afterNextRender` runs in the browser only, so no explicit platform guard is needed here.
225
+ afterNextRender(() => {
226
+ // Decided before the first paint rather than on the first observation, which only arrives after it: a
227
+ // list too narrow for the horizontal layout would show it for a frame and then jump.
228
+ this.updateLayout();
229
+ // Everything the layout decides is derived from this measurement, so nothing here has to re-run when an
230
+ // input changes.
231
+ this.resizeObserver
232
+ .observe(this.nativeElement)
233
+ .pipe(takeUntilDestroyed(this.destroyRef))
234
+ .subscribe(() => this.updateLayout());
235
+ });
236
+ // The track can change width while the host keeps its size: when the separator appears, when `dtWidth`
237
+ // returns to the default ratio, with `dtMinWidth`, which bounds the column at rest, and with `wide`, which
238
+ // changes the number of columns.
239
+ afterRenderEffect({
240
+ read: () => {
241
+ if (!this.resizeTrack())
242
+ return;
243
+ this.resized();
244
+ this.normalizedDtMinWidth();
245
+ this.wide();
246
+ untracked(() => this.measureResizeBounds());
247
+ }
248
+ });
249
+ // The clamp is the one part that is not derived: `dtWidth` is writable by the consumer too, and its bounds
250
+ // move with the inputs and the host. Written back, so the CSS variable, the track and `aria-valuenow` agree.
251
+ effect(() => {
252
+ const width = this.dtWidth();
253
+ // Not before the layout is decided, which waits for the list to have a box: it renders horizontally until
254
+ // then, so a list about to turn vertical would lose the bound width to the bounds of a layout it never shows.
255
+ if (width === null || this.hostWidth() === null || this.availableWidth() === null || this.isVertical()) {
256
+ return;
257
+ }
258
+ const constrainedWidth = this.constrainDtWidth(width);
259
+ if (constrainedWidth !== width)
260
+ untracked(() => this.writeDtWidth(constrainedWidth));
261
+ });
262
+ }
263
+ /** Captures the rendered width of the term column, used as the default minimum when no widths are provided. */
264
+ measureDtWidth() {
265
+ const term = this.terms()[0]?.nativeElement;
266
+ // In the vertical layout a term spans the whole list, which is no measure of the term column.
267
+ if (term && !this.isVertical())
268
+ this.measuredDtWidth.set(Math.round(term.getBoundingClientRect().width));
269
+ }
270
+ /** Reads the geometry the separator is bounded by. Browser-only: called after a render or on user interaction. */
271
+ measureResizeBounds() {
272
+ const hostWidth = this.nativeElement.clientWidth;
273
+ // A hidden list measures zero, and bounds of zero would clamp `dtWidth` to its minimum.
274
+ if (!hostWidth)
275
+ return;
276
+ const columnGap = parseFloat(this.window.getComputedStyle(this.nativeElement).columnGap) || 0;
277
+ this.availableWidth.set(hostWidth - columnGap);
278
+ this.trackWidth.set(this.resizeTrack()?.nativeElement.clientWidth ?? 0);
279
+ }
280
+ /** @docs-private */
281
+ handleDtResize({ width }) {
282
+ this.setDtWidth(width);
283
+ }
284
+ /**
285
+ * Demotes the separator's focus origin to the pointer when a mouse drag starts, so the keyboard-focus frame
286
+ * hides for the whole drag and does not linger afterwards. Keyboard focus keeps the frame as usual.
287
+ *
288
+ * @docs-private
289
+ */
290
+ handleResizeStart() {
291
+ // The host keeps its size for the length of a drag, so the bounds are read once, not on every move.
292
+ this.measureResizeBounds();
293
+ const handle = this.resizeHandle()?.nativeElement;
294
+ if (handle)
295
+ this.focusMonitor.focusVia(handle, 'mouse');
296
+ }
297
+ /** @docs-private */
298
+ handleResizeKeydown(event) {
299
+ const { key } = event;
300
+ if (key !== 'Home' && key !== 'End' && key !== 'ArrowLeft' && key !== 'ArrowRight')
301
+ return;
302
+ event.preventDefault();
303
+ this.measureResizeBounds();
304
+ const step = this.resizeDirection()[0] * this.keyboardResizeStep;
305
+ if (key === 'Home')
306
+ return this.setDtWidth(this.normalizedDtMinWidth());
307
+ if (key === 'End')
308
+ return this.setDtWidth(this.maxDtWidth());
309
+ this.setDtWidth(this.currentDtWidth() + (key === 'ArrowRight' ? step : -step));
310
+ }
311
+ /** @docs-private */
312
+ handleResizeDblClick(event) {
313
+ event.preventDefault();
314
+ this.measureResizeBounds();
315
+ // First double-click collapses the first column to its minimum width; a second one restores the default ratio.
316
+ if (this.dtWidth() === this.normalizedDtMinWidth()) {
317
+ this.writeDtWidth(null);
318
+ }
319
+ else {
320
+ this.setDtWidth(this.normalizedDtMinWidth());
321
+ }
322
+ }
323
+ updateLayout() {
324
+ const domRect = this.nativeElement.getClientRects()[0];
325
+ // A hidden list has no box. It keeps its last layout, so it does not jump when shown again at the same size.
326
+ if (!domRect)
327
+ return;
328
+ // Taken before the new width can switch the layout. A list created hidden or vertical had no term column to
329
+ // measure yet; the layout switch that gives it one changes the host height, which the observer reports.
330
+ if (!this.measuredDtWidth())
331
+ this.measureDtWidth();
332
+ this.hostWidth.set(domRect.width);
333
+ this.measureResizeBounds();
334
+ }
335
+ setDtWidth(width) {
336
+ if (!Number.isFinite(width))
337
+ return;
338
+ const constrainedWidth = this.constrainDtWidth(width);
339
+ if (constrainedWidth !== this.dtWidth())
340
+ this.writeDtWidth(constrainedWidth);
341
+ }
342
+ constrainDtWidth(width) {
343
+ return Math.min(this.maxDtWidth(), Math.max(this.normalizedDtMinWidth(), width));
344
+ }
345
+ /**
346
+ * The only way the component writes `dtWidth`. `linkedSignal` does not emit on its own the way
347
+ * `model()` did, so the write and the notification are kept together rather than at each call site.
348
+ */
349
+ writeDtWidth(width) {
350
+ this.dtWidth.set(width);
351
+ this.dtWidthChange.emit(width);
352
+ }
353
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqDl, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
354
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: KbqDl, isStandalone: true, selector: "kbq-dl", inputs: { verticalBreakpoint: { classPropertyName: "verticalBreakpoint", publicName: "verticalBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, wide: { classPropertyName: "wide", publicName: "wide", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, dtWidthInput: { classPropertyName: "dtWidthInput", publicName: "dtWidth", isSignal: true, isRequired: false, transformFunction: null }, dtMinWidth: { classPropertyName: "dtMinWidth", publicName: "dtMinWidth", isSignal: true, isRequired: false, transformFunction: null }, ddMinWidth: { classPropertyName: "ddMinWidth", publicName: "ddMinWidth", isSignal: true, isRequired: false, transformFunction: null }, resizerAriaLabel: { classPropertyName: "resizerAriaLabel", publicName: "resizerAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, verticalAlign: { classPropertyName: "verticalAlign", publicName: "verticalAlign", isSignal: true, isRequired: false, transformFunction: null }, horizontalAlign: { classPropertyName: "horizontalAlign", publicName: "horizontalAlign", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dtWidthChange: "dtWidthChange" }, host: { properties: { "class.kbq-dl_vertical": "isVertical()", "class.kbq-dl_wide": "wide()", "class.kbq-dl_resizable": "resizerVisible()", "class.kbq-dl_resized": "resized()", "class.kbq-dl_vertical-align-center": "verticalAlign() === 'center'", "class.kbq-dl_vertical-align-end": "verticalAlign() === 'end'", "class.kbq-dl_horizontal-align-center": "horizontalAlign() === 'center'", "class.kbq-dl_horizontal-align-end": "horizontalAlign() === 'end'", "style.--kbq-description-list-dt-width.px": "dtWidth()", "style.--kbq-description-list-dt-min-width.px": "normalizedDtMinWidth()" }, classAttribute: "kbq-dl" }, queries: [{ propertyName: "terms", predicate: KbqDt, read: ElementRef, isSignal: true }], viewQueries: [{ propertyName: "resizeTrack", first: true, predicate: ["resizeTrack"], descendants: true, isSignal: true }, { propertyName: "resizeHandle", first: true, predicate: ["resizeHandle"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.KbqLocaleOverridesDirective, inputs: ["kbqLocaleOverrides", "localeOverrides"] }], ngImport: i0, template: `
355
+ <ng-content />
356
+
357
+ @if (resizerVisible()) {
358
+ <div
359
+ #resizeTrack
360
+ class="kbq-dl__resize-track"
361
+ kbqResizable
362
+ [style.max-width.px]="resized() ? maxDtWidth() : null"
363
+ [style.min-width.px]="resized() ? normalizedDtMinWidth() : null"
364
+ [style.width.px]="dtWidth()"
365
+ >
366
+ <div
367
+ #resizeHandle
368
+ class="kbq-dl__resize-handle"
369
+ role="separator"
370
+ aria-orientation="vertical"
371
+ tabindex="0"
372
+ cdkMonitorElementFocus
373
+ [cursor]="resizeCursor()"
374
+ [attr.aria-label]="resolvedResizerAriaLabel()"
375
+ [attr.aria-valuemax]="maxDtWidth()"
376
+ [attr.aria-valuemin]="normalizedDtMinWidth()"
377
+ [attr.aria-valuenow]="currentDtWidth()"
378
+ [kbqResizer]="resizeDirection()"
379
+ (dblclick)="handleResizeDblClick($event)"
380
+ (keydown)="handleResizeKeydown($event)"
381
+ (resizeStart)="handleResizeStart()"
382
+ (sizeChange)="handleDtResize($event)"
383
+ ></div>
384
+ </div>
385
+ }
386
+ `, isInline: true, styles: [".kbq-dl{display:grid;position:relative;column-gap:var(--kbq-description-list-size-horizontal-content-gap-horizontal);row-gap:var(--kbq-description-list-size-horizontal-gap-vertical);grid-template-columns:repeat(4,1fr)}.kbq-dl.kbq-dl_vertical-align-center{align-items:center}.kbq-dl.kbq-dl_vertical-align-end{align-items:end}.kbq-dl.kbq-dl_horizontal-align-center{justify-items:center}.kbq-dl.kbq-dl_horizontal-align-end{justify-items:end}.kbq-dl>.kbq-dt,.kbq-dl>.kbq-dd{min-width:0;overflow-wrap:break-word}.kbq-dl>.kbq-dt{grid-column:1}.kbq-dl>.kbq-dd{grid-column:2/span 3}.kbq-dl.kbq-dl_resizable:not(.kbq-dl_resized):not(.kbq-dl_vertical){grid-template-columns:minmax(var(--kbq-description-list-dt-min-width),1fr) repeat(3,minmax(0,1fr))}.kbq-dl.kbq-dl_resized:not(.kbq-dl_vertical){grid-template-columns:var(--kbq-description-list-dt-width) repeat(3,minmax(0,1fr))}.kbq-dl .kbq-dl__resize-track{position:absolute;inset-block:0;inset-inline-start:0;grid-column:1/2;width:100%;pointer-events:none;z-index:1}.kbq-dl .kbq-dl__resize-handle{position:absolute;inset-block:0;inset-inline-end:calc((var(--kbq-description-list-size-horizontal-content-gap-horizontal) + var(--kbq-description-list-resizer-hit-area-width)) / -2);width:var(--kbq-description-list-resizer-hit-area-width);pointer-events:auto;touch-action:none;outline:none}.kbq-dl .kbq-dl__resize-handle:after{position:absolute;inset-block:var(--kbq-description-list-resizer-focus-outline-width);inset-inline:0;width:var(--kbq-description-list-resizer-line-width);margin-inline:auto;background-color:var(--kbq-description-list-resizer-color);content:\"\";opacity:0}.kbq-dl .kbq-dl__resize-handle:is(:hover,.kbq-hover):after{background-color:var(--kbq-description-list-resizer-state-hover-color)}.kbq-dl .kbq-dl__resize-handle.cdk-keyboard-focused:after,.kbq-dl .kbq-dl__resize-handle:is(:active,.kbq-active):after{opacity:1}.kbq-dl .kbq-dl__resize-handle:is(:active,.kbq-active):after{width:var(--kbq-description-list-resizer-active-line-width);background-color:var(--kbq-description-list-resizer-state-active-color)}.kbq-dl .kbq-dl__resize-handle.cdk-keyboard-focused{outline:var(--kbq-description-list-resizer-focus-outline-width) solid var(--kbq-description-list-resizer-focus-outline-color);outline-offset:calc(-1 * var(--kbq-description-list-resizer-focus-outline-width))}@media(hover:hover)and (pointer:fine){.kbq-dl:is(:hover,.kbq-hover)>.kbq-dl__resize-track>.kbq-dl__resize-handle:after{opacity:1}}.kbq-dl.kbq-dl_wide{grid-template-columns:repeat(2,1fr)}.kbq-dl.kbq-dl_wide.kbq-dl_resizable:not(.kbq-dl_resized):not(.kbq-dl_vertical){grid-template-columns:minmax(var(--kbq-description-list-dt-min-width),1fr) minmax(0,1fr)}.kbq-dl.kbq-dl_wide.kbq-dl_resized:not(.kbq-dl_vertical){grid-template-columns:var(--kbq-description-list-dt-width) minmax(0,1fr)}.kbq-dl.kbq-dl_wide>.kbq-dt{grid-column:1}.kbq-dl.kbq-dl_wide>.kbq-dd{grid-column:2}.kbq-dl.kbq-dl_vertical{grid-template-columns:repeat(1,1fr);row-gap:var(--kbq-description-list-size-vertical-content-gap-vertical)}.kbq-dl.kbq-dl_vertical>.kbq-dt,.kbq-dl.kbq-dl_vertical>.kbq-dd{grid-column:1}.kbq-dl.kbq-dl_vertical>.kbq-dd:not(:last-child){margin-bottom:var(--kbq-description-list-size-vertical-gap-vertical)}.kbq-dt{color:var(--kbq-description-list-term-color)}.kbq-dd{color:var(--kbq-description-list-description-color)}.kbq-dl .kbq-dt,.kbq-dl .kbq-dd{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)}\n", ".kbq-dl{--kbq-description-list-size-horizontal-content-gap-horizontal: var(--kbq-size-l);--kbq-description-list-size-horizontal-gap-vertical: var(--kbq-size-l);--kbq-description-list-size-vertical-content-gap-vertical: var(--kbq-size-3xs);--kbq-description-list-size-vertical-gap-vertical: var(--kbq-size-m);--kbq-description-list-resizer-line-width: 1px;--kbq-description-list-resizer-active-line-width: 3px;--kbq-description-list-resizer-focus-outline-width: 2px;--kbq-description-list-resizer-hit-area-width: calc( 2 * var(--kbq-size-s) + var(--kbq-description-list-resizer-line-width) );--kbq-description-list-term-color: var(--kbq-foreground-contrast-secondary);--kbq-description-list-description-color: var(--kbq-foreground-contrast);--kbq-description-list-resizer-color: var(--kbq-line-contrast-less);--kbq-description-list-resizer-state-hover-color: var(--kbq-line-contrast-fade);--kbq-description-list-resizer-state-active-color: var(--kbq-states-line-focus-theme);--kbq-description-list-resizer-focus-outline-color: var(--kbq-states-line-focus-theme)}\n"], dependencies: [{ kind: "directive", type: KbqResizable, selector: "[kbqResizable]", exportAs: ["kbqResizable"] }, { kind: "directive", type: KbqResizer, selector: "[kbqResizer]", inputs: ["kbqResizer", "cursor", "disableSizeUpdate"], outputs: ["resizeStart", "sizeChange"], exportAs: ["kbqResizer"] }, { kind: "directive", type: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
387
+ }
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqDl, decorators: [{
389
+ type: Component,
390
+ args: [{ selector: 'kbq-dl', imports: [KbqResizable, KbqResizer, CdkMonitorFocus], template: `
391
+ <ng-content />
392
+
393
+ @if (resizerVisible()) {
394
+ <div
395
+ #resizeTrack
396
+ class="kbq-dl__resize-track"
397
+ kbqResizable
398
+ [style.max-width.px]="resized() ? maxDtWidth() : null"
399
+ [style.min-width.px]="resized() ? normalizedDtMinWidth() : null"
400
+ [style.width.px]="dtWidth()"
401
+ >
402
+ <div
403
+ #resizeHandle
404
+ class="kbq-dl__resize-handle"
405
+ role="separator"
406
+ aria-orientation="vertical"
407
+ tabindex="0"
408
+ cdkMonitorElementFocus
409
+ [cursor]="resizeCursor()"
410
+ [attr.aria-label]="resolvedResizerAriaLabel()"
411
+ [attr.aria-valuemax]="maxDtWidth()"
412
+ [attr.aria-valuemin]="normalizedDtMinWidth()"
413
+ [attr.aria-valuenow]="currentDtWidth()"
414
+ [kbqResizer]="resizeDirection()"
415
+ (dblclick)="handleResizeDblClick($event)"
416
+ (keydown)="handleResizeKeydown($event)"
417
+ (resizeStart)="handleResizeStart()"
418
+ (sizeChange)="handleDtResize($event)"
419
+ ></div>
420
+ </div>
421
+ }
422
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
423
+ class: 'kbq-dl',
424
+ '[class.kbq-dl_vertical]': 'isVertical()',
425
+ '[class.kbq-dl_wide]': 'wide()',
426
+ '[class.kbq-dl_resizable]': 'resizerVisible()',
427
+ '[class.kbq-dl_resized]': 'resized()',
428
+ '[class.kbq-dl_vertical-align-center]': "verticalAlign() === 'center'",
429
+ '[class.kbq-dl_vertical-align-end]': "verticalAlign() === 'end'",
430
+ '[class.kbq-dl_horizontal-align-center]': "horizontalAlign() === 'center'",
431
+ '[class.kbq-dl_horizontal-align-end]': "horizontalAlign() === 'end'",
432
+ '[style.--kbq-description-list-dt-width.px]': 'dtWidth()',
433
+ '[style.--kbq-description-list-dt-min-width.px]': 'normalizedDtMinWidth()'
434
+ }, hostDirectives: [
435
+ { directive: KbqLocaleOverridesDirective, inputs: ['kbqLocaleOverrides: localeOverrides'] }
436
+ ], styles: [".kbq-dl{display:grid;position:relative;column-gap:var(--kbq-description-list-size-horizontal-content-gap-horizontal);row-gap:var(--kbq-description-list-size-horizontal-gap-vertical);grid-template-columns:repeat(4,1fr)}.kbq-dl.kbq-dl_vertical-align-center{align-items:center}.kbq-dl.kbq-dl_vertical-align-end{align-items:end}.kbq-dl.kbq-dl_horizontal-align-center{justify-items:center}.kbq-dl.kbq-dl_horizontal-align-end{justify-items:end}.kbq-dl>.kbq-dt,.kbq-dl>.kbq-dd{min-width:0;overflow-wrap:break-word}.kbq-dl>.kbq-dt{grid-column:1}.kbq-dl>.kbq-dd{grid-column:2/span 3}.kbq-dl.kbq-dl_resizable:not(.kbq-dl_resized):not(.kbq-dl_vertical){grid-template-columns:minmax(var(--kbq-description-list-dt-min-width),1fr) repeat(3,minmax(0,1fr))}.kbq-dl.kbq-dl_resized:not(.kbq-dl_vertical){grid-template-columns:var(--kbq-description-list-dt-width) repeat(3,minmax(0,1fr))}.kbq-dl .kbq-dl__resize-track{position:absolute;inset-block:0;inset-inline-start:0;grid-column:1/2;width:100%;pointer-events:none;z-index:1}.kbq-dl .kbq-dl__resize-handle{position:absolute;inset-block:0;inset-inline-end:calc((var(--kbq-description-list-size-horizontal-content-gap-horizontal) + var(--kbq-description-list-resizer-hit-area-width)) / -2);width:var(--kbq-description-list-resizer-hit-area-width);pointer-events:auto;touch-action:none;outline:none}.kbq-dl .kbq-dl__resize-handle:after{position:absolute;inset-block:var(--kbq-description-list-resizer-focus-outline-width);inset-inline:0;width:var(--kbq-description-list-resizer-line-width);margin-inline:auto;background-color:var(--kbq-description-list-resizer-color);content:\"\";opacity:0}.kbq-dl .kbq-dl__resize-handle:is(:hover,.kbq-hover):after{background-color:var(--kbq-description-list-resizer-state-hover-color)}.kbq-dl .kbq-dl__resize-handle.cdk-keyboard-focused:after,.kbq-dl .kbq-dl__resize-handle:is(:active,.kbq-active):after{opacity:1}.kbq-dl .kbq-dl__resize-handle:is(:active,.kbq-active):after{width:var(--kbq-description-list-resizer-active-line-width);background-color:var(--kbq-description-list-resizer-state-active-color)}.kbq-dl .kbq-dl__resize-handle.cdk-keyboard-focused{outline:var(--kbq-description-list-resizer-focus-outline-width) solid var(--kbq-description-list-resizer-focus-outline-color);outline-offset:calc(-1 * var(--kbq-description-list-resizer-focus-outline-width))}@media(hover:hover)and (pointer:fine){.kbq-dl:is(:hover,.kbq-hover)>.kbq-dl__resize-track>.kbq-dl__resize-handle:after{opacity:1}}.kbq-dl.kbq-dl_wide{grid-template-columns:repeat(2,1fr)}.kbq-dl.kbq-dl_wide.kbq-dl_resizable:not(.kbq-dl_resized):not(.kbq-dl_vertical){grid-template-columns:minmax(var(--kbq-description-list-dt-min-width),1fr) minmax(0,1fr)}.kbq-dl.kbq-dl_wide.kbq-dl_resized:not(.kbq-dl_vertical){grid-template-columns:var(--kbq-description-list-dt-width) minmax(0,1fr)}.kbq-dl.kbq-dl_wide>.kbq-dt{grid-column:1}.kbq-dl.kbq-dl_wide>.kbq-dd{grid-column:2}.kbq-dl.kbq-dl_vertical{grid-template-columns:repeat(1,1fr);row-gap:var(--kbq-description-list-size-vertical-content-gap-vertical)}.kbq-dl.kbq-dl_vertical>.kbq-dt,.kbq-dl.kbq-dl_vertical>.kbq-dd{grid-column:1}.kbq-dl.kbq-dl_vertical>.kbq-dd:not(:last-child){margin-bottom:var(--kbq-description-list-size-vertical-gap-vertical)}.kbq-dt{color:var(--kbq-description-list-term-color)}.kbq-dd{color:var(--kbq-description-list-description-color)}.kbq-dl .kbq-dt,.kbq-dl .kbq-dd{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)}\n", ".kbq-dl{--kbq-description-list-size-horizontal-content-gap-horizontal: var(--kbq-size-l);--kbq-description-list-size-horizontal-gap-vertical: var(--kbq-size-l);--kbq-description-list-size-vertical-content-gap-vertical: var(--kbq-size-3xs);--kbq-description-list-size-vertical-gap-vertical: var(--kbq-size-m);--kbq-description-list-resizer-line-width: 1px;--kbq-description-list-resizer-active-line-width: 3px;--kbq-description-list-resizer-focus-outline-width: 2px;--kbq-description-list-resizer-hit-area-width: calc( 2 * var(--kbq-size-s) + var(--kbq-description-list-resizer-line-width) );--kbq-description-list-term-color: var(--kbq-foreground-contrast-secondary);--kbq-description-list-description-color: var(--kbq-foreground-contrast);--kbq-description-list-resizer-color: var(--kbq-line-contrast-less);--kbq-description-list-resizer-state-hover-color: var(--kbq-line-contrast-fade);--kbq-description-list-resizer-state-active-color: var(--kbq-states-line-focus-theme);--kbq-description-list-resizer-focus-outline-color: var(--kbq-states-line-focus-theme)}\n"] }]
437
+ }], ctorParameters: () => [], propDecorators: { verticalBreakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalBreakpoint", required: false }] }], wide: [{ type: i0.Input, args: [{ isSignal: true, alias: "wide", required: false }] }], resizable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizable", required: false }] }], dtWidthInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "dtWidth", required: false }] }], dtWidthChange: [{ type: i0.Output, args: ["dtWidthChange"] }], dtMinWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "dtMinWidth", required: false }] }], ddMinWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "ddMinWidth", required: false }] }], resizerAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizerAriaLabel", required: false }] }], verticalAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalAlign", required: false }] }], horizontalAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalAlign", required: false }] }], vertical: [{ type: i0.Input, args: [{ isSignal: true, alias: "vertical", required: false }] }], resizeTrack: [{ type: i0.ViewChild, args: ['resizeTrack', { isSignal: true }] }], resizeHandle: [{ type: i0.ViewChild, args: ['resizeHandle', { isSignal: true }] }], terms: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KbqDt), { ...{ read: ElementRef }, isSignal: true }] }] } });
438
+ /**
439
+ * @deprecated Use `KbqDl` instead. Will be removed in 22.0.0.
440
+ *
441
+ * @docs-private
442
+ */
443
+ const KbqDlComponent = KbqDl;
444
+ /**
445
+ * @deprecated Use `KbqDt` instead. Will be removed in 22.0.0.
446
+ *
447
+ * @docs-private
448
+ */
449
+ const KbqDtComponent = KbqDt;
450
+ /**
451
+ * @deprecated Use `KbqDd` instead. Will be removed in 22.0.0.
452
+ *
453
+ * @docs-private
454
+ */
455
+ const KbqDdComponent = KbqDd;
91
456
 
457
+ const COMPONENTS = [
458
+ KbqDl,
459
+ KbqDt,
460
+ KbqDd
461
+ ];
462
+ /** @docs-private */
92
463
  class KbqDlModule {
93
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqDlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
94
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.30", ngImport: i0, type: KbqDlModule, imports: [A11yModule,
95
- PlatformModule,
96
- KbqDlComponent,
97
- KbqDtComponent,
98
- KbqDdComponent], exports: [KbqDlComponent,
99
- KbqDtComponent,
100
- KbqDdComponent] }); }
101
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqDlModule, imports: [A11yModule,
102
- PlatformModule] }); }
464
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqDlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
465
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: KbqDlModule, imports: [KbqDl,
466
+ KbqDt,
467
+ KbqDd], exports: [KbqDl,
468
+ KbqDt,
469
+ KbqDd] }); }
470
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqDlModule }); }
103
471
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqDlModule, decorators: [{
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqDlModule, decorators: [{
105
473
  type: NgModule,
106
474
  args: [{
107
- imports: [
108
- A11yModule,
109
- PlatformModule,
110
- KbqDlComponent,
111
- KbqDtComponent,
112
- KbqDdComponent
113
- ],
114
- exports: [
115
- KbqDlComponent,
116
- KbqDtComponent,
117
- KbqDdComponent
118
- ]
475
+ imports: COMPONENTS,
476
+ exports: COMPONENTS
119
477
  }]
120
478
  }] });
121
479
 
@@ -123,5 +481,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
123
481
  * Generated bundle index. Do not edit.
124
482
  */
125
483
 
126
- export { KbqDdComponent, KbqDlComponent, KbqDlModule, KbqDtComponent };
484
+ export { KBQ_DL_OPTIONS, KbqDd, KbqDdComponent, KbqDl, KbqDlComponent, KbqDlModule, KbqDt, KbqDtComponent, kbqDlOptionsProvider };
127
485
  //# sourceMappingURL=koobiq-components-dl.mjs.map