@koobiq/components 18.27.0 → 18.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/accordion/accordion-trigger.component.scss +2 -0
  2. package/actions-panel/actions-panel-container.scss +4 -1
  3. package/actions-panel/actions-panel-tokens.scss +2 -1
  4. package/breadcrumbs/breadcrumbs.d.ts +1 -1
  5. package/checkbox/checkbox.scss +2 -0
  6. package/core/common-behaviors/clipboard.d.ts +12 -0
  7. package/core/common-behaviors/index.d.ts +1 -0
  8. package/core/formatters/filesize/config.d.ts +66 -0
  9. package/core/formatters/filesize/formatter.d.ts +17 -0
  10. package/core/{utils/data-size → formatters/filesize}/index.d.ts +1 -1
  11. package/core/formatters/filesize/size.d.ts +36 -0
  12. package/core/formatters/index.d.ts +3 -1
  13. package/core/formatters/number/formatter.d.ts +13 -4
  14. package/core/locales/formatters.d.ts +9 -1
  15. package/core/locales/locale-service.d.ts +9 -1
  16. package/core/locales/types.d.ts +14 -0
  17. package/core/styles/theming/_components-theming.scss +343 -206
  18. package/core/utils/public-api.d.ts +0 -1
  19. package/datepicker/calendar.scss +2 -0
  20. package/datepicker/datepicker-module.d.ts +1 -1
  21. package/datepicker/datepicker-tokens.scss +1 -1
  22. package/dropdown/dropdown-item.component.d.ts +3 -1
  23. package/empty-state/empty-state.module.d.ts +1 -1
  24. package/esm2022/accordion/accordion-content.mjs +4 -4
  25. package/esm2022/accordion/accordion-header.mjs +4 -4
  26. package/esm2022/accordion/accordion-item.mjs +4 -4
  27. package/esm2022/accordion/accordion-trigger.component.mjs +6 -6
  28. package/esm2022/accordion/accordion.component.mjs +4 -4
  29. package/esm2022/accordion/accordion.module.mjs +5 -5
  30. package/esm2022/actions-panel/actions-panel-container.mjs +6 -6
  31. package/esm2022/actions-panel/actions-panel.mjs +13 -13
  32. package/esm2022/actions-panel/module.mjs +5 -5
  33. package/esm2022/alert/alert.component.mjs +13 -13
  34. package/esm2022/alert/alert.module.mjs +5 -5
  35. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +4 -4
  36. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +4 -4
  37. package/esm2022/autocomplete/autocomplete.component.mjs +4 -4
  38. package/esm2022/autocomplete/autocomplete.module.mjs +5 -5
  39. package/esm2022/badge/badge.component.mjs +10 -10
  40. package/esm2022/badge/badge.module.mjs +5 -5
  41. package/esm2022/breadcrumbs/breadcrumbs.mjs +17 -17
  42. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +5 -5
  43. package/esm2022/button/button.component.mjs +7 -7
  44. package/esm2022/button/button.dropdown-trigger.directive.mjs +4 -4
  45. package/esm2022/button/button.module.mjs +5 -5
  46. package/esm2022/button-toggle/button-toggle.component.mjs +7 -7
  47. package/esm2022/button-toggle/button-toggle.module.mjs +5 -5
  48. package/esm2022/checkbox/checkbox-module.mjs +5 -5
  49. package/esm2022/checkbox/checkbox-required-validator.mjs +4 -4
  50. package/esm2022/checkbox/checkbox.mjs +5 -5
  51. package/esm2022/code-block/code-block-highlight.mjs +4 -4
  52. package/esm2022/code-block/code-block.mjs +4 -4
  53. package/esm2022/code-block/code-block.module.mjs +5 -5
  54. package/esm2022/core/common-behaviors/clipboard.mjs +31 -0
  55. package/esm2022/core/common-behaviors/color.mjs +4 -4
  56. package/esm2022/core/common-behaviors/common-module.mjs +5 -5
  57. package/esm2022/core/common-behaviors/index.mjs +2 -1
  58. package/esm2022/core/error/error-state-matcher.mjs +10 -10
  59. package/esm2022/core/formatters/date/formatter.mjs +4 -4
  60. package/esm2022/core/formatters/date/formatter.pipe.mjs +79 -79
  61. package/esm2022/core/formatters/filesize/config.mjs +32 -0
  62. package/esm2022/core/formatters/filesize/formatter.mjs +46 -0
  63. package/esm2022/core/formatters/filesize/index.mjs +4 -0
  64. package/esm2022/core/formatters/filesize/size.mjs +67 -0
  65. package/esm2022/core/formatters/index.mjs +15 -9
  66. package/esm2022/core/formatters/number/formatter.mjs +38 -36
  67. package/esm2022/core/forms/forms-module.mjs +5 -5
  68. package/esm2022/core/forms/forms.directive.mjs +7 -7
  69. package/esm2022/core/highlight/highlight.pipe.mjs +4 -4
  70. package/esm2022/core/highlight/index.mjs +5 -5
  71. package/esm2022/core/line/line.mjs +8 -8
  72. package/esm2022/core/locales/formatters.mjs +21 -13
  73. package/esm2022/core/locales/locale-service.mjs +4 -4
  74. package/esm2022/core/locales/locale-service.module.mjs +5 -5
  75. package/esm2022/core/locales/types.mjs +1 -1
  76. package/esm2022/core/option/action.mjs +4 -4
  77. package/esm2022/core/option/optgroup.mjs +4 -4
  78. package/esm2022/core/option/option-module.mjs +5 -5
  79. package/esm2022/core/option/option.mjs +4 -4
  80. package/esm2022/core/pop-up/pop-up-trigger.mjs +4 -4
  81. package/esm2022/core/pop-up/pop-up.mjs +4 -4
  82. package/esm2022/core/select/common.mjs +16 -16
  83. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  84. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
  85. package/esm2022/core/services/measure-scrollbar.service.mjs +4 -4
  86. package/esm2022/core/services/theme.service.mjs +4 -4
  87. package/esm2022/core/utils/public-api.mjs +1 -2
  88. package/esm2022/core/version.mjs +2 -2
  89. package/esm2022/datepicker/calendar-body.component.mjs +4 -4
  90. package/esm2022/datepicker/calendar-header.component.mjs +4 -4
  91. package/esm2022/datepicker/calendar.component.mjs +6 -5
  92. package/esm2022/datepicker/datepicker-input.directive.mjs +4 -4
  93. package/esm2022/datepicker/datepicker-intl.mjs +4 -4
  94. package/esm2022/datepicker/datepicker-module.mjs +5 -8
  95. package/esm2022/datepicker/datepicker-toggle.component.mjs +7 -7
  96. package/esm2022/datepicker/datepicker.component.mjs +8 -8
  97. package/esm2022/datepicker/month-view.component.mjs +4 -4
  98. package/esm2022/divider/divider.component.mjs +4 -4
  99. package/esm2022/divider/divider.module.mjs +5 -5
  100. package/esm2022/dl/dl.component.mjs +10 -10
  101. package/esm2022/dl/dl.module.mjs +5 -5
  102. package/esm2022/dropdown/dropdown-content.directive.mjs +4 -4
  103. package/esm2022/dropdown/dropdown-item.component.mjs +9 -7
  104. package/esm2022/dropdown/dropdown-trigger.directive.mjs +4 -4
  105. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  106. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  107. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +8 -8
  108. package/esm2022/empty-state/empty-state.component.mjs +16 -16
  109. package/esm2022/empty-state/empty-state.module.mjs +5 -7
  110. package/esm2022/file-upload/file-drop.mjs +4 -4
  111. package/esm2022/file-upload/file-upload.module.mjs +5 -5
  112. package/esm2022/file-upload/multiple-file-upload.component.mjs +5 -5
  113. package/esm2022/file-upload/single-file-upload.component.mjs +5 -5
  114. package/esm2022/filter-bar/filter-bar-button.mjs +4 -4
  115. package/esm2022/filter-bar/filter-bar.mjs +11 -7
  116. package/esm2022/filter-bar/filter-bar.module.mjs +5 -5
  117. package/esm2022/filter-bar/filter-bar.types.mjs +32 -1
  118. package/esm2022/filter-bar/filter-refresher.mjs +4 -4
  119. package/esm2022/filter-bar/filter-reset.mjs +4 -4
  120. package/esm2022/filter-bar/filter-search.mjs +4 -4
  121. package/esm2022/filter-bar/filters.mjs +27 -20
  122. package/esm2022/filter-bar/pipe-add.mjs +4 -4
  123. package/esm2022/filter-bar/pipe.directive.mjs +4 -4
  124. package/esm2022/filter-bar/pipes/base-pipe.mjs +11 -9
  125. package/esm2022/filter-bar/pipes/pipe-button.mjs +8 -8
  126. package/esm2022/filter-bar/pipes/pipe-date.mjs +6 -6
  127. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +6 -6
  128. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +38 -12
  129. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +234 -0
  130. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +13 -16
  131. package/esm2022/filter-bar/pipes/pipe-select.mjs +15 -6
  132. package/esm2022/filter-bar/pipes/pipe-state.mjs +7 -7
  133. package/esm2022/filter-bar/pipes/pipe-text.mjs +6 -6
  134. package/esm2022/filter-bar/pipes/pipe-title.mjs +4 -4
  135. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +136 -0
  136. package/esm2022/filter-bar/public-api.mjs +2 -1
  137. package/esm2022/form-field/cleaner.mjs +4 -4
  138. package/esm2022/form-field/form-field.mjs +12 -12
  139. package/esm2022/form-field/form-field.module.mjs +5 -5
  140. package/esm2022/form-field/hint.mjs +4 -4
  141. package/esm2022/form-field/password-hint.mjs +9 -7
  142. package/esm2022/form-field/password-toggle.mjs +4 -4
  143. package/esm2022/form-field/prefix.mjs +4 -4
  144. package/esm2022/form-field/stepper.mjs +4 -4
  145. package/esm2022/form-field/suffix.mjs +4 -4
  146. package/esm2022/form-field/validate.directive.mjs +4 -4
  147. package/esm2022/icon/icon-button.component.mjs +4 -4
  148. package/esm2022/icon/icon-item.component.mjs +4 -4
  149. package/esm2022/icon/icon.component.mjs +4 -4
  150. package/esm2022/icon/icon.module.mjs +5 -5
  151. package/esm2022/input/input-number-validators.mjs +7 -7
  152. package/esm2022/input/input-number.mjs +13 -12
  153. package/esm2022/input/input-password.mjs +4 -4
  154. package/esm2022/input/input.mjs +7 -7
  155. package/esm2022/input/input.module.mjs +5 -5
  156. package/esm2022/link/link.component.mjs +4 -4
  157. package/esm2022/link/link.module.mjs +5 -5
  158. package/esm2022/list/list-selection.component.mjs +10 -10
  159. package/esm2022/list/list.component.mjs +7 -7
  160. package/esm2022/list/list.module.mjs +5 -5
  161. package/esm2022/loader-overlay/loader-overlay.component.mjs +13 -13
  162. package/esm2022/loader-overlay/loader-overlay.module.mjs +5 -5
  163. package/esm2022/markdown/markdown.component.mjs +6 -6
  164. package/esm2022/markdown/markdown.module.mjs +5 -5
  165. package/esm2022/markdown/markdown.service.mjs +4 -4
  166. package/esm2022/modal/css-unit.pipe.mjs +4 -4
  167. package/esm2022/modal/modal-control.service.mjs +4 -4
  168. package/esm2022/modal/modal.component.mjs +4 -4
  169. package/esm2022/modal/modal.directive.mjs +13 -13
  170. package/esm2022/modal/modal.module.mjs +5 -5
  171. package/esm2022/modal/modal.service.mjs +4 -4
  172. package/esm2022/modal/modal.type.mjs +1 -1
  173. package/esm2022/navbar/navbar-item.component.mjs +28 -28
  174. package/esm2022/navbar/navbar.component.mjs +10 -10
  175. package/esm2022/navbar/navbar.module.mjs +5 -5
  176. package/esm2022/navbar/vertical-navbar.component.mjs +4 -4
  177. package/esm2022/overflow-items/module.mjs +5 -5
  178. package/esm2022/overflow-items/overflow-items.mjs +15 -15
  179. package/esm2022/popover/popover-confirm.component.mjs +7 -7
  180. package/esm2022/popover/popover.component.mjs +7 -7
  181. package/esm2022/popover/popover.module.mjs +5 -5
  182. package/esm2022/progress-bar/progress-bar.component.mjs +10 -10
  183. package/esm2022/progress-bar/progress-bar.module.mjs +5 -5
  184. package/esm2022/progress-spinner/progress-spinner.component.mjs +10 -10
  185. package/esm2022/progress-spinner/progress-spinner.module.mjs +5 -5
  186. package/esm2022/radio/radio.component.mjs +7 -7
  187. package/esm2022/radio/radio.module.mjs +5 -5
  188. package/esm2022/risk-level/risk-level.component.mjs +4 -4
  189. package/esm2022/risk-level/risk-level.module.mjs +5 -5
  190. package/esm2022/scrollbar/scrollbar.component.mjs +4 -4
  191. package/esm2022/scrollbar/scrollbar.directive.mjs +4 -4
  192. package/esm2022/scrollbar/scrollbar.module.mjs +5 -5
  193. package/esm2022/select/select-option.directive.mjs +4 -4
  194. package/esm2022/select/select.component.mjs +9 -6
  195. package/esm2022/select/select.module.mjs +5 -5
  196. package/esm2022/sidebar/sidebar.component.mjs +18 -12
  197. package/esm2022/sidebar/sidebar.module.mjs +5 -5
  198. package/esm2022/sidepanel/sidepanel-container.component.mjs +4 -4
  199. package/esm2022/sidepanel/sidepanel-directives.mjs +16 -16
  200. package/esm2022/sidepanel/sidepanel.module.mjs +5 -5
  201. package/esm2022/sidepanel/sidepanel.service.mjs +4 -4
  202. package/esm2022/splitter/splitter.component.mjs +13 -13
  203. package/esm2022/splitter/splitter.module.mjs +5 -5
  204. package/esm2022/table/table.component.mjs +7 -7
  205. package/esm2022/table/table.module.mjs +5 -5
  206. package/esm2022/tabs/paginated-tab-header.mjs +4 -4
  207. package/esm2022/tabs/tab-body.component.mjs +7 -7
  208. package/esm2022/tabs/tab-content.directive.mjs +4 -4
  209. package/esm2022/tabs/tab-group.component.mjs +16 -16
  210. package/esm2022/tabs/tab-header.component.mjs +4 -4
  211. package/esm2022/tabs/tab-label-wrapper.directive.mjs +4 -4
  212. package/esm2022/tabs/tab-label.directive.mjs +4 -4
  213. package/esm2022/tabs/tab-nav-bar.mjs +13 -13
  214. package/esm2022/tabs/tab.component.mjs +4 -4
  215. package/esm2022/tabs/tabs.module.mjs +5 -5
  216. package/esm2022/tags/tag-input.mjs +4 -4
  217. package/esm2022/tags/tag-list.component.mjs +5 -5
  218. package/esm2022/tags/tag.component.mjs +13 -13
  219. package/esm2022/tags/tag.module.mjs +5 -5
  220. package/esm2022/textarea/textarea.component.mjs +8 -7
  221. package/esm2022/textarea/textarea.module.mjs +5 -5
  222. package/esm2022/timepicker/timepicker.directive.mjs +4 -4
  223. package/esm2022/timepicker/timepicker.module.mjs +5 -5
  224. package/esm2022/timezone/cities-by-filter.pipe.mjs +4 -4
  225. package/esm2022/timezone/timezone-option.component.mjs +4 -4
  226. package/esm2022/timezone/timezone-option.directive.mjs +4 -4
  227. package/esm2022/timezone/timezone-select.component.mjs +9 -9
  228. package/esm2022/timezone/timezone.module.mjs +5 -5
  229. package/esm2022/timezone/utc-offset.pipe.mjs +4 -4
  230. package/esm2022/title/title.directive.mjs +4 -4
  231. package/esm2022/title/title.module.mjs +5 -5
  232. package/esm2022/toast/toast-container.component.mjs +4 -4
  233. package/esm2022/toast/toast.component.mjs +7 -7
  234. package/esm2022/toast/toast.module.mjs +5 -5
  235. package/esm2022/toast/toast.service.mjs +4 -4
  236. package/esm2022/toggle/toggle.component.mjs +4 -4
  237. package/esm2022/toggle/toggle.module.mjs +5 -5
  238. package/esm2022/tooltip/tooltip.component.mjs +13 -13
  239. package/esm2022/tooltip/tooltip.module.mjs +5 -5
  240. package/esm2022/top-bar/module.mjs +5 -5
  241. package/esm2022/top-bar/top-bar.mjs +10 -10
  242. package/esm2022/tree/control/flat-tree-control.filters.mjs +10 -2
  243. package/esm2022/tree/node.mjs +4 -4
  244. package/esm2022/tree/outlet.mjs +4 -4
  245. package/esm2022/tree/padding.directive.mjs +4 -4
  246. package/esm2022/tree/toggle.mjs +10 -10
  247. package/esm2022/tree/tree-base.mjs +7 -7
  248. package/esm2022/tree/tree-option.component.mjs +11 -7
  249. package/esm2022/tree/tree-selection.component.mjs +6 -4
  250. package/esm2022/tree/tree.mjs +4 -4
  251. package/esm2022/tree/tree.module.mjs +5 -5
  252. package/esm2022/tree-select/tree-select.component.mjs +11 -7
  253. package/esm2022/tree-select/tree-select.module.mjs +5 -5
  254. package/fesm2022/koobiq-components-accordion.mjs +21 -21
  255. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  256. package/fesm2022/koobiq-components-actions-panel.mjs +21 -21
  257. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  258. package/fesm2022/koobiq-components-alert.mjs +16 -16
  259. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  260. package/fesm2022/koobiq-components-autocomplete.mjs +13 -13
  261. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  262. package/fesm2022/koobiq-components-badge.mjs +13 -13
  263. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  264. package/fesm2022/koobiq-components-breadcrumbs.mjs +20 -20
  265. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  266. package/fesm2022/koobiq-components-button-toggle.mjs +10 -10
  267. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  268. package/fesm2022/koobiq-components-button.mjs +13 -13
  269. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  270. package/fesm2022/koobiq-components-checkbox.mjs +11 -11
  271. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  272. package/fesm2022/koobiq-components-code-block.mjs +10 -10
  273. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  274. package/fesm2022/koobiq-components-core.mjs +410 -322
  275. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  276. package/fesm2022/koobiq-components-datepicker.mjs +37 -39
  277. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  278. package/fesm2022/koobiq-components-divider.mjs +7 -7
  279. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  280. package/fesm2022/koobiq-components-dl.mjs +13 -13
  281. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  282. package/fesm2022/koobiq-components-dropdown.mjs +21 -19
  283. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  284. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
  285. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  286. package/fesm2022/koobiq-components-empty-state.mjs +19 -21
  287. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  288. package/fesm2022/koobiq-components-file-upload.mjs +15 -15
  289. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  290. package/fesm2022/koobiq-components-filter-bar.mjs +521 -130
  291. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  292. package/fesm2022/koobiq-components-form-field.mjs +44 -42
  293. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  294. package/fesm2022/koobiq-components-icon.mjs +13 -13
  295. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  296. package/fesm2022/koobiq-components-input.mjs +32 -31
  297. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  298. package/fesm2022/koobiq-components-link.mjs +7 -7
  299. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  300. package/fesm2022/koobiq-components-list.mjs +19 -19
  301. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  302. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  303. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  304. package/fesm2022/koobiq-components-markdown.mjs +12 -12
  305. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  306. package/fesm2022/koobiq-components-modal.mjs +28 -28
  307. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  308. package/fesm2022/koobiq-components-navbar.mjs +43 -43
  309. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  310. package/fesm2022/koobiq-components-overflow-items.mjs +18 -18
  311. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  312. package/fesm2022/koobiq-components-popover.mjs +16 -16
  313. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  314. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  315. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  316. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  317. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  318. package/fesm2022/koobiq-components-radio.mjs +10 -10
  319. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  320. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  321. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  322. package/fesm2022/koobiq-components-scrollbar.mjs +10 -10
  323. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  324. package/fesm2022/koobiq-components-select.mjs +15 -12
  325. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  326. package/fesm2022/koobiq-components-sidebar.mjs +21 -15
  327. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  328. package/fesm2022/koobiq-components-sidepanel.mjs +25 -25
  329. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  330. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  331. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  332. package/fesm2022/koobiq-components-table.mjs +10 -10
  333. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  334. package/fesm2022/koobiq-components-tabs.mjs +55 -55
  335. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  336. package/fesm2022/koobiq-components-tags.mjs +23 -23
  337. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  338. package/fesm2022/koobiq-components-textarea.mjs +11 -10
  339. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  340. package/fesm2022/koobiq-components-timepicker.mjs +7 -7
  341. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  342. package/fesm2022/koobiq-components-timezone.mjs +24 -24
  343. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  344. package/fesm2022/koobiq-components-title.mjs +7 -7
  345. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  346. package/fesm2022/koobiq-components-toast.mjs +16 -16
  347. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  348. package/fesm2022/koobiq-components-toggle.mjs +7 -7
  349. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  350. package/fesm2022/koobiq-components-tooltip.mjs +16 -16
  351. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  352. package/fesm2022/koobiq-components-top-bar.mjs +13 -13
  353. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  354. package/fesm2022/koobiq-components-tree-select.mjs +14 -10
  355. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  356. package/fesm2022/koobiq-components-tree.mjs +54 -40
  357. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  358. package/file-upload/_file-upload-theme.scss +94 -17
  359. package/file-upload/file-upload-tokens.scss +5 -0
  360. package/file-upload/single-file-upload.component.scss +1 -0
  361. package/filter-bar/filter-bar.d.ts +4 -2
  362. package/filter-bar/filter-bar.types.d.ts +33 -5
  363. package/filter-bar/filters.d.ts +3 -2
  364. package/filter-bar/filters.scss +4 -0
  365. package/filter-bar/pipes/base-pipe.d.ts +3 -1
  366. package/filter-bar/pipes/base-pipe.scss +2 -1
  367. package/filter-bar/pipes/pipe-multi-select.d.ts +10 -3
  368. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +57 -0
  369. package/filter-bar/pipes/pipe-multi-tree-select.scss +19 -0
  370. package/filter-bar/pipes/pipe-readonly.scss +18 -0
  371. package/filter-bar/pipes/pipe-select.d.ts +5 -2
  372. package/filter-bar/pipes/pipe-state.d.ts +1 -1
  373. package/filter-bar/pipes/pipe-tree-select.d.ts +41 -0
  374. package/filter-bar/pipes/pipe-tree-select.scss +9 -0
  375. package/filter-bar/public-api.d.ts +1 -0
  376. package/form-field/_form-field-theme.scss +12 -12
  377. package/form-field/form-field.scss +58 -61
  378. package/input/_input-theme.scss +6 -0
  379. package/input/input-number.d.ts +1 -0
  380. package/markdown/markdown.scss +1 -1
  381. package/modal/modal.type.d.ts +1 -1
  382. package/overflow-items/overflow-items.d.ts +1 -1
  383. package/package.json +6 -6
  384. package/prebuilt-themes/dark-theme.css +1 -1
  385. package/prebuilt-themes/light-theme.css +1 -1
  386. package/prebuilt-themes/theme.css +1 -1
  387. package/schematics/migrations/css-selectors/README.md +1 -1
  388. package/schematics/migrations/deprecated-icons/README.md +3 -3
  389. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  390. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  391. package/schematics/migrations/new-icons-pack/README.md +3 -3
  392. package/schematics/ng-add/index.js +8 -8
  393. package/select/_select-theme.scss +1 -1
  394. package/select/select.scss +2 -0
  395. package/tabs/tab-nav-bar.d.ts +1 -1
  396. package/tags/_tag-theme.scss +5 -0
  397. package/tags/tag-tokens.scss +17 -0
  398. package/textarea/textarea.component.d.ts +1 -1
  399. package/toast/toast.component.scss +2 -1
  400. package/tree/control/flat-tree-control.filters.d.ts +1 -0
  401. package/tree/tree-option.component.d.ts +3 -1
  402. package/core/utils/data-size/config.d.ts +0 -38
  403. package/core/utils/data-size/data-size.pipe.d.ts +0 -14
  404. package/core/utils/data-size/size.d.ts +0 -15
  405. package/esm2022/core/utils/data-size/config.mjs +0 -10
  406. package/esm2022/core/utils/data-size/data-size.pipe.mjs +0 -45
  407. package/esm2022/core/utils/data-size/index.mjs +0 -4
  408. package/esm2022/core/utils/data-size/size.mjs +0 -43
