@koobiq/components 18.35.0 → 18.37.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 (626) hide show
  1. package/accordion/accordion.component.d.ts +1 -1
  2. package/app-switcher/_app-switcher-theme.scss +34 -0
  3. package/app-switcher/app-switcher-animations.d.ts +5 -0
  4. package/app-switcher/app-switcher-dropdown-app.d.ts +11 -0
  5. package/app-switcher/app-switcher-dropdown-app.scss +85 -0
  6. package/app-switcher/app-switcher-dropdown-site.d.ts +9 -0
  7. package/app-switcher/app-switcher-dropdown-site.scss +53 -0
  8. package/app-switcher/app-switcher.d.ts +191 -0
  9. package/app-switcher/app-switcher.module.d.ts +10 -0
  10. package/app-switcher/app-switcher.scss +64 -0
  11. package/app-switcher/index.d.ts +1 -0
  12. package/app-switcher/kbq-app-switcher-list-item.d.ts +16 -0
  13. package/app-switcher/kbq-app-switcher-list-item.scss +180 -0
  14. package/app-switcher/public-api.d.ts +6 -0
  15. package/autocomplete/autocomplete.scss +2 -17
  16. package/badge/badge.component.d.ts +1 -1
  17. package/badge/badge.component.scss +2 -0
  18. package/breadcrumbs/breadcrumbs.d.ts +2 -1
  19. package/breadcrumbs/breadcrumbs.scss +8 -4
  20. package/button/button.component.d.ts +3 -2
  21. package/button-toggle/button-toggle.scss +0 -2
  22. package/content-panel/content-panel.d.ts +1 -1
  23. package/content-panel/index.d.ts +0 -1
  24. package/core/common-behaviors/clipboard.d.ts +1 -1
  25. package/core/common-behaviors/color.d.ts +5 -5
  26. package/core/common-behaviors/focus-monitor.d.ts +19 -0
  27. package/core/common-behaviors/hover.d.ts +15 -0
  28. package/core/common-behaviors/index.d.ts +4 -0
  29. package/core/common-behaviors/orientation.d.ts +4 -0
  30. package/core/common-behaviors/read-state.d.ts +12 -0
  31. package/core/locales/en-US.d.ts +62 -0
  32. package/core/locales/es-LA.d.ts +62 -0
  33. package/core/locales/formatters.d.ts +0 -72
  34. package/core/locales/index.d.ts +0 -2
  35. package/core/locales/locale-service.d.ts +292 -250
  36. package/core/locales/pt-BR.d.ts +62 -0
  37. package/core/locales/ru-RU.d.ts +62 -0
  38. package/core/locales/tk-TM.d.ts +62 -0
  39. package/core/locales/types.d.ts +22 -0
  40. package/core/navbar/rectangle-item.d.ts +1 -1
  41. package/core/option/action.d.ts +1 -1
  42. package/core/option/option.d.ts +3 -2
  43. package/core/pop-up/constants.d.ts +2 -1
  44. package/core/pop-up/pop-up-trigger.d.ts +3 -3
  45. package/core/pop-up/pop-up.d.ts +2 -1
  46. package/core/select/common.d.ts +6 -1
  47. package/core/select/constants.d.ts +5 -0
  48. package/core/styles/common/_select.scss +25 -0
  49. package/core/styles/typography/_typography.scss +23 -82
  50. package/core/utils/dom.d.ts +1 -6
  51. package/datepicker/datepicker-module.d.ts +2 -1
  52. package/divider/divider.scss +1 -0
  53. package/dropdown/dropdown-item.scss +8 -7
  54. package/dropdown/dropdown.component.d.ts +5 -1
  55. package/dropdown/dropdown.module.d.ts +1 -1
  56. package/dropdown/dropdown.scss +5 -14
  57. package/esm2022/accordion/accordion-content.mjs +3 -3
  58. package/esm2022/accordion/accordion-header.mjs +3 -3
  59. package/esm2022/accordion/accordion-item.mjs +3 -3
  60. package/esm2022/accordion/accordion-trigger.component.mjs +3 -3
  61. package/esm2022/accordion/accordion.component.mjs +5 -5
  62. package/esm2022/accordion/accordion.module.mjs +4 -4
  63. package/esm2022/actions-panel/actions-panel-container.mjs +3 -3
  64. package/esm2022/actions-panel/actions-panel.mjs +3 -3
  65. package/esm2022/actions-panel/module.mjs +4 -4
  66. package/esm2022/alert/alert.component.mjs +12 -12
  67. package/esm2022/alert/alert.module.mjs +4 -4
  68. package/esm2022/app-switcher/app-switcher-animations.mjs +18 -0
  69. package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +75 -0
  70. package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +60 -0
  71. package/esm2022/app-switcher/app-switcher.mjs +446 -0
  72. package/esm2022/app-switcher/app-switcher.module.mjs +45 -0
  73. package/esm2022/app-switcher/index.mjs +2 -0
  74. package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +84 -0
  75. package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +5 -0
  76. package/esm2022/app-switcher/public-api.mjs +7 -0
  77. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +3 -3
  78. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +7 -7
  79. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  80. package/esm2022/autocomplete/autocomplete.module.mjs +4 -4
  81. package/esm2022/badge/badge.component.mjs +11 -11
  82. package/esm2022/badge/badge.module.mjs +4 -4
  83. package/esm2022/breadcrumbs/breadcrumbs.mjs +58 -49
  84. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +4 -4
  85. package/esm2022/button/button.component.mjs +12 -10
  86. package/esm2022/button/button.dropdown-trigger.directive.mjs +3 -3
  87. package/esm2022/button/button.module.mjs +4 -4
  88. package/esm2022/button-toggle/button-toggle.component.mjs +8 -8
  89. package/esm2022/button-toggle/button-toggle.module.mjs +4 -4
  90. package/esm2022/checkbox/checkbox-module.mjs +4 -4
  91. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  92. package/esm2022/checkbox/checkbox.mjs +3 -3
  93. package/esm2022/clamped-text/clamped-text.mjs +3 -3
  94. package/esm2022/clamped-text/module.mjs +4 -4
  95. package/esm2022/code-block/code-block-highlight.mjs +12 -7
  96. package/esm2022/code-block/code-block.mjs +4 -4
  97. package/esm2022/code-block/code-block.module.mjs +4 -4
  98. package/esm2022/content-panel/content-panel.mjs +26 -26
  99. package/esm2022/content-panel/index.mjs +1 -2
  100. package/esm2022/content-panel/module.mjs +4 -4
  101. package/esm2022/core/common-behaviors/clipboard.mjs +4 -4
  102. package/esm2022/core/common-behaviors/color.mjs +7 -7
  103. package/esm2022/core/common-behaviors/common-module.mjs +6 -5
  104. package/esm2022/core/common-behaviors/disabled.mjs +2 -1
  105. package/esm2022/core/common-behaviors/error-state.mjs +2 -1
  106. package/esm2022/core/common-behaviors/focus-monitor.mjs +37 -0
  107. package/esm2022/core/common-behaviors/hover.mjs +34 -0
  108. package/esm2022/core/common-behaviors/index.mjs +5 -1
  109. package/esm2022/core/common-behaviors/orientation.mjs +2 -0
  110. package/esm2022/core/common-behaviors/read-state.mjs +33 -0
  111. package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
  112. package/esm2022/core/error/error-state-matcher.mjs +9 -9
  113. package/esm2022/core/form-field/field-sizing-content.mjs +8 -5
  114. package/esm2022/core/formatters/date/formatter.mjs +3 -3
  115. package/esm2022/core/formatters/date/formatter.pipe.mjs +78 -78
  116. package/esm2022/core/formatters/filesize/formatter.mjs +3 -3
  117. package/esm2022/core/formatters/index.mjs +4 -4
  118. package/esm2022/core/formatters/number/formatter.mjs +14 -14
  119. package/esm2022/core/forms/forms-module.mjs +4 -4
  120. package/esm2022/core/forms/forms.directive.mjs +6 -6
  121. package/esm2022/core/highlight/highlight.pipe.mjs +3 -3
  122. package/esm2022/core/highlight/index.mjs +4 -4
  123. package/esm2022/core/line/line.mjs +7 -7
  124. package/esm2022/core/locales/en-US.mjs +105 -1
  125. package/esm2022/core/locales/es-LA.mjs +114 -10
  126. package/esm2022/core/locales/formatters.mjs +1 -73
  127. package/esm2022/core/locales/index.mjs +1 -3
  128. package/esm2022/core/locales/locale-service.mjs +5 -11
  129. package/esm2022/core/locales/locale-service.module.mjs +4 -4
  130. package/esm2022/core/locales/pt-BR.mjs +123 -19
  131. package/esm2022/core/locales/ru-RU.mjs +119 -1
  132. package/esm2022/core/locales/tk-TM.mjs +128 -24
  133. package/esm2022/core/locales/types.mjs +1 -1
  134. package/esm2022/core/navbar/rectangle-item.mjs +7 -6
  135. package/esm2022/core/option/action-container.mjs +3 -3
  136. package/esm2022/core/option/action.mjs +4 -4
  137. package/esm2022/core/option/optgroup.mjs +3 -3
  138. package/esm2022/core/option/option-module.mjs +4 -4
  139. package/esm2022/core/option/option.mjs +13 -9
  140. package/esm2022/core/pop-up/constants.mjs +2 -1
  141. package/esm2022/core/pop-up/pop-up-trigger.mjs +7 -6
  142. package/esm2022/core/pop-up/pop-up.mjs +4 -4
  143. package/esm2022/core/select/common.mjs +35 -19
  144. package/esm2022/core/select/constants.mjs +6 -1
  145. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  146. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
  147. package/esm2022/core/services/measure-scrollbar.service.mjs +3 -3
  148. package/esm2022/core/services/theme.service.mjs +3 -3
  149. package/esm2022/core/utils/dom.mjs +2 -8
  150. package/esm2022/core/version.mjs +2 -2
  151. package/esm2022/datepicker/calendar-body.component.mjs +3 -3
  152. package/esm2022/datepicker/calendar-header.component.mjs +7 -6
  153. package/esm2022/datepicker/calendar.component.mjs +3 -3
  154. package/esm2022/datepicker/datepicker-input.directive.mjs +6 -6
  155. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  156. package/esm2022/datepicker/datepicker-module.mjs +11 -8
  157. package/esm2022/datepicker/datepicker-toggle.component.mjs +9 -9
  158. package/esm2022/datepicker/datepicker.component.mjs +6 -6
  159. package/esm2022/datepicker/month-view.component.mjs +3 -3
  160. package/esm2022/divider/divider.component.mjs +4 -4
  161. package/esm2022/divider/divider.module.mjs +4 -4
  162. package/esm2022/dl/dl.component.mjs +9 -9
  163. package/esm2022/dl/dl.module.mjs +4 -4
  164. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  165. package/esm2022/dropdown/dropdown-item.component.mjs +5 -5
  166. package/esm2022/dropdown/dropdown-trigger.directive.mjs +5 -5
  167. package/esm2022/dropdown/dropdown.component.mjs +18 -8
  168. package/esm2022/dropdown/dropdown.module.mjs +14 -10
  169. package/esm2022/dynamic-translation/dynamic-translation.mjs +9 -9
  170. package/esm2022/dynamic-translation/module.mjs +4 -4
  171. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +12 -9
  172. package/esm2022/empty-state/empty-state.component.mjs +15 -15
  173. package/esm2022/empty-state/empty-state.module.mjs +4 -4
  174. package/esm2022/file-upload/file-drop.mjs +7 -5
  175. package/esm2022/file-upload/file-upload.mjs +1 -1
  176. package/esm2022/file-upload/file-upload.module.mjs +4 -4
  177. package/esm2022/file-upload/multiple-file-upload.component.mjs +20 -13
  178. package/esm2022/file-upload/single-file-upload.component.mjs +19 -6
  179. package/esm2022/filter-bar/filter-bar-button.mjs +3 -3
  180. package/esm2022/filter-bar/filter-bar.mjs +8 -4
  181. package/esm2022/filter-bar/filter-bar.module.mjs +4 -4
  182. package/esm2022/filter-bar/filter-refresher.mjs +3 -3
  183. package/esm2022/filter-bar/filter-reset.mjs +3 -3
  184. package/esm2022/filter-bar/filter-search.mjs +6 -6
  185. package/esm2022/filter-bar/filters.mjs +12 -7
  186. package/esm2022/filter-bar/pipe-add.mjs +6 -5
  187. package/esm2022/filter-bar/pipe.directive.mjs +3 -3
  188. package/esm2022/filter-bar/pipes/base-pipe.mjs +17 -9
  189. package/esm2022/filter-bar/pipes/pipe-button.mjs +3 -3
  190. package/esm2022/filter-bar/pipes/pipe-date.mjs +6 -6
  191. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +6 -6
  192. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +15 -9
  193. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +12 -7
  194. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +6 -6
  195. package/esm2022/filter-bar/pipes/pipe-select.mjs +6 -6
  196. package/esm2022/filter-bar/pipes/pipe-state.mjs +3 -3
  197. package/esm2022/filter-bar/pipes/pipe-text.mjs +6 -6
  198. package/esm2022/filter-bar/pipes/pipe-title.mjs +26 -21
  199. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +6 -6
  200. package/esm2022/form-field/cleaner.mjs +3 -3
  201. package/esm2022/form-field/error.mjs +3 -3
  202. package/esm2022/form-field/fieldset.mjs +11 -11
  203. package/esm2022/form-field/form-field.mjs +11 -11
  204. package/esm2022/form-field/form-field.module.mjs +4 -4
  205. package/esm2022/form-field/hint.mjs +3 -3
  206. package/esm2022/form-field/label.mjs +3 -3
  207. package/esm2022/form-field/password-hint.mjs +3 -3
  208. package/esm2022/form-field/password-toggle.mjs +7 -7
  209. package/esm2022/form-field/prefix.mjs +3 -3
  210. package/esm2022/form-field/reactive-password-hint.mjs +3 -3
  211. package/esm2022/form-field/stepper.mjs +44 -13
  212. package/esm2022/form-field/suffix.mjs +3 -3
  213. package/esm2022/form-field/validate.directive.mjs +3 -3
  214. package/esm2022/icon/icon-button.component.mjs +3 -3
  215. package/esm2022/icon/icon-item.component.mjs +3 -3
  216. package/esm2022/icon/icon.component.mjs +4 -4
  217. package/esm2022/icon/icon.module.mjs +4 -4
  218. package/esm2022/inline-edit/index.mjs +3 -0
  219. package/esm2022/inline-edit/inline-edit.mjs +382 -0
  220. package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +5 -0
  221. package/esm2022/inline-edit/module.mjs +25 -0
  222. package/esm2022/input/input-number-validators.mjs +6 -6
  223. package/esm2022/input/input-number.mjs +10 -9
  224. package/esm2022/input/input-password.mjs +4 -4
  225. package/esm2022/input/input.mjs +7 -7
  226. package/esm2022/input/input.module.mjs +11 -8
  227. package/esm2022/link/link.component.mjs +6 -6
  228. package/esm2022/link/link.module.mjs +4 -4
  229. package/esm2022/list/list-selection.component.mjs +40 -24
  230. package/esm2022/list/list.component.mjs +6 -6
  231. package/esm2022/list/list.module.mjs +4 -4
  232. package/esm2022/loader-overlay/loader-overlay.component.mjs +13 -13
  233. package/esm2022/loader-overlay/loader-overlay.module.mjs +4 -4
  234. package/esm2022/markdown/markdown.component.mjs +10 -10
  235. package/esm2022/markdown/markdown.module.mjs +4 -4
  236. package/esm2022/markdown/markdown.service.mjs +3 -3
  237. package/esm2022/modal/css-unit.pipe.mjs +3 -3
  238. package/esm2022/modal/modal-control.service.mjs +3 -3
  239. package/esm2022/modal/modal-util.mjs +7 -3
  240. package/esm2022/modal/modal.component.mjs +5 -5
  241. package/esm2022/modal/modal.directive.mjs +12 -12
  242. package/esm2022/modal/modal.module.mjs +4 -4
  243. package/esm2022/modal/modal.service.mjs +5 -4
  244. package/esm2022/navbar/navbar-item.component.mjs +53 -44
  245. package/esm2022/navbar/navbar.component.mjs +17 -13
  246. package/esm2022/navbar/navbar.module.mjs +4 -4
  247. package/esm2022/navbar/vertical-navbar.component.mjs +6 -6
  248. package/esm2022/navbar-ic/navbar-ic-header.mjs +25 -9
  249. package/esm2022/navbar-ic/navbar-ic-item.mjs +35 -44
  250. package/esm2022/navbar-ic/navbar-ic.animation.mjs +10 -2
  251. package/esm2022/navbar-ic/navbar-ic.mjs +50 -21
  252. package/esm2022/navbar-ic/navbar-ic.module.mjs +4 -4
  253. package/esm2022/notification-center/index.mjs +2 -0
  254. package/esm2022/notification-center/koobiq-components-notification-center.mjs +5 -0
  255. package/esm2022/notification-center/notification-center-animations.mjs +18 -0
  256. package/esm2022/notification-center/notification-center.mjs +353 -0
  257. package/esm2022/notification-center/notification-center.module.mjs +38 -0
  258. package/esm2022/notification-center/notification-center.service.mjs +127 -0
  259. package/esm2022/notification-center/notification-item.mjs +70 -0
  260. package/esm2022/notification-center/public-api.mjs +5 -0
  261. package/esm2022/overflow-items/module.mjs +4 -4
  262. package/esm2022/overflow-items/overflow-items.mjs +95 -41
  263. package/esm2022/popover/popover-confirm.component.mjs +10 -10
  264. package/esm2022/popover/popover.component.mjs +31 -13
  265. package/esm2022/popover/popover.module.mjs +4 -4
  266. package/esm2022/progress-bar/progress-bar.component.mjs +9 -9
  267. package/esm2022/progress-bar/progress-bar.module.mjs +4 -4
  268. package/esm2022/progress-spinner/progress-spinner.component.mjs +9 -9
  269. package/esm2022/progress-spinner/progress-spinner.module.mjs +4 -4
  270. package/esm2022/radio/radio.component.mjs +6 -6
  271. package/esm2022/radio/radio.module.mjs +4 -4
  272. package/esm2022/resizer/index.mjs +3 -0
  273. package/esm2022/resizer/koobiq-components-resizer.mjs +5 -0
  274. package/esm2022/resizer/module.mjs +17 -0
  275. package/esm2022/resizer/resizer.mjs +135 -0
  276. package/esm2022/risk-level/risk-level.component.mjs +3 -3
  277. package/esm2022/risk-level/risk-level.module.mjs +4 -4
  278. package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
  279. package/esm2022/scrollbar/scrollbar.directive.mjs +7 -6
  280. package/esm2022/scrollbar/scrollbar.module.mjs +4 -4
  281. package/esm2022/search-expandable/index.mjs +2 -0
  282. package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +5 -0
  283. package/esm2022/search-expandable/public-api.mjs +3 -0
  284. package/esm2022/search-expandable/search-expandable.mjs +177 -0
  285. package/esm2022/search-expandable/search-expandable.module.mjs +18 -0
  286. package/esm2022/select/select-option.directive.mjs +3 -3
  287. package/esm2022/select/select.component.mjs +38 -23
  288. package/esm2022/select/select.module.mjs +12 -8
  289. package/esm2022/sidebar/sidebar.component.mjs +9 -9
  290. package/esm2022/sidebar/sidebar.module.mjs +4 -4
  291. package/esm2022/sidepanel/sidepanel-container.component.mjs +5 -5
  292. package/esm2022/sidepanel/sidepanel-directives.mjs +15 -15
  293. package/esm2022/sidepanel/sidepanel.module.mjs +4 -4
  294. package/esm2022/sidepanel/sidepanel.service.mjs +3 -3
  295. package/esm2022/split-button/index.mjs +2 -0
  296. package/esm2022/split-button/koobiq-components-split-button.mjs +5 -0
  297. package/esm2022/split-button/public-api.mjs +3 -0
  298. package/esm2022/split-button/split-button.mjs +133 -0
  299. package/esm2022/split-button/split-button.module.mjs +18 -0
  300. package/esm2022/splitter/splitter.component.mjs +13 -13
  301. package/esm2022/splitter/splitter.module.mjs +4 -4
  302. package/esm2022/table/table.component.mjs +6 -6
  303. package/esm2022/table/table.module.mjs +4 -4
  304. package/esm2022/tabs/paginated-tab-header.mjs +4 -4
  305. package/esm2022/tabs/tab-body.component.mjs +6 -6
  306. package/esm2022/tabs/tab-content.directive.mjs +3 -3
  307. package/esm2022/tabs/tab-group.component.mjs +15 -15
  308. package/esm2022/tabs/tab-header.component.mjs +4 -4
  309. package/esm2022/tabs/tab-label-wrapper.directive.mjs +4 -4
  310. package/esm2022/tabs/tab-label.directive.mjs +3 -3
  311. package/esm2022/tabs/tab-nav-bar.mjs +10 -10
  312. package/esm2022/tabs/tab.component.mjs +3 -3
  313. package/esm2022/tabs/tabs.module.mjs +4 -4
  314. package/esm2022/tags/tag-input.mjs +38 -36
  315. package/esm2022/tags/tag-list.component.mjs +281 -250
  316. package/esm2022/tags/tag.component.mjs +206 -140
  317. package/esm2022/tags/tag.module.mjs +4 -4
  318. package/esm2022/textarea/textarea.component.mjs +5 -5
  319. package/esm2022/textarea/textarea.module.mjs +7 -6
  320. package/esm2022/time-range/constants.mjs +42 -0
  321. package/esm2022/time-range/index.mjs +8 -0
  322. package/esm2022/time-range/koobiq-components-time-range.mjs +5 -0
  323. package/esm2022/time-range/module.mjs +36 -0
  324. package/esm2022/time-range/time-range-editor.mjs +224 -0
  325. package/esm2022/time-range/time-range-title-as-form-field.mjs +60 -0
  326. package/esm2022/time-range/time-range-title.mjs +112 -0
  327. package/esm2022/time-range/time-range.mjs +234 -0
  328. package/esm2022/time-range/time-range.service.mjs +126 -0
  329. package/esm2022/time-range/types.mjs +2 -0
  330. package/esm2022/timepicker/timepicker.directive.mjs +4 -4
  331. package/esm2022/timepicker/timepicker.module.mjs +9 -8
  332. package/esm2022/timezone/cities-by-filter.pipe.mjs +3 -3
  333. package/esm2022/timezone/timezone-option.component.mjs +5 -5
  334. package/esm2022/timezone/timezone-option.directive.mjs +3 -3
  335. package/esm2022/timezone/timezone-select.component.mjs +9 -9
  336. package/esm2022/timezone/timezone.module.mjs +10 -8
  337. package/esm2022/timezone/utc-offset.pipe.mjs +3 -3
  338. package/esm2022/title/title.directive.mjs +9 -5
  339. package/esm2022/title/title.module.mjs +4 -4
  340. package/esm2022/toast/toast-container.component.mjs +3 -3
  341. package/esm2022/toast/toast.component.mjs +20 -14
  342. package/esm2022/toast/toast.module.mjs +4 -4
  343. package/esm2022/toast/toast.service.mjs +5 -4
  344. package/esm2022/toast/toast.type.mjs +1 -1
  345. package/esm2022/toggle/toggle.component.mjs +6 -6
  346. package/esm2022/toggle/toggle.module.mjs +4 -4
  347. package/esm2022/tooltip/tooltip.component.mjs +19 -19
  348. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  349. package/esm2022/top-bar/module.mjs +4 -4
  350. package/esm2022/top-bar/top-bar.mjs +11 -11
  351. package/esm2022/tree/node.mjs +3 -3
  352. package/esm2022/tree/outlet.mjs +3 -3
  353. package/esm2022/tree/padding.directive.mjs +3 -3
  354. package/esm2022/tree/toggle.mjs +16 -12
  355. package/esm2022/tree/tree-base.mjs +7 -7
  356. package/esm2022/tree/tree-option.component.mjs +11 -14
  357. package/esm2022/tree/tree-selection.component.mjs +26 -16
  358. package/esm2022/tree/tree.mjs +3 -3
  359. package/esm2022/tree/tree.module.mjs +4 -4
  360. package/esm2022/tree-select/tree-select.component.mjs +142 -84
  361. package/esm2022/tree-select/tree-select.module.mjs +11 -8
  362. package/esm2022/username/module.mjs +4 -4
  363. package/esm2022/username/username.mjs +15 -15
  364. package/esm2022/username/username.pipe.mjs +8 -8
  365. package/fesm2022/koobiq-components-accordion.mjs +20 -20
  366. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  367. package/fesm2022/koobiq-components-actions-panel.mjs +10 -10
  368. package/fesm2022/koobiq-components-alert.mjs +16 -16
  369. package/fesm2022/koobiq-components-app-switcher.mjs +704 -0
  370. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -0
  371. package/fesm2022/koobiq-components-autocomplete.mjs +16 -16
  372. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  373. package/fesm2022/koobiq-components-badge.mjs +14 -14
  374. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  375. package/fesm2022/koobiq-components-breadcrumbs.mjs +61 -52
  376. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  377. package/fesm2022/koobiq-components-button-toggle.mjs +12 -12
  378. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  379. package/fesm2022/koobiq-components-button.mjs +18 -16
  380. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  381. package/fesm2022/koobiq-components-checkbox.mjs +10 -10
  382. package/fesm2022/koobiq-components-clamped-text.mjs +7 -7
  383. package/fesm2022/koobiq-components-code-block.mjs +18 -13
  384. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  385. package/fesm2022/koobiq-components-content-panel.mjs +31 -165
  386. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  387. package/fesm2022/koobiq-components-core.mjs +962 -581
  388. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  389. package/fesm2022/koobiq-components-datepicker.mjs +47 -44
  390. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  391. package/fesm2022/koobiq-components-divider.mjs +8 -8
  392. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  393. package/fesm2022/koobiq-components-dl.mjs +13 -13
  394. package/fesm2022/koobiq-components-dropdown.mjs +41 -27
  395. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  396. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  397. package/fesm2022/koobiq-components-ellipsis-center.mjs +11 -8
  398. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  399. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  400. package/fesm2022/koobiq-components-file-upload.mjs +45 -25
  401. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  402. package/fesm2022/koobiq-components-filter-bar.mjs +147 -114
  403. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  404. package/fesm2022/koobiq-components-form-field.mjs +100 -73
  405. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  406. package/fesm2022/koobiq-components-icon.mjs +13 -13
  407. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  408. package/fesm2022/koobiq-components-inline-edit.mjs +411 -0
  409. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -0
  410. package/fesm2022/koobiq-components-input.mjs +34 -31
  411. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  412. package/fesm2022/koobiq-components-link.mjs +10 -10
  413. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  414. package/fesm2022/koobiq-components-list.mjs +49 -33
  415. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  416. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  417. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  418. package/fesm2022/koobiq-components-markdown.mjs +16 -16
  419. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  420. package/fesm2022/koobiq-components-modal.mjs +36 -31
  421. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  422. package/fesm2022/koobiq-components-navbar-ic.mjs +122 -81
  423. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  424. package/fesm2022/koobiq-components-navbar.mjs +77 -64
  425. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  426. package/fesm2022/koobiq-components-notification-center.mjs +586 -0
  427. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -0
  428. package/fesm2022/koobiq-components-overflow-items.mjs +98 -44
  429. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  430. package/fesm2022/koobiq-components-popover.mjs +43 -25
  431. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  432. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  433. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  434. package/fesm2022/koobiq-components-radio.mjs +10 -10
  435. package/fesm2022/koobiq-components-resizer.mjs +156 -0
  436. package/fesm2022/koobiq-components-resizer.mjs.map +1 -0
  437. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  438. package/fesm2022/koobiq-components-scrollbar.mjs +13 -12
  439. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  440. package/fesm2022/koobiq-components-search-expandable.mjs +199 -0
  441. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -0
  442. package/fesm2022/koobiq-components-select.mjs +51 -33
  443. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  444. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  445. package/fesm2022/koobiq-components-sidepanel.mjs +26 -26
  446. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  447. package/fesm2022/koobiq-components-split-button.mjs +155 -0
  448. package/fesm2022/koobiq-components-split-button.mjs.map +1 -0
  449. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  450. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  451. package/fesm2022/koobiq-components-table.mjs +10 -10
  452. package/fesm2022/koobiq-components-tabs.mjs +52 -52
  453. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  454. package/fesm2022/koobiq-components-tags.mjs +522 -428
  455. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  456. package/fesm2022/koobiq-components-textarea.mjs +10 -10
  457. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  458. package/fesm2022/koobiq-components-time-range.mjs +809 -0
  459. package/fesm2022/koobiq-components-time-range.mjs.map +1 -0
  460. package/fesm2022/koobiq-components-timepicker.mjs +11 -11
  461. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  462. package/fesm2022/koobiq-components-timezone.mjs +31 -29
  463. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  464. package/fesm2022/koobiq-components-title.mjs +12 -8
  465. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  466. package/fesm2022/koobiq-components-toast.mjs +28 -21
  467. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  468. package/fesm2022/koobiq-components-toggle.mjs +9 -9
  469. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  470. package/fesm2022/koobiq-components-tooltip.mjs +22 -22
  471. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  472. package/fesm2022/koobiq-components-top-bar.mjs +15 -15
  473. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  474. package/fesm2022/koobiq-components-tree-select.mjs +151 -91
  475. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  476. package/fesm2022/koobiq-components-tree.mjs +72 -61
  477. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  478. package/fesm2022/koobiq-components-username.mjs +27 -27
  479. package/file-upload/_file-upload-theme.scss +33 -35
  480. package/file-upload/file-upload-tokens.scss +1 -2
  481. package/file-upload/file-upload.d.ts +1 -1
  482. package/file-upload/file-upload.scss +4 -7
  483. package/file-upload/multiple-file-upload.component.d.ts +2 -1
  484. package/file-upload/multiple-file-upload.component.scss +12 -14
  485. package/file-upload/single-file-upload.component.d.ts +2 -0
  486. package/file-upload/single-file-upload.component.scss +5 -7
  487. package/filter-bar/filter-bar.d.ts +3 -1
  488. package/filter-bar/filter-search.scss +1 -3
  489. package/filter-bar/filters.d.ts +1 -0
  490. package/filter-bar/pipes/base-pipe.d.ts +6 -2
  491. package/filter-bar/pipes/base-pipe.scss +3 -3
  492. package/filter-bar/pipes/pipe-date.scss +4 -1
  493. package/filter-bar/pipes/pipe-title.d.ts +2 -0
  494. package/form-field/fieldset-tokens.scss +1 -0
  495. package/form-field/form-field-tokens.scss +1 -1
  496. package/form-field/form-field.d.ts +1 -1
  497. package/form-field/form-field.scss +7 -7
  498. package/form-field/password-toggle.d.ts +1 -1
  499. package/form-field/stepper.d.ts +28 -6
  500. package/icon/icon.component.d.ts +2 -2
  501. package/inline-edit/index.d.ts +2 -0
  502. package/inline-edit/inline-edit-tokens.scss +8 -0
  503. package/inline-edit/inline-edit.d.ts +140 -0
  504. package/inline-edit/inline-edit.scss +208 -0
  505. package/inline-edit/module.d.ts +7 -0
  506. package/input/input-number.d.ts +1 -1
  507. package/input/input-password.d.ts +2 -2
  508. package/input/input.d.ts +2 -2
  509. package/input/input.module.d.ts +2 -1
  510. package/link/link.component.d.ts +3 -3
  511. package/list/list-selection.component.d.ts +13 -2
  512. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  513. package/markdown/_markdown-theme.scss +1 -2
  514. package/markdown/markdown-tokens.scss +1 -0
  515. package/markdown/markdown.scss +10 -4
  516. package/modal/modal-tokens.scss +2 -1
  517. package/modal/modal-util.d.ts +5 -2
  518. package/modal/modal.component.d.ts +1 -1
  519. package/modal/modal.scss +3 -4
  520. package/navbar/_navbar-item_vertical.scss +10 -0
  521. package/navbar/navbar-brand.scss +5 -2
  522. package/navbar/navbar-item.component.d.ts +3 -2
  523. package/navbar/navbar.component.d.ts +4 -4
  524. package/navbar/vertical-navbar.component.d.ts +2 -2
  525. package/navbar/vertical-navbar.scss +1 -0
  526. package/navbar-ic/navbar-ic-header.d.ts +4 -3
  527. package/navbar-ic/navbar-ic-header.scss +0 -4
  528. package/navbar-ic/navbar-ic-item.d.ts +3 -2
  529. package/navbar-ic/navbar-ic-item.scss +0 -4
  530. package/navbar-ic/navbar-ic.animation.d.ts +1 -0
  531. package/navbar-ic/navbar-ic.d.ts +11 -2
  532. package/notification-center/_notification-center-theme.scss +27 -0
  533. package/notification-center/index.d.ts +1 -0
  534. package/notification-center/notification-center-animations.d.ts +5 -0
  535. package/notification-center/notification-center.d.ts +153 -0
  536. package/notification-center/notification-center.module.d.ts +7 -0
  537. package/notification-center/notification-center.scss +126 -0
  538. package/notification-center/notification-center.service.d.ts +72 -0
  539. package/notification-center/notification-item.d.ts +27 -0
  540. package/notification-center/notification-item.scss +157 -0
  541. package/notification-center/public-api.d.ts +4 -0
  542. package/overflow-items/overflow-items.d.ts +23 -9
  543. package/package.json +46 -4
  544. package/popover/popover-tokens.scss +1 -0
  545. package/popover/popover.component.d.ts +9 -1
  546. package/popover/popover.scss +18 -11
  547. package/prebuilt-themes/dark-theme.css +1 -1
  548. package/prebuilt-themes/light-theme.css +1 -1
  549. package/prebuilt-themes/theme.css +1 -1
  550. package/resizer/index.d.ts +2 -0
  551. package/resizer/module.d.ts +7 -0
  552. package/{content-panel/resizable.d.ts → resizer/resizer.d.ts} +18 -13
  553. package/schematics/collection.json +5 -0
  554. package/schematics/migrations/icons-replacement/README.md +93 -0
  555. package/schematics/migrations/icons-replacement/data.js +92 -0
  556. package/schematics/migrations/icons-replacement/index.js +84 -0
  557. package/schematics/migrations/icons-replacement/schema.json +32 -0
  558. package/schematics/ng-add/index.js +6 -6
  559. package/scrollbar/scrollbar.component.scss +2 -3
  560. package/search-expandable/index.d.ts +1 -0
  561. package/search-expandable/public-api.d.ts +2 -0
  562. package/search-expandable/search-expandable.d.ts +70 -0
  563. package/search-expandable/search-expandable.module.d.ts +7 -0
  564. package/search-expandable/search-expandable.scss +21 -0
  565. package/select/select.component.d.ts +38 -3
  566. package/select/select.module.d.ts +2 -1
  567. package/select/select.scss +1 -17
  568. package/sidepanel/sidepanel-tokens.scss +2 -0
  569. package/sidepanel/sidepanel.scss +2 -0
  570. package/split-button/_split-button-theme.scss +114 -0
  571. package/split-button/index.d.ts +1 -0
  572. package/split-button/public-api.d.ts +2 -0
  573. package/split-button/split-button.d.ts +37 -0
  574. package/split-button/split-button.module.d.ts +7 -0
  575. package/split-button/split-button.scss +72 -0
  576. package/splitter/splitter.component.d.ts +5 -5
  577. package/tabs/paginated-tab-header.d.ts +1 -1
  578. package/tabs/tab-header.component.d.ts +2 -2
  579. package/tabs/tab-label-wrapper.directive.d.ts +2 -2
  580. package/tabs/tab-nav-bar.d.ts +3 -3
  581. package/tags/_tag-theme.scss +21 -15
  582. package/tags/tag-input.d.ts +18 -7
  583. package/tags/tag-list.component.d.ts +175 -64
  584. package/tags/tag-list.scss +24 -14
  585. package/tags/tag-tokens.scss +17 -1
  586. package/tags/tag.component.d.ts +91 -27
  587. package/tags/tag.scss +9 -0
  588. package/textarea/textarea-tokens.scss +6 -1
  589. package/textarea/textarea.component.d.ts +2 -2
  590. package/textarea/textarea.module.d.ts +2 -1
  591. package/textarea/textarea.scss +4 -0
  592. package/time-range/constants.d.ts +19 -0
  593. package/time-range/index.d.ts +7 -0
  594. package/time-range/module.d.ts +10 -0
  595. package/time-range/time-range-editor.d.ts +65 -0
  596. package/time-range/time-range-title-as-form-field.d.ts +41 -0
  597. package/time-range/time-range-title.d.ts +18 -0
  598. package/time-range/time-range.d.ts +78 -0
  599. package/time-range/time-range.scss +66 -0
  600. package/time-range/time-range.service.d.ts +25 -0
  601. package/time-range/types.d.ts +69 -0
  602. package/timepicker/timepicker.directive.d.ts +2 -2
  603. package/timepicker/timepicker.module.d.ts +2 -1
  604. package/timezone/timezone-option.component.scss +6 -0
  605. package/timezone/timezone.module.d.ts +1 -1
  606. package/toast/toast.component.d.ts +6 -4
  607. package/toast/toast.component.scss +11 -1
  608. package/toast/toast.service.d.ts +1 -0
  609. package/toast/toast.type.d.ts +1 -0
  610. package/toggle/_toggle-theme.scss +8 -5
  611. package/toggle/toggle-tokens.scss +0 -1
  612. package/toggle/toggle.scss +11 -15
  613. package/top-bar/top-bar-tokens.scss +1 -1
  614. package/top-bar/top-bar.scss +3 -0
  615. package/tree/toggle.d.ts +1 -1
  616. package/tree/tree-base.d.ts +2 -2
  617. package/tree/tree-option.component.d.ts +2 -1
  618. package/tree/tree-selection.component.d.ts +12 -3
  619. package/tree-select/tree-select.component.d.ts +49 -8
  620. package/tree-select/tree-select.module.d.ts +2 -1
  621. package/tree-select/tree-select.scss +4 -0
  622. package/core/locales/fa-IR.d.ts +0 -100
  623. package/core/locales/zh-CN.d.ts +0 -100
  624. package/esm2022/content-panel/resizable.mjs +0 -138
  625. package/esm2022/core/locales/fa-IR.mjs +0 -99
  626. package/esm2022/core/locales/zh-CN.mjs +0 -99
