@koobiq/components 18.33.0 → 18.35.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 (309) hide show
  1. package/actions-panel/actions-panel-config.d.ts +4 -3
  2. package/actions-panel/actions-panel-container.scss +0 -6
  3. package/actions-panel/actions-panel-ref.d.ts +13 -0
  4. package/actions-panel/actions-panel.d.ts +1 -7
  5. package/button/_button-theme.scss +1 -0
  6. package/clamped-text/clamped-text.d.ts +61 -0
  7. package/clamped-text/clamped-text.scss +17 -0
  8. package/clamped-text/constants.d.ts +14 -0
  9. package/clamped-text/index.d.ts +3 -0
  10. package/clamped-text/module.d.ts +7 -0
  11. package/content-panel/content-panel-aside.scss +9 -0
  12. package/content-panel/content-panel-body.scss +9 -0
  13. package/content-panel/content-panel-container.scss +32 -0
  14. package/content-panel/content-panel-footer.scss +5 -0
  15. package/content-panel/content-panel-header.scss +30 -0
  16. package/content-panel/content-panel-tokens.scss +9 -0
  17. package/content-panel/content-panel.d.ts +149 -0
  18. package/content-panel/content-panel.scss +25 -0
  19. package/content-panel/index.d.ts +3 -0
  20. package/content-panel/module.d.ts +7 -0
  21. package/content-panel/resizable.d.ts +70 -0
  22. package/core/form-field/field-sizing-content.d.ts +21 -0
  23. package/core/form-field/index.d.ts +1 -0
  24. package/core/locales/en-US.d.ts +10 -0
  25. package/core/locales/es-LA.d.ts +10 -0
  26. package/core/locales/fa-IR.d.ts +10 -0
  27. package/core/locales/locale-service.d.ts +70 -0
  28. package/core/locales/pt-BR.d.ts +10 -0
  29. package/core/locales/ru-RU.d.ts +10 -0
  30. package/core/locales/tk-TM.d.ts +10 -0
  31. package/core/locales/types.d.ts +5 -0
  32. package/core/locales/zh-CN.d.ts +10 -0
  33. package/core/navbar/index.d.ts +1 -0
  34. package/core/navbar/rectangle-item.d.ts +14 -0
  35. package/core/option/option.d.ts +3 -1
  36. package/core/pop-up/pop-up-trigger.d.ts +2 -0
  37. package/core/public-api.d.ts +1 -0
  38. package/core/styles/common/_select.scss +6 -3
  39. package/core/utils/dom.d.ts +9 -0
  40. package/core/utils/index.d.ts +1 -0
  41. package/core/utils/utils.d.ts +4 -0
  42. package/datepicker/calendar.component.d.ts +1 -1
  43. package/datepicker/datepicker-input.directive.d.ts +19 -8
  44. package/datepicker/datepicker-toggle.component.d.ts +1 -1
  45. package/datepicker/datepicker.component.d.ts +2 -2
  46. package/dropdown/dropdown-item.scss +1 -0
  47. package/dropdown/dropdown-trigger.directive.d.ts +7 -1
  48. package/dynamic-translation/dynamic-translation.d.ts +72 -0
  49. package/dynamic-translation/index.d.ts +2 -0
  50. package/dynamic-translation/module.d.ts +7 -0
  51. package/esm2022/actions-panel/actions-panel-config.mjs +1 -1
  52. package/esm2022/actions-panel/actions-panel-container.mjs +7 -7
  53. package/esm2022/actions-panel/actions-panel-ref.mjs +17 -1
  54. package/esm2022/actions-panel/actions-panel.mjs +34 -24
  55. package/esm2022/breadcrumbs/breadcrumbs.mjs +2 -2
  56. package/esm2022/button/button.component.mjs +2 -2
  57. package/esm2022/button-toggle/button-toggle.component.mjs +9 -9
  58. package/esm2022/clamped-text/clamped-text.mjs +202 -0
  59. package/esm2022/clamped-text/constants.mjs +20 -0
  60. package/esm2022/clamped-text/index.mjs +4 -0
  61. package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +5 -0
  62. package/esm2022/clamped-text/module.mjs +19 -0
  63. package/esm2022/content-panel/content-panel.mjs +432 -0
  64. package/esm2022/content-panel/index.mjs +4 -0
  65. package/esm2022/content-panel/koobiq-components-content-panel.mjs +5 -0
  66. package/esm2022/content-panel/module.mjs +42 -0
  67. package/esm2022/content-panel/resizable.mjs +138 -0
  68. package/esm2022/core/form-field/field-sizing-content.mjs +114 -0
  69. package/esm2022/core/form-field/index.mjs +2 -1
  70. package/esm2022/core/locales/en-US.mjs +11 -1
  71. package/esm2022/core/locales/es-LA.mjs +11 -1
  72. package/esm2022/core/locales/fa-IR.mjs +11 -1
  73. package/esm2022/core/locales/pt-BR.mjs +11 -1
  74. package/esm2022/core/locales/ru-RU.mjs +11 -1
  75. package/esm2022/core/locales/tk-TM.mjs +11 -1
  76. package/esm2022/core/locales/types.mjs +1 -1
  77. package/esm2022/core/locales/zh-CN.mjs +11 -1
  78. package/esm2022/core/navbar/index.mjs +2 -0
  79. package/esm2022/core/navbar/rectangle-item.mjs +39 -0
  80. package/esm2022/core/option/option.mjs +8 -4
  81. package/esm2022/core/pop-up/pop-up-trigger.mjs +5 -1
  82. package/esm2022/core/public-api.mjs +2 -1
  83. package/esm2022/core/utils/dom.mjs +14 -0
  84. package/esm2022/core/utils/index.mjs +2 -1
  85. package/esm2022/core/utils/utils.mjs +9 -1
  86. package/esm2022/core/version.mjs +2 -2
  87. package/esm2022/datepicker/calendar-header.component.mjs +6 -3
  88. package/esm2022/datepicker/calendar.component.mjs +9 -9
  89. package/esm2022/datepicker/datepicker-input.directive.mjs +24 -21
  90. package/esm2022/datepicker/datepicker-toggle.component.mjs +8 -8
  91. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  92. package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
  93. package/esm2022/dropdown/dropdown-trigger.directive.mjs +30 -10
  94. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  95. package/esm2022/dynamic-translation/dynamic-translation.mjs +175 -0
  96. package/esm2022/dynamic-translation/index.mjs +3 -0
  97. package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +5 -0
  98. package/esm2022/dynamic-translation/module.mjs +25 -0
  99. package/esm2022/file-upload/file-drop.mjs +1 -1
  100. package/esm2022/file-upload/file-upload.mjs +6 -1
  101. package/esm2022/file-upload/multiple-file-upload.component.mjs +21 -16
  102. package/esm2022/file-upload/single-file-upload.component.mjs +23 -16
  103. package/esm2022/filter-bar/filter-bar.mjs +3 -3
  104. package/esm2022/filter-bar/filter-refresher.mjs +5 -5
  105. package/esm2022/filter-bar/filter-reset.mjs +3 -3
  106. package/esm2022/filter-bar/filter-search.mjs +11 -11
  107. package/esm2022/filter-bar/filters.mjs +16 -4
  108. package/esm2022/filter-bar/pipe-add.mjs +6 -6
  109. package/esm2022/filter-bar/pipes/base-pipe.mjs +2 -2
  110. package/esm2022/filter-bar/pipes/pipe-button.mjs +7 -7
  111. package/esm2022/filter-bar/pipes/pipe-date.mjs +10 -2
  112. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +10 -2
  113. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +11 -17
  114. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +10 -9
  115. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +7 -7
  116. package/esm2022/filter-bar/pipes/pipe-select.mjs +3 -4
  117. package/esm2022/filter-bar/pipes/pipe-text.mjs +9 -3
  118. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +9 -3
  119. package/esm2022/form-field/cleaner.mjs +16 -11
  120. package/esm2022/form-field/fieldset.mjs +2 -2
  121. package/esm2022/form-field/form-field.mjs +5 -5
  122. package/esm2022/form-field/password-hint.mjs +14 -3
  123. package/esm2022/form-field/password-toggle.mjs +45 -10
  124. package/esm2022/form-field/reactive-password-hint.mjs +18 -17
  125. package/esm2022/form-field/stepper.mjs +9 -9
  126. package/esm2022/icon/icon-button.component.mjs +2 -2
  127. package/esm2022/input/input-number.mjs +15 -10
  128. package/esm2022/markdown/markdown.component.mjs +3 -3
  129. package/esm2022/modal/modal.component.mjs +14 -14
  130. package/esm2022/modal/modal.directive.mjs +7 -5
  131. package/esm2022/navbar/navbar-item.component.mjs +3 -3
  132. package/esm2022/navbar-ic/index.mjs +2 -0
  133. package/esm2022/navbar-ic/koobiq-components-navbar-ic.mjs +5 -0
  134. package/esm2022/navbar-ic/navbar-ic-header.mjs +58 -0
  135. package/esm2022/navbar-ic/navbar-ic-item.mjs +399 -0
  136. package/esm2022/navbar-ic/navbar-ic.animation.mjs +9 -0
  137. package/esm2022/navbar-ic/navbar-ic.mjs +281 -0
  138. package/esm2022/navbar-ic/navbar-ic.module.mjs +74 -0
  139. package/esm2022/navbar-ic/public-api.mjs +5 -0
  140. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  141. package/esm2022/popover/popover.component.mjs +10 -5
  142. package/esm2022/scrollbar/scrollbar.component.mjs +5 -5
  143. package/esm2022/select/select.component.mjs +24 -11
  144. package/esm2022/sidebar/sidebar.component.mjs +46 -27
  145. package/esm2022/sidepanel/sidepanel-container.component.mjs +15 -4
  146. package/esm2022/sidepanel/sidepanel-directives.mjs +5 -5
  147. package/esm2022/sidepanel/sidepanel-ref.mjs +8 -6
  148. package/esm2022/splitter/splitter.component.mjs +1 -1
  149. package/esm2022/tabs/tab-body.component.mjs +3 -3
  150. package/esm2022/tabs/tab-group.component.mjs +27 -27
  151. package/esm2022/tabs/tab.component.mjs +4 -4
  152. package/esm2022/tags/tag-input.mjs +2 -2
  153. package/esm2022/tags/tag-list.component.mjs +36 -17
  154. package/esm2022/tags/tag.component.mjs +231 -22
  155. package/esm2022/tags/tag.module.mjs +16 -6
  156. package/esm2022/textarea/textarea.component.mjs +6 -4
  157. package/esm2022/timepicker/timepicker.directive.mjs +1 -1
  158. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  159. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  160. package/esm2022/tree/tree-selection.component.mjs +4 -4
  161. package/esm2022/tree-select/tree-select.component.mjs +11 -9
  162. package/esm2022/username/constants.mjs +25 -0
  163. package/esm2022/username/index.mjs +6 -0
  164. package/esm2022/username/koobiq-components-username.mjs +5 -0
  165. package/esm2022/username/module.mjs +35 -0
  166. package/esm2022/username/types.mjs +32 -0
  167. package/esm2022/username/username.mjs +129 -0
  168. package/esm2022/username/username.pipe.mjs +92 -0
  169. package/fesm2022/koobiq-components-actions-panel.mjs +56 -31
  170. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  171. package/fesm2022/koobiq-components-breadcrumbs.mjs +1 -1
  172. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  173. package/fesm2022/koobiq-components-button-toggle.mjs +8 -8
  174. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-button.mjs +2 -2
  176. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-clamped-text.mjs +242 -0
  178. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -0
  179. package/fesm2022/koobiq-components-content-panel.mjs +612 -0
  180. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -0
  181. package/fesm2022/koobiq-components-core.mjs +271 -31
  182. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  183. package/fesm2022/koobiq-components-datepicker.mjs +45 -40
  184. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  185. package/fesm2022/koobiq-components-dropdown.mjs +33 -13
  186. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  187. package/fesm2022/koobiq-components-dynamic-translation.mjs +204 -0
  188. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -0
  189. package/fesm2022/koobiq-components-file-upload.mjs +44 -27
  190. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  191. package/fesm2022/koobiq-components-filter-bar.mjs +100 -71
  192. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  193. package/fesm2022/koobiq-components-form-field.mjs +100 -49
  194. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  195. package/fesm2022/koobiq-components-icon.mjs +2 -2
  196. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  197. package/fesm2022/koobiq-components-input.mjs +14 -9
  198. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  199. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  200. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  201. package/fesm2022/koobiq-components-modal.mjs +19 -17
  202. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  203. package/fesm2022/koobiq-components-navbar-ic.mjs +800 -0
  204. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -0
  205. package/fesm2022/koobiq-components-navbar.mjs +2 -2
  206. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  207. package/fesm2022/koobiq-components-popover.mjs +11 -6
  208. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  209. package/fesm2022/koobiq-components-scrollbar.mjs +4 -4
  210. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  211. package/fesm2022/koobiq-components-select.mjs +23 -10
  212. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  213. package/fesm2022/koobiq-components-sidebar.mjs +45 -26
  214. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  215. package/fesm2022/koobiq-components-sidepanel.mjs +24 -12
  216. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  217. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  218. package/fesm2022/koobiq-components-tabs.mjs +31 -31
  219. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  220. package/fesm2022/koobiq-components-tags.mjs +284 -47
  221. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  222. package/fesm2022/koobiq-components-textarea.mjs +5 -3
  223. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  224. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  225. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  226. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  227. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  228. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  229. package/fesm2022/koobiq-components-tree-select.mjs +10 -8
  230. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  231. package/fesm2022/koobiq-components-tree.mjs +3 -3
  232. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  233. package/fesm2022/koobiq-components-username.mjs +308 -0
  234. package/fesm2022/koobiq-components-username.mjs.map +1 -0
  235. package/file-upload/_file-upload-theme.scss +1 -1
  236. package/file-upload/file-drop.d.ts +1 -1
  237. package/file-upload/file-upload.d.ts +5 -2
  238. package/file-upload/multiple-file-upload.component.d.ts +4 -2
  239. package/file-upload/single-file-upload.component.d.ts +5 -3
  240. package/filter-bar/_filter-bar-theme.scss +2 -2
  241. package/filter-bar/filters.d.ts +1 -0
  242. package/filter-bar/pipes/pipe-date.d.ts +3 -1
  243. package/filter-bar/pipes/pipe-datetime.d.ts +3 -1
  244. package/filter-bar/pipes/pipe-multi-select.d.ts +0 -1
  245. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +3 -2
  246. package/filter-bar/pipes/pipe-select.d.ts +0 -1
  247. package/filter-bar/pipes/pipe-tree-select.d.ts +3 -2
  248. package/form-field/_form-field-theme.scss +27 -18
  249. package/form-field/cleaner.d.ts +4 -2
  250. package/form-field/cleaner.scss +6 -2
  251. package/form-field/form-field.scss +12 -2
  252. package/form-field/password-hint.d.ts +7 -0
  253. package/form-field/password-toggle.d.ts +23 -3
  254. package/form-field/password-toggle.scss +4 -8
  255. package/form-field/reactive-password-hint.d.ts +1 -0
  256. package/icon/_icon-button-theme.scss +8 -2
  257. package/modal/modal.component.d.ts +6 -6
  258. package/navbar-ic/_navbar-ic-theme.scss +81 -0
  259. package/navbar-ic/index.d.ts +1 -0
  260. package/navbar-ic/navbar-ic-divider.scss +7 -0
  261. package/navbar-ic/navbar-ic-header.d.ts +18 -0
  262. package/navbar-ic/navbar-ic-header.scss +53 -0
  263. package/navbar-ic/navbar-ic-item.d.ts +125 -0
  264. package/navbar-ic/navbar-ic-item.scss +96 -0
  265. package/navbar-ic/navbar-ic-tokens.scss +22 -0
  266. package/navbar-ic/navbar-ic.animation.d.ts +2 -0
  267. package/navbar-ic/navbar-ic.d.ts +103 -0
  268. package/navbar-ic/navbar-ic.module.d.ts +14 -0
  269. package/navbar-ic/navbar-ic.scss +32 -0
  270. package/navbar-ic/public-api.d.ts +4 -0
  271. package/package.json +34 -4
  272. package/popover/_popover-theme.scss +6 -2
  273. package/popover/popover-confirm.component.d.ts +1 -1
  274. package/popover/popover-tokens.scss +2 -0
  275. package/popover/popover.component.d.ts +6 -3
  276. package/prebuilt-themes/dark-theme.css +1 -1
  277. package/prebuilt-themes/light-theme.css +1 -1
  278. package/prebuilt-themes/theme.css +1 -1
  279. package/schematics/ng-add/index.js +4 -4
  280. package/scrollbar/scrollbar.component.d.ts +4 -4
  281. package/select/select.component.d.ts +14 -2
  282. package/sidebar/sidebar.component.d.ts +31 -5
  283. package/sidepanel/sidepanel-container.component.d.ts +9 -0
  284. package/sidepanel/sidepanel-ref.d.ts +3 -3
  285. package/splitter/splitter.component.d.ts +2 -2
  286. package/tabs/tab-group.component.d.ts +1 -1
  287. package/tabs/tab.component.d.ts +1 -1
  288. package/tags/_tag-theme.scss +10 -1
  289. package/tags/tag-input.d.ts +1 -1
  290. package/tags/tag-list.component.d.ts +11 -3
  291. package/tags/tag-list.scss +5 -0
  292. package/tags/tag.component.d.ts +78 -8
  293. package/tags/tag.module.d.ts +1 -1
  294. package/tags/tag.scss +18 -0
  295. package/textarea/textarea-tokens.scss +1 -1
  296. package/timepicker/timepicker.directive.d.ts +1 -1
  297. package/tooltip/_tooltip-theme.scss +9 -2
  298. package/tooltip/tooltip-tokens.scss +2 -0
  299. package/tooltip/tooltip.component.d.ts +2 -2
  300. package/tree/tree-selection.component.d.ts +1 -1
  301. package/tree-select/tree-select.component.d.ts +1 -1
  302. package/username/constants.d.ts +15 -0
  303. package/username/index.d.ts +5 -0
  304. package/username/module.d.ts +8 -0
  305. package/username/types.d.ts +62 -0
  306. package/username/username-tokens.scss +6 -0
  307. package/username/username.d.ts +68 -0
  308. package/username/username.pipe.d.ts +23 -0
  309. package/username/username.scss +107 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"koobiq-components-content-panel.mjs","sources":["../../../packages/components/content-panel/resizable.ts","../../../packages/components/content-panel/content-panel.ts","../../../packages/components/content-panel/module.ts","../../../packages/components/content-panel/koobiq-components-content-panel.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport {\n afterNextRender,\n computed,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n NgZone,\n output\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent } from 'rxjs';\n\n/**\n * @docs-private\n *\n * Array of two numbers [x, y], where:\n * - x: horizontal direction (left: -1, unchanged: 0, right: 1)\n * - y: vertical direction (up: -1, unchanged: 0, down: 1)\n */\nexport type KbqResizerDirection = [x: -1 | 0 | 1, y: -1 | 0 | 1];\n\n/*\n * @docs-private\n */\nexport type KbqResizerSizeChangeEvent = {\n width: number;\n height: number;\n};\n\n/**\n * @docs-private\n *\n * Directive (container) sets whether the element is resizable.\n *\n * @example\n *\n * ```html\n * <div kbqResizable>\n * <div [kbqResizer]=\"[1, 0]\"></div>\n * </div>\n * ```\n */\n@Directive({\n standalone: true,\n selector: '[kbqResizable]',\n exportAs: 'kbqResizable',\n host: {\n class: 'kbq-resizable'\n }\n})\nexport class KbqResizable {\n /**\n * @docs-private\n */\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n}\n\n/**\n * @docs-private\n *\n * Directive which defines element resizing direction.\n */\n@Directive({\n standalone: true,\n selector: '[kbqResizer]',\n exportAs: 'kbqResizer',\n host: {\n class: 'kbq-resizer',\n '[style.cursor]': 'cursor()'\n }\n})\nexport class KbqResizer {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resizable = inject(KbqResizable);\n private readonly zone = inject(NgZone);\n private readonly document = inject<Document>(DOCUMENT);\n private readonly destroyRef = inject(DestroyRef);\n\n private x = NaN;\n private y = NaN;\n\n private width = 0;\n private height = 0;\n\n /**\n * Direction of element resizing.\n */\n readonly direction = input.required<KbqResizerDirection>({ alias: 'kbqResizer' });\n\n /**\n * Emits the new size of the element after resizing.\n */\n readonly sizeChange = output<KbqResizerSizeChangeEvent>();\n\n /**\n * @docs-private\n */\n protected readonly cursor = computed(() => {\n const [x, y] = this.direction();\n\n if (!x) {\n return 'ns-resize';\n }\n\n if (!y) {\n return 'ew-resize';\n }\n\n if (x * y > 0) {\n return 'nwse-resize';\n }\n\n return 'nesw-resize';\n });\n\n constructor() {\n afterNextRender(() => {\n this.zone.runOutsideAngular(() => {\n fromEvent<PointerEvent>(this.elementRef.nativeElement, 'pointerdown')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleElementPointerDown(event));\n\n fromEvent<PointerEvent>(this.document, 'pointermove')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleDocumentPointerMove(event));\n\n fromEvent<PointerEvent>(this.document, 'pointerup')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleDocumentPointerUp(event));\n });\n });\n }\n\n private handleElementPointerDown(event: PointerEvent): void {\n event.preventDefault();\n\n this.x = event.x;\n this.y = event.y;\n\n const element = this.resizable.elementRef.nativeElement;\n\n this.width = element.clientWidth;\n this.height = element.clientHeight;\n }\n\n private handleDocumentPointerMove(event: PointerEvent): void {\n if (!event.buttons) return this.handleDocumentPointerUp(event);\n\n this.updateSize(event);\n }\n\n private handleDocumentPointerUp(_event: PointerEvent): void {\n this.x = NaN;\n }\n\n private updateSize({ x, y }: PointerEvent): void {\n if (Number.isNaN(this.x)) return;\n\n const { style } = this.resizable.elementRef.nativeElement;\n\n const [directionX, directionY] = this.direction();\n const width = this.width + directionX * (x - this.x);\n const height = this.height + directionY * (y - this.y);\n\n if (directionX) style.width = `${width}px`;\n if (directionY) style.height = `${height}px`;\n\n this.sizeChange.emit({ width, height });\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n numberAttribute,\n output,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule, KbqButtonStyles } from '@koobiq/components/button';\nimport { KbqAnimationCurves, KbqAnimationDurations, KbqComponentColors } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqScrollbar, KbqScrollbarModule } from '@koobiq/components/scrollbar';\nimport { SizeL } from '@koobiq/design-tokens';\nimport { KbqResizable, KbqResizer, KbqResizerSizeChangeEvent } from './resizable';\n\nconst KBQ_CONTENT_PANEL_CONTAINER_CONTENT_ANIMATION = trigger('contentAnimation', [\n state('false', style({ 'margin-right': 0 })),\n state('true', style({ 'margin-right': '{{ marginRight }}px' }), { params: { marginRight: 0 } }),\n transition('true => false', [animate(`${KbqAnimationDurations.Entering} ${KbqAnimationCurves.AccelerationCurve}`)]),\n transition('false => true', [animate(`${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.DecelerationCurve}`)])\n]);\n\nconst KBQ_CONTENT_PANEL_CONTAINER_PANEL_ANIMATION = trigger('panelAnimation', [\n transition(':enter', [\n style({ transform: 'translateX(100%)' }),\n animate(\n `${KbqAnimationDurations.Entering} ${KbqAnimationCurves.DecelerationCurve}`,\n style({ transform: 'translateX(0%)' })\n )]),\n transition(':leave', [\n animate(\n `${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.AccelerationCurve}`,\n style({ transform: 'translateX(100%)' })\n )])\n\n]);\n\n@Component({\n standalone: true,\n selector: 'kbq-content-panel-aside',\n exportAs: 'kbqContentPanelAside',\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-aside.scss',\n host: {\n class: 'kbq-content-panel-aside'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelAside {}\n\n@Directive({\n standalone: true,\n selector: '[kbqContentPanelHeaderTitle]',\n exportAs: 'kbqContentPanelHeaderTitle',\n host: {\n class: 'kbq-content-panel-header-title'\n }\n})\nexport class KbqContentPanelHeaderTitle {}\n\n@Directive({\n standalone: true,\n selector: '[kbqContentPanelHeaderActions]',\n exportAs: 'kbqContentPanelHeaderActions',\n host: {\n class: 'kbq-content-panel-header-actions'\n }\n})\nexport class KbqContentPanelHeaderActions {}\n\n@Component({\n standalone: true,\n imports: [KbqButtonModule, KbqIconModule],\n selector: 'kbq-content-panel-header',\n host: {\n class: 'kbq-content-panel-header'\n },\n template: `\n <div class=\"kbq-content-panel-header__wrapper\">\n <ng-content select=\"[kbqContentPanelHeaderTitle]\" />\n <div class=\"kbq-content-panel-header__actions\">\n <ng-content select=\"[kbqContentPanelHeaderActions]\" />\n @if (!contentPanelContainer.disableClose()) {\n <button\n class=\"kbq-content-panel-header__close-button\"\n kbq-button\n type=\"button\"\n [color]=\"componentColors.Contrast\"\n [kbqStyle]=\"buttonStyles.Transparent\"\n (click)=\"contentPanelContainer.close()\"\n >\n <i kbq-icon=\"kbq-xmark_16\"></i>\n </button>\n }\n </div>\n </div>\n <ng-content />\n `,\n styleUrl: './content-panel-header.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelHeader {\n /**\n * @docs-private\n */\n protected readonly contentPanelContainer = inject(KbqContentPanelContainer);\n /**\n * @docs-private\n */\n protected readonly buttonStyles = KbqButtonStyles;\n /**\n * @docs-private\n */\n protected readonly componentColors = KbqComponentColors;\n}\n\n@Component({\n standalone: true,\n imports: [KbqScrollbarModule],\n selector: 'kbq-content-panel-body',\n exportAs: 'kbqContentPanelBody',\n host: {\n class: 'kbq-content-panel-body'\n },\n template: `\n <kbq-scrollbar class=\"kbq-content-panel-body__content\">\n <ng-content />\n </kbq-scrollbar>\n `,\n styleUrl: './content-panel-body.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelBody {\n /**\n * @docs-private\n */\n readonly scrollbar = viewChild.required(KbqScrollbar);\n}\n\n@Component({\n standalone: true,\n selector: 'kbq-content-panel-footer',\n host: {\n class: 'kbq-content-panel-footer'\n },\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-footer.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelFooter {}\n\n@Component({\n standalone: true,\n selector: 'kbq-content-panel',\n host: {\n class: 'kbq-content-panel'\n },\n template: `\n <ng-content select=\"kbq-content-panel-aside\" />\n <div class=\"kbq-content-panel__content\">\n <ng-content select=\"kbq-content-panel-header\" />\n <ng-content select=\"kbq-content-panel-body\" />\n <ng-content select=\"kbq-content-panel-footer\" />\n </div>\n `,\n styleUrls: [\n './content-panel-tokens.scss',\n './content-panel.scss'\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqContentPanel {\n private readonly destroyRef = inject(DestroyRef);\n private readonly renderer = inject(Renderer2);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly contentPanelBody = contentChild(KbqContentPanelBody);\n\n constructor() {\n afterNextRender(() => this.handleContentBodyScroll());\n }\n\n private handleContentBodyScroll(): void {\n const contentPanelBody = this.contentPanelBody();\n\n if (!contentPanelBody) return;\n\n contentPanelBody\n .scrollbar()\n .onScroll.pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(([instance]) => {\n const { scrollTop, scrollHeight, clientHeight } = instance.elements().scrollOffsetElement;\n\n this.setupContentHeaderShadow(scrollTop >= 1);\n this.setupContentFooterShadow(scrollHeight - (scrollTop + clientHeight) >= 1);\n });\n }\n\n private setupContentHeaderShadow(shouldShowShadow: boolean): void {\n const className = 'kbq-content-panel_header-with-shadow';\n\n if (shouldShowShadow) {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, className);\n }\n }\n\n private setupContentFooterShadow(shouldShowShadow: boolean): void {\n const className = 'kbq-content-panel_footer-with-shadow';\n\n if (shouldShowShadow) {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, className);\n }\n }\n}\n\n@Component({\n standalone: true,\n imports: [KbqResizable, KbqResizer, KbqScrollbarModule],\n selector: 'kbq-content-panel-container',\n exportAs: 'kbqContentPanelContainer',\n host: {\n class: 'kbq-content-panel-container',\n '[class.kbq-content-panel-container__opened]': 'openedState()',\n '(keydown.escape)': 'handleEscapeKeydown($event)'\n },\n template: `\n <kbq-scrollbar class=\"kbq-content-panel-container__content\" [@contentAnimation]=\"contentAnimationState()\">\n <ng-content />\n </kbq-scrollbar>\n @if (openedState()) {\n <div\n class=\"kbq-content-panel-container__panel\"\n kbqResizable\n @panelAnimation\n [style.min-width.px]=\"minWidth()\"\n [style.width.px]=\"widthState()\"\n [style.max-width.px]=\"maxWidth()\"\n >\n @if (!disableResizer()) {\n <div\n class=\"kbq-content-panel-container__panel-resizer\"\n [kbqResizer]=\"[-1, 0]\"\n (sizeChange)=\"handleResizerSizeChange($event)\"\n (dblclick)=\"handleResizerDBLClick($event)\"\n ></div>\n }\n <ng-content select=\"kbq-content-panel\" />\n </div>\n }\n `,\n styleUrl: './content-panel-container.scss',\n animations: [\n KBQ_CONTENT_PANEL_CONTAINER_CONTENT_ANIMATION,\n KBQ_CONTENT_PANEL_CONTAINER_PANEL_ANIMATION\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqContentPanelContainer {\n /**\n * Whether the content panel is opened.\n *\n * @default false\n */\n readonly opened = input(false, { transform: booleanAttribute });\n\n /**\n * Emits event when the content panel opened state is changed.\n */\n readonly openedChange = output<boolean>();\n\n /**\n * Whether the content panel can not be closed by clicking on the close button or pressing the ESCAPE key.\n *\n * @default false\n */\n readonly disableClose = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the content panel can not be closed by pressing the ESCAPE key.\n */\n readonly disableCloseByEscape = input(this.disableClose(), { transform: booleanAttribute });\n\n /**\n * Whether the content panel resizer is disabled.\n */\n readonly disableResizer = input(false, { transform: booleanAttribute });\n\n /**\n * Minimum width of the `KbqContentPanel`.\n *\n * @default 480\n */\n readonly minWidth = input(480, { transform: numberAttribute });\n\n /**\n * Width of the `KbqContentPanel`.\n *\n * @default 640\n */\n readonly width = input(640, { transform: numberAttribute });\n\n /**\n * Max width of the `KbqContentPanel`.\n *\n * @default 800\n */\n readonly maxWidth = input(800, { transform: numberAttribute });\n\n /**\n * @docs-private\n */\n protected readonly openedState = signal(this.opened());\n\n /**\n * @docs-private\n */\n protected readonly widthState = signal(this.width());\n\n /**\n * Whether the content panel is opened.\n */\n readonly isOpened = computed(() => this.openedState());\n\n /**\n * @docs-private\n */\n protected readonly contentAnimationState = computed(() => {\n return {\n value: this.openedState(),\n params: { marginRight: this.widthState() + (parseInt(SizeL) || 16) }\n };\n });\n\n constructor() {\n // TODO: Should use linked signal\n toObservable(this.opened)\n .pipe(takeUntilDestroyed())\n .subscribe((opened) => {\n this.openedState.set(opened);\n });\n\n // TODO: Should use linked signal\n toObservable(this.width)\n .pipe(takeUntilDestroyed())\n .subscribe((width) => {\n this.widthState.set(width);\n });\n }\n\n /**\n * Toggles the content panel opened state.\n */\n toggle(): void {\n this.openedState.update((state) => !state);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * Opens the content panel.\n */\n open(): void {\n if (this.openedState()) return;\n\n this.openedState.set(true);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * Closes the content panel.\n */\n close(): void {\n if (!this.openedState()) return;\n\n this.openedState.set(false);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * @docs-private\n */\n protected handleResizerDBLClick(event: MouseEvent): void {\n event.preventDefault();\n\n this.widthState.set(this.width());\n }\n\n /**\n * @docs-private\n */\n protected handleResizerSizeChange({ width }: KbqResizerSizeChangeEvent): void {\n if (width > this.maxWidth()) return this.widthState.set(this.maxWidth());\n if (width < this.minWidth()) return this.widthState.set(this.minWidth());\n\n this.widthState.set(width);\n }\n\n /**\n * @docs-private\n */\n protected handleEscapeKeydown(event: KeyboardEvent): void {\n if (!this.openedState() || this.disableClose() || this.disableCloseByEscape()) return;\n\n event.preventDefault();\n event.stopPropagation();\n\n this.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n KbqContentPanel,\n KbqContentPanelAside,\n KbqContentPanelBody,\n KbqContentPanelContainer,\n KbqContentPanelFooter,\n KbqContentPanelHeader,\n KbqContentPanelHeaderActions,\n KbqContentPanelHeaderTitle\n} from './content-panel';\n\nconst COMPONENTS = [\n KbqContentPanelContainer,\n KbqContentPanel,\n KbqContentPanelAside,\n KbqContentPanelHeader,\n KbqContentPanelHeaderTitle,\n KbqContentPanelHeaderActions,\n KbqContentPanelBody,\n KbqContentPanelFooter\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqContentPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  import { trigger, state, style, transition, animate, group } from '@angular/animations';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, ElementRef, Directive, Input, InjectionToken, isDevMode, NgModule, Optional, Inject, LOCALE_ID, Type, Injectable, Pipe, ContentChildren, DestroyRef, booleanAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, EventEmitter, ViewChild, Output, Renderer2, ChangeDetectorRef, TemplateRef, NgZone, ViewContainerRef, RendererFactory2, Version } from '@angular/core';
3
+ import { inject, ElementRef, Directive, Input, InjectionToken, isDevMode, NgModule, Optional, Inject, LOCALE_ID, Type, Injectable, Renderer2, DestroyRef, afterNextRender, Pipe, ContentChildren, booleanAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, EventEmitter, ViewChild, Output, ChangeDetectorRef, TemplateRef, NgZone, ViewContainerRef, RendererFactory2, Version } from '@angular/core';
4
4
  import { BidiModule, Directionality } from '@angular/cdk/bidi';
5
5
  import { DOCUMENT, CommonModule } from '@angular/common';
6
- import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
6
+ import { coerceBooleanProperty, coerceNumberProperty, coerceCssPixelValue } from '@angular/cdk/coercion';
7
7
  import * as i1 from '@koobiq/date-adapter';
8
8
  import { DateAdapter as DateAdapter$1 } from '@koobiq/date-adapter';
9
9
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
10
+ import { merge, fromEvent, BehaviorSubject, Subject, interval, Subscription, pairwise } from 'rxjs';
10
11
  import { DateFormatter as DateFormatter$1 } from '@koobiq/date-formatter';
11
- import { BehaviorSubject, Subject, interval, Subscription, pairwise } from 'rxjs';
12
+ import { Platform } from '@angular/cdk/platform';
12
13
  import * as i1$1 from '@angular/cdk/a11y';
13
14
  import { SPACE, ENTER, TAB, ESCAPE, HOME, END } from '@koobiq/cdk/keycodes';
14
15
  import { Overlay, ScrollDispatcher, CdkScrollable } from '@angular/cdk/overlay';
@@ -465,6 +466,156 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
465
466
  args: [{ providedIn: 'root' }]
466
467
  }] });