@@ -16,6 +16,20 @@
16
16
  background-color: var(--kbq-file-upload-single-default-container-background);
17
17
  border-color: var(--kbq-file-upload-single-default-container-border) !important;
18
18
 
19
+ &:not(.kbq-disabled, .kbq-error) {
20
+ .kbq-file-upload__action {
21
+ color: var(--kbq-file-upload-single-default-icon-button-color);
22
+ }
23
+
24
+ .kbq-dropzone__icon {
25
+ color: var(--kbq-file-upload-single-default-upload-icon-color);
26
+ }
27
+
28
+ .file-item__text-wrapper .kbq-icon.kbq-empty {
29
+ color: var(--kbq-file-upload-single-default-left-icon-color);
30
+ }
31
+ }
32
+
19
33
  &.dragover {
20
34
  background-color: var(--kbq-file-upload-single-states-on-drag-container-background);
21
35
  border-color: var(--kbq-file-upload-single-states-on-drag-container-border) !important;
@@ -27,20 +41,43 @@
27
41
  border-color: var(--kbq-file-upload-single-states-error-container-border) !important;
28
42
  }
29
43
 
30
- :not(.kbq-link),
31
- .kbq-icon.kbq-empty {
44
+ .kbq-dropzone__icon {
45
+ color: var(--kbq-file-upload-single-states-error-upload-icon-color);
46
+ }
47
+
48
+ .file-item__text-wrapper .kbq-icon.kbq-empty {
49
+ color: var(--kbq-file-upload-single-states-error-left-icon-color);
50
+ }
51
+
52
+ .file-item__text,
53
+ .dropzone__text:not(.kbq-link) {
32
54
  color: var(--kbq-file-upload-single-states-error-text-block-color);
33
55
  }
56
+
57
+ .kbq-file-upload__action {
58
+ color: var(--kbq-file-upload-single-states-error-icon-button-color);
59
+ }
34
60
  }
