@koobiq/components 18.0.0 → 18.2.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 (447) hide show
  1. package/accordion/README.md +0 -0
  2. package/accordion/_accordion-theme.scss +62 -0
  3. package/accordion/accordion-content.d.ts +6 -0
  4. package/accordion/accordion-header.d.ts +6 -0
  5. package/accordion/accordion-item.d.ts +6 -0
  6. package/accordion/accordion-tokens.scss +45 -0
  7. package/accordion/accordion-trigger.component.d.ts +11 -0
  8. package/accordion/accordion-trigger.component.scss +79 -0
  9. package/accordion/accordion.component.d.ts +20 -0
  10. package/accordion/accordion.component.scss +66 -0
  11. package/accordion/accordion.module.d.ts +12 -0
  12. package/accordion/index.d.ts +1 -0
  13. package/accordion/public-api.d.ts +6 -0
  14. package/alert/_alert-theme.scss +3 -3
  15. package/alert/alert-tokens.scss +2 -2
  16. package/alert/alert.component.scss +40 -39
  17. package/autocomplete/_autocomplete-theme.scss +2 -2
  18. package/autocomplete/autocomplete.scss +6 -6
  19. package/badge/_badge-theme.scss +5 -5
  20. package/badge/badge.component.scss +16 -16
  21. package/button/_button-base.scss +6 -6
  22. package/button/_button-theme.scss +11 -11
  23. package/button/button.dropdown-trigger.directive.d.ts +14 -0
  24. package/button/button.module.d.ts +2 -1
  25. package/button/button.scss +8 -8
  26. package/button/public-api.d.ts +1 -0
  27. package/button-toggle/_button-toggle-theme.scss +5 -5
  28. package/button-toggle/button-toggle.scss +11 -11
  29. package/checkbox/_checkbox-theme.scss +22 -22
  30. package/checkbox/checkbox-tokens.scss +2 -2
  31. package/checkbox/checkbox.scss +16 -16
  32. package/code-block/_code-block-theme.scss +15 -15
  33. package/code-block/actionbar.component.scss +4 -4
  34. package/code-block/code-block.scss +18 -19
  35. package/core/forms/_forms-theme.scss +2 -2
  36. package/core/forms/_forms.scss +12 -12
  37. package/core/option/_optgroup-theme.scss +2 -2
  38. package/core/option/_option-action-theme.scss +6 -6
  39. package/core/option/_option-theme.scss +5 -5
  40. package/core/option/action.scss +2 -2
  41. package/core/option/optgroup.scss +1 -1
  42. package/core/pop-up/pop-up-trigger.d.ts +5 -1
  43. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +8 -8
  44. package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +2 -2
  45. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +8 -8
  46. package/core/styles/common/_groups.scss +4 -4
  47. package/core/styles/common/_list.scss +19 -19
  48. package/core/styles/common/_popup.scss +3 -3
  49. package/core/styles/common/_select.scss +13 -13
  50. package/core/styles/common/_tokens.scss +8 -19
  51. package/core/styles/theming/_scrollbar-theme.scss +11 -11
  52. package/core/styles/typography/_typography.scss +15 -0
  53. package/core/styles/visual/_layout.scss +13 -13
  54. package/datepicker/_datepicker-theme.scss +15 -15
  55. package/datepicker/calendar-body.scss +2 -2
  56. package/datepicker/calendar-header.scss +3 -3
  57. package/datepicker/calendar.scss +6 -6
  58. package/datepicker/datepicker-content.scss +4 -4
  59. package/datepicker/datepicker-toggle.scss +2 -2
  60. package/divider/_divider-theme.scss +1 -1
  61. package/divider/divider.scss +6 -6
  62. package/dl/_dl-theme.scss +2 -2
  63. package/dl/dl.scss +4 -4
  64. package/dropdown/_dropdown-theme.scss +7 -7
  65. package/dropdown/dropdown-item.scss +2 -2
  66. package/dropdown/dropdown.scss +5 -5
  67. package/empty-state/_empty-state-theme.scss +4 -4
  68. package/empty-state/empty-state.scss +18 -20
  69. package/esm2022/accordion/accordion-content.mjs +19 -0
  70. package/esm2022/accordion/accordion-header.mjs +19 -0
  71. package/esm2022/accordion/accordion-item.mjs +25 -0
  72. package/esm2022/accordion/accordion-trigger.component.mjs +60 -0
  73. package/esm2022/accordion/accordion.component.mjs +40 -0
  74. package/esm2022/accordion/accordion.module.mjs +44 -0
  75. package/esm2022/accordion/index.mjs +2 -0
  76. package/esm2022/accordion/koobiq-components-accordion.mjs +5 -0
  77. package/esm2022/accordion/public-api.mjs +7 -0
  78. package/esm2022/alert/alert.component.mjs +13 -13
  79. package/esm2022/alert/alert.module.mjs +4 -4
  80. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +3 -3
  81. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +3 -3
  82. package/esm2022/autocomplete/autocomplete.component.mjs +5 -5
  83. package/esm2022/autocomplete/autocomplete.module.mjs +4 -4
  84. package/esm2022/badge/badge.component.mjs +10 -10
  85. package/esm2022/badge/badge.module.mjs +4 -4
  86. package/esm2022/button/button.component.mjs +8 -8
  87. package/esm2022/button/button.dropdown-trigger.directive.mjs +28 -0
  88. package/esm2022/button/button.module.mjs +14 -9
  89. package/esm2022/button/public-api.mjs +2 -1
  90. package/esm2022/button-toggle/button-toggle.component.mjs +8 -8
  91. package/esm2022/button-toggle/button-toggle.module.mjs +4 -4
  92. package/esm2022/checkbox/checkbox-module.mjs +4 -4
  93. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  94. package/esm2022/checkbox/checkbox.mjs +4 -4
  95. package/esm2022/code-block/actionbar.component.mjs +4 -4
  96. package/esm2022/code-block/code-block.component.mjs +4 -4
  97. package/esm2022/code-block/code-block.module.mjs +4 -4
  98. package/esm2022/core/common-behaviors/common-module.mjs +4 -4
  99. package/esm2022/core/error/error-options.mjs +6 -6
  100. package/esm2022/core/formatters/date/formatter.mjs +3 -3
  101. package/esm2022/core/formatters/date/formatter.pipe.mjs +39 -39
  102. package/esm2022/core/formatters/index.mjs +4 -4
  103. package/esm2022/core/formatters/number/formatter.mjs +12 -12
  104. package/esm2022/core/forms/forms-module.mjs +4 -4
  105. package/esm2022/core/forms/forms.directive.mjs +6 -6
  106. package/esm2022/core/highlight/highlight.pipe.mjs +3 -3
  107. package/esm2022/core/highlight/index.mjs +4 -4
  108. package/esm2022/core/line/line.mjs +7 -7
  109. package/esm2022/core/locales/locale-service.mjs +3 -3
  110. package/esm2022/core/locales/locale-service.module.mjs +4 -4
  111. package/esm2022/core/option/action.mjs +5 -5
  112. package/esm2022/core/option/optgroup.mjs +4 -4
  113. package/esm2022/core/option/option-module.mjs +4 -4
  114. package/esm2022/core/option/option.mjs +5 -5
  115. package/esm2022/core/pop-up/pop-up-trigger.mjs +17 -8
  116. package/esm2022/core/pop-up/pop-up.mjs +3 -3
  117. package/esm2022/core/select/common.mjs +15 -15
  118. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  119. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
  120. package/esm2022/core/services/measure-scrollbar.service.mjs +3 -3
  121. package/esm2022/core/services/theme.service.mjs +3 -3
  122. package/esm2022/core/utils/data-size/data-size.pipe.mjs +3 -3
  123. package/esm2022/core/version.mjs +2 -2
  124. package/esm2022/datepicker/calendar-body.component.mjs +4 -4
  125. package/esm2022/datepicker/calendar-header.component.mjs +4 -4
  126. package/esm2022/datepicker/calendar.component.mjs +4 -4
  127. package/esm2022/datepicker/datepicker-input.directive.mjs +3 -3
  128. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  129. package/esm2022/datepicker/datepicker-module.mjs +4 -4
  130. package/esm2022/datepicker/datepicker-toggle.component.mjs +7 -7
  131. package/esm2022/datepicker/datepicker.component.mjs +8 -8
  132. package/esm2022/datepicker/month-view.component.mjs +3 -3
  133. package/esm2022/divider/divider.component.mjs +4 -4
  134. package/esm2022/divider/divider.module.mjs +4 -4
  135. package/esm2022/dl/dl.component.mjs +10 -10
  136. package/esm2022/dl/dl.module.mjs +4 -4
  137. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  138. package/esm2022/dropdown/dropdown-item.component.mjs +5 -5
  139. package/esm2022/dropdown/dropdown-trigger.directive.mjs +3 -3
  140. package/esm2022/dropdown/dropdown.component.mjs +6 -6
  141. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  142. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +7 -7
  143. package/esm2022/empty-state/empty-state.component.mjs +16 -16
  144. package/esm2022/empty-state/empty-state.module.mjs +4 -4
  145. package/esm2022/file-upload/file-drop.mjs +3 -3
  146. package/esm2022/file-upload/file-upload.module.mjs +4 -4
  147. package/esm2022/file-upload/multiple-file-upload.component.mjs +4 -4
  148. package/esm2022/file-upload/single-file-upload.component.mjs +4 -4
  149. package/esm2022/form-field/cleaner.mjs +5 -5
  150. package/esm2022/form-field/form-field.mjs +11 -11
  151. package/esm2022/form-field/form-field.module.mjs +4 -4
  152. package/esm2022/form-field/hint.mjs +5 -5
  153. package/esm2022/form-field/password-hint.mjs +6 -6
  154. package/esm2022/form-field/password-toggle.mjs +4 -4
  155. package/esm2022/form-field/prefix.mjs +3 -3
  156. package/esm2022/form-field/stepper.mjs +5 -5
  157. package/esm2022/form-field/suffix.mjs +3 -3
  158. package/esm2022/form-field/validate.directive.mjs +3 -3
  159. package/esm2022/icon/icon-button.component.mjs +6 -6
  160. package/esm2022/icon/icon-item.component.mjs +6 -6
  161. package/esm2022/icon/icon.component.mjs +6 -6
  162. package/esm2022/icon/icon.module.mjs +13 -24
  163. package/esm2022/input/input-number-validators.mjs +6 -6
  164. package/esm2022/input/input-number.mjs +5 -5
  165. package/esm2022/input/input-password.mjs +3 -3
  166. package/esm2022/input/input.mjs +8 -8
  167. package/esm2022/input/input.module.mjs +4 -4
  168. package/esm2022/link/link.component.mjs +3 -3
  169. package/esm2022/link/link.module.mjs +4 -4
  170. package/esm2022/list/list-selection.component.mjs +11 -11
  171. package/esm2022/list/list.component.mjs +7 -7
  172. package/esm2022/list/list.module.mjs +4 -4
  173. package/esm2022/loader-overlay/loader-overlay.component.mjs +13 -13
  174. package/esm2022/loader-overlay/loader-overlay.module.mjs +4 -4
  175. package/esm2022/markdown/markdown.component.mjs +5 -5
  176. package/esm2022/markdown/markdown.module.mjs +4 -4
  177. package/esm2022/markdown/markdown.service.mjs +3 -3
  178. package/esm2022/modal/css-unit.pipe.mjs +3 -3
  179. package/esm2022/modal/modal-control.service.mjs +3 -3
  180. package/esm2022/modal/modal.component.mjs +7 -9
  181. package/esm2022/modal/modal.directive.mjs +53 -17
  182. package/esm2022/modal/modal.module.mjs +4 -4
  183. package/esm2022/modal/modal.service.mjs +3 -3
  184. package/esm2022/navbar/navbar-item.component.mjs +29 -29
  185. package/esm2022/navbar/navbar.component.mjs +11 -11
  186. package/esm2022/navbar/navbar.module.mjs +4 -4
  187. package/esm2022/navbar/vertical-navbar.component.mjs +5 -5
  188. package/esm2022/popover/popover-confirm.component.mjs +8 -8
  189. package/esm2022/popover/popover.component.mjs +8 -8
  190. package/esm2022/popover/popover.module.mjs +4 -4
  191. package/esm2022/progress-bar/progress-bar.component.mjs +10 -10
  192. package/esm2022/progress-bar/progress-bar.module.mjs +4 -4
  193. package/esm2022/progress-spinner/progress-spinner.component.mjs +10 -10
  194. package/esm2022/progress-spinner/progress-spinner.module.mjs +4 -4
  195. package/esm2022/radio/radio.component.mjs +7 -7
  196. package/esm2022/radio/radio.module.mjs +4 -4
  197. package/esm2022/risk-level/risk-level.component.mjs +4 -4
  198. package/esm2022/risk-level/risk-level.module.mjs +4 -4
  199. package/esm2022/scrollbar/scrollbar.component.mjs +6 -6
  200. package/esm2022/scrollbar/scrollbar.directive.mjs +3 -3
  201. package/esm2022/scrollbar/scrollbar.module.mjs +4 -4
  202. package/esm2022/select/select-option.directive.mjs +3 -3
  203. package/esm2022/select/select.component.mjs +6 -6
  204. package/esm2022/select/select.module.mjs +4 -4
  205. package/esm2022/sidebar/sidebar.component.mjs +9 -9
  206. package/esm2022/sidebar/sidebar.module.mjs +4 -4
  207. package/esm2022/sidepanel/sidepanel-container.component.mjs +5 -5
  208. package/esm2022/sidepanel/sidepanel-directives.mjs +15 -15
  209. package/esm2022/sidepanel/sidepanel.module.mjs +4 -4
  210. package/esm2022/sidepanel/sidepanel.service.mjs +3 -3
  211. package/esm2022/splitter/splitter.component.mjs +14 -14
  212. package/esm2022/splitter/splitter.module.mjs +4 -4
  213. package/esm2022/table/table.component.mjs +7 -7
  214. package/esm2022/table/table.module.mjs +4 -4
  215. package/esm2022/tabs/paginated-tab-header.mjs +3 -3
  216. package/esm2022/tabs/tab-body.component.mjs +6 -6
  217. package/esm2022/tabs/tab-content.directive.mjs +3 -3
  218. package/esm2022/tabs/tab-group.component.mjs +33 -18
  219. package/esm2022/tabs/tab-header.component.mjs +16 -5
  220. package/esm2022/tabs/tab-label-wrapper.directive.mjs +8 -4
  221. package/esm2022/tabs/tab-label.directive.mjs +3 -3
  222. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +7 -7
  223. package/esm2022/tabs/tab.component.mjs +3 -3
  224. package/esm2022/tabs/tabs.module.mjs +15 -8
  225. package/esm2022/tags/tag-input.mjs +3 -3
  226. package/esm2022/tags/tag-list.component.mjs +4 -4
  227. package/esm2022/tags/tag.component.mjs +13 -13
  228. package/esm2022/tags/tag.module.mjs +4 -4
  229. package/esm2022/textarea/textarea.component.mjs +3 -3
  230. package/esm2022/textarea/textarea.module.mjs +4 -4
  231. package/esm2022/timepicker/timepicker.directive.mjs +3 -3
  232. package/esm2022/timepicker/timepicker.module.mjs +4 -4
  233. package/esm2022/timezone/cities-by-filter.pipe.mjs +3 -3
  234. package/esm2022/timezone/timezone-option.component.mjs +5 -5
  235. package/esm2022/timezone/timezone-option.directive.mjs +3 -3
  236. package/esm2022/timezone/timezone-select.component.mjs +8 -8
  237. package/esm2022/timezone/timezone.module.mjs +4 -4
  238. package/esm2022/timezone/utc-offset.pipe.mjs +3 -3
  239. package/esm2022/title/title.directive.mjs +3 -3
  240. package/esm2022/title/title.module.mjs +4 -4
  241. package/esm2022/toast/toast-container.component.mjs +4 -4
  242. package/esm2022/toast/toast.component.mjs +8 -8
  243. package/esm2022/toast/toast.module.mjs +4 -4
  244. package/esm2022/toast/toast.service.mjs +3 -3
  245. package/esm2022/toggle/toggle.component.mjs +6 -6
  246. package/esm2022/toggle/toggle.module.mjs +4 -4
  247. package/esm2022/tooltip/tooltip.component.mjs +52 -15
  248. package/esm2022/tooltip/tooltip.module.mjs +15 -28
  249. package/esm2022/tree/node.mjs +3 -3
  250. package/esm2022/tree/outlet.mjs +3 -3
  251. package/esm2022/tree/padding.directive.mjs +3 -3
  252. package/esm2022/tree/toggle.mjs +11 -11
  253. package/esm2022/tree/tree-base.mjs +6 -6
  254. package/esm2022/tree/tree-option.component.mjs +8 -7
  255. package/esm2022/tree/tree-selection.component.mjs +5 -5
  256. package/esm2022/tree/tree.mjs +5 -5
  257. package/esm2022/tree/tree.module.mjs +4 -4
  258. package/esm2022/tree-select/tree-select.component.mjs +15 -8
  259. package/esm2022/tree-select/tree-select.module.mjs +4 -4
  260. package/fesm2022/koobiq-components-accordion.mjs +189 -0
  261. package/fesm2022/koobiq-components-accordion.mjs.map +1 -0
  262. package/fesm2022/koobiq-components-alert.mjs +17 -17
  263. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  264. package/fesm2022/koobiq-components-autocomplete.mjs +15 -15
  265. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  266. package/fesm2022/koobiq-components-badge.mjs +14 -14
  267. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  268. package/fesm2022/koobiq-components-button-toggle.mjs +12 -12
  269. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  270. package/fesm2022/koobiq-components-button.mjs +48 -18
  271. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  272. package/fesm2022/koobiq-components-checkbox.mjs +11 -11
  273. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  274. package/fesm2022/koobiq-components-code-block.mjs +12 -12
  275. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  276. package/fesm2022/koobiq-components-core.mjs +169 -160
  277. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  278. package/fesm2022/koobiq-components-datepicker.mjs +39 -39
  279. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  280. package/fesm2022/koobiq-components-divider.mjs +8 -8
  281. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  282. package/fesm2022/koobiq-components-dl.mjs +14 -14
  283. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  284. package/fesm2022/koobiq-components-dropdown.mjs +20 -20
  285. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  286. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
  287. package/fesm2022/koobiq-components-empty-state.mjs +20 -20
  288. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  289. package/fesm2022/koobiq-components-file-upload.mjs +15 -15
  290. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  291. package/fesm2022/koobiq-components-form-field.mjs +48 -48
  292. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  293. package/fesm2022/koobiq-components-icon.mjs +27 -38
  294. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  295. package/fesm2022/koobiq-components-input.mjs +24 -24
  296. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  297. package/fesm2022/koobiq-components-link.mjs +7 -7
  298. package/fesm2022/koobiq-components-list.mjs +22 -22
  299. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  300. package/fesm2022/koobiq-components-loader-overlay.mjs +17 -17
  301. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  302. package/fesm2022/koobiq-components-markdown.mjs +12 -12
  303. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  304. package/fesm2022/koobiq-components-modal.mjs +66 -36
  305. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  306. package/fesm2022/koobiq-components-navbar.mjs +49 -49
  307. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  308. package/fesm2022/koobiq-components-popover.mjs +18 -18
  309. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  310. package/fesm2022/koobiq-components-progress-bar.mjs +14 -14
  311. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  312. package/fesm2022/koobiq-components-progress-spinner.mjs +14 -14
  313. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  314. package/fesm2022/koobiq-components-radio.mjs +11 -11
  315. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  316. package/fesm2022/koobiq-components-risk-level.mjs +8 -8
  317. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  318. package/fesm2022/koobiq-components-scrollbar.mjs +12 -12
  319. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  320. package/fesm2022/koobiq-components-select.mjs +12 -12
  321. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  322. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  323. package/fesm2022/koobiq-components-sidepanel.mjs +26 -26
  324. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  325. package/fesm2022/koobiq-components-splitter.mjs +17 -17
  326. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  327. package/fesm2022/koobiq-components-table.mjs +11 -11
  328. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  329. package/fesm2022/koobiq-components-tabs.mjs +93 -56
  330. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  331. package/fesm2022/koobiq-components-tags.mjs +24 -24
  332. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  333. package/fesm2022/koobiq-components-textarea.mjs +7 -7
  334. package/fesm2022/koobiq-components-timepicker.mjs +7 -7
  335. package/fesm2022/koobiq-components-timezone.mjs +26 -26
  336. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  337. package/fesm2022/koobiq-components-title.mjs +7 -7
  338. package/fesm2022/koobiq-components-toast.mjs +18 -18
  339. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  340. package/fesm2022/koobiq-components-toggle.mjs +9 -9
  341. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  342. package/fesm2022/koobiq-components-tooltip.mjs +67 -42
  343. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  344. package/fesm2022/koobiq-components-tree-select.mjs +18 -11
  345. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  346. package/fesm2022/koobiq-components-tree.mjs +47 -46
  347. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  348. package/file-upload/_file-upload-theme.scss +27 -29
  349. package/file-upload/file-upload-tokens.scss +1 -1
  350. package/file-upload/multiple-file-upload.component.scss +26 -26
  351. package/file-upload/single-file-upload.component.scss +8 -8
  352. package/form-field/_form-field-theme.scss +14 -14
  353. package/form-field/_hint-theme.scss +2 -2
  354. package/form-field/cleaner.scss +2 -2
  355. package/form-field/form-field.scss +10 -10
  356. package/form-field/hint.scss +4 -4
  357. package/form-field/password-toggle.scss +2 -2
  358. package/form-field/stepper.scss +3 -3
  359. package/icon/_icon-button-theme.scss +26 -26
  360. package/icon/_icon-item-theme.scss +2 -2
  361. package/icon/_icon-theme.scss +6 -6
  362. package/icon/icon-button.component.d.ts +1 -1
  363. package/icon/icon-button.scss +2 -4
  364. package/icon/icon-item.component.d.ts +1 -1
  365. package/icon/icon-item.scss +2 -4
  366. package/icon/icon.component.d.ts +1 -1
  367. package/icon/icon.module.d.ts +1 -3
  368. package/input/input-number.d.ts +1 -1
  369. package/input/input.d.ts +1 -1
  370. package/input/input.scss +2 -2
  371. package/link/_link-theme.scss +11 -11
  372. package/link/link-tokens.scss +2 -2
  373. package/list/_list-theme.scss +6 -6
  374. package/list/list.scss +1 -1
  375. package/loader-overlay/_loader-overlay-theme.scss +6 -6
  376. package/loader-overlay/loader-overlay.scss +8 -8
  377. package/markdown/_markdown-theme.scss +27 -27
  378. package/markdown/markdown-tokens.scss +19 -19
  379. package/markdown/markdown.scss +29 -29
  380. package/modal/_modal-confirm.scss +1 -1
  381. package/modal/_modal-theme.scss +9 -12
  382. package/modal/modal.directive.d.ts +3 -0
  383. package/modal/modal.scss +12 -13
  384. package/navbar/_navbar-item_horizontal.scss +20 -20
  385. package/navbar/_navbar-item_vertical.scss +28 -28
  386. package/navbar/_navbar-theme.scss +8 -8
  387. package/navbar/navbar-brand.scss +23 -23
  388. package/navbar/navbar-divider.scss +3 -3
  389. package/navbar/navbar-item.scss +6 -6
  390. package/navbar/navbar.scss +1 -1
  391. package/navbar/vertical-navbar.scss +2 -2
  392. package/package.json +13 -6
  393. package/popover/_popover-theme.scss +7 -7
  394. package/popover/popover.scss +17 -18
  395. package/prebuilt-themes/dark-theme.css +1 -1
  396. package/prebuilt-themes/light-theme.css +1 -1
  397. package/prebuilt-themes/theme.css +1 -1
  398. package/progress-bar/_progress-bar-theme.scss +4 -4
  399. package/progress-bar/progress-bar.scss +5 -5
  400. package/progress-spinner/_progress-spinner-theme.scss +3 -3
  401. package/progress-spinner/progress-spinner.scss +7 -7
  402. package/radio/_radio-theme.scss +9 -9
  403. package/radio/radio.scss +14 -14
  404. package/risk-level/_risk-level-theme.scss +5 -5
  405. package/risk-level/risk-level.component.scss +3 -3
  406. package/schematics/ng-add/index.js +22 -5
  407. package/scrollbar/_scrollbar-component-theme.scss +12 -12
  408. package/scrollbar/scrollbar.component.scss +6 -6
  409. package/select/_select-theme.scss +9 -9
  410. package/select/select.scss +2 -2
  411. package/sidepanel/_sidepanel-theme.scss +4 -4
  412. package/sidepanel/sidepanel.scss +14 -16
  413. package/splitter/_splitter-theme.scss +1 -1
  414. package/table/_table-theme.scss +5 -5
  415. package/table/table.scss +12 -12
  416. package/tabs/_tabs-common.scss +32 -3
  417. package/tabs/_tabs-theme.scss +24 -12
  418. package/tabs/tab-group.component.d.ts +7 -2
  419. package/tabs/tab-group.scss +1 -1
  420. package/tabs/tab-header.component.d.ts +4 -1
  421. package/tabs/tab-header.scss +29 -0
  422. package/tabs/tab-nav-bar/tab-nav-bar.scss +1 -1
  423. package/tabs/tabs.module.d.ts +2 -1
  424. package/tags/_tag-theme.scss +5 -5
  425. package/tags/tag-list.scss +5 -5
  426. package/tags/tag.scss +4 -4
  427. package/textarea/textarea.scss +2 -2
  428. package/timepicker/timepicker.scss +1 -1
  429. package/timezone/_timezone-option-theme.scss +3 -3
  430. package/timezone/timezone-option-tokens.scss +24 -0
  431. package/timezone/timezone-option.component.scss +4 -4
  432. package/timezone/timezone-select.component.scss +1 -1
  433. package/toast/_toast-theme.scss +4 -4
  434. package/toast/toast-container.component.scss +3 -3
  435. package/toast/toast.component.scss +21 -21
  436. package/toggle/_toggle-theme.scss +8 -8
  437. package/toggle/toggle.scss +8 -8
  438. package/tooltip/_tooltip-theme.scss +5 -5
  439. package/tooltip/tooltip.component.d.ts +11 -4
  440. package/tooltip/tooltip.module.d.ts +1 -3
  441. package/tooltip/tooltip.scss +7 -7
  442. package/tree/_tree-theme.scss +6 -6
  443. package/tree/toggle.scss +2 -2
  444. package/tree/tree-option.component.d.ts +1 -0
  445. package/tree/tree-option.scss +4 -4
  446. package/tree-select/_tree-select-theme.scss +7 -7
  447. package/tree-select/tree-select.component.d.ts +2 -0