467
468
 
469
+ /**
470
+ * Injects the ElementRef for the current component.
471
+ */
472
+ const kbqInjectElementRef = () => {
473
+ return inject((ElementRef));
474
+ };
475
+ /**
476
+ * Injects the native element for the current component.
477
+ */
478
+ const kbqInjectNativeElement = () => {
479
+ return kbqInjectElementRef().nativeElement;
480
+ };
481
+
482
+ function isBoolean(value) {
483
+ return typeof value === 'boolean';
484
+ }
485
+ /** Whether the value is undefined. */
486
+ const isUndefined = (value) => {
487
+ return value === undefined;
488
+ };
489
+ /** Whether the value is null. */
490
+ const isNull = (value) => {
491
+ return value === null;
492
+ };
493
+ /**
494
+ * Will be removed in the next major release
495
+ *
496
+ * @deprecated Use `booleanAttribute` instead
497
+ */
498
+ function toBoolean(value) {
499
+ return value != null && `${value}` !== 'false';
500
+ }
501
+ const getNodesWithoutComments = (nodes) => {
502
+ const COMMENT_NODE = 8;
503
+ return Array.from(nodes).filter((node) => node.nodeType !== COMMENT_NODE);
504
+ };
505
+ const leftIconClassName = 'kbq-icon_left';
506
+ const rightIconClassName = 'kbq-icon_right';
507
+ /** Whether the current platform is a Mac. */
508
+ function isMac() {
509
+ // eslint-disable-next-line no-restricted-globals
510
+ return /^mac/i.test(navigator?.platform);
511
+ }
512
+
513
+ const INITIAL_PROPERTIES = {
514
+ all: 'initial',
515
+ position: 'absolute',
516
+ top: coerceCssPixelValue(0),
517
+ left: coerceCssPixelValue(0),
518
+ width: coerceCssPixelValue(0),
519
+ height: coerceCssPixelValue(0),
520
+ visibility: 'hidden',
521
+ overflow: 'scroll',
522
+ whiteSpace: 'pre',
523
+ pointerEvents: 'none'
524
+ };
525
+ /**
526
+ * Properties that can affect element width and should be inherited from the parent.
527
+ */
528
+ const WIDTH_INHERITED_PROPERTIES = [
529
+ 'font',
530
+ 'fontFamily',
531
+ 'fontFeatureSettings',
532
+ 'fontKerning',
533
+ 'fontOpticalSizing',
534
+ 'fontSizeAdjust',
535
+ 'fontSize',
536
+ 'fontStretch',
537
+ 'fontSynthesis',
538
+ 'fontVariant',
539
+ 'fontVariantLigatures',
540
+ 'fontVariationSettings',
541
+ 'fontWeight',
542
+ 'letterSpacing',
543
+ 'textIndent',
544
+ 'textTransform'
545
+ ];
546
+ /**
547
+ * Properties that should be added to the width when `box-sizing: border-box` is applied.
548
+ */
549
+ const BOX_SIZING_BORDER_BOX_WIDTH_PROPERTIES = [
550
+ 'paddingLeft',
551
+ 'paddingRight',
552
+ 'borderLeftWidth',
553
+ 'borderRightWidth'
554
+ ];
555
+ const FIELD_RESIZE_EVENTS = ['input', 'change', 'focus'];
556
+ /**
557
+ * Emulates [`field-sizing: content`](https://developer.mozilla.org/en-US/docs/Web/CSS/field-sizing) CSS property for
558
+ * browsers that do not support it natively.
559
+ *
560
+ * @docs-private
561
+ */
562
+ class KbqFieldSizingContent {
563
+ constructor() {
564
+ this.element = kbqInjectNativeElement();
565
+ this.renderer = inject(Renderer2);
566
+ this.window = inject(KBQ_WINDOW);
567
+ this.document = inject(DOCUMENT);
568
+ this.destroyRef = inject(DestroyRef);
569
+ afterNextRender(() => this.emulate());
570
+ }
571
+ emulate() {
572
+ if (CSS.supports('field-sizing', 'content')) {
573
+ this.renderer.setStyle(this.element, 'fieldSizing', 'content');
574
+ return;
575
+ }
576
+ merge(...FIELD_RESIZE_EVENTS.map((event) => fromEvent(this.element, event)))
577
+ .pipe(takeUntilDestroyed(this.destroyRef))
578
+ .subscribe(() => this.setupWidth());
579
+ this.setupWidth();
580
+ }
581
+ setupWidth() {
582
+ const computedStyle = this.window.getComputedStyle(this.element);
583
+ const ruler = this.createRuler(computedStyle);
584
+ ruler.textContent = this.element.value || this.element.placeholder || '';
585
+ this.renderer.appendChild(this.document.body, ruler);
586
+ const width = this.calculateWidth(ruler, computedStyle);
587
+ this.renderer.setStyle(this.element, 'width', coerceCssPixelValue(width));
588
+ this.renderer.removeChild(this.document.body, ruler);
589
+ }
590
+ createRuler(computedStyle) {
591
+ const ruler = this.renderer.createElement('span');
592
+ Object.assign(ruler.style, INITIAL_PROPERTIES);
593
+ WIDTH_INHERITED_PROPERTIES.forEach((property) => {
594
+ ruler.style[property] = computedStyle[property];
595
+ });
596
+ return ruler;
597
+ }
598
+ calculateWidth(ruler, computedStyle) {
599
+ if (computedStyle.boxSizing === 'border-box') {
600
+ return BOX_SIZING_BORDER_BOX_WIDTH_PROPERTIES.reduce((width, property) => width + (parseFloat(computedStyle[property]) || 0), ruler.scrollWidth);
601
+ }
602
+ return ruler.scrollWidth;
603
+ }
604
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqFieldSizingContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
605
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqFieldSizingContent, isStandalone: true, selector: "[kbqFieldSizingContent]", host: { classAttribute: "kbq-field-sizing-content" }, exportAs: ["kbqFieldSizingContent"], ngImport: i0 }); }
606
+ }
607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqFieldSizingContent, decorators: [{
608
+ type: Directive,
609
+ args: [{
610
+ standalone: true,
611
+ selector: '[kbqFieldSizingContent]',
612
+ exportAs: 'kbqFieldSizingContent',
613
+ host: {
614
+ class: 'kbq-field-sizing-content'
615
+ }
616
+ }]
617
+ }], ctorParameters: () => [] });
618
+
468
619
  /**
469
620
  * Injection token that can be used to inject an instances of `KbqFormField`. It serves
470
621
  * as alternative token to the actual `KbqFormField` class which would cause unnecessary
@@ -561,6 +712,16 @@ const enUSLocaleData = {
561
712
  customPeriodErrorHint: 'The period cannot start later than it ends',
562
713
  backToPeriodSelection: 'Back to selecting the period'
563
714
  }
715
+ },
716
+ clampedText: {
717
+ openText: 'Expand',
718
+ closeText: 'Collapse'
719
+ },
720
+ navbarIc: {
721
+ toggle: {
722
+ pinButton: 'Leave expanded',
723
+ collapseButton: 'Collapse'
724
+ }
564
725
  }
565
726
  };
566
727
 
@@ -650,6 +811,16 @@ const esLALocaleData = {
650
811
  customPeriodErrorHint: 'El período no puede empezar más tarde de lo que termina',
651
812
  backToPeriodSelection: 'Volver a la selección del período'
652
813
  }
814
+ },
815
+ clampedText: {
816
+ openText: 'Expandir',
817
+ closeText: 'Contraer'
818
+ },
819
+ navbarIc: {
820
+ toggle: {
821
+ pinButton: 'Expandir el menú',
822
+ collapseButton: 'Colapsar'
823
+ }
653
824
  }
654
825
  };
655
826
 
@@ -739,6 +910,16 @@ const faIRLocaleData = {
739
910
  customPeriodErrorHint: 'دوره نمی‌تواند بعد از پایان آن شروع شود',
740
911
  backToPeriodSelection: 'بازگشت به انتخاب دوره'
741
912
  }
913
+ },
914
+ clampedText: {
915
+ openText: 'باز کردن',
916
+ closeText: 'بستن'
917
+ },
918
+ navbarIc: {
919
+ toggle: {
920
+ pinButton: 'ترک گسترش یافته',
921
+ collapseButton: 'جمع کردن'
922
+ }
742
923
  }
743
924
  };
744
925
 
@@ -828,6 +1009,16 @@ const ptBRLocaleData = {
828
1009
  customPeriodErrorHint: 'O início do período não pode ser posterior ao término do período',
829
1010
  backToPeriodSelection: 'Retornar à seleção do período'
830
1011
  }
1012
+ },
1013
+ clampedText: {
1014
+ openText: 'Expandir',
1015
+ closeText: 'Recolher'
1016
+ },
1017
+ navbarIc: {
1018
+ toggle: {
1019
+ pinButton: 'Deixar expandido',
1020
+ collapseButton: 'Recolher'
1021
+ }
831
1022
  }
832
1023
  };
833
1024
 
@@ -918,6 +1109,16 @@ const ruRULocaleData = {
918
1109
  customPeriodErrorHint: 'Начало периода не может быть позже окончания',
919
1110
  backToPeriodSelection: 'Назад к выбору периода'
920
1111
  }
1112
+ },
1113
+ clampedText: {
1114
+ openText: 'Развернуть',
1115
+ closeText: 'Свернуть'
1116
+ },
1117
+ navbarIc: {
1118
+ toggle: {
1119
+ pinButton: 'Оставить развернутым',
1120
+ collapseButton: 'Свернуть'
1121
+ }
921
1122
  }
922
1123
  };
923
1124
 
@@ -1008,6 +1209,16 @@ const tkTMLocaleData = {
1008
1209
  customPeriodErrorHint: 'Döwrüň başlangyjy gutarýan wagtyndan soň bolup bilmeýär',
1009
1210
  backToPeriodSelection: 'Döwür saýlamaga dolanmak'
1010
1211
  }
1212
+ },
1213
+ clampedText: {
1214
+ openText: 'Giňelt',
1215
+ closeText: 'Ýap'
1216
+ },
1217
+ navbarIc: {
1218
+ toggle: {
1219
+ pinButton: 'Rugsat giňeldildi',
1220
+ collapseButton: 'Apseykylmak'
1221
+ }
1011
1222
  }
1012
1223
  };
1013
1224
 
@@ -1097,6 +1308,16 @@ const zhCNLocaleData = {
1097
1308
  customPeriodErrorHint: '时段开始时间不能晚于结束时间',
1098
1309
  backToPeriodSelection: '返回以选择一个时段'
1099
1310
  }
1311
+ },
1312
+ clampedText: {
1313
+ openText: '展开',
1314
+ closeText: '收起'
1315
+ },
1316
+ navbarIc: {
1317
+ toggle: {
1318
+ pinButton: '保持展开',
1319
+ collapseButton: '折叠'
1320
+ }
1100
1321
  }
1101
1322
  };
1102
1323
 
@@ -2907,6 +3128,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2907
3128
  }]
2908
3129
  }] });
2909
3130
 
3131
+ class KbqRectangleItem {
3132
+ constructor() {
3133
+ this.isBrowser = inject(Platform).isBrowser;
3134
+ this.nativeElement = inject(ElementRef).nativeElement;
3135
+ this.window = inject(KBQ_WINDOW);
3136
+ this.state = new Subject();
3137
+ }
3138
+ get collapsed() {
3139
+ return this._collapsed;
3140
+ }
3141
+ set collapsed(value) {
3142
+ this._collapsed = value;
3143
+ this.state.next();
3144
+ }
3145
+ getOuterElementWidth() {
3146
+ if (!this.isBrowser)
3147
+ return 0;
3148
+ const { width, marginLeft, marginRight } = this.window.getComputedStyle(this.nativeElement);
3149
+ return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item), 0);
3150
+ }
3151
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqRectangleItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3152
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqRectangleItem, isStandalone: true, host: { properties: { "class.kbq-expanded": "!collapsed", "class.kbq-collapsed": "collapsed" } }, ngImport: i0 }); }
3153
+ }
3154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqRectangleItem, decorators: [{
3155
+ type: Directive,
3156
+ args: [{
3157
+ standalone: true,
3158
+ host: {
3159
+ '[class.kbq-expanded]': '!collapsed',
3160
+ '[class.kbq-collapsed]': 'collapsed'
3161
+ }
3162
+ }]
3163
+ }] });
3164
+
2910
3165
  const KBQ_OPTION_ACTION_PARENT = new InjectionToken('KBQ_OPTION_ACTION_PARENT');
2911
3166
  class KbqOptionActionComponent {
2912
3167
  get disabled() {
@@ -3176,8 +3431,10 @@ class KbqOption extends KbqOptionBase {
3176
3431
  * select's trigger.
3177
3432
  */