35
61
 
36
62
  &.kbq-disabled {
37
63
  background-color: var(--kbq-file-upload-single-states-disabled-container-background);
38
64
  border-color: var(--kbq-file-upload-single-states-disabled-container-border) !important;
39
65
 
40
- &,
41
- .kbq-icon.kbq-empty,
42
- .kbq-link {
43
- color: var(--kbq-file-upload-single-states-disabled-container-border);
66
+ .kbq-dropzone__icon {
67
+ color: var(--kbq-file-upload-single-states-disabled-upload-icon-color);
68
+ }
69
+
70
+ .file-item__text-wrapper .kbq-icon.kbq-empty {
71
+ color: var(--kbq-file-upload-single-states-disabled-left-icon-color);
72
+ }
73
+
74
+ .dropzone__text,
75
+ .file-item__text {
76
+ color: var(--kbq-file-upload-single-states-disabled-text-block-color);
77
+ }
78
+
79
+ .kbq-file-upload__action {
80
+ color: var(--kbq-file-upload-single-states-disabled-icon-button-color);
44
81
  }
45
82
  }
46
83
  }
@@ -59,6 +96,12 @@
59
96
  border-bottom-color: var(--kbq-file-upload-multiple-default-grid-divider-color);
60
97
  }
61
98
 
99
+ &:not(.kbq-disabled, .kbq-error) {
100
+ .kbq-dropzone__icon {
101
+ color: var(--kbq-file-upload-multiple-default-upload-icon-color);
102
+ }
103
+ }
104
+
62
105
  &.dragover {
63
106
  background-color: var(--kbq-file-upload-multiple-states-on-drag-container-background);
64
107
  border-color: var(--kbq-file-upload-multiple-states-on-drag-container-border) !important;
@@ -67,6 +110,10 @@
67
110
  border-bottom-color: var(--kbq-file-upload-multiple-states-on-drag-container-background) !important;
68
111
  }
69
112
 
113
+ .kbq-dropzone__icon {
114
+ color: var(--kbq-file-upload-multiple-states-on-drag-upload-icon-color);
115
+ }
116
+
70
117
  &.selected {
71
118
  .dropzone {
72
119
  border-top-color: var(--kbq-file-upload-multiple-states-on-drag-container-border);
@@ -78,10 +125,28 @@
78
125
  background-color: var(--kbq-file-upload-multiple-states-disabled-container-background);
79
126
  border-color: var(--kbq-file-upload-multiple-states-disabled-container-border) !important;
80
127
 
81
- &,
82
- .kbq-icon.kbq-empty,
83
- .kbq-link {
84
- color: var(--kbq-file-upload-multiple-states-disabled-container-border);
128
+ .kbq-dropzone__icon {
129
+ color: var(--kbq-file-upload-multiple-states-disabled-upload-icon-color);
130
+ }
131
+
132
+ .dropzone__text,
133
+ .kbq-file-multiple-uploaded__header {
134
+ color: var(--kbq-file-upload-multiple-states-disabled-text-block-color);
135
+ }
136
+
137
+ .multiple__uploaded-item {
138
+ .kbq-file-upload__file .kbq-icon.kbq-empty {
139
+ color: var(--kbq-file-upload-multiple-states-disabled-left-icon-color);
140
+ }
141
+
142
+ .file-item__text,
143
+ .kbq-file-upload__size {
144
+ color: var(--kbq-file-upload-multiple-states-disabled-text-block-color);
145
+ }
146
+
147
+ .kbq-file-upload__action .kbq-icon.kbq-empty {
148
+ color: var(--kbq-file-upload-multiple-states-disabled-icon-button-color);
149
+ }
85
150
  }
86
151
 
87
152
  &.selected {
@@ -96,9 +161,13 @@
96
161
  background-color: var(--kbq-background-error-less);
97
162
  border-color: var(--kbq-line-error) !important;
98
163
 
99
- :not(.kbq-link),
100
- .kbq-icon.kbq-empty {
101
- color: var(--kbq-foreground-error);
164
+ .kbq-dropzone__icon {
165
+ color: var(--kbq-file-upload-single-states-error-upload-icon-color);
166
+ }
167
+
168
+ .dropzone__text:not(.kbq-link),
169
+ .kbq-file-multiple-uploaded__header {
170
+ color: var(--kbq-file-upload-single-states-error-text-block-color);
102
171
  }
103
172
  }
104
173
 
@@ -106,20 +175,28 @@
106
175
  &:has(.kbq-file-upload__row.error) {
107
176
  background-color: var(--kbq-background-error-less);
108
177
 
109
- :not(.kbq-link),
110
- .kbq-icon.kbq-empty {
178
+ .file-item__text,
179
+ .kbq-file-upload__size {
111
180
  color: var(--kbq-foreground-error);
112
181
  }
182
+
183
+ .kbq-file-upload__file .kbq-icon.kbq-empty {
184
+ color: var(--kbq-file-upload-multiple-states-error-left-icon-color);
185
+ }
186
+
187
+ .kbq-file-upload__action .kbq-icon.kbq-empty {
188
+ color: var(--kbq-file-upload-multiple-states-error-icon-button-color);
189
+ }
113
190
  }
114
191
  }
115
192
  }
116
193
 
117
194
  .multiple__uploaded-item {
118
- & .kbq-file-upload__file .kbq-icon.kbq-empty {
195
+ .kbq-file-upload__file .kbq-icon.kbq-empty {
119
196
  color: var(--kbq-file-upload-multiple-default-left-icon-color);
120
197
  }
121
198
 
122
- & .kbq-file-upload__action .kbq-icon.kbq-empty {
199
+ .kbq-file-upload__action .kbq-icon.kbq-empty {
123
200
  color: var(--kbq-file-upload-multiple-default-icon-button-color);
124
201
  }
125
202
  }
@@ -6,6 +6,7 @@
6
6
  --kbq-file-upload-size-single-container-padding-horizontal: var(--kbq-size-m);
7
7
  --kbq-file-upload-size-single-text-block-padding-vertical: var(--kbq-size-3xs);
8
8
  --kbq-file-upload-size-single-text-block-content-gap-horizontal: var(--kbq-size-xxs);
9
+ --kbq-file-upload-single-min-height: var(--kbq-size-5xl);
9
10
  --kbq-file-upload-size-multiple-big-container-min-height: 160px;
10
11
  --kbq-file-upload-size-multiple-big-container-min-width: 320px;
11
12
  --kbq-file-upload-size-multiple-big-container-border-radius: var(--kbq-size-s);
@@ -32,12 +33,15 @@
32
33
  --kbq-file-upload-single-states-on-drag-text-block-color: var(--kbq-foreground-contrast);
33
34
  --kbq-file-upload-single-states-error-container-border: var(--kbq-line-error);
34
35
  --kbq-file-upload-single-states-error-container-background: var(--kbq-background-error-less);
36
+ --kbq-file-upload-single-states-error-upload-icon-color: var(--kbq-icon-error);
35
37
  --kbq-file-upload-single-states-error-left-icon-color: var(--kbq-icon-error);
36
38
  --kbq-file-upload-single-states-error-text-block-color: var(--kbq-foreground-error);
39
+ --kbq-file-upload-single-states-error-icon-button-color: var(--kbq-icon-error);
37
40
  --kbq-file-upload-single-states-disabled-container-border: var(--kbq-states-line-disabled);
38
41
  --kbq-file-upload-single-states-disabled-container-background: var(--kbq-states-background-disabled);
39
42
  --kbq-file-upload-single-states-disabled-upload-icon-color: var(--kbq-states-icon-disabled);
40
43
  --kbq-file-upload-single-states-disabled-left-icon-color: var(--kbq-states-icon-disabled);
44
+ --kbq-file-upload-single-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);
41
45
  --kbq-file-upload-single-states-disabled-text-block-color: var(--kbq-states-foreground-disabled);
42
46
  --kbq-file-upload-single-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);
43
47
  --kbq-file-upload-multiple-default-container-border: var(--kbq-line-contrast-fade);
@@ -62,6 +66,7 @@
62
66
  --kbq-file-upload-multiple-states-disabled-container-background: var(--kbq-states-background-disabled);
63
67
  --kbq-file-upload-multiple-states-disabled-upload-icon-color: var(--kbq-states-icon-disabled);
64
68
  --kbq-file-upload-multiple-states-disabled-left-icon-color: var(--kbq-states-icon-disabled);
69
+ --kbq-file-upload-multiple-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);
65
70
  --kbq-file-upload-multiple-states-disabled-text-block-color: var(--kbq-states-foreground-disabled);
66
71
  --kbq-file-upload-multiple-states-disabled-grid-divider-color: var(--kbq-states-line-disabled);
67
72
  --kbq-form-field-hint-text: var(--kbq-foreground-contrast-secondary);
@@ -11,6 +11,7 @@
11
11
  [ file-upload-size-single-container-padding-horizontal,
12
12
  file-upload-size-single-container-border-width]
13
13
  );
14
+ min-height: var(--kbq-file-upload-single-min-height);
14
15
 
15
16
  border-radius: var(--kbq-file-upload-size-single-container-border-radius);
16
17
  border-width: var(--kbq-file-upload-size-single-container-border-width);
@@ -20,8 +20,8 @@ export declare class KbqFilterBar {
20
20
  set filter(value: KbqFilter | null);
21
21
  private _filter;
22
22
  /** An array of templates that are used when adding a pipe. Also contains lists of options to select (values). */
23
- set pipeTemplates(value: KbqPipeTemplate[]);
24
23
  get pipeTemplates(): KbqPipeTemplate[];
24
+ set pipeTemplates(value: KbqPipeTemplate[]);
25
25
  private _templates;
26
26
  /**
27
27
  * Event that emits whenever the raw value of the filter changes. This is here primarily
@@ -33,6 +33,8 @@ export declare class KbqFilterBar {
33
33
  readonly onChangePipe: EventEmitter<KbqPipe>;
34
34
  /** Event that emits whenever the pipe deleted. */
35
35
  readonly onRemovePipe: EventEmitter<KbqPipe>;
36
+ /** Event that emits whenever the select or multiselect pipe closed. */
37
+ readonly onClosePipe: EventEmitter<KbqPipe>;
36
38
  /** Whether the current filter is saved and changed */
37
39
  get isSavedAndChanged(): boolean;
38
40
  /** Whether the current filter is saved */
@@ -65,5 +67,5 @@ export declare class KbqFilterBar {
65
67
  private updateLocaleParams;
66
68
  private initDefaultParams;
67
69
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqFilterBar, never>;
68
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqFilterBar, "kbq-filter-bar, [kbq-filter-bar]", never, { "filter": { "alias": "filter"; "required": false; }; "pipeTemplates": { "alias": "pipeTemplates"; "required": false; }; }, { "filterChange": "filterChange"; "onChangePipe": "onChangePipe"; "onRemovePipe": "onRemovePipe"; }, ["filters", "filterReset"], ["kbq-filters", "*", "kbq-pipe-add", "kbq-filter-reset", "kbq-filter-search, [kbq-filter-search]", "kbq-filter-refresher, [kbq-filter-refresher]"], true, never>;
70
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqFilterBar, "kbq-filter-bar, [kbq-filter-bar]", never, { "filter": { "alias": "filter"; "required": false; }; "pipeTemplates": { "alias": "pipeTemplates"; "required": false; }; }, { "filterChange": "filterChange"; "onChangePipe": "onChangePipe"; "onRemovePipe": "onRemovePipe"; "onClosePipe": "onClosePipe"; }, ["filters", "filterReset"], ["kbq-filters", "*", "kbq-pipe-add", "kbq-filter-reset", "kbq-filter-search, [kbq-filter-search]", "kbq-filter-refresher, [kbq-filter-refresher]"], true, never>;
69
71
  }
@@ -55,7 +55,9 @@ export declare enum KbqPipeTypes {
55
55
  ReadOnly = "readonly",
56
56
  Text = "text",
57
57
  Select = "select",
58
+ TreeSelect = "tree-select",
58
59
  MultiSelect = "multiselect",
60
+ MultiTreeSelect = "multi-tree-select",
59
61
  Date = "date",
60
62
  Datetime = "datetime"
61
63
  }
@@ -86,10 +88,11 @@ export interface KbqPipe {
86
88
  value: unknown | null;
87
89
  search?: boolean;
88
90
  selectAll?: boolean;
89
- required: boolean;
90
- cleanable?: boolean;
91
- removable?: boolean;
92
- disabled?: boolean;
91
+ /** @deprecated use cleanable = false and removable = false instead */
92
+ required?: boolean;
93
+ cleanable: boolean;
94
+ removable: boolean;
95
+ disabled: boolean;
93
96
  }
94
97
  export interface KbqPipeData<V> extends KbqPipe {
95
98
  value: V | null;
@@ -104,7 +107,32 @@ export interface KbqSaveFilterError {
104
107
  text?: string;
105
108
  nameAlreadyExists?: boolean;
106
109
  }
110
+ /** saving statuses for KbqSaveFilterEvent */
111
+ export declare enum KbqSaveFilterStatuses {
112
+ OnlyChanges = "onlyChanges",
113
+ NewName = "newName",
114
+ NewFilter = "newFilter"
115
+ }
107
116
  export interface KbqSaveFilterEvent {
108
- filter: KbqFilter | null;
117
+ filter: KbqFilter;
109
118
  filterBar: KbqFilterBar;
119
+ status?: KbqSaveFilterStatuses;
120
+ }
121
+ /** Flattened node */
122
+ export declare class KbqTreeSelectFlatNode {
123
+ name: string;
124
+ value: unknown;
125
+ level: number;
126
+ expandable: boolean;
127
+ parent?: KbqTreeSelectFlatNode;
128
+ }
129
+ export interface KbqTreeSelectNode {
130
+ children: KbqTreeSelectNode[] | null;
131
+ name: string;
132
+ value: unknown;
110
133
  }
134
+ /**
135
+ * Build the file structure tree. The `value` is the Json object, or a sub-tree of a Json object.
136
+ * The return value is the list of extends `KbqTreeSelectNode`.
137
+ */
138
+ export declare function kbqBuildTree<T extends KbqTreeSelectNode>(value: any, level: number): T[];
@@ -41,7 +41,8 @@ export declare class KbqFilters implements OnInit {
41
41
  readonly onSave: EventEmitter<KbqSaveFilterEvent>;
42
42
  /** Event that is generated whenever the user change a filter. */
43
43
  readonly onChangeFilter: EventEmitter<KbqSaveFilterEvent>;
44
- /** Event that is generated whenever the user saves a filter as new. */
44
+ /** Event that is generated whenever the user saves a filter as new.
45
+ * @deprecated use onSave with status = newFilter. */
45
46
  readonly onSaveAsNew: EventEmitter<KbqSaveFilterEvent>;
46
47
  /** Event that is generated whenever the user remove a filter. */
47
48
  readonly onRemoveFilter: EventEmitter<KbqFilter>;
@@ -62,7 +63,7 @@ export declare class KbqFilters implements OnInit {
62
63
  ngOnInit(): void;
63
64
  selectFilter(filter: KbqFilter): void;
64
65
  saveChanges(): void;
65
- saveAsNew(): void;
66
+ saveAsNew(event?: Event): void;
66
67
  showError(error?: KbqSaveFilterError): void;
67
68
  restoreFocus(): void;
68
69
  preparePopover(): void;
@@ -18,6 +18,10 @@
18
18
 
19
19
  & .kbq-filters__filter-name {
20
20
  @include common.kbq-truncate-line();
21
+
22
+ & .kbq-icon {
23
+ margin-bottom: var(--kbq-size-3xs);
24
+ }
21
25
  }
22
26
 
23
27
  & .kbq-filter-bar__separator {
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ChangeDetectorRef, ElementRef, InjectionToken, TemplateRef } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, DestroyRef, ElementRef, InjectionToken, TemplateRef } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { KbqFilterBar } from '../filter-bar';
4
4
  import { KbqPipeData, KbqPipeTemplate, KbqPipeType } from '../filter-bar.types';
@@ -17,6 +17,8 @@ export declare abstract class KbqBasePipe<V> implements AfterViewInit {
17
17
  protected readonly filterBar: KbqFilterBar | null;
18
18
  /** @docs-private */
19
19
  protected readonly changeDetectorRef: ChangeDetectorRef;
20
+ /** @docs-private */
21
+ protected readonly destroyRef: DestroyRef;
20
22
  /** values to select from the pipe template */
21
23
  protected values: any;
22
24
  /** TemplateRef for selecting an option */
@@ -47,7 +47,8 @@
47
47
  }
48
48
 
49
49
  .kbq-select:not(:hover, .kbq-active),
50
- .kbq-button:not(:hover, .kbq-active) {
50
+ .kbq-tree-select:not(:hover, .kbq-active),
51
+ .kbq-button:not(:hover, .kbq-active, [disabled]) {
51
52
  & + .kbq-pipe-button:not(:hover, .kbq-active)::after {
52
53
  content: '';
53
54
  position: absolute;
@@ -1,4 +1,4 @@
1
- import { OnInit, QueryList } from '@angular/core';
1
+ import { AfterViewInit, OnInit, QueryList } from '@angular/core';
2
2
  import { UntypedFormControl } from '@angular/forms';
3
3
  import { KbqOption, KbqPseudoCheckboxState } from '@koobiq/components/core';
4
4
  import { KbqSelect } from '@koobiq/components/select';
@@ -6,7 +6,7 @@ import { Observable } from 'rxjs';
6
6
  import { KbqSelectValue } from '../filter-bar.types';
7
7
  import { KbqBasePipe } from './base-pipe';
8
8
  import * as i0 from "@angular/core";
9
- export declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectValue[]> implements OnInit {
9
+ export declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectValue[]> implements AfterViewInit, OnInit {
10
10
  /** control for search options */
11
11
  searchControl: UntypedFormControl;
12
12
  /** filtered by search options */
@@ -21,11 +21,17 @@ export declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectVa
21
21
  get isEmpty(): boolean;
22
22
  /** state for checkbox 'select all'. */
23
23
  get checkboxState(): KbqPseudoCheckboxState;
24
+ /** true if all visible options selected */
25
+ get allVisibleOptionsSelected(): boolean;
26
+ /** true if all options selected */
27
+ get allOptionsSelected(): boolean;
24
28
  private get visibleOptions();
25
- private get allOptionsSelected();
29
+ private selectionAllInProgress;
26
30
  /** @docs-private */
27
31
  ngOnInit(): void;
28
32
  /** @docs-private */
33
+ ngAfterViewInit(): void;
34
+ /** @docs-private */
29
35
  onSelect(item: KbqSelectValue[]): void;
30
36
  /** @docs-private */
31
37
  onClear(): void;
@@ -35,6 +41,7 @@ export declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectVa
35
41
  toggleSelectionAll(): void;
36
42
  /** Comparator of selected options */
37
43
  compareByValue: (o1: any, o2: any) => boolean;
44
+ onClose(): void;
38
45
  /** opens select */
39
46
  open(): void;
40
47
  private getFilteredOptions;
@@ -0,0 +1,57 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { UntypedFormControl } from '@angular/forms';
3
+ import { KbqPseudoCheckboxState } from '@koobiq/components/core';
4
+ import { FlatTreeControl, KbqTreeFlatDataSource, KbqTreeFlattener, KbqTreeSelection } from '@koobiq/components/tree';
5
+ import { KbqTreeSelect } from '@koobiq/components/tree-select';
6
+ import { Observable } from 'rxjs';
7
+ import { KbqPipeTemplate, KbqSelectValue, KbqTreeSelectFlatNode, KbqTreeSelectNode } from '../filter-bar.types';
8
+ import { KbqBasePipe } from './base-pipe';
9
+ import * as i0 from "@angular/core";
10
+ export declare class KbqPipeMultiTreeSelectComponent extends KbqBasePipe<KbqSelectValue[]> implements OnInit {
11
+ /** control for search options */
12
+ searchControl: UntypedFormControl;
13
+ /** filtered by search options */
14
+ filteredOptions: Observable<any[]>;
15
+ treeControl: FlatTreeControl<KbqTreeSelectFlatNode>;
16
+ treeFlattener: KbqTreeFlattener<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
17
+ dataSource: KbqTreeFlatDataSource<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
18
+ template: any;
19
+ /** @docs-private */
20
+ select: KbqTreeSelect;
21
+ /** @docs-private */
22
+ tree: KbqTreeSelection;
23
+ /** selected value */
24
+ get selected(): KbqSelectValue[] | null;
25
+ /** Whether the current pipe is empty. */
26
+ get isEmpty(): boolean;
27
+ get selectAllCheckboxState(): KbqPseudoCheckboxState;
28
+ get numberOfSelectedLeaves(): number;
29
+ /** true if all options selected */
30
+ get allOptionsSelected(): boolean;
31
+ /** true if all visible options selected */
32
+ get allVisibleOptionsSelected(): boolean;
33
+ constructor();
34
+ ngOnInit(): void;
35
+ isNodeHasChild(_: number, nodeData: any): any;
36
+ isNodeSelectAll(_: number, nodeData: any): boolean;
37
+ onSelect({ value: option }: {
38
+ value: any;
39
+ }): void;
40
+ searchKeydownHandler(): void;
41
+ toggleSelectAllNode(): void;
42
+ /** updates values for selection and value template */
43
+ updateTemplates: (templates: KbqPipeTemplate[] | null) => void;
44
+ /** opens select */
45
+ open(): void;
46
+ onOpen(): void;
47
+ onClose(): void;
48
+ private toggleParents;
49
+ private transformer;
50
+ private getLevel;
51
+ private isExpandable;
52
+ private getChildren;
53
+ private getValue;
54
+ private getViewValue;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeMultiTreeSelectComponent, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqPipeMultiTreeSelectComponent, "kbq-pipe-multi-tree-select", never, {}, {}, never, never, true, never>;
57
+ }
@@ -0,0 +1,19 @@
1
+ .kbq-pipe__multi-tree-select {
2
+ .kbq-pipe__value {
3
+ margin-left: var(--kbq-size-xxs);
4
+ }
5
+
6
+ .kbq-badge {
7
+ align-self: center;
8
+
9
+ margin-left: var(--kbq-size-xs);
10
+ }
11
+
12
+ & .kbq-tree-select .kbq-select__trigger {
13
+ height: unset;
14
+ }
15
+ }
16
+
17
+ .kbq-pipe-multi-tree-select__panel .kbq-select__content {
18
+ max-height: 404px;
19
+ }
@@ -0,0 +1,18 @@
1
+ .kbq-pipe.kbq-pipe__readonly {
2
+ & .kbq-button {
3
+ cursor: default;
4
+ }
5
+
6
+ &:not(.kbq-pipe_cleanable) {
7
+ & .kbq-button-icon.kbq-button_filled:not(:hover),
8
+ & .kbq-button.kbq-button_filled,
9
+ & .kbq-button.kbq-button_filled:hover {
10
+ background: var(--kbq-states-background-disabled);
11
+ }
12
+
13
+ & .kbq-pipe__name,
14
+ & .kbq-pipe__value {
15
+ color: var(--kbq-states-foreground-disabled);
16
+ }
17
+ }
18
+ }
@@ -1,11 +1,11 @@
1
- import { OnInit } from '@angular/core';
1
+ import { AfterViewInit, OnInit } from '@angular/core';
2
2
  import { UntypedFormControl } from '@angular/forms';
3
3
  import { KbqSelect } from '@koobiq/components/select';
4
4
  import { Observable } from 'rxjs';
5
5
  import { KbqSelectValue } from '../filter-bar.types';
6
6
  import { KbqBasePipe } from './base-pipe';
7
7
  import * as i0 from "@angular/core";
8
- export declare class KbqPipeSelectComponent extends KbqBasePipe<KbqSelectValue> implements OnInit {
8
+ export declare class KbqPipeSelectComponent extends KbqBasePipe<KbqSelectValue> implements AfterViewInit, OnInit {
9
9
  /** control for search options */
10
10
  searchControl: UntypedFormControl;
11
11
  /** filtered by search options */
@@ -16,7 +16,10 @@ export declare class KbqPipeSelectComponent extends KbqBasePipe<KbqSelectValue>
16
16
  get selected(): KbqSelectValue | null;
17
17
  /** Whether the current pipe is empty. */
18
18
  get isEmpty(): boolean;
19
+ /** @docs-private */
19
20
  ngOnInit(): void;
21
+ /** @docs-private */
22
+ ngAfterViewInit(): void;
20
23
  onSelect(item: KbqSelectValue): void;
21
24
  /** Comparator of selected options */
22
25
  compareByValue: (o1: any, o2: any) => boolean;
@@ -11,8 +11,8 @@ export declare class KbqPipeState<T> implements OnInit {
11
11
  * @docs-private */
12
12
  private readonly filterBar;
13
13
  /** calculates and updates styles of button from pipe state */
14
- set state(pipe: T | null);
15
14
  get state(): T | null;
15
+ set state(pipe: T | null);
16
16
  private _state;
17
17
  ngOnInit(): void;
18
18
  private updateState;
@@ -0,0 +1,41 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { UntypedFormControl } from '@angular/forms';
3
+ import { FlatTreeControl, KbqTreeFlatDataSource, KbqTreeFlattener, KbqTreeOption } from '@koobiq/components/tree';
4
+ import { KbqTreeSelect } from '@koobiq/components/tree-select';
5
+ import { Observable } from 'rxjs';
6
+ import { KbqPipeTemplate, KbqSelectValue, KbqTreeSelectFlatNode, KbqTreeSelectNode } from '../filter-bar.types';
7
+ import { KbqBasePipe } from './base-pipe';
8
+ import * as i0 from "@angular/core";
9
+ export declare class KbqPipeTreeSelectComponent extends KbqBasePipe<KbqSelectValue> implements OnInit {
10
+ /** control for search options */
11
+ searchControl: UntypedFormControl;
12
+ /** filtered by search options */
13
+ filteredOptions: Observable<any[]>;
14
+ treeControl: FlatTreeControl<KbqTreeSelectFlatNode>;
15
+ treeFlattener: KbqTreeFlattener<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
16
+ dataSource: KbqTreeFlatDataSource<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
17
+ template: any;
18
+ /** @docs-private */
19
+ select: KbqTreeSelect;
20
+ /** selected value */
21
+ get selected(): KbqSelectValue | null;
22
+ /** Whether the current pipe is empty. */
23
+ get isEmpty(): boolean;
24
+ constructor();
25
+ ngOnInit(): void;
26
+ hasChild(_: number, nodeData: any): any;
27
+ onSelect(item: KbqTreeOption): void;
28
+ /** updates values for selection and value template */
29
+ updateTemplates: (templates: KbqPipeTemplate[] | null) => void;
30
+ /** opens select */
31
+ open(): void;
32
+ onOpen(): void;
33
+ private transformer;
34
+ private getLevel;
35
+ private isExpandable;
36
+ private getChildren;
37
+ private getValue;
38
+ private getViewValue;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeTreeSelectComponent, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqPipeTreeSelectComponent, "kbq-pipe-tree-select", never, {}, {}, never, never, true, never>;
41
+ }
@@ -0,0 +1,9 @@
1
+ .kbq-pipe-tree-select__panel .kbq-tree-select__content {
2
+ max-height: 404px;
3
+ }
4
+
5
+ .kbq-pipe__tree-select {
6
+ .kbq-select__trigger {
7
+ height: unset;
8
+ }
9
+ }
@@ -18,3 +18,4 @@ export * from './pipes/pipe-select';
18
18
  export * from './pipes/pipe-state';
19
19
  export * from './pipes/pipe-text';
20
20
  export * from './pipes/pipe-title';
21
+ export * from './pipes/pipe-tree-select';
@@ -82,18 +82,18 @@
82
82
  -webkit-text-fill-color: var(--kbq-form-field-states-disabled-text);
83
83
  }
84
84
  }
85
- }
86
85
 
87
- .kbq-form-field__prefix,
88
- .kbq-form-field__suffix {
89
- .kbq-icon.kbq-empty {
90
- color: var(--kbq-icon-contrast-fade);
86
+ .kbq-form-field__prefix,
87
+ .kbq-form-field__suffix {
88
+ .kbq-icon.kbq-empty {
89
+ color: var(--kbq-icon-contrast-fade);
90
+ }
91
91
  }
92
- }
93
92
 
94
- .kbq-form-field__hint {
95
- & > .kbq-hint:not(.kbq-password-hint, .kbq-contrast-fade, .kbq-success, .kbq-warning, .kbq-error) {
96
- color: var(--kbq-form-field-hint-text);
93
+ .kbq-form-field__hint {
94
+ & > .kbq-hint:not(.kbq-password-hint, .kbq-contrast-fade, .kbq-success, .kbq-warning, .kbq-error) {
95
+ color: var(--kbq-form-field-hint-text);
96
+ }
97
97
  }
98
98
  }
99
99
  }
@@ -101,9 +101,9 @@
101
101
  @mixin kbq-form-field-typography() {
102
102
  .kbq-form-field {
103
103
  @include kbq-typography-level-to-styles-css-variables(typography, text-normal);
104
- }
105
104
 
106
- .kbq-form-field__hint > .kbq-hint:not(.kbq-password-hint) .kbq-hint__text {
107
- @include kbq-typography-level-to-styles-css-variables(typography, text-compact);
105
+ .kbq-form-field__hint > .kbq-hint:not(.kbq-password-hint) .kbq-hint__text {
106
+ @include kbq-typography-level-to-styles-css-variables(typography, text-compact);
107
+ }
108
108
  }
109
109
  }