@koobiq/components 17.0.0-rc.9 → 17.0.1

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 (652) hide show
  1. package/README.md +1 -2
  2. package/alert/_alert-theme.scss +0 -1
  3. package/alert/alert.component.d.ts +3 -1
  4. package/alert/alert.component.scss +14 -14
  5. package/alert/public-api.d.ts +1 -1
  6. package/autocomplete/_autocomplete-theme.scss +0 -1
  7. package/autocomplete/autocomplete.scss +3 -6
  8. package/autocomplete/public-api.d.ts +2 -2
  9. package/badge/_badge-theme.scss +1 -2
  10. package/badge/badge.component.scss +0 -1
  11. package/badge/public-api.d.ts +1 -1
  12. package/button/_button-base.scss +0 -1
  13. package/button/_button-theme.scss +5 -3
  14. package/button/button.component.d.ts +2 -2
  15. package/button/button.scss +0 -1
  16. package/button/public-api.d.ts +1 -1
  17. package/button-toggle/_button-toggle-theme.scss +2 -3
  18. package/button-toggle/button-toggle.scss +2 -9
  19. package/button-toggle/public-api.d.ts +1 -1
  20. package/card/_card-theme.scss +0 -1
  21. package/card/card.component.d.ts +1 -1
  22. package/card/card.component.scss +1 -2
  23. package/card/public-api.d.ts +1 -1
  24. package/checkbox/_checkbox-theme.scss +10 -11
  25. package/checkbox/checkbox.scss +13 -19
  26. package/code-block/README.md +17 -14
  27. package/code-block/_code-block-theme.scss +23 -16
  28. package/code-block/actionbar.component.d.ts +2 -1
  29. package/code-block/actionbar.component.scss +5 -13
  30. package/code-block/code-block.component.d.ts +4 -3
  31. package/code-block/code-block.scss +8 -14
  32. package/code-block/public-api.d.ts +1 -1
  33. package/core/animation/index.d.ts +1 -1
  34. package/core/common-behaviors/index.d.ts +3 -3
  35. package/core/datetime/index.d.ts +1 -1
  36. package/core/formatters/index.d.ts +1 -1
  37. package/core/forms/_forms-theme.scss +0 -1
  38. package/core/forms/_forms.scss +0 -1
  39. package/core/forms/index.d.ts +1 -1
  40. package/core/locales/index.d.ts +1 -1
  41. package/core/option/_optgroup-theme.scss +0 -1
  42. package/core/option/_option-action-theme.scss +0 -1
  43. package/core/option/_option-theme.scss +0 -1
  44. package/core/option/action.scss +4 -2
  45. package/core/option/index.d.ts +2 -2
  46. package/core/option/optgroup.scss +2 -3
  47. package/core/option/option.scss +0 -1
  48. package/core/pop-up/_pop-up.scss +0 -1
  49. package/core/pop-up/pop-up-trigger.d.ts +3 -3
  50. package/core/public-api.d.ts +3 -3
  51. package/core/select/constants.d.ts +1 -1
  52. package/core/select/index.d.ts +3 -3
  53. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +0 -2
  54. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +0 -1
  55. package/core/services/theme.service.d.ts +3 -2
  56. package/core/styles/_core.scss +0 -1
  57. package/core/styles/_koobiq-theme.scss +5 -3
  58. package/core/styles/common/_animation.scss +11 -10
  59. package/core/styles/common/_button.scss +0 -2
  60. package/core/styles/common/_clearfix.scss +1 -1
  61. package/core/styles/common/_groups.scss +0 -4
  62. package/core/styles/common/_list.scss +23 -61
  63. package/core/styles/common/_overlay.scss +4 -3
  64. package/core/styles/common/_popup.scss +0 -1
  65. package/core/styles/common/_rtl.scss +4 -4
  66. package/core/styles/common/_select.scss +37 -26
  67. package/core/styles/common/_tokens.scss +0 -2
  68. package/core/styles/functions/_number.scss +14 -19
  69. package/core/styles/functions/_string.scss +18 -19
  70. package/core/styles/functions/_timing.scss +24 -24
  71. package/core/styles/theming/_components-theming.scss +1120 -1208
  72. package/core/styles/theming/_scrollbar-theme.scss +8 -5
  73. package/core/styles/theming/_theming.scss +22 -20
  74. package/core/styles/typography/_typography-utils.scss +9 -3
  75. package/core/styles/typography/_typography.scss +114 -94
  76. package/core/styles/visual/_body.scss +0 -2
  77. package/core/styles/visual/_layout.scss +30 -22
  78. package/core/utils/data-size/index.d.ts +1 -1
  79. package/core/utils/public-api.d.ts +1 -1
  80. package/datepicker/_datepicker-theme.scss +21 -8
  81. package/datepicker/calendar-body.scss +0 -3
  82. package/datepicker/calendar-header.scss +0 -1
  83. package/datepicker/calendar.scss +1 -2
  84. package/datepicker/datepicker-content.scss +1 -3
  85. package/datepicker/datepicker-input.directive.d.ts +1 -0
  86. package/datepicker/datepicker-input.scss +0 -1
  87. package/datepicker/datepicker-toggle.scss +0 -1
  88. package/datepicker/datepicker.component.d.ts +2 -2
  89. package/datepicker/public-api.d.ts +4 -4
  90. package/divider/_divider-theme.scss +0 -1
  91. package/divider/divider.scss +0 -1
  92. package/dl/_dl-theme.scss +0 -2
  93. package/dl/dl.scss +0 -1
  94. package/dl/public-api.d.ts +1 -1
  95. package/dropdown/_dropdown-theme.scss +4 -2
  96. package/dropdown/dropdown-content.directive.d.ts +1 -1
  97. package/dropdown/dropdown-item.component.d.ts +1 -1
  98. package/dropdown/dropdown-item.scss +9 -7
  99. package/dropdown/dropdown.component.d.ts +1 -1
  100. package/dropdown/dropdown.scss +0 -1
  101. package/dropdown/public-api.d.ts +5 -5
  102. package/ellipsis-center/ellipsis-center.directive.d.ts +1 -1
  103. package/empty-state/README.md +0 -0
  104. package/empty-state/_empty-state-theme.scss +56 -0
  105. package/empty-state/empty-state.component.d.ts +31 -0
  106. package/empty-state/empty-state.module.d.ts +10 -0
  107. package/empty-state/empty-state.scss +81 -0
  108. package/empty-state/index.d.ts +1 -0
  109. package/empty-state/public-api.d.ts +2 -0
  110. package/esm2022/alert/alert.component.mjs +7 -3
  111. package/esm2022/alert/alert.module.mjs +1 -1
  112. package/esm2022/alert/public-api.mjs +2 -2
  113. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +1 -1
  114. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +25 -42
  115. package/esm2022/autocomplete/autocomplete.component.mjs +14 -9
  116. package/esm2022/autocomplete/autocomplete.module.mjs +3 -3
  117. package/esm2022/autocomplete/public-api.mjs +3 -3
  118. package/esm2022/badge/badge.component.mjs +8 -6
  119. package/esm2022/badge/badge.module.mjs +1 -1
  120. package/esm2022/badge/public-api.mjs +2 -2
  121. package/esm2022/button/button.component.mjs +12 -9
  122. package/esm2022/button/button.module.mjs +1 -1
  123. package/esm2022/button/public-api.mjs +2 -2
  124. package/esm2022/button-toggle/button-toggle.component.mjs +26 -20
  125. package/esm2022/button-toggle/button-toggle.module.mjs +1 -1
  126. package/esm2022/button-toggle/public-api.mjs +2 -2
  127. package/esm2022/card/card.component.mjs +4 -5
  128. package/esm2022/card/card.module.mjs +1 -1
  129. package/esm2022/card/public-api.mjs +2 -2
  130. package/esm2022/checkbox/checkbox-config.mjs +1 -1
  131. package/esm2022/checkbox/checkbox-module.mjs +1 -1
  132. package/esm2022/checkbox/checkbox-required-validator.mjs +1 -1
  133. package/esm2022/checkbox/checkbox.mjs +6 -8
  134. package/esm2022/checkbox/public-api.mjs +1 -1
  135. package/esm2022/code-block/actionbar.component.mjs +6 -6
  136. package/esm2022/code-block/code-block.component.mjs +20 -19
  137. package/esm2022/code-block/code-block.module.mjs +9 -5
  138. package/esm2022/code-block/public-api.mjs +2 -2
  139. package/esm2022/core/animation/fade-animations.mjs +1 -1
  140. package/esm2022/core/animation/index.mjs +2 -2
  141. package/esm2022/core/animation/select-animations.mjs +2 -2
  142. package/esm2022/core/common-behaviors/color.mjs +4 -2
  143. package/esm2022/core/common-behaviors/common-module.mjs +2 -5
  144. package/esm2022/core/common-behaviors/constructor.mjs +1 -1
  145. package/esm2022/core/common-behaviors/disabled.mjs +2 -2
  146. package/esm2022/core/common-behaviors/error-state.mjs +1 -1
  147. package/esm2022/core/common-behaviors/index.mjs +4 -4
  148. package/esm2022/core/common-behaviors/tabindex.mjs +1 -1
  149. package/esm2022/core/datetime/date-adapter.mjs +1 -2
  150. package/esm2022/core/datetime/date-formats.mjs +1 -1
  151. package/esm2022/core/datetime/index.mjs +2 -2
  152. package/esm2022/core/error/error-options.mjs +1 -1
  153. package/esm2022/core/form-field/form-field-ref.mjs +1 -1
  154. package/esm2022/core/formatters/date/formatter.mjs +1 -1
  155. package/esm2022/core/formatters/date/formatter.pipe.mjs +1 -1
  156. package/esm2022/core/formatters/index.mjs +2 -2
  157. package/esm2022/core/formatters/number/formatter.mjs +19 -24
  158. package/esm2022/core/forms/forms-module.mjs +1 -1
  159. package/esm2022/core/forms/forms.directive.mjs +1 -1
  160. package/esm2022/core/forms/index.mjs +2 -2
  161. package/esm2022/core/highlight/highlight.pipe.mjs +1 -1
  162. package/esm2022/core/highlight/index.mjs +1 -1
  163. package/esm2022/core/label/label-options.mjs +1 -1
  164. package/esm2022/core/line/line.mjs +2 -2
  165. package/esm2022/core/locales/en-US.mjs +1 -1
  166. package/esm2022/core/locales/es-LA.mjs +1 -1
  167. package/esm2022/core/locales/fa-IR.mjs +1 -1
  168. package/esm2022/core/locales/formatters.mjs +1 -3
  169. package/esm2022/core/locales/index.mjs +2 -2
  170. package/esm2022/core/locales/locale-service.mjs +8 -5
  171. package/esm2022/core/locales/locale-service.module.mjs +1 -1
  172. package/esm2022/core/locales/pt-BR.mjs +1 -1
  173. package/esm2022/core/locales/ru-RU.mjs +3 -3
  174. package/esm2022/core/locales/zh-CN.mjs +1 -1
  175. package/esm2022/core/option/action.mjs +22 -14
  176. package/esm2022/core/option/index.mjs +3 -3
  177. package/esm2022/core/option/optgroup.mjs +4 -5
  178. package/esm2022/core/option/option-module.mjs +1 -1
  179. package/esm2022/core/option/option.mjs +13 -10
  180. package/esm2022/core/overlay/overlay-position-map.mjs +1 -1
  181. package/esm2022/core/pop-up/pop-up-trigger.mjs +14 -24
  182. package/esm2022/core/pop-up/pop-up.mjs +1 -2
  183. package/esm2022/core/public-api.mjs +4 -4
  184. package/esm2022/core/select/common.mjs +2 -5
  185. package/esm2022/core/select/constants.mjs +1 -2
  186. package/esm2022/core/select/index.mjs +4 -4
  187. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  188. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +1 -1
  189. package/esm2022/core/services/measure-scrollbar.service.mjs +1 -2
  190. package/esm2022/core/services/theme.service.mjs +5 -4
  191. package/esm2022/core/title/title-text-ref.mjs +1 -1
  192. package/esm2022/core/utils/data-size/config.mjs +1 -1
  193. package/esm2022/core/utils/data-size/data-size.pipe.mjs +2 -3
  194. package/esm2022/core/utils/data-size/index.mjs +2 -2
  195. package/esm2022/core/utils/data-size/size.mjs +3 -6
  196. package/esm2022/core/utils/public-api.mjs +2 -2
  197. package/esm2022/core/utils/utils.mjs +4 -2
  198. package/esm2022/core/validation/validation.mjs +4 -2
  199. package/esm2022/core/version.mjs +2 -2
  200. package/esm2022/datepicker/calendar-body.component.mjs +3 -5
  201. package/esm2022/datepicker/calendar-header.component.mjs +8 -8
  202. package/esm2022/datepicker/calendar.component.mjs +6 -6
  203. package/esm2022/datepicker/datepicker-animations.mjs +1 -1
  204. package/esm2022/datepicker/datepicker-errors.mjs +1 -1
  205. package/esm2022/datepicker/datepicker-input.directive.mjs +47 -49
  206. package/esm2022/datepicker/datepicker-intl.mjs +1 -1
  207. package/esm2022/datepicker/datepicker-module.mjs +2 -2
  208. package/esm2022/datepicker/datepicker-toggle.component.mjs +11 -10
  209. package/esm2022/datepicker/datepicker.component.mjs +15 -18
  210. package/esm2022/datepicker/month-view.component.mjs +14 -14
  211. package/esm2022/datepicker/public-api.mjs +5 -5
  212. package/esm2022/divider/divider.component.mjs +1 -1
  213. package/esm2022/divider/divider.module.mjs +1 -1
  214. package/esm2022/dl/dl.component.mjs +7 -7
  215. package/esm2022/dl/dl.module.mjs +2 -2
  216. package/esm2022/dl/public-api.mjs +2 -2
  217. package/esm2022/dropdown/dropdown-animations.mjs +2 -2
  218. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  219. package/esm2022/dropdown/dropdown-item.component.mjs +5 -8
  220. package/esm2022/dropdown/dropdown-trigger.directive.mjs +24 -33
  221. package/esm2022/dropdown/dropdown.component.mjs +10 -19
  222. package/esm2022/dropdown/dropdown.module.mjs +1 -1
  223. package/esm2022/dropdown/dropdown.types.mjs +1 -2
  224. package/esm2022/dropdown/public-api.mjs +6 -6
  225. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +6 -5
  226. package/esm2022/empty-state/empty-state.component.mjs +104 -0
  227. package/esm2022/empty-state/empty-state.module.mjs +50 -0
  228. package/esm2022/empty-state/index.mjs +2 -0
  229. package/esm2022/empty-state/koobiq-components-empty-state.mjs +5 -0
  230. package/esm2022/empty-state/public-api.mjs +3 -0
  231. package/esm2022/file-upload/file-drop.mjs +3 -2
  232. package/esm2022/file-upload/file-upload.mjs +1 -1
  233. package/esm2022/file-upload/file-upload.module.mjs +2 -2
  234. package/esm2022/file-upload/index.mjs +1 -1
  235. package/esm2022/file-upload/multiple-file-upload.component.mjs +16 -14
  236. package/esm2022/file-upload/public-api.mjs +2 -2
  237. package/esm2022/file-upload/single-file-upload.component.mjs +14 -12
  238. package/esm2022/form-field/cleaner.mjs +13 -3
  239. package/esm2022/form-field/form-field-control.mjs +1 -2
  240. package/esm2022/form-field/form-field-errors.mjs +1 -1
  241. package/esm2022/form-field/form-field.mjs +8 -15
  242. package/esm2022/form-field/form-field.module.mjs +1 -1
  243. package/esm2022/form-field/hint.mjs +6 -6
  244. package/esm2022/form-field/password-hint.mjs +15 -15
  245. package/esm2022/form-field/password-toggle.mjs +4 -7
  246. package/esm2022/form-field/prefix.mjs +1 -1
  247. package/esm2022/form-field/public-api.mjs +4 -4
  248. package/esm2022/form-field/stepper.mjs +33 -29
  249. package/esm2022/form-field/suffix.mjs +1 -1
  250. package/esm2022/form-field/validate.directive.mjs +6 -7
  251. package/esm2022/icon/icon-button.component.mjs +4 -4
  252. package/esm2022/icon/icon-item.component.mjs +3 -3
  253. package/esm2022/icon/icon.component.mjs +5 -6
  254. package/esm2022/icon/icon.module.mjs +1 -1
  255. package/esm2022/icon/public-api.mjs +3 -3
  256. package/esm2022/input/input-number-validators.mjs +1 -1
  257. package/esm2022/input/input-number.mjs +29 -41
  258. package/esm2022/input/input-password.mjs +13 -8
  259. package/esm2022/input/input-value-accessor.mjs +1 -1
  260. package/esm2022/input/input.mjs +13 -10
  261. package/esm2022/input/input.module.mjs +1 -1
  262. package/esm2022/input/public-api.mjs +3 -3
  263. package/esm2022/link/link.component.mjs +2 -2
  264. package/esm2022/link/link.module.mjs +1 -1
  265. package/esm2022/link/public-api.mjs +2 -2
  266. package/esm2022/list/list-selection.component.mjs +36 -41
  267. package/esm2022/list/list.component.mjs +5 -6
  268. package/esm2022/list/list.module.mjs +2 -2
  269. package/esm2022/list/public-api.mjs +3 -3
  270. package/esm2022/loader-overlay/loader-overlay.component.mjs +3 -3
  271. package/esm2022/loader-overlay/loader-overlay.module.mjs +1 -1
  272. package/esm2022/loader-overlay/public-api.mjs +2 -2
  273. package/esm2022/markdown/markdown.component.mjs +20 -6
  274. package/esm2022/markdown/markdown.module.mjs +1 -1
  275. package/esm2022/markdown/markdown.service.mjs +1 -1
  276. package/esm2022/modal/css-unit.pipe.mjs +1 -1
  277. package/esm2022/modal/modal-control.service.mjs +6 -2
  278. package/esm2022/modal/modal-ref.class.mjs +1 -2
  279. package/esm2022/modal/modal-util.mjs +1 -1
  280. package/esm2022/modal/modal.component.mjs +60 -33
  281. package/esm2022/modal/modal.directive.mjs +27 -11
  282. package/esm2022/modal/modal.module.mjs +2 -2
  283. package/esm2022/modal/modal.service.mjs +3 -6
  284. package/esm2022/modal/modal.type.mjs +1 -1
  285. package/esm2022/modal/public-api.mjs +3 -3
  286. package/esm2022/navbar/index.mjs +1 -1
  287. package/esm2022/navbar/navbar-item.component.mjs +41 -33
  288. package/esm2022/navbar/navbar.component.mjs +19 -29
  289. package/esm2022/navbar/navbar.module.mjs +2 -2
  290. package/esm2022/navbar/public-api.mjs +3 -3
  291. package/esm2022/navbar/vertical-navbar.component.mjs +21 -23
  292. package/esm2022/popover/popover-animations.mjs +1 -1
  293. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  294. package/esm2022/popover/popover.component.mjs +5 -5
  295. package/esm2022/popover/popover.module.mjs +1 -1
  296. package/esm2022/popover/public-api.mjs +3 -3
  297. package/esm2022/progress-bar/progress-bar.component.mjs +4 -4
  298. package/esm2022/progress-bar/progress-bar.module.mjs +2 -2
  299. package/esm2022/progress-bar/public-api.mjs +2 -2
  300. package/esm2022/progress-spinner/progress-spinner.component.mjs +4 -4
  301. package/esm2022/progress-spinner/progress-spinner.module.mjs +1 -1
  302. package/esm2022/progress-spinner/public-api.mjs +2 -2
  303. package/esm2022/radio/public-api.mjs +2 -2
  304. package/esm2022/radio/radio.component.mjs +9 -14
  305. package/esm2022/radio/radio.module.mjs +1 -1
  306. package/esm2022/risk-level/public-api.mjs +2 -2
  307. package/esm2022/risk-level/risk-level.component.mjs +3 -3
  308. package/esm2022/risk-level/risk-level.module.mjs +1 -1
  309. package/esm2022/scrollbar/public-api.mjs +2 -2
  310. package/esm2022/scrollbar/scrollbar.component.mjs +19 -21
  311. package/esm2022/scrollbar/scrollbar.directive.mjs +4 -5
  312. package/esm2022/scrollbar/scrollbar.module.mjs +2 -2
  313. package/esm2022/scrollbar/scrollbar.types.mjs +3 -2
  314. package/esm2022/select/public-api.mjs +3 -3
  315. package/esm2022/select/select-option.directive.mjs +8 -5
  316. package/esm2022/select/select.component.mjs +45 -71
  317. package/esm2022/select/select.module.mjs +1 -1
  318. package/esm2022/sidebar/public-api.mjs +2 -2
  319. package/esm2022/sidebar/sidebar-animations.mjs +1 -1
  320. package/esm2022/sidebar/sidebar.component.mjs +5 -7
  321. package/esm2022/sidebar/sidebar.module.mjs +1 -1
  322. package/esm2022/sidepanel/public-api.mjs +4 -4
  323. package/esm2022/sidepanel/sidepanel-animations.mjs +7 -4
  324. package/esm2022/sidepanel/sidepanel-config.mjs +1 -1
  325. package/esm2022/sidepanel/sidepanel-container.component.mjs +4 -4
  326. package/esm2022/sidepanel/sidepanel-directives.mjs +33 -20
  327. package/esm2022/sidepanel/sidepanel-ref.mjs +10 -5
  328. package/esm2022/sidepanel/sidepanel.module.mjs +1 -1
  329. package/esm2022/sidepanel/sidepanel.service.mjs +11 -15
  330. package/esm2022/splitter/public-api.mjs +2 -2
  331. package/esm2022/splitter/splitter.component.mjs +13 -24
  332. package/esm2022/splitter/splitter.module.mjs +1 -1
  333. package/esm2022/table/public-api.mjs +2 -2
  334. package/esm2022/table/table.component.mjs +3 -3
  335. package/esm2022/table/table.module.mjs +1 -1
  336. package/esm2022/tabs/paginated-tab-header.mjs +9 -14
  337. package/esm2022/tabs/public-api.mjs +6 -6
  338. package/esm2022/tabs/tab-body.component.mjs +10 -11
  339. package/esm2022/tabs/tab-content.directive.mjs +1 -1
  340. package/esm2022/tabs/tab-group.component.mjs +11 -13
  341. package/esm2022/tabs/tab-header.component.mjs +4 -4
  342. package/esm2022/tabs/tab-label-wrapper.directive.mjs +1 -1
  343. package/esm2022/tabs/tab-label.directive.mjs +1 -1
  344. package/esm2022/tabs/tab-nav-bar/index.mjs +1 -1
  345. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +46 -49
  346. package/esm2022/tabs/tab.component.mjs +7 -10
  347. package/esm2022/tabs/tabs-animations.mjs +1 -1
  348. package/esm2022/tabs/tabs.module.mjs +2 -2
  349. package/esm2022/tags/public-api.mjs +5 -5
  350. package/esm2022/tags/tag-default-options.mjs +1 -1
  351. package/esm2022/tags/tag-input.mjs +12 -16
  352. package/esm2022/tags/tag-list.component.mjs +15 -27
  353. package/esm2022/tags/tag-text-control.mjs +1 -1
  354. package/esm2022/tags/tag.component.mjs +5 -8
  355. package/esm2022/tags/tag.module.mjs +9 -7
  356. package/esm2022/textarea/index.mjs +1 -1
  357. package/esm2022/textarea/textarea.component.mjs +4 -7
  358. package/esm2022/textarea/textarea.module.mjs +1 -1
  359. package/esm2022/timepicker/public-api.mjs +2 -2
  360. package/esm2022/timepicker/timepicker.constants.mjs +6 -2
  361. package/esm2022/timepicker/timepicker.directive.mjs +62 -31
  362. package/esm2022/timepicker/timepicker.module.mjs +1 -1
  363. package/esm2022/timezone/cities-by-filter.pipe.mjs +1 -1
  364. package/esm2022/timezone/timezone-option.component.mjs +12 -11
  365. package/esm2022/timezone/timezone-option.directive.mjs +3 -3
  366. package/esm2022/timezone/timezone-select.component.mjs +5 -5
  367. package/esm2022/timezone/timezone.models.mjs +1 -2
  368. package/esm2022/timezone/timezone.module.mjs +1 -1
  369. package/esm2022/timezone/timezone.utils.mjs +5 -9
  370. package/esm2022/timezone/utc-offset.pipe.mjs +1 -1
  371. package/esm2022/title/public-api.mjs +2 -2
  372. package/esm2022/title/title.directive.mjs +9 -5
  373. package/esm2022/title/title.module.mjs +1 -1
  374. package/esm2022/toast/public-api.mjs +4 -4
  375. package/esm2022/toast/toast-animations.mjs +2 -2
  376. package/esm2022/toast/toast-container.component.mjs +5 -6
  377. package/esm2022/toast/toast.component.mjs +6 -6
  378. package/esm2022/toast/toast.module.mjs +1 -1
  379. package/esm2022/toast/toast.service.mjs +18 -30
  380. package/esm2022/toast/toast.type.mjs +1 -1
  381. package/esm2022/toggle/public-api.mjs +2 -2
  382. package/esm2022/toggle/toggle.component.mjs +17 -11
  383. package/esm2022/toggle/toggle.module.mjs +1 -1
  384. package/esm2022/tooltip/public-api.mjs +2 -2
  385. package/esm2022/tooltip/tooltip.animations.mjs +1 -1
  386. package/esm2022/tooltip/tooltip.component.mjs +7 -7
  387. package/esm2022/tooltip/tooltip.module.mjs +2 -2
  388. package/esm2022/tree/control/base-tree-control.mjs +1 -2
  389. package/esm2022/tree/control/flat-tree-control.filters.mjs +4 -7
  390. package/esm2022/tree/control/flat-tree-control.mjs +4 -7
  391. package/esm2022/tree/control/nested-tree-control.mjs +1 -2
  392. package/esm2022/tree/control/tree-control.mjs +1 -1
  393. package/esm2022/tree/data-source/flat-data-source.mjs +3 -8
  394. package/esm2022/tree/data-source/nested-data-source.mjs +2 -4
  395. package/esm2022/tree/node.mjs +1 -1
  396. package/esm2022/tree/outlet.mjs +1 -1
  397. package/esm2022/tree/padding.directive.mjs +4 -5
  398. package/esm2022/tree/public-api.mjs +11 -11
  399. package/esm2022/tree/toggle.mjs +8 -5
  400. package/esm2022/tree/tree-base.mjs +3 -7
  401. package/esm2022/tree/tree-errors.mjs +1 -1
  402. package/esm2022/tree/tree-option.component.mjs +9 -13
  403. package/esm2022/tree/tree-selection.component.mjs +20 -36
  404. package/esm2022/tree/tree.mjs +7 -3
  405. package/esm2022/tree/tree.module.mjs +2 -3
  406. package/esm2022/tree-select/public-api.mjs +2 -2
  407. package/esm2022/tree-select/tree-select.component.mjs +59 -72
  408. package/esm2022/tree-select/tree-select.module.mjs +1 -1
  409. package/fesm2022/koobiq-components-alert.mjs +10 -6
  410. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  411. package/fesm2022/koobiq-components-autocomplete.mjs +60 -72
  412. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  413. package/fesm2022/koobiq-components-badge.mjs +10 -8
  414. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  415. package/fesm2022/koobiq-components-button-toggle.mjs +30 -24
  416. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  417. package/fesm2022/koobiq-components-button.mjs +14 -11
  418. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  419. package/fesm2022/koobiq-components-card.mjs +4 -5
  420. package/fesm2022/koobiq-components-card.mjs.map +1 -1
  421. package/fesm2022/koobiq-components-checkbox.mjs +3 -5
  422. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  423. package/fesm2022/koobiq-components-code-block.mjs +39 -34
  424. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  425. package/fesm2022/koobiq-components-core.mjs +325 -336
  426. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  427. package/fesm2022/koobiq-components-datepicker.mjs +105 -111
  428. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  429. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  430. package/fesm2022/koobiq-components-dl.mjs +9 -9
  431. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  432. package/fesm2022/koobiq-components-dropdown.mjs +125 -147
  433. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  434. package/fesm2022/koobiq-components-ellipsis-center.mjs +3 -2
  435. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  436. package/fesm2022/koobiq-components-empty-state.mjs +157 -0
  437. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -0
  438. package/fesm2022/koobiq-components-file-upload.mjs +46 -41
  439. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  440. package/fesm2022/koobiq-components-form-field.mjs +75 -73
  441. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  442. package/fesm2022/koobiq-components-icon.mjs +9 -10
  443. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  444. package/fesm2022/koobiq-components-input.mjs +56 -60
  445. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  446. package/fesm2022/koobiq-components-link.mjs +1 -1
  447. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  448. package/fesm2022/koobiq-components-list.mjs +43 -49
  449. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  450. package/fesm2022/koobiq-components-loader-overlay.mjs +6 -6
  451. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  452. package/fesm2022/koobiq-components-markdown.mjs +18 -4
  453. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  454. package/fesm2022/koobiq-components-modal.mjs +96 -54
  455. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  456. package/fesm2022/koobiq-components-navbar.mjs +82 -86
  457. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  458. package/fesm2022/koobiq-components-popover.mjs +12 -12
  459. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  460. package/fesm2022/koobiq-components-progress-bar.mjs +5 -5
  461. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  462. package/fesm2022/koobiq-components-progress-spinner.mjs +5 -5
  463. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  464. package/fesm2022/koobiq-components-radio.mjs +11 -16
  465. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  466. package/fesm2022/koobiq-components-risk-level.mjs +4 -4
  467. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  468. package/fesm2022/koobiq-components-scrollbar.mjs +22 -24
  469. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  470. package/fesm2022/koobiq-components-select.mjs +55 -78
  471. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  472. package/fesm2022/koobiq-components-sidebar.mjs +5 -7
  473. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  474. package/fesm2022/koobiq-components-sidepanel.mjs +110 -93
  475. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  476. package/fesm2022/koobiq-components-splitter.mjs +15 -26
  477. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  478. package/fesm2022/koobiq-components-table.mjs +5 -5
  479. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  480. package/fesm2022/koobiq-components-tabs.mjs +85 -98
  481. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  482. package/fesm2022/koobiq-components-tags.mjs +39 -56
  483. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  484. package/fesm2022/koobiq-components-textarea.mjs +2 -5
  485. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  486. package/fesm2022/koobiq-components-timepicker.mjs +69 -34
  487. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  488. package/fesm2022/koobiq-components-timezone.mjs +16 -21
  489. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  490. package/fesm2022/koobiq-components-title.mjs +11 -7
  491. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  492. package/fesm2022/koobiq-components-toast.mjs +74 -87
  493. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  494. package/fesm2022/koobiq-components-toggle.mjs +17 -11
  495. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  496. package/fesm2022/koobiq-components-tooltip.mjs +10 -10
  497. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  498. package/fesm2022/koobiq-components-tree-select.mjs +67 -80
  499. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  500. package/fesm2022/koobiq-components-tree.mjs +509 -541
  501. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  502. package/file-upload/_file-upload-theme.scss +28 -18
  503. package/file-upload/file-upload.scss +0 -1
  504. package/file-upload/multiple-file-upload.component.d.ts +2 -2
  505. package/file-upload/multiple-file-upload.component.scss +17 -27
  506. package/file-upload/public-api.d.ts +1 -1
  507. package/file-upload/single-file-upload.component.d.ts +2 -2
  508. package/file-upload/single-file-upload.component.scss +1 -7
  509. package/form-field/_form-field-theme.scss +24 -12
  510. package/form-field/_hint-theme.scss +0 -2
  511. package/form-field/cleaner.scss +0 -1
  512. package/form-field/form-field.scss +12 -14
  513. package/form-field/hint.scss +0 -1
  514. package/form-field/password-toggle.scss +0 -1
  515. package/form-field/public-api.d.ts +3 -3
  516. package/form-field/stepper.scss +0 -1
  517. package/icon/_icon-button-theme.scss +18 -7
  518. package/icon/_icon-theme.scss +0 -1
  519. package/icon/icon-button.scss +2 -5
  520. package/icon/icon-item.scss +2 -5
  521. package/icon/icon.scss +0 -1
  522. package/icon/public-api.d.ts +2 -2
  523. package/input/_input-theme.scss +0 -1
  524. package/input/input.scss +9 -9
  525. package/input/public-api.d.ts +2 -2
  526. package/link/_link-theme.scss +12 -18
  527. package/link/link.component.d.ts +1 -1
  528. package/link/public-api.d.ts +1 -1
  529. package/list/_list-theme.scss +0 -1
  530. package/list/list-selection.component.d.ts +3 -3
  531. package/list/list.scss +1 -3
  532. package/list/public-api.d.ts +2 -2
  533. package/loader-overlay/_loader-overlay-theme.scss +6 -4
  534. package/loader-overlay/loader-overlay.scss +0 -1
  535. package/loader-overlay/public-api.d.ts +1 -1
  536. package/markdown/_markdown-theme.scss +11 -8
  537. package/markdown/markdown.scss +3 -3
  538. package/modal/README.md +4 -3
  539. package/modal/_modal-animation.scss +0 -1
  540. package/modal/_modal-confirm.scss +0 -1
  541. package/modal/_modal-theme.scss +8 -9
  542. package/modal/modal.directive.d.ts +3 -3
  543. package/modal/modal.scss +9 -15
  544. package/modal/modal.type.d.ts +2 -2
  545. package/modal/public-api.d.ts +2 -2
  546. package/navbar/README.md +21 -20
  547. package/navbar/_navbar-item_horizontal.scss +31 -24
  548. package/navbar/_navbar-item_vertical.scss +0 -3
  549. package/navbar/_navbar-theme.scss +3 -6
  550. package/navbar/navbar-brand.scss +0 -1
  551. package/navbar/navbar-divider.scss +0 -1
  552. package/navbar/navbar-item.component.d.ts +1 -1
  553. package/navbar/navbar-item.scss +9 -2
  554. package/navbar/navbar.scss +0 -1
  555. package/navbar/public-api.d.ts +2 -2
  556. package/navbar/vertical-navbar.scss +0 -1
  557. package/package.json +12 -6
  558. package/popover/README.md +17 -14
  559. package/popover/_popover-theme.scss +0 -1
  560. package/popover/popover.component.d.ts +1 -1
  561. package/popover/popover.scss +5 -13
  562. package/popover/public-api.d.ts +2 -2
  563. package/prebuilt-themes/dark-theme.css +1 -1
  564. package/prebuilt-themes/light-theme.css +1 -1
  565. package/progress-bar/_progress-bar-theme.scss +0 -1
  566. package/progress-bar/progress-bar.scss +0 -1
  567. package/progress-bar/public-api.d.ts +1 -1
  568. package/progress-spinner/_progress-spinner-theme.scss +0 -1
  569. package/progress-spinner/progress-spinner.scss +0 -1
  570. package/progress-spinner/public-api.d.ts +1 -1
  571. package/radio/_radio-theme.scss +13 -5
  572. package/radio/public-api.d.ts +1 -1
  573. package/radio/radio.scss +20 -6
  574. package/risk-level/_risk-level-theme.scss +0 -1
  575. package/risk-level/public-api.d.ts +1 -1
  576. package/risk-level/risk-level.component.scss +1 -4
  577. package/schematics/ng-add/index.js +4 -4
  578. package/scrollbar/_scrollbar-component-theme.scss +2 -3
  579. package/scrollbar/public-api.d.ts +1 -1
  580. package/scrollbar/scrollbar.component.scss +56 -44
  581. package/scrollbar/scrollbar.directive.d.ts +1 -1
  582. package/scrollbar/scrollbar.types.d.ts +1 -1
  583. package/select/_select-theme.scss +0 -1
  584. package/select/public-api.d.ts +2 -2
  585. package/select/select.component.d.ts +4 -1
  586. package/select/select.scss +0 -1
  587. package/sidebar/public-api.d.ts +1 -1
  588. package/sidepanel/_sidepanel-theme.scss +0 -1
  589. package/sidepanel/public-api.d.ts +3 -3
  590. package/sidepanel/sidepanel.scss +6 -12
  591. package/splitter/_splitter-theme.scss +0 -1
  592. package/splitter/public-api.d.ts +1 -1
  593. package/splitter/splitter.component.d.ts +2 -2
  594. package/splitter/splitter.scss +0 -1
  595. package/table/_table-theme.scss +7 -7
  596. package/table/public-api.d.ts +1 -1
  597. package/table/table.scss +2 -2
  598. package/tabs/_tabs-common.scss +10 -8
  599. package/tabs/_tabs-theme.scss +0 -1
  600. package/tabs/paginated-tab-header.d.ts +1 -1
  601. package/tabs/public-api.d.ts +5 -5
  602. package/tabs/tab-body.component.d.ts +3 -3
  603. package/tabs/tab-group.component.d.ts +1 -1
  604. package/tabs/tab-group.scss +0 -1
  605. package/tabs/tab-header.scss +0 -6
  606. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +17 -17
  607. package/tabs/tab-nav-bar/tab-nav-bar.scss +0 -1
  608. package/tags/_tag-theme.scss +0 -2
  609. package/tags/public-api.d.ts +4 -4
  610. package/tags/tag-input.d.ts +1 -1
  611. package/tags/tag-list.scss +9 -7
  612. package/tags/tag.component.d.ts +2 -2
  613. package/tags/tag.scss +1 -4
  614. package/textarea/_textarea-theme.scss +0 -1
  615. package/textarea/textarea.component.d.ts +1 -1
  616. package/textarea/textarea.scss +1 -4
  617. package/timepicker/public-api.d.ts +1 -1
  618. package/timepicker/timepicker.constants.d.ts +2 -0
  619. package/timepicker/timepicker.directive.d.ts +10 -3
  620. package/timepicker/timepicker.scss +0 -1
  621. package/timezone/_timezone-option-theme.scss +0 -1
  622. package/timezone/timezone-option.component.scss +0 -1
  623. package/timezone/timezone-option.directive.d.ts +1 -1
  624. package/timezone/timezone-select.component.scss +0 -1
  625. package/timezone/timezone.utils.d.ts +1 -1
  626. package/title/public-api.d.ts +1 -1
  627. package/title/title.directive.d.ts +2 -2
  628. package/toast/_toast-theme.scss +0 -2
  629. package/toast/public-api.d.ts +3 -3
  630. package/toast/toast-container.component.scss +0 -1
  631. package/toast/toast.component.scss +4 -2
  632. package/toast/toast.service.d.ts +2 -2
  633. package/toast/toast.type.d.ts +1 -1
  634. package/toggle/_toggle-theme.scss +10 -9
  635. package/toggle/public-api.d.ts +1 -1
  636. package/toggle/toggle.component.d.ts +2 -2
  637. package/toggle/toggle.scss +0 -1
  638. package/tooltip/_tooltip-theme.scss +0 -1
  639. package/tooltip/public-api.d.ts +1 -1
  640. package/tooltip/tooltip.component.d.ts +2 -2
  641. package/tooltip/tooltip.scss +1 -5
  642. package/tree/_tree-theme.scss +2 -3
  643. package/tree/public-api.d.ts +10 -10
  644. package/tree/toggle.scss +0 -1
  645. package/tree/tree-base.d.ts +1 -1
  646. package/tree/tree-option.component.d.ts +1 -1
  647. package/tree/tree-option.scss +12 -8
  648. package/tree/tree-selection.component.d.ts +3 -2
  649. package/tree-select/_tree-select-theme.scss +0 -1
  650. package/tree-select/public-api.d.ts +1 -1
  651. package/tree-select/tree-select.component.d.ts +9 -4
  652. package/tree-select/tree-select.scss +0 -1