@@ -100,10 +100,10 @@ class KbqModalControlService {
100
100
  });
101
101
  }
102
102
  }
103
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalControlService, deps: [{ token: KbqModalControlService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
104
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalControlService }); }
103
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalControlService, deps: [{ token: KbqModalControlService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
104
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalControlService }); }
105
105
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalControlService, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalControlService, decorators: [{
107
107
  type: Injectable
108
108
  }], ctorParameters: () => [{ type: KbqModalControlService, decorators: [{
109
109
  type: Optional
@@ -140,10 +140,10 @@ class CssUnitPipe {
140
140
  const formatted = +value;
141
141
  return isNaN(formatted) ? `${value}` : `${formatted}${defaultUnit}`;
142
142
  }
143
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CssUnitPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
144
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: CssUnitPipe, name: "toCssUnit" }); }
143
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CssUnitPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
144
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: CssUnitPipe, name: "toCssUnit" }); }
145
145
  }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CssUnitPipe, decorators: [{
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CssUnitPipe, decorators: [{
147
147
  type: Pipe,
148
148
  args: [{
149
149
  name: 'toCssUnit'
@@ -297,11 +297,9 @@ class KbqModalComponent extends KbqModalRef {
297
297
  if (!nativeElement) {
298
298
  return;
299
299
  }
300
- const scrollTop = nativeElement.scrollTop;
301
- const offsetHeight = nativeElement.offsetHeight;
302
- const scrollHeight = nativeElement.scrollHeight;
300
+ const { scrollTop, offsetHeight, scrollHeight } = nativeElement;
303
301
  this.isTopOverflow = scrollTop > 0;
304
- this.isBottomOverflow = (scrollTop + offsetHeight) < scrollHeight;
302
+ this.isBottomOverflow = scrollTop + offsetHeight < scrollHeight;
305
303
  }
306
304
  open() {
307
305
  this.focusedElementBeforeOpen = this.document.activeElement;
@@ -575,14 +573,14 @@ class KbqModalComponent extends KbqModalRef {
575
573
  this.renderer.removeStyle(this.document.body, 'overflow');
576
574
  }
577
575
  }
578
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalComponent, deps: [{ token: i1.Overlay }, { token: i0.Renderer2 }, { token: i0.ComponentFactoryResolver }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: KbqModalControlService }, { token: i0.ChangeDetectorRef }, { token: i3.FocusMonitor }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
579
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: KbqModalComponent, selector: "kbq-modal", inputs: { kbqModalType: "kbqModalType", kbqComponent: "kbqComponent", kbqContent: "kbqContent", kbqComponentParams: "kbqComponentParams", kbqFooter: "kbqFooter", kbqVisible: "kbqVisible", kbqWidth: "kbqWidth", kbqSize: "kbqSize", kbqWrapClassName: "kbqWrapClassName", kbqClassName: "kbqClassName", kbqStyle: "kbqStyle", kbqTitle: "kbqTitle", kbqCloseByESC: "kbqCloseByESC", kbqClosable: "kbqClosable", kbqMask: "kbqMask", kbqMaskClosable: "kbqMaskClosable", kbqMaskStyle: "kbqMaskStyle", kbqBodyStyle: "kbqBodyStyle", kbqOkText: "kbqOkText", kbqOkType: "kbqOkType", kbqRestoreFocus: "kbqRestoreFocus", kbqOkLoading: "kbqOkLoading", kbqOnOk: "kbqOnOk", kbqCancelText: "kbqCancelText", kbqCancelLoading: "kbqCancelLoading", kbqOnCancel: "kbqOnCancel", kbqGetContainer: "kbqGetContainer" }, outputs: { kbqVisibleChange: "kbqVisibleChange", kbqAfterOpen: "kbqAfterOpen", kbqAfterClose: "kbqAfterClose", kbqOnOk: "kbqOnOk", kbqOnCancel: "kbqOnCancel" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, viewQueries: [{ propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, static: true }, { propertyName: "bodyContainer", first: true, predicate: ["bodyContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "modalBody", first: true, predicate: ["modalBody"], descendants: true }, { propertyName: "autoFocusedButtons", predicate: ["autoFocusedButton"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- Compatible: the <ng-content> can appear only once -->\n<ng-template #tplOriginContent>\n <ng-content />\n</ng-template>\n\n<div>\n @if (kbqMask) {\n <div\n class=\"kbq-modal-mask\"\n [class.kbq-modal-mask-hidden]=\"hidden\"\n [ngClass]=\"maskAnimationClassMap\"\n [ngStyle]=\"kbqMaskStyle\"\n ></div>\n }\n\n <div\n tabindex=\"-1\"\n class=\"kbq-modal-wrap {{ kbqWrapClassName }}\"\n [style.display]=\"hidden ? 'none' : ''\"\n (mousedown)=\"onClickMask($event)\"\n >\n <div\n #modalContainer\n class=\"kbq-modal {{ kbqClassName }} kbq-modal_{{ kbqSize }}\"\n [class.kbq-modal_no-footer]=\"!kbqFooter\"\n [ngClass]=\"modalAnimationClassMap\"\n [ngStyle]=\"kbqStyle\"\n [style.transform-origin]=\"transformOrigin\"\n [style.width]=\"kbqWidth | toCssUnit\"\n >\n <div\n cdkTrapFocus\n class=\"kbq-modal-content\"\n >\n @switch (true) {\n @case (isModalType('default')) {\n <ng-container [ngTemplateOutlet]=\"tplContentDefault\" />\n }\n @case (isModalType('confirm')) {\n <ng-container [ngTemplateOutlet]=\"tplContentConfirm\" />\n }\n @case (isModalType('custom')) {\n <ng-container [ngTemplateOutlet]=\"tplContentCustom\" />\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplContentCustom>\n <ng-container #bodyContainer />\n</ng-template>\n\n<!-- [Predefined] Default Modal Content -->\n<ng-template #tplContentDefault>\n @if (kbqTitle) {\n <div\n kbq-title\n class=\"kbq-modal-header\"\n [class.kbq-modal-body_top-overflow]=\"isTopOverflow\"\n >\n <div class=\"kbq-modal-title\">\n @switch (true) {\n @case (isTemplateRef(kbqTitle)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqTitle)\" />\n }\n @case (isNonEmptyString(kbqTitle)) {\n <div [innerHTML]=\"kbqTitle\"></div>\n }\n }\n </div>\n @if (kbqClosable) {\n <button\n kbq-button\n class=\"kbq-modal-close kbq-button_transparent\"\n [color]=\"'contrast'\"\n (click)=\"onClickCloseBtn()\"\n >\n <i\n kbq-icon=\"kbq-xmark_16\"\n [color]=\"componentColors.Contrast\"\n ></i>\n </button>\n }\n </div>\n }\n <div\n #modalBody\n class=\"kbq-modal-body kbq-scrollbar\"\n [ngStyle]=\"kbqBodyStyle\"\n (scroll)=\"checkOverflow()\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqFooter || kbqOkText || kbqCancelText) {\n <div\n class=\"kbq-modal-footer\"\n [class.kbq-modal-body_bottom-overflow]=\"isBottomOverflow\"\n >\n @switch (true) {\n @case (isTemplateRef(kbqFooter)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqFooter)\" />\n }\n @case (isNonEmptyString(kbqFooter)) {\n <div [innerHTML]=\"kbqFooter\"></div>\n }\n @case (isModalButtons(kbqFooter)) {\n @for (button of $any(kbqFooter); track button) {\n @if (getButtonCallableProp(button, 'show')) {\n <button\n kbq-button\n [attr.autofocus]=\"button.autoFocus\"\n [attr.kbq-modal-main-action]=\"button.kbqModalMainAction\"\n [class.kbq-progress]=\"getButtonCallableProp(button, 'loading')\"\n [color]=\"button.type\"\n [disabled]=\"getButtonCallableProp(button, 'disabled')\"\n (click)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </button>\n }\n }\n }\n @default {\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n }\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Default Modal Content -->\n\n<!-- [Predefined] Confirm Modal Content -->\n<ng-template #tplContentConfirm>\n <div\n class=\"kbq-modal-body\"\n [ngStyle]=\"kbqBodyStyle\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqOkText || kbqCancelText) {\n <div class=\"kbq-confirm-footer\">\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"kbqOkType\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Confirm Modal Content -->\n", styles: [".kbq-confirm .kbq-modal-close{display:none}.kbq-confirm .kbq-confirm-footer{display:flex;gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal{box-sizing:border-box;position:relative;top:48px;border-radius:var(--kbq-modal-size-border-radius, 8px);width:auto;margin:0 auto;list-style:none}.kbq-modal.zoom-enter,.kbq-modal.zoom-appear{animation-duration:.3s;transform:none;opacity:0}.kbq-modal.kbq-modal_small{width:var(--kbq-modal-size-small-width, 400px)}.kbq-modal.kbq-modal_medium{width:var(--kbq-modal-size-medium-width, 640px)}.kbq-modal.kbq-modal_large{width:var(--kbq-modal-size-large-width, 960px)}.kbq-modal .kbq-modal-close{position:absolute;top:16px;right:8px}.kbq-modal-wrap{position:fixed;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;outline:0}.kbq-modal-content{position:relative;border-radius:var(--kbq-modal-size-border-radius, 8px);background-clip:padding-box}.kbq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-right, 48px) var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-left, 24px)}.kbq-modal-header+.kbq-modal-body{padding-top:var(--kbq-modal-size-content-padding-top, 0)}.kbq-modal-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.kbq-modal-body{display:block;overflow-y:auto;max-height:calc(100vh - 260px);padding:var(--kbq-modal-size-content-padding-top-without-header, 24px) var(--kbq-modal-size-content-padding-horizontal, 24px) var(--kbq-modal-size-content-padding-bottom, 8px) var(--kbq-modal-size-content-padding-horizontal, 24px);word-wrap:break-word}.kbq-modal-body>*{position:relative}.kbq-modal-footer,.kbq-confirm-footer{display:flex;align-items:center;padding:var(--kbq-modal-size-footer-padding-vertical, 20px) var(--kbq-modal-size-footer-padding-horizontal, 24px);gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal-mask{position:fixed;inset:0;height:100%}.kbq-modal-mask.kbq-modal-mask-hidden{display:none}.kbq-modal-open{overflow:hidden}.kbq-modal{background:var(--kbq-modal-container-background, );box-shadow:var(--kbq-modal-container-box-shadow, )}.kbq-modal .kbq-modal-header .kbq-modal-title{color:var(--kbq-modal-header-text-color, )}.kbq-modal .kbq-modal-header .kbq-modal-close{color:var(--kbq-modal-close-button-color, )}.kbq-modal .kbq-modal-content{color:var(--kbq-modal-content-text-color, )}.kbq-modal .kbq-modal-header.kbq-modal-body_top-overflow{box-shadow:var(--kbq-modal-body-top-shadow, )}.kbq-modal .kbq-modal-footer.kbq-modal-body_bottom-overflow{box-shadow:var(--kbq-modal-body-bottom-shadow, )}.kbq-modal-mask{background-color:var(--kbq-modal-overlay-background, )}.kbq-modal-title{font-size:var(--kbq-modal-font-header-font-size, 20px);font-weight:var(--kbq-modal-font-header-font-weight, 700);line-height:var(--kbq-modal-font-header-line-height, 28px);font-family:var(--kbq-modal-font-header-font-family, \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-header-text-transform, );font-feature-settings:var(--kbq-modal-font-header-font-feature-settings, \"calt\", \"kern\", \"liga\");letter-spacing:var(--kbq-modal-font-header-letter-spacing, normal)}.kbq-modal-body{font-size:var(--kbq-modal-font-content-font-size, 14px);font-weight:var(--kbq-modal-font-content-font-weight, normal);line-height:var(--kbq-modal-font-content-line-height, 20px);font-family:var(--kbq-modal-font-content-font-family, Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-content-text-transform, );font-feature-settings:var(--kbq-modal-font-content-font-feature-settings, \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\");letter-spacing:var(--kbq-modal-font-content-letter-spacing, -.006em)}\n", ".kbq-modal{--kbq-modal-size-small-width: 400px;--kbq-modal-size-medium-width: 640px;--kbq-modal-size-large-width: 960px;--kbq-modal-size-border-radius: var(--kbq-size-s);--kbq-modal-size-header-padding-vertical: var(--kbq-size-l);--kbq-modal-size-header-padding-left: var(--kbq-size-xxl);--kbq-modal-size-header-padding-right: var(--kbq-size-5xl);--kbq-modal-size-close-button-margin-left: var(--kbq-size-s);--kbq-modal-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-modal-size-content-padding-top: 0;--kbq-modal-size-content-padding-bottom: var(--kbq-size-s);--kbq-modal-size-content-padding-top-without-header: var(--kbq-size-xxl);--kbq-modal-size-content-padding-bottom-without-footer: var(--kbq-size-4xl);--kbq-modal-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-modal-size-footer-padding-vertical: var(--kbq-size-xl);--kbq-modal-size-footer-content-gap-horizontal: var(--kbq-size-l);--kbq-modal-font-header-font-size: var(--kbq-typography-title-font-size);--kbq-modal-font-header-line-height: var(--kbq-typography-title-line-height);--kbq-modal-font-header-letter-spacing: var(--kbq-typography-title-letter-spacing);--kbq-modal-font-header-font-weight: var(--kbq-typography-title-font-weight);--kbq-modal-font-header-font-family: var(--kbq-typography-title-font-family);--kbq-modal-font-header-text-transform: var(--kbq-typography-title-text-transform);--kbq-modal-font-header-font-feature-settings: var(--kbq-typography-title-font-feature-settings);--kbq-modal-font-content-font-size: var(--kbq-typography-text-normal-font-size);--kbq-modal-font-content-line-height: var(--kbq-typography-text-normal-line-height);--kbq-modal-font-content-letter-spacing: var(--kbq-typography-text-normal-letter-spacing);--kbq-modal-font-content-font-weight: var(--kbq-typography-text-normal-font-weight);--kbq-modal-font-content-font-family: var(--kbq-typography-text-normal-font-family);--kbq-modal-font-content-text-transform: var(--kbq-typography-text-normal-text-transform);--kbq-modal-font-content-font-feature-settings: var(--kbq-typography-text-normal-font-feature-settings)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-modal-overlay-background: var(--kbq-background-overlay);--kbq-modal-container-background: var(--kbq-background-card);--kbq-modal-container-box-shadow: var(--kbq-shadow-overlay);--kbq-modal-close-button-color: var(--kbq-icon-contrast);--kbq-modal-header-text-color: var(--kbq-foreground-contrast);--kbq-modal-content-text-color: var(--kbq-foreground-contrast)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-modal-overlay-background: var(--kbq-background-overlay);--kbq-modal-container-background: var(--kbq-background-card);--kbq-modal-container-box-shadow: var(--kbq-shadow-overlay);--kbq-modal-close-button-color: var(--kbq-icon-contrast);--kbq-modal-header-text-color: var(--kbq-foreground-contrast);--kbq-modal-content-text-color: var(--kbq-foreground-contrast)}\n"], dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i4.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i4.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "directive", type: i6.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: CssUnitPipe, name: "toCssUnit" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
576
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalComponent, deps: [{ token: i1.Overlay }, { token: i0.Renderer2 }, { token: i0.ComponentFactoryResolver }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: KbqModalControlService }, { token: i0.ChangeDetectorRef }, { token: i3.FocusMonitor }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
577
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqModalComponent, selector: "kbq-modal", inputs: { kbqModalType: "kbqModalType", kbqComponent: "kbqComponent", kbqContent: "kbqContent", kbqComponentParams: "kbqComponentParams", kbqFooter: "kbqFooter", kbqVisible: "kbqVisible", kbqWidth: "kbqWidth", kbqSize: "kbqSize", kbqWrapClassName: "kbqWrapClassName", kbqClassName: "kbqClassName", kbqStyle: "kbqStyle", kbqTitle: "kbqTitle", kbqCloseByESC: "kbqCloseByESC", kbqClosable: "kbqClosable", kbqMask: "kbqMask", kbqMaskClosable: "kbqMaskClosable", kbqMaskStyle: "kbqMaskStyle", kbqBodyStyle: "kbqBodyStyle", kbqOkText: "kbqOkText", kbqOkType: "kbqOkType", kbqRestoreFocus: "kbqRestoreFocus", kbqOkLoading: "kbqOkLoading", kbqOnOk: "kbqOnOk", kbqCancelText: "kbqCancelText", kbqCancelLoading: "kbqCancelLoading", kbqOnCancel: "kbqOnCancel", kbqGetContainer: "kbqGetContainer" }, outputs: { kbqVisibleChange: "kbqVisibleChange", kbqAfterOpen: "kbqAfterOpen", kbqAfterClose: "kbqAfterClose", kbqOnOk: "kbqOnOk", kbqOnCancel: "kbqOnCancel" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, viewQueries: [{ propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, static: true }, { propertyName: "bodyContainer", first: true, predicate: ["bodyContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "modalBody", first: true, predicate: ["modalBody"], descendants: true }, { propertyName: "autoFocusedButtons", predicate: ["autoFocusedButton"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- Compatible: the <ng-content> can appear only once -->\n<ng-template #tplOriginContent>\n <ng-content />\n</ng-template>\n\n<div>\n @if (kbqMask) {\n <div\n class=\"kbq-modal-mask\"\n [class.kbq-modal-mask-hidden]=\"hidden\"\n [ngClass]=\"maskAnimationClassMap\"\n [ngStyle]=\"kbqMaskStyle\"\n ></div>\n }\n\n <div\n tabindex=\"-1\"\n class=\"kbq-modal-wrap {{ kbqWrapClassName }}\"\n [style.display]=\"hidden ? 'none' : ''\"\n (mousedown)=\"onClickMask($event)\"\n >\n <div\n #modalContainer\n class=\"kbq-modal {{ kbqClassName }} kbq-modal_{{ kbqSize }}\"\n [class.kbq-modal_no-footer]=\"!kbqFooter\"\n [ngClass]=\"modalAnimationClassMap\"\n [ngStyle]=\"kbqStyle\"\n [style.transform-origin]=\"transformOrigin\"\n [style.width]=\"kbqWidth | toCssUnit\"\n >\n <div\n cdkTrapFocus\n class=\"kbq-modal-content\"\n >\n @switch (true) {\n @case (isModalType('default')) {\n <ng-container [ngTemplateOutlet]=\"tplContentDefault\" />\n }\n @case (isModalType('confirm')) {\n <ng-container [ngTemplateOutlet]=\"tplContentConfirm\" />\n }\n @case (isModalType('custom')) {\n <ng-container [ngTemplateOutlet]=\"tplContentCustom\" />\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplContentCustom>\n <ng-container #bodyContainer />\n</ng-template>\n\n<!-- [Predefined] Default Modal Content -->\n<ng-template #tplContentDefault>\n @if (kbqTitle) {\n <div\n kbq-title\n class=\"kbq-modal-header\"\n [class.kbq-modal-body_top-overflow]=\"isTopOverflow\"\n >\n <div class=\"kbq-modal-title\">\n @switch (true) {\n @case (isTemplateRef(kbqTitle)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqTitle)\" />\n }\n @case (isNonEmptyString(kbqTitle)) {\n <div [innerHTML]=\"kbqTitle\"></div>\n }\n }\n </div>\n @if (kbqClosable) {\n <button\n kbq-button\n class=\"kbq-modal-close kbq-button_transparent\"\n [color]=\"'contrast'\"\n (click)=\"onClickCloseBtn()\"\n >\n <i\n kbq-icon=\"kbq-xmark_16\"\n [color]=\"componentColors.Contrast\"\n ></i>\n </button>\n }\n </div>\n }\n <div\n #modalBody\n class=\"kbq-modal-body kbq-scrollbar\"\n [ngStyle]=\"kbqBodyStyle\"\n (scroll)=\"checkOverflow()\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqFooter || kbqOkText || kbqCancelText) {\n <div\n class=\"kbq-modal-footer\"\n [class.kbq-modal-body_bottom-overflow]=\"isBottomOverflow\"\n >\n @switch (true) {\n @case (isTemplateRef(kbqFooter)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqFooter)\" />\n }\n @case (isNonEmptyString(kbqFooter)) {\n <div [innerHTML]=\"kbqFooter\"></div>\n }\n @case (isModalButtons(kbqFooter)) {\n @for (button of $any(kbqFooter); track button) {\n @if (getButtonCallableProp(button, 'show')) {\n <button\n kbq-button\n [attr.autofocus]=\"button.autoFocus\"\n [attr.kbq-modal-main-action]=\"button.kbqModalMainAction\"\n [class.kbq-progress]=\"getButtonCallableProp(button, 'loading')\"\n [color]=\"button.type\"\n [disabled]=\"getButtonCallableProp(button, 'disabled')\"\n (click)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </button>\n }\n }\n }\n @default {\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n }\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Default Modal Content -->\n\n<!-- [Predefined] Confirm Modal Content -->\n<ng-template #tplContentConfirm>\n <div\n class=\"kbq-modal-body\"\n [ngStyle]=\"kbqBodyStyle\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqOkText || kbqCancelText) {\n <div class=\"kbq-confirm-footer\">\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"kbqOkType\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Confirm Modal Content -->\n", styles: [".kbq-confirm .kbq-modal-close{display:none}.kbq-confirm .kbq-confirm-footer{display:flex;gap:var(--kbq-modal-size-footer-content-gap-horizontal)}.kbq-modal{box-sizing:border-box;position:relative;top:48px;border-radius:var(--kbq-modal-size-border-radius);width:auto;margin:0 auto;list-style:none}.kbq-modal.zoom-enter,.kbq-modal.zoom-appear{animation-duration:.3s;transform:none;opacity:0}.kbq-modal.kbq-modal_small{width:var(--kbq-modal-size-small-width)}.kbq-modal.kbq-modal_medium{width:var(--kbq-modal-size-medium-width)}.kbq-modal.kbq-modal_large{width:var(--kbq-modal-size-large-width)}.kbq-modal .kbq-modal-close{position:absolute;top:16px;right:8px}.kbq-modal-wrap{position:fixed;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;outline:0}.kbq-modal-content{position:relative;border-radius:var(--kbq-modal-size-border-radius);background-clip:padding-box}.kbq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--kbq-modal-size-header-padding-vertical) var(--kbq-modal-size-header-padding-right) var(--kbq-modal-size-header-padding-vertical) var(--kbq-modal-size-header-padding-left)}.kbq-modal-header+.kbq-modal-body{padding-top:var(--kbq-modal-size-content-padding-top)}.kbq-modal-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.kbq-modal-body{display:block;overflow-y:auto;max-height:calc(100vh - 260px);padding:var(--kbq-modal-size-content-padding-top-without-header) var(--kbq-modal-size-content-padding-horizontal) var(--kbq-modal-size-content-padding-bottom) var(--kbq-modal-size-content-padding-horizontal);word-wrap:break-word}.kbq-modal-body>*{position:relative}.kbq-modal-footer,.kbq-confirm-footer{display:flex;align-items:center;padding:var(--kbq-modal-size-footer-padding-vertical) var(--kbq-modal-size-footer-padding-horizontal);gap:var(--kbq-modal-size-footer-content-gap-horizontal)}.kbq-modal-mask{position:fixed;inset:0;height:100%}.kbq-modal-mask.kbq-modal-mask-hidden{display:none}.kbq-modal-open{overflow:hidden}.kbq-modal{background:var(--kbq-modal-container-background);box-shadow:var(--kbq-modal-container-box-shadow)}.kbq-modal .kbq-modal-header .kbq-modal-title{color:var(--kbq-modal-header-text-color)}.kbq-modal .kbq-modal-header .kbq-modal-close{color:var(--kbq-modal-close-button-color)}.kbq-modal .kbq-modal-content{color:var(--kbq-modal-content-text-color)}.kbq-modal .kbq-modal-header.kbq-modal-body_top-overflow{box-shadow:var(--kbq-shadow-overflow-normal-bottom)}.kbq-modal .kbq-modal-footer.kbq-modal-body_bottom-overflow{box-shadow:var(--kbq-shadow-overflow-normal-top)}.kbq-modal-mask{background-color:var(--kbq-modal-overlay-background)}.kbq-modal-title{font-size:var(--kbq-modal-font-header-font-size);font-weight:var(--kbq-modal-font-header-font-weight);line-height:var(--kbq-modal-font-header-line-height);font-family:var(--kbq-modal-font-header-font-family);text-transform:var(--kbq-modal-font-header-text-transform);font-feature-settings:var(--kbq-modal-font-header-font-feature-settings);letter-spacing:var(--kbq-modal-font-header-letter-spacing)}.kbq-modal-body{font-size:var(--kbq-modal-font-content-font-size);font-weight:var(--kbq-modal-font-content-font-weight);line-height:var(--kbq-modal-font-content-line-height);font-family:var(--kbq-modal-font-content-font-family);text-transform:var(--kbq-modal-font-content-text-transform);font-feature-settings:var(--kbq-modal-font-content-font-feature-settings);letter-spacing:var(--kbq-modal-font-content-letter-spacing)}\n", ".kbq-modal{--kbq-modal-size-small-width: 400px;--kbq-modal-size-medium-width: 640px;--kbq-modal-size-large-width: 960px;--kbq-modal-size-border-radius: var(--kbq-size-s);--kbq-modal-size-header-padding-vertical: var(--kbq-size-l);--kbq-modal-size-header-padding-left: var(--kbq-size-xxl);--kbq-modal-size-header-padding-right: var(--kbq-size-5xl);--kbq-modal-size-close-button-margin-left: var(--kbq-size-s);--kbq-modal-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-modal-size-content-padding-top: 0;--kbq-modal-size-content-padding-bottom: var(--kbq-size-s);--kbq-modal-size-content-padding-top-without-header: var(--kbq-size-xxl);--kbq-modal-size-content-padding-bottom-without-footer: var(--kbq-size-4xl);--kbq-modal-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-modal-size-footer-padding-vertical: var(--kbq-size-xl);--kbq-modal-size-footer-content-gap-horizontal: var(--kbq-size-l);--kbq-modal-font-header-font-size: var(--kbq-typography-title-font-size);--kbq-modal-font-header-line-height: var(--kbq-typography-title-line-height);--kbq-modal-font-header-letter-spacing: var(--kbq-typography-title-letter-spacing);--kbq-modal-font-header-font-weight: var(--kbq-typography-title-font-weight);--kbq-modal-font-header-font-family: var(--kbq-typography-title-font-family);--kbq-modal-font-header-text-transform: var(--kbq-typography-title-text-transform);--kbq-modal-font-header-font-feature-settings: var(--kbq-typography-title-font-feature-settings);--kbq-modal-font-content-font-size: var(--kbq-typography-text-normal-font-size);--kbq-modal-font-content-line-height: var(--kbq-typography-text-normal-line-height);--kbq-modal-font-content-letter-spacing: var(--kbq-typography-text-normal-letter-spacing);--kbq-modal-font-content-font-weight: var(--kbq-typography-text-normal-font-weight);--kbq-modal-font-content-font-family: var(--kbq-typography-text-normal-font-family);--kbq-modal-font-content-text-transform: var(--kbq-typography-text-normal-text-transform);--kbq-modal-font-content-font-feature-settings: var(--kbq-typography-text-normal-font-feature-settings)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-modal-overlay-background: var(--kbq-background-overlay);--kbq-modal-container-background: var(--kbq-background-card);--kbq-modal-container-box-shadow: var(--kbq-shadow-overlay);--kbq-modal-close-button-color: var(--kbq-icon-contrast);--kbq-modal-header-text-color: var(--kbq-foreground-contrast);--kbq-modal-content-text-color: var(--kbq-foreground-contrast)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-modal-overlay-background: var(--kbq-background-overlay);--kbq-modal-container-background: var(--kbq-background-card);--kbq-modal-container-box-shadow: var(--kbq-shadow-overlay);--kbq-modal-close-button-color: var(--kbq-icon-contrast);--kbq-modal-header-text-color: var(--kbq-foreground-contrast);--kbq-modal-content-text-color: var(--kbq-foreground-contrast)}\n"], dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i4.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i4.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "directive", type: i6.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: CssUnitPipe, name: "toCssUnit" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
580
578
  }
581
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalComponent, decorators: [{
579
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalComponent, decorators: [{
582
580
  type: Component,
583
581
  args: [{ selector: 'kbq-modal', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
584
582
  '(keydown)': 'onKeyDown($event)'
585
- }, template: "<!-- Compatible: the <ng-content> can appear only once -->\n<ng-template #tplOriginContent>\n <ng-content />\n</ng-template>\n\n<div>\n @if (kbqMask) {\n <div\n class=\"kbq-modal-mask\"\n [class.kbq-modal-mask-hidden]=\"hidden\"\n [ngClass]=\"maskAnimationClassMap\"\n [ngStyle]=\"kbqMaskStyle\"\n ></div>\n }\n\n <div\n tabindex=\"-1\"\n class=\"kbq-modal-wrap {{ kbqWrapClassName }}\"\n [style.display]=\"hidden ? 'none' : ''\"\n (mousedown)=\"onClickMask($event)\"\n >\n <div\n #modalContainer\n class=\"kbq-modal {{ kbqClassName }} kbq-modal_{{ kbqSize }}\"\n [class.kbq-modal_no-footer]=\"!kbqFooter\"\n [ngClass]=\"modalAnimationClassMap\"\n [ngStyle]=\"kbqStyle\"\n [style.transform-origin]=\"transformOrigin\"\n [style.width]=\"kbqWidth | toCssUnit\"\n >\n <div\n cdkTrapFocus\n class=\"kbq-modal-content\"\n >\n @switch (true) {\n @case (isModalType('default')) {\n <ng-container [ngTemplateOutlet]=\"tplContentDefault\" />\n }\n @case (isModalType('confirm')) {\n <ng-container [ngTemplateOutlet]=\"tplContentConfirm\" />\n }\n @case (isModalType('custom')) {\n <ng-container [ngTemplateOutlet]=\"tplContentCustom\" />\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplContentCustom>\n <ng-container #bodyContainer />\n</ng-template>\n\n<!-- [Predefined] Default Modal Content -->\n<ng-template #tplContentDefault>\n @if (kbqTitle) {\n <div\n kbq-title\n class=\"kbq-modal-header\"\n [class.kbq-modal-body_top-overflow]=\"isTopOverflow\"\n >\n <div class=\"kbq-modal-title\">\n @switch (true) {\n @case (isTemplateRef(kbqTitle)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqTitle)\" />\n }\n @case (isNonEmptyString(kbqTitle)) {\n <div [innerHTML]=\"kbqTitle\"></div>\n }\n }\n </div>\n @if (kbqClosable) {\n <button\n kbq-button\n class=\"kbq-modal-close kbq-button_transparent\"\n [color]=\"'contrast'\"\n (click)=\"onClickCloseBtn()\"\n >\n <i\n kbq-icon=\"kbq-xmark_16\"\n [color]=\"componentColors.Contrast\"\n ></i>\n </button>\n }\n </div>\n }\n <div\n #modalBody\n class=\"kbq-modal-body kbq-scrollbar\"\n [ngStyle]=\"kbqBodyStyle\"\n (scroll)=\"checkOverflow()\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqFooter || kbqOkText || kbqCancelText) {\n <div\n class=\"kbq-modal-footer\"\n [class.kbq-modal-body_bottom-overflow]=\"isBottomOverflow\"\n >\n @switch (true) {\n @case (isTemplateRef(kbqFooter)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqFooter)\" />\n }\n @case (isNonEmptyString(kbqFooter)) {\n <div [innerHTML]=\"kbqFooter\"></div>\n }\n @case (isModalButtons(kbqFooter)) {\n @for (button of $any(kbqFooter); track button) {\n @if (getButtonCallableProp(button, 'show')) {\n <button\n kbq-button\n [attr.autofocus]=\"button.autoFocus\"\n [attr.kbq-modal-main-action]=\"button.kbqModalMainAction\"\n [class.kbq-progress]=\"getButtonCallableProp(button, 'loading')\"\n [color]=\"button.type\"\n [disabled]=\"getButtonCallableProp(button, 'disabled')\"\n (click)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </button>\n }\n }\n }\n @default {\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n }\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Default Modal Content -->\n\n<!-- [Predefined] Confirm Modal Content -->\n<ng-template #tplContentConfirm>\n <div\n class=\"kbq-modal-body\"\n [ngStyle]=\"kbqBodyStyle\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqOkText || kbqCancelText) {\n <div class=\"kbq-confirm-footer\">\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"kbqOkType\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Confirm Modal Content -->\n", styles: [".kbq-confirm .kbq-modal-close{display:none}.kbq-confirm .kbq-confirm-footer{display:flex;gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal{box-sizing:border-box;position:relative;top:48px;border-radius:var(--kbq-modal-size-border-radius, 8px);width:auto;margin:0 auto;list-style:none}.kbq-modal.zoom-enter,.kbq-modal.zoom-appear{animation-duration:.3s;transform:none;opacity:0}.kbq-modal.kbq-modal_small{width:var(--kbq-modal-size-small-width, 400px)}.kbq-modal.kbq-modal_medium{width:var(--kbq-modal-size-medium-width, 640px)}.kbq-modal.kbq-modal_large{width:var(--kbq-modal-size-large-width, 960px)}.kbq-modal .kbq-modal-close{position:absolute;top:16px;right:8px}.kbq-modal-wrap{position:fixed;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;outline:0}.kbq-modal-content{position:relative;border-radius:var(--kbq-modal-size-border-radius, 8px);background-clip:padding-box}.kbq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-right, 48px) var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-left, 24px)}.kbq-modal-header+.kbq-modal-body{padding-top:var(--kbq-modal-size-content-padding-top, 0)}.kbq-modal-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.kbq-modal-body{display:block;overflow-y:auto;max-height:calc(100vh - 260px);padding:var(--kbq-modal-size-content-padding-top-without-header, 24px) var(--kbq-modal-size-content-padding-horizontal, 24px) var(--kbq-modal-size-content-padding-bottom, 8px) var(--kbq-modal-size-content-padding-horizontal, 24px);word-wrap:break-word}.kbq-modal-body>*{position:relative}.kbq-modal-footer,.kbq-confirm-footer{display:flex;align-items:center;padding:var(--kbq-modal-size-footer-padding-vertical, 20px) var(--kbq-modal-size-footer-padding-horizontal, 24px);gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal-mask{position:fixed;inset:0;height:100%}.kbq-modal-mask.kbq-modal-mask-hidden{display:none}.kbq-modal-open{overflow:hidden}.kbq-modal{background:var(--kbq-modal-container-background, );box-shadow:var(--kbq-modal-container-box-shadow, )}.kbq-modal .kbq-modal-header .kbq-modal-title{color:var(--kbq-modal-header-text-color, )}.kbq-modal .kbq-modal-header .kbq-modal-close{color:var(--kbq-modal-close-button-color, )}.kbq-modal .kbq-modal-content{color:var(--kbq-modal-content-text-color, )}.kbq-modal .kbq-modal-header.kbq-modal-body_top-overflow{box-shadow:var(--kbq-modal-body-top-shadow, )}.kbq-modal .kbq-modal-footer.kbq-modal-body_bottom-overflow{box-shadow:var(--kbq-modal-body-bottom-shadow, )}.kbq-modal-mask{background-color:var(--kbq-modal-overlay-background, )}.kbq-modal-title{font-size:var(--kbq-modal-font-header-font-size, 20px);font-weight:var(--kbq-modal-font-header-font-weight, 700);line-height:var(--kbq-modal-font-header-line-height, 28px);font-family:var(--kbq-modal-font-header-font-family, \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-header-text-transform, );font-feature-settings:var(--kbq-modal-font-header-font-feature-settings, \"calt\", \"kern\", \"liga\");letter-spacing:var(--kbq-modal-font-header-letter-spacing, normal)}.kbq-modal-body{font-size:var(--kbq-modal-font-content-font-size, 14px);font-weight:var(--kbq-modal-font-content-font-weight, normal);line-height:var(--kbq-modal-font-content-line-height, 20px);font-family:var(--kbq-modal-font-content-font-family, Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-content-text-transform, );font-feature-settings:var(--kbq-modal-font-content-font-feature-settings, \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\");letter-spacing:var(--kbq-modal-font-content-letter-spacing, -.006em)}\n", ".kbq-modal{--kbq-modal-size-small-width: 400px;--kbq-modal-size-medium-width: 640px;--kbq-modal-size-large-width: 960px;--kbq-modal-size-border-radius: var(--kbq-size-s);--kbq-modal-size-header-padding-vertical: var(--kbq-size-l);--kbq-modal-size-header-padding-left: var(--kbq-size-xxl);--kbq-modal-size-header-padding-right: var(--kbq-size-5xl);--kbq-modal-size-close-button-margin-left: var(--kbq-size-s);--kbq-modal-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-modal-size-content-padding-top: 0;--kbq-modal-size-content-padding-bottom: var(--kbq-size-s);--kbq-modal-size-content-padding-top-without-header: var(--kbq-size-xxl);--kbq-modal-size-content-padding-bottom-without-footer: var(--kbq-size-4xl);--kbq-modal-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-modal-size-footer-padding-vertical: var(--kbq-size-xl);--kbq-modal-size-footer-content-gap-horizontal: var(--kbq-size-l);--kbq-modal-font-header-font-size: var(--kbq-typography-title-font-size);--kbq-modal-font-header-line-height: var(--kbq-typography-title-line-height);--kbq-modal-font-header-letter-spacing: var(--kbq-typography-title-letter-spacing);--kbq-modal-font-header-font-weight: var(--kbq-typography-title-font-weight);--kbq-modal-font-header-font-family: var(--kbq-typography-title-font-family);--kbq-modal-font-header-text-transform: var(--kbq-typography-title-text-transform);--kbq-modal-font-header-font-feature-settings: var(--kbq-typography-title-font-feature-settings);--kbq-modal-font-content-font-size: var(--kbq-typography-text-normal-font-size);--kbq-modal-font-content-line-height: var(--kbq-typography-text-normal-line-height);--kbq-modal-font-content-letter-spacing: var(--kbq-typography-text-normal-letter-spacing);--kbq-modal-font-content-font-weight: var(--kbq-typography-text-normal-font-weight);--kbq-modal-font-content-font-family: var(--kbq-typography-text-normal-font-family);--kbq-modal-font-content-text-transform: var(--kbq-typography-text-normal-text-transform);--kbq-modal-font-content-font-feature-settings: var(--kbq-typography-text-normal-font-feature-settings)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-modal-overlay-background: var(--kbq-background-overlay);--kbq-modal-container-background: var(--kbq-background-card);--kbq-modal-container-box-shadow: var(--kbq-shadow-overlay);--kbq-modal-close-button-color: var(--kbq-icon-contrast);--kbq-modal-header-text-color: var(--kbq-foreground-contrast);--kbq-modal-content-text-color: var(--kbq-foreground-contrast)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-modal-overlay-background: var(--kbq-background-overlay);--kbq-modal-container-background: var(--kbq-background-card);--kbq-modal-container-box-shadow: var(--kbq-shadow-overlay);--kbq-modal-close-button-color: var(--kbq-icon-contrast);--kbq-modal-header-text-color: var(--kbq-foreground-contrast);--kbq-modal-content-text-color: var(--kbq-foreground-contrast)}\n"] }]
583
+ }, template: "<!-- Compatible: the <ng-content> can appear only once -->\n<ng-template #tplOriginContent>\n <ng-content />\n</ng-template>\n\n<div>\n @if (kbqMask) {\n <div\n class=\"kbq-modal-mask\"\n [class.kbq-modal-mask-hidden]=\"hidden\"\n [ngClass]=\"maskAnimationClassMap\"\n [ngStyle]=\"kbqMaskStyle\"\n ></div>\n }\n\n <div\n tabindex=\"-1\"\n class=\"kbq-modal-wrap {{ kbqWrapClassName }}\"\n [style.display]=\"hidden ? 'none' : ''\"\n (mousedown)=\"onClickMask($event)\"\n >\n <div\n #modalContainer\n class=\"kbq-modal {{ kbqClassName }} kbq-modal_{{ kbqSize }}\"\n [class.kbq-modal_no-footer]=\"!kbqFooter\"\n [ngClass]=\"modalAnimationClassMap\"\n [ngStyle]=\"kbqStyle\"\n [style.transform-origin]=\"transformOrigin\"\n [style.width]=\"kbqWidth | toCssUnit\"\n >\n <div\n cdkTrapFocus\n class=\"kbq-modal-content\"\n >\n @switch (true) {\n @case (isModalType('default')) {\n <ng-container [ngTemplateOutlet]=\"tplContentDefault\" />\n }\n @case (isModalType('confirm')) {\n <ng-container [ngTemplateOutlet]=\"tplContentConfirm\" />\n }\n @case (isModalType('custom')) {\n <ng-container [ngTemplateOutlet]=\"tplContentCustom\" />\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplContentCustom>\n <ng-container #bodyContainer />\n</ng-template>\n\n<!-- [Predefined] Default Modal Content -->\n<ng-template #tplContentDefault>\n @if (kbqTitle) {\n <div\n kbq-title\n class=\"kbq-modal-header\"\n [class.kbq-modal-body_top-overflow]=\"isTopOverflow\"\n >\n <div class=\"kbq-modal-title\">\n @switch (true) {\n @case (isTemplateRef(kbqTitle)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqTitle)\" />\n }\n @case (isNonEmptyString(kbqTitle)) {\n <div [innerHTML]=\"kbqTitle\"></div>\n }\n }\n </div>\n @if (kbqClosable) {\n <button\n kbq-button\n class=\"kbq-modal-close kbq-button_transparent\"\n [color]=\"'contrast'\"\n (click)=\"onClickCloseBtn()\"\n >\n <i\n kbq-icon=\"kbq-xmark_16\"\n [color]=\"componentColors.Contrast\"\n ></i>\n </button>\n }\n </div>\n }\n <div\n #modalBody\n class=\"kbq-modal-body kbq-scrollbar\"\n [ngStyle]=\"kbqBodyStyle\"\n (scroll)=\"checkOverflow()\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqFooter || kbqOkText || kbqCancelText) {\n <div\n class=\"kbq-modal-footer\"\n [class.kbq-modal-body_bottom-overflow]=\"isBottomOverflow\"\n >\n @switch (true) {\n @case (isTemplateRef(kbqFooter)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqFooter)\" />\n }\n @case (isNonEmptyString(kbqFooter)) {\n <div [innerHTML]=\"kbqFooter\"></div>\n }\n @case (isModalButtons(kbqFooter)) {\n @for (button of $any(kbqFooter); track button) {\n @if (getButtonCallableProp(button, 'show')) {\n <button\n kbq-button\n [attr.autofocus]=\"button.autoFocus\"\n [attr.kbq-modal-main-action]=\"button.kbqModalMainAction\"\n [class.kbq-progress]=\"getButtonCallableProp(button, 'loading')\"\n [color]=\"button.type\"\n [disabled]=\"getButtonCallableProp(button, 'disabled')\"\n (click)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </button>\n }\n }\n }\n @default {\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n }\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Default Modal Content -->\n\n<!-- [Predefined] Confirm Modal Content -->\n<ng-template #tplContentConfirm>\n <div\n class=\"kbq-modal-body\"\n [ngStyle]=\"kbqBodyStyle\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqOkText || kbqCancelText) {\n <div class=\"kbq-confirm-footer\">\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"kbqOkType\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Confirm Modal Content -->\n", styles: [".kbq-confirm .kbq-modal-close{display:none}.kbq-confirm .kbq-confirm-footer{display:flex;gap:var(--kbq-modal-size-footer-content-gap-horizontal)}.kbq-modal{box-sizing:border-box;position:relative;top:48px;border-radius:var(--kbq-modal-size-border-radius);width:auto;margin:0 auto;list-style:none}.kbq-modal.zoom-enter,.kbq-modal.zoom-appear{animation-duration:.3s;transform:none;opacity:0}.kbq-modal.kbq-modal_small{width:var(--kbq-modal-size-small-width)}.kbq-modal.kbq-modal_medium{width:var(--kbq-modal-size-medium-width)}.kbq-modal.kbq-modal_large{width:var(--kbq-modal-size-large-width)}.kbq-modal .kbq-modal-close{position:absolute;top:16px;right:8px}.kbq-modal-wrap{position:fixed;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;outline:0}.kbq-modal-content{position:relative;border-radius:var(--kbq-modal-size-border-radius);background-clip:padding-box}.kbq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--kbq-modal-size-header-padding-vertical) var(--kbq-modal-size-header-padding-right) var(--kbq-modal-size-header-padding-vertical) var(--kbq-modal-size-header-padding-left)}.kbq-modal-header+.kbq-modal-body{padding-top:var(--kbq-modal-size-content-padding-top)}.kbq-modal-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.kbq-modal-body{display:block;overflow-y:auto;max-height:calc(100vh - 260px);padding:var(--kbq-modal-size-content-padding-top-without-header) var(--kbq-modal-size-content-padding-horizontal) var(--kbq-modal-size-content-padding-bottom) var(--kbq-modal-size-content-padding-horizontal);word-wrap:break-word}.kbq-modal-body>*{position:relative}.kbq-modal-footer,.kbq-confirm-footer{display:flex;align-items:center;padding:var(--kbq-modal-size-footer-padding-vertical) var(--kbq-modal-size-footer-padding-horizontal);gap:var(--kbq-modal-size-footer-content-gap-horizontal)}.kbq-modal-mask{position:fixed;inset:0;height:100%}.kbq-modal-mask.kbq-modal-mask-hidden{display:none}.kbq-modal-open{overflow:hidden}.kbq-modal{background:var(--kbq-modal-container-background);box-shadow:var(--kbq-modal-container-box-shadow)}.kbq-modal .kbq-modal-header .kbq-modal-title{color:var(--kbq-modal-header-text-color)}.kbq-modal .kbq-modal-header .kbq-modal-close{color:var(--kbq-modal-close-button-color)}.kbq-modal .kbq-modal-content{color:var(--kbq-modal-content-text-color)}.kbq-modal .kbq-modal-header.kbq-modal-body_top-overflow{box-shadow:var(--kbq-shadow-overflow-normal-bottom)}.kbq-modal .kbq-modal-footer.kbq-modal-body_bottom-overflow{box-shadow:var(--kbq-shadow-overflow-normal-top)}.kbq-modal-mask{background-color:var(--kbq-modal-overlay-background)}.kbq-modal-title{font-size:var(--kbq-modal-font-header-font-size);font-weight:var(--kbq-modal-font-header-font-weight);line-height:var(--kbq-modal-font-header-line-height);font-family:var(--kbq-modal-font-header-font-family);text-transform:var(--kbq-modal-font-header-text-transform);font-feature-settings:var(--kbq-modal-font-header-font-feature-settings);letter-spacing:var(--kbq-modal-font-header-letter-spacing)}.kbq-modal-body{font-size:var(--kbq-modal-font-content-font-size);font-weight:var(--kbq-modal-font-content-font-weight);line-height:var(--kbq-modal-font-content-line-height);font-family:var(--kbq-modal-font-content-font-family);text-transform:var(--kbq-modal-font-content-text-transform);font-feature-settings:var(--kbq-modal-font-content-font-feature-settings);letter-spacing:var(--kbq-modal-font-content-letter-spacing)}\n", ".kbq-modal{--kbq-modal-size-small-width: 400px;--kbq-modal-size-medium-width: 640px;--kbq-modal-size-large-width: 960px;--kbq-modal-size-border-radius: var(--kbq-size-s);--kbq-modal-size-header-padding-vertical: var(--kbq-size-l);--kbq-modal-size-header-padding-left: var(--kbq-size-xxl);--kbq-modal-size-header-padding-right: var(--kbq-size-5xl);--kbq-modal-size-close-button-margin-left: var(--kbq-size-s);--kbq-modal-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-modal-size-content-padding-top: 0;--kbq-modal-size-content-padding-bottom: var(--kbq-size-s);--kbq-modal-size-content-padding-top-without-header: var(--kbq-size-xxl);--kbq-modal-size-content-padding-bottom-without-footer: var(--kbq-size-4xl);--kbq-modal-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-modal-size-footer-padding-vertical: var(--kbq-size-xl);--kbq-modal-size-footer-content-gap-horizontal: var(--kbq-size-l);--kbq-modal-font-header-font-size: var(--kbq-typography-title-font-size);--kbq-modal-font-header-line-height: var(--kbq-typography-title-line-height);--kbq-modal-font-header-letter-spacing: var(--kbq-typography-title-letter-spacing);--kbq-modal-font-header-font-weight: var(--kbq-typography-title-font-weight);--kbq-modal-font-header-font-family: var(--kbq-typography-title-font-family);--kbq-modal-font-header-text-transform: var(--kbq-typography-title-text-transform);--kbq-modal-font-header-font-feature-settings: var(--kbq-typography-title-font-feature-settings);--kbq-modal-font-content-font-size: var(--kbq-typography-text-normal-font-size);--kbq-modal-font-content-line-height: var(--kbq-typography-text-normal-line-height);--kbq-modal-font-content-letter-spacing: var(--kbq-typography-text-normal-letter-spacing);--kbq-modal-font-content-font-weight: var(--kbq-typography-text-normal-font-weight);--kbq-modal-font-content-font-family: var(--kbq-typography-text-normal-font-family);--kbq-modal-font-content-text-transform: var(--kbq-typography-text-normal-text-transform);--kbq-modal-font-content-font-feature-settings: var(--kbq-typography-text-normal-font-feature-settings)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-modal-overlay-background: var(--kbq-background-overlay);--kbq-modal-container-background: var(--kbq-background-card);--kbq-modal-container-box-shadow: var(--kbq-shadow-overlay);--kbq-modal-close-button-color: var(--kbq-icon-contrast);--kbq-modal-header-text-color: var(--kbq-foreground-contrast);--kbq-modal-content-text-color: var(--kbq-foreground-contrast)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-modal-overlay-background: var(--kbq-background-overlay);--kbq-modal-container-background: var(--kbq-background-card);--kbq-modal-container-box-shadow: var(--kbq-shadow-overlay);--kbq-modal-close-button-color: var(--kbq-icon-contrast);--kbq-modal-header-text-color: var(--kbq-foreground-contrast);--kbq-modal-content-text-color: var(--kbq-foreground-contrast)}\n"] }]
586
584
  }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Renderer2 }, { type: i0.ComponentFactoryResolver }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: KbqModalControlService }, { type: i0.ChangeDetectorRef }, { type: i3.FocusMonitor }, { type: undefined, decorators: [{
587
585
  type: Inject,
588
586
  args: [DOCUMENT]
@@ -672,17 +670,34 @@ function isPromise(obj) {
672
670
  }
673
671
 
674
672
  class KbqModalTitle {
675
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalTitle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
676
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: KbqModalTitle, selector: "[kbq-modal-title], kbq-modal-title, [kbqModalTitle]", host: { classAttribute: "kbq-modal-header" }, ngImport: i0, template: `
673
+ constructor(modal) {
674
+ this.modal = modal;
675
+ }
676
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalTitle, deps: [{ token: KbqModalComponent }], target: i0.ɵɵFactoryTarget.Component }); }
677
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqModalTitle, selector: "[kbq-modal-title], kbq-modal-title, [kbqModalTitle]", host: { properties: { "class.kbq-modal-header_closable": "modal.kbqClosable" }, classAttribute: "kbq-modal-header" }, ngImport: i0, template: `
677
678
  <div
678
679
  class="kbq-modal-title"
679
680
  kbq-title
680
681
  >
681
682
  <ng-content />
682
683
  </div>
683
- `, isInline: true, dependencies: [{ kind: "directive", type: i6.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }] }); }
684
+
685
+ @if (modal.kbqClosable) {
686
+ <button
687
+ class="kbq-modal-close kbq-button_transparent"
688
+ [color]="'contrast'"
689
+ (click)="modal.onClickCloseBtn()"
690
+ kbq-button
691
+ >
692
+ <i
693
+ [color]="modal.componentColors.Contrast"
694
+ kbq-icon="kbq-xmark_16"
695
+ ></i>
696
+ </button>
697
+ }
698
+ `, isInline: true, dependencies: [{ kind: "component", type: i4.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i4.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "directive", type: i6.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }] }); }
684
699
  }
685
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalTitle, decorators: [{
700
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalTitle, decorators: [{
686
701
  type: Component,
687
702
  args: [{
688
703
  selector: `[kbq-modal-title], kbq-modal-title, [kbqModalTitle]`,
@@ -693,17 +708,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
693
708
  >
694
709
  <ng-content />
695
710
  </div>
711
+
712
+ @if (modal.kbqClosable) {
713
+ <button
714
+ class="kbq-modal-close kbq-button_transparent"
715
+ [color]="'contrast'"
716
+ (click)="modal.onClickCloseBtn()"
717
+ kbq-button
718
+ >
719
+ <i
720
+ [color]="modal.componentColors.Contrast"
721
+ kbq-icon="kbq-xmark_16"
722
+ ></i>
723
+ </button>
724
+ }
696
725
  `,
697
726
  host: {
698
- class: 'kbq-modal-header'
727
+ class: 'kbq-modal-header',
728
+ '[class.kbq-modal-header_closable]': 'modal.kbqClosable'
699
729
  }
700
730
  }]
701
- }] });
731
+ }], ctorParameters: () => [{ type: KbqModalComponent }] });
702
732
  class KbqModalBody {
703
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalBody, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
704
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: KbqModalBody, selector: "[kbq-modal-body], kbq-modal-body, [kbqModalBody]", host: { classAttribute: "kbq-modal-body" }, ngImport: i0 }); }
733
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalBody, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
734
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqModalBody, selector: "[kbq-modal-body], kbq-modal-body, [kbqModalBody]", host: { classAttribute: "kbq-modal-body" }, ngImport: i0 }); }
705
735
  }
706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalBody, decorators: [{
736
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalBody, decorators: [{
707
737
  type: Directive,
708
738
  args: [{
709
739
  selector: `[kbq-modal-body], kbq-modal-body, [kbqModalBody]`,
@@ -713,10 +743,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
713
743
  }]
714
744
  }] });
715
745
  class KbqModalFooter {
716
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
717
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: KbqModalFooter, selector: "[kbq-modal-footer], kbq-modal-footer, [kbqModalFooter]", host: { classAttribute: "kbq-modal-footer" }, ngImport: i0 }); }
746
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
747
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqModalFooter, selector: "[kbq-modal-footer], kbq-modal-footer, [kbqModalFooter]", host: { classAttribute: "kbq-modal-footer" }, ngImport: i0 }); }
718
748
  }
719
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalFooter, decorators: [{
749
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalFooter, decorators: [{
720
750
  type: Directive,
721
751
  args: [{
722
752
  selector: `[kbq-modal-footer], kbq-modal-footer, [kbqModalFooter]`,
@@ -726,10 +756,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
726
756
  }]
727
757
  }] });
728
758
  class KbqModalMainAction {
729
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalMainAction, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
730
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: KbqModalMainAction, selector: "[kbq-modal-main-action]", ngImport: i0 }); }
759
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalMainAction, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
760
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqModalMainAction, selector: "[kbq-modal-main-action]", ngImport: i0 }); }
731
761
  }
732
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalMainAction, decorators: [{
762
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalMainAction, decorators: [{
733
763
  type: Directive,
734
764
  args: [{
735
765
  selector: `[kbq-modal-main-action]`
@@ -846,16 +876,16 @@ class KbqModalService {
846
876
  delete(options = {}) {
847
877
  return this.confirm(options, 'warn');
848
878
  }
849
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalService, deps: [{ token: i1.Overlay }, { token: KbqModalControlService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
850
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalService }); }
879
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalService, deps: [{ token: i1.Overlay }, { token: KbqModalControlService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
880
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalService }); }
851
881
  }
852
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalService, decorators: [{
882
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalService, decorators: [{
853
883
  type: Injectable
854
884
  }], ctorParameters: () => [{ type: i1.Overlay }, { type: KbqModalControlService }, { type: i0.Injector }] });
855
885
 
856
886
  class KbqModalModule {
857
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
858
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: KbqModalModule, declarations: [KbqModalComponent,
887
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
888
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqModalModule, declarations: [KbqModalComponent,
859
889
  KbqModalTitle,
860
890
  KbqModalBody,
861
891
  KbqModalFooter,
@@ -872,7 +902,7 @@ class KbqModalModule {
872
902
  KbqModalBody,
873
903
  KbqModalFooter,
874
904
  KbqModalMainAction] }); }
875
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalModule, providers: [
905
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalModule, providers: [
876
906
  KbqModalControlService,
877
907
  KbqModalService,
878
908
  { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory }
@@ -882,7 +912,7 @@ class KbqModalModule {
882
912
  KbqIconModule,
883
913
  KbqTitleModule] }); }
884
914
  }
885
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: KbqModalModule, decorators: [{
915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqModalModule, decorators: [{
886
916
  type: NgModule,
887
917
  args: [{
888
918
  imports: [