3178
3433
  get viewValue() {
3179
- // TODO: Add input property alternative for node envs.
3180
- return (this.getHostElement().textContent || '').trim();
3434
+ return this._viewValue || (this.getHostElement().textContent || '').trim();
3435
+ }
3436
+ set viewValue(value) {
3437
+ this._viewValue = value;
3181
3438
  }
3182
3439
  /** Whether the wrapping component is in multiple selection mode. */
3183
3440
  get multiple() {
@@ -3321,7 +3578,7 @@ class KbqOption extends KbqOptionBase {
3321
3578
  return this.element.nativeElement;
3322
3579
  }
3323
3580
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: KBQ_OPTION_PARENT_COMPONENT, optional: true }, { token: KbqOptgroup, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
3324
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KbqOption, selector: "kbq-option", inputs: { value: "value", selectable: ["selectable", "selectable", booleanAttribute], userSelect: ["userSelect", "userSelect", booleanAttribute], showCheckbox: "showCheckbox", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "attr.tabindex": "getTabIndex()", "class.kbq-selected": "selected", "class.kbq-option-multiple": "multiple", "class.kbq-active": "active", "class.kbq-disabled": "disabled", "id": "id" }, classAttribute: "kbq-option" }, providers: [
3581
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KbqOption, selector: "kbq-option", inputs: { value: "value", selectable: ["selectable", "selectable", booleanAttribute], userSelect: ["userSelect", "userSelect", booleanAttribute], showCheckbox: "showCheckbox", viewValue: "viewValue", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "attr.tabindex": "getTabIndex()", "class.kbq-selected": "selected", "class.kbq-option-multiple": "multiple", "class.kbq-active": "active", "class.kbq-disabled": "disabled", "id": "id" }, classAttribute: "kbq-option" }, providers: [
3325
3582
  {
3326
3583
  provide: KBQ_TITLE_TEXT_REF,
3327
3584
  useExisting: KbqOption
@@ -3368,6 +3625,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3368
3625
  type: Input
3369
3626
  }], onSelectionChange: [{
3370
3627
  type: Output
3628
+ }], viewValue: [{
3629
+ type: Input
3371
3630
  }], disabled: [{
3372
3631
  type: Input
3373
3632
  }] } });
@@ -3944,7 +4203,11 @@ class KbqPopUpTrigger {
3944
4203
  this.availablePositions = POSITION_MAP;
3945
4204
  /** Hide pop-up with timeout. Need if you want to show pop-up after leaving trigger */
3946
4205
  this.hideWithTimeout = false;
4206
+ /** prevents closure by any event */
4207
+ this.preventClose = false;
3947
4208
  this.hide = (delay = this.leaveDelay) => {
4209
+ if (this.preventClose)
4210
+ return;
3948
4211
  if ((this.instance && this.triggerName !== 'mouseleave') ||
3949
4212
  (this.triggerName === 'mouseleave' && !this.instance?.hovered.getValue())) {
3950
4213
  this.ngZone.run(() => this.instance?.hide(delay));
@@ -4558,29 +4821,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
4558
4821
  args: [{ providedIn: 'root' }]
4559
4822
  }], ctorParameters: () => [] });
4560
4823
 
4561
- function isBoolean(value) {
4562
- return typeof value === 'boolean';
4563
- }
4564
- /**
4565
- * Will be removed in the next major release
4566
- *
4567
- * @deprecated Use `booleanAttribute` instead
4568
- */
4569
- function toBoolean(value) {
4570
- return value != null && `${value}` !== 'false';
4571
- }
4572
- const getNodesWithoutComments = (nodes) => {
4573
- const COMMENT_NODE = 8;
4574
- return Array.from(nodes).filter((node) => node.nodeType !== COMMENT_NODE);
4575
- };
4576
- const leftIconClassName = 'kbq-icon_left';
4577
- const rightIconClassName = 'kbq-icon_right';
4578
- /** Whether the current platform is a Mac. */
4579
- function isMac() {
4580
- // eslint-disable-next-line no-restricted-globals
4581
- return /^mac/i.test(navigator?.platform);
4582
- }
4583
-
4584
4824
  /**
4585
4825
  * @docs-private
4586
4826
  */
@@ -4607,11 +4847,11 @@ const kbqDisableLegacyValidationDirectiveProvider = () => ({
4607
4847
  useValue: { useValidation: false }
4608
4848
  });
4609
4849
 
4610
- const VERSION = new Version('18.33.0+sha-1304359');
4850
+ const VERSION = new Version('18.35.0+sha-52fe775');
4611
4851
 
4612
4852
  /**
4613
4853
  * Generated bundle index. Do not edit.
4614
4854
  */
4615
4855
 
4616
- export { ARROW_BOTTOM_MARGIN_AND_HALF_HEIGHT, AbsoluteDateFormatterImpurePipe, AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterImpurePipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterImpurePipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterImpurePipe, AbsoluteShortDateTimeFormatterPipe, AnimationCurves, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, BaseFormatterPipe, DateAdapter, DateFormatter, EXTENDED_OVERLAY_POSITIONS, EmptyFocusTrapStrategy, ErrorStateMatcher, FileValidators, KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER, KBQ_DATE_FORMATS, KBQ_DATE_LOCALE, KBQ_DATE_LOCALE_FACTORY, KBQ_DEFAULT_LOCALE_DATA_FACTORY, KBQ_DEFAULT_LOCALE_ID, KBQ_FORM_FIELD_REF, KBQ_INVALID_VALUE_ERROR, KBQ_LOCALE_DATA, KBQ_LOCALE_ID, KBQ_LOCALE_SERVICE, KBQ_LOCALE_SERVICE_LANG_ATTR_NAME, KBQ_NUMBER_FORMATTER_DEFAULT_OPTIONS, KBQ_NUMBER_FORMATTER_OPTIONS, KBQ_OPTION_ACTION_PARENT, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_ANIMATION_COMPONENT, KBQ_PARENT_POPUP, KBQ_SANITY_CHECKS, KBQ_SELECT_SCROLL_STRATEGY, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER, KBQ_SIZE_UNITS_CONFIG, KBQ_SIZE_UNITS_DEFAULT_CONFIG, KBQ_TITLE_TEXT_REF, KBQ_VALIDATION, KBQ_WINDOW, KbqAbstractSelect, KbqActionContainer, KbqAnimationCurves, KbqAnimationDurations, KbqColorDirective, KbqCommonModule, KbqComponentColors, KbqDataSizePipe, KbqDecimalPipe, KbqDefaultThemes, KbqErrorStateTracker, KbqForm, KbqFormElement, KbqFormattersModule, KbqFormsModule, KbqHighlightModule, KbqHighlightPipe, KbqLine, KbqLineModule, KbqLineSetter, KbqLocaleService, KbqLocaleServiceModule, KbqMeasureScrollbarService, KbqMeasurementSystem, KbqNormalizeWhitespace, KbqOptgroup, KbqOption, KbqOptionActionComponent, KbqOptionBase, KbqOptionModule, KbqOptionSelectionChange, KbqPopUp, KbqPopUpTrigger, KbqPseudoCheckbox, KbqPseudoCheckboxModule, KbqRoundDecimalPipe, KbqSelectFooter, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqSelectTrigger, KbqTableNumberPipe, KbqThemeSelector, KbqVirtualOption, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, MeasurementSystem, MultipleMode, NUMBER_FORMAT_REGEXP, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PasswordValidators, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, RIGHT_BOTTOM_POSITION_PRIORITY, RIGHT_POSITION_PRIORITY, RIGHT_TOP_POSITION_PRIORITY, RangeDateFormatterImpurePipe, RangeDateFormatterPipe, RangeDateTimeFormatterImpurePipe, RangeDateTimeFormatterPipe, RangeMiddleDateTimeFormatterImpurePipe, RangeMiddleDateTimeFormatterPipe, RangeShortDateFormatterImpurePipe, RangeShortDateFormatterPipe, RangeShortDateTimeFormatterImpurePipe, RangeShortDateTimeFormatterPipe, RelativeDateFormatterImpurePipe, RelativeDateFormatterPipe, RelativeDateTimeFormatterImpurePipe, RelativeDateTimeFormatterPipe, RelativeShortDateFormatterImpurePipe, RelativeShortDateFormatterPipe, RelativeShortDateTimeFormatterImpurePipe, RelativeShortDateTimeFormatterPipe, SELECT_PANEL_VIEWPORT_PADDING, ShowOnControlDirtyErrorStateMatcher, ShowOnFormSubmitErrorStateMatcher, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, ThemePalette, ThemeService, VERSION, applyPopupMargins, checkAndNormalizeLocalizedNumber, countGroupLabelsBeforeOption, defaultOffsetY, enUSFormattersData, enUSLocaleData, esLAFormattersData, esLALocaleData, escapeRegExp, faIRFormattersData, faIRLocaleData, fadeAnimation, formatDataSize, formatNumberWithLocale, getFormattedSizeParts, getHumanizedBytes, getKbqSelectDynamicMultipleError, getKbqSelectNonArrayValueError, getKbqSelectNonFunctionValueError, getNodesWithoutComments, getOptionScrollPosition, isBoolean, isMac, isWithin, kbqDisableLegacyValidationDirectiveProvider, kbqErrorStateMatcherProvider, kbqFilesizeFormatterConfigurationProvider, kbqLocaleServiceLangAttrNameProvider, kbqSelectAnimations, kbqSelectScrollStrategyProviderFactory, leftIconClassName, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, normalizeNumber, numberByParts, ptBRFormattersData, ptBRLocaleData, rightIconClassName, ruRUFormattersData, ruRULocaleData, selectEvents, tkTMFormattersData, tkTMLocaleData, toBoolean, validationTooltipHideDelay, validationTooltipShowDelay, zhCNFormattersData, zhCNLocaleData };
4856
+ export { ARROW_BOTTOM_MARGIN_AND_HALF_HEIGHT, AbsoluteDateFormatterImpurePipe, AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterImpurePipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterImpurePipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterImpurePipe, AbsoluteShortDateTimeFormatterPipe, AnimationCurves, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, BaseFormatterPipe, DateAdapter, DateFormatter, EXTENDED_OVERLAY_POSITIONS, EmptyFocusTrapStrategy, ErrorStateMatcher, FileValidators, KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER, KBQ_DATE_FORMATS, KBQ_DATE_LOCALE, KBQ_DATE_LOCALE_FACTORY, KBQ_DEFAULT_LOCALE_DATA_FACTORY, KBQ_DEFAULT_LOCALE_ID, KBQ_FORM_FIELD_REF, KBQ_INVALID_VALUE_ERROR, KBQ_LOCALE_DATA, KBQ_LOCALE_ID, KBQ_LOCALE_SERVICE, KBQ_LOCALE_SERVICE_LANG_ATTR_NAME, KBQ_NUMBER_FORMATTER_DEFAULT_OPTIONS, KBQ_NUMBER_FORMATTER_OPTIONS, KBQ_OPTION_ACTION_PARENT, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_ANIMATION_COMPONENT, KBQ_PARENT_POPUP, KBQ_SANITY_CHECKS, KBQ_SELECT_SCROLL_STRATEGY, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER, KBQ_SIZE_UNITS_CONFIG, KBQ_SIZE_UNITS_DEFAULT_CONFIG, KBQ_TITLE_TEXT_REF, KBQ_VALIDATION, KBQ_WINDOW, KbqAbstractSelect, KbqActionContainer, KbqAnimationCurves, KbqAnimationDurations, KbqColorDirective, KbqCommonModule, KbqComponentColors, KbqDataSizePipe, KbqDecimalPipe, KbqDefaultThemes, KbqErrorStateTracker, KbqFieldSizingContent, KbqForm, KbqFormElement, KbqFormattersModule, KbqFormsModule, KbqHighlightModule, KbqHighlightPipe, KbqLine, KbqLineModule, KbqLineSetter, KbqLocaleService, KbqLocaleServiceModule, KbqMeasureScrollbarService, KbqMeasurementSystem, KbqNormalizeWhitespace, KbqOptgroup, KbqOption, KbqOptionActionComponent, KbqOptionBase, KbqOptionModule, KbqOptionSelectionChange, KbqPopUp, KbqPopUpTrigger, KbqPseudoCheckbox, KbqPseudoCheckboxModule, KbqRectangleItem, KbqRoundDecimalPipe, KbqSelectFooter, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqSelectTrigger, KbqTableNumberPipe, KbqThemeSelector, KbqVirtualOption, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, MeasurementSystem, MultipleMode, NUMBER_FORMAT_REGEXP, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PasswordValidators, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, RIGHT_BOTTOM_POSITION_PRIORITY, RIGHT_POSITION_PRIORITY, RIGHT_TOP_POSITION_PRIORITY, RangeDateFormatterImpurePipe, RangeDateFormatterPipe, RangeDateTimeFormatterImpurePipe, RangeDateTimeFormatterPipe, RangeMiddleDateTimeFormatterImpurePipe, RangeMiddleDateTimeFormatterPipe, RangeShortDateFormatterImpurePipe, RangeShortDateFormatterPipe, RangeShortDateTimeFormatterImpurePipe, RangeShortDateTimeFormatterPipe, RelativeDateFormatterImpurePipe, RelativeDateFormatterPipe, RelativeDateTimeFormatterImpurePipe, RelativeDateTimeFormatterPipe, RelativeShortDateFormatterImpurePipe, RelativeShortDateFormatterPipe, RelativeShortDateTimeFormatterImpurePipe, RelativeShortDateTimeFormatterPipe, SELECT_PANEL_VIEWPORT_PADDING, ShowOnControlDirtyErrorStateMatcher, ShowOnFormSubmitErrorStateMatcher, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, ThemePalette, ThemeService, VERSION, applyPopupMargins, checkAndNormalizeLocalizedNumber, countGroupLabelsBeforeOption, defaultOffsetY, enUSFormattersData, enUSLocaleData, esLAFormattersData, esLALocaleData, escapeRegExp, faIRFormattersData, faIRLocaleData, fadeAnimation, formatDataSize, formatNumberWithLocale, getFormattedSizeParts, getHumanizedBytes, getKbqSelectDynamicMultipleError, getKbqSelectNonArrayValueError, getKbqSelectNonFunctionValueError, getNodesWithoutComments, getOptionScrollPosition, isBoolean, isMac, isNull, isUndefined, isWithin, kbqDisableLegacyValidationDirectiveProvider, kbqErrorStateMatcherProvider, kbqFilesizeFormatterConfigurationProvider, kbqInjectElementRef, kbqInjectNativeElement, kbqLocaleServiceLangAttrNameProvider, kbqSelectAnimations, kbqSelectScrollStrategyProviderFactory, leftIconClassName, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, normalizeNumber, numberByParts, ptBRFormattersData, ptBRLocaleData, rightIconClassName, ruRUFormattersData, ruRULocaleData, selectEvents, tkTMFormattersData, tkTMLocaleData, toBoolean, validationTooltipHideDelay, validationTooltipShowDelay, zhCNFormattersData, zhCNLocaleData };
4617
4857
  //# sourceMappingURL=koobiq-components-core.mjs.map