@@ -0,0 +1,157 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, Optional, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChild, NgModule } from '@angular/core';
3
+ import * as i1 from '@koobiq/components/icon';
4
+ import { A11yModule } from '@angular/cdk/a11y';
5
+ import { PlatformModule } from '@angular/cdk/platform';
6
+ import { CommonModule } from '@angular/common';
7
+
8
+ class KbqEmptyStateIcon {
9
+ constructor(icon) {
10
+ this.icon = icon;
11
+ }
12
+ setErrorColor() {
13
+ if (!this.icon) {
14
+ return;
15
+ }
16
+ this.icon.color = 'error';
17
+ }
18
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateIcon, deps: [{ token: i1.KbqIconItem, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqEmptyStateIcon, selector: "[kbq-empty-state-icon]", host: { classAttribute: "kbq-empty-state-icon" }, ngImport: i0 }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateIcon, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[kbq-empty-state-icon]',
25
+ host: {
26
+ class: 'kbq-empty-state-icon'
27
+ }
28
+ }]
29
+ }], ctorParameters: () => [{ type: i1.KbqIconItem, decorators: [{
30
+ type: Optional
31
+ }] }] });
32
+ class KbqEmptyStateText {
33
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateText, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqEmptyStateText, selector: "[kbq-empty-state-text]", host: { classAttribute: "kbq-empty-state-text" }, ngImport: i0 }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateText, decorators: [{
37
+ type: Directive,
38
+ args: [{
39
+ selector: '[kbq-empty-state-text]',
40
+ host: {
41
+ class: 'kbq-empty-state-text'
42
+ }
43
+ }]
44
+ }] });
45
+ class KbqEmptyStateTitle {
46
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
47
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqEmptyStateTitle, selector: "[kbq-empty-state-title]", host: { classAttribute: "kbq-empty-state-title" }, ngImport: i0 }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateTitle, decorators: [{
50
+ type: Directive,
51
+ args: [{
52
+ selector: '[kbq-empty-state-title]',
53
+ host: {
54
+ class: 'kbq-empty-state-title'
55
+ }
56
+ }]
57
+ }] });
58
+ class KbqEmptyStateActions {
59
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateActions, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
60
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqEmptyStateActions, selector: "[kbq-empty-state-actions]", host: { classAttribute: "kbq-empty-state-actions" }, ngImport: i0 }); }
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateActions, decorators: [{
63
+ type: Directive,
64
+ args: [{
65
+ selector: '[kbq-empty-state-actions]',
66
+ host: {
67
+ class: 'kbq-empty-state-actions'
68
+ }
69
+ }]
70
+ }] });
71
+ class KbqEmptyState {
72
+ constructor() {
73
+ this.errorColor = false;
74
+ this.big = false;
75
+ this.alignTop = false;
76
+ }
77
+ ngAfterContentInit() {
78
+ if (this.errorColor && this.icon) {
79
+ this.icon.setErrorColor();
80
+ }
81
+ }
82
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyState, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
83
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqEmptyState, selector: "kbq-empty-state", inputs: { errorColor: "errorColor", big: "big", alignTop: "alignTop" }, host: { properties: { "class.kbq-empty-state_big": "big", "class.kbq-empty-state_normal": "!big", "class.kbq-empty-state_align-center": "!alignTop", "class.kbq-empty-state_align-top": "alignTop", "class.kbq-empty-state_normal-color": "!errorColor", "class.kbq-empty-state_error-color": "errorColor", "class.kbq-empty-state_has-icon": "!!icon" }, classAttribute: "kbq-empty-state" }, queries: [{ propertyName: "icon", first: true, predicate: KbqEmptyStateIcon, descendants: true }], ngImport: i0, template: "<ng-content select=\"[kbq-empty-state-icon]\" />\n\n<ng-content select=\"[kbq-empty-state-title]\" />\n\n<ng-content select=\"[kbq-empty-state-text]\" />\n\n<ng-content select=\"[kbq-empty-state-actions]\" />\n", styles: [".kbq-empty-state{display:flex;flex-direction:column;align-items:center;flex:1}.kbq-empty-state.kbq-empty-state_normal{padding:var(--kbq-empty-state-size-normal-padding-top, 32px) var(--kbq-empty-state-size-normal-padding-horizontal, 32px) var(--kbq-empty-state-size-normal-padding-bottom, 32px)}.kbq-empty-state.kbq-empty-state_normal .kbq-empty-state-icon{margin-bottom:var(--kbq-empty-state-size-normal-image-margin-bottom, 20px)}.kbq-empty-state.kbq-empty-state_normal .kbq-empty-state-text{max-width:var(--kbq-empty-state-size-normal-max-width, 320px)}.kbq-empty-state.kbq-empty-state_normal .kbq-empty-state-title{max-width:var(--kbq-empty-state-size-normal-max-width, 320px);margin-bottom:var(--kbq-empty-state-size-normal-title-margin-bottom, 4px)}.kbq-empty-state.kbq-empty-state_normal .kbq-empty-state-actions{max-width:var(--kbq-empty-state-size-normal-max-width, 320px);margin-top:var(--kbq-empty-state-size-normal-actions-margin-top, 8px)}.kbq-empty-state.kbq-empty-state_normal.kbq-empty-state_align-center.kbq-empty-state_has-icon{margin-bottom:var(--kbq-empty-state-size-normal-image-addon-height, 24px)}.kbq-empty-state.kbq-empty-state_big{padding:var(--kbq-empty-state-size-big-padding-top, 48px) var(--kbq-empty-state-size-big-padding-horizontal, 56px) var(--kbq-empty-state-size-big-padding-bottom, 48px)}.kbq-empty-state.kbq-empty-state_big .kbq-empty-state-icon{margin-bottom:var(--kbq-empty-state-size-big-image-margin-bottom, 32px)}.kbq-empty-state.kbq-empty-state_big .kbq-empty-state-text{max-width:var(--kbq-empty-state-size-big-max-width, 480px)}.kbq-empty-state.kbq-empty-state_big .kbq-empty-state-title{max-width:var(--kbq-empty-state-size-big-max-width, 480px);margin-bottom:var(--kbq-empty-state-size-big-title-margin-bottom, 16px)}.kbq-empty-state.kbq-empty-state_big .kbq-empty-state-actions{max-width:var(--kbq-empty-state-size-big-max-width, 480px);margin-top:var(--kbq-empty-state-size-big-actions-margin-top, 20px)}.kbq-empty-state.kbq-empty-state_big.kbq-empty-state_align-center.kbq-empty-state_has-icon{margin-bottom:var(--kbq-empty-state-size-big-image-addon-height, 56px)}.kbq-empty-state.kbq-empty-state_align-center{justify-content:center}.kbq-empty-state.kbq-empty-state_align-top{justify-content:flex-start}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
84
+ }
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyState, decorators: [{
86
+ type: Component,
87
+ args: [{ selector: 'kbq-empty-state', host: {
88
+ class: 'kbq-empty-state',
89
+ '[class.kbq-empty-state_big]': 'big',
90
+ '[class.kbq-empty-state_normal]': '!big',
91
+ '[class.kbq-empty-state_align-center]': '!alignTop',
92
+ '[class.kbq-empty-state_align-top]': 'alignTop',
93
+ '[class.kbq-empty-state_normal-color]': '!errorColor',
94
+ '[class.kbq-empty-state_error-color]': 'errorColor',
95
+ '[class.kbq-empty-state_has-icon]': '!!icon'
96
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"[kbq-empty-state-icon]\" />\n\n<ng-content select=\"[kbq-empty-state-title]\" />\n\n<ng-content select=\"[kbq-empty-state-text]\" />\n\n<ng-content select=\"[kbq-empty-state-actions]\" />\n", styles: [".kbq-empty-state{display:flex;flex-direction:column;align-items:center;flex:1}.kbq-empty-state.kbq-empty-state_normal{padding:var(--kbq-empty-state-size-normal-padding-top, 32px) var(--kbq-empty-state-size-normal-padding-horizontal, 32px) var(--kbq-empty-state-size-normal-padding-bottom, 32px)}.kbq-empty-state.kbq-empty-state_normal .kbq-empty-state-icon{margin-bottom:var(--kbq-empty-state-size-normal-image-margin-bottom, 20px)}.kbq-empty-state.kbq-empty-state_normal .kbq-empty-state-text{max-width:var(--kbq-empty-state-size-normal-max-width, 320px)}.kbq-empty-state.kbq-empty-state_normal .kbq-empty-state-title{max-width:var(--kbq-empty-state-size-normal-max-width, 320px);margin-bottom:var(--kbq-empty-state-size-normal-title-margin-bottom, 4px)}.kbq-empty-state.kbq-empty-state_normal .kbq-empty-state-actions{max-width:var(--kbq-empty-state-size-normal-max-width, 320px);margin-top:var(--kbq-empty-state-size-normal-actions-margin-top, 8px)}.kbq-empty-state.kbq-empty-state_normal.kbq-empty-state_align-center.kbq-empty-state_has-icon{margin-bottom:var(--kbq-empty-state-size-normal-image-addon-height, 24px)}.kbq-empty-state.kbq-empty-state_big{padding:var(--kbq-empty-state-size-big-padding-top, 48px) var(--kbq-empty-state-size-big-padding-horizontal, 56px) var(--kbq-empty-state-size-big-padding-bottom, 48px)}.kbq-empty-state.kbq-empty-state_big .kbq-empty-state-icon{margin-bottom:var(--kbq-empty-state-size-big-image-margin-bottom, 32px)}.kbq-empty-state.kbq-empty-state_big .kbq-empty-state-text{max-width:var(--kbq-empty-state-size-big-max-width, 480px)}.kbq-empty-state.kbq-empty-state_big .kbq-empty-state-title{max-width:var(--kbq-empty-state-size-big-max-width, 480px);margin-bottom:var(--kbq-empty-state-size-big-title-margin-bottom, 16px)}.kbq-empty-state.kbq-empty-state_big .kbq-empty-state-actions{max-width:var(--kbq-empty-state-size-big-max-width, 480px);margin-top:var(--kbq-empty-state-size-big-actions-margin-top, 20px)}.kbq-empty-state.kbq-empty-state_big.kbq-empty-state_align-center.kbq-empty-state_has-icon{margin-bottom:var(--kbq-empty-state-size-big-image-addon-height, 56px)}.kbq-empty-state.kbq-empty-state_align-center{justify-content:center}.kbq-empty-state.kbq-empty-state_align-top{justify-content:flex-start}\n"] }]
97
+ }], propDecorators: { errorColor: [{
98
+ type: Input
99
+ }], big: [{
100
+ type: Input
101
+ }], alignTop: [{
102
+ type: Input
103
+ }], icon: [{
104
+ type: ContentChild,
105
+ args: [KbqEmptyStateIcon]
106
+ }] } });
107
+
108
+ class KbqEmptyStateModule {
109
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
110
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateModule, declarations: [KbqEmptyState,
111
+ KbqEmptyStateIcon,
112
+ KbqEmptyStateText,
113
+ KbqEmptyStateTitle,
114
+ KbqEmptyStateTitle,
115
+ KbqEmptyStateActions], imports: [CommonModule,
116
+ A11yModule,
117
+ PlatformModule], exports: [KbqEmptyState,
118
+ KbqEmptyStateIcon,
119
+ KbqEmptyStateText,
120
+ KbqEmptyStateTitle,
121
+ KbqEmptyStateActions] }); }
122
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateModule, imports: [CommonModule,
123
+ A11yModule,
124
+ PlatformModule] }); }
125
+ }
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqEmptyStateModule, decorators: [{
127
+ type: NgModule,
128
+ args: [{
129
+ imports: [
130
+ CommonModule,
131
+ A11yModule,
132
+ PlatformModule
133
+ ],
134
+ declarations: [
135
+ KbqEmptyState,
136
+ KbqEmptyStateIcon,
137
+ KbqEmptyStateText,
138
+ KbqEmptyStateTitle,
139
+ KbqEmptyStateTitle,
140
+ KbqEmptyStateActions
141
+ ],
142
+ exports: [
143
+ KbqEmptyState,
144
+ KbqEmptyStateIcon,
145
+ KbqEmptyStateText,
146
+ KbqEmptyStateTitle,
147
+ KbqEmptyStateActions
148
+ ]
149
+ }]
150
+ }] });
151
+
152
+ /**
153
+ * Generated bundle index. Do not edit.
154
+ */
155
+
156
+ export { KbqEmptyState, KbqEmptyStateActions, KbqEmptyStateIcon, KbqEmptyStateModule, KbqEmptyStateText, KbqEmptyStateTitle };
157
+ //# sourceMappingURL=koobiq-components-empty-state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"koobiq-components-empty-state.mjs","sources":["../../../packages/components/empty-state/empty-state.component.ts","../../../packages/components/empty-state/empty-state.component.html","../../../packages/components/empty-state/empty-state.module.ts","../../../packages/components/empty-state/koobiq-components-empty-state.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Directive,\n Input,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqIconItem } from '@koobiq/components/icon';\n\n@Directive({\n selector: '[kbq-empty-state-icon]',\n host: {\n class: 'kbq-empty-state-icon'\n }\n})\nexport class KbqEmptyStateIcon {\n constructor(@Optional() private icon: KbqIconItem) {}\n\n setErrorColor() {\n if (!this.icon) {\n return;\n }\n\n this.icon.color = 'error';\n }\n}\n\n@Directive({\n selector: '[kbq-empty-state-text]',\n host: {\n class: 'kbq-empty-state-text'\n }\n})\nexport class KbqEmptyStateText {}\n\n@Directive({\n selector: '[kbq-empty-state-title]',\n host: {\n class: 'kbq-empty-state-title'\n }\n})\nexport class KbqEmptyStateTitle {}\n\n@Directive({\n selector: '[kbq-empty-state-actions]',\n host: {\n class: 'kbq-empty-state-actions'\n }\n})\nexport class KbqEmptyStateActions {}\n\n@Component({\n selector: 'kbq-empty-state',\n templateUrl: './empty-state.component.html',\n styleUrls: ['./empty-state.scss'],\n host: {\n class: 'kbq-empty-state',\n '[class.kbq-empty-state_big]': 'big',\n '[class.kbq-empty-state_normal]': '!big',\n '[class.kbq-empty-state_align-center]': '!alignTop',\n '[class.kbq-empty-state_align-top]': 'alignTop',\n '[class.kbq-empty-state_normal-color]': '!errorColor',\n '[class.kbq-empty-state_error-color]': 'errorColor',\n '[class.kbq-empty-state_has-icon]': '!!icon'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqEmptyState implements AfterContentInit {\n @Input() errorColor: boolean = false;\n @Input() big: boolean = false;\n @Input() alignTop: boolean = false;\n\n @ContentChild(KbqEmptyStateIcon) icon: KbqEmptyStateIcon | null;\n\n ngAfterContentInit(): void {\n if (this.errorColor && this.icon) {\n this.icon.setErrorColor();\n }\n }\n}\n","<ng-content select=\"[kbq-empty-state-icon]\" />\n\n<ng-content select=\"[kbq-empty-state-title]\" />\n\n<ng-content select=\"[kbq-empty-state-text]\" />\n\n<ng-content select=\"[kbq-empty-state-actions]\" />\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n KbqEmptyState,\n KbqEmptyStateActions,\n KbqEmptyStateIcon,\n KbqEmptyStateText,\n KbqEmptyStateTitle\n} from './empty-state.component';\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule\n ],\n declarations: [\n KbqEmptyState,\n KbqEmptyStateIcon,\n KbqEmptyStateText,\n KbqEmptyStateTitle,\n KbqEmptyStateTitle,\n KbqEmptyStateActions\n ],\n exports: [\n KbqEmptyState,\n KbqEmptyStateIcon,\n KbqEmptyStateText,\n KbqEmptyStateTitle,\n KbqEmptyStateActions\n ]\n})\nexport class KbqEmptyStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAkBa,iBAAiB,CAAA;AAC1B,IAAA,WAAA,CAAgC,IAAiB,EAAA;QAAjB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAa;KAAI;IAErD,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,OAAO;SACV;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;KAC7B;iIATQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAjB,iBAAiB,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,sBAAsB;AAChC,qBAAA;AACJ,iBAAA,CAAA;;0BAEgB,QAAQ;;MAiBZ,iBAAiB,CAAA;iIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAjB,iBAAiB,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,sBAAsB;AAChC,qBAAA;AACJ,iBAAA,CAAA;;MASY,kBAAkB,CAAA;iIAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAlB,kBAAkB,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,uBAAuB;AACjC,qBAAA;AACJ,iBAAA,CAAA;;MASY,oBAAoB,CAAA;iIAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAApB,oBAAoB,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,yBAAyB;AACnC,qBAAA;AACJ,iBAAA,CAAA;;MAoBY,aAAa,CAAA;AAjB1B,IAAA,WAAA,GAAA;QAkBa,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;QAC5B,IAAG,CAAA,GAAA,GAAY,KAAK,CAAC;QACrB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAStC,KAAA;IALG,kBAAkB,GAAA;QACd,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE;AAC9B,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;SAC7B;KACJ;iIAXQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAb,aAAa,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,GAAA,EAAA,KAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,KAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,oCAAA,EAAA,WAAA,EAAA,iCAAA,EAAA,UAAA,EAAA,oCAAA,EAAA,aAAA,EAAA,mCAAA,EAAA,YAAA,EAAA,gCAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKR,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5EnC,oNAOA,EAAA,MAAA,EAAA,CAAA,mtEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDgEa,aAAa,EAAA,UAAA,EAAA,CAAA;kBAjBzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGrB,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,6BAA6B,EAAE,KAAK;AACpC,wBAAA,gCAAgC,EAAE,MAAM;AACxC,wBAAA,sCAAsC,EAAE,WAAW;AACnD,wBAAA,mCAAmC,EAAE,UAAU;AAC/C,wBAAA,sCAAsC,EAAE,aAAa;AACrD,wBAAA,qCAAqC,EAAE,YAAY;AACnD,wBAAA,kCAAkC,EAAE,QAAQ;AAC/C,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,oNAAA,EAAA,MAAA,EAAA,CAAA,mtEAAA,CAAA,EAAA,CAAA;8BAG5B,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAE2B,IAAI,EAAA,CAAA;sBAApC,YAAY;uBAAC,iBAAiB,CAAA;;;MEzCtB,mBAAmB,CAAA;iIAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBAfxB,aAAa;YACb,iBAAiB;YACjB,iBAAiB;YACjB,kBAAkB;YAClB,kBAAkB;AAClB,YAAA,oBAAoB,aAVpB,YAAY;YACZ,UAAU;AACV,YAAA,cAAc,aAWd,aAAa;YACb,iBAAiB;YACjB,iBAAiB;YACjB,kBAAkB;YAClB,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YApBxB,YAAY;YACZ,UAAU;YACV,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAkBT,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAtB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,UAAU;wBACV,cAAc;AACjB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,aAAa;wBACb,iBAAiB;wBACjB,iBAAiB;wBACjB,kBAAkB;wBAClB,kBAAkB;wBAClB,oBAAoB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,aAAa;wBACb,iBAAiB;wBACjB,iBAAiB;wBACjB,kBAAkB;wBAClB,oBAAoB;AACvB,qBAAA;AACJ,iBAAA,CAAA;;;AClCD;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, EventEmitter, Directive, Output, TemplateRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, Inject, Self, Input, ContentChild, ViewChild, NgModule } from '@angular/core';
2
+ import { EventEmitter, Directive, Output, InjectionToken, TemplateRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, Inject, Self, Input, ContentChild, ViewChild, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@angular/forms';
@@ -13,33 +13,16 @@ import * as i6 from '@koobiq/components/form-field';
13
13
  import { KbqFormFieldModule } from '@koobiq/components/form-field';
14
14
  import * as i4 from '@koobiq/components/icon';
15
15
  import { KbqIconModule } from '@koobiq/components/icon';
16
+ import * as i8 from '@koobiq/components/link';
17
+ import { KbqLinkModule } from '@koobiq/components/link';
16
18
  import * as i5 from '@koobiq/components/list';
17
19
  import { KbqListModule } from '@koobiq/components/list';
18
20
  import * as i3 from '@koobiq/components/progress-spinner';
19
21
  import { KbqProgressSpinnerModule } from '@koobiq/components/progress-spinner';
20
22
  import { KbqToolTipModule } from '@koobiq/components/tooltip';
21
- import * as i8 from '@koobiq/components/link';
22
- import { KbqLinkModule } from '@koobiq/components/link';
23
23
  import { Subscription, BehaviorSubject } from 'rxjs';
24
24
  import { distinctUntilChanged } from 'rxjs/operators';
25
25
 
26
- /* Object for labels customization inside file upload component */
27
- const KBQ_FILE_UPLOAD_CONFIGURATION = new InjectionToken('KbqFileUploadConfiguration');
28
- const isCorrectExtension = (file, accept) => {
29
- if (!accept?.length) {
30
- return true;
31
- }
32
- const { name, type } = file;
33
- const fileExt = name.split('.').pop() || '';
34
- for (const acceptedExtensionOrMimeType of accept) {
35
- const typeAsRegExp = new RegExp(acceptedExtensionOrMimeType);
36
- if (typeAsRegExp.test(fileExt) || typeAsRegExp.test(type)) {
37
- return true;
38
- }
39
- }
40
- return false;
41
- };
42
-
43
26
  const isFolderCanBeDragged = () => 'webkitGetAsEntry' in DataTransferItem.prototype;
44
27
  const entryIsDirectory = (entry) => !!entry && entry.isDirectory;
45
28
  const entryIsFile = (entry) => !!entry && entry.isFile;
@@ -66,6 +49,7 @@ class KbqFileDropDirective {
66
49
  this.dragover = false;
67
50
  if (event.dataTransfer && event.dataTransfer.items.length > 0) {
68
51
  // event.dataTransfer.items requires dom.iterable lib
52
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
69
53
  // @ts-ignore
70
54
  const fileEntries = [...event.dataTransfer.items]
71
55
  .filter((item) => item.kind === 'file')
@@ -118,6 +102,23 @@ const unwrapDirectory = async (item) => {
118
102
  return Promise.all(result);
119
103
  };
120
104
 
105
+ /* Object for labels customization inside file upload component */
106
+ const KBQ_FILE_UPLOAD_CONFIGURATION = new InjectionToken('KbqFileUploadConfiguration');
107
+ const isCorrectExtension = (file, accept) => {
108
+ if (!accept?.length) {
109
+ return true;
110
+ }
111
+ const { name, type } = file;
112
+ const fileExt = name.split('.').pop() || '';
113
+ for (const acceptedExtensionOrMimeType of accept) {
114
+ const typeAsRegExp = new RegExp(acceptedExtensionOrMimeType);
115
+ if (typeAsRegExp.test(fileExt) || typeAsRegExp.test(type)) {
116
+ return true;
117
+ }
118
+ }
119
+ return false;
120
+ };
121
+
121
122
  let nextMultipleFileUploadUniqueId = 0;
122
123
  const KBQ_MULTIPLE_FILE_UPLOAD_DEFAULT_CONFIGURATION = ruRULocaleData.fileUpload.multiple;
123
124
  class KbqMultipleFileUploadComponent {
@@ -154,10 +155,8 @@ class KbqMultipleFileUploadComponent {
154
155
  this.hasFocus = false;
155
156
  this.statusChangeSubscription = Subscription.EMPTY;
156
157
  /** cvaOnChange function registered via registerOnChange (ControlValueAccessor). */
157
- // eslint-disable-next-line @typescript-eslint/no-empty-function
158
158
  this.cvaOnChange = (_) => { };
159
159
  /** onTouch function registered via registerOnTouch (ControlValueAccessor). */
160
- // eslint-disable-next-line @typescript-eslint/no-empty-function
161
160
  this.onTouched = () => { };
162
161
  this.updateLocaleParams = () => {
163
162
  this.config = this.configuration || this.localeService?.getParams('fileUpload').multiple;
@@ -169,8 +168,7 @@ class KbqMultipleFileUploadComponent {
169
168
  this.getCaptionText();
170
169
  this.cdr.markForCheck();
171
170
  };
172
- this.localeService?.changes
173
- .subscribe(this.updateLocaleParams);
171
+ this.localeService?.changes.subscribe(this.updateLocaleParams);
174
172
  if (!localeService) {
175
173
  this.initDefaultParams();
176
174
  }
@@ -202,10 +200,14 @@ class KbqMultipleFileUploadComponent {
202
200
  }
203
201
  /** Implemented as part of ControlValueAccessor.
204
202
  * @docs-private */
205
- registerOnChange(fn) { this.cvaOnChange = fn; }
203
+ registerOnChange(fn) {
204
+ this.cvaOnChange = fn;
205
+ }
206
206
  /** Implemented as part of ControlValueAccessor.
207
207
  * @docs-private */
208
- registerOnTouched(fn) { this.onTouched = fn; }
208
+ registerOnTouched(fn) {
209
+ this.onTouched = fn;
210
+ }
209
211
  /**
210
212
  * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.
211
213
  * @param isDisabled Whether the control should be disabled.
@@ -264,10 +266,12 @@ class KbqMultipleFileUploadComponent {
264
266
  if (!this.customValidation?.length) {
265
267
  return;
266
268
  }
267
- const errorsPerFile = this.customValidation.reduce((errors, validatorFn) => {
269
+ const errorsPerFile = this.customValidation
270
+ .reduce((errors, validatorFn) => {
268
271
  errors.push(validatorFn(file));
269
272
  return errors;
270
- }, []).filter(Boolean);
273
+ }, [])
274
+ .filter(Boolean);
271
275
  this.errors = [
272
276
  ...this.errors,
273
277
  ...errorsPerFile
@@ -286,17 +290,16 @@ class KbqMultipleFileUploadComponent {
286
290
  getCaptionText() {
287
291
  this.separatedCaptionText = this.config.captionText.split('{{ browseLink }}');
288
292
  this.separatedCaptionTextWhenSelected = this.config.captionTextWhenSelected.split('{{ browseLink }}');
289
- this.separatedCaptionTextForCompactSize = this.config.captionTextForCompactSize
290
- .split('{{ browseLink }}');
293
+ this.separatedCaptionTextForCompactSize = this.config.captionTextForCompactSize.split('{{ browseLink }}');
291
294
  }
292
295
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqMultipleFileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: KBQ_FILE_UPLOAD_CONFIGURATION, optional: true }, { token: KBQ_LOCALE_SERVICE, optional: true }, { token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
293
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqMultipleFileUploadComponent, selector: "kbq-multiple-file-upload,kbq-file-upload[multiple]", inputs: { progressMode: "progressMode", accept: "accept", disabled: "disabled", errors: "errors", size: "size", inputId: "inputId", customValidation: "customValidation", files: "files" }, outputs: { fileQueueChanged: "fileQueueChanged" }, host: { classAttribute: "kbq-multiple-file-upload" }, queries: [{ propertyName: "customFileIcon", first: true, predicate: ["kbqFileIcon"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"kbq-file-upload\"\n kbqFileDrop\n [class.kbq-disabled]=\"disabled\"\n [class.selected]=\"files?.length\"\n [ngClass]=\"size\"\n (filesDropped)=\"onFileDropped($event)\">\n\n <ng-container *ngIf=\"!files.length; else fileOutput\">\n <div class=\"dropzone\">\n <ng-container *ngIf=\"size === 'default' else compactCaption\">\n <i kbq-icon=\"mc-upload-to-cloud_32\"></i>\n <div class=\"dropzone__text\">\n <span class=\"multiple__header\">{{ config.title }}</span>\n <div>\n <span class=\"multiple__caption\">\n {{ separatedCaptionText[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container></label>{{ separatedCaptionText[1] }}\n </span>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n</div>\n\n<div class=\"kbq-file-upload__info-section\">\n <kbq-hint class=\"kbq-file-upload__hint\">\n <ng-content select=\"[hint]\"></ng-content>\n </kbq-hint>\n\n <ng-container *ngIf=\"hasErrors\">\n <kbq-hint class=\"kbq-file-upload__hint kbq-error\"\n *ngFor=\"let error of errors\">\n {{ error }}\n </kbq-hint>\n </ng-container>\n</div>\n\n<ng-template #fileOutput>\n <div class=\"file-upload__dropzone\">\n <div class=\"kbq-file-upload__grid\">\n <div class=\"kbq-file-multiple-uploaded__header\">\n <div class=\"kbq-file-multiple-uploaded__header-inner\">\n <div [class]=\"'kbq-file-upload__' + column.cssClass\" *ngFor=\"let column of columnDefs\">\n {{ column.header }}\n </div>\n </div>\n </div>\n\n <kbq-list-selection [autoSelect]=\"false\" [disabled]=\"disabled\">\n <kbq-list-option\n class=\"multiple__uploaded-item\"\n [value]=\"file.file.name\"\n (keydown.delete)=\"deleteFile(index)\"\n (keydown.backspace)=\"deleteFile(index)\"\n *ngFor=\"let file of files; let index = index;\">\n <div class=\"kbq-file-upload__row\" [class.error]=\"file.hasError\">\n <div class=\"kbq-file-upload__file\">\n <ng-container *ngIf=\"{ loading: file.loading | async, progress: file.progress | async } as asyncData\">\n <ng-container *ngIf=\"!asyncData.loading\"\n [ngTemplateOutlet]=\"$any(customFileIcon)\"\n [ngTemplateOutletContext]=\"{ $implicit: file }\">\n </ng-container>\n\n <kbq-progress-spinner\n class=\"kbq-file-upload-name-cell__icon\"\n [mode]=\"progressMode\"\n [value]=\"asyncData.progress || 0\"\n *ngIf=\"asyncData.loading\"\n ></kbq-progress-spinner>\n </ng-container>\n\n <span class=\"file-item__text\" [kbqEllipsisCenter]=\"file.file.name\" [minVisibleLength]=\"10\"></span>\n </div>\n <div class=\"kbq-file-upload__size\">\n {{ file.file.size | kbqDataSize }}\n </div>\n <div class=\"kbq-file-upload__action\">\n <i kbq-icon-button=\"mc-close-circle_16\" (click)=\"deleteFile(index, $event)\"></i>\n </div>\n </div>\n </kbq-list-option>\n </kbq-list-selection>\n </div>\n\n <div class=\"btn-upload\">\n <div class=\"dropzone\">\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <span class=\"dropzone__text multiple__caption\">\n {{ separatedCaptionTextWhenSelected[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container></label>{{ separatedCaptionTextWhenSelected[1] }}\n </span>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #compactCaption>\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <span class=\"dropzone__text multiple__caption\">\n {{ separatedCaptionTextForCompactSize[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container></label>{{ separatedCaptionTextForCompactSize[1] }}\n </span>\n</ng-template>\n\n<ng-template #inputTemplate>\n <input #input\n type=\"file\"\n class=\"cdk-visually-hidden\"\n multiple\n [id]=\"inputId\"\n [accept]=\"acceptedFiles\"\n [disabled]=\"disabled\"\n (change)=\"onFileSelectedViaClick($event)\">\n</ng-template>\n", styles: [".kbq-file-upload{box-sizing:border-box;display:flex;align-items:center;position:relative}.kbq-file-upload .dropzone,.kbq-file-upload .file-item{display:flex;align-items:center}.kbq-file-upload .kbq-ellipsis-center{position:relative;display:flex}.kbq-file-upload .kbq-ellipsis-center .data-text-start{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:pre}.kbq-file-upload .kbq-ellipsis-center .data-text-end{flex:1 0 auto;overflow:hidden;white-space:pre}\n", ".kbq-multiple-file-upload .kbq-file-upload{border-radius:var(--kbq-file-upload-size-multiple-big-container-border-radius, 8px);border-width:var(--kbq-file-upload-size-multiple-big-container-border-width, 1px);border-style:dashed}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected){justify-content:center;padding:var(--kbq-file-upload-size-multiple-big-container-padding-vertical, 24px) var(--kbq-file-upload-size-multiple-big-container-padding-vertical, 24px);min-height:var(--kbq-file-upload-size-multiple-big-container-min-height, 160px);min-width:var(--kbq-file-upload-size-multiple-big-container-min-width, 320px)}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone{gap:var(--kbq-file-upload-size-multiple-big-container-content-gap-horizontal, 12px)}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone__text .multiple__header{display:block}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone__text .multiple__caption{display:block;padding-top:var(--kbq-file-upload-size-multiple-big-text-block-content-gap-vertical, 0px);gap:var(--kbq-file-upload-size-multiple-big-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected){padding:var(--kbq-file-upload-size-single-container-padding-vertical, 12px) var(--kbq-file-upload-size-single-container-padding-horizontal, 12px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected) .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected) .dropzone .dropzone__text.multiple__caption{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item{padding:0}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item .kbq-list-text{padding:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical, 8px) - var(--kbq-list-size-container-focus-outline-width, 2px)) calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal, 8px) - var(--kbq-list-size-container-focus-outline-width, 2px))}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item .kbq-icon{margin-right:0}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__grid{min-height:144px}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row{display:flex;align-items:center}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__file,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{width:65%;max-width:65%;gap:var(--kbq-file-upload-size-multiple-big-grid-cell-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__size,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__size{width:64px;min-width:64px;text-align:left;flex-grow:1}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{display:flex;align-items:center}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file .file-item__text{margin-left:0;width:90%}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header{border-bottom-width:1px;border-bottom-style:solid}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header .kbq-file-multiple-uploaded__header-inner{padding:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical, 8px) + 2px) calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal, 8px) + 2px)}.kbq-multiple-file-upload .kbq-file-upload .btn-upload{padding:calc(var(--kbq-file-upload-size-single-container-padding-vertical, 12px) - 1px) calc(var(--kbq-file-upload-size-single-container-padding-horizontal, 12px) - 1px);border-top-left-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-top-right-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-top-width:var(--kbq-file-upload-size-single-container-border-width, 1px);border-top-style:dashed}.kbq-multiple-file-upload .kbq-file-upload .btn-upload .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-multiple-file-upload .kbq-file-upload .btn-upload .dropzone .dropzone__text.multiple__caption{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .file-upload__dropzone{width:100%;height:100%}.kbq-hint{display:block}.kbq-file-upload__hint{margin-top:var(--kbq-form-field-hint-size-margin-top, 4px)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.KbqProgressSpinner, selector: "kbq-progress-spinner", inputs: ["color", "id", "value", "mode", "size"] }, { kind: "component", type: i4.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "component", type: i4.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["color", "small", "tabindex", "disabled"] }, { kind: "component", type: i5.KbqListSelection, selector: "kbq-list-selection", inputs: ["disabled", "autoSelect", "noUnselectLast", "horizontal", "tabIndex", "compareWith"], outputs: ["onSelectAll", "onCopy", "selectionChange"], exportAs: ["kbqListSelection"] }, { kind: "component", type: i5.KbqListOption, selector: "kbq-list-option", inputs: ["checkboxPosition", "value", "disabled", "showCheckbox", "selected"], exportAs: ["kbqListOption"] }, { kind: "component", type: i6.KbqHint, selector: "kbq-hint", inputs: ["color", "id", "fillTextOff", "compact"], exportAs: ["kbqHint"] }, { kind: "directive", type: i7.KbqEllipsisCenterDirective, selector: "[kbqEllipsisCenter]", inputs: ["kbqEllipsisCenter", "minVisibleLength"] }, { kind: "directive", type: i8.KbqLink, selector: "[kbq-link]", inputs: ["tabIndex", "disabled", "pseudo", "noUnderline", "big", "compact", "useVisited", "print"], exportAs: ["kbqLink"] }, { kind: "directive", type: KbqFileDropDirective, selector: "[kbqFileDrop]", outputs: ["filesDropped"], exportAs: ["kbqFileDrop"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.KbqDataSizePipe, name: "kbqDataSize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
296
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqMultipleFileUploadComponent, selector: "kbq-multiple-file-upload,kbq-file-upload[multiple]", inputs: { progressMode: "progressMode", accept: "accept", disabled: "disabled", errors: "errors", size: "size", inputId: "inputId", customValidation: "customValidation", files: "files" }, outputs: { fileQueueChanged: "fileQueueChanged" }, host: { classAttribute: "kbq-multiple-file-upload" }, queries: [{ propertyName: "customFileIcon", first: true, predicate: ["kbqFileIcon"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div\n kbqFileDrop\n class=\"kbq-file-upload\"\n [class.kbq-disabled]=\"disabled\"\n [class.selected]=\"files?.length\"\n [ngClass]=\"size\"\n (filesDropped)=\"onFileDropped($event)\"\n>\n <ng-container *ngIf=\"!files.length; else fileOutput\">\n <div class=\"dropzone\">\n <ng-container *ngIf=\"size === 'default'; else compactCaption\">\n <i kbq-icon=\"mc-upload-to-cloud_32\"></i>\n <div class=\"dropzone__text\">\n <span class=\"multiple__header\">{{ config.title }}</span>\n <div>\n <!-- prettier-ignore -->\n <span class=\"multiple__caption\">\n {{ separatedCaptionText[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<ng-container *ngTemplateOutlet=\"inputTemplate\" /></label>{{ separatedCaptionText[1] }}\n </span>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n</div>\n\n<div class=\"kbq-file-upload__info-section\">\n <kbq-hint class=\"kbq-file-upload__hint\">\n <ng-content select=\"[hint]\" />\n </kbq-hint>\n\n <ng-container *ngIf=\"hasErrors\">\n <kbq-hint\n *ngFor=\"let error of errors\"\n class=\"kbq-file-upload__hint kbq-error\"\n >\n {{ error }}\n </kbq-hint>\n </ng-container>\n</div>\n\n<ng-template #fileOutput>\n <div class=\"file-upload__dropzone\">\n <div class=\"kbq-file-upload__grid\">\n <div class=\"kbq-file-multiple-uploaded__header\">\n <div class=\"kbq-file-multiple-uploaded__header-inner\">\n <div\n *ngFor=\"let column of columnDefs\"\n [class]=\"'kbq-file-upload__' + column.cssClass\"\n >\n {{ column.header }}\n </div>\n </div>\n </div>\n\n <kbq-list-selection\n [autoSelect]=\"false\"\n [disabled]=\"disabled\"\n >\n <kbq-list-option\n *ngFor=\"let file of files; let index = index\"\n class=\"multiple__uploaded-item\"\n [value]=\"file.file.name\"\n (keydown.backspace)=\"deleteFile(index)\"\n (keydown.delete)=\"deleteFile(index)\"\n >\n <div\n class=\"kbq-file-upload__row\"\n [class.error]=\"file.hasError\"\n >\n <div class=\"kbq-file-upload__file\">\n <ng-container\n *ngIf=\"{ loading: file.loading | async, progress: file.progress | async } as asyncData\"\n >\n <ng-container\n *ngIf=\"!asyncData.loading\"\n [ngTemplateOutlet]=\"$any(customFileIcon)\"\n [ngTemplateOutletContext]=\"{ $implicit: file }\"\n />\n\n <kbq-progress-spinner\n *ngIf=\"asyncData.loading\"\n class=\"kbq-file-upload-name-cell__icon\"\n [mode]=\"progressMode\"\n [value]=\"asyncData.progress || 0\"\n />\n </ng-container>\n\n <span\n class=\"file-item__text\"\n [kbqEllipsisCenter]=\"file.file.name\"\n [minVisibleLength]=\"10\"\n ></span>\n </div>\n <div class=\"kbq-file-upload__size\">{{ file.file.size | kbqDataSize }}</div>\n <div class=\"kbq-file-upload__action\">\n <i\n kbq-icon-button=\"mc-close-circle_16\"\n (click)=\"deleteFile(index, $event)\"\n ></i>\n </div>\n </div>\n </kbq-list-option>\n </kbq-list-selection>\n </div>\n\n <div class=\"btn-upload\">\n <div class=\"dropzone\">\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <span class=\"dropzone__text multiple__caption\">\n {{ separatedCaptionTextWhenSelected[0] }}\n <label\n kbq-link\n pseudo\n [disabled]=\"disabled\"\n [for]=\"inputId\"\n [tabIndex]=\"-1\"\n >\n {{ config.browseLink }}\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n </label>\n {{ separatedCaptionTextWhenSelected[1] }}\n </span>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #compactCaption>\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <span class=\"dropzone__text multiple__caption\">\n {{ separatedCaptionTextForCompactSize[0] }}\n <label\n kbq-link\n pseudo\n [disabled]=\"disabled\"\n [for]=\"inputId\"\n [tabIndex]=\"-1\"\n >\n {{ config.browseLink }}\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n </label>\n {{ separatedCaptionTextForCompactSize[1] }}\n </span>\n</ng-template>\n\n<ng-template #inputTemplate>\n <input\n #input\n multiple\n type=\"file\"\n class=\"cdk-visually-hidden\"\n [accept]=\"acceptedFiles\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n (change)=\"onFileSelectedViaClick($event)\"\n />\n</ng-template>\n", styles: [".kbq-file-upload{box-sizing:border-box;display:flex;align-items:center;position:relative}.kbq-file-upload .dropzone,.kbq-file-upload .file-item{display:flex;align-items:center}.kbq-file-upload .kbq-ellipsis-center{position:relative;display:flex}.kbq-file-upload .kbq-ellipsis-center .data-text-start{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:pre}.kbq-file-upload .kbq-ellipsis-center .data-text-end{flex:1 0 auto;overflow:hidden;white-space:pre}\n", ".kbq-multiple-file-upload .kbq-file-upload{border-radius:var(--kbq-file-upload-size-multiple-big-container-border-radius, 8px);border-width:var(--kbq-file-upload-size-multiple-big-container-border-width, 1px);border-style:dashed}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected){justify-content:center;padding:var(--kbq-file-upload-size-multiple-big-container-padding-vertical, 24px) var(--kbq-file-upload-size-multiple-big-container-padding-vertical, 24px);min-height:var(--kbq-file-upload-size-multiple-big-container-min-height, 160px);min-width:var(--kbq-file-upload-size-multiple-big-container-min-width, 320px)}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone{gap:var(--kbq-file-upload-size-multiple-big-container-content-gap-horizontal, 12px)}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone__text .multiple__header{display:block}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone__text .multiple__caption{display:block;padding-top:var(--kbq-file-upload-size-multiple-big-text-block-content-gap-vertical, 0px);gap:var(--kbq-file-upload-size-multiple-big-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected){padding:var(--kbq-file-upload-size-single-container-padding-vertical, 12px) var(--kbq-file-upload-size-single-container-padding-horizontal, 12px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected) .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected) .dropzone .dropzone__text.multiple__caption{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item{padding:0}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item .kbq-list-text{padding:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical, 8px) - var(--kbq-list-size-container-focus-outline-width, 2px)) calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal, 8px) - var(--kbq-list-size-container-focus-outline-width, 2px))}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item .kbq-icon{margin-right:0}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__grid{min-height:144px}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row{display:flex;align-items:center}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__file,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{width:65%;max-width:65%;gap:var(--kbq-file-upload-size-multiple-big-grid-cell-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__size,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__size{width:64px;min-width:64px;text-align:left;flex-grow:1}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{display:flex;align-items:center}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file .file-item__text{margin-left:0;width:90%}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header{border-bottom-width:1px;border-bottom-style:solid}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header .kbq-file-multiple-uploaded__header-inner{padding:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical, 8px) + 2px) calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal, 8px) + 2px)}.kbq-multiple-file-upload .kbq-file-upload .btn-upload{padding:calc(var(--kbq-file-upload-size-single-container-padding-vertical, 12px) - 1px) calc(var(--kbq-file-upload-size-single-container-padding-horizontal, 12px) - 1px);border-top-left-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-top-right-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-top-width:var(--kbq-file-upload-size-single-container-border-width, 1px);border-top-style:dashed}.kbq-multiple-file-upload .kbq-file-upload .btn-upload .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-multiple-file-upload .kbq-file-upload .btn-upload .dropzone .dropzone__text.multiple__caption{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .file-upload__dropzone{width:100%;height:100%}.kbq-file-upload__hint{margin-top:var(--kbq-form-field-hint-size-margin-top, 4px)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.KbqProgressSpinner, selector: "kbq-progress-spinner", inputs: ["color", "id", "value", "mode", "size"] }, { kind: "component", type: i4.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "component", type: i4.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["color", "small", "tabindex", "disabled"] }, { kind: "component", type: i5.KbqListSelection, selector: "kbq-list-selection", inputs: ["disabled", "autoSelect", "noUnselectLast", "horizontal", "tabIndex", "compareWith"], outputs: ["onSelectAll", "onCopy", "selectionChange"], exportAs: ["kbqListSelection"] }, { kind: "component", type: i5.KbqListOption, selector: "kbq-list-option", inputs: ["checkboxPosition", "value", "disabled", "showCheckbox", "selected"], exportAs: ["kbqListOption"] }, { kind: "component", type: i6.KbqHint, selector: "kbq-hint", inputs: ["color", "id", "fillTextOff", "compact"], exportAs: ["kbqHint"] }, { kind: "directive", type: i7.KbqEllipsisCenterDirective, selector: "[kbqEllipsisCenter]", inputs: ["kbqEllipsisCenter", "minVisibleLength"] }, { kind: "directive", type: i8.KbqLink, selector: "[kbq-link]", inputs: ["tabIndex", "disabled", "pseudo", "noUnderline", "big", "compact", "useVisited", "print"], exportAs: ["kbqLink"] }, { kind: "directive", type: KbqFileDropDirective, selector: "[kbqFileDrop]", outputs: ["filesDropped"], exportAs: ["kbqFileDrop"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.KbqDataSizePipe, name: "kbqDataSize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
294
297
  }
295
298
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqMultipleFileUploadComponent, decorators: [{
296
299
  type: Component,
297
300
  args: [{ selector: 'kbq-multiple-file-upload,kbq-file-upload[multiple]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
298
301
  class: 'kbq-multiple-file-upload'
299
- }, template: "<div class=\"kbq-file-upload\"\n kbqFileDrop\n [class.kbq-disabled]=\"disabled\"\n [class.selected]=\"files?.length\"\n [ngClass]=\"size\"\n (filesDropped)=\"onFileDropped($event)\">\n\n <ng-container *ngIf=\"!files.length; else fileOutput\">\n <div class=\"dropzone\">\n <ng-container *ngIf=\"size === 'default' else compactCaption\">\n <i kbq-icon=\"mc-upload-to-cloud_32\"></i>\n <div class=\"dropzone__text\">\n <span class=\"multiple__header\">{{ config.title }}</span>\n <div>\n <span class=\"multiple__caption\">\n {{ separatedCaptionText[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container></label>{{ separatedCaptionText[1] }}\n </span>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n</div>\n\n<div class=\"kbq-file-upload__info-section\">\n <kbq-hint class=\"kbq-file-upload__hint\">\n <ng-content select=\"[hint]\"></ng-content>\n </kbq-hint>\n\n <ng-container *ngIf=\"hasErrors\">\n <kbq-hint class=\"kbq-file-upload__hint kbq-error\"\n *ngFor=\"let error of errors\">\n {{ error }}\n </kbq-hint>\n </ng-container>\n</div>\n\n<ng-template #fileOutput>\n <div class=\"file-upload__dropzone\">\n <div class=\"kbq-file-upload__grid\">\n <div class=\"kbq-file-multiple-uploaded__header\">\n <div class=\"kbq-file-multiple-uploaded__header-inner\">\n <div [class]=\"'kbq-file-upload__' + column.cssClass\" *ngFor=\"let column of columnDefs\">\n {{ column.header }}\n </div>\n </div>\n </div>\n\n <kbq-list-selection [autoSelect]=\"false\" [disabled]=\"disabled\">\n <kbq-list-option\n class=\"multiple__uploaded-item\"\n [value]=\"file.file.name\"\n (keydown.delete)=\"deleteFile(index)\"\n (keydown.backspace)=\"deleteFile(index)\"\n *ngFor=\"let file of files; let index = index;\">\n <div class=\"kbq-file-upload__row\" [class.error]=\"file.hasError\">\n <div class=\"kbq-file-upload__file\">\n <ng-container *ngIf=\"{ loading: file.loading | async, progress: file.progress | async } as asyncData\">\n <ng-container *ngIf=\"!asyncData.loading\"\n [ngTemplateOutlet]=\"$any(customFileIcon)\"\n [ngTemplateOutletContext]=\"{ $implicit: file }\">\n </ng-container>\n\n <kbq-progress-spinner\n class=\"kbq-file-upload-name-cell__icon\"\n [mode]=\"progressMode\"\n [value]=\"asyncData.progress || 0\"\n *ngIf=\"asyncData.loading\"\n ></kbq-progress-spinner>\n </ng-container>\n\n <span class=\"file-item__text\" [kbqEllipsisCenter]=\"file.file.name\" [minVisibleLength]=\"10\"></span>\n </div>\n <div class=\"kbq-file-upload__size\">\n {{ file.file.size | kbqDataSize }}\n </div>\n <div class=\"kbq-file-upload__action\">\n <i kbq-icon-button=\"mc-close-circle_16\" (click)=\"deleteFile(index, $event)\"></i>\n </div>\n </div>\n </kbq-list-option>\n </kbq-list-selection>\n </div>\n\n <div class=\"btn-upload\">\n <div class=\"dropzone\">\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <span class=\"dropzone__text multiple__caption\">\n {{ separatedCaptionTextWhenSelected[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container></label>{{ separatedCaptionTextWhenSelected[1] }}\n </span>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #compactCaption>\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <span class=\"dropzone__text multiple__caption\">\n {{ separatedCaptionTextForCompactSize[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container></label>{{ separatedCaptionTextForCompactSize[1] }}\n </span>\n</ng-template>\n\n<ng-template #inputTemplate>\n <input #input\n type=\"file\"\n class=\"cdk-visually-hidden\"\n multiple\n [id]=\"inputId\"\n [accept]=\"acceptedFiles\"\n [disabled]=\"disabled\"\n (change)=\"onFileSelectedViaClick($event)\">\n</ng-template>\n", styles: [".kbq-file-upload{box-sizing:border-box;display:flex;align-items:center;position:relative}.kbq-file-upload .dropzone,.kbq-file-upload .file-item{display:flex;align-items:center}.kbq-file-upload .kbq-ellipsis-center{position:relative;display:flex}.kbq-file-upload .kbq-ellipsis-center .data-text-start{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:pre}.kbq-file-upload .kbq-ellipsis-center .data-text-end{flex:1 0 auto;overflow:hidden;white-space:pre}\n", ".kbq-multiple-file-upload .kbq-file-upload{border-radius:var(--kbq-file-upload-size-multiple-big-container-border-radius, 8px);border-width:var(--kbq-file-upload-size-multiple-big-container-border-width, 1px);border-style:dashed}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected){justify-content:center;padding:var(--kbq-file-upload-size-multiple-big-container-padding-vertical, 24px) var(--kbq-file-upload-size-multiple-big-container-padding-vertical, 24px);min-height:var(--kbq-file-upload-size-multiple-big-container-min-height, 160px);min-width:var(--kbq-file-upload-size-multiple-big-container-min-width, 320px)}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone{gap:var(--kbq-file-upload-size-multiple-big-container-content-gap-horizontal, 12px)}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone__text .multiple__header{display:block}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone__text .multiple__caption{display:block;padding-top:var(--kbq-file-upload-size-multiple-big-text-block-content-gap-vertical, 0px);gap:var(--kbq-file-upload-size-multiple-big-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected){padding:var(--kbq-file-upload-size-single-container-padding-vertical, 12px) var(--kbq-file-upload-size-single-container-padding-horizontal, 12px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected) .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected) .dropzone .dropzone__text.multiple__caption{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item{padding:0}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item .kbq-list-text{padding:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical, 8px) - var(--kbq-list-size-container-focus-outline-width, 2px)) calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal, 8px) - var(--kbq-list-size-container-focus-outline-width, 2px))}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item .kbq-icon{margin-right:0}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__grid{min-height:144px}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row{display:flex;align-items:center}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__file,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{width:65%;max-width:65%;gap:var(--kbq-file-upload-size-multiple-big-grid-cell-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__size,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__size{width:64px;min-width:64px;text-align:left;flex-grow:1}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{display:flex;align-items:center}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file .file-item__text{margin-left:0;width:90%}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header{border-bottom-width:1px;border-bottom-style:solid}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header .kbq-file-multiple-uploaded__header-inner{padding:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical, 8px) + 2px) calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal, 8px) + 2px)}.kbq-multiple-file-upload .kbq-file-upload .btn-upload{padding:calc(var(--kbq-file-upload-size-single-container-padding-vertical, 12px) - 1px) calc(var(--kbq-file-upload-size-single-container-padding-horizontal, 12px) - 1px);border-top-left-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-top-right-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-top-width:var(--kbq-file-upload-size-single-container-border-width, 1px);border-top-style:dashed}.kbq-multiple-file-upload .kbq-file-upload .btn-upload .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-multiple-file-upload .kbq-file-upload .btn-upload .dropzone .dropzone__text.multiple__caption{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .file-upload__dropzone{width:100%;height:100%}.kbq-hint{display:block}.kbq-file-upload__hint{margin-top:var(--kbq-form-field-hint-size-margin-top, 4px)}\n"] }]
302
+ }, template: "<div\n kbqFileDrop\n class=\"kbq-file-upload\"\n [class.kbq-disabled]=\"disabled\"\n [class.selected]=\"files?.length\"\n [ngClass]=\"size\"\n (filesDropped)=\"onFileDropped($event)\"\n>\n <ng-container *ngIf=\"!files.length; else fileOutput\">\n <div class=\"dropzone\">\n <ng-container *ngIf=\"size === 'default'; else compactCaption\">\n <i kbq-icon=\"mc-upload-to-cloud_32\"></i>\n <div class=\"dropzone__text\">\n <span class=\"multiple__header\">{{ config.title }}</span>\n <div>\n <!-- prettier-ignore -->\n <span class=\"multiple__caption\">\n {{ separatedCaptionText[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<ng-container *ngTemplateOutlet=\"inputTemplate\" /></label>{{ separatedCaptionText[1] }}\n </span>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n</div>\n\n<div class=\"kbq-file-upload__info-section\">\n <kbq-hint class=\"kbq-file-upload__hint\">\n <ng-content select=\"[hint]\" />\n </kbq-hint>\n\n <ng-container *ngIf=\"hasErrors\">\n <kbq-hint\n *ngFor=\"let error of errors\"\n class=\"kbq-file-upload__hint kbq-error\"\n >\n {{ error }}\n </kbq-hint>\n </ng-container>\n</div>\n\n<ng-template #fileOutput>\n <div class=\"file-upload__dropzone\">\n <div class=\"kbq-file-upload__grid\">\n <div class=\"kbq-file-multiple-uploaded__header\">\n <div class=\"kbq-file-multiple-uploaded__header-inner\">\n <div\n *ngFor=\"let column of columnDefs\"\n [class]=\"'kbq-file-upload__' + column.cssClass\"\n >\n {{ column.header }}\n </div>\n </div>\n </div>\n\n <kbq-list-selection\n [autoSelect]=\"false\"\n [disabled]=\"disabled\"\n >\n <kbq-list-option\n *ngFor=\"let file of files; let index = index\"\n class=\"multiple__uploaded-item\"\n [value]=\"file.file.name\"\n (keydown.backspace)=\"deleteFile(index)\"\n (keydown.delete)=\"deleteFile(index)\"\n >\n <div\n class=\"kbq-file-upload__row\"\n [class.error]=\"file.hasError\"\n >\n <div class=\"kbq-file-upload__file\">\n <ng-container\n *ngIf=\"{ loading: file.loading | async, progress: file.progress | async } as asyncData\"\n >\n <ng-container\n *ngIf=\"!asyncData.loading\"\n [ngTemplateOutlet]=\"$any(customFileIcon)\"\n [ngTemplateOutletContext]=\"{ $implicit: file }\"\n />\n\n <kbq-progress-spinner\n *ngIf=\"asyncData.loading\"\n class=\"kbq-file-upload-name-cell__icon\"\n [mode]=\"progressMode\"\n [value]=\"asyncData.progress || 0\"\n />\n </ng-container>\n\n <span\n class=\"file-item__text\"\n [kbqEllipsisCenter]=\"file.file.name\"\n [minVisibleLength]=\"10\"\n ></span>\n </div>\n <div class=\"kbq-file-upload__size\">{{ file.file.size | kbqDataSize }}</div>\n <div class=\"kbq-file-upload__action\">\n <i\n kbq-icon-button=\"mc-close-circle_16\"\n (click)=\"deleteFile(index, $event)\"\n ></i>\n </div>\n </div>\n </kbq-list-option>\n </kbq-list-selection>\n </div>\n\n <div class=\"btn-upload\">\n <div class=\"dropzone\">\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <span class=\"dropzone__text multiple__caption\">\n {{ separatedCaptionTextWhenSelected[0] }}\n <label\n kbq-link\n pseudo\n [disabled]=\"disabled\"\n [for]=\"inputId\"\n [tabIndex]=\"-1\"\n >\n {{ config.browseLink }}\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n </label>\n {{ separatedCaptionTextWhenSelected[1] }}\n </span>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #compactCaption>\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <span class=\"dropzone__text multiple__caption\">\n {{ separatedCaptionTextForCompactSize[0] }}\n <label\n kbq-link\n pseudo\n [disabled]=\"disabled\"\n [for]=\"inputId\"\n [tabIndex]=\"-1\"\n >\n {{ config.browseLink }}\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n </label>\n {{ separatedCaptionTextForCompactSize[1] }}\n </span>\n</ng-template>\n\n<ng-template #inputTemplate>\n <input\n #input\n multiple\n type=\"file\"\n class=\"cdk-visually-hidden\"\n [accept]=\"acceptedFiles\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n (change)=\"onFileSelectedViaClick($event)\"\n />\n</ng-template>\n", styles: [".kbq-file-upload{box-sizing:border-box;display:flex;align-items:center;position:relative}.kbq-file-upload .dropzone,.kbq-file-upload .file-item{display:flex;align-items:center}.kbq-file-upload .kbq-ellipsis-center{position:relative;display:flex}.kbq-file-upload .kbq-ellipsis-center .data-text-start{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:pre}.kbq-file-upload .kbq-ellipsis-center .data-text-end{flex:1 0 auto;overflow:hidden;white-space:pre}\n", ".kbq-multiple-file-upload .kbq-file-upload{border-radius:var(--kbq-file-upload-size-multiple-big-container-border-radius, 8px);border-width:var(--kbq-file-upload-size-multiple-big-container-border-width, 1px);border-style:dashed}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected){justify-content:center;padding:var(--kbq-file-upload-size-multiple-big-container-padding-vertical, 24px) var(--kbq-file-upload-size-multiple-big-container-padding-vertical, 24px);min-height:var(--kbq-file-upload-size-multiple-big-container-min-height, 160px);min-width:var(--kbq-file-upload-size-multiple-big-container-min-width, 320px)}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone{gap:var(--kbq-file-upload-size-multiple-big-container-content-gap-horizontal, 12px)}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone__text .multiple__header{display:block}.kbq-multiple-file-upload .kbq-file-upload.default:not(.selected) .dropzone__text .multiple__caption{display:block;padding-top:var(--kbq-file-upload-size-multiple-big-text-block-content-gap-vertical, 0px);gap:var(--kbq-file-upload-size-multiple-big-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected){padding:var(--kbq-file-upload-size-single-container-padding-vertical, 12px) var(--kbq-file-upload-size-single-container-padding-horizontal, 12px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected) .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-multiple-file-upload .kbq-file-upload.compact:not(.selected) .dropzone .dropzone__text.multiple__caption{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item{padding:0}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item .kbq-list-text{padding:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical, 8px) - var(--kbq-list-size-container-focus-outline-width, 2px)) calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal, 8px) - var(--kbq-list-size-container-focus-outline-width, 2px))}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.multiple__uploaded-item .kbq-icon{margin-right:0}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__grid{min-height:144px}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row{display:flex;align-items:center}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__file,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{width:65%;max-width:65%;gap:var(--kbq-file-upload-size-multiple-big-grid-cell-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__size,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__size{width:64px;min-width:64px;text-align:left;flex-grow:1}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{display:flex;align-items:center}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file .file-item__text{margin-left:0;width:90%}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header{border-bottom-width:1px;border-bottom-style:solid}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header .kbq-file-multiple-uploaded__header-inner{padding:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical, 8px) + 2px) calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal, 8px) + 2px)}.kbq-multiple-file-upload .kbq-file-upload .btn-upload{padding:calc(var(--kbq-file-upload-size-single-container-padding-vertical, 12px) - 1px) calc(var(--kbq-file-upload-size-single-container-padding-horizontal, 12px) - 1px);border-top-left-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-top-right-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-top-width:var(--kbq-file-upload-size-single-container-border-width, 1px);border-top-style:dashed}.kbq-multiple-file-upload .kbq-file-upload .btn-upload .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-multiple-file-upload .kbq-file-upload .btn-upload .dropzone .dropzone__text.multiple__caption{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-multiple-file-upload .kbq-file-upload .file-upload__dropzone{width:100%;height:100%}.kbq-file-upload__hint{margin-top:var(--kbq-form-field-hint-size-margin-top, 4px)}\n"] }]
300
303
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
301
304
  type: Optional
302
305
  }, {
@@ -369,18 +372,15 @@ class KbqSingleFileUploadComponent {
369
372
  this.fileQueueChange = new EventEmitter();
370
373
  this.statusChangeSubscription = Subscription.EMPTY;
371
374
  /** cvaOnChange function registered via registerOnChange (ControlValueAccessor). */
372
- // eslint-disable-next-line @typescript-eslint/no-empty-function
373
375
  this.cvaOnChange = (_) => { };
374
376
  /** onTouch function registered via registerOnTouch (ControlValueAccessor). */
375
- // eslint-disable-next-line @typescript-eslint/no-empty-function
376
377
  this.onTouched = () => { };
377
378
  this.updateLocaleParams = () => {
378
379
  this.config = this.configuration || this.localeService?.getParams('fileUpload').multiple;
379
380
  this.getCaptionText();
380
381
  this.cdr.markForCheck();
381
382
  };
382
- this.localeService?.changes
383
- .subscribe(this.updateLocaleParams);
383
+ this.localeService?.changes.subscribe(this.updateLocaleParams);
384
384
  if (!localeService) {
385
385
  this.initDefaultParams();
386
386
  }
@@ -392,7 +392,8 @@ class KbqSingleFileUploadComponent {
392
392
  }
393
393
  ngAfterViewInit() {
394
394
  // FormControl specific errors update
395
- this.statusChangeSubscription = this.ngControl?.statusChanges?.pipe(distinctUntilChanged())
395
+ this.statusChangeSubscription = this.ngControl?.statusChanges
396
+ ?.pipe(distinctUntilChanged())
396
397
  .subscribe((status) => {
397
398
  if (this._file) {
398
399
  this._file.hasError = status === 'INVALID';
@@ -416,10 +417,14 @@ class KbqSingleFileUploadComponent {
416
417
  }
417
418
  /** Implemented as part of ControlValueAccessor.
418
419
  * @docs-private */
419
- registerOnChange(fn) { this.cvaOnChange = fn; }
420
+ registerOnChange(fn) {
421
+ this.cvaOnChange = fn;
422
+ }
420
423
  /** Implemented as part of ControlValueAccessor.
421
424
  * @docs-private */
422
- registerOnTouched(fn) { this.onTouched = fn; }
425
+ registerOnTouched(fn) {
426
+ this.onTouched = fn;
427
+ }
423
428
  /**
424
429
  * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.
425
430
  * @param isDisabled Whether the control should be disabled.
@@ -491,13 +496,13 @@ class KbqSingleFileUploadComponent {
491
496
  this.separatedCaptionText = this.config.captionText.split('{{ browseLink }}');
492
497
  }
493
498
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSingleFileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: KBQ_FILE_UPLOAD_CONFIGURATION, optional: true }, { token: KBQ_LOCALE_SERVICE, optional: true }, { token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
494
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqSingleFileUploadComponent, selector: "kbq-single-file-upload,kbq-file-upload:not([multiple])", inputs: { progressMode: "progressMode", accept: "accept", disabled: "disabled", errors: "errors", inputId: "inputId", customValidation: "customValidation", file: "file" }, outputs: { fileQueueChange: "fileQueueChange" }, host: { classAttribute: "kbq-single-file-upload" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"kbq-file-upload\"\n kbqFileDrop\n [class.kbq-disabled]=\"disabled\"\n [class.kbq-error]=\"errors?.length\"\n (filesDropped)=\"onFileDropped($event)\">\n\n <div class=\"dropzone\" *ngIf=\"!file; else fileOutput\">\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <span class=\"dropzone__text\">\n {{ separatedCaptionText[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<input #input type=\"file\" class=\"cdk-visually-hidden\" [id]=\"inputId\" [accept]=\"acceptedFiles\" [disabled]=\"disabled\" (change)=\"onFileSelectedViaClick($event)\"></label>{{ separatedCaptionText[1] }}\n </span>\n </div>\n</div>\n\n<kbq-hint class=\"kbq-file-upload__hint\">\n <ng-content select=\"[hint]\"></ng-content>\n</kbq-hint>\n<ng-container *ngIf=\"errors?.length\">\n <kbq-hint class=\"kbq-file-upload__hint kbq-error\" *ngFor=\"let error of errors\">{{ error }}</kbq-hint>\n</ng-container>\n\n<ng-template #fileOutput>\n <div class=\"file-item\" *ngIf=\"file\">\n <div class=\"file-item__text-wrapper\">\n <ng-container *ngIf=\"{ loading: file.loading | async, progress: file.progress | async} as asyncData\">\n <ng-container *ngIf=\"!asyncData.loading\">\n <ng-content select=\"[kbq-icon]\"></ng-content>\n </ng-container>\n\n <kbq-progress-spinner\n [mode]=\"progressMode\"\n [value]=\"asyncData.progress || 0\"\n *ngIf=\"asyncData.loading\"\n ></kbq-progress-spinner>\n </ng-container>\n\n <div class=\"file-item__text\" [kbqEllipsisCenter]=\"file.file.name\" [minVisibleLength]=\"10\"></div>\n </div>\n <i kbq-icon-button=\"mc-close-circle_16\"\n [color]=\"'contrast'\"\n [disabled]=\"disabled\"\n (keydown.delete)=\"deleteItem()\"\n (keydown.backspace)=\"deleteItem()\"\n (click)=\"deleteItem($event)\">\n </i>\n </div>\n</ng-template>\n", styles: [".kbq-file-upload{box-sizing:border-box;display:flex;align-items:center;position:relative}.kbq-file-upload .dropzone,.kbq-file-upload .file-item{display:flex;align-items:center}.kbq-file-upload .kbq-ellipsis-center{position:relative;display:flex}.kbq-file-upload .kbq-ellipsis-center .data-text-start{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:pre}.kbq-file-upload .kbq-ellipsis-center .data-text-end{flex:1 0 auto;overflow:hidden;white-space:pre}\n", "@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 10px,#ffffff0a 10px 20px,#0000000a 20px 30px,#ffffff0a 31px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-single-file-upload .kbq-file-upload{padding:calc(var(--kbq-file-upload-size-single-container-padding-vertical, 12px) - 1px) calc(var(--kbq-file-upload-size-single-container-padding-horizontal, 12px) - 1px);border-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-width:var(--kbq-file-upload-size-single-container-border-width, 1px);border-style:dashed}.kbq-single-file-upload .kbq-file-upload .dropzone__text{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-single-file-upload .kbq-file-upload .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-single-file-upload .kbq-file-upload .file-item{width:100%}.kbq-single-file-upload .kbq-file-upload .file-item .file-item__text-wrapper{display:flex;align-items:center;width:100%;gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-single-file-upload .kbq-file-upload .file-item .file-item__text-wrapper .file-item__text{width:120px;flex-grow:1}.kbq-hint{display:block}.kbq-file-upload__hint{margin-top:var(--kbq-form-field-hint-size-margin-top, 4px)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.KbqProgressSpinner, selector: "kbq-progress-spinner", inputs: ["color", "id", "value", "mode", "size"] }, { kind: "component", type: i4.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "component", type: i4.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["color", "small", "tabindex", "disabled"] }, { kind: "component", type: i6.KbqHint, selector: "kbq-hint", inputs: ["color", "id", "fillTextOff", "compact"], exportAs: ["kbqHint"] }, { kind: "directive", type: i7.KbqEllipsisCenterDirective, selector: "[kbqEllipsisCenter]", inputs: ["kbqEllipsisCenter", "minVisibleLength"] }, { kind: "directive", type: i8.KbqLink, selector: "[kbq-link]", inputs: ["tabIndex", "disabled", "pseudo", "noUnderline", "big", "compact", "useVisited", "print"], exportAs: ["kbqLink"] }, { kind: "directive", type: KbqFileDropDirective, selector: "[kbqFileDrop]", outputs: ["filesDropped"], exportAs: ["kbqFileDrop"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
499
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqSingleFileUploadComponent, selector: "kbq-single-file-upload,kbq-file-upload:not([multiple])", inputs: { progressMode: "progressMode", accept: "accept", disabled: "disabled", errors: "errors", inputId: "inputId", customValidation: "customValidation", file: "file" }, outputs: { fileQueueChange: "fileQueueChange" }, host: { classAttribute: "kbq-single-file-upload" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div\n kbqFileDrop\n class=\"kbq-file-upload\"\n [class.kbq-disabled]=\"disabled\"\n [class.kbq-error]=\"errors?.length\"\n (filesDropped)=\"onFileDropped($event)\"\n>\n <div\n *ngIf=\"!file; else fileOutput\"\n class=\"dropzone\"\n >\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <!-- prettier-ignore -->\n <span class=\"dropzone__text\">\n {{ separatedCaptionText[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<input #input type=\"file\" class=\"cdk-visually-hidden\" [id]=\"inputId\" [accept]=\"acceptedFiles\" [disabled]=\"disabled\" (change)=\"onFileSelectedViaClick($event)\"></label>{{ separatedCaptionText[1] }}\n </span>\n </div>\n</div>\n\n<kbq-hint class=\"kbq-file-upload__hint\">\n <ng-content select=\"[hint]\" />\n</kbq-hint>\n<ng-container *ngIf=\"errors?.length\">\n <kbq-hint\n *ngFor=\"let error of errors\"\n class=\"kbq-file-upload__hint kbq-error\"\n >\n {{ error }}\n </kbq-hint>\n</ng-container>\n\n<ng-template #fileOutput>\n <div\n *ngIf=\"file\"\n class=\"file-item\"\n >\n <div class=\"file-item__text-wrapper\">\n <ng-container *ngIf=\"{ loading: file.loading | async, progress: file.progress | async } as asyncData\">\n <ng-container *ngIf=\"!asyncData.loading\">\n <ng-content select=\"[kbq-icon]\" />\n </ng-container>\n\n <kbq-progress-spinner\n *ngIf=\"asyncData.loading\"\n [mode]=\"progressMode\"\n [value]=\"asyncData.progress || 0\"\n />\n </ng-container>\n\n <div\n class=\"file-item__text\"\n [kbqEllipsisCenter]=\"file.file.name\"\n [minVisibleLength]=\"10\"\n ></div>\n </div>\n <i\n kbq-icon-button=\"mc-close-circle_16\"\n [color]=\"'contrast'\"\n [disabled]=\"disabled\"\n (click)=\"deleteItem($event)\"\n (keydown.backspace)=\"deleteItem()\"\n (keydown.delete)=\"deleteItem()\"\n ></i>\n </div>\n</ng-template>\n", styles: [".kbq-file-upload{box-sizing:border-box;display:flex;align-items:center;position:relative}.kbq-file-upload .dropzone,.kbq-file-upload .file-item{display:flex;align-items:center}.kbq-file-upload .kbq-ellipsis-center{position:relative;display:flex}.kbq-file-upload .kbq-ellipsis-center .data-text-start{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:pre}.kbq-file-upload .kbq-ellipsis-center .data-text-end{flex:1 0 auto;overflow:hidden;white-space:pre}\n", "@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-single-file-upload .kbq-file-upload{padding:calc(var(--kbq-file-upload-size-single-container-padding-vertical, 12px) - 1px) calc(var(--kbq-file-upload-size-single-container-padding-horizontal, 12px) - 1px);border-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-width:var(--kbq-file-upload-size-single-container-border-width, 1px);border-style:dashed}.kbq-single-file-upload .kbq-file-upload .dropzone__text{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-single-file-upload .kbq-file-upload .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-single-file-upload .kbq-file-upload .file-item{width:100%}.kbq-single-file-upload .kbq-file-upload .file-item .file-item__text-wrapper{display:flex;align-items:center;width:100%;gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-single-file-upload .kbq-file-upload .file-item .file-item__text-wrapper .file-item__text{width:120px;flex-grow:1}.kbq-file-upload__hint{margin-top:var(--kbq-form-field-hint-size-margin-top, 4px)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.KbqProgressSpinner, selector: "kbq-progress-spinner", inputs: ["color", "id", "value", "mode", "size"] }, { kind: "component", type: i4.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "component", type: i4.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["color", "small", "tabindex", "disabled"] }, { kind: "component", type: i6.KbqHint, selector: "kbq-hint", inputs: ["color", "id", "fillTextOff", "compact"], exportAs: ["kbqHint"] }, { kind: "directive", type: i7.KbqEllipsisCenterDirective, selector: "[kbqEllipsisCenter]", inputs: ["kbqEllipsisCenter", "minVisibleLength"] }, { kind: "directive", type: i8.KbqLink, selector: "[kbq-link]", inputs: ["tabIndex", "disabled", "pseudo", "noUnderline", "big", "compact", "useVisited", "print"], exportAs: ["kbqLink"] }, { kind: "directive", type: KbqFileDropDirective, selector: "[kbqFileDrop]", outputs: ["filesDropped"], exportAs: ["kbqFileDrop"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
495
500
  }
496
501
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSingleFileUploadComponent, decorators: [{
497
502
  type: Component,
498
503
  args: [{ selector: 'kbq-single-file-upload,kbq-file-upload:not([multiple])', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
499
504
  class: 'kbq-single-file-upload'
500
- }, template: "<div class=\"kbq-file-upload\"\n kbqFileDrop\n [class.kbq-disabled]=\"disabled\"\n [class.kbq-error]=\"errors?.length\"\n (filesDropped)=\"onFileDropped($event)\">\n\n <div class=\"dropzone\" *ngIf=\"!file; else fileOutput\">\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <span class=\"dropzone__text\">\n {{ separatedCaptionText[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<input #input type=\"file\" class=\"cdk-visually-hidden\" [id]=\"inputId\" [accept]=\"acceptedFiles\" [disabled]=\"disabled\" (change)=\"onFileSelectedViaClick($event)\"></label>{{ separatedCaptionText[1] }}\n </span>\n </div>\n</div>\n\n<kbq-hint class=\"kbq-file-upload__hint\">\n <ng-content select=\"[hint]\"></ng-content>\n</kbq-hint>\n<ng-container *ngIf=\"errors?.length\">\n <kbq-hint class=\"kbq-file-upload__hint kbq-error\" *ngFor=\"let error of errors\">{{ error }}</kbq-hint>\n</ng-container>\n\n<ng-template #fileOutput>\n <div class=\"file-item\" *ngIf=\"file\">\n <div class=\"file-item__text-wrapper\">\n <ng-container *ngIf=\"{ loading: file.loading | async, progress: file.progress | async} as asyncData\">\n <ng-container *ngIf=\"!asyncData.loading\">\n <ng-content select=\"[kbq-icon]\"></ng-content>\n </ng-container>\n\n <kbq-progress-spinner\n [mode]=\"progressMode\"\n [value]=\"asyncData.progress || 0\"\n *ngIf=\"asyncData.loading\"\n ></kbq-progress-spinner>\n </ng-container>\n\n <div class=\"file-item__text\" [kbqEllipsisCenter]=\"file.file.name\" [minVisibleLength]=\"10\"></div>\n </div>\n <i kbq-icon-button=\"mc-close-circle_16\"\n [color]=\"'contrast'\"\n [disabled]=\"disabled\"\n (keydown.delete)=\"deleteItem()\"\n (keydown.backspace)=\"deleteItem()\"\n (click)=\"deleteItem($event)\">\n </i>\n </div>\n</ng-template>\n", styles: [".kbq-file-upload{box-sizing:border-box;display:flex;align-items:center;position:relative}.kbq-file-upload .dropzone,.kbq-file-upload .file-item{display:flex;align-items:center}.kbq-file-upload .kbq-ellipsis-center{position:relative;display:flex}.kbq-file-upload .kbq-ellipsis-center .data-text-start{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:pre}.kbq-file-upload .kbq-ellipsis-center .data-text-end{flex:1 0 auto;overflow:hidden;white-space:pre}\n", "@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 10px,#ffffff0a 10px 20px,#0000000a 20px 30px,#ffffff0a 31px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-single-file-upload .kbq-file-upload{padding:calc(var(--kbq-file-upload-size-single-container-padding-vertical, 12px) - 1px) calc(var(--kbq-file-upload-size-single-container-padding-horizontal, 12px) - 1px);border-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-width:var(--kbq-file-upload-size-single-container-border-width, 1px);border-style:dashed}.kbq-single-file-upload .kbq-file-upload .dropzone__text{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-single-file-upload .kbq-file-upload .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-single-file-upload .kbq-file-upload .file-item{width:100%}.kbq-single-file-upload .kbq-file-upload .file-item .file-item__text-wrapper{display:flex;align-items:center;width:100%;gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-single-file-upload .kbq-file-upload .file-item .file-item__text-wrapper .file-item__text{width:120px;flex-grow:1}.kbq-hint{display:block}.kbq-file-upload__hint{margin-top:var(--kbq-form-field-hint-size-margin-top, 4px)}\n"] }]
505
+ }, template: "<div\n kbqFileDrop\n class=\"kbq-file-upload\"\n [class.kbq-disabled]=\"disabled\"\n [class.kbq-error]=\"errors?.length\"\n (filesDropped)=\"onFileDropped($event)\"\n>\n <div\n *ngIf=\"!file; else fileOutput\"\n class=\"dropzone\"\n >\n <i kbq-icon=\"mc-upload-to-cloud_24\"></i>\n <!-- prettier-ignore -->\n <span class=\"dropzone__text\">\n {{ separatedCaptionText[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<input #input type=\"file\" class=\"cdk-visually-hidden\" [id]=\"inputId\" [accept]=\"acceptedFiles\" [disabled]=\"disabled\" (change)=\"onFileSelectedViaClick($event)\"></label>{{ separatedCaptionText[1] }}\n </span>\n </div>\n</div>\n\n<kbq-hint class=\"kbq-file-upload__hint\">\n <ng-content select=\"[hint]\" />\n</kbq-hint>\n<ng-container *ngIf=\"errors?.length\">\n <kbq-hint\n *ngFor=\"let error of errors\"\n class=\"kbq-file-upload__hint kbq-error\"\n >\n {{ error }}\n </kbq-hint>\n</ng-container>\n\n<ng-template #fileOutput>\n <div\n *ngIf=\"file\"\n class=\"file-item\"\n >\n <div class=\"file-item__text-wrapper\">\n <ng-container *ngIf=\"{ loading: file.loading | async, progress: file.progress | async } as asyncData\">\n <ng-container *ngIf=\"!asyncData.loading\">\n <ng-content select=\"[kbq-icon]\" />\n </ng-container>\n\n <kbq-progress-spinner\n *ngIf=\"asyncData.loading\"\n [mode]=\"progressMode\"\n [value]=\"asyncData.progress || 0\"\n />\n </ng-container>\n\n <div\n class=\"file-item__text\"\n [kbqEllipsisCenter]=\"file.file.name\"\n [minVisibleLength]=\"10\"\n ></div>\n </div>\n <i\n kbq-icon-button=\"mc-close-circle_16\"\n [color]=\"'contrast'\"\n [disabled]=\"disabled\"\n (click)=\"deleteItem($event)\"\n (keydown.backspace)=\"deleteItem()\"\n (keydown.delete)=\"deleteItem()\"\n ></i>\n </div>\n</ng-template>\n", styles: [".kbq-file-upload{box-sizing:border-box;display:flex;align-items:center;position:relative}.kbq-file-upload .dropzone,.kbq-file-upload .file-item{display:flex;align-items:center}.kbq-file-upload .kbq-ellipsis-center{position:relative;display:flex}.kbq-file-upload .kbq-ellipsis-center .data-text-start{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:pre}.kbq-file-upload .kbq-ellipsis-center .data-text-end{flex:1 0 auto;overflow:hidden;white-space:pre}\n", "@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-single-file-upload .kbq-file-upload{padding:calc(var(--kbq-file-upload-size-single-container-padding-vertical, 12px) - 1px) calc(var(--kbq-file-upload-size-single-container-padding-horizontal, 12px) - 1px);border-radius:var(--kbq-file-upload-size-single-container-border-radius, 8px);border-width:var(--kbq-file-upload-size-single-container-border-width, 1px);border-style:dashed}.kbq-single-file-upload .kbq-file-upload .dropzone__text{padding-top:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);padding-bottom:var(--kbq-file-upload-size-single-text-block-padding-vertical, 2px);gap:var(--kbq-file-upload-size-single-text-block-content-gap-horizontal, 4px)}.kbq-single-file-upload .kbq-file-upload .dropzone{gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-single-file-upload .kbq-file-upload .file-item{width:100%}.kbq-single-file-upload .kbq-file-upload .file-item .file-item__text-wrapper{display:flex;align-items:center;width:100%;gap:var(--kbq-file-upload-size-single-container-content-gap-horizontal, 8px)}.kbq-single-file-upload .kbq-file-upload .file-item .file-item__text-wrapper .file-item__text{width:120px;flex-grow:1}.kbq-file-upload__hint{margin-top:var(--kbq-form-field-hint-size-margin-top, 4px)}\n"] }]
501
506
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
502
507
  type: Optional
503
508
  }, {