@@ -1,13 +1,18 @@
1
- import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, QueryList } from '@angular/core';
1
+ import { FocusOrigin } from '@angular/cdk/a11y';
2
+ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
2
3
  import { IFocusableOption } from '@koobiq/cdk/a11y';
3
4
  import { KbqColorDirective, KbqTitleTextRef } from '@koobiq/components/core';
4
5
  import { KbqIcon } from '@koobiq/components/icon';
5
6
  import { Subject } from 'rxjs';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@koobiq/components/core";
8
- export interface KbqTagEvent {
9
+ import * as i2 from "@angular/cdk/drag-drop";
10
+ /**
11
+ * Event object emitted by KbqTag.
12
+ */
13
+ export type KbqTagEvent = {
9
14
  tag: KbqTag;
10
- }
15
+ };
11
16
  /**
12
17
  * Event object emitted by KbqTag when the tag is edited.
13
18
  */
@@ -24,6 +29,18 @@ export declare class KbqTagSelectionChange {
24
29
  isUserInput: boolean;
25
30
  constructor(source: KbqTag, selected: boolean, isUserInput?: boolean);
26
31
  }
32
+ /**
33
+ * Event object emitted when the KbqTag is focused.
34
+ */
35
+ export type KbqTagFocusEvent = KbqTagEvent & {
36
+ origin: FocusOrigin;
37
+ };
38
+ /**
39
+ * Object passed to the drag data event when a tag is being dragged.
40
+ *
41
+ * @docs-private
42
+ */
43
+ export type KbqTagDragData = KbqTagEvent;
27
44
  /**
28
45
  * Dummy directive to add CSS class to tag avatar.
29
46
  * @docs-private
@@ -61,27 +78,32 @@ export declare class KbqTagEditInput {
61
78
  }
62
79
  export declare class KbqTag extends KbqColorDirective implements IFocusableOption, OnDestroy, KbqTitleTextRef, AfterContentInit, AfterViewInit {
63
80
  changeDetectorRef: ChangeDetectorRef;
64
- private _ngZone;
65
81
  private readonly focusMonitor;
66
82
  private readonly tagList;
83
+ private readonly drag;
84
+ private readonly destroyRef;
67
85
  /** @docs-private */
68
86
  readonly elementRef: ElementRef<HTMLElement>;
69
- /** Emits when the tag is focused. */
70
- readonly onFocus: Subject<KbqTagEvent>;
71
- /** Emits when the tag is blurred. */
87
+ /**
88
+ * Emits when the tag is focused.
89
+ *
90
+ * @docs-private
91
+ */
92
+ readonly onFocus: Subject<KbqTagFocusEvent>;
93
+ /**
94
+ * Emits when the tag is blurred.
95
+ *
96
+ * @docs-private
97
+ */
72
98
  readonly onBlur: Subject<KbqTagEvent>;
73
99
  /** @docs-private */
74
100
  readonly nativeElement: HTMLElement;
75
- /** Whether the tag has focus. */
76
- hasFocus: boolean;
77
- /** Whether the tag list is selectable */
78
- tagListSelectable: boolean;
79
101
  /**
80
- * Whether the tag list is editable.
102
+ * Whether the tag has focus.
81
103
  *
82
104
  * @docs-private
83
105
  */
84
- private get tagListEditable();
106
+ hasFocus: boolean;
85
107
  /** Whether the tag is editable. */
86
108
  get editable(): boolean;
87
109
  set editable(value: boolean);
@@ -123,16 +145,13 @@ export declare class KbqTag extends KbqColorDirective implements IFocusableOptio
123
145
  set value(value: any);
124
146
  private _value;
125
147
  /**
126
- * Whether or not the tag is selectable. When a tag is not selectable,
127
- * changes to its selected state are always ignored. By default a tag is
128
- * selectable, and it becomes non-selectable if its parent tag list is
129
- * not selectable.
148
+ * Whether the tag is selectable.
130
149
  */
131
150
  get selectable(): boolean;
132
151
  set selectable(value: boolean);
133
152
  private _selectable;
134
153
  /**
135
- * Determines whether or not the tag displays the remove styling and emits (removed) events.
154
+ * Determines whether the tag is removable.
136
155
  */
137
156
  get removable(): boolean;
138
157
  set removable(value: boolean);
@@ -140,20 +159,45 @@ export declare class KbqTag extends KbqColorDirective implements IFocusableOptio
140
159
  get tabindex(): any;
141
160
  set tabindex(value: any);
142
161
  private _tabindex;
143
- get disabled(): any;
144
- set disabled(value: any);
162
+ /**
163
+ * Whether the tag is disabled.
164
+ */
165
+ get disabled(): boolean;
166
+ set disabled(value: boolean);
145
167
  private _disabled;
146
- constructor(changeDetectorRef: ChangeDetectorRef, _ngZone: NgZone);
168
+ /**
169
+ * Whether the tag is draggable.
170
+ *
171
+ * @docs-private
172
+ */
173
+ protected get draggable(): boolean;
174
+ constructor(changeDetectorRef: ChangeDetectorRef);
147
175
  ngAfterContentInit(): void;
148
176
  ngAfterViewInit(): void;
149
177
  ngOnDestroy(): void;
178
+ /** @docs-private */
150
179
  addClassModificatorForIcons(): void;
180
+ /** @docs-private */
151
181
  addHostClassName(): void;
182
+ /**
183
+ * Selects the tag.
184
+ */
152
185
  select(): void;
186
+ /**
187
+ * Deselects the tag.
188
+ */
153
189
  deselect(): void;
190
+ /**
191
+ * Selects the tag and emits event with isUserInput flag.
192
+ *
193
+ * @docs-private
194
+ */
154
195
  selectViaInteraction(): void;
196
+ /**
197
+ * Toggles the current selected state of the tag.
198
+ */
155
199
  toggleSelected(isUserInput?: boolean): boolean;
156
- /** Allows for programmatic focusing of the tag. */
200
+ /** Focuses the tag. */
157
201
  focus(): void;
158
202
  /**
159
203
  * Allows for programmatic removal of the tag. Called by the KbqTagList when the DELETE or
@@ -163,7 +207,7 @@ export declare class KbqTag extends KbqColorDirective implements IFocusableOptio
163
207
  */
164
208
  remove(): void;
165
209
  /** @docs-private */
166
- handleMousedown(event: Event): void;
210
+ handleClick(event: MouseEvent): void;
167
211
  /** @docs-private */
168
212
  handleKeydown(event: KeyboardEvent): void;
169
213
  /** @docs-private */
@@ -175,11 +219,26 @@ export declare class KbqTag extends KbqColorDirective implements IFocusableOptio
175
219
  cancelEditing(reason: string): void;
176
220
  /** @docs-private */
177
221
  submitEditing(reason: string): void;
178
- private dispatchSelectionChange;
222
+ /**
223
+ * Sets the selected state of the tag.
224
+ *
225
+ * @docs-private
226
+ */
227
+ setSelectedState(selected: boolean, options?: Partial<{
228
+ isUserInput: boolean;
229
+ emitEvent: boolean;
230
+ }>): void;
231
+ private setupDragInitialProperties;
232
+ private syncDragDisabledState;
233
+ private setupFocusMonitor;
179
234
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTag, never>;
180
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqTag, "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", ["kbqTag"], { "editable": { "alias": "editable"; "required": false; }; "preventEditSubmit": { "alias": "preventEditSubmit"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "value": { "alias": "value"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "editChange": "editChange"; "selectionChange": "selectionChange"; "destroyed": "destroyed"; "removed": "removed"; }, ["editInputElementRef", "avatar", "trailingIcon", "removeIcon", "contentChildren"], ["[kbq-icon]:not([kbqTagRemove]):not([kbqTagEditSubmit])", "[kbqTagEditInput]", "*", "[kbqTagEditSubmit]", "[kbqTagRemove]"], false, never>;
235
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqTag, "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", ["kbqTag"], { "editable": { "alias": "editable"; "required": false; }; "preventEditSubmit": { "alias": "preventEditSubmit"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "value": { "alias": "value"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "editChange": "editChange"; "selectionChange": "selectionChange"; "destroyed": "destroyed"; "removed": "removed"; }, ["editInputElementRef", "avatar", "trailingIcon", "removeIcon", "contentChildren"], ["[kbq-icon]:not([kbqTagRemove]):not([kbqTagEditSubmit])", "[kbqTagEditInput]", "*", "[kbqTagEditSubmit]", "[kbqTagRemove]"], false, [{ directive: typeof i2.CdkDrag; inputs: {}; outputs: {}; }]>;
181
236
  static ngAcceptInputType_editable: unknown;
182
237
  static ngAcceptInputType_preventEditSubmit: unknown;
238
+ static ngAcceptInputType_selected: unknown;
239
+ static ngAcceptInputType_selectable: unknown;
240
+ static ngAcceptInputType_removable: unknown;
241
+ static ngAcceptInputType_disabled: unknown;
183
242
  }
184
243
  /**
185
244
  *
@@ -195,8 +254,13 @@ export declare class KbqTag extends KbqColorDirective implements IFocusableOptio
195
254
  export declare class KbqTagRemove {
196
255
  protected parentTag: KbqTag;
197
256
  constructor(parentTag: KbqTag);
198
- focus($event: any): void;
199
- /** Calls the parent tag's public `remove()` method if applicable. */
257
+ /** @docs-private */
258
+ focus(event: FocusEvent): void;
259
+ /**
260
+ * Calls the parent tag's public `remove()` method if applicable.
261
+ *
262
+ * @docs-private
263
+ */
200
264
  handleClick(event: Event): void;
201
265
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTagRemove, never>;
202
266
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTagRemove, "[kbqTagRemove]", never, {}, {}, never, never, false, never>;
package/tags/tag.scss CHANGED
@@ -10,6 +10,7 @@
10
10
  display: inline-block;
11
11
 
12
12
  max-width: 100%;
13
+ height: var(--kbq-size-xxl);
13
14
 
14
15
  padding: var(--kbq-tag-size-padding-vertical) var(--kbq-tag-size-padding-horizontal);
15
16
 
@@ -67,6 +68,14 @@
67
68
  .kbq-tag-edit-submit {
68
69
  margin-right: var(--kbq-size-3xs);
69
70
  }
71
+
72
+ &.cdk-drag-placeholder {
73
+ opacity: var(--kbq-opacity-disabled);
74
+ }
75
+
76
+ &.cdk-drag-animating {
77
+ transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
78
+ }
70
79
  }
71
80
 
72
81
  .kbq-tag__wrapper {
@@ -1,6 +1,11 @@
1
- .kbq-textarea {
1
+ :where(.kbq-textarea) {
2
2
  --kbq-textarea-size-min-height: 64px;
3
3
  --kbq-textarea-size-max-height: 96px;
4
4
  --kbq-textarea-size-padding-vertical: 5px;
5
5
  --kbq-textarea-size-padding-horizontal: 11px;
6
+ --kbq-textarea-resizer-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" width="16" height="16" viewBox="0 0 16 16"><path fill="%238a8fa8" d="m13.354 5.354-8 8-.708-.707 8-8zm0 4-4 4-.708-.707 4-4z"/></svg>');
7
+ }
8
+
9
+ :where(.kbq-dark .kbq-textarea) {
10
+ --kbq-textarea-resizer-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" width="16" height="16" viewBox="0 0 16 16"><path fill="%23626884" d="m13.354 5.354-8 8-.708-.707 8-8zm0 4-4 4-.708-.707 4-4z"/></svg>');
6
11
  }
@@ -8,7 +8,7 @@ export declare const KBQ_TEXTAREA_VALUE_ACCESSOR: InjectionToken<{
8
8
  value: any;
9
9
  }>;
10
10
  export declare class KbqTextarea implements KbqFormFieldControl<any>, OnInit, OnChanges, OnDestroy, DoCheck, CanUpdateErrorState {
11
- protected elementRef: ElementRef;
11
+ protected elementRef: ElementRef<HTMLTextAreaElement>;
12
12
  ngControl: NgControl;
13
13
  parentForm: NgForm;
14
14
  parentFormGroup: FormGroupDirective;
@@ -88,7 +88,7 @@ export declare class KbqTextarea implements KbqFormFieldControl<any>, OnInit, On
88
88
  private lineHeight;
89
89
  private minHeight;
90
90
  private rowsCount;
91
- constructor(elementRef: ElementRef, ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, defaultErrorStateMatcher: ErrorStateMatcher, inputValueAccessor: any, parent: any, ngZone: NgZone);
91
+ constructor(elementRef: ElementRef<HTMLTextAreaElement>, ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, defaultErrorStateMatcher: ErrorStateMatcher, inputValueAccessor: any, parent: any, ngZone: NgZone);
92
92
  ngOnInit(): void;
93
93
  ngOnChanges(): void;
94
94
  ngOnDestroy(): void;
@@ -2,8 +2,9 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./textarea.component";
3
3
  import * as i2 from "@angular/cdk/a11y";
4
4
  import * as i3 from "@angular/forms";
5
+ import * as i4 from "@koobiq/components/form-field";
5
6
  export declare class KbqTextareaModule {
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTextareaModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<KbqTextareaModule, [typeof i1.KbqTextarea], [typeof i2.A11yModule, typeof i3.FormsModule], [typeof i1.KbqTextarea]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqTextareaModule, [typeof i1.KbqTextarea], [typeof i2.A11yModule, typeof i3.FormsModule], [typeof i1.KbqTextarea, typeof i4.KbqFormFieldModule]>;
8
9
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqTextareaModule>;
9
10
  }
@@ -29,6 +29,10 @@
29
29
  &.kbq-textarea-resizable {
30
30
  resize: vertical;
31
31
  min-height: var(--kbq-textarea-size-min-height);
32
+
33
+ &::-webkit-resizer {
34
+ background: var(--kbq-textarea-resizer-icon) center no-repeat;
35
+ }
32
36
  }
33
37
 
34
38
  &.kbq-textarea_max-row-limit-reached {
@@ -0,0 +1,19 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { ValidatorFn } from '@angular/forms';
3
+ import { KbqTimeRangeService } from './time-range.service';
4
+ import { KbqCustomTimeRangeType, KbqTimeRangeType } from './types';
5
+ /** Preset of selectable time ranges, provided by DI. */
6
+ export declare const KBQ_DEFAULT_TIME_RANGE_TYPES: InjectionToken<KbqTimeRangeType[]>;
7
+ /** Preset of custom time ranges, provided by DI. */
8
+ export declare const KBQ_CUSTOM_TIME_RANGE_TYPES: InjectionToken<KbqCustomTimeRangeType[]>;
9
+ /** Time range types in range editor if nothing provided */
10
+ export declare const defaultTimeRangeTypes: KbqTimeRangeType[];
11
+ /** @docs-private */
12
+ export declare function createMissingDateImplError(componentName: string, provider: string): Error;
13
+ /**
14
+ * Validates that the 'from' date-time is not greater than the 'to' date-time in a range form.
15
+ * Returns an error if the start date-time occurs after the end date-time.
16
+ *
17
+ * @param timeRangeService - Service used to manipulate date-time values.
18
+ */
19
+ export declare const rangeValidator: <T>(timeRangeService: KbqTimeRangeService<T>) => ValidatorFn;
@@ -0,0 +1,7 @@
1
+ export * from './constants';
2
+ export * from './module';
3
+ export * from './time-range';
4
+ export * from './time-range-editor';
5
+ export * from './time-range-title';
6
+ export * from './time-range-title-as-form-field';
7
+ export * from './types';
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./time-range";
3
+ import * as i2 from "./time-range-title";
4
+ import * as i3 from "./time-range-editor";
5
+ import * as i4 from "./time-range-title-as-form-field";
6
+ export declare class KbqTimeRangeModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqTimeRangeModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqTimeRangeModule, never, [typeof i1.KbqTimeRange, typeof i2.KbqTimeRangeTitle, typeof i3.KbqTimeRangeEditor, typeof i4.KbqTimeRangeTitlePlaceholder, typeof i4.KbqTimeRangeTitleAsControl], [typeof i1.KbqTimeRange, typeof i2.KbqTimeRangeTitle, typeof i3.KbqTimeRangeEditor, typeof i4.KbqTimeRangeTitlePlaceholder, typeof i4.KbqTimeRangeTitleAsControl]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<KbqTimeRangeModule>;
10
+ }
@@ -0,0 +1,65 @@
1
+ import { OnInit, TemplateRef } from '@angular/core';
2
+ import { AbstractControl, ControlValueAccessor, FormControl, FormGroup, FormGroupDirective, NgForm, ValidationErrors, Validator } from '@angular/forms';
3
+ import { ErrorStateMatcher, KbqTimeRangeLocaleConfig } from '@koobiq/components/core';
4
+ import { KbqTimepicker, TimeFormats } from '@koobiq/components/timepicker';
5
+ import { KbqRangeValue, KbqTimeRangeOptionContext, KbqTimeRangeRange, KbqTimeRangeType } from './types';
6
+ import * as i0 from "@angular/core";
7
+ interface FormValue<T> {
8
+ type: FormControl<KbqTimeRangeType>;
9
+ fromTime: FormControl<T>;
10
+ fromDate: FormControl<T>;
11
+ toTime: FormControl<T>;
12
+ toDate: FormControl<T>;
13
+ }
14
+ declare class RangeErrorStateMatcher implements ErrorStateMatcher {
15
+ isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean;
16
+ }
17
+ /** @docs-private */
18
+ export declare class KbqTimeRangeEditor<T> implements ControlValueAccessor, Validator, OnInit {
19
+ private readonly timeRangeService;
20
+ /** The maximum selectable date. */
21
+ readonly maxDate: import("@angular/core").InputSignal<T | null>;
22
+ /** The minimum selectable date. */
23
+ readonly minDate: import("@angular/core").InputSignal<T | null>;
24
+ /** Preset of selectable ranges */
25
+ readonly availableTimeRangeTypes: import("@angular/core").InputSignal<KbqTimeRangeType[]>;
26
+ /** Provided value of selected range */
27
+ readonly rangeValue: import("@angular/core").InputSignal<Required<KbqRangeValue<T>>>;
28
+ readonly showRangeAsDefault: import("@angular/core").InputSignal<boolean>;
29
+ readonly localeConfiguration: import("@angular/core").InputSignal<KbqTimeRangeLocaleConfig>;
30
+ /** Customizable option output */
31
+ readonly optionTemplate: import("@angular/core").InputSignal<TemplateRef<KbqTimeRangeOptionContext> | undefined>;
32
+ /** @docs-private */
33
+ protected readonly isRangeVisible: import("@angular/core").Signal<boolean>;
34
+ /** @docs-private */
35
+ protected readonly timeRangeTypesWithoutRange: import("@angular/core").Signal<KbqTimeRangeOptionContext[]>;
36
+ /** @docs-private */
37
+ protected readonly timepickerList: import("@angular/core").Signal<readonly KbqTimepicker<T>[]>;
38
+ /** @docs-private */
39
+ protected readonly form: FormGroup<FormValue<T>>;
40
+ /** @docs-private */
41
+ protected readonly timepickerFormat = TimeFormats.HHmmss;
42
+ /** @docs-private */
43
+ protected readonly rangeStateMatcher: RangeErrorStateMatcher;
44
+ private lastValidationErrorOnEmit;
45
+ constructor();
46
+ ngOnInit(): void;
47
+ /** @docs-private */
48
+ validate(): ValidationErrors | null;
49
+ /** Implemented as part of ControlValueAccessor */
50
+ writeValue(value?: KbqTimeRangeRange): void;
51
+ /** @docs-private */
52
+ onChange: (_value: KbqTimeRangeRange) => void;
53
+ /** @docs-private */
54
+ onTouch: () => void;
55
+ /** Implemented as part of ControlValueAccessor */
56
+ registerOnChange(fn: (value: KbqTimeRangeRange) => void): void;
57
+ /** Implemented as part of ControlValueAccessor */
58
+ registerOnTouched(fn: () => void): void;
59
+ private mapTimeRange;
60
+ private getFormattedOption;
61
+ private concatControlValidationErrors;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqTimeRangeEditor<any>, never>;
63
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqTimeRangeEditor<any>, "kbq-time-range-editor", never, { "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "availableTimeRangeTypes": { "alias": "availableTimeRangeTypes"; "required": false; "isSignal": true; }; "rangeValue": { "alias": "rangeValue"; "required": false; "isSignal": true; }; "showRangeAsDefault": { "alias": "showRangeAsDefault"; "required": true; "isSignal": true; }; "localeConfiguration": { "alias": "localeConfiguration"; "required": true; "isSignal": true; }; "optionTemplate": { "alias": "optionTemplate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
64
+ }
65
+ export {};
@@ -0,0 +1,41 @@
1
+ import { NgControl } from '@angular/forms';
2
+ import { KbqFormFieldControl } from '@koobiq/components/form-field';
3
+ import { Observable } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ /** Directive for easy using styles of time-range placeholder publicly. */
6
+ export declare class KbqTimeRangeTitlePlaceholder {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqTimeRangeTitlePlaceholder, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTimeRangeTitlePlaceholder, "[kbqTimeRangeTitlePlaceholder]", never, {}, {}, never, never, true, never>;
9
+ }
10
+ /** Component simulates `KbqFormFieldControl` allowing to provide custom content inside `KbqFormField` */
11
+ export declare class KbqTimeRangeTitleAsControl implements KbqFormFieldControl<any> {
12
+ private timeRange;
13
+ /** @docs-private */
14
+ controlType: string;
15
+ /** @docs-private */
16
+ stateChanges: Observable<void>;
17
+ /** @docs-private */
18
+ ngControl: NgControl | null;
19
+ /** @docs-private */
20
+ value: any;
21
+ /** @docs-private */
22
+ id: string;
23
+ /** @docs-private */
24
+ placeholder: string;
25
+ /** @docs-private */
26
+ focused: boolean;
27
+ /** @docs-private */
28
+ empty: boolean;
29
+ /** @docs-private */
30
+ required: boolean;
31
+ /** @docs-private */
32
+ disabled: boolean;
33
+ /** @docs-private */
34
+ errorState: boolean;
35
+ /** @docs-private */
36
+ onContainerClick(_event: MouseEvent): void;
37
+ /** @docs-private */
38
+ focus(_options?: FocusOptions): void;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqTimeRangeTitleAsControl, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqTimeRangeTitleAsControl, "kbq-time-range-title-as-control", never, {}, {}, never, ["*"], true, never>;
41
+ }
@@ -0,0 +1,18 @@
1
+ import { Injector, TemplateRef } from '@angular/core';
2
+ import { KbqTimeRangeLocaleConfig } from '@koobiq/components/core';
3
+ import { KbqTimeRangeCustomizableTitleContext, KbqTimeRangeRange, KbqTimeRangeTitleContext } from './types';
4
+ import * as i0 from "@angular/core";
5
+ /** @docs-private */
6
+ export declare class KbqTimeRangeTitle {
7
+ private readonly timeRangeService;
8
+ private readonly popover;
9
+ protected readonly injector: Injector;
10
+ readonly timeRange: import("@angular/core").InputSignal<KbqTimeRangeRange | null>;
11
+ readonly localeConfiguration: import("@angular/core").InputSignal<KbqTimeRangeLocaleConfig>;
12
+ readonly titleTemplate: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
13
+ protected readonly context: import("@angular/core").Signal<KbqTimeRangeTitleContext | undefined>;
14
+ protected readonly titleContext: import("@angular/core").Signal<KbqTimeRangeCustomizableTitleContext | undefined>;
15
+ protected readonly formattedDate: import("@angular/core").Signal<string>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqTimeRangeTitle, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqTimeRangeTitle, "kbq-time-range-title", never, { "timeRange": { "alias": "timeRange"; "required": true; "isSignal": true; }; "localeConfiguration": { "alias": "localeConfiguration"; "required": true; "isSignal": true; }; "titleTemplate": { "alias": "titleTemplate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18
+ }
@@ -0,0 +1,78 @@
1
+ import { InjectionToken, OnInit, Provider, TemplateRef, WritableSignal } from '@angular/core';
2
+ import { ControlValueAccessor, FormControl, NgControl } from '@angular/forms';
3
+ import { KbqTimeRangeLocaleConfig, PopUpPlacements, PopUpSizes } from '@koobiq/components/core';
4
+ import { KbqPopoverTrigger } from '@koobiq/components/popover';
5
+ import { KbqRangeValue, KbqTimeRangeCustomizableTitleContext, KbqTimeRangeOptionContext, KbqTimeRangeRange, KbqTimeRangeType } from './types';
6
+ import * as i0 from "@angular/core";
7
+ /** Localization configuration provider. */
8
+ export declare const KBQ_TIME_RANGE_LOCALE_CONFIGURATION: InjectionToken<KbqTimeRangeLocaleConfig>;
9
+ /** Utility provider for `KBQ_TIME_RANGE_LOCALE_CONFIGURATION`. */
10
+ export declare const kbqTimeRangeLocaleConfigurationProvider: (configuration: KbqTimeRangeLocaleConfig) => Provider;
11
+ export declare class KbqTimeRange<T> implements ControlValueAccessor, OnInit {
12
+ private readonly timeRangeService;
13
+ private readonly localeService;
14
+ /** @docs-private */
15
+ readonly ngControl: NgControl | null;
16
+ /** The minimum selectable date. */
17
+ readonly minDate: import("@angular/core").InputSignal<T | undefined>;
18
+ /** The maximum selectable date. */
19
+ readonly maxDate: import("@angular/core").InputSignal<T | undefined>;
20
+ /** provided value of selected range */
21
+ readonly defaultRangeValue: import("@angular/core").InputSignal<KbqRangeValue<T> | undefined>;
22
+ /** Preset of selectable ranges */
23
+ readonly availableTimeRangeTypes: import("@angular/core").InputSignal<KbqTimeRangeType[]>;
24
+ /** Customizable trigger output */
25
+ readonly titleTemplate: import("@angular/core").InputSignal<TemplateRef<KbqTimeRangeCustomizableTitleContext> | undefined>;
26
+ /** Customizable option output */
27
+ readonly optionTemplate: import("@angular/core").InputSignal<TemplateRef<KbqTimeRangeOptionContext> | undefined>;
28
+ /** Whether to show popover with arrow */
29
+ readonly arrow: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
30
+ /**
31
+ * Whether to show range in popover if not provided
32
+ * @see availableTimeRangeTypes
33
+ */
34
+ readonly showRangeAsDefault: import("@angular/core").InputSignal<boolean>;
35
+ /** Whether component should fallback to default value if null provided */
36
+ readonly nonNullable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
37
+ /** Emit value update if provided value via formControl wasn't valid */
38
+ readonly valueCorrected: import("@angular/core").OutputEmitterRef<KbqTimeRangeRange>;
39
+ /**
40
+ * Used to calculate time range.
41
+ * @docs-private */
42
+ protected readonly normalizedDefaultRangeValue: import("@angular/core").Signal<{
43
+ fromTime: T;
44
+ fromDate: T;
45
+ toTime: T;
46
+ toDate: T;
47
+ }>;
48
+ /** @docs-private */
49
+ protected readonly titleValue: WritableSignal<KbqTimeRangeRange | null>;
50
+ /** @docs-private */
51
+ protected readonly rangeEditorControl: FormControl<KbqTimeRangeRange>;
52
+ /** @docs-private */
53
+ protected readonly popoverSize = PopUpSizes.Medium;
54
+ /** @docs-private */
55
+ protected readonly popupPlacement = PopUpPlacements.BottomLeft;
56
+ /** @docs-private */
57
+ protected readonly localeConfiguration: WritableSignal<KbqTimeRangeLocaleConfig>;
58
+ constructor();
59
+ ngOnInit(): void;
60
+ /** Implemented as part of ControlValueAccessor */
61
+ writeValue(value: KbqTimeRangeRange | null): void;
62
+ /** @docs-private */
63
+ onApply(popover: KbqPopoverTrigger): void;
64
+ /** @docs-private */
65
+ onCancel(popover: KbqPopoverTrigger): void;
66
+ onVisibleChange(isVisible: boolean): void;
67
+ /** @docs-private */
68
+ onChange: (_value: KbqTimeRangeRange) => void;
69
+ /** @docs-private */
70
+ onTouch: () => void;
71
+ /** Implemented as part of ControlValueAccessor */
72
+ registerOnChange(fn: (_value: KbqTimeRangeRange) => void): void;
73
+ /** Implemented as part of ControlValueAccessor */
74
+ registerOnTouched(fn: () => void): void;
75
+ private handleAvailableTypesChange;
76
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqTimeRange<any>, never>;
77
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqTimeRange<any>, "kbq-time-range", never, { "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "defaultRangeValue": { "alias": "defaultRangeValue"; "required": false; "isSignal": true; }; "availableTimeRangeTypes": { "alias": "availableTimeRangeTypes"; "required": false; "isSignal": true; }; "titleTemplate": { "alias": "titleTemplate"; "required": false; "isSignal": true; }; "optionTemplate": { "alias": "optionTemplate"; "required": false; "isSignal": true; }; "arrow": { "alias": "arrow"; "required": false; "isSignal": true; }; "showRangeAsDefault": { "alias": "showRangeAsDefault"; "required": false; "isSignal": true; }; "nonNullable": { "alias": "nonNullable"; "required": false; "isSignal": true; }; }, { "valueCorrected": "valueCorrected"; }, never, never, true, never>;
78
+ }
@@ -0,0 +1,66 @@
1
+ .kbq-time-range {
2
+ .kbq-time-range__trigger {
3
+ display: block;
4
+ }
5
+ }
6
+
7
+ .kbq-time-range__popover {
8
+ .kbq-time-range__buttons {
9
+ display: flex;
10
+ flex-direction: row;
11
+ gap: var(--kbq-size-l);
12
+ }
13
+ }
14
+
15
+ .kbq-time-range__editor {
16
+ display: block;
17
+
18
+ .kbq-time-range-editor__container {
19
+ width: 100%;
20
+ }
21
+
22
+ .kbq-time-range-editor__predefined {
23
+ column-count: 2;
24
+
25
+ .kbq-time-range-editor__predefined-option {
26
+ display: block;
27
+ margin-bottom: var(--kbq-size-s);
28
+ }
29
+ }
30
+
31
+ .kbq-time-range-editor__range {
32
+ display: flex;
33
+ flex-direction: column;
34
+ gap: var(--kbq-size-s);
35
+
36
+ .kbq-time-range-editor__predefined {
37
+ column-count: 2;
38
+
39
+ .kbq-time-range-editor__predefined-option {
40
+ display: block;
41
+ }
42
+ }
43
+
44
+ .kbq-time-range-editor__date-time {
45
+ display: flex;
46
+ flex-direction: row;
47
+ justify-content: space-between;
48
+ gap: var(--kbq-size-s);
49
+
50
+ .kbq-time-range-editor__date-time-prefix {
51
+ align-self: center;
52
+ width: 57px;
53
+ }
54
+ }
55
+ }
56
+ }
57
+
58
+ .kbq-time-range-title-as-form-field {
59
+ white-space: nowrap;
60
+ text-overflow: ellipsis;
61
+ min-height: calc(var(--kbq-form-field-size-height) - 2 * var(--kbq-size-border-width));
62
+
63
+ .kbq-time-range-title__placeholder {
64
+ color: var(--kbq-foreground-contrast-tertiary);
65
+ }
66
+ }
@@ -0,0 +1,25 @@
1
+ import { DateAdapter, DateFormatter } from '@koobiq/components/core';
2
+ import { KbqCustomTimeRangeType, KbqRange, KbqRangeValue, KbqTimeRangeRange, KbqTimeRangeTranslationType, KbqTimeRangeType, KbqTimeRangeUnits } from './types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class KbqTimeRangeService<T> {
5
+ readonly dateAdapter: DateAdapter<T>;
6
+ readonly dateFormatter: DateFormatter<T>;
7
+ readonly providedDefaultTimeRangeTypes: KbqTimeRangeType[];
8
+ readonly customTimeRangeTypes: KbqCustomTimeRangeType[] | null;
9
+ readonly DEFAULT_RANGE_TYPE: KbqTimeRangeType;
10
+ readonly timeRangeConfig: Record<KbqTimeRangeType, Omit<KbqCustomTimeRangeType, 'type'>>;
11
+ constructor();
12
+ static range: (dateTimeISOString: string) => KbqRange;
13
+ add({ type, ...customTimeRangeConfig }: KbqCustomTimeRangeType): void;
14
+ getTimeRangeTypeUnits(type: KbqTimeRangeType): KbqTimeRangeUnits;
15
+ getTimeRangeUnitByType(type: KbqTimeRangeType): KbqTimeRangeTranslationType;
16
+ getDefaultRangeValue(): Required<KbqRangeValue<T>>;
17
+ getTimeRangeDefaultValue(rangeValue: KbqRangeValue<T>, availableTimeRangeTypes?: KbqTimeRangeType[]): KbqTimeRangeRange;
18
+ calculateTimeRange(type?: KbqTimeRangeType, rangeValue?: KbqRangeValue<T>): KbqRange;
19
+ combineDateAndTime(date: T, time: T): T;
20
+ lastUnitsRange: (unitsInfo: KbqTimeRangeUnits) => KbqRange;
21
+ checkAndCorrectTimeRangeValue(value: KbqTimeRangeRange | null | undefined, availableTimeRangeTypes: KbqTimeRangeType[], rangeValue: KbqRangeValue<T>): KbqTimeRangeRange;
22
+ omitMilliseconds(date: T): T;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqTimeRangeService<any>, never>;
24
+ static ɵprov: i0.ɵɵInjectableDeclaration<KbqTimeRangeService<any>>;
25
+ }