@cuby-ui/core 0.0.166 → 0.0.168

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 (282) hide show
  1. package/README.md +24 -24
  2. package/components/accordion/accordion-item/accordion-item.component.d.ts +11 -11
  3. package/components/accordion/accordion.component.d.ts +5 -5
  4. package/components/accordion/accordion.module.d.ts +11 -11
  5. package/components/accordion/index.d.ts +3 -3
  6. package/components/alert/alert.component.d.ts +13 -13
  7. package/components/alert/alert.interfaces.d.ts +9 -9
  8. package/components/alert/alert.module.d.ts +11 -11
  9. package/components/alert/alert.service.d.ts +7 -7
  10. package/components/alert/alert.tokens.d.ts +15 -15
  11. package/components/alert/alert.types.d.ts +3 -3
  12. package/components/alert/alerts.component.d.ts +17 -17
  13. package/components/alert/index.d.ts +8 -8
  14. package/components/badge/badge.component.d.ts +10 -10
  15. package/components/badge/badge.module.d.ts +8 -8
  16. package/components/badge/badge.options.d.ts +8 -8
  17. package/components/badge/index.d.ts +2 -2
  18. package/components/banner/banner.component.d.ts +21 -21
  19. package/components/banner/banner.module.d.ts +11 -11
  20. package/components/banner/banner.options.d.ts +13 -13
  21. package/components/banner/index.d.ts +3 -3
  22. package/components/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +6 -6
  23. package/components/breadcrumbs/breadcrumbs.component.d.ts +7 -7
  24. package/components/breadcrumbs/breadcrumbs.module.d.ts +10 -10
  25. package/components/breadcrumbs/index.d.ts +3 -3
  26. package/components/button/button.component.d.ts +30 -30
  27. package/components/button/button.module.d.ts +9 -9
  28. package/components/button/button.options.d.ts +9 -9
  29. package/components/button/index.d.ts +3 -3
  30. package/components/button-group/button-group.component.d.ts +5 -5
  31. package/components/button-group/button-group.module.d.ts +7 -7
  32. package/components/button-group/index.d.ts +2 -2
  33. package/components/checkbox/checkbox.component.d.ts +5 -5
  34. package/components/checkbox/checkbox.module.d.ts +7 -7
  35. package/components/checkbox/index.d.ts +2 -2
  36. package/components/context-menu/context-menu.component.d.ts +39 -39
  37. package/components/context-menu/context-menu.module.d.ts +9 -9
  38. package/components/context-menu/index.d.ts +2 -2
  39. package/components/dialog/dialog-actions/dialog-actions.component.d.ts +5 -5
  40. package/components/dialog/dialog-header/dialog-header.component.d.ts +13 -13
  41. package/components/dialog/dialog.component.d.ts +33 -33
  42. package/components/dialog/dialog.interfaces.d.ts +10 -10
  43. package/components/dialog/dialog.module.d.ts +14 -14
  44. package/components/dialog/dialog.service.d.ts +7 -7
  45. package/components/dialog/dialog.tokens.d.ts +8 -8
  46. package/components/dialog/dialogs.component.d.ts +18 -18
  47. package/components/dialog/index.d.ts +8 -8
  48. package/components/form-field/form-field.component.d.ts +5 -5
  49. package/components/form-field/form-field.module.d.ts +7 -7
  50. package/components/form-field/index.d.ts +2 -2
  51. package/components/hint/hint.component.d.ts +7 -7
  52. package/components/hint/hint.module.d.ts +7 -7
  53. package/components/hint/index.d.ts +2 -2
  54. package/components/icon-button/icon-button.component.d.ts +13 -13
  55. package/components/icon-button/icon-button.module.d.ts +9 -9
  56. package/components/icon-button/index.d.ts +2 -2
  57. package/components/index.d.ts +26 -26
  58. package/components/input-number/index.d.ts +2 -2
  59. package/components/input-number/input-number.component.d.ts +38 -38
  60. package/components/input-number/input-number.module.d.ts +12 -12
  61. package/components/input-number/input-number.options.d.ts +9 -0
  62. package/components/input-password/index.d.ts +2 -2
  63. package/components/input-password/input-password.component.d.ts +31 -31
  64. package/components/input-password/input-password.module.d.ts +11 -11
  65. package/components/input-text/index.d.ts +2 -2
  66. package/components/input-text/input-text.component.d.ts +31 -31
  67. package/components/input-text/input-text.module.d.ts +11 -11
  68. package/components/input-time/index.d.ts +3 -3
  69. package/components/input-time/input-time.component.d.ts +36 -36
  70. package/components/input-time/input-time.module.d.ts +12 -12
  71. package/components/input-time/input-time.options.d.ts +7 -7
  72. package/components/label/index.d.ts +2 -2
  73. package/components/label/label.component.d.ts +6 -6
  74. package/components/label/label.module.d.ts +8 -8
  75. package/components/notification/index.d.ts +3 -3
  76. package/components/notification/notification.component.d.ts +13 -13
  77. package/components/notification/notification.module.d.ts +10 -10
  78. package/components/notification/notification.options.d.ts +13 -13
  79. package/components/radio/index.d.ts +2 -2
  80. package/components/radio/radio.component.d.ts +5 -5
  81. package/components/radio/radio.module.d.ts +7 -7
  82. package/components/root/index.d.ts +3 -3
  83. package/components/root/root.component.d.ts +11 -11
  84. package/components/root/root.module.d.ts +10 -10
  85. package/components/root/root.options.d.ts +1 -1
  86. package/components/select/index.d.ts +2 -2
  87. package/components/select/select.component.d.ts +53 -52
  88. package/components/select/select.module.d.ts +11 -10
  89. package/components/svg/index.d.ts +2 -2
  90. package/components/svg/svg.component.d.ts +16 -16
  91. package/components/svg/svg.module.d.ts +8 -8
  92. package/components/tabs/index.d.ts +3 -3
  93. package/components/tabs/tab/index.d.ts +1 -1
  94. package/components/tabs/tab/tab.component.d.ts +8 -8
  95. package/components/tabs/tabs.component.d.ts +16 -16
  96. package/components/tabs/tabs.module.d.ts +8 -8
  97. package/components/textarea/index.d.ts +2 -2
  98. package/components/textarea/textarea.component.d.ts +10 -10
  99. package/components/textarea/textarea.module.d.ts +7 -7
  100. package/components/toggle/index.d.ts +2 -2
  101. package/components/toggle/toggle.component.d.ts +5 -5
  102. package/components/toggle/toggle.module.d.ts +7 -7
  103. package/directives/index.d.ts +1 -1
  104. package/directives/text-field-controller/index.d.ts +8 -8
  105. package/directives/text-field-controller/text-field-controller.module.d.ts +11 -11
  106. package/directives/text-field-controller/text-field-controller.provider.d.ts +4 -4
  107. package/directives/text-field-controller/text-field-icon-left.directive.d.ts +9 -9
  108. package/directives/text-field-controller/text-field-id.directive.d.ts +8 -8
  109. package/directives/text-field-controller/text-field-is-error.directive.d.ts +8 -8
  110. package/directives/text-field-controller/text-field-placeholder.directive.d.ts +8 -8
  111. package/directives/text-field-controller/text-field-size.directive.d.ts +9 -9
  112. package/directives/text-field-controller/text-field.controller.d.ts +20 -20
  113. package/esm2020/components/accordion/accordion-item/accordion-item.component.mjs +28 -28
  114. package/esm2020/components/accordion/accordion.component.mjs +11 -11
  115. package/esm2020/components/accordion/accordion.module.mjs +37 -37
  116. package/esm2020/components/accordion/index.mjs +4 -4
  117. package/esm2020/components/alert/alert.component.mjs +36 -36
  118. package/esm2020/components/alert/alert.interfaces.mjs +2 -2
  119. package/esm2020/components/alert/alert.module.mjs +40 -40
  120. package/esm2020/components/alert/alert.service.mjs +17 -17
  121. package/esm2020/components/alert/alert.tokens.mjs +19 -19
  122. package/esm2020/components/alert/alert.types.mjs +2 -2
  123. package/esm2020/components/alert/alerts.component.mjs +36 -36
  124. package/esm2020/components/alert/index.mjs +9 -9
  125. package/esm2020/components/badge/badge.component.mjs +31 -31
  126. package/esm2020/components/badge/badge.module.mjs +18 -18
  127. package/esm2020/components/badge/badge.options.mjs +8 -8
  128. package/esm2020/components/badge/index.mjs +3 -3
  129. package/esm2020/components/banner/banner.component.mjs +68 -68
  130. package/esm2020/components/banner/banner.module.mjs +31 -31
  131. package/esm2020/components/banner/banner.options.mjs +6 -6
  132. package/esm2020/components/banner/index.mjs +4 -4
  133. package/esm2020/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +16 -16
  134. package/esm2020/components/breadcrumbs/breadcrumbs.component.mjs +17 -17
  135. package/esm2020/components/breadcrumbs/breadcrumbs.module.mjs +33 -33
  136. package/esm2020/components/breadcrumbs/index.mjs +4 -4
  137. package/esm2020/components/button/button.component.mjs +104 -104
  138. package/esm2020/components/button/button.module.mjs +24 -24
  139. package/esm2020/components/button/button.options.mjs +10 -10
  140. package/esm2020/components/button/index.mjs +4 -4
  141. package/esm2020/components/button-group/button-group.component.mjs +11 -11
  142. package/esm2020/components/button-group/button-group.module.mjs +16 -16
  143. package/esm2020/components/button-group/index.mjs +3 -3
  144. package/esm2020/components/checkbox/checkbox.component.mjs +11 -11
  145. package/esm2020/components/checkbox/checkbox.module.mjs +16 -16
  146. package/esm2020/components/checkbox/index.mjs +3 -3
  147. package/esm2020/components/context-menu/context-menu.component.mjs +146 -146
  148. package/esm2020/components/context-menu/context-menu.module.mjs +24 -24
  149. package/esm2020/components/context-menu/index.mjs +3 -3
  150. package/esm2020/components/dialog/dialog-actions/dialog-actions.component.mjs +11 -11
  151. package/esm2020/components/dialog/dialog-header/dialog-header.component.mjs +28 -28
  152. package/esm2020/components/dialog/dialog.component.mjs +64 -64
  153. package/esm2020/components/dialog/dialog.interfaces.mjs +2 -2
  154. package/esm2020/components/dialog/dialog.module.mjs +50 -50
  155. package/esm2020/components/dialog/dialog.service.mjs +17 -17
  156. package/esm2020/components/dialog/dialog.tokens.mjs +11 -11
  157. package/esm2020/components/dialog/dialogs.component.mjs +51 -51
  158. package/esm2020/components/dialog/index.mjs +9 -9
  159. package/esm2020/components/form-field/form-field.component.mjs +11 -11
  160. package/esm2020/components/form-field/form-field.module.mjs +16 -16
  161. package/esm2020/components/form-field/index.mjs +3 -3
  162. package/esm2020/components/hint/hint.component.mjs +19 -19
  163. package/esm2020/components/hint/hint.module.mjs +16 -16
  164. package/esm2020/components/hint/index.mjs +3 -3
  165. package/esm2020/components/icon-button/icon-button.component.mjs +32 -32
  166. package/esm2020/components/icon-button/icon-button.module.mjs +24 -24
  167. package/esm2020/components/icon-button/index.mjs +3 -3
  168. package/esm2020/components/index.mjs +27 -27
  169. package/esm2020/components/input-number/index.mjs +3 -3
  170. package/esm2020/components/input-number/input-number.component.mjs +113 -113
  171. package/esm2020/components/input-number/input-number.module.mjs +36 -36
  172. package/esm2020/components/input-number/input-number.options.mjs +11 -0
  173. package/esm2020/components/input-password/index.mjs +3 -3
  174. package/esm2020/components/input-password/input-password.component.mjs +89 -89
  175. package/esm2020/components/input-password/input-password.module.mjs +33 -33
  176. package/esm2020/components/input-text/index.mjs +3 -3
  177. package/esm2020/components/input-text/input-text.component.mjs +87 -87
  178. package/esm2020/components/input-text/input-text.module.mjs +33 -33
  179. package/esm2020/components/input-time/index.mjs +4 -4
  180. package/esm2020/components/input-time/input-time.component.mjs +99 -99
  181. package/esm2020/components/input-time/input-time.module.mjs +36 -36
  182. package/esm2020/components/input-time/input-time.options.mjs +8 -8
  183. package/esm2020/components/label/index.mjs +3 -3
  184. package/esm2020/components/label/label.component.mjs +17 -17
  185. package/esm2020/components/label/label.module.mjs +18 -18
  186. package/esm2020/components/notification/index.mjs +4 -4
  187. package/esm2020/components/notification/notification.component.mjs +51 -51
  188. package/esm2020/components/notification/notification.module.mjs +27 -27
  189. package/esm2020/components/notification/notification.options.mjs +6 -6
  190. package/esm2020/components/radio/index.mjs +3 -3
  191. package/esm2020/components/radio/radio.component.mjs +11 -11
  192. package/esm2020/components/radio/radio.module.mjs +16 -16
  193. package/esm2020/components/root/index.mjs +4 -4
  194. package/esm2020/components/root/root.component.mjs +31 -31
  195. package/esm2020/components/root/root.module.mjs +28 -28
  196. package/esm2020/components/root/root.options.mjs +1 -1
  197. package/esm2020/components/select/index.mjs +3 -3
  198. package/esm2020/components/select/select.component.mjs +172 -167
  199. package/esm2020/components/select/select.module.mjs +32 -29
  200. package/esm2020/components/svg/index.mjs +3 -3
  201. package/esm2020/components/svg/svg.component.mjs +50 -50
  202. package/esm2020/components/svg/svg.module.mjs +18 -18
  203. package/esm2020/components/tabs/index.mjs +4 -4
  204. package/esm2020/components/tabs/tab/index.mjs +1 -1
  205. package/esm2020/components/tabs/tab/tab.component.mjs +21 -21
  206. package/esm2020/components/tabs/tabs.component.mjs +49 -49
  207. package/esm2020/components/tabs/tabs.module.mjs +18 -18
  208. package/esm2020/components/textarea/index.mjs +3 -3
  209. package/esm2020/components/textarea/textarea.component.mjs +35 -35
  210. package/esm2020/components/textarea/textarea.module.mjs +16 -16
  211. package/esm2020/components/toggle/index.mjs +3 -3
  212. package/esm2020/components/toggle/toggle.component.mjs +11 -11
  213. package/esm2020/components/toggle/toggle.module.mjs +16 -16
  214. package/esm2020/cuby-ui-core.mjs +4 -4
  215. package/esm2020/directives/index.mjs +2 -2
  216. package/esm2020/directives/text-field-controller/index.mjs +9 -9
  217. package/esm2020/directives/text-field-controller/text-field-controller.module.mjs +40 -40
  218. package/esm2020/directives/text-field-controller/text-field-controller.provider.mjs +24 -24
  219. package/esm2020/directives/text-field-controller/text-field-icon-left.directive.mjs +21 -21
  220. package/esm2020/directives/text-field-controller/text-field-id.directive.mjs +21 -21
  221. package/esm2020/directives/text-field-controller/text-field-is-error.directive.mjs +24 -24
  222. package/esm2020/directives/text-field-controller/text-field-placeholder.directive.mjs +21 -21
  223. package/esm2020/directives/text-field-controller/text-field-size.directive.mjs +24 -24
  224. package/esm2020/directives/text-field-controller/text-field.controller.mjs +25 -25
  225. package/esm2020/index.mjs +7 -7
  226. package/esm2020/interfaces/context-menu-item.mjs +2 -2
  227. package/esm2020/interfaces/index.mjs +3 -3
  228. package/esm2020/interfaces/option.mjs +2 -2
  229. package/esm2020/services/index.mjs +3 -3
  230. package/esm2020/services/theme.options.mjs +6 -6
  231. package/esm2020/services/theme.service.mjs +30 -30
  232. package/esm2020/types/appearance.mjs +2 -2
  233. package/esm2020/types/hint-type.mjs +2 -2
  234. package/esm2020/types/index.mjs +8 -8
  235. package/esm2020/types/position.mjs +2 -2
  236. package/esm2020/types/resizing.mjs +2 -2
  237. package/esm2020/types/shape.mjs +2 -2
  238. package/esm2020/types/size.mjs +2 -2
  239. package/esm2020/types/status.mjs +2 -2
  240. package/esm2020/utils/format/index.mjs +3 -3
  241. package/esm2020/utils/format/remove-spaces.mjs +4 -4
  242. package/esm2020/utils/format/replace.mjs +5 -5
  243. package/esm2020/utils/index.mjs +2 -2
  244. package/fesm2015/cuby-ui-core.mjs +2069 -2062
  245. package/fesm2015/cuby-ui-core.mjs.map +1 -1
  246. package/fesm2020/cuby-ui-core.mjs +2069 -2062
  247. package/fesm2020/cuby-ui-core.mjs.map +1 -1
  248. package/fonts/Inter-Bold.svg +25443 -25443
  249. package/fonts/Inter-Medium.svg +25400 -25400
  250. package/fonts/Inter-Regular.svg +24341 -24341
  251. package/fonts/Inter-SemiBold.svg +25459 -25459
  252. package/index.d.ts +6 -6
  253. package/interfaces/context-menu-item.d.ts +7 -7
  254. package/interfaces/index.d.ts +2 -2
  255. package/interfaces/option.d.ts +5 -5
  256. package/package.json +3 -3
  257. package/services/index.d.ts +2 -2
  258. package/services/theme.options.d.ts +5 -5
  259. package/services/theme.service.d.ts +12 -12
  260. package/styles/fonts.scss +51 -51
  261. package/styles/global.scss +9 -9
  262. package/styles/mixins/buttons.scss +13 -13
  263. package/styles/mixins/headings.scss +115 -115
  264. package/styles/mixins/inputs.scss +91 -91
  265. package/styles/mixins/lists.scss +5 -5
  266. package/styles/mixins/paddings.scss +35 -35
  267. package/styles/mixins/shadows.scss +38 -38
  268. package/styles/mixins/texts.scss +225 -225
  269. package/styles/theme.scss +385 -385
  270. package/styles/variables/colors.scss +253 -253
  271. package/types/appearance.d.ts +8 -8
  272. package/types/hint-type.d.ts +1 -1
  273. package/types/index.d.ts +7 -7
  274. package/types/position.d.ts +2 -2
  275. package/types/resizing.d.ts +2 -2
  276. package/types/shape.d.ts +1 -1
  277. package/types/size.d.ts +4 -4
  278. package/types/status.d.ts +1 -1
  279. package/utils/format/index.d.ts +2 -2
  280. package/utils/format/remove-spaces.d.ts +1 -1
  281. package/utils/format/replace.d.ts +1 -1
  282. package/utils/index.d.ts +1 -1
@@ -4,2236 +4,2243 @@ import * as i1 from '@angular/common';
4
4
  import { CommonModule, DOCUMENT } from '@angular/common';
5
5
  import { DomSanitizer } from '@angular/platform-browser';
6
6
  import { cuiIsIcon, CUI_ICONS } from '@cuby-ui/icons';
7
- import * as i2 from '@cuby-ui/cdk';
7
+ import * as i1$1 from '@cuby-ui/cdk';
8
8
  import { cuiCreateToken, cuiCreateTokenFromFactory, CuiDestroyService, CuiLetDirective, CuiFilterPipe, CuiPopoverService, CUI_LOCAL_STORAGE, CuiItemDirective, CuiFocusTrapDirective, CUI_WINDOW, CuiClickOutsideDirective, CuiTargetDirective, cuiProvide, CuiTime, CuiAutoResizingDirective } from '@cuby-ui/cdk';
9
9
  import { BehaviorSubject, takeUntil, fromEvent, take } from 'rxjs';
10
- import * as i2$1 from '@tinkoff/ng-polymorpheus';
10
+ import * as i2 from '@tinkoff/ng-polymorpheus';
11
11
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
12
- import * as i2$2 from '@angular/forms';
12
+ import * as i2$1 from '@angular/forms';
13
13
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
14
14
  import { maskitoParseNumber, maskitoNumberOptionsGenerator, maskitoTimeOptionsGenerator } from '@maskito/kit';
15
15
  import * as i3 from '@maskito/angular';
16
16
  import { MaskitoDirective } from '@maskito/angular';
17
17
 
18
- class CuiAccordionComponent {
19
- }
20
- CuiAccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- CuiAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiAccordionComponent, selector: "cui-accordion", ngImport: i0, template: "<ng-content select=\"cui-accordion-item\"></ng-content>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: 'cui-accordion', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"cui-accordion-item\"></ng-content>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}\n"] }]
18
+ class CuiAccordionComponent {
19
+ }
20
+ CuiAccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ CuiAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiAccordionComponent, selector: "cui-accordion", ngImport: i0, template: "<ng-content select=\"cui-accordion-item\"></ng-content>\r\n", styles: [":host{display:flex;flex-direction:column;gap:16px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'cui-accordion', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"cui-accordion-item\"></ng-content>\r\n", styles: [":host{display:flex;flex-direction:column;gap:16px}\n"] }]
25
25
  }] });
26
26
 
27
- const CUI_BUTTON_DEFAULT_OPTIONS = {
28
- appearance: 'action',
29
- shape: null,
30
- size: 'sm'
31
- };
32
- const CUI_BUTTON_OPTIONS = new InjectionToken('', {
33
- factory: () => CUI_BUTTON_DEFAULT_OPTIONS
27
+ const CUI_BUTTON_DEFAULT_OPTIONS = {
28
+ appearance: 'action',
29
+ shape: null,
30
+ size: 'sm'
31
+ };
32
+ const CUI_BUTTON_OPTIONS = new InjectionToken('', {
33
+ factory: () => CUI_BUTTON_DEFAULT_OPTIONS
34
34
  });
35
35
 
36
- class CuiSvgComponent {
37
- constructor() {
38
- this.domSanitizer = inject(DomSanitizer);
39
- }
40
- set icon(icon) {
41
- // TODO: В данном случае подключаются все иконки (вероятно, можно как-то оптимизировано их подключать)
42
- this.safeSvgContent = this.domSanitizer.bypassSecurityTrustHtml(cuiIsIcon(icon)
43
- ? CUI_ICONS[icon]
44
- : icon);
45
- }
46
- get isWithStrokeWidth() {
47
- return !!this.strokeWidth;
48
- }
49
- get isWithColor() {
50
- return !!this.color;
51
- }
52
- }
53
- CuiSvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
- CuiSvgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: { width: "width", height: "height", strokeWidth: "strokeWidth", color: "color", icon: "icon" }, host: { properties: { "style.--stroke-width": "this.strokeWidth", "style.--color": "this.color", "class._with-stroke-width": "this.isWithStrokeWidth", "class._with-color": "this.isWithColor" } }, ngImport: i0, template: "<span\n [innerHTML]=\"safeSvgContent\"\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n></span>", styles: [":host{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle;line-height:0}:host ::ng-deep svg{width:100%;height:100%}:host._with-stroke-width ::ng-deep [stroke-width]{stroke-width:var(--stroke-width)}:host._with-color ::ng-deep [stroke]{stroke:var(--color)}:host._with-color ::ng-deep [fill]:not([fill=none]){fill:var(--color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgComponent, decorators: [{
56
- type: Component,
57
- args: [{ selector: 'cui-svg[icon]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n [innerHTML]=\"safeSvgContent\"\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n></span>", styles: [":host{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle;line-height:0}:host ::ng-deep svg{width:100%;height:100%}:host._with-stroke-width ::ng-deep [stroke-width]{stroke-width:var(--stroke-width)}:host._with-color ::ng-deep [stroke]{stroke:var(--color)}:host._with-color ::ng-deep [fill]:not([fill=none]){fill:var(--color)}\n"] }]
58
- }], propDecorators: { width: [{
59
- type: Input
60
- }], height: [{
61
- type: Input
62
- }], strokeWidth: [{
63
- type: Input
64
- }, {
65
- type: HostBinding,
66
- args: ['style.--stroke-width']
67
- }], color: [{
68
- type: Input
69
- }, {
70
- type: HostBinding,
71
- args: ['style.--color']
72
- }], icon: [{
73
- type: Input
74
- }], isWithStrokeWidth: [{
75
- type: HostBinding,
76
- args: ['class._with-stroke-width']
77
- }], isWithColor: [{
78
- type: HostBinding,
79
- args: ['class._with-color']
36
+ class CuiSvgComponent {
37
+ constructor() {
38
+ this.domSanitizer = inject(DomSanitizer);
39
+ }
40
+ set icon(icon) {
41
+ // TODO: В данном случае подключаются все иконки (вероятно, можно как-то оптимизировано их подключать)
42
+ this.safeSvgContent = this.domSanitizer.bypassSecurityTrustHtml(cuiIsIcon(icon)
43
+ ? CUI_ICONS[icon]
44
+ : icon);
45
+ }
46
+ get isWithStrokeWidth() {
47
+ return !!this.strokeWidth;
48
+ }
49
+ get isWithColor() {
50
+ return !!this.color;
51
+ }
52
+ }
53
+ CuiSvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
+ CuiSvgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: { width: "width", height: "height", strokeWidth: "strokeWidth", color: "color", icon: "icon" }, host: { properties: { "style.--stroke-width": "this.strokeWidth", "style.--color": "this.color", "class._with-stroke-width": "this.isWithStrokeWidth", "class._with-color": "this.isWithColor" } }, ngImport: i0, template: "<span\r\n [innerHTML]=\"safeSvgContent\"\r\n [style.width.px]=\"width\"\r\n [style.height.px]=\"height\"\r\n></span>", styles: [":host{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle;line-height:0}:host ::ng-deep svg{width:100%;height:100%}:host._with-stroke-width ::ng-deep [stroke-width]{stroke-width:var(--stroke-width)}:host._with-color ::ng-deep [stroke]{stroke:var(--color)}:host._with-color ::ng-deep [fill]:not([fill=none]){fill:var(--color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: 'cui-svg[icon]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n [innerHTML]=\"safeSvgContent\"\r\n [style.width.px]=\"width\"\r\n [style.height.px]=\"height\"\r\n></span>", styles: [":host{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle;line-height:0}:host ::ng-deep svg{width:100%;height:100%}:host._with-stroke-width ::ng-deep [stroke-width]{stroke-width:var(--stroke-width)}:host._with-color ::ng-deep [stroke]{stroke:var(--color)}:host._with-color ::ng-deep [fill]:not([fill=none]){fill:var(--color)}\n"] }]
58
+ }], propDecorators: { width: [{
59
+ type: Input
60
+ }], height: [{
61
+ type: Input
62
+ }], strokeWidth: [{
63
+ type: Input
64
+ }, {
65
+ type: HostBinding,
66
+ args: ['style.--stroke-width']
67
+ }], color: [{
68
+ type: Input
69
+ }, {
70
+ type: HostBinding,
71
+ args: ['style.--color']
72
+ }], icon: [{
73
+ type: Input
74
+ }], isWithStrokeWidth: [{
75
+ type: HostBinding,
76
+ args: ['class._with-stroke-width']
77
+ }], isWithColor: [{
78
+ type: HostBinding,
79
+ args: ['class._with-color']
80
80
  }] } });
81
81
 
82
- class CuiButtonComponent {
83
- constructor() {
84
- this.cuiButtonOptions = inject(CUI_BUTTON_OPTIONS);
85
- this.COLOR_BASE_500 = 'var(--cui-base-500)';
86
- this.BUTTON_ICONS_COLOR_BASE_500 = [
87
- 'secondary',
88
- 'outlined',
89
- 'outlined-gray',
90
- 'ghost'
91
- ];
92
- this._appearance = this.cuiButtonOptions.appearance;
93
- this.iconColor = 'currentColor';
94
- this._size = this.cuiButtonOptions.size;
95
- this.iconDimensions = {
96
- width: 20,
97
- height: 20
98
- };
99
- this.shape = this.cuiButtonOptions.shape;
100
- this.disabled = false;
101
- this.isLoaderShown = false;
102
- this.containsOnlyIcon = false;
103
- }
104
- get appearance() {
105
- return this._appearance;
106
- }
107
- set appearance(appearance) {
108
- this._appearance = appearance;
109
- if (this.BUTTON_ICONS_COLOR_BASE_500.includes(appearance)) {
110
- this.iconColor = this.COLOR_BASE_500;
111
- return;
112
- }
113
- this.iconColor = 'currentColor';
114
- }
115
- get size() {
116
- return this._size;
117
- }
118
- set size(size) {
119
- this._size = size;
120
- if (size === 'xxs') {
121
- this.iconDimensions = {
122
- width: 16,
123
- height: 16
124
- };
125
- return;
126
- }
127
- this.iconDimensions = {
128
- width: 20,
129
- height: 20
130
- };
131
- }
132
- get isDisabled() {
133
- return this.disabled || this.isLoaderShown;
134
- }
135
- }
136
- CuiButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
137
- CuiButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: { shape: "shape", disabled: "disabled", isLoaderShown: "isLoaderShown", icon: "icon", iconRight: "iconRight", appearance: "appearance", size: "size" }, host: { properties: { "attr.data-shape": "this.shape", "class._disabled": "this.disabled", "class._loading": "this.isLoaderShown", "attr.data-appearance": "this.appearance", "attr.data-size": "this.size", "class._only-icon": "this.containsOnlyIcon", "disabled": "this.isDisabled" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<span\n class=\"c-wrapper\"\n [class.c-wrapper_invisible]=\"isLoaderShown\"\n>\n <cui-svg\n *ngIf=\"icon\"\n [icon]=\"icon\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n <span\n #content\n class=\"c-content\"\n ><ng-content></ng-content></span>\n <cui-svg\n *ngIf=\"iconRight\"\n [icon]=\"iconRight\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n</span>\n<cui-svg\n *ngIf=\"isLoaderShown\"\n icon=\"cuiIconLoading\"\n class=\"c-loader\"\n></cui-svg>\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-weight:500;font-size:14px;line-height:20px;display:inline-block;position:relative;box-sizing:border-box;border-radius:8px;font-family:var(--cui-main-font)}:host:disabled{cursor:not-allowed}:host[data-shape=rounded]{border-radius:20px}:host[data-appearance=action]{background:var(--c-action-background);color:var(--cui-gray-0);border:1px solid var(--c-action-border-color)}@media (hover: hover){:host[data-appearance=action]:hover{background:var(--c-action-background-hover);border-color:var(--c-action-background-hover)}}:host[data-appearance=action]:active{background:var(--c-action-background-hover);border-color:var(--c-action-background-hover)}:host[data-appearance=action]:disabled{background:var(--c-action-background);border-color:var(--c-action-border-color)}:host[data-appearance=secondary]{background:var(--cui-base-100);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=secondary]:hover{background:var(--cui-base-200)}}:host[data-appearance=secondary]:active{background:var(--cui-base-200)}:host[data-appearance=secondary]:disabled{background:var(--cui-base-100)}:host[data-appearance=outlined]{border:1px solid var(--cui-base-200);background:var(--cui-base-0);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined]:active{background:var(--cui-base-50)}:host[data-appearance=outlined]:disabled{background:var(--cui-base-0)}:host[data-appearance=outlined-gray]{border:1px solid var(--cui-base-200);background:var(--cui-base-10);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined-gray]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined-gray]:active{background:var(--cui-base-50)}:host[data-appearance=outlined-gray]:disabled{background:var(--cui-base-10)}:host[data-appearance=ghost]{color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=ghost]:hover{background:var(--cui-base-50)}}:host[data-appearance=ghost]:active{background:var(--cui-base-50)}:host[data-appearance=ghost]:disabled{background:inherit}:host[data-appearance=flat]{color:var(--cui-light-blue-600)}@media (hover: hover){:host[data-appearance=flat]:hover{background:var(--cui-base-50)}}:host[data-appearance=flat]:active{background:var(--cui-base-50)}:host[data-appearance=flat]:disabled{background:inherit}:host[data-appearance=destructive]{background:var(--cui-danger);color:var(--cui-gray-0)}@media (hover: hover){:host[data-appearance=destructive]:hover{background:var(--cui-red-600)}}:host[data-appearance=destructive]:active{background:var(--cui-red-600)}:host[data-appearance=destructive]:disabled{background:var(--cui-danger)}:host[data-appearance=link]{height:24px!important;padding:0 4px!important;color:var(--cui-info)}@media (hover: hover){:host[data-appearance=link]:hover{color:var(--cui-blue-800)}}:host[data-appearance=link]:active{color:var(--cui-blue-800)}:host[data-appearance=link]:disabled{color:var(--cui-info)}:host[data-size=xxs]{font-size:12px;line-height:14px;height:28px;padding:0 12px}:host[data-size=xxs][data-appearance=action],:host[data-size=xxs][data-appearance=outlined],:host[data-size=xxs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xxs]:has(.c-content:empty){width:28px}:host[data-size=xxs] .c-wrapper{gap:6px}:host[data-size=xs]{font-size:13px;line-height:16px;height:32px;padding:0 12px}:host[data-size=xs][data-appearance=action],:host[data-size=xs][data-appearance=outlined],:host[data-size=xs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xs]:has(.c-content:empty){width:32px}:host[data-size=sm]{height:36px;padding:0 14px}:host[data-size=sm][data-appearance=action],:host[data-size=sm][data-appearance=outlined],:host[data-size=sm][data-appearance=outlined-gray]{padding:0 13px}:host[data-size=sm]:has(.c-content:empty){width:36px}:host[data-size=md]{height:40px;padding:0 16px}:host[data-size=md][data-appearance=action],:host[data-size=md][data-appearance=outlined],:host[data-size=md][data-appearance=outlined-gray]{padding:0 15px}:host[data-size=md]:has(.c-content:empty){width:40px}:host._disabled{opacity:.5}@media (hover: hover){:host-context([cuiTheme=dark])[data-appearance=destructive]:hover{background:var(--cui-red-300)}}:host-context([cuiTheme=dark])[data-appearance=destructive]:active{background:var(--cui-red-300)}:host-context([cuiTheme=dark])[data-appearance=destructive]:disabled{background:var(--cui-danger)}.c-content:empty{display:contents}.c-wrapper{display:flex;justify-content:center;align-items:center;gap:8px;height:100%}.c-wrapper_invisible{opacity:0}.c-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonComponent, decorators: [{
139
- type: Component,
140
- args: [{ selector: 'button[cuiButton], a[cuiButton]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"c-wrapper\"\n [class.c-wrapper_invisible]=\"isLoaderShown\"\n>\n <cui-svg\n *ngIf=\"icon\"\n [icon]=\"icon\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n <span\n #content\n class=\"c-content\"\n ><ng-content></ng-content></span>\n <cui-svg\n *ngIf=\"iconRight\"\n [icon]=\"iconRight\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n</span>\n<cui-svg\n *ngIf=\"isLoaderShown\"\n icon=\"cuiIconLoading\"\n class=\"c-loader\"\n></cui-svg>\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-weight:500;font-size:14px;line-height:20px;display:inline-block;position:relative;box-sizing:border-box;border-radius:8px;font-family:var(--cui-main-font)}:host:disabled{cursor:not-allowed}:host[data-shape=rounded]{border-radius:20px}:host[data-appearance=action]{background:var(--c-action-background);color:var(--cui-gray-0);border:1px solid var(--c-action-border-color)}@media (hover: hover){:host[data-appearance=action]:hover{background:var(--c-action-background-hover);border-color:var(--c-action-background-hover)}}:host[data-appearance=action]:active{background:var(--c-action-background-hover);border-color:var(--c-action-background-hover)}:host[data-appearance=action]:disabled{background:var(--c-action-background);border-color:var(--c-action-border-color)}:host[data-appearance=secondary]{background:var(--cui-base-100);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=secondary]:hover{background:var(--cui-base-200)}}:host[data-appearance=secondary]:active{background:var(--cui-base-200)}:host[data-appearance=secondary]:disabled{background:var(--cui-base-100)}:host[data-appearance=outlined]{border:1px solid var(--cui-base-200);background:var(--cui-base-0);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined]:active{background:var(--cui-base-50)}:host[data-appearance=outlined]:disabled{background:var(--cui-base-0)}:host[data-appearance=outlined-gray]{border:1px solid var(--cui-base-200);background:var(--cui-base-10);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined-gray]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined-gray]:active{background:var(--cui-base-50)}:host[data-appearance=outlined-gray]:disabled{background:var(--cui-base-10)}:host[data-appearance=ghost]{color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=ghost]:hover{background:var(--cui-base-50)}}:host[data-appearance=ghost]:active{background:var(--cui-base-50)}:host[data-appearance=ghost]:disabled{background:inherit}:host[data-appearance=flat]{color:var(--cui-light-blue-600)}@media (hover: hover){:host[data-appearance=flat]:hover{background:var(--cui-base-50)}}:host[data-appearance=flat]:active{background:var(--cui-base-50)}:host[data-appearance=flat]:disabled{background:inherit}:host[data-appearance=destructive]{background:var(--cui-danger);color:var(--cui-gray-0)}@media (hover: hover){:host[data-appearance=destructive]:hover{background:var(--cui-red-600)}}:host[data-appearance=destructive]:active{background:var(--cui-red-600)}:host[data-appearance=destructive]:disabled{background:var(--cui-danger)}:host[data-appearance=link]{height:24px!important;padding:0 4px!important;color:var(--cui-info)}@media (hover: hover){:host[data-appearance=link]:hover{color:var(--cui-blue-800)}}:host[data-appearance=link]:active{color:var(--cui-blue-800)}:host[data-appearance=link]:disabled{color:var(--cui-info)}:host[data-size=xxs]{font-size:12px;line-height:14px;height:28px;padding:0 12px}:host[data-size=xxs][data-appearance=action],:host[data-size=xxs][data-appearance=outlined],:host[data-size=xxs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xxs]:has(.c-content:empty){width:28px}:host[data-size=xxs] .c-wrapper{gap:6px}:host[data-size=xs]{font-size:13px;line-height:16px;height:32px;padding:0 12px}:host[data-size=xs][data-appearance=action],:host[data-size=xs][data-appearance=outlined],:host[data-size=xs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xs]:has(.c-content:empty){width:32px}:host[data-size=sm]{height:36px;padding:0 14px}:host[data-size=sm][data-appearance=action],:host[data-size=sm][data-appearance=outlined],:host[data-size=sm][data-appearance=outlined-gray]{padding:0 13px}:host[data-size=sm]:has(.c-content:empty){width:36px}:host[data-size=md]{height:40px;padding:0 16px}:host[data-size=md][data-appearance=action],:host[data-size=md][data-appearance=outlined],:host[data-size=md][data-appearance=outlined-gray]{padding:0 15px}:host[data-size=md]:has(.c-content:empty){width:40px}:host._disabled{opacity:.5}@media (hover: hover){:host-context([cuiTheme=dark])[data-appearance=destructive]:hover{background:var(--cui-red-300)}}:host-context([cuiTheme=dark])[data-appearance=destructive]:active{background:var(--cui-red-300)}:host-context([cuiTheme=dark])[data-appearance=destructive]:disabled{background:var(--cui-danger)}.c-content:empty{display:contents}.c-wrapper{display:flex;justify-content:center;align-items:center;gap:8px;height:100%}.c-wrapper_invisible{opacity:0}.c-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n"] }]
141
- }], propDecorators: { shape: [{
142
- type: Input
143
- }, {
144
- type: HostBinding,
145
- args: ['attr.data-shape']
146
- }], disabled: [{
147
- type: Input
148
- }, {
149
- type: HostBinding,
150
- args: ['class._disabled']
151
- }], isLoaderShown: [{
152
- type: Input
153
- }, {
154
- type: HostBinding,
155
- args: ['class._loading']
156
- }], icon: [{
157
- type: Input
158
- }], iconRight: [{
159
- type: Input
160
- }], appearance: [{
161
- type: Input
162
- }, {
163
- type: HostBinding,
164
- args: ['attr.data-appearance']
165
- }], size: [{
166
- type: Input
167
- }, {
168
- type: HostBinding,
169
- args: ['attr.data-size']
170
- }], containsOnlyIcon: [{
171
- type: HostBinding,
172
- args: ['class._only-icon']
173
- }], isDisabled: [{
174
- type: HostBinding,
175
- args: ['disabled']
176
- }], content: [{
177
- type: ViewChild,
178
- args: ['content']
82
+ class CuiButtonComponent {
83
+ constructor() {
84
+ this.cuiButtonOptions = inject(CUI_BUTTON_OPTIONS);
85
+ this.COLOR_BASE_500 = 'var(--cui-base-500)';
86
+ this.BUTTON_ICONS_COLOR_BASE_500 = [
87
+ 'secondary',
88
+ 'outlined',
89
+ 'outlined-gray',
90
+ 'ghost'
91
+ ];
92
+ this._appearance = this.cuiButtonOptions.appearance;
93
+ this.iconColor = 'currentColor';
94
+ this._size = this.cuiButtonOptions.size;
95
+ this.iconDimensions = {
96
+ width: 20,
97
+ height: 20
98
+ };
99
+ this.shape = this.cuiButtonOptions.shape;
100
+ this.disabled = false;
101
+ this.isLoaderShown = false;
102
+ this.containsOnlyIcon = false;
103
+ }
104
+ get appearance() {
105
+ return this._appearance;
106
+ }
107
+ set appearance(appearance) {
108
+ this._appearance = appearance;
109
+ if (this.BUTTON_ICONS_COLOR_BASE_500.includes(appearance)) {
110
+ this.iconColor = this.COLOR_BASE_500;
111
+ return;
112
+ }
113
+ this.iconColor = 'currentColor';
114
+ }
115
+ get size() {
116
+ return this._size;
117
+ }
118
+ set size(size) {
119
+ this._size = size;
120
+ if (size === 'xxs') {
121
+ this.iconDimensions = {
122
+ width: 16,
123
+ height: 16
124
+ };
125
+ return;
126
+ }
127
+ this.iconDimensions = {
128
+ width: 20,
129
+ height: 20
130
+ };
131
+ }
132
+ get isDisabled() {
133
+ return this.disabled || this.isLoaderShown;
134
+ }
135
+ }
136
+ CuiButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
137
+ CuiButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: { shape: "shape", disabled: "disabled", isLoaderShown: "isLoaderShown", icon: "icon", iconRight: "iconRight", appearance: "appearance", size: "size" }, host: { properties: { "attr.data-shape": "this.shape", "class._disabled": "this.disabled", "class._loading": "this.isLoaderShown", "attr.data-appearance": "this.appearance", "attr.data-size": "this.size", "class._only-icon": "this.containsOnlyIcon", "disabled": "this.isDisabled" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<span\r\n class=\"c-wrapper\"\r\n [class.c-wrapper_invisible]=\"isLoaderShown\"\r\n>\r\n <cui-svg\r\n *ngIf=\"icon\"\r\n [icon]=\"icon\"\r\n [width]=\"iconDimensions.width\"\r\n [height]=\"iconDimensions.height\"\r\n [color]=\"iconColor\"\r\n ></cui-svg>\r\n <span\r\n #content\r\n class=\"c-content\"\r\n ><ng-content></ng-content></span>\r\n <cui-svg\r\n *ngIf=\"iconRight\"\r\n [icon]=\"iconRight\"\r\n [width]=\"iconDimensions.width\"\r\n [height]=\"iconDimensions.height\"\r\n [color]=\"iconColor\"\r\n ></cui-svg>\r\n</span>\r\n<cui-svg\r\n *ngIf=\"isLoaderShown\"\r\n icon=\"cuiIconLoading\"\r\n class=\"c-loader\"\r\n></cui-svg>\r\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-weight:500;font-size:14px;line-height:20px;display:inline-block;position:relative;box-sizing:border-box;border-radius:8px;font-family:var(--cui-main-font)}:host:disabled{cursor:not-allowed}:host[data-shape=rounded]{border-radius:20px}:host[data-appearance=action]{background:var(--c-action-background);color:var(--cui-gray-0);border:1px solid var(--c-action-border-color)}@media (hover: hover){:host[data-appearance=action]:hover{background:var(--c-action-background-hover);border-color:var(--c-action-background-hover)}}:host[data-appearance=action]:active{background:var(--c-action-background-hover);border-color:var(--c-action-background-hover)}:host[data-appearance=action]:disabled{background:var(--c-action-background);border-color:var(--c-action-border-color)}:host[data-appearance=secondary]{background:var(--cui-base-100);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=secondary]:hover{background:var(--cui-base-200)}}:host[data-appearance=secondary]:active{background:var(--cui-base-200)}:host[data-appearance=secondary]:disabled{background:var(--cui-base-100)}:host[data-appearance=outlined]{border:1px solid var(--cui-base-200);background:var(--cui-base-0);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined]:active{background:var(--cui-base-50)}:host[data-appearance=outlined]:disabled{background:var(--cui-base-0)}:host[data-appearance=outlined-gray]{border:1px solid var(--cui-base-200);background:var(--cui-base-10);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined-gray]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined-gray]:active{background:var(--cui-base-50)}:host[data-appearance=outlined-gray]:disabled{background:var(--cui-base-10)}:host[data-appearance=ghost]{color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=ghost]:hover{background:var(--cui-base-50)}}:host[data-appearance=ghost]:active{background:var(--cui-base-50)}:host[data-appearance=ghost]:disabled{background:inherit}:host[data-appearance=flat]{color:var(--cui-light-blue-600)}@media (hover: hover){:host[data-appearance=flat]:hover{background:var(--cui-base-50)}}:host[data-appearance=flat]:active{background:var(--cui-base-50)}:host[data-appearance=flat]:disabled{background:inherit}:host[data-appearance=destructive]{background:var(--cui-danger);color:var(--cui-gray-0)}@media (hover: hover){:host[data-appearance=destructive]:hover{background:var(--cui-red-600)}}:host[data-appearance=destructive]:active{background:var(--cui-red-600)}:host[data-appearance=destructive]:disabled{background:var(--cui-danger)}:host[data-appearance=link]{height:24px!important;padding:0 4px!important;color:var(--cui-info)}@media (hover: hover){:host[data-appearance=link]:hover{color:var(--cui-blue-800)}}:host[data-appearance=link]:active{color:var(--cui-blue-800)}:host[data-appearance=link]:disabled{color:var(--cui-info)}:host[data-size=xxs]{font-size:12px;line-height:14px;height:28px;padding:0 12px}:host[data-size=xxs][data-appearance=action],:host[data-size=xxs][data-appearance=outlined],:host[data-size=xxs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xxs]:has(.c-content:empty){width:28px}:host[data-size=xxs] .c-wrapper{gap:6px}:host[data-size=xs]{font-size:13px;line-height:16px;height:32px;padding:0 12px}:host[data-size=xs][data-appearance=action],:host[data-size=xs][data-appearance=outlined],:host[data-size=xs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xs]:has(.c-content:empty){width:32px}:host[data-size=sm]{height:36px;padding:0 14px}:host[data-size=sm][data-appearance=action],:host[data-size=sm][data-appearance=outlined],:host[data-size=sm][data-appearance=outlined-gray]{padding:0 13px}:host[data-size=sm]:has(.c-content:empty){width:36px}:host[data-size=md]{height:40px;padding:0 16px}:host[data-size=md][data-appearance=action],:host[data-size=md][data-appearance=outlined],:host[data-size=md][data-appearance=outlined-gray]{padding:0 15px}:host[data-size=md]:has(.c-content:empty){width:40px}:host._disabled{opacity:.5}@media (hover: hover){:host-context([cuiTheme=dark])[data-appearance=destructive]:hover{background:var(--cui-red-300)}}:host-context([cuiTheme=dark])[data-appearance=destructive]:active{background:var(--cui-red-300)}:host-context([cuiTheme=dark])[data-appearance=destructive]:disabled{background:var(--cui-danger)}.c-content:empty{display:contents}.c-wrapper{display:flex;justify-content:center;align-items:center;gap:8px;height:100%}.c-wrapper_invisible{opacity:0}.c-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonComponent, decorators: [{
139
+ type: Component,
140
+ args: [{ selector: 'button[cuiButton], a[cuiButton]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n class=\"c-wrapper\"\r\n [class.c-wrapper_invisible]=\"isLoaderShown\"\r\n>\r\n <cui-svg\r\n *ngIf=\"icon\"\r\n [icon]=\"icon\"\r\n [width]=\"iconDimensions.width\"\r\n [height]=\"iconDimensions.height\"\r\n [color]=\"iconColor\"\r\n ></cui-svg>\r\n <span\r\n #content\r\n class=\"c-content\"\r\n ><ng-content></ng-content></span>\r\n <cui-svg\r\n *ngIf=\"iconRight\"\r\n [icon]=\"iconRight\"\r\n [width]=\"iconDimensions.width\"\r\n [height]=\"iconDimensions.height\"\r\n [color]=\"iconColor\"\r\n ></cui-svg>\r\n</span>\r\n<cui-svg\r\n *ngIf=\"isLoaderShown\"\r\n icon=\"cuiIconLoading\"\r\n class=\"c-loader\"\r\n></cui-svg>\r\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-weight:500;font-size:14px;line-height:20px;display:inline-block;position:relative;box-sizing:border-box;border-radius:8px;font-family:var(--cui-main-font)}:host:disabled{cursor:not-allowed}:host[data-shape=rounded]{border-radius:20px}:host[data-appearance=action]{background:var(--c-action-background);color:var(--cui-gray-0);border:1px solid var(--c-action-border-color)}@media (hover: hover){:host[data-appearance=action]:hover{background:var(--c-action-background-hover);border-color:var(--c-action-background-hover)}}:host[data-appearance=action]:active{background:var(--c-action-background-hover);border-color:var(--c-action-background-hover)}:host[data-appearance=action]:disabled{background:var(--c-action-background);border-color:var(--c-action-border-color)}:host[data-appearance=secondary]{background:var(--cui-base-100);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=secondary]:hover{background:var(--cui-base-200)}}:host[data-appearance=secondary]:active{background:var(--cui-base-200)}:host[data-appearance=secondary]:disabled{background:var(--cui-base-100)}:host[data-appearance=outlined]{border:1px solid var(--cui-base-200);background:var(--cui-base-0);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined]:active{background:var(--cui-base-50)}:host[data-appearance=outlined]:disabled{background:var(--cui-base-0)}:host[data-appearance=outlined-gray]{border:1px solid var(--cui-base-200);background:var(--cui-base-10);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined-gray]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined-gray]:active{background:var(--cui-base-50)}:host[data-appearance=outlined-gray]:disabled{background:var(--cui-base-10)}:host[data-appearance=ghost]{color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=ghost]:hover{background:var(--cui-base-50)}}:host[data-appearance=ghost]:active{background:var(--cui-base-50)}:host[data-appearance=ghost]:disabled{background:inherit}:host[data-appearance=flat]{color:var(--cui-light-blue-600)}@media (hover: hover){:host[data-appearance=flat]:hover{background:var(--cui-base-50)}}:host[data-appearance=flat]:active{background:var(--cui-base-50)}:host[data-appearance=flat]:disabled{background:inherit}:host[data-appearance=destructive]{background:var(--cui-danger);color:var(--cui-gray-0)}@media (hover: hover){:host[data-appearance=destructive]:hover{background:var(--cui-red-600)}}:host[data-appearance=destructive]:active{background:var(--cui-red-600)}:host[data-appearance=destructive]:disabled{background:var(--cui-danger)}:host[data-appearance=link]{height:24px!important;padding:0 4px!important;color:var(--cui-info)}@media (hover: hover){:host[data-appearance=link]:hover{color:var(--cui-blue-800)}}:host[data-appearance=link]:active{color:var(--cui-blue-800)}:host[data-appearance=link]:disabled{color:var(--cui-info)}:host[data-size=xxs]{font-size:12px;line-height:14px;height:28px;padding:0 12px}:host[data-size=xxs][data-appearance=action],:host[data-size=xxs][data-appearance=outlined],:host[data-size=xxs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xxs]:has(.c-content:empty){width:28px}:host[data-size=xxs] .c-wrapper{gap:6px}:host[data-size=xs]{font-size:13px;line-height:16px;height:32px;padding:0 12px}:host[data-size=xs][data-appearance=action],:host[data-size=xs][data-appearance=outlined],:host[data-size=xs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xs]:has(.c-content:empty){width:32px}:host[data-size=sm]{height:36px;padding:0 14px}:host[data-size=sm][data-appearance=action],:host[data-size=sm][data-appearance=outlined],:host[data-size=sm][data-appearance=outlined-gray]{padding:0 13px}:host[data-size=sm]:has(.c-content:empty){width:36px}:host[data-size=md]{height:40px;padding:0 16px}:host[data-size=md][data-appearance=action],:host[data-size=md][data-appearance=outlined],:host[data-size=md][data-appearance=outlined-gray]{padding:0 15px}:host[data-size=md]:has(.c-content:empty){width:40px}:host._disabled{opacity:.5}@media (hover: hover){:host-context([cuiTheme=dark])[data-appearance=destructive]:hover{background:var(--cui-red-300)}}:host-context([cuiTheme=dark])[data-appearance=destructive]:active{background:var(--cui-red-300)}:host-context([cuiTheme=dark])[data-appearance=destructive]:disabled{background:var(--cui-danger)}.c-content:empty{display:contents}.c-wrapper{display:flex;justify-content:center;align-items:center;gap:8px;height:100%}.c-wrapper_invisible{opacity:0}.c-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n"] }]
141
+ }], propDecorators: { shape: [{
142
+ type: Input
143
+ }, {
144
+ type: HostBinding,
145
+ args: ['attr.data-shape']
146
+ }], disabled: [{
147
+ type: Input
148
+ }, {
149
+ type: HostBinding,
150
+ args: ['class._disabled']
151
+ }], isLoaderShown: [{
152
+ type: Input
153
+ }, {
154
+ type: HostBinding,
155
+ args: ['class._loading']
156
+ }], icon: [{
157
+ type: Input
158
+ }], iconRight: [{
159
+ type: Input
160
+ }], appearance: [{
161
+ type: Input
162
+ }, {
163
+ type: HostBinding,
164
+ args: ['attr.data-appearance']
165
+ }], size: [{
166
+ type: Input
167
+ }, {
168
+ type: HostBinding,
169
+ args: ['attr.data-size']
170
+ }], containsOnlyIcon: [{
171
+ type: HostBinding,
172
+ args: ['class._only-icon']
173
+ }], isDisabled: [{
174
+ type: HostBinding,
175
+ args: ['disabled']
176
+ }], content: [{
177
+ type: ViewChild,
178
+ args: ['content']
179
179
  }] } });
180
180
 
181
- class CuiAccordionItemComponent {
182
- constructor() {
183
- this.isOpen = true;
184
- this.isOpenChange = new EventEmitter();
185
- }
186
- get buttonIcon() {
187
- return this.isOpen ? 'cuiIconChevronDown' : 'cuiIconChevronRight';
188
- }
189
- onRowToggle() {
190
- this.isOpen = !this.isOpen;
191
- this.isOpenChange.emit(this.isOpen);
192
- }
193
- }
194
- CuiAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
195
- CuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiAccordionItemComponent, selector: "cui-accordion-item", inputs: { isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngImport: i0, template: "<header class=\"c-header\">\n <button\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"buttonIcon\"\n (click)=\"onRowToggle()\"\n ></button>\n <div class=\"c-header__wrapper\">\n <ng-content></ng-content>\n </div>\n</header>\n<div *ngIf=\"isOpen\">\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\n</div>\n", styles: [":host{padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}.c-header{font-weight:400;font-size:12px;line-height:14px;display:flex;align-items:center;gap:8px;color:var(--cui-base-900);font-family:var(--cui-main-font);text-transform:uppercase}.c-header__wrapper{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionItemComponent, decorators: [{
197
- type: Component,
198
- args: [{ selector: 'cui-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<header class=\"c-header\">\n <button\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"buttonIcon\"\n (click)=\"onRowToggle()\"\n ></button>\n <div class=\"c-header__wrapper\">\n <ng-content></ng-content>\n </div>\n</header>\n<div *ngIf=\"isOpen\">\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\n</div>\n", styles: [":host{padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}.c-header{font-weight:400;font-size:12px;line-height:14px;display:flex;align-items:center;gap:8px;color:var(--cui-base-900);font-family:var(--cui-main-font);text-transform:uppercase}.c-header__wrapper{width:100%}\n"] }]
199
- }], propDecorators: { isOpen: [{
200
- type: Input
201
- }], isOpenChange: [{
202
- type: Output
181
+ class CuiAccordionItemComponent {
182
+ constructor() {
183
+ this.isOpen = true;
184
+ this.isOpenChange = new EventEmitter();
185
+ }
186
+ get buttonIcon() {
187
+ return this.isOpen ? 'cuiIconChevronDown' : 'cuiIconChevronRight';
188
+ }
189
+ onRowToggle() {
190
+ this.isOpen = !this.isOpen;
191
+ this.isOpenChange.emit(this.isOpen);
192
+ }
193
+ }
194
+ CuiAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
195
+ CuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiAccordionItemComponent, selector: "cui-accordion-item", inputs: { isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngImport: i0, template: "<header class=\"c-header\">\r\n <button\r\n cuiButton\r\n appearance=\"ghost\"\r\n size=\"xxs\"\r\n [icon]=\"buttonIcon\"\r\n (click)=\"onRowToggle()\"\r\n ></button>\r\n <div class=\"c-header__wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n</header>\r\n<div *ngIf=\"isOpen\">\r\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\r\n</div>\r\n", styles: [":host{padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}.c-header{font-weight:400;font-size:12px;line-height:14px;display:flex;align-items:center;gap:8px;color:var(--cui-base-900);font-family:var(--cui-main-font);text-transform:uppercase}.c-header__wrapper{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionItemComponent, decorators: [{
197
+ type: Component,
198
+ args: [{ selector: 'cui-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<header class=\"c-header\">\r\n <button\r\n cuiButton\r\n appearance=\"ghost\"\r\n size=\"xxs\"\r\n [icon]=\"buttonIcon\"\r\n (click)=\"onRowToggle()\"\r\n ></button>\r\n <div class=\"c-header__wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n</header>\r\n<div *ngIf=\"isOpen\">\r\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\r\n</div>\r\n", styles: [":host{padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}.c-header{font-weight:400;font-size:12px;line-height:14px;display:flex;align-items:center;gap:8px;color:var(--cui-base-900);font-family:var(--cui-main-font);text-transform:uppercase}.c-header__wrapper{width:100%}\n"] }]
199
+ }], propDecorators: { isOpen: [{
200
+ type: Input
201
+ }], isOpenChange: [{
202
+ type: Output
203
203
  }] } });
204
204
 
205
- class CuiSvgModule {
206
- }
207
- CuiSvgModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
208
- CuiSvgModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgModule, declarations: [CuiSvgComponent], imports: [CommonModule], exports: [CuiSvgComponent] });
209
- CuiSvgModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgModule, imports: [CommonModule] });
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgModule, decorators: [{
211
- type: NgModule,
212
- args: [{
213
- imports: [CommonModule],
214
- declarations: [CuiSvgComponent],
215
- exports: [CuiSvgComponent]
216
- }]
205
+ class CuiSvgModule {
206
+ }
207
+ CuiSvgModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
208
+ CuiSvgModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgModule, declarations: [CuiSvgComponent], imports: [CommonModule], exports: [CuiSvgComponent] });
209
+ CuiSvgModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgModule, imports: [CommonModule] });
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSvgModule, decorators: [{
211
+ type: NgModule,
212
+ args: [{
213
+ imports: [CommonModule],
214
+ declarations: [CuiSvgComponent],
215
+ exports: [CuiSvgComponent]
216
+ }]
217
217
  }] });
218
218
 
219
- class CuiButtonModule {
220
- }
221
- CuiButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
222
- CuiButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonModule, declarations: [CuiButtonComponent], imports: [CommonModule,
223
- CuiSvgModule], exports: [CuiButtonComponent] });
224
- CuiButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonModule, imports: [CommonModule,
225
- CuiSvgModule] });
226
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonModule, decorators: [{
227
- type: NgModule,
228
- args: [{
229
- imports: [
230
- CommonModule,
231
- CuiSvgModule
232
- ],
233
- declarations: [CuiButtonComponent],
234
- exports: [CuiButtonComponent]
235
- }]
219
+ class CuiButtonModule {
220
+ }
221
+ CuiButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
222
+ CuiButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonModule, declarations: [CuiButtonComponent], imports: [CommonModule,
223
+ CuiSvgModule], exports: [CuiButtonComponent] });
224
+ CuiButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonModule, imports: [CommonModule,
225
+ CuiSvgModule] });
226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonModule, decorators: [{
227
+ type: NgModule,
228
+ args: [{
229
+ imports: [
230
+ CommonModule,
231
+ CuiSvgModule
232
+ ],
233
+ declarations: [CuiButtonComponent],
234
+ exports: [CuiButtonComponent]
235
+ }]
236
236
  }] });
237
237
 
238
- class CuiAccordionModule {
239
- }
240
- CuiAccordionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
241
- CuiAccordionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionModule, declarations: [CuiAccordionComponent,
242
- CuiAccordionItemComponent], imports: [CommonModule,
243
- CuiSvgModule,
244
- CuiButtonModule], exports: [CuiAccordionComponent,
245
- CuiAccordionItemComponent] });
246
- CuiAccordionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionModule, imports: [CommonModule,
247
- CuiSvgModule,
248
- CuiButtonModule] });
249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionModule, decorators: [{
250
- type: NgModule,
251
- args: [{
252
- imports: [
253
- CommonModule,
254
- CuiSvgModule,
255
- CuiButtonModule,
256
- ],
257
- declarations: [
258
- CuiAccordionComponent,
259
- CuiAccordionItemComponent
260
- ],
261
- exports: [
262
- CuiAccordionComponent,
263
- CuiAccordionItemComponent
264
- ]
265
- }]
238
+ class CuiAccordionModule {
239
+ }
240
+ CuiAccordionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
241
+ CuiAccordionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionModule, declarations: [CuiAccordionComponent,
242
+ CuiAccordionItemComponent], imports: [CommonModule,
243
+ CuiSvgModule,
244
+ CuiButtonModule], exports: [CuiAccordionComponent,
245
+ CuiAccordionItemComponent] });
246
+ CuiAccordionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionModule, imports: [CommonModule,
247
+ CuiSvgModule,
248
+ CuiButtonModule] });
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionModule, decorators: [{
250
+ type: NgModule,
251
+ args: [{
252
+ imports: [
253
+ CommonModule,
254
+ CuiSvgModule,
255
+ CuiButtonModule,
256
+ ],
257
+ declarations: [
258
+ CuiAccordionComponent,
259
+ CuiAccordionItemComponent
260
+ ],
261
+ exports: [
262
+ CuiAccordionComponent,
263
+ CuiAccordionItemComponent
264
+ ]
265
+ }]
266
266
  }] });
267
267
 
268
- const CUI_NOTIFICATION_DEFAULT_OPTIONS = {
269
- status: 'info'
270
- };
268
+ const CUI_NOTIFICATION_DEFAULT_OPTIONS = {
269
+ status: 'info'
270
+ };
271
271
  const CUI_NOTIFICATION_OPTIONS = cuiCreateToken(CUI_NOTIFICATION_DEFAULT_OPTIONS);
272
272
 
273
- const CUI_ALERTS = cuiCreateToken(new BehaviorSubject([]));
274
- const CUI_ALERT_DEFAULT_OPTIONS = {
275
- label: '',
276
- needAutoClose: true,
277
- isCloseable: true,
278
- position: 'right',
279
- resizing: 'fixed'
280
- };
281
- const CUI_ALERT_OPTIONS = cuiCreateTokenFromFactory(() => ({
282
- ...CUI_ALERT_DEFAULT_OPTIONS,
283
- ...inject(CUI_NOTIFICATION_OPTIONS)
284
- }));
273
+ const CUI_ALERTS = cuiCreateToken(new BehaviorSubject([]));
274
+ const CUI_ALERT_DEFAULT_OPTIONS = {
275
+ label: '',
276
+ needAutoClose: true,
277
+ isCloseable: true,
278
+ position: 'right',
279
+ resizing: 'fixed'
280
+ };
281
+ const CUI_ALERT_OPTIONS = cuiCreateTokenFromFactory(() => ({
282
+ ...CUI_ALERT_DEFAULT_OPTIONS,
283
+ ...inject(CUI_NOTIFICATION_OPTIONS)
284
+ }));
285
285
  const CUI_ALERT_CONTEXT = new InjectionToken('');
286
286
 
287
- class CuiNotificationComponent {
288
- constructor() {
289
- this.cuiNotificationOptions = inject(CUI_NOTIFICATION_OPTIONS);
290
- this.ICON_OPTIONS = {
291
- info: {
292
- icon: 'cuiIconInfo',
293
- color: 'var(--c-info-icon-color)'
294
- },
295
- success: {
296
- icon: 'cuiIconCheckCircle',
297
- color: 'var(--cui-green-500)'
298
- },
299
- alert: {
300
- icon: 'cuiIconAlertTriangle',
301
- color: 'var(--cui-yellow-400)'
302
- },
303
- error: {
304
- icon: 'cuiIconXCircle',
305
- color: 'var(--cui-danger)'
306
- },
307
- };
308
- this.status = this.cuiNotificationOptions.status;
309
- this.isCloseable = false;
310
- this.closed = new EventEmitter();
311
- }
312
- onClose() {
313
- this.closed.next();
314
- }
315
- }
316
- CuiNotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
317
- CuiNotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiNotificationComponent, selector: "cui-notification", inputs: { status: "status", isCloseable: "isCloseable" }, outputs: { closed: "closed" }, host: { properties: { "attr.data-status": "this.status" } }, ngImport: i0, template: "\n<cui-svg\n class=\"c-icon\"\n *cuiLet=\"ICON_OPTIONS[status] as iconOption\"\n [icon]=\"iconOption.icon\"\n [color]=\"iconOption.color\"\n></cui-svg>\n<div class=\"c-content\">\n <ng-content></ng-content>\n</div>\n<button\n *ngIf=\"isCloseable\"\n class=\"c-button\"\n (click)=\"onClose()\"\n>\n <cui-svg\n icon=\"cuiIconX\"\n color=\"var(--cui-gray-0)\"\n />\n</button>\n", styles: [":host{--c-info-icon-color: var(--cui-blue-600);padding:16px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:flex-start;border-radius:12px;background:var(--cui-gray-800);color:var(--cui-gray-0);font-family:var(--cui-main-font)}:host-context([cuiTheme=dark]){--c-info-icon-color: var(--cui-light-blue-400)}:host-context([cuiTheme=dark])[data-status=info]{background:var(--cui-blue-900)}:host-context([cuiTheme=dark])[data-status=success]{background:var(--cui-green-900)}:host-context([cuiTheme=dark])[data-status=alert]{background:var(--cui-yellow-900)}:host-context([cuiTheme=dark])[data-status=error]{background:var(--cui-red-900)}.c-content{flex:1;margin-left:12px;margin-right:16px;margin-top:5px;overflow-wrap:anywhere}.c-icon{margin-top:6px}.c-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.c-button:hover{background:rgba(255,255,255,.2)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationComponent, decorators: [{
319
- type: Component,
320
- args: [{ selector: 'cui-notification', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<cui-svg\n class=\"c-icon\"\n *cuiLet=\"ICON_OPTIONS[status] as iconOption\"\n [icon]=\"iconOption.icon\"\n [color]=\"iconOption.color\"\n></cui-svg>\n<div class=\"c-content\">\n <ng-content></ng-content>\n</div>\n<button\n *ngIf=\"isCloseable\"\n class=\"c-button\"\n (click)=\"onClose()\"\n>\n <cui-svg\n icon=\"cuiIconX\"\n color=\"var(--cui-gray-0)\"\n />\n</button>\n", styles: [":host{--c-info-icon-color: var(--cui-blue-600);padding:16px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:flex-start;border-radius:12px;background:var(--cui-gray-800);color:var(--cui-gray-0);font-family:var(--cui-main-font)}:host-context([cuiTheme=dark]){--c-info-icon-color: var(--cui-light-blue-400)}:host-context([cuiTheme=dark])[data-status=info]{background:var(--cui-blue-900)}:host-context([cuiTheme=dark])[data-status=success]{background:var(--cui-green-900)}:host-context([cuiTheme=dark])[data-status=alert]{background:var(--cui-yellow-900)}:host-context([cuiTheme=dark])[data-status=error]{background:var(--cui-red-900)}.c-content{flex:1;margin-left:12px;margin-right:16px;margin-top:5px;overflow-wrap:anywhere}.c-icon{margin-top:6px}.c-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.c-button:hover{background:rgba(255,255,255,.2)}\n"] }]
321
- }], propDecorators: { status: [{
322
- type: Input
323
- }, {
324
- type: HostBinding,
325
- args: ['attr.data-status']
326
- }], isCloseable: [{
327
- type: Input
328
- }], closed: [{
329
- type: Output
287
+ class CuiNotificationComponent {
288
+ constructor() {
289
+ this.cuiNotificationOptions = inject(CUI_NOTIFICATION_OPTIONS);
290
+ this.ICON_OPTIONS = {
291
+ info: {
292
+ icon: 'cuiIconInfo',
293
+ color: 'var(--c-info-icon-color)'
294
+ },
295
+ success: {
296
+ icon: 'cuiIconCheckCircle',
297
+ color: 'var(--cui-green-500)'
298
+ },
299
+ alert: {
300
+ icon: 'cuiIconAlertTriangle',
301
+ color: 'var(--cui-yellow-400)'
302
+ },
303
+ error: {
304
+ icon: 'cuiIconXCircle',
305
+ color: 'var(--cui-danger)'
306
+ },
307
+ };
308
+ this.status = this.cuiNotificationOptions.status;
309
+ this.isCloseable = false;
310
+ this.closed = new EventEmitter();
311
+ }
312
+ onClose() {
313
+ this.closed.next();
314
+ }
315
+ }
316
+ CuiNotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
317
+ CuiNotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiNotificationComponent, selector: "cui-notification", inputs: { status: "status", isCloseable: "isCloseable" }, outputs: { closed: "closed" }, host: { properties: { "attr.data-status": "this.status" } }, ngImport: i0, template: "\r\n<cui-svg\r\n class=\"c-icon\"\r\n *cuiLet=\"ICON_OPTIONS[status] as iconOption\"\r\n [icon]=\"iconOption.icon\"\r\n [color]=\"iconOption.color\"\r\n></cui-svg>\r\n<div class=\"c-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n<button\r\n *ngIf=\"isCloseable\"\r\n class=\"c-button\"\r\n (click)=\"onClose()\"\r\n>\r\n <cui-svg\r\n icon=\"cuiIconX\"\r\n color=\"var(--cui-gray-0)\"\r\n />\r\n</button>\r\n", styles: [":host{--c-info-icon-color: var(--cui-blue-600);padding:16px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:flex-start;border-radius:12px;background:var(--cui-gray-800);color:var(--cui-gray-0);font-family:var(--cui-main-font)}:host-context([cuiTheme=dark]){--c-info-icon-color: var(--cui-light-blue-400)}:host-context([cuiTheme=dark])[data-status=info]{background:var(--cui-blue-900)}:host-context([cuiTheme=dark])[data-status=success]{background:var(--cui-green-900)}:host-context([cuiTheme=dark])[data-status=alert]{background:var(--cui-yellow-900)}:host-context([cuiTheme=dark])[data-status=error]{background:var(--cui-red-900)}.c-content{flex:1;margin-left:12px;margin-right:16px;margin-top:5px;overflow-wrap:anywhere}.c-icon{margin-top:6px}.c-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.c-button:hover{background:rgba(255,255,255,.2)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationComponent, decorators: [{
319
+ type: Component,
320
+ args: [{ selector: 'cui-notification', changeDetection: ChangeDetectionStrategy.OnPush, template: "\r\n<cui-svg\r\n class=\"c-icon\"\r\n *cuiLet=\"ICON_OPTIONS[status] as iconOption\"\r\n [icon]=\"iconOption.icon\"\r\n [color]=\"iconOption.color\"\r\n></cui-svg>\r\n<div class=\"c-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n<button\r\n *ngIf=\"isCloseable\"\r\n class=\"c-button\"\r\n (click)=\"onClose()\"\r\n>\r\n <cui-svg\r\n icon=\"cuiIconX\"\r\n color=\"var(--cui-gray-0)\"\r\n />\r\n</button>\r\n", styles: [":host{--c-info-icon-color: var(--cui-blue-600);padding:16px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:flex-start;border-radius:12px;background:var(--cui-gray-800);color:var(--cui-gray-0);font-family:var(--cui-main-font)}:host-context([cuiTheme=dark]){--c-info-icon-color: var(--cui-light-blue-400)}:host-context([cuiTheme=dark])[data-status=info]{background:var(--cui-blue-900)}:host-context([cuiTheme=dark])[data-status=success]{background:var(--cui-green-900)}:host-context([cuiTheme=dark])[data-status=alert]{background:var(--cui-yellow-900)}:host-context([cuiTheme=dark])[data-status=error]{background:var(--cui-red-900)}.c-content{flex:1;margin-left:12px;margin-right:16px;margin-top:5px;overflow-wrap:anywhere}.c-icon{margin-top:6px}.c-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.c-button:hover{background:rgba(255,255,255,.2)}\n"] }]
321
+ }], propDecorators: { status: [{
322
+ type: Input
323
+ }, {
324
+ type: HostBinding,
325
+ args: ['attr.data-status']
326
+ }], isCloseable: [{
327
+ type: Input
328
+ }], closed: [{
329
+ type: Output
330
330
  }] } });
331
331
 
332
- class CuiAlertComponent {
333
- constructor() {
334
- this.context = inject(CUI_ALERT_CONTEXT);
335
- this.AUTO_CLOSE_DURATION_IN_MILLISECONDS = 3000;
336
- }
337
- get resizing() {
338
- return this.context.resizing;
339
- }
340
- ngOnInit() {
341
- this.initAutoClose();
342
- }
343
- onClosed() {
344
- this.context.$implicit.complete();
345
- }
346
- initAutoClose() {
347
- if (!this.context.needAutoClose) {
348
- return;
349
- }
350
- setTimeout(this.onClosed.bind(this), this.AUTO_CLOSE_DURATION_IN_MILLISECONDS);
351
- }
352
- }
353
- CuiAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
354
- CuiAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiAlertComponent, selector: "cui-alert", host: { properties: { "attr.data-resizing": "this.resizing" } }, ngImport: i0, template: "<cui-notification\n [status]=\"context.status\"\n [isCloseable]=\"context.isCloseable\"\n (closed)=\"onClosed()\"\n>\n <h2\n *ngIf=\"context.label\"\n class=\"c-heading\"\n >\n {{ context.label }}\n </h2>\n {{ context.content }}\n</cui-notification>\n", styles: [":host{font-weight:400;font-size:14px;line-height:20px;max-width:470px}:host[data-resizing=hug]{width:-moz-fit-content;width:fit-content}:host[data-resizing=fixed]{width:470px}.c-heading{font-weight:500;font-size:14px;line-height:20px;margin:0 0 8px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiNotificationComponent, selector: "cui-notification", inputs: ["status", "isCloseable"], outputs: ["closed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
355
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertComponent, decorators: [{
356
- type: Component,
357
- args: [{ selector: 'cui-alert', changeDetection: ChangeDetectionStrategy.OnPush, template: "<cui-notification\n [status]=\"context.status\"\n [isCloseable]=\"context.isCloseable\"\n (closed)=\"onClosed()\"\n>\n <h2\n *ngIf=\"context.label\"\n class=\"c-heading\"\n >\n {{ context.label }}\n </h2>\n {{ context.content }}\n</cui-notification>\n", styles: [":host{font-weight:400;font-size:14px;line-height:20px;max-width:470px}:host[data-resizing=hug]{width:-moz-fit-content;width:fit-content}:host[data-resizing=fixed]{width:470px}.c-heading{font-weight:500;font-size:14px;line-height:20px;margin:0 0 8px}\n"] }]
358
- }], propDecorators: { resizing: [{
359
- type: HostBinding,
360
- args: ['attr.data-resizing']
332
+ class CuiAlertComponent {
333
+ constructor() {
334
+ this.context = inject(CUI_ALERT_CONTEXT);
335
+ this.AUTO_CLOSE_DURATION_IN_MILLISECONDS = 3000;
336
+ }
337
+ get resizing() {
338
+ return this.context.resizing;
339
+ }
340
+ ngOnInit() {
341
+ this.initAutoClose();
342
+ }
343
+ onClosed() {
344
+ this.context.$implicit.complete();
345
+ }
346
+ initAutoClose() {
347
+ if (!this.context.needAutoClose) {
348
+ return;
349
+ }
350
+ setTimeout(this.onClosed.bind(this), this.AUTO_CLOSE_DURATION_IN_MILLISECONDS);
351
+ }
352
+ }
353
+ CuiAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
354
+ CuiAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiAlertComponent, selector: "cui-alert", host: { properties: { "attr.data-resizing": "this.resizing" } }, ngImport: i0, template: "<cui-notification\r\n [status]=\"context.status\"\r\n [isCloseable]=\"context.isCloseable\"\r\n (closed)=\"onClosed()\"\r\n>\r\n <h2\r\n *ngIf=\"context.label\"\r\n class=\"c-heading\"\r\n >\r\n {{ context.label }}\r\n </h2>\r\n {{ context.content }}\r\n</cui-notification>\r\n", styles: [":host{font-weight:400;font-size:14px;line-height:20px;max-width:470px}:host[data-resizing=hug]{width:-moz-fit-content;width:fit-content}:host[data-resizing=fixed]{width:470px}.c-heading{font-weight:500;font-size:14px;line-height:20px;margin:0 0 8px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiNotificationComponent, selector: "cui-notification", inputs: ["status", "isCloseable"], outputs: ["closed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertComponent, decorators: [{
356
+ type: Component,
357
+ args: [{ selector: 'cui-alert', changeDetection: ChangeDetectionStrategy.OnPush, template: "<cui-notification\r\n [status]=\"context.status\"\r\n [isCloseable]=\"context.isCloseable\"\r\n (closed)=\"onClosed()\"\r\n>\r\n <h2\r\n *ngIf=\"context.label\"\r\n class=\"c-heading\"\r\n >\r\n {{ context.label }}\r\n </h2>\r\n {{ context.content }}\r\n</cui-notification>\r\n", styles: [":host{font-weight:400;font-size:14px;line-height:20px;max-width:470px}:host[data-resizing=hug]{width:-moz-fit-content;width:fit-content}:host[data-resizing=fixed]{width:470px}.c-heading{font-weight:500;font-size:14px;line-height:20px;margin:0 0 8px}\n"] }]
358
+ }], propDecorators: { resizing: [{
359
+ type: HostBinding,
360
+ args: ['attr.data-resizing']
361
361
  }] } });
362
362
 
363
- class CuiAlertsComponent {
364
- constructor() {
365
- this.destroy$ = inject(CuiDestroyService, { self: true });
366
- this.alerts$ = inject(CUI_ALERTS);
367
- }
368
- ngOnInit() {
369
- this.initAlertInjectorsSubscription();
370
- }
371
- trackByFn(_, alert) {
372
- return alert.id;
373
- }
374
- alertsMatcher(alert, position) {
375
- return alert.position === position;
376
- }
377
- initAlertInjectorsSubscription() {
378
- this.alerts$
379
- .pipe(takeUntil(this.destroy$))
380
- .subscribe(dialogs => this.alertInjectors = dialogs.map(useValue => Injector.create({
381
- providers: [{ provide: CUI_ALERT_CONTEXT, useValue }]
382
- })));
383
- }
384
- }
385
- CuiAlertsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
386
- CuiAlertsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiAlertsComponent, selector: "cui-alerts", providers: [CuiDestroyService], ngImport: i0, template: "<ng-container *cuiLet=\"alerts$ | async as alerts\">\n <div class=\"c-wrapper c-wrapper_position_center\">\n <ng-container *ngFor=\"let alert of alerts! | cuiFilter: alertsMatcher: 'center'; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\" />\n </ng-container>\n </div>\n <div class=\"c-wrapper c-wrapper_position_right\">\n <ng-container *ngFor=\"let alert of alerts! | cuiFilter: alertsMatcher: 'right'; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\" />\n </ng-container>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;position:fixed;right:20px;bottom:20px}.c-wrapper{position:fixed;bottom:20px;display:flex;flex-direction:column;gap:16px;pointer-events:none}.c-wrapper_position_center{align-items:center;left:50%;transform:translate(-50%)}.c-wrapper_position_right{align-items:flex-end;right:20px}.c-wrapper ::ng-deep>*{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.CuiFilterPipe, name: "cuiFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
387
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertsComponent, decorators: [{
388
- type: Component,
389
- args: [{ selector: 'cui-alerts', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], template: "<ng-container *cuiLet=\"alerts$ | async as alerts\">\n <div class=\"c-wrapper c-wrapper_position_center\">\n <ng-container *ngFor=\"let alert of alerts! | cuiFilter: alertsMatcher: 'center'; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\" />\n </ng-container>\n </div>\n <div class=\"c-wrapper c-wrapper_position_right\">\n <ng-container *ngFor=\"let alert of alerts! | cuiFilter: alertsMatcher: 'right'; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\" />\n </ng-container>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;position:fixed;right:20px;bottom:20px}.c-wrapper{position:fixed;bottom:20px;display:flex;flex-direction:column;gap:16px;pointer-events:none}.c-wrapper_position_center{align-items:center;left:50%;transform:translate(-50%)}.c-wrapper_position_right{align-items:flex-end;right:20px}.c-wrapper ::ng-deep>*{pointer-events:auto}\n"] }]
363
+ class CuiAlertsComponent {
364
+ constructor() {
365
+ this.destroy$ = inject(CuiDestroyService, { self: true });
366
+ this.alerts$ = inject(CUI_ALERTS);
367
+ }
368
+ ngOnInit() {
369
+ this.initAlertInjectorsSubscription();
370
+ }
371
+ trackByFn(_, alert) {
372
+ return alert.id;
373
+ }
374
+ alertsMatcher(alert, position) {
375
+ return alert.position === position;
376
+ }
377
+ initAlertInjectorsSubscription() {
378
+ this.alerts$
379
+ .pipe(takeUntil(this.destroy$))
380
+ .subscribe(dialogs => this.alertInjectors = dialogs.map(useValue => Injector.create({
381
+ providers: [{ provide: CUI_ALERT_CONTEXT, useValue }]
382
+ })));
383
+ }
384
+ }
385
+ CuiAlertsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
386
+ CuiAlertsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiAlertsComponent, selector: "cui-alerts", providers: [CuiDestroyService], ngImport: i0, template: "<ng-container *cuiLet=\"alerts$ | async as alerts\">\r\n <div class=\"c-wrapper c-wrapper_position_center\">\r\n <ng-container *ngFor=\"let alert of alerts! | cuiFilter: alertsMatcher: 'center'; let i = index; trackBy: trackByFn\">\r\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\" />\r\n </ng-container>\r\n </div>\r\n <div class=\"c-wrapper c-wrapper_position_right\">\r\n <ng-container *ngFor=\"let alert of alerts! | cuiFilter: alertsMatcher: 'right'; let i = index; trackBy: trackByFn\">\r\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\" />\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;position:fixed;right:20px;bottom:20px}.c-wrapper{position:fixed;bottom:20px;display:flex;flex-direction:column;gap:16px;pointer-events:none}.c-wrapper_position_center{align-items:center;left:50%;transform:translate(-50%)}.c-wrapper_position_right{align-items:flex-end;right:20px}.c-wrapper ::ng-deep>*{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.CuiFilterPipe, name: "cuiFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
387
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertsComponent, decorators: [{
388
+ type: Component,
389
+ args: [{ selector: 'cui-alerts', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], template: "<ng-container *cuiLet=\"alerts$ | async as alerts\">\r\n <div class=\"c-wrapper c-wrapper_position_center\">\r\n <ng-container *ngFor=\"let alert of alerts! | cuiFilter: alertsMatcher: 'center'; let i = index; trackBy: trackByFn\">\r\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\" />\r\n </ng-container>\r\n </div>\r\n <div class=\"c-wrapper c-wrapper_position_right\">\r\n <ng-container *ngFor=\"let alert of alerts! | cuiFilter: alertsMatcher: 'right'; let i = index; trackBy: trackByFn\">\r\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\" />\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;position:fixed;right:20px;bottom:20px}.c-wrapper{position:fixed;bottom:20px;display:flex;flex-direction:column;gap:16px;pointer-events:none}.c-wrapper_position_center{align-items:center;left:50%;transform:translate(-50%)}.c-wrapper_position_right{align-items:flex-end;right:20px}.c-wrapper ::ng-deep>*{pointer-events:auto}\n"] }]
390
390
  }] });
391
391
 
392
- class CuiNotificationModule {
393
- }
394
- CuiNotificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
395
- CuiNotificationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationModule, declarations: [CuiNotificationComponent], imports: [CommonModule,
396
- CuiLetDirective,
397
- CuiSvgModule], exports: [CuiNotificationComponent] });
398
- CuiNotificationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationModule, imports: [CommonModule,
399
- CuiSvgModule] });
400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationModule, decorators: [{
401
- type: NgModule,
402
- args: [{
403
- imports: [
404
- CommonModule,
405
- CuiLetDirective,
406
- CuiSvgModule
407
- ],
408
- declarations: [CuiNotificationComponent],
409
- exports: [CuiNotificationComponent]
410
- }]
392
+ class CuiNotificationModule {
393
+ }
394
+ CuiNotificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
395
+ CuiNotificationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationModule, declarations: [CuiNotificationComponent], imports: [CommonModule,
396
+ CuiLetDirective,
397
+ CuiSvgModule], exports: [CuiNotificationComponent] });
398
+ CuiNotificationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationModule, imports: [CommonModule,
399
+ CuiSvgModule] });
400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiNotificationModule, decorators: [{
401
+ type: NgModule,
402
+ args: [{
403
+ imports: [
404
+ CommonModule,
405
+ CuiLetDirective,
406
+ CuiSvgModule
407
+ ],
408
+ declarations: [CuiNotificationComponent],
409
+ exports: [CuiNotificationComponent]
410
+ }]
411
411
  }] });
412
412
 
413
- class CuiAlertModule {
414
- }
415
- CuiAlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
416
- CuiAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertModule, declarations: [CuiAlertComponent,
417
- CuiAlertsComponent], imports: [CommonModule,
418
- CuiFilterPipe,
419
- CuiNotificationModule,
420
- CuiLetDirective], exports: [CuiAlertComponent,
421
- CuiAlertComponent,
422
- CuiAlertsComponent] });
423
- CuiAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertModule, imports: [CommonModule,
424
- CuiNotificationModule] });
425
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertModule, decorators: [{
426
- type: NgModule,
427
- args: [{
428
- imports: [
429
- CommonModule,
430
- CuiFilterPipe,
431
- CuiNotificationModule,
432
- CuiLetDirective
433
- ],
434
- declarations: [
435
- CuiAlertComponent,
436
- CuiAlertsComponent
437
- ],
438
- exports: [
439
- CuiAlertComponent,
440
- CuiAlertComponent,
441
- CuiAlertsComponent
442
- ]
443
- }]
413
+ class CuiAlertModule {
414
+ }
415
+ CuiAlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
416
+ CuiAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertModule, declarations: [CuiAlertComponent,
417
+ CuiAlertsComponent], imports: [CommonModule,
418
+ CuiFilterPipe,
419
+ CuiNotificationModule,
420
+ CuiLetDirective], exports: [CuiAlertComponent,
421
+ CuiAlertComponent,
422
+ CuiAlertsComponent] });
423
+ CuiAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertModule, imports: [CommonModule,
424
+ CuiNotificationModule] });
425
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertModule, decorators: [{
426
+ type: NgModule,
427
+ args: [{
428
+ imports: [
429
+ CommonModule,
430
+ CuiFilterPipe,
431
+ CuiNotificationModule,
432
+ CuiLetDirective
433
+ ],
434
+ declarations: [
435
+ CuiAlertComponent,
436
+ CuiAlertsComponent
437
+ ],
438
+ exports: [
439
+ CuiAlertComponent,
440
+ CuiAlertComponent,
441
+ CuiAlertsComponent
442
+ ]
443
+ }]
444
444
  }] });
445
445
 
446
- class CuiAlertService extends CuiPopoverService {
447
- }
448
- CuiAlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
449
- CuiAlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertService, providedIn: 'root', useFactory: () => new CuiAlertService(CUI_ALERTS, CuiAlertComponent, inject(CUI_ALERT_OPTIONS)) });
450
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertService, decorators: [{
451
- type: Injectable,
452
- args: [{
453
- providedIn: 'root',
454
- useFactory: () => new CuiAlertService(CUI_ALERTS, CuiAlertComponent, inject(CUI_ALERT_OPTIONS))
455
- }]
446
+ class CuiAlertService extends CuiPopoverService {
447
+ }
448
+ CuiAlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
449
+ CuiAlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertService, providedIn: 'root', useFactory: () => new CuiAlertService(CUI_ALERTS, CuiAlertComponent, inject(CUI_ALERT_OPTIONS)) });
450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAlertService, decorators: [{
451
+ type: Injectable,
452
+ args: [{
453
+ providedIn: 'root',
454
+ useFactory: () => new CuiAlertService(CUI_ALERTS, CuiAlertComponent, inject(CUI_ALERT_OPTIONS))
455
+ }]
456
456
  }] });
457
457
 
458
- const CUI_BADGE_DEFAULT_OPTIONS = {
459
- color: 'light-blue',
460
- size: 'sm',
461
- isWithDot: false
462
- };
458
+ const CUI_BADGE_DEFAULT_OPTIONS = {
459
+ color: 'light-blue',
460
+ size: 'sm',
461
+ isWithDot: false
462
+ };
463
463
  const CUI_BADGE_OPTIONS = cuiCreateToken(CUI_BADGE_DEFAULT_OPTIONS);
464
464
 
465
- class CuiBadgeComponent {
466
- constructor() {
467
- this.options = inject(CUI_BADGE_OPTIONS);
468
- this.color = this.options.color;
469
- this.size = this.options.size;
470
- this.isWithDot = this.options.isWithDot;
471
- }
472
- }
473
- CuiBadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
474
- CuiBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiBadgeComponent, selector: "cui-badge", inputs: { color: "color", size: "size", isWithDot: "isWithDot" }, host: { properties: { "attr.data-color": "this.color", "attr.data-size": "this.size" } }, ngImport: i0, template: "<span\n *ngIf=\"isWithDot\"\n class=\"c-dots\"\n></span>\n<ng-content />", styles: [":host{padding-top:2px;padding-bottom:2px;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;border-radius:25px;color:var(--cui-gray-900);font-family:var(--cui-main-font)}:host[data-color=light-blue]{color:var(--cui-badge-info-label);background:var(--cui-badge-info-bg)}:host[data-color=light-blue] .c-dots{background:var(--cui-info)}:host[data-color=yellow]{color:var(--cui-badge-warning-label);background:var(--cui-badge-warning-bg)}:host[data-color=yellow] .c-dots{background:var(--cui-warning)}:host[data-color=green]{color:var(--cui-badge-success-label);background:var(--cui-badge-success-bg)}:host[data-color=green] .c-dots{background:var(--cui-success)}:host[data-color=gray]{color:var(--cui-badge-gray-label);background:var(--cui-badge-gray-bg)}:host[data-color=gray] .c-dots{background:var(--cui-base-500)}:host[data-color=dark-gray]{color:var(--cui-base-900);background:var(--cui-base-200)}:host[data-color=dark-gray] .c-dots{background:var(--cui-base-500)}:host[data-color=red]{color:var(--cui-badge-danger-label);background:var(--cui-badge-danger-bg)}:host[data-color=red] .c-dots{background:var(--cui-danger)}:host[data-color=violet]{color:var(--cui-badge-violet-label);background:var(--cui-badge-violet-bg);outline:1px solid var(--cui-violet-400);outline-offset:-1px}:host[data-color=violet] .c-dots{background:var(--cui-violet-400)}:host[data-size=sm]{font-size:12px;line-height:14px;padding-right:6px;padding-left:6px}:host[data-size=md]{font-size:14px;line-height:20px;padding-right:8px;padding-left:8px}.c-dots{width:6px;height:6px;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeComponent, decorators: [{
476
- type: Component,
477
- args: [{ selector: 'cui-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n *ngIf=\"isWithDot\"\n class=\"c-dots\"\n></span>\n<ng-content />", styles: [":host{padding-top:2px;padding-bottom:2px;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;border-radius:25px;color:var(--cui-gray-900);font-family:var(--cui-main-font)}:host[data-color=light-blue]{color:var(--cui-badge-info-label);background:var(--cui-badge-info-bg)}:host[data-color=light-blue] .c-dots{background:var(--cui-info)}:host[data-color=yellow]{color:var(--cui-badge-warning-label);background:var(--cui-badge-warning-bg)}:host[data-color=yellow] .c-dots{background:var(--cui-warning)}:host[data-color=green]{color:var(--cui-badge-success-label);background:var(--cui-badge-success-bg)}:host[data-color=green] .c-dots{background:var(--cui-success)}:host[data-color=gray]{color:var(--cui-badge-gray-label);background:var(--cui-badge-gray-bg)}:host[data-color=gray] .c-dots{background:var(--cui-base-500)}:host[data-color=dark-gray]{color:var(--cui-base-900);background:var(--cui-base-200)}:host[data-color=dark-gray] .c-dots{background:var(--cui-base-500)}:host[data-color=red]{color:var(--cui-badge-danger-label);background:var(--cui-badge-danger-bg)}:host[data-color=red] .c-dots{background:var(--cui-danger)}:host[data-color=violet]{color:var(--cui-badge-violet-label);background:var(--cui-badge-violet-bg);outline:1px solid var(--cui-violet-400);outline-offset:-1px}:host[data-color=violet] .c-dots{background:var(--cui-violet-400)}:host[data-size=sm]{font-size:12px;line-height:14px;padding-right:6px;padding-left:6px}:host[data-size=md]{font-size:14px;line-height:20px;padding-right:8px;padding-left:8px}.c-dots{width:6px;height:6px;border-radius:50%}\n"] }]
478
- }], propDecorators: { color: [{
479
- type: Input
480
- }, {
481
- type: HostBinding,
482
- args: ['attr.data-color']
483
- }], size: [{
484
- type: Input
485
- }, {
486
- type: HostBinding,
487
- args: ['attr.data-size']
488
- }], isWithDot: [{
489
- type: Input
465
+ class CuiBadgeComponent {
466
+ constructor() {
467
+ this.options = inject(CUI_BADGE_OPTIONS);
468
+ this.color = this.options.color;
469
+ this.size = this.options.size;
470
+ this.isWithDot = this.options.isWithDot;
471
+ }
472
+ }
473
+ CuiBadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
474
+ CuiBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiBadgeComponent, selector: "cui-badge", inputs: { color: "color", size: "size", isWithDot: "isWithDot" }, host: { properties: { "attr.data-color": "this.color", "attr.data-size": "this.size" } }, ngImport: i0, template: "<span\r\n *ngIf=\"isWithDot\"\r\n class=\"c-dots\"\r\n></span>\r\n<ng-content />", styles: [":host{padding-top:2px;padding-bottom:2px;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;border-radius:25px;color:var(--cui-gray-900);font-family:var(--cui-main-font)}:host[data-color=light-blue]{color:var(--cui-badge-info-label);background:var(--cui-badge-info-bg)}:host[data-color=light-blue] .c-dots{background:var(--cui-info)}:host[data-color=yellow]{color:var(--cui-badge-warning-label);background:var(--cui-badge-warning-bg)}:host[data-color=yellow] .c-dots{background:var(--cui-warning)}:host[data-color=green]{color:var(--cui-badge-success-label);background:var(--cui-badge-success-bg)}:host[data-color=green] .c-dots{background:var(--cui-success)}:host[data-color=gray]{color:var(--cui-badge-gray-label);background:var(--cui-badge-gray-bg)}:host[data-color=gray] .c-dots{background:var(--cui-base-500)}:host[data-color=dark-gray]{color:var(--cui-base-900);background:var(--cui-base-200)}:host[data-color=dark-gray] .c-dots{background:var(--cui-base-500)}:host[data-color=red]{color:var(--cui-badge-danger-label);background:var(--cui-badge-danger-bg)}:host[data-color=red] .c-dots{background:var(--cui-danger)}:host[data-color=violet]{color:var(--cui-badge-violet-label);background:var(--cui-badge-violet-bg);outline:1px solid var(--cui-violet-400);outline-offset:-1px}:host[data-color=violet] .c-dots{background:var(--cui-violet-400)}:host[data-size=sm]{font-size:12px;line-height:14px;padding-right:6px;padding-left:6px}:host[data-size=md]{font-size:14px;line-height:20px;padding-right:8px;padding-left:8px}.c-dots{width:6px;height:6px;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeComponent, decorators: [{
476
+ type: Component,
477
+ args: [{ selector: 'cui-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n *ngIf=\"isWithDot\"\r\n class=\"c-dots\"\r\n></span>\r\n<ng-content />", styles: [":host{padding-top:2px;padding-bottom:2px;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;border-radius:25px;color:var(--cui-gray-900);font-family:var(--cui-main-font)}:host[data-color=light-blue]{color:var(--cui-badge-info-label);background:var(--cui-badge-info-bg)}:host[data-color=light-blue] .c-dots{background:var(--cui-info)}:host[data-color=yellow]{color:var(--cui-badge-warning-label);background:var(--cui-badge-warning-bg)}:host[data-color=yellow] .c-dots{background:var(--cui-warning)}:host[data-color=green]{color:var(--cui-badge-success-label);background:var(--cui-badge-success-bg)}:host[data-color=green] .c-dots{background:var(--cui-success)}:host[data-color=gray]{color:var(--cui-badge-gray-label);background:var(--cui-badge-gray-bg)}:host[data-color=gray] .c-dots{background:var(--cui-base-500)}:host[data-color=dark-gray]{color:var(--cui-base-900);background:var(--cui-base-200)}:host[data-color=dark-gray] .c-dots{background:var(--cui-base-500)}:host[data-color=red]{color:var(--cui-badge-danger-label);background:var(--cui-badge-danger-bg)}:host[data-color=red] .c-dots{background:var(--cui-danger)}:host[data-color=violet]{color:var(--cui-badge-violet-label);background:var(--cui-badge-violet-bg);outline:1px solid var(--cui-violet-400);outline-offset:-1px}:host[data-color=violet] .c-dots{background:var(--cui-violet-400)}:host[data-size=sm]{font-size:12px;line-height:14px;padding-right:6px;padding-left:6px}:host[data-size=md]{font-size:14px;line-height:20px;padding-right:8px;padding-left:8px}.c-dots{width:6px;height:6px;border-radius:50%}\n"] }]
478
+ }], propDecorators: { color: [{
479
+ type: Input
480
+ }, {
481
+ type: HostBinding,
482
+ args: ['attr.data-color']
483
+ }], size: [{
484
+ type: Input
485
+ }, {
486
+ type: HostBinding,
487
+ args: ['attr.data-size']
488
+ }], isWithDot: [{
489
+ type: Input
490
490
  }] } });
491
491
 
492
- class CuiBadgeModule {
493
- }
494
- CuiBadgeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
495
- CuiBadgeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeModule, declarations: [CuiBadgeComponent], imports: [CommonModule], exports: [CuiBadgeComponent] });
496
- CuiBadgeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeModule, imports: [CommonModule] });
497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeModule, decorators: [{
498
- type: NgModule,
499
- args: [{
500
- imports: [CommonModule],
501
- declarations: [CuiBadgeComponent],
502
- exports: [CuiBadgeComponent]
503
- }]
492
+ class CuiBadgeModule {
493
+ }
494
+ CuiBadgeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
495
+ CuiBadgeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeModule, declarations: [CuiBadgeComponent], imports: [CommonModule], exports: [CuiBadgeComponent] });
496
+ CuiBadgeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeModule, imports: [CommonModule] });
497
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBadgeModule, decorators: [{
498
+ type: NgModule,
499
+ args: [{
500
+ imports: [CommonModule],
501
+ declarations: [CuiBadgeComponent],
502
+ exports: [CuiBadgeComponent]
503
+ }]
504
504
  }] });
505
505
 
506
- const CUI_BANNER_DEFAULT_OPTIONS = {
507
- status: 'info'
508
- };
506
+ const CUI_BANNER_DEFAULT_OPTIONS = {
507
+ status: 'info'
508
+ };
509
509
  const CUI_BANNER_OPTIONS = cuiCreateToken(CUI_BANNER_DEFAULT_OPTIONS);
510
510
 
511
- const CUI_THEME_STORAGE_DEFAULT_KEY = 'cuiTheme';
512
- const CUI_DEFAULT_THEME = 'light';
513
- const CUI_THEME_STORAGE_KEY = cuiCreateToken(CUI_THEME_STORAGE_DEFAULT_KEY);
511
+ const CUI_THEME_STORAGE_DEFAULT_KEY = 'cuiTheme';
512
+ const CUI_DEFAULT_THEME = 'light';
513
+ const CUI_THEME_STORAGE_KEY = cuiCreateToken(CUI_THEME_STORAGE_DEFAULT_KEY);
514
514
  const CUI_THEME = cuiCreateToken(CUI_DEFAULT_THEME);
515
515
 
516
- class CuiThemeService extends BehaviorSubject {
517
- constructor() {
518
- super(inject(CUI_LOCAL_STORAGE).getItem(inject(CUI_THEME_STORAGE_KEY))
519
- ?? inject(CUI_THEME));
520
- this.localStorage = inject(CUI_LOCAL_STORAGE);
521
- this.key = inject(CUI_THEME_STORAGE_KEY);
522
- }
523
- next(theme) {
524
- this.localStorage.setItem(this.key, theme);
525
- super.next(theme);
526
- }
527
- // При работе только двух тем
528
- switch() {
529
- this.next(this.value === 'light' ? 'dark' : 'light');
530
- }
531
- }
532
- CuiThemeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
533
- CuiThemeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiThemeService, providedIn: 'root' });
534
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiThemeService, decorators: [{
535
- type: Injectable,
536
- args: [{
537
- providedIn: 'root'
538
- }]
516
+ class CuiThemeService extends BehaviorSubject {
517
+ constructor() {
518
+ super(inject(CUI_LOCAL_STORAGE).getItem(inject(CUI_THEME_STORAGE_KEY))
519
+ ?? inject(CUI_THEME));
520
+ this.localStorage = inject(CUI_LOCAL_STORAGE);
521
+ this.key = inject(CUI_THEME_STORAGE_KEY);
522
+ }
523
+ next(theme) {
524
+ this.localStorage.setItem(this.key, theme);
525
+ super.next(theme);
526
+ }
527
+ // При работе только двух тем
528
+ switch() {
529
+ this.next(this.value === 'light' ? 'dark' : 'light');
530
+ }
531
+ }
532
+ CuiThemeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
533
+ CuiThemeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiThemeService, providedIn: 'root' });
534
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiThemeService, decorators: [{
535
+ type: Injectable,
536
+ args: [{
537
+ providedIn: 'root'
538
+ }]
539
539
  }], ctorParameters: function () { return []; } });
540
540
 
541
- class CuiBannerComponent {
542
- constructor() {
543
- this.options = inject(CUI_BANNER_OPTIONS);
544
- this.theme$ = inject(CuiThemeService);
545
- this.ICON_OPTIONS = {
546
- info: {
547
- icon: 'cuiIconInfo',
548
- color: 'var(--c-info-icon-color)'
549
- },
550
- success: {
551
- icon: 'cuiIconCheckCircle',
552
- color: 'var(--cui-success)'
553
- },
554
- alert: {
555
- icon: 'cuiIconAlertTriangle',
556
- color: 'var(--c-alert-icon-color)'
557
- },
558
- error: {
559
- icon: 'cuiIconAlertCircle',
560
- color: 'var(--cui-danger)'
561
- },
562
- };
563
- this.THEME_CLOSE_BUTTON_ICON_COLORS = {
564
- light: 'var(--cui-gray-500)',
565
- dark: 'var(--cui-gray-0)'
566
- };
567
- this.status = this.options.status;
568
- this.isCloseable = true;
569
- this.actionButtonClicked = new EventEmitter();
570
- this.closed = new EventEmitter();
571
- }
572
- onAction() {
573
- this.actionButtonClicked.emit();
574
- }
575
- onClose() {
576
- this.closed.emit();
577
- }
578
- }
579
- CuiBannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
580
- CuiBannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiBannerComponent, selector: "cui-banner", inputs: { status: "status", isCloseable: "isCloseable", label: "label", actionButtonText: "actionButtonText" }, outputs: { actionButtonClicked: "actionButtonClicked", closed: "closed" }, host: { properties: { "attr.data-status": "this.status" } }, ngImport: i0, template: "<cui-svg\n *cuiLet=\"ICON_OPTIONS[status] as iconOption\"\n [icon]=\"iconOption.icon\"\n [color]=\"iconOption.color\"\n class=\"c-icon\"\n></cui-svg>\n<div class=\"c-wrapper\">\n <h2\n *ngIf=\"label\"\n class=\"c-heading\"\n >\n {{ label }}\n </h2>\n <ng-content></ng-content>\n <button\n cuiButton\n *ngIf=\"actionButtonText\"\n appearance=\"link\"\n class=\"c-action\"\n (click)=\"onAction()\"\n >\n {{ actionButtonText }}\n </button>\n</div>\n<button\n *ngIf=\"isCloseable\"\n class=\"c-button\"\n (click)=\"onClose()\"\n>\n <cui-svg\n *cuiLet=\"theme$ | async as theme\"\n icon=\"cuiIconX\"\n [color]=\"THEME_CLOSE_BUTTON_ICON_COLORS[theme!]\"\n />\n</button>\n", styles: [":host{--c-info-icon-color: var(--cui-light-blue-800);--c-alert-icon-color: var(--cui-orange-800);padding:8px 16px;font-weight:400;font-size:14px;line-height:20px;display:flex;gap:16px;align-items:center;color:var(--cui-base-900);font-family:var(--cui-main-font)}:host[data-status=info]{color:var(--cui-light-blue-800);background:var(--cui-blue-50)}:host[data-status=success]{background:var(--cui-green-50)}:host[data-status=alert]{color:var(--cui-orange-800);background:var(--cui-yellow-100)}:host[data-status=error]{background:var(--cui-red-50)}:host-context([cuiTheme=dark]){--c-info-icon-color: var(--cui-light-blue-400);--c-alert-icon-color: var(--cui-yellow-300);color:var(--cui-gray-0)}:host-context([cuiTheme=dark])[data-status=info]{color:var(--cui-light-blue-400);background:var(--cui-blue-900)}:host-context([cuiTheme=dark])[data-status=info] .c-action:hover{color:var(--cui-blue-500)}:host-context([cuiTheme=dark])[data-status=success]{background:var(--cui-green-900)}:host-context([cuiTheme=dark])[data-status=success] .c-action{color:var(--cui-green-500)}:host-context([cuiTheme=dark])[data-status=alert]{background:var(--cui-yellow-900)}:host-context([cuiTheme=dark])[data-status=alert] .c-action{color:var(--cui-yellow-300)}:host-context([cuiTheme=dark])[data-status=error]{background:var(--cui-red-900)}:host-context([cuiTheme=dark])[data-status=error] .c-action{color:var(--cui-red-400)}.c-icon{height:28px}.c-wrapper{flex:1;display:flex;align-items:center;gap:16px;overflow-wrap:anywhere}.c-heading{font-weight:500;font-size:14px;line-height:20px;margin:0}.c-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.c-button:hover{background:rgba(255,255,255,.2)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
581
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerComponent, decorators: [{
582
- type: Component,
583
- args: [{ selector: 'cui-banner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<cui-svg\n *cuiLet=\"ICON_OPTIONS[status] as iconOption\"\n [icon]=\"iconOption.icon\"\n [color]=\"iconOption.color\"\n class=\"c-icon\"\n></cui-svg>\n<div class=\"c-wrapper\">\n <h2\n *ngIf=\"label\"\n class=\"c-heading\"\n >\n {{ label }}\n </h2>\n <ng-content></ng-content>\n <button\n cuiButton\n *ngIf=\"actionButtonText\"\n appearance=\"link\"\n class=\"c-action\"\n (click)=\"onAction()\"\n >\n {{ actionButtonText }}\n </button>\n</div>\n<button\n *ngIf=\"isCloseable\"\n class=\"c-button\"\n (click)=\"onClose()\"\n>\n <cui-svg\n *cuiLet=\"theme$ | async as theme\"\n icon=\"cuiIconX\"\n [color]=\"THEME_CLOSE_BUTTON_ICON_COLORS[theme!]\"\n />\n</button>\n", styles: [":host{--c-info-icon-color: var(--cui-light-blue-800);--c-alert-icon-color: var(--cui-orange-800);padding:8px 16px;font-weight:400;font-size:14px;line-height:20px;display:flex;gap:16px;align-items:center;color:var(--cui-base-900);font-family:var(--cui-main-font)}:host[data-status=info]{color:var(--cui-light-blue-800);background:var(--cui-blue-50)}:host[data-status=success]{background:var(--cui-green-50)}:host[data-status=alert]{color:var(--cui-orange-800);background:var(--cui-yellow-100)}:host[data-status=error]{background:var(--cui-red-50)}:host-context([cuiTheme=dark]){--c-info-icon-color: var(--cui-light-blue-400);--c-alert-icon-color: var(--cui-yellow-300);color:var(--cui-gray-0)}:host-context([cuiTheme=dark])[data-status=info]{color:var(--cui-light-blue-400);background:var(--cui-blue-900)}:host-context([cuiTheme=dark])[data-status=info] .c-action:hover{color:var(--cui-blue-500)}:host-context([cuiTheme=dark])[data-status=success]{background:var(--cui-green-900)}:host-context([cuiTheme=dark])[data-status=success] .c-action{color:var(--cui-green-500)}:host-context([cuiTheme=dark])[data-status=alert]{background:var(--cui-yellow-900)}:host-context([cuiTheme=dark])[data-status=alert] .c-action{color:var(--cui-yellow-300)}:host-context([cuiTheme=dark])[data-status=error]{background:var(--cui-red-900)}:host-context([cuiTheme=dark])[data-status=error] .c-action{color:var(--cui-red-400)}.c-icon{height:28px}.c-wrapper{flex:1;display:flex;align-items:center;gap:16px;overflow-wrap:anywhere}.c-heading{font-weight:500;font-size:14px;line-height:20px;margin:0}.c-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.c-button:hover{background:rgba(255,255,255,.2)}\n"] }]
584
- }], propDecorators: { status: [{
585
- type: Input
586
- }, {
587
- type: HostBinding,
588
- args: ['attr.data-status']
589
- }], isCloseable: [{
590
- type: Input
591
- }], label: [{
592
- type: Input
593
- }], actionButtonText: [{
594
- type: Input
595
- }], actionButtonClicked: [{
596
- type: Output
597
- }], closed: [{
598
- type: Output
541
+ class CuiBannerComponent {
542
+ constructor() {
543
+ this.options = inject(CUI_BANNER_OPTIONS);
544
+ this.theme$ = inject(CuiThemeService);
545
+ this.ICON_OPTIONS = {
546
+ info: {
547
+ icon: 'cuiIconInfo',
548
+ color: 'var(--c-info-icon-color)'
549
+ },
550
+ success: {
551
+ icon: 'cuiIconCheckCircle',
552
+ color: 'var(--cui-success)'
553
+ },
554
+ alert: {
555
+ icon: 'cuiIconAlertTriangle',
556
+ color: 'var(--c-alert-icon-color)'
557
+ },
558
+ error: {
559
+ icon: 'cuiIconAlertCircle',
560
+ color: 'var(--cui-danger)'
561
+ },
562
+ };
563
+ this.THEME_CLOSE_BUTTON_ICON_COLORS = {
564
+ light: 'var(--cui-gray-500)',
565
+ dark: 'var(--cui-gray-0)'
566
+ };
567
+ this.status = this.options.status;
568
+ this.isCloseable = true;
569
+ this.actionButtonClicked = new EventEmitter();
570
+ this.closed = new EventEmitter();
571
+ }
572
+ onAction() {
573
+ this.actionButtonClicked.emit();
574
+ }
575
+ onClose() {
576
+ this.closed.emit();
577
+ }
578
+ }
579
+ CuiBannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
580
+ CuiBannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiBannerComponent, selector: "cui-banner", inputs: { status: "status", isCloseable: "isCloseable", label: "label", actionButtonText: "actionButtonText" }, outputs: { actionButtonClicked: "actionButtonClicked", closed: "closed" }, host: { properties: { "attr.data-status": "this.status" } }, ngImport: i0, template: "<cui-svg\r\n *cuiLet=\"ICON_OPTIONS[status] as iconOption\"\r\n [icon]=\"iconOption.icon\"\r\n [color]=\"iconOption.color\"\r\n class=\"c-icon\"\r\n></cui-svg>\r\n<div class=\"c-wrapper\">\r\n <h2\r\n *ngIf=\"label\"\r\n class=\"c-heading\"\r\n >\r\n {{ label }}\r\n </h2>\r\n <ng-content></ng-content>\r\n <button\r\n cuiButton\r\n *ngIf=\"actionButtonText\"\r\n appearance=\"link\"\r\n class=\"c-action\"\r\n (click)=\"onAction()\"\r\n >\r\n {{ actionButtonText }}\r\n </button>\r\n</div>\r\n<button\r\n *ngIf=\"isCloseable\"\r\n class=\"c-button\"\r\n (click)=\"onClose()\"\r\n>\r\n <cui-svg\r\n *cuiLet=\"theme$ | async as theme\"\r\n icon=\"cuiIconX\"\r\n [color]=\"THEME_CLOSE_BUTTON_ICON_COLORS[theme!]\"\r\n />\r\n</button>\r\n", styles: [":host{--c-info-icon-color: var(--cui-light-blue-800);--c-alert-icon-color: var(--cui-orange-800);padding:8px 16px;font-weight:400;font-size:14px;line-height:20px;display:flex;gap:16px;align-items:center;color:var(--cui-base-900);font-family:var(--cui-main-font)}:host[data-status=info]{color:var(--cui-light-blue-800);background:var(--cui-blue-50)}:host[data-status=success]{background:var(--cui-green-50)}:host[data-status=alert]{color:var(--cui-orange-800);background:var(--cui-yellow-100)}:host[data-status=error]{background:var(--cui-red-50)}:host-context([cuiTheme=dark]){--c-info-icon-color: var(--cui-light-blue-400);--c-alert-icon-color: var(--cui-yellow-300);color:var(--cui-gray-0)}:host-context([cuiTheme=dark])[data-status=info]{color:var(--cui-light-blue-400);background:var(--cui-blue-900)}:host-context([cuiTheme=dark])[data-status=info] .c-action:hover{color:var(--cui-blue-500)}:host-context([cuiTheme=dark])[data-status=success]{background:var(--cui-green-900)}:host-context([cuiTheme=dark])[data-status=success] .c-action{color:var(--cui-green-500)}:host-context([cuiTheme=dark])[data-status=alert]{background:var(--cui-yellow-900)}:host-context([cuiTheme=dark])[data-status=alert] .c-action{color:var(--cui-yellow-300)}:host-context([cuiTheme=dark])[data-status=error]{background:var(--cui-red-900)}:host-context([cuiTheme=dark])[data-status=error] .c-action{color:var(--cui-red-400)}.c-icon{height:28px}.c-wrapper{flex:1;display:flex;align-items:center;gap:16px;overflow-wrap:anywhere}.c-heading{font-weight:500;font-size:14px;line-height:20px;margin:0}.c-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.c-button:hover{background:rgba(255,255,255,.2)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
581
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerComponent, decorators: [{
582
+ type: Component,
583
+ args: [{ selector: 'cui-banner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<cui-svg\r\n *cuiLet=\"ICON_OPTIONS[status] as iconOption\"\r\n [icon]=\"iconOption.icon\"\r\n [color]=\"iconOption.color\"\r\n class=\"c-icon\"\r\n></cui-svg>\r\n<div class=\"c-wrapper\">\r\n <h2\r\n *ngIf=\"label\"\r\n class=\"c-heading\"\r\n >\r\n {{ label }}\r\n </h2>\r\n <ng-content></ng-content>\r\n <button\r\n cuiButton\r\n *ngIf=\"actionButtonText\"\r\n appearance=\"link\"\r\n class=\"c-action\"\r\n (click)=\"onAction()\"\r\n >\r\n {{ actionButtonText }}\r\n </button>\r\n</div>\r\n<button\r\n *ngIf=\"isCloseable\"\r\n class=\"c-button\"\r\n (click)=\"onClose()\"\r\n>\r\n <cui-svg\r\n *cuiLet=\"theme$ | async as theme\"\r\n icon=\"cuiIconX\"\r\n [color]=\"THEME_CLOSE_BUTTON_ICON_COLORS[theme!]\"\r\n />\r\n</button>\r\n", styles: [":host{--c-info-icon-color: var(--cui-light-blue-800);--c-alert-icon-color: var(--cui-orange-800);padding:8px 16px;font-weight:400;font-size:14px;line-height:20px;display:flex;gap:16px;align-items:center;color:var(--cui-base-900);font-family:var(--cui-main-font)}:host[data-status=info]{color:var(--cui-light-blue-800);background:var(--cui-blue-50)}:host[data-status=success]{background:var(--cui-green-50)}:host[data-status=alert]{color:var(--cui-orange-800);background:var(--cui-yellow-100)}:host[data-status=error]{background:var(--cui-red-50)}:host-context([cuiTheme=dark]){--c-info-icon-color: var(--cui-light-blue-400);--c-alert-icon-color: var(--cui-yellow-300);color:var(--cui-gray-0)}:host-context([cuiTheme=dark])[data-status=info]{color:var(--cui-light-blue-400);background:var(--cui-blue-900)}:host-context([cuiTheme=dark])[data-status=info] .c-action:hover{color:var(--cui-blue-500)}:host-context([cuiTheme=dark])[data-status=success]{background:var(--cui-green-900)}:host-context([cuiTheme=dark])[data-status=success] .c-action{color:var(--cui-green-500)}:host-context([cuiTheme=dark])[data-status=alert]{background:var(--cui-yellow-900)}:host-context([cuiTheme=dark])[data-status=alert] .c-action{color:var(--cui-yellow-300)}:host-context([cuiTheme=dark])[data-status=error]{background:var(--cui-red-900)}:host-context([cuiTheme=dark])[data-status=error] .c-action{color:var(--cui-red-400)}.c-icon{height:28px}.c-wrapper{flex:1;display:flex;align-items:center;gap:16px;overflow-wrap:anywhere}.c-heading{font-weight:500;font-size:14px;line-height:20px;margin:0}.c-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.c-button:hover{background:rgba(255,255,255,.2)}\n"] }]
584
+ }], propDecorators: { status: [{
585
+ type: Input
586
+ }, {
587
+ type: HostBinding,
588
+ args: ['attr.data-status']
589
+ }], isCloseable: [{
590
+ type: Input
591
+ }], label: [{
592
+ type: Input
593
+ }], actionButtonText: [{
594
+ type: Input
595
+ }], actionButtonClicked: [{
596
+ type: Output
597
+ }], closed: [{
598
+ type: Output
599
599
  }] } });
600
600
 
601
- class CuiBannerModule {
602
- }
603
- CuiBannerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
604
- CuiBannerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerModule, declarations: [CuiBannerComponent], imports: [CommonModule,
605
- CuiLetDirective,
606
- CuiSvgModule,
607
- CuiButtonModule], exports: [CuiBannerComponent] });
608
- CuiBannerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerModule, imports: [CommonModule,
609
- CuiSvgModule,
610
- CuiButtonModule] });
611
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerModule, decorators: [{
612
- type: NgModule,
613
- args: [{
614
- imports: [
615
- CommonModule,
616
- CuiLetDirective,
617
- CuiSvgModule,
618
- CuiButtonModule
619
- ],
620
- declarations: [CuiBannerComponent],
621
- exports: [CuiBannerComponent]
622
- }]
601
+ class CuiBannerModule {
602
+ }
603
+ CuiBannerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
604
+ CuiBannerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerModule, declarations: [CuiBannerComponent], imports: [CommonModule,
605
+ CuiLetDirective,
606
+ CuiSvgModule,
607
+ CuiButtonModule], exports: [CuiBannerComponent] });
608
+ CuiBannerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerModule, imports: [CommonModule,
609
+ CuiSvgModule,
610
+ CuiButtonModule] });
611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBannerModule, decorators: [{
612
+ type: NgModule,
613
+ args: [{
614
+ imports: [
615
+ CommonModule,
616
+ CuiLetDirective,
617
+ CuiSvgModule,
618
+ CuiButtonModule
619
+ ],
620
+ declarations: [CuiBannerComponent],
621
+ exports: [CuiBannerComponent]
622
+ }]
623
623
  }] });
624
624
 
625
- class CuiBreadcrumbsComponent {
626
- }
627
- CuiBreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
628
- CuiBreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiBreadcrumbsComponent, selector: "cui-breadcrumbs", queries: [{ propertyName: "breadcrumbs", predicate: CuiItemDirective, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"breadcrumbs.changes | async\"/>\n<ng-container *ngFor=\"let breadcrumb of breadcrumbs; let isLast = last\">\n <ng-container *ngTemplateOutlet=\"breadcrumb\" />\n <cui-svg\n *ngIf=\"!isLast\"\n icon=\"cuiIconSlashDivider\"\n color=\"var(--cui-base-500)\"\n />\n</ng-container>\n", styles: [":host{display:flex;flex-wrap:wrap;gap:2px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
629
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsComponent, decorators: [{
630
- type: Component,
631
- args: [{ selector: 'cui-breadcrumbs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"breadcrumbs.changes | async\"/>\n<ng-container *ngFor=\"let breadcrumb of breadcrumbs; let isLast = last\">\n <ng-container *ngTemplateOutlet=\"breadcrumb\" />\n <cui-svg\n *ngIf=\"!isLast\"\n icon=\"cuiIconSlashDivider\"\n color=\"var(--cui-base-500)\"\n />\n</ng-container>\n", styles: [":host{display:flex;flex-wrap:wrap;gap:2px}\n"] }]
632
- }], propDecorators: { breadcrumbs: [{
633
- type: ContentChildren,
634
- args: [CuiItemDirective, { read: TemplateRef }]
625
+ class CuiBreadcrumbsComponent {
626
+ }
627
+ CuiBreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
628
+ CuiBreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiBreadcrumbsComponent, selector: "cui-breadcrumbs", queries: [{ propertyName: "breadcrumbs", predicate: CuiItemDirective, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"breadcrumbs.changes | async\"/>\r\n<ng-container *ngFor=\"let breadcrumb of breadcrumbs; let isLast = last\">\r\n <ng-container *ngTemplateOutlet=\"breadcrumb\" />\r\n <cui-svg\r\n *ngIf=\"!isLast\"\r\n icon=\"cuiIconSlashDivider\"\r\n color=\"var(--cui-base-500)\"\r\n />\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-wrap:wrap;gap:2px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
629
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsComponent, decorators: [{
630
+ type: Component,
631
+ args: [{ selector: 'cui-breadcrumbs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"breadcrumbs.changes | async\"/>\r\n<ng-container *ngFor=\"let breadcrumb of breadcrumbs; let isLast = last\">\r\n <ng-container *ngTemplateOutlet=\"breadcrumb\" />\r\n <cui-svg\r\n *ngIf=\"!isLast\"\r\n icon=\"cuiIconSlashDivider\"\r\n color=\"var(--cui-base-500)\"\r\n />\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-wrap:wrap;gap:2px}\n"] }]
632
+ }], propDecorators: { breadcrumbs: [{
633
+ type: ContentChildren,
634
+ args: [CuiItemDirective, { read: TemplateRef }]
635
635
  }] } });
636
636
 
637
- class CuiBreadcrumbComponent {
638
- constructor() {
639
- this.isLast = false;
640
- }
641
- }
642
- CuiBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
643
- CuiBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiBreadcrumbComponent, selector: "[cuiBreadcrumb]", inputs: { isLast: "isLast" }, ngImport: i0, template: "<ng-content />\n", styles: [":host{font-weight:400;font-size:12px;line-height:14px;cursor:pointer;color:var(--cui-base-500);font-family:var(--cui-main-font)}:host:hover{color:var(--cui-base-900);text-decoration:underline}:host:last-of-type{cursor:default;color:var(--cui-base-900);text-decoration:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbComponent, decorators: [{
645
- type: Component,
646
- args: [{ selector: '[cuiBreadcrumb]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content />\n", styles: [":host{font-weight:400;font-size:12px;line-height:14px;cursor:pointer;color:var(--cui-base-500);font-family:var(--cui-main-font)}:host:hover{color:var(--cui-base-900);text-decoration:underline}:host:last-of-type{cursor:default;color:var(--cui-base-900);text-decoration:none}\n"] }]
647
- }], propDecorators: { isLast: [{
648
- type: Input
637
+ class CuiBreadcrumbComponent {
638
+ constructor() {
639
+ this.isLast = false;
640
+ }
641
+ }
642
+ CuiBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
643
+ CuiBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiBreadcrumbComponent, selector: "[cuiBreadcrumb]", inputs: { isLast: "isLast" }, ngImport: i0, template: "<ng-content />\r\n", styles: [":host{font-weight:400;font-size:12px;line-height:14px;cursor:pointer;color:var(--cui-base-500);font-family:var(--cui-main-font)}:host:hover{color:var(--cui-base-900);text-decoration:underline}:host:last-of-type{cursor:default;color:var(--cui-base-900);text-decoration:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
644
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbComponent, decorators: [{
645
+ type: Component,
646
+ args: [{ selector: '[cuiBreadcrumb]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content />\r\n", styles: [":host{font-weight:400;font-size:12px;line-height:14px;cursor:pointer;color:var(--cui-base-500);font-family:var(--cui-main-font)}:host:hover{color:var(--cui-base-900);text-decoration:underline}:host:last-of-type{cursor:default;color:var(--cui-base-900);text-decoration:none}\n"] }]
647
+ }], propDecorators: { isLast: [{
648
+ type: Input
649
649
  }] } });
650
650
 
651
- class CuiBreadcrumbsModule {
652
- }
653
- CuiBreadcrumbsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
654
- CuiBreadcrumbsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsModule, declarations: [CuiBreadcrumbsComponent,
655
- CuiBreadcrumbComponent], imports: [CommonModule,
656
- CuiSvgModule], exports: [CuiBreadcrumbsComponent,
657
- CuiBreadcrumbComponent] });
658
- CuiBreadcrumbsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsModule, imports: [CommonModule,
659
- CuiSvgModule] });
660
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsModule, decorators: [{
661
- type: NgModule,
662
- args: [{
663
- imports: [
664
- CommonModule,
665
- CuiSvgModule
666
- ],
667
- declarations: [
668
- CuiBreadcrumbsComponent,
669
- CuiBreadcrumbComponent
670
- ],
671
- exports: [
672
- CuiBreadcrumbsComponent,
673
- CuiBreadcrumbComponent
674
- ]
675
- }]
651
+ class CuiBreadcrumbsModule {
652
+ }
653
+ CuiBreadcrumbsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
654
+ CuiBreadcrumbsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsModule, declarations: [CuiBreadcrumbsComponent,
655
+ CuiBreadcrumbComponent], imports: [CommonModule,
656
+ CuiSvgModule], exports: [CuiBreadcrumbsComponent,
657
+ CuiBreadcrumbComponent] });
658
+ CuiBreadcrumbsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsModule, imports: [CommonModule,
659
+ CuiSvgModule] });
660
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiBreadcrumbsModule, decorators: [{
661
+ type: NgModule,
662
+ args: [{
663
+ imports: [
664
+ CommonModule,
665
+ CuiSvgModule
666
+ ],
667
+ declarations: [
668
+ CuiBreadcrumbsComponent,
669
+ CuiBreadcrumbComponent
670
+ ],
671
+ exports: [
672
+ CuiBreadcrumbsComponent,
673
+ CuiBreadcrumbComponent
674
+ ]
675
+ }]
676
676
  }] });
677
677
 
678
- class CuiButtonGroupComponent {
679
- }
680
- CuiButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
681
- CuiButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiButtonGroupComponent, selector: "cui-button-group", ngImport: i0, template: "<ng-content select=\"button[cuiButton], a[cuiButton]\"></ng-content>\n", styles: [":host{display:inline-flex}:host ::ng-deep [cuiButton]:after{z-index:1;content:\"\";position:absolute;top:50%;right:-.5px;height:80%;width:1px;border-radius:.5px;transform:translateY(-50%);background:currentColor;opacity:.5}:host ::ng-deep [cuiButton]:first-child{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep [cuiButton]:last-child{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep [cuiButton]:last-child:after{content:none}:host ::ng-deep [cuiButton]:not(:first-child):not(:last-child){border-left:none;border-right:none;border-radius:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupComponent, decorators: [{
683
- type: Component,
684
- args: [{ selector: 'cui-button-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"button[cuiButton], a[cuiButton]\"></ng-content>\n", styles: [":host{display:inline-flex}:host ::ng-deep [cuiButton]:after{z-index:1;content:\"\";position:absolute;top:50%;right:-.5px;height:80%;width:1px;border-radius:.5px;transform:translateY(-50%);background:currentColor;opacity:.5}:host ::ng-deep [cuiButton]:first-child{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep [cuiButton]:last-child{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep [cuiButton]:last-child:after{content:none}:host ::ng-deep [cuiButton]:not(:first-child):not(:last-child){border-left:none;border-right:none;border-radius:0}\n"] }]
678
+ class CuiButtonGroupComponent {
679
+ }
680
+ CuiButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
681
+ CuiButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiButtonGroupComponent, selector: "cui-button-group", ngImport: i0, template: "<ng-content select=\"button[cuiButton], a[cuiButton]\"></ng-content>\r\n", styles: [":host{display:inline-flex}:host ::ng-deep [cuiButton]:after{z-index:1;content:\"\";position:absolute;top:50%;right:-.5px;height:80%;width:1px;border-radius:.5px;transform:translateY(-50%);background:currentColor;opacity:.5}:host ::ng-deep [cuiButton]:first-child{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep [cuiButton]:last-child{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep [cuiButton]:last-child:after{content:none}:host ::ng-deep [cuiButton]:not(:first-child):not(:last-child){border-left:none;border-right:none;border-radius:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupComponent, decorators: [{
683
+ type: Component,
684
+ args: [{ selector: 'cui-button-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"button[cuiButton], a[cuiButton]\"></ng-content>\r\n", styles: [":host{display:inline-flex}:host ::ng-deep [cuiButton]:after{z-index:1;content:\"\";position:absolute;top:50%;right:-.5px;height:80%;width:1px;border-radius:.5px;transform:translateY(-50%);background:currentColor;opacity:.5}:host ::ng-deep [cuiButton]:first-child{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep [cuiButton]:last-child{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep [cuiButton]:last-child:after{content:none}:host ::ng-deep [cuiButton]:not(:first-child):not(:last-child){border-left:none;border-right:none;border-radius:0}\n"] }]
685
685
  }] });
686
686
 
687
- class CuiButtonGroupModule {
688
- }
689
- CuiButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
690
- CuiButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupModule, declarations: [CuiButtonGroupComponent], exports: [CuiButtonGroupComponent] });
691
- CuiButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupModule });
692
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupModule, decorators: [{
693
- type: NgModule,
694
- args: [{
695
- declarations: [CuiButtonGroupComponent],
696
- exports: [CuiButtonGroupComponent]
697
- }]
687
+ class CuiButtonGroupModule {
688
+ }
689
+ CuiButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
690
+ CuiButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupModule, declarations: [CuiButtonGroupComponent], exports: [CuiButtonGroupComponent] });
691
+ CuiButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupModule });
692
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonGroupModule, decorators: [{
693
+ type: NgModule,
694
+ args: [{
695
+ declarations: [CuiButtonGroupComponent],
696
+ exports: [CuiButtonGroupComponent]
697
+ }]
698
698
  }] });
699
699
 
700
- class CuiCheckboxComponent {
701
- }
702
- CuiCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
703
- CuiCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiCheckboxComponent, selector: "input[type=\"checkbox\"][cuiCheckbox]", ngImport: i0, template: '', isInline: true, styles: [":host{position:relative;width:16px;height:16px;border:1px solid var(--cui-base-200);border-radius:4px;outline:none;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-0)}:host:before{content:\"\";position:absolute;transform:translate(-50%,-50%);top:50%;left:50%;width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"><path d=\"M10 3L4.5 8.5L2 6\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>')}:host:checked{border:none;background:var(--cui-info)}:host:checked:before{background:#fff}:host:focus{box-shadow:0 0 0 2px var(--cui-focus)}@media (hover: hover){:host:hover{border-color:var(--cui-base-400)}}:host:active{border-color:var(--cui-base-400);box-shadow:none}:host:disabled{cursor:not-allowed;border:1px solid var(--cui-base-200);background:var(--cui-base-100)}:host:disabled:checked:before{border:1px solid var(--cui-info);background:var(--cui-gray-500)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
704
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxComponent, decorators: [{
705
- type: Component,
706
- args: [{ selector: 'input[type="checkbox"][cuiCheckbox]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:relative;width:16px;height:16px;border:1px solid var(--cui-base-200);border-radius:4px;outline:none;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-0)}:host:before{content:\"\";position:absolute;transform:translate(-50%,-50%);top:50%;left:50%;width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"><path d=\"M10 3L4.5 8.5L2 6\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>')}:host:checked{border:none;background:var(--cui-info)}:host:checked:before{background:#fff}:host:focus{box-shadow:0 0 0 2px var(--cui-focus)}@media (hover: hover){:host:hover{border-color:var(--cui-base-400)}}:host:active{border-color:var(--cui-base-400);box-shadow:none}:host:disabled{cursor:not-allowed;border:1px solid var(--cui-base-200);background:var(--cui-base-100)}:host:disabled:checked:before{border:1px solid var(--cui-info);background:var(--cui-gray-500)}\n"] }]
700
+ class CuiCheckboxComponent {
701
+ }
702
+ CuiCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
703
+ CuiCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiCheckboxComponent, selector: "input[type=\"checkbox\"][cuiCheckbox]", ngImport: i0, template: '', isInline: true, styles: [":host{position:relative;width:16px;height:16px;border:1px solid var(--cui-base-200);border-radius:4px;outline:none;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-0)}:host:before{content:\"\";position:absolute;transform:translate(-50%,-50%);top:50%;left:50%;width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"><path d=\"M10 3L4.5 8.5L2 6\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>')}:host:checked{border:none;background:var(--cui-info)}:host:checked:before{background:#fff}:host:focus{box-shadow:0 0 0 2px var(--cui-focus)}@media (hover: hover){:host:hover{border-color:var(--cui-base-400)}}:host:active{border-color:var(--cui-base-400);box-shadow:none}:host:disabled{cursor:not-allowed;border:1px solid var(--cui-base-200);background:var(--cui-base-100)}:host:disabled:checked:before{border:1px solid var(--cui-info);background:var(--cui-gray-500)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
704
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxComponent, decorators: [{
705
+ type: Component,
706
+ args: [{ selector: 'input[type="checkbox"][cuiCheckbox]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:relative;width:16px;height:16px;border:1px solid var(--cui-base-200);border-radius:4px;outline:none;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-0)}:host:before{content:\"\";position:absolute;transform:translate(-50%,-50%);top:50%;left:50%;width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"><path d=\"M10 3L4.5 8.5L2 6\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>')}:host:checked{border:none;background:var(--cui-info)}:host:checked:before{background:#fff}:host:focus{box-shadow:0 0 0 2px var(--cui-focus)}@media (hover: hover){:host:hover{border-color:var(--cui-base-400)}}:host:active{border-color:var(--cui-base-400);box-shadow:none}:host:disabled{cursor:not-allowed;border:1px solid var(--cui-base-200);background:var(--cui-base-100)}:host:disabled:checked:before{border:1px solid var(--cui-info);background:var(--cui-gray-500)}\n"] }]
707
707
  }] });
708
708
 
709
- class CuiCheckboxModule {
710
- }
711
- CuiCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
712
- CuiCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxModule, declarations: [CuiCheckboxComponent], exports: [CuiCheckboxComponent] });
713
- CuiCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxModule });
714
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxModule, decorators: [{
715
- type: NgModule,
716
- args: [{
717
- declarations: [CuiCheckboxComponent],
718
- exports: [CuiCheckboxComponent]
719
- }]
709
+ class CuiCheckboxModule {
710
+ }
711
+ CuiCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
712
+ CuiCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxModule, declarations: [CuiCheckboxComponent], exports: [CuiCheckboxComponent] });
713
+ CuiCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxModule });
714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiCheckboxModule, decorators: [{
715
+ type: NgModule,
716
+ args: [{
717
+ declarations: [CuiCheckboxComponent],
718
+ exports: [CuiCheckboxComponent]
719
+ }]
720
720
  }] });
721
721
 
722
722
  const CUI_ROOT_SELECTOR = 'cui-root';
723
723
 
724
- const CUI_DIALOGS = cuiCreateToken(new BehaviorSubject([]));
725
- const CUI_DIALOG_DEFAULT_OPTIONS = {
726
- size: 'auto',
727
- data: undefined
728
- };
729
- const CUI_DIALOG_OPTIONS = cuiCreateToken(CUI_DIALOG_DEFAULT_OPTIONS);
724
+ const CUI_DIALOGS = cuiCreateToken(new BehaviorSubject([]));
725
+ const CUI_DIALOG_DEFAULT_OPTIONS = {
726
+ size: 'auto',
727
+ data: undefined
728
+ };
729
+ const CUI_DIALOG_OPTIONS = cuiCreateToken(CUI_DIALOG_DEFAULT_OPTIONS);
730
730
  const CUI_DIALOG_CONTEXT = new InjectionToken('');
731
731
 
732
- class CuiDialogsComponent {
733
- constructor() {
734
- this.document = inject(DOCUMENT);
735
- this.destroy$ = inject(CuiDestroyService, { self: true });
736
- this.dialogs$ = inject(CUI_DIALOGS);
737
- this.dialogInjectorCache = new Map();
738
- }
739
- ngOnInit() {
740
- this.initDialogsSubscription();
741
- }
742
- trackByFn(_, dialog) {
743
- return dialog.id;
744
- }
745
- initDialogsSubscription() {
746
- this.dialogs$
747
- .pipe(takeUntil(this.destroy$))
748
- .subscribe(dialogs => {
749
- this.document.body.style.overflow = dialogs.length ? 'hidden' : '';
750
- this.dialogInjectors = dialogs.map(dialog => {
751
- if (!this.dialogInjectorCache.has(dialog.id)) {
752
- this.dialogInjectorCache.set(dialog.id, Injector.create({
753
- providers: [{ provide: CUI_DIALOG_CONTEXT, useValue: dialog }],
754
- parent: dialog.injector
755
- }));
756
- }
757
- return this.dialogInjectorCache.get(dialog.id);
758
- });
759
- this.dialogInjectorCache.forEach((_, dialogId) => {
760
- if (dialogs.find(dialog => dialog.id === dialogId)) {
761
- return;
762
- }
763
- this.dialogInjectorCache.delete(dialogId);
764
- });
765
- });
766
- }
767
- }
768
- CuiDialogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
769
- CuiDialogsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiDialogsComponent, selector: "cui-dialogs", providers: [CuiDestroyService], ngImport: i0, template: "<ng-container *cuiLet=\"dialogs$ | async as dialogs\">\n <ng-container *ngFor=\"let dialog of dialogs; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"dialog.component; injector: dialogInjectors[i]\"></ng-container>\n </ng-container>\n <div\n *ngIf=\"dialogs!.length\"\n class=\"c-overlay\"\n ></div>\n</ng-container>\n", styles: [":host{isolation:isolate}.c-overlay{position:fixed;inset:0;background:var(--cui-base);opacity:.3}\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
770
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogsComponent, decorators: [{
771
- type: Component,
772
- args: [{ selector: 'cui-dialogs', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], template: "<ng-container *cuiLet=\"dialogs$ | async as dialogs\">\n <ng-container *ngFor=\"let dialog of dialogs; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"dialog.component; injector: dialogInjectors[i]\"></ng-container>\n </ng-container>\n <div\n *ngIf=\"dialogs!.length\"\n class=\"c-overlay\"\n ></div>\n</ng-container>\n", styles: [":host{isolation:isolate}.c-overlay{position:fixed;inset:0;background:var(--cui-base);opacity:.3}\n"] }]
732
+ class CuiDialogsComponent {
733
+ constructor() {
734
+ this.document = inject(DOCUMENT);
735
+ this.destroy$ = inject(CuiDestroyService, { self: true });
736
+ this.dialogs$ = inject(CUI_DIALOGS);
737
+ this.dialogInjectorCache = new Map();
738
+ }
739
+ ngOnInit() {
740
+ this.initDialogsSubscription();
741
+ }
742
+ trackByFn(_, dialog) {
743
+ return dialog.id;
744
+ }
745
+ initDialogsSubscription() {
746
+ this.dialogs$
747
+ .pipe(takeUntil(this.destroy$))
748
+ .subscribe(dialogs => {
749
+ this.document.body.style.overflow = dialogs.length ? 'hidden' : '';
750
+ this.dialogInjectors = dialogs.map(dialog => {
751
+ if (!this.dialogInjectorCache.has(dialog.id)) {
752
+ this.dialogInjectorCache.set(dialog.id, Injector.create({
753
+ providers: [{ provide: CUI_DIALOG_CONTEXT, useValue: dialog }],
754
+ parent: dialog.injector
755
+ }));
756
+ }
757
+ return this.dialogInjectorCache.get(dialog.id);
758
+ });
759
+ this.dialogInjectorCache.forEach((_, dialogId) => {
760
+ if (dialogs.find(dialog => dialog.id === dialogId)) {
761
+ return;
762
+ }
763
+ this.dialogInjectorCache.delete(dialogId);
764
+ });
765
+ });
766
+ }
767
+ }
768
+ CuiDialogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
769
+ CuiDialogsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiDialogsComponent, selector: "cui-dialogs", providers: [CuiDestroyService], ngImport: i0, template: "<ng-container *cuiLet=\"dialogs$ | async as dialogs\">\r\n <ng-container *ngFor=\"let dialog of dialogs; let i = index; trackBy: trackByFn\">\r\n <ng-container *ngComponentOutlet=\"dialog.component; injector: dialogInjectors[i]\"></ng-container>\r\n </ng-container>\r\n <div\r\n *ngIf=\"dialogs!.length\"\r\n class=\"c-overlay\"\r\n ></div>\r\n</ng-container>\r\n", styles: [":host{isolation:isolate}.c-overlay{position:fixed;inset:0;background:var(--cui-base);opacity:.3}\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogsComponent, decorators: [{
771
+ type: Component,
772
+ args: [{ selector: 'cui-dialogs', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], template: "<ng-container *cuiLet=\"dialogs$ | async as dialogs\">\r\n <ng-container *ngFor=\"let dialog of dialogs; let i = index; trackBy: trackByFn\">\r\n <ng-container *ngComponentOutlet=\"dialog.component; injector: dialogInjectors[i]\"></ng-container>\r\n </ng-container>\r\n <div\r\n *ngIf=\"dialogs!.length\"\r\n class=\"c-overlay\"\r\n ></div>\r\n</ng-container>\r\n", styles: [":host{isolation:isolate}.c-overlay{position:fixed;inset:0;background:var(--cui-base);opacity:.3}\n"] }]
773
773
  }] });
774
774
 
775
- class CuiRootComponent {
776
- constructor() {
777
- this.document = inject(DOCUMENT);
778
- this.theme$ = inject(CuiThemeService);
779
- this.destroy$ = inject(CuiDestroyService);
780
- }
781
- ngOnInit() {
782
- this.initThemeSubscription();
783
- }
784
- initThemeSubscription() {
785
- this.theme$
786
- .pipe(takeUntil(this.destroy$))
787
- .subscribe(theme => this.document.documentElement.setAttribute('cuiTheme', theme));
788
- }
789
- }
790
- CuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRootComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
791
- CuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiRootComponent, selector: "cui-root", providers: [CuiDestroyService], ngImport: i0, template: "<div class=\"c-content\">\n <ng-content />\n</div>\n<cui-dialogs />\n<cui-alerts />\n", styles: [".c-content{isolation:isolate}\n"], dependencies: [{ kind: "component", type: CuiDialogsComponent, selector: "cui-dialogs" }, { kind: "component", type: CuiAlertsComponent, selector: "cui-alerts" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
792
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRootComponent, decorators: [{
793
- type: Component,
794
- args: [{ selector: CUI_ROOT_SELECTOR, changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], template: "<div class=\"c-content\">\n <ng-content />\n</div>\n<cui-dialogs />\n<cui-alerts />\n", styles: [".c-content{isolation:isolate}\n"] }]
775
+ class CuiRootComponent {
776
+ constructor() {
777
+ this.document = inject(DOCUMENT);
778
+ this.theme$ = inject(CuiThemeService);
779
+ this.destroy$ = inject(CuiDestroyService);
780
+ }
781
+ ngOnInit() {
782
+ this.initThemeSubscription();
783
+ }
784
+ initThemeSubscription() {
785
+ this.theme$
786
+ .pipe(takeUntil(this.destroy$))
787
+ .subscribe(theme => this.document.documentElement.setAttribute('cuiTheme', theme));
788
+ }
789
+ }
790
+ CuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRootComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
791
+ CuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiRootComponent, selector: "cui-root", providers: [CuiDestroyService], ngImport: i0, template: "<div class=\"c-content\">\r\n <ng-content />\r\n</div>\r\n<cui-dialogs />\r\n<cui-alerts />\r\n", styles: [".c-content{overflow:auto;min-height:100vh;isolation:isolate}\n"], dependencies: [{ kind: "component", type: CuiDialogsComponent, selector: "cui-dialogs" }, { kind: "component", type: CuiAlertsComponent, selector: "cui-alerts" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRootComponent, decorators: [{
793
+ type: Component,
794
+ args: [{ selector: CUI_ROOT_SELECTOR, changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], template: "<div class=\"c-content\">\r\n <ng-content />\r\n</div>\r\n<cui-dialogs />\r\n<cui-alerts />\r\n", styles: [".c-content{overflow:auto;min-height:100vh;isolation:isolate}\n"] }]
795
795
  }] });
796
796
 
797
- // TODO: сделать структурную директиву
798
- const ContentType = {
799
- String: 'string',
800
- Template: 'template',
801
- Component: 'component'
802
- };
803
- class CuiDialogComponent {
804
- constructor() {
805
- this.element = inject(ElementRef).nativeElement;
806
- this.context = inject(CUI_DIALOG_CONTEXT);
807
- this.LAST_OF_TYPE_SELECTOR = ':last-of-type';
808
- this.ContentType = ContentType;
809
- this.contentType = ContentType.Component;
810
- }
811
- get size() {
812
- return this.context.size;
813
- }
814
- ngOnInit() {
815
- this.initContentType();
816
- }
817
- get contentTemplateRef() {
818
- return this.context.content;
819
- }
820
- get componentType() {
821
- return this.context.content;
822
- }
823
- onEscape() {
824
- if (!this.element.matches(this.LAST_OF_TYPE_SELECTOR)) {
825
- return;
826
- }
827
- this.context.completeWith();
828
- }
829
- initContentType() {
830
- const content = this.context.content;
831
- switch (true) {
832
- case (typeof content === 'string'):
833
- this.contentType = ContentType.String;
834
- return;
835
- case (content instanceof TemplateRef):
836
- this.contentType = ContentType.Template;
837
- return;
838
- }
839
- }
840
- }
841
- CuiDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
842
- CuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiDialogComponent, selector: "cui-dialog", host: { listeners: { "document:keydown.escape": "onEscape($event)" }, properties: { "attr.data-size": "this.size" } }, hostDirectives: [{ directive: i2.CuiFocusTrapDirective }], ngImport: i0, template: "<ng-container [ngSwitch]=\"contentType\">\n <ng-container *ngSwitchCase=\"ContentType.String\">\n {{ context.content }}\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.Template\">\n <ng-container *ngTemplateOutlet=\"contentTemplateRef; context: context\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.Component\">\n <div class=\"c-component-container\">\n <ng-container *ngComponentOutlet=\"componentType\"></ng-container>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{box-shadow:0 2px 4px -1px #0000000f,0 4px 6px -1px #0000001a;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;box-sizing:border-box;max-height:calc(100vh - 40px);width:100%;border-radius:12px;outline:none;background:var(--cui-base-0);font-family:var(--cui-main-font);border:1px solid var(--cui-base-200)}:host:last-of-type{z-index:1}:host[data-size=auto]{width:auto}:host[data-size=xl]{max-width:1080px}.c-component-container{display:contents}.c-component-container ::ng-deep>*{display:contents}\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
843
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogComponent, decorators: [{
844
- type: Component,
845
- args: [{ selector: 'cui-dialog', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [CuiFocusTrapDirective], template: "<ng-container [ngSwitch]=\"contentType\">\n <ng-container *ngSwitchCase=\"ContentType.String\">\n {{ context.content }}\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.Template\">\n <ng-container *ngTemplateOutlet=\"contentTemplateRef; context: context\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.Component\">\n <div class=\"c-component-container\">\n <ng-container *ngComponentOutlet=\"componentType\"></ng-container>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{box-shadow:0 2px 4px -1px #0000000f,0 4px 6px -1px #0000001a;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;box-sizing:border-box;max-height:calc(100vh - 40px);width:100%;border-radius:12px;outline:none;background:var(--cui-base-0);font-family:var(--cui-main-font);border:1px solid var(--cui-base-200)}:host:last-of-type{z-index:1}:host[data-size=auto]{width:auto}:host[data-size=xl]{max-width:1080px}.c-component-container{display:contents}.c-component-container ::ng-deep>*{display:contents}\n"] }]
846
- }], propDecorators: { size: [{
847
- type: HostBinding,
848
- args: ['attr.data-size']
849
- }], onEscape: [{
850
- type: HostListener,
851
- args: ['document:keydown.escape', ['$event']]
797
+ // TODO: сделать структурную директиву
798
+ const ContentType = {
799
+ String: 'string',
800
+ Template: 'template',
801
+ Component: 'component'
802
+ };
803
+ class CuiDialogComponent {
804
+ constructor() {
805
+ this.element = inject(ElementRef).nativeElement;
806
+ this.context = inject(CUI_DIALOG_CONTEXT);
807
+ this.LAST_OF_TYPE_SELECTOR = ':last-of-type';
808
+ this.ContentType = ContentType;
809
+ this.contentType = ContentType.Component;
810
+ }
811
+ get size() {
812
+ return this.context.size;
813
+ }
814
+ ngOnInit() {
815
+ this.initContentType();
816
+ }
817
+ get contentTemplateRef() {
818
+ return this.context.content;
819
+ }
820
+ get componentType() {
821
+ return this.context.content;
822
+ }
823
+ onEscape() {
824
+ if (!this.element.matches(this.LAST_OF_TYPE_SELECTOR)) {
825
+ return;
826
+ }
827
+ this.context.completeWith();
828
+ }
829
+ initContentType() {
830
+ const content = this.context.content;
831
+ switch (true) {
832
+ case (typeof content === 'string'):
833
+ this.contentType = ContentType.String;
834
+ return;
835
+ case (content instanceof TemplateRef):
836
+ this.contentType = ContentType.Template;
837
+ return;
838
+ }
839
+ }
840
+ }
841
+ CuiDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
842
+ CuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiDialogComponent, selector: "cui-dialog", host: { listeners: { "document:keydown.escape": "onEscape($event)" }, properties: { "attr.data-size": "this.size" } }, hostDirectives: [{ directive: i1$1.CuiFocusTrapDirective }], ngImport: i0, template: "<ng-container [ngSwitch]=\"contentType\">\r\n <ng-container *ngSwitchCase=\"ContentType.String\">\r\n {{ context.content }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"ContentType.Template\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplateRef; context: context\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"ContentType.Component\">\r\n <div class=\"c-component-container\">\r\n <ng-container *ngComponentOutlet=\"componentType\"></ng-container>\r\n </div>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{box-shadow:0 2px 4px -1px #0000000f,0 4px 6px -1px #0000001a;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;box-sizing:border-box;max-height:calc(100vh - 40px);width:100%;border-radius:12px;outline:none;background:var(--cui-base-0);font-family:var(--cui-main-font);border:1px solid var(--cui-base-200)}:host:last-of-type{z-index:1}:host[data-size=auto]{width:auto}:host[data-size=xl]{max-width:1080px}.c-component-container{display:contents}.c-component-container ::ng-deep>*{display:contents}\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogComponent, decorators: [{
844
+ type: Component,
845
+ args: [{ selector: 'cui-dialog', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [CuiFocusTrapDirective], template: "<ng-container [ngSwitch]=\"contentType\">\r\n <ng-container *ngSwitchCase=\"ContentType.String\">\r\n {{ context.content }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"ContentType.Template\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplateRef; context: context\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"ContentType.Component\">\r\n <div class=\"c-component-container\">\r\n <ng-container *ngComponentOutlet=\"componentType\"></ng-container>\r\n </div>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{box-shadow:0 2px 4px -1px #0000000f,0 4px 6px -1px #0000001a;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;box-sizing:border-box;max-height:calc(100vh - 40px);width:100%;border-radius:12px;outline:none;background:var(--cui-base-0);font-family:var(--cui-main-font);border:1px solid var(--cui-base-200)}:host:last-of-type{z-index:1}:host[data-size=auto]{width:auto}:host[data-size=xl]{max-width:1080px}.c-component-container{display:contents}.c-component-container ::ng-deep>*{display:contents}\n"] }]
846
+ }], propDecorators: { size: [{
847
+ type: HostBinding,
848
+ args: ['attr.data-size']
849
+ }], onEscape: [{
850
+ type: HostListener,
851
+ args: ['document:keydown.escape', ['$event']]
852
852
  }] } });
853
853
 
854
- class CuiDialogActionsComponent {
855
- }
856
- CuiDialogActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
857
- CuiDialogActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiDialogActionsComponent, selector: "cui-dialog-actions", ngImport: i0, template: "<div class=\"c-divider\"></div>\n<div class=\"c-content\">\n <ng-content />\n</div>\n", styles: [":host{padding-right:24px;padding-left:24px;padding-bottom:16px;display:block}.c-divider{position:relative;left:-24px;width:calc(100% + 48px);height:1px;margin-bottom:15px;background:var(--cui-base-200)}.c-content{display:flex;align-items:center;justify-content:flex-end;gap:12px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
858
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogActionsComponent, decorators: [{
859
- type: Component,
860
- args: [{ selector: 'cui-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"c-divider\"></div>\n<div class=\"c-content\">\n <ng-content />\n</div>\n", styles: [":host{padding-right:24px;padding-left:24px;padding-bottom:16px;display:block}.c-divider{position:relative;left:-24px;width:calc(100% + 48px);height:1px;margin-bottom:15px;background:var(--cui-base-200)}.c-content{display:flex;align-items:center;justify-content:flex-end;gap:12px}\n"] }]
854
+ class CuiDialogActionsComponent {
855
+ }
856
+ CuiDialogActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
857
+ CuiDialogActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiDialogActionsComponent, selector: "cui-dialog-actions", ngImport: i0, template: "<div class=\"c-divider\"></div>\r\n<div class=\"c-content\">\r\n <ng-content />\r\n</div>\r\n", styles: [":host{padding-right:24px;padding-left:24px;padding-bottom:16px;display:block}.c-divider{position:relative;left:-24px;width:calc(100% + 48px);height:1px;margin-bottom:15px;background:var(--cui-base-200)}.c-content{display:flex;align-items:center;justify-content:flex-end;gap:12px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
858
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogActionsComponent, decorators: [{
859
+ type: Component,
860
+ args: [{ selector: 'cui-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"c-divider\"></div>\r\n<div class=\"c-content\">\r\n <ng-content />\r\n</div>\r\n", styles: [":host{padding-right:24px;padding-left:24px;padding-bottom:16px;display:block}.c-divider{position:relative;left:-24px;width:calc(100% + 48px);height:1px;margin-bottom:15px;background:var(--cui-base-200)}.c-content{display:flex;align-items:center;justify-content:flex-end;gap:12px}\n"] }]
861
861
  }] });
862
862
 
863
- class CuiDialogHeaderComponent {
864
- constructor() {
865
- this.closed = new EventEmitter();
866
- }
867
- onClose(event) {
868
- this.closed.emit(event);
869
- }
870
- }
871
- CuiDialogHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
872
- CuiDialogHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiDialogHeaderComponent, selector: "header[cuiDialogHeader][heading]", inputs: { heading: "heading", headingContext: "headingContext", subheading: "subheading" }, outputs: { closed: "closed" }, ngImport: i0, template: "<div class=\"c-heading\">\n <ng-container *polymorpheusOutlet=\"heading as heading; context: headingContext\">{{ heading }}</ng-container>\n</div>\n<button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n icon=\"cuiIconClearSm\"\n class=\"c-button\"\n (click)=\"onClose($event)\"\n></button>\n<span *ngIf=\"subheading\">{{ subheading }}</span>\n<ng-content />\n", styles: [":host{padding:16px 24px;position:relative;display:flex;flex-direction:column;gap:4px;font-family:var(--cui-main-font);color:var(--cui-base-500)}.c-heading{font-weight:500;font-size:16px;line-height:24px;width:calc(100% - 36px);color:var(--cui-base-900)}.c-button{position:absolute;top:12px;right:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogHeaderComponent, decorators: [{
874
- type: Component,
875
- args: [{ selector: 'header[cuiDialogHeader][heading]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"c-heading\">\n <ng-container *polymorpheusOutlet=\"heading as heading; context: headingContext\">{{ heading }}</ng-container>\n</div>\n<button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n icon=\"cuiIconClearSm\"\n class=\"c-button\"\n (click)=\"onClose($event)\"\n></button>\n<span *ngIf=\"subheading\">{{ subheading }}</span>\n<ng-content />\n", styles: [":host{padding:16px 24px;position:relative;display:flex;flex-direction:column;gap:4px;font-family:var(--cui-main-font);color:var(--cui-base-500)}.c-heading{font-weight:500;font-size:16px;line-height:24px;width:calc(100% - 36px);color:var(--cui-base-900)}.c-button{position:absolute;top:12px;right:12px}\n"] }]
876
- }], propDecorators: { heading: [{
877
- type: Input
878
- }], headingContext: [{
879
- type: Input
880
- }], subheading: [{
881
- type: Input
882
- }], closed: [{
883
- type: Output
863
+ class CuiDialogHeaderComponent {
864
+ constructor() {
865
+ this.closed = new EventEmitter();
866
+ }
867
+ onClose(event) {
868
+ this.closed.emit(event);
869
+ }
870
+ }
871
+ CuiDialogHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
872
+ CuiDialogHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiDialogHeaderComponent, selector: "header[cuiDialogHeader][heading]", inputs: { heading: "heading", headingContext: "headingContext", subheading: "subheading" }, outputs: { closed: "closed" }, ngImport: i0, template: "<div class=\"c-heading\">\r\n <ng-container *polymorpheusOutlet=\"heading as heading; context: headingContext\">{{ heading }}</ng-container>\r\n</div>\r\n<button\r\n cuiButton\r\n type=\"button\"\r\n appearance=\"ghost\"\r\n icon=\"cuiIconClearSm\"\r\n class=\"c-button\"\r\n (click)=\"onClose($event)\"\r\n></button>\r\n<span *ngIf=\"subheading\">{{ subheading }}</span>\r\n<ng-content />\r\n", styles: [":host{padding:16px 24px;position:relative;display:flex;flex-direction:column;gap:4px;font-family:var(--cui-main-font);color:var(--cui-base-500)}.c-heading{font-weight:500;font-size:16px;line-height:24px;width:calc(100% - 36px);color:var(--cui-base-900)}.c-button{position:absolute;top:12px;right:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
873
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogHeaderComponent, decorators: [{
874
+ type: Component,
875
+ args: [{ selector: 'header[cuiDialogHeader][heading]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"c-heading\">\r\n <ng-container *polymorpheusOutlet=\"heading as heading; context: headingContext\">{{ heading }}</ng-container>\r\n</div>\r\n<button\r\n cuiButton\r\n type=\"button\"\r\n appearance=\"ghost\"\r\n icon=\"cuiIconClearSm\"\r\n class=\"c-button\"\r\n (click)=\"onClose($event)\"\r\n></button>\r\n<span *ngIf=\"subheading\">{{ subheading }}</span>\r\n<ng-content />\r\n", styles: [":host{padding:16px 24px;position:relative;display:flex;flex-direction:column;gap:4px;font-family:var(--cui-main-font);color:var(--cui-base-500)}.c-heading{font-weight:500;font-size:16px;line-height:24px;width:calc(100% - 36px);color:var(--cui-base-900)}.c-button{position:absolute;top:12px;right:12px}\n"] }]
876
+ }], propDecorators: { heading: [{
877
+ type: Input
878
+ }], headingContext: [{
879
+ type: Input
880
+ }], subheading: [{
881
+ type: Input
882
+ }], closed: [{
883
+ type: Output
884
884
  }] } });
885
885
 
886
- class CuiDialogModule {
887
- }
888
- CuiDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
889
- CuiDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogModule, declarations: [CuiDialogComponent,
890
- CuiDialogsComponent,
891
- CuiDialogActionsComponent,
892
- CuiDialogHeaderComponent], imports: [CommonModule,
893
- PolymorpheusModule,
894
- CuiLetDirective,
895
- CuiButtonModule], exports: [CuiDialogComponent,
896
- CuiDialogsComponent,
897
- CuiDialogActionsComponent,
898
- CuiDialogHeaderComponent] });
899
- CuiDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogModule, imports: [CommonModule,
900
- PolymorpheusModule,
901
- CuiButtonModule] });
902
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogModule, decorators: [{
903
- type: NgModule,
904
- args: [{
905
- imports: [
906
- CommonModule,
907
- PolymorpheusModule,
908
- CuiLetDirective,
909
- CuiButtonModule
910
- ],
911
- declarations: [
912
- CuiDialogComponent,
913
- CuiDialogsComponent,
914
- CuiDialogActionsComponent,
915
- CuiDialogHeaderComponent
916
- ],
917
- exports: [
918
- CuiDialogComponent,
919
- CuiDialogsComponent,
920
- CuiDialogActionsComponent,
921
- CuiDialogHeaderComponent
922
- ]
923
- }]
886
+ class CuiDialogModule {
887
+ }
888
+ CuiDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
889
+ CuiDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogModule, declarations: [CuiDialogComponent,
890
+ CuiDialogsComponent,
891
+ CuiDialogActionsComponent,
892
+ CuiDialogHeaderComponent], imports: [CommonModule,
893
+ PolymorpheusModule,
894
+ CuiLetDirective,
895
+ CuiButtonModule], exports: [CuiDialogComponent,
896
+ CuiDialogsComponent,
897
+ CuiDialogActionsComponent,
898
+ CuiDialogHeaderComponent] });
899
+ CuiDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogModule, imports: [CommonModule,
900
+ PolymorpheusModule,
901
+ CuiButtonModule] });
902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogModule, decorators: [{
903
+ type: NgModule,
904
+ args: [{
905
+ imports: [
906
+ CommonModule,
907
+ PolymorpheusModule,
908
+ CuiLetDirective,
909
+ CuiButtonModule
910
+ ],
911
+ declarations: [
912
+ CuiDialogComponent,
913
+ CuiDialogsComponent,
914
+ CuiDialogActionsComponent,
915
+ CuiDialogHeaderComponent
916
+ ],
917
+ exports: [
918
+ CuiDialogComponent,
919
+ CuiDialogsComponent,
920
+ CuiDialogActionsComponent,
921
+ CuiDialogHeaderComponent
922
+ ]
923
+ }]
924
924
  }] });
925
925
 
926
- class CuiDialogService extends CuiPopoverService {
927
- }
928
- CuiDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
929
- CuiDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogService, providedIn: 'root', useFactory: () => new CuiDialogService(CUI_DIALOGS, CuiDialogComponent, inject(CUI_DIALOG_OPTIONS)) });
930
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogService, decorators: [{
931
- type: Injectable,
932
- args: [{
933
- providedIn: 'root',
934
- useFactory: () => new CuiDialogService(CUI_DIALOGS, CuiDialogComponent, inject(CUI_DIALOG_OPTIONS))
935
- }]
926
+ class CuiDialogService extends CuiPopoverService {
927
+ }
928
+ CuiDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
929
+ CuiDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogService, providedIn: 'root', useFactory: () => new CuiDialogService(CUI_DIALOGS, CuiDialogComponent, inject(CUI_DIALOG_OPTIONS)) });
930
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogService, decorators: [{
931
+ type: Injectable,
932
+ args: [{
933
+ providedIn: 'root',
934
+ useFactory: () => new CuiDialogService(CUI_DIALOGS, CuiDialogComponent, inject(CUI_DIALOG_OPTIONS))
935
+ }]
936
936
  }] });
937
937
 
938
- class CuiRootModule {
939
- }
940
- CuiRootModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRootModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
941
- CuiRootModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiRootModule, declarations: [CuiRootComponent], imports: [CommonModule,
942
- CuiDialogModule,
943
- CuiAlertModule], exports: [CuiRootComponent] });
944
- CuiRootModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRootModule, imports: [CommonModule,
945
- CuiDialogModule,
946
- CuiAlertModule] });
947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRootModule, decorators: [{
948
- type: NgModule,
949
- args: [{
950
- imports: [
951
- CommonModule,
952
- CuiDialogModule,
953
- CuiAlertModule
954
- ],
955
- declarations: [CuiRootComponent],
956
- exports: [CuiRootComponent]
957
- }]
938
+ class CuiRootModule {
939
+ }
940
+ CuiRootModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRootModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
941
+ CuiRootModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiRootModule, declarations: [CuiRootComponent], imports: [CommonModule,
942
+ CuiDialogModule,
943
+ CuiAlertModule], exports: [CuiRootComponent] });
944
+ CuiRootModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRootModule, imports: [CommonModule,
945
+ CuiDialogModule,
946
+ CuiAlertModule] });
947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRootModule, decorators: [{
948
+ type: NgModule,
949
+ args: [{
950
+ imports: [
951
+ CommonModule,
952
+ CuiDialogModule,
953
+ CuiAlertModule
954
+ ],
955
+ declarations: [CuiRootComponent],
956
+ exports: [CuiRootComponent]
957
+ }]
958
958
  }] });
959
959
 
960
- class CuiContextMenuComponent {
961
- constructor() {
962
- this.changeDetectorRef = inject(ChangeDetectorRef);
963
- this.viewContainerRef = inject(ViewContainerRef);
964
- this.document = inject(DOCUMENT);
965
- this.documentElement = this.document.documentElement;
966
- this.window = inject(CUI_WINDOW);
967
- this.destroy$ = inject(CuiDestroyService, { self: true });
968
- this.cuiClickOutsideDirective = inject(CuiClickOutsideDirective, { self: true });
969
- this.cuiTargetDirective = inject(CuiTargetDirective, { self: true });
970
- this.EXTRA_OFFSET_LEFT = 0;
971
- this.EXTRA_OFFSET_TOP = 0;
972
- this.isVisible = false;
973
- }
974
- ngOnInit() {
975
- this.initClickOutsideSubscription();
976
- }
977
- ngOnDestroy() {
978
- this.clearViewContainerRef();
979
- }
980
- ngAfterViewInit() {
981
- this.initTargetElementListener();
982
- }
983
- onSelect(item) {
984
- this.close();
985
- item.command?.();
986
- }
987
- onClose() {
988
- this.close();
989
- }
990
- onStopClickPropagation(event) {
991
- event.stopPropagation();
992
- }
993
- trackByFn(_, item) {
994
- return item.label;
995
- }
996
- initClickOutsideSubscription() {
997
- this.cuiClickOutsideDirective.cuiClickOutside
998
- .pipe(takeUntil(this.destroy$))
999
- .subscribe((target) => {
1000
- if (this.target.contains(target)) {
1001
- return;
1002
- }
1003
- this.close();
1004
- });
1005
- }
1006
- initTargetElementListener() {
1007
- this.targetEventListener = (event) => {
1008
- event.stopPropagation();
1009
- this.document.body.click();
1010
- this.isVisible = !this.isVisible;
1011
- this.clearViewContainerRef();
1012
- if (this.isVisible) {
1013
- this.renderList();
1014
- this.changePosition(event.clientX, event.clientY);
1015
- this.initHidingSubscription();
1016
- }
1017
- this.changeDetectorRef.markForCheck();
1018
- };
1019
- this.cuiTargetDirective.clicked
1020
- .pipe(takeUntil(this.destroy$))
1021
- .subscribe(this.targetEventListener);
1022
- }
1023
- initHidingSubscription() {
1024
- this.initHidingFromWindowEvent('scroll');
1025
- this.initHidingFromWindowEvent('resize');
1026
- }
1027
- initHidingFromWindowEvent(eventName) {
1028
- fromEvent(this.window, eventName)
1029
- .pipe(take(1))
1030
- .subscribe(() => {
1031
- this.close();
1032
- this.changeDetectorRef.markForCheck();
1033
- });
1034
- }
1035
- close() {
1036
- this.isVisible = false;
1037
- this.clearViewContainerRef();
1038
- }
1039
- renderList() {
1040
- const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.list);
1041
- this.node = embeddedViewRef.rootNodes[0];
1042
- embeddedViewRef.detectChanges();
1043
- this.document.querySelector(CUI_ROOT_SELECTOR).appendChild(this.node);
1044
- }
1045
- changePosition(x, y) {
1046
- this.node.style.visibility = 'hidden';
1047
- setTimeout(() => {
1048
- const { clientWidth, clientHeight } = this.documentElement;
1049
- const width = this.node.offsetWidth;
1050
- const height = this.node.offsetHeight;
1051
- let left = x;
1052
- let top = y;
1053
- if (left + width > clientWidth) {
1054
- left -= width;
1055
- }
1056
- if (top + height > clientHeight) {
1057
- top -= height;
1058
- }
1059
- left = Math.max(left, this.EXTRA_OFFSET_LEFT);
1060
- top = Math.max(top, this.EXTRA_OFFSET_TOP);
1061
- this.node.style.left = left + 'px';
1062
- this.node.style.top = top + 'px';
1063
- this.node.style.visibility = '';
1064
- this.changeDetectorRef.markForCheck();
1065
- });
1066
- }
1067
- clearViewContainerRef() {
1068
- this.viewContainerRef.clear();
1069
- }
1070
- }
1071
- CuiContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1072
- CuiContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: { items: "items", target: "target" }, host: { listeners: { "window:resize": "onClose()", "click": "onStopClickPropagation($event)" } }, providers: [CuiDestroyService], viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true }], hostDirectives: [{ directive: i2.CuiClickOutsideDirective }, { directive: i2.CuiTargetDirective, inputs: ["ccTarget", "target"] }], ngImport: i0, template: "<ng-template #list>\n <div class=\"c-container\">\n <ul\n *ngIf=\"isVisible\"\n class=\"c-ul\"\n >\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n type=\"button\"\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n", styles: [":host{display:none}.c-container{position:fixed;width:268px;border-radius:8px;z-index:1}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1073
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, decorators: [{
1074
- type: Component,
1075
- args: [{ selector: 'cui-context-menu[items][target]', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], hostDirectives: [
1076
- CuiClickOutsideDirective,
1077
- {
1078
- directive: CuiTargetDirective,
1079
- inputs: ['ccTarget: target']
1080
- }
1081
- ], template: "<ng-template #list>\n <div class=\"c-container\">\n <ul\n *ngIf=\"isVisible\"\n class=\"c-ul\"\n >\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n type=\"button\"\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n", styles: [":host{display:none}.c-container{position:fixed;width:268px;border-radius:8px;z-index:1}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"] }]
1082
- }], propDecorators: { items: [{
1083
- type: Input
1084
- }], target: [{
1085
- type: Input
1086
- }], list: [{
1087
- type: ViewChild,
1088
- args: ['list']
1089
- }], onClose: [{
1090
- type: HostListener,
1091
- args: ['window:resize']
1092
- }], onStopClickPropagation: [{
1093
- type: HostListener,
1094
- args: ['click', ['$event']]
960
+ class CuiContextMenuComponent {
961
+ constructor() {
962
+ this.changeDetectorRef = inject(ChangeDetectorRef);
963
+ this.viewContainerRef = inject(ViewContainerRef);
964
+ this.document = inject(DOCUMENT);
965
+ this.documentElement = this.document.documentElement;
966
+ this.window = inject(CUI_WINDOW);
967
+ this.destroy$ = inject(CuiDestroyService, { self: true });
968
+ this.cuiClickOutsideDirective = inject(CuiClickOutsideDirective, { self: true });
969
+ this.cuiTargetDirective = inject(CuiTargetDirective, { self: true });
970
+ this.EXTRA_OFFSET_LEFT = 0;
971
+ this.EXTRA_OFFSET_TOP = 0;
972
+ this.isVisible = false;
973
+ }
974
+ ngOnInit() {
975
+ this.initClickOutsideSubscription();
976
+ }
977
+ ngOnDestroy() {
978
+ this.clearViewContainerRef();
979
+ }
980
+ ngAfterViewInit() {
981
+ this.initTargetElementListener();
982
+ }
983
+ onSelect(item) {
984
+ this.close();
985
+ item.command?.();
986
+ }
987
+ onClose() {
988
+ this.close();
989
+ }
990
+ onStopClickPropagation(event) {
991
+ event.stopPropagation();
992
+ }
993
+ trackByFn(_, item) {
994
+ return item.label;
995
+ }
996
+ initClickOutsideSubscription() {
997
+ this.cuiClickOutsideDirective.cuiClickOutside
998
+ .pipe(takeUntil(this.destroy$))
999
+ .subscribe((target) => {
1000
+ if (this.target.contains(target)) {
1001
+ return;
1002
+ }
1003
+ this.close();
1004
+ });
1005
+ }
1006
+ initTargetElementListener() {
1007
+ this.targetEventListener = (event) => {
1008
+ event.stopPropagation();
1009
+ this.document.body.click();
1010
+ this.isVisible = !this.isVisible;
1011
+ this.clearViewContainerRef();
1012
+ if (this.isVisible) {
1013
+ this.renderList();
1014
+ this.changePosition(event.clientX, event.clientY);
1015
+ this.initHidingSubscription();
1016
+ }
1017
+ this.changeDetectorRef.markForCheck();
1018
+ };
1019
+ this.cuiTargetDirective.clicked
1020
+ .pipe(takeUntil(this.destroy$))
1021
+ .subscribe(this.targetEventListener);
1022
+ }
1023
+ initHidingSubscription() {
1024
+ this.initHidingFromWindowEvent('scroll');
1025
+ this.initHidingFromWindowEvent('resize');
1026
+ }
1027
+ initHidingFromWindowEvent(eventName) {
1028
+ fromEvent(this.window, eventName)
1029
+ .pipe(take(1))
1030
+ .subscribe(() => {
1031
+ this.close();
1032
+ this.changeDetectorRef.markForCheck();
1033
+ });
1034
+ }
1035
+ close() {
1036
+ this.isVisible = false;
1037
+ this.clearViewContainerRef();
1038
+ }
1039
+ renderList() {
1040
+ const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.list);
1041
+ this.node = embeddedViewRef.rootNodes[0];
1042
+ embeddedViewRef.detectChanges();
1043
+ this.document.querySelector(CUI_ROOT_SELECTOR).appendChild(this.node);
1044
+ }
1045
+ changePosition(x, y) {
1046
+ this.node.style.visibility = 'hidden';
1047
+ setTimeout(() => {
1048
+ const { clientWidth, clientHeight } = this.documentElement;
1049
+ const width = this.node.offsetWidth;
1050
+ const height = this.node.offsetHeight;
1051
+ let left = x;
1052
+ let top = y;
1053
+ if (left + width > clientWidth) {
1054
+ left -= width;
1055
+ }
1056
+ if (top + height > clientHeight) {
1057
+ top -= height;
1058
+ }
1059
+ left = Math.max(left, this.EXTRA_OFFSET_LEFT);
1060
+ top = Math.max(top, this.EXTRA_OFFSET_TOP);
1061
+ this.node.style.left = left + 'px';
1062
+ this.node.style.top = top + 'px';
1063
+ this.node.style.visibility = '';
1064
+ this.changeDetectorRef.markForCheck();
1065
+ });
1066
+ }
1067
+ clearViewContainerRef() {
1068
+ this.viewContainerRef.clear();
1069
+ }
1070
+ }
1071
+ CuiContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1072
+ CuiContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: { items: "items", target: "target" }, host: { listeners: { "window:resize": "onClose()", "click": "onStopClickPropagation($event)" } }, providers: [CuiDestroyService], viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true }], hostDirectives: [{ directive: i1$1.CuiClickOutsideDirective }, { directive: i1$1.CuiTargetDirective, inputs: ["ccTarget", "target"] }], ngImport: i0, template: "<ng-template #list>\r\n <div class=\"c-container\">\r\n <ul\r\n *ngIf=\"isVisible\"\r\n class=\"c-ul\"\r\n >\r\n <li\r\n *ngFor=\"let item of items; trackBy: trackByFn\"\r\n [style.color]=\"item.color\"\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"c-button\"\r\n (click)=\"onSelect(item)\"\r\n >\r\n <cui-svg\r\n *ngIf=\"item.icon\"\r\n [icon]=\"item.icon\"\r\n [color]=\"item.color\"\r\n ></cui-svg>\r\n <span>{{ item.label }}</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:none}.c-container{position:fixed;width:268px;border-radius:8px;z-index:1}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1073
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, decorators: [{
1074
+ type: Component,
1075
+ args: [{ selector: 'cui-context-menu[items][target]', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], hostDirectives: [
1076
+ CuiClickOutsideDirective,
1077
+ {
1078
+ directive: CuiTargetDirective,
1079
+ inputs: ['ccTarget: target']
1080
+ }
1081
+ ], template: "<ng-template #list>\r\n <div class=\"c-container\">\r\n <ul\r\n *ngIf=\"isVisible\"\r\n class=\"c-ul\"\r\n >\r\n <li\r\n *ngFor=\"let item of items; trackBy: trackByFn\"\r\n [style.color]=\"item.color\"\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"c-button\"\r\n (click)=\"onSelect(item)\"\r\n >\r\n <cui-svg\r\n *ngIf=\"item.icon\"\r\n [icon]=\"item.icon\"\r\n [color]=\"item.color\"\r\n ></cui-svg>\r\n <span>{{ item.label }}</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:none}.c-container{position:fixed;width:268px;border-radius:8px;z-index:1}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"] }]
1082
+ }], propDecorators: { items: [{
1083
+ type: Input
1084
+ }], target: [{
1085
+ type: Input
1086
+ }], list: [{
1087
+ type: ViewChild,
1088
+ args: ['list']
1089
+ }], onClose: [{
1090
+ type: HostListener,
1091
+ args: ['window:resize']
1092
+ }], onStopClickPropagation: [{
1093
+ type: HostListener,
1094
+ args: ['click', ['$event']]
1095
1095
  }] } });
1096
1096
 
1097
- class CuiContextMenuModule {
1098
- }
1099
- CuiContextMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1100
- CuiContextMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuModule, declarations: [CuiContextMenuComponent], imports: [CommonModule,
1101
- CuiSvgModule], exports: [CuiContextMenuComponent] });
1102
- CuiContextMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuModule, imports: [CommonModule,
1103
- CuiSvgModule] });
1104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuModule, decorators: [{
1105
- type: NgModule,
1106
- args: [{
1107
- imports: [
1108
- CommonModule,
1109
- CuiSvgModule
1110
- ],
1111
- declarations: [CuiContextMenuComponent],
1112
- exports: [CuiContextMenuComponent]
1113
- }]
1097
+ class CuiContextMenuModule {
1098
+ }
1099
+ CuiContextMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1100
+ CuiContextMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuModule, declarations: [CuiContextMenuComponent], imports: [CommonModule,
1101
+ CuiSvgModule], exports: [CuiContextMenuComponent] });
1102
+ CuiContextMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuModule, imports: [CommonModule,
1103
+ CuiSvgModule] });
1104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuModule, decorators: [{
1105
+ type: NgModule,
1106
+ args: [{
1107
+ imports: [
1108
+ CommonModule,
1109
+ CuiSvgModule
1110
+ ],
1111
+ declarations: [CuiContextMenuComponent],
1112
+ exports: [CuiContextMenuComponent]
1113
+ }]
1114
1114
  }] });
1115
1115
 
1116
- class CuiFormFieldComponent {
1117
- }
1118
- CuiFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1119
- CuiFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiFormFieldComponent, selector: "cui-form-field", ngImport: i0, template: "<ng-content select=\"label[cuiLabel]\" />\n<ng-content />\n<div class=\"c-hint-container\">\n <ng-content select=\"cui-hint\" />\n</div>\n", styles: [":host{display:flex;flex-direction:column;gap:4px}.c-hint-container{margin-top:2px}.c-hint-container:empty{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldComponent, decorators: [{
1121
- type: Component,
1122
- args: [{ selector: 'cui-form-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"label[cuiLabel]\" />\n<ng-content />\n<div class=\"c-hint-container\">\n <ng-content select=\"cui-hint\" />\n</div>\n", styles: [":host{display:flex;flex-direction:column;gap:4px}.c-hint-container{margin-top:2px}.c-hint-container:empty{display:contents}\n"] }]
1116
+ class CuiFormFieldComponent {
1117
+ }
1118
+ CuiFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1119
+ CuiFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiFormFieldComponent, selector: "cui-form-field", ngImport: i0, template: "<ng-content select=\"label[cuiLabel]\" />\r\n<ng-content />\r\n<div class=\"c-hint-container\">\r\n <ng-content select=\"cui-hint\" />\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column;gap:4px}.c-hint-container{margin-top:2px}.c-hint-container:empty{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldComponent, decorators: [{
1121
+ type: Component,
1122
+ args: [{ selector: 'cui-form-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"label[cuiLabel]\" />\r\n<ng-content />\r\n<div class=\"c-hint-container\">\r\n <ng-content select=\"cui-hint\" />\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column;gap:4px}.c-hint-container{margin-top:2px}.c-hint-container:empty{display:contents}\n"] }]
1123
1123
  }] });
1124
1124
 
1125
- class CuiFormFieldModule {
1126
- }
1127
- CuiFormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1128
- CuiFormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldModule, declarations: [CuiFormFieldComponent], exports: [CuiFormFieldComponent] });
1129
- CuiFormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldModule });
1130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldModule, decorators: [{
1131
- type: NgModule,
1132
- args: [{
1133
- declarations: [CuiFormFieldComponent],
1134
- exports: [CuiFormFieldComponent]
1135
- }]
1125
+ class CuiFormFieldModule {
1126
+ }
1127
+ CuiFormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1128
+ CuiFormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldModule, declarations: [CuiFormFieldComponent], exports: [CuiFormFieldComponent] });
1129
+ CuiFormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldModule });
1130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFormFieldModule, decorators: [{
1131
+ type: NgModule,
1132
+ args: [{
1133
+ declarations: [CuiFormFieldComponent],
1134
+ exports: [CuiFormFieldComponent]
1135
+ }]
1136
1136
  }] });
1137
1137
 
1138
- class CuiHintComponent {
1139
- constructor() {
1140
- this.hintType = 'info';
1141
- }
1142
- }
1143
- CuiHintComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1144
- CuiHintComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiHintComponent, selector: "cui-hint", inputs: { hintType: "hintType" }, host: { properties: { "attr.data-hint-type": "this.hintType" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{font-weight:400;font-size:14px;line-height:20px;display:inline-block;font-family:var(--cui-main-font)}:host[data-hint-type=info]{color:var(--cui-base-500)}:host[data-hint-type=error]{color:var(--cui-danger)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiHintComponent, decorators: [{
1146
- type: Component,
1147
- args: [{ selector: 'cui-hint', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [":host{font-weight:400;font-size:14px;line-height:20px;display:inline-block;font-family:var(--cui-main-font)}:host[data-hint-type=info]{color:var(--cui-base-500)}:host[data-hint-type=error]{color:var(--cui-danger)}\n"] }]
1148
- }], propDecorators: { hintType: [{
1149
- type: Input
1150
- }, {
1151
- type: HostBinding,
1152
- args: ['attr.data-hint-type']
1138
+ class CuiHintComponent {
1139
+ constructor() {
1140
+ this.hintType = 'info';
1141
+ }
1142
+ }
1143
+ CuiHintComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1144
+ CuiHintComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiHintComponent, selector: "cui-hint", inputs: { hintType: "hintType" }, host: { properties: { "attr.data-hint-type": "this.hintType" } }, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [":host{font-weight:400;font-size:14px;line-height:20px;display:inline-block;font-family:var(--cui-main-font)}:host[data-hint-type=info]{color:var(--cui-base-500)}:host[data-hint-type=error]{color:var(--cui-danger)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiHintComponent, decorators: [{
1146
+ type: Component,
1147
+ args: [{ selector: 'cui-hint', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n", styles: [":host{font-weight:400;font-size:14px;line-height:20px;display:inline-block;font-family:var(--cui-main-font)}:host[data-hint-type=info]{color:var(--cui-base-500)}:host[data-hint-type=error]{color:var(--cui-danger)}\n"] }]
1148
+ }], propDecorators: { hintType: [{
1149
+ type: Input
1150
+ }, {
1151
+ type: HostBinding,
1152
+ args: ['attr.data-hint-type']
1153
1153
  }] } });
1154
1154
 
1155
- class CuiHintModule {
1156
- }
1157
- CuiHintModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiHintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1158
- CuiHintModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiHintModule, declarations: [CuiHintComponent], exports: [CuiHintComponent] });
1159
- CuiHintModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiHintModule });
1160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiHintModule, decorators: [{
1161
- type: NgModule,
1162
- args: [{
1163
- declarations: [CuiHintComponent],
1164
- exports: [CuiHintComponent]
1165
- }]
1155
+ class CuiHintModule {
1156
+ }
1157
+ CuiHintModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiHintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1158
+ CuiHintModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiHintModule, declarations: [CuiHintComponent], exports: [CuiHintComponent] });
1159
+ CuiHintModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiHintModule });
1160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiHintModule, decorators: [{
1161
+ type: NgModule,
1162
+ args: [{
1163
+ declarations: [CuiHintComponent],
1164
+ exports: [CuiHintComponent]
1165
+ }]
1166
1166
  }] });
1167
1167
 
1168
- class CuiIconButtonComponent {
1169
- constructor() {
1170
- this.ICON_WIDTH = 16;
1171
- this.ICON_HEIGHT = 16;
1172
- this.ICON_STROKE_WIDTH = 1.5;
1173
- }
1174
- get isWithHoverColor() {
1175
- return !!this.hoverColor;
1176
- }
1177
- }
1178
- CuiIconButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1179
- CuiIconButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiIconButtonComponent, selector: "button[cuiIconButton][icon], a[cuiIconButton][icon]", inputs: { icon: "icon", color: "color", hoverColor: "hoverColor" }, host: { properties: { "style.--icon-hover-color": "this.hoverColor", "class._with-hover-color": "this.isWithHoverColor" } }, ngImport: i0, template: "<cui-svg\n [icon]=\"icon\"\n [width]=\"ICON_WIDTH\"\n [height]=\"ICON_HEIGHT\"\n [color]=\"color\"\n [strokeWidth]=\"ICON_STROKE_WIDTH\"\n class=\"c-icon\"\n></cui-svg>\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex;justify-content:center;align-items:center;width:24px;height:24px}:host._with-hover-color:active .c-icon ::ng-deep [stroke]{stroke:var(--icon-hover-color)}:host._with-hover-color:active .c-icon ::ng-deep [fill]:not([fill=none]){fill:var(--icon-hover-color)}@media (hover: hover){:host._with-hover-color:hover .c-icon ::ng-deep [stroke]{stroke:var(--icon-hover-color)}:host._with-hover-color:hover .c-icon ::ng-deep [fill]:not([fill=none]){fill:var(--icon-hover-color)}}\n"], dependencies: [{ kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonComponent, decorators: [{
1181
- type: Component,
1182
- args: [{ selector: 'button[cuiIconButton][icon], a[cuiIconButton][icon]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<cui-svg\n [icon]=\"icon\"\n [width]=\"ICON_WIDTH\"\n [height]=\"ICON_HEIGHT\"\n [color]=\"color\"\n [strokeWidth]=\"ICON_STROKE_WIDTH\"\n class=\"c-icon\"\n></cui-svg>\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex;justify-content:center;align-items:center;width:24px;height:24px}:host._with-hover-color:active .c-icon ::ng-deep [stroke]{stroke:var(--icon-hover-color)}:host._with-hover-color:active .c-icon ::ng-deep [fill]:not([fill=none]){fill:var(--icon-hover-color)}@media (hover: hover){:host._with-hover-color:hover .c-icon ::ng-deep [stroke]{stroke:var(--icon-hover-color)}:host._with-hover-color:hover .c-icon ::ng-deep [fill]:not([fill=none]){fill:var(--icon-hover-color)}}\n"] }]
1183
- }], propDecorators: { icon: [{
1184
- type: Input
1185
- }], color: [{
1186
- type: Input
1187
- }], hoverColor: [{
1188
- type: Input
1189
- }, {
1190
- type: HostBinding,
1191
- args: ['style.--icon-hover-color']
1192
- }], isWithHoverColor: [{
1193
- type: HostBinding,
1194
- args: ['class._with-hover-color']
1168
+ class CuiIconButtonComponent {
1169
+ constructor() {
1170
+ this.ICON_WIDTH = 16;
1171
+ this.ICON_HEIGHT = 16;
1172
+ this.ICON_STROKE_WIDTH = 1.5;
1173
+ }
1174
+ get isWithHoverColor() {
1175
+ return !!this.hoverColor;
1176
+ }
1177
+ }
1178
+ CuiIconButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1179
+ CuiIconButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiIconButtonComponent, selector: "button[cuiIconButton][icon], a[cuiIconButton][icon]", inputs: { icon: "icon", color: "color", hoverColor: "hoverColor" }, host: { properties: { "style.--icon-hover-color": "this.hoverColor", "class._with-hover-color": "this.isWithHoverColor" } }, ngImport: i0, template: "<cui-svg\r\n [icon]=\"icon\"\r\n [width]=\"ICON_WIDTH\"\r\n [height]=\"ICON_HEIGHT\"\r\n [color]=\"color\"\r\n [strokeWidth]=\"ICON_STROKE_WIDTH\"\r\n class=\"c-icon\"\r\n></cui-svg>\r\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex;justify-content:center;align-items:center;width:24px;height:24px}:host._with-hover-color:active .c-icon ::ng-deep [stroke]{stroke:var(--icon-hover-color)}:host._with-hover-color:active .c-icon ::ng-deep [fill]:not([fill=none]){fill:var(--icon-hover-color)}@media (hover: hover){:host._with-hover-color:hover .c-icon ::ng-deep [stroke]{stroke:var(--icon-hover-color)}:host._with-hover-color:hover .c-icon ::ng-deep [fill]:not([fill=none]){fill:var(--icon-hover-color)}}\n"], dependencies: [{ kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonComponent, decorators: [{
1181
+ type: Component,
1182
+ args: [{ selector: 'button[cuiIconButton][icon], a[cuiIconButton][icon]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<cui-svg\r\n [icon]=\"icon\"\r\n [width]=\"ICON_WIDTH\"\r\n [height]=\"ICON_HEIGHT\"\r\n [color]=\"color\"\r\n [strokeWidth]=\"ICON_STROKE_WIDTH\"\r\n class=\"c-icon\"\r\n></cui-svg>\r\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex;justify-content:center;align-items:center;width:24px;height:24px}:host._with-hover-color:active .c-icon ::ng-deep [stroke]{stroke:var(--icon-hover-color)}:host._with-hover-color:active .c-icon ::ng-deep [fill]:not([fill=none]){fill:var(--icon-hover-color)}@media (hover: hover){:host._with-hover-color:hover .c-icon ::ng-deep [stroke]{stroke:var(--icon-hover-color)}:host._with-hover-color:hover .c-icon ::ng-deep [fill]:not([fill=none]){fill:var(--icon-hover-color)}}\n"] }]
1183
+ }], propDecorators: { icon: [{
1184
+ type: Input
1185
+ }], color: [{
1186
+ type: Input
1187
+ }], hoverColor: [{
1188
+ type: Input
1189
+ }, {
1190
+ type: HostBinding,
1191
+ args: ['style.--icon-hover-color']
1192
+ }], isWithHoverColor: [{
1193
+ type: HostBinding,
1194
+ args: ['class._with-hover-color']
1195
1195
  }] } });
1196
1196
 
1197
- class CuiIconButtonModule {
1198
- }
1199
- CuiIconButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1200
- CuiIconButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonModule, declarations: [CuiIconButtonComponent], imports: [CommonModule,
1201
- CuiSvgModule], exports: [CuiIconButtonComponent] });
1202
- CuiIconButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonModule, imports: [CommonModule,
1203
- CuiSvgModule] });
1204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonModule, decorators: [{
1205
- type: NgModule,
1206
- args: [{
1207
- imports: [
1208
- CommonModule,
1209
- CuiSvgModule
1210
- ],
1211
- declarations: [CuiIconButtonComponent],
1212
- exports: [CuiIconButtonComponent]
1213
- }]
1197
+ class CuiIconButtonModule {
1198
+ }
1199
+ CuiIconButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1200
+ CuiIconButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonModule, declarations: [CuiIconButtonComponent], imports: [CommonModule,
1201
+ CuiSvgModule], exports: [CuiIconButtonComponent] });
1202
+ CuiIconButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonModule, imports: [CommonModule,
1203
+ CuiSvgModule] });
1204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiIconButtonModule, decorators: [{
1205
+ type: NgModule,
1206
+ args: [{
1207
+ imports: [
1208
+ CommonModule,
1209
+ CuiSvgModule
1210
+ ],
1211
+ declarations: [CuiIconButtonComponent],
1212
+ exports: [CuiIconButtonComponent]
1213
+ }]
1214
1214
  }] });
1215
1215
 
1216
- class CuiTextFieldController {
1217
- constructor(iconLeftDirective, idDirective, isErrorDirective, placeholderDirective, sizeDirective) {
1218
- this.iconLeftDirective = iconLeftDirective;
1219
- this.idDirective = idDirective;
1220
- this.isErrorDirective = isErrorDirective;
1221
- this.placeholderDirective = placeholderDirective;
1222
- this.sizeDirective = sizeDirective;
1223
- }
1224
- get iconLeft() {
1225
- return this.iconLeftDirective.iconLeft;
1226
- }
1227
- get id() {
1228
- return this.idDirective.id;
1229
- }
1230
- get isError() {
1231
- return this.isErrorDirective.isError;
1232
- }
1233
- get placeholder() {
1234
- return this.placeholderDirective.placeholder;
1235
- }
1236
- get size() {
1237
- return this.sizeDirective.size;
1238
- }
1239
- }
1240
-
1241
- const CUI_TEXT_FIELD_ICON_LEFT = new InjectionToken('', {
1242
- factory: () => new CuiTextFieldIconLeftDirective()
1243
- });
1244
- class CuiTextFieldIconLeftDirective {
1245
- }
1246
- CuiTextFieldIconLeftDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIconLeftDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1247
- CuiTextFieldIconLeftDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextFieldIconLeftDirective, selector: "[cuiTextFieldIconLeft]", inputs: { iconLeft: ["cuiTextFieldIconLeft", "iconLeft"] }, providers: [cuiProvide(CUI_TEXT_FIELD_ICON_LEFT, CuiTextFieldIconLeftDirective)], ngImport: i0 });
1248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIconLeftDirective, decorators: [{
1249
- type: Directive,
1250
- args: [{
1251
- selector: '[cuiTextFieldIconLeft]',
1252
- providers: [cuiProvide(CUI_TEXT_FIELD_ICON_LEFT, CuiTextFieldIconLeftDirective)]
1253
- }]
1254
- }], propDecorators: { iconLeft: [{
1255
- type: Input,
1256
- args: ['cuiTextFieldIconLeft']
1216
+ class CuiTextFieldController {
1217
+ constructor(iconLeftDirective, idDirective, isErrorDirective, placeholderDirective, sizeDirective) {
1218
+ this.iconLeftDirective = iconLeftDirective;
1219
+ this.idDirective = idDirective;
1220
+ this.isErrorDirective = isErrorDirective;
1221
+ this.placeholderDirective = placeholderDirective;
1222
+ this.sizeDirective = sizeDirective;
1223
+ }
1224
+ get iconLeft() {
1225
+ return this.iconLeftDirective.iconLeft;
1226
+ }
1227
+ get id() {
1228
+ return this.idDirective.id;
1229
+ }
1230
+ get isError() {
1231
+ return this.isErrorDirective.isError;
1232
+ }
1233
+ get placeholder() {
1234
+ return this.placeholderDirective.placeholder;
1235
+ }
1236
+ get size() {
1237
+ return this.sizeDirective.size;
1238
+ }
1239
+ }
1240
+
1241
+ const CUI_TEXT_FIELD_ICON_LEFT = new InjectionToken('', {
1242
+ factory: () => new CuiTextFieldIconLeftDirective()
1243
+ });
1244
+ class CuiTextFieldIconLeftDirective {
1245
+ }
1246
+ CuiTextFieldIconLeftDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIconLeftDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1247
+ CuiTextFieldIconLeftDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextFieldIconLeftDirective, selector: "[cuiTextFieldIconLeft]", inputs: { iconLeft: ["cuiTextFieldIconLeft", "iconLeft"] }, providers: [cuiProvide(CUI_TEXT_FIELD_ICON_LEFT, CuiTextFieldIconLeftDirective)], ngImport: i0 });
1248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIconLeftDirective, decorators: [{
1249
+ type: Directive,
1250
+ args: [{
1251
+ selector: '[cuiTextFieldIconLeft]',
1252
+ providers: [cuiProvide(CUI_TEXT_FIELD_ICON_LEFT, CuiTextFieldIconLeftDirective)]
1253
+ }]
1254
+ }], propDecorators: { iconLeft: [{
1255
+ type: Input,
1256
+ args: ['cuiTextFieldIconLeft']
1257
1257
  }] } });
1258
1258
 
1259
- const CUI_TEXT_FIELD_ID = new InjectionToken('', {
1260
- factory: () => new CuiTextFieldIdDirective()
1261
- });
1262
- class CuiTextFieldIdDirective {
1263
- }
1264
- CuiTextFieldIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIdDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1265
- CuiTextFieldIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: { id: ["cuiTextFieldId", "id"] }, providers: [cuiProvide(CUI_TEXT_FIELD_ID, CuiTextFieldIdDirective)], ngImport: i0 });
1266
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIdDirective, decorators: [{
1267
- type: Directive,
1268
- args: [{
1269
- selector: '[cuiTextFieldId]',
1270
- providers: [cuiProvide(CUI_TEXT_FIELD_ID, CuiTextFieldIdDirective)]
1271
- }]
1272
- }], propDecorators: { id: [{
1273
- type: Input,
1274
- args: ['cuiTextFieldId']
1259
+ const CUI_TEXT_FIELD_ID = new InjectionToken('', {
1260
+ factory: () => new CuiTextFieldIdDirective()
1261
+ });
1262
+ class CuiTextFieldIdDirective {
1263
+ }
1264
+ CuiTextFieldIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIdDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1265
+ CuiTextFieldIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: { id: ["cuiTextFieldId", "id"] }, providers: [cuiProvide(CUI_TEXT_FIELD_ID, CuiTextFieldIdDirective)], ngImport: i0 });
1266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIdDirective, decorators: [{
1267
+ type: Directive,
1268
+ args: [{
1269
+ selector: '[cuiTextFieldId]',
1270
+ providers: [cuiProvide(CUI_TEXT_FIELD_ID, CuiTextFieldIdDirective)]
1271
+ }]
1272
+ }], propDecorators: { id: [{
1273
+ type: Input,
1274
+ args: ['cuiTextFieldId']
1275
1275
  }] } });
1276
1276
 
1277
- const CUI_TEXT_FIELD_IS_ERROR = new InjectionToken('', {
1278
- factory: () => new CuiTextFieldIsErrorDirective()
1279
- });
1280
- class CuiTextFieldIsErrorDirective {
1281
- constructor() {
1282
- this.isError = false;
1283
- }
1284
- }
1285
- CuiTextFieldIsErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIsErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1286
- CuiTextFieldIsErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: { isError: ["cuiTextFieldIsError", "isError"] }, providers: [cuiProvide(CUI_TEXT_FIELD_IS_ERROR, CuiTextFieldIsErrorDirective)], ngImport: i0 });
1287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIsErrorDirective, decorators: [{
1288
- type: Directive,
1289
- args: [{
1290
- selector: '[cuiTextFieldIsError]',
1291
- providers: [cuiProvide(CUI_TEXT_FIELD_IS_ERROR, CuiTextFieldIsErrorDirective)]
1292
- }]
1293
- }], propDecorators: { isError: [{
1294
- type: Input,
1295
- args: ['cuiTextFieldIsError']
1277
+ const CUI_TEXT_FIELD_IS_ERROR = new InjectionToken('', {
1278
+ factory: () => new CuiTextFieldIsErrorDirective()
1279
+ });
1280
+ class CuiTextFieldIsErrorDirective {
1281
+ constructor() {
1282
+ this.isError = false;
1283
+ }
1284
+ }
1285
+ CuiTextFieldIsErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIsErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1286
+ CuiTextFieldIsErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: { isError: ["cuiTextFieldIsError", "isError"] }, providers: [cuiProvide(CUI_TEXT_FIELD_IS_ERROR, CuiTextFieldIsErrorDirective)], ngImport: i0 });
1287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldIsErrorDirective, decorators: [{
1288
+ type: Directive,
1289
+ args: [{
1290
+ selector: '[cuiTextFieldIsError]',
1291
+ providers: [cuiProvide(CUI_TEXT_FIELD_IS_ERROR, CuiTextFieldIsErrorDirective)]
1292
+ }]
1293
+ }], propDecorators: { isError: [{
1294
+ type: Input,
1295
+ args: ['cuiTextFieldIsError']
1296
1296
  }] } });
1297
1297
 
1298
- const CUI_TEXT_FIELD_PLACEHOLDER = new InjectionToken('', {
1299
- factory: () => new CuiTextFieldPlaceholderDirective()
1300
- });
1301
- class CuiTextFieldPlaceholderDirective {
1302
- }
1303
- CuiTextFieldPlaceholderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldPlaceholderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1304
- CuiTextFieldPlaceholderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: { placeholder: ["cuiTextFieldPlaceholder", "placeholder"] }, providers: [cuiProvide(CUI_TEXT_FIELD_PLACEHOLDER, CuiTextFieldPlaceholderDirective)], ngImport: i0 });
1305
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldPlaceholderDirective, decorators: [{
1306
- type: Directive,
1307
- args: [{
1308
- selector: '[cuiTextFieldPlaceholder]',
1309
- providers: [cuiProvide(CUI_TEXT_FIELD_PLACEHOLDER, CuiTextFieldPlaceholderDirective)]
1310
- }]
1311
- }], propDecorators: { placeholder: [{
1312
- type: Input,
1313
- args: ['cuiTextFieldPlaceholder']
1298
+ const CUI_TEXT_FIELD_PLACEHOLDER = new InjectionToken('', {
1299
+ factory: () => new CuiTextFieldPlaceholderDirective()
1300
+ });
1301
+ class CuiTextFieldPlaceholderDirective {
1302
+ }
1303
+ CuiTextFieldPlaceholderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldPlaceholderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1304
+ CuiTextFieldPlaceholderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: { placeholder: ["cuiTextFieldPlaceholder", "placeholder"] }, providers: [cuiProvide(CUI_TEXT_FIELD_PLACEHOLDER, CuiTextFieldPlaceholderDirective)], ngImport: i0 });
1305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldPlaceholderDirective, decorators: [{
1306
+ type: Directive,
1307
+ args: [{
1308
+ selector: '[cuiTextFieldPlaceholder]',
1309
+ providers: [cuiProvide(CUI_TEXT_FIELD_PLACEHOLDER, CuiTextFieldPlaceholderDirective)]
1310
+ }]
1311
+ }], propDecorators: { placeholder: [{
1312
+ type: Input,
1313
+ args: ['cuiTextFieldPlaceholder']
1314
1314
  }] } });
1315
1315
 
1316
- const CUI_TEXT_FIELD_SIZE = new InjectionToken('', {
1317
- factory: () => new CuiTextFieldSizeDirective()
1318
- });
1319
- class CuiTextFieldSizeDirective {
1320
- constructor() {
1321
- this.size = 'sm';
1322
- }
1323
- }
1324
- CuiTextFieldSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldSizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1325
- CuiTextFieldSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextFieldSizeDirective, selector: "[cuiTextFieldSize]", inputs: { size: ["cuiTextFieldSize", "size"] }, providers: [cuiProvide(CUI_TEXT_FIELD_SIZE, CuiTextFieldSizeDirective)], ngImport: i0 });
1326
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldSizeDirective, decorators: [{
1327
- type: Directive,
1328
- args: [{
1329
- selector: '[cuiTextFieldSize]',
1330
- providers: [cuiProvide(CUI_TEXT_FIELD_SIZE, CuiTextFieldSizeDirective)]
1331
- }]
1332
- }], propDecorators: { size: [{
1333
- type: Input,
1334
- args: ['cuiTextFieldSize']
1316
+ const CUI_TEXT_FIELD_SIZE = new InjectionToken('', {
1317
+ factory: () => new CuiTextFieldSizeDirective()
1318
+ });
1319
+ class CuiTextFieldSizeDirective {
1320
+ constructor() {
1321
+ this.size = 'sm';
1322
+ }
1323
+ }
1324
+ CuiTextFieldSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldSizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1325
+ CuiTextFieldSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextFieldSizeDirective, selector: "[cuiTextFieldSize]", inputs: { size: ["cuiTextFieldSize", "size"] }, providers: [cuiProvide(CUI_TEXT_FIELD_SIZE, CuiTextFieldSizeDirective)], ngImport: i0 });
1326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldSizeDirective, decorators: [{
1327
+ type: Directive,
1328
+ args: [{
1329
+ selector: '[cuiTextFieldSize]',
1330
+ providers: [cuiProvide(CUI_TEXT_FIELD_SIZE, CuiTextFieldSizeDirective)]
1331
+ }]
1332
+ }], propDecorators: { size: [{
1333
+ type: Input,
1334
+ args: ['cuiTextFieldSize']
1335
1335
  }] } });
1336
1336
 
1337
- class CuiTextFieldControllerModule {
1338
- }
1339
- CuiTextFieldControllerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldControllerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1340
- CuiTextFieldControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldControllerModule, declarations: [CuiTextFieldIconLeftDirective,
1341
- CuiTextFieldIdDirective,
1342
- CuiTextFieldPlaceholderDirective,
1343
- CuiTextFieldIsErrorDirective,
1344
- CuiTextFieldSizeDirective], exports: [CuiTextFieldIconLeftDirective,
1345
- CuiTextFieldIdDirective,
1346
- CuiTextFieldPlaceholderDirective,
1347
- CuiTextFieldIsErrorDirective,
1348
- CuiTextFieldSizeDirective] });
1349
- CuiTextFieldControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldControllerModule });
1350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldControllerModule, decorators: [{
1351
- type: NgModule,
1352
- args: [{
1353
- declarations: [
1354
- CuiTextFieldIconLeftDirective,
1355
- CuiTextFieldIdDirective,
1356
- CuiTextFieldPlaceholderDirective,
1357
- CuiTextFieldIsErrorDirective,
1358
- CuiTextFieldSizeDirective
1359
- ],
1360
- exports: [
1361
- CuiTextFieldIconLeftDirective,
1362
- CuiTextFieldIdDirective,
1363
- CuiTextFieldPlaceholderDirective,
1364
- CuiTextFieldIsErrorDirective,
1365
- CuiTextFieldSizeDirective
1366
- ]
1367
- }]
1337
+ class CuiTextFieldControllerModule {
1338
+ }
1339
+ CuiTextFieldControllerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldControllerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1340
+ CuiTextFieldControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldControllerModule, declarations: [CuiTextFieldIconLeftDirective,
1341
+ CuiTextFieldIdDirective,
1342
+ CuiTextFieldPlaceholderDirective,
1343
+ CuiTextFieldIsErrorDirective,
1344
+ CuiTextFieldSizeDirective], exports: [CuiTextFieldIconLeftDirective,
1345
+ CuiTextFieldIdDirective,
1346
+ CuiTextFieldPlaceholderDirective,
1347
+ CuiTextFieldIsErrorDirective,
1348
+ CuiTextFieldSizeDirective] });
1349
+ CuiTextFieldControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldControllerModule });
1350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextFieldControllerModule, decorators: [{
1351
+ type: NgModule,
1352
+ args: [{
1353
+ declarations: [
1354
+ CuiTextFieldIconLeftDirective,
1355
+ CuiTextFieldIdDirective,
1356
+ CuiTextFieldPlaceholderDirective,
1357
+ CuiTextFieldIsErrorDirective,
1358
+ CuiTextFieldSizeDirective
1359
+ ],
1360
+ exports: [
1361
+ CuiTextFieldIconLeftDirective,
1362
+ CuiTextFieldIdDirective,
1363
+ CuiTextFieldPlaceholderDirective,
1364
+ CuiTextFieldIsErrorDirective,
1365
+ CuiTextFieldSizeDirective
1366
+ ]
1367
+ }]
1368
1368
  }] });
1369
1369
 
1370
- const CUI_TEXT_FIELD_CONTROLLER = new InjectionToken('');
1371
- const CUI_TEXT_FILED_CONTROLLER_PROVIDER = [
1372
- {
1373
- provide: CUI_TEXT_FIELD_CONTROLLER,
1374
- useFactory: (...controllers) => {
1375
- return new CuiTextFieldController(...controllers);
1376
- },
1377
- deps: [
1378
- CUI_TEXT_FIELD_ICON_LEFT,
1379
- CUI_TEXT_FIELD_ID,
1380
- CUI_TEXT_FIELD_IS_ERROR,
1381
- CUI_TEXT_FIELD_PLACEHOLDER,
1382
- CUI_TEXT_FIELD_SIZE
1383
- ]
1384
- }
1370
+ const CUI_TEXT_FIELD_CONTROLLER = new InjectionToken('');
1371
+ const CUI_TEXT_FILED_CONTROLLER_PROVIDER = [
1372
+ {
1373
+ provide: CUI_TEXT_FIELD_CONTROLLER,
1374
+ useFactory: (...controllers) => {
1375
+ return new CuiTextFieldController(...controllers);
1376
+ },
1377
+ deps: [
1378
+ CUI_TEXT_FIELD_ICON_LEFT,
1379
+ CUI_TEXT_FIELD_ID,
1380
+ CUI_TEXT_FIELD_IS_ERROR,
1381
+ CUI_TEXT_FIELD_PLACEHOLDER,
1382
+ CUI_TEXT_FIELD_SIZE
1383
+ ]
1384
+ }
1385
1385
  ];
1386
1386
 
1387
- class CuiInputNumberComponent {
1388
- constructor() {
1389
- this.changeDetectorRef = inject(ChangeDetectorRef);
1390
- this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
1391
- this.maskOptions = this.generateMask();
1392
- this._precision = 0;
1393
- this._min = Number.MIN_SAFE_INTEGER;
1394
- this._max = Number.MAX_SAFE_INTEGER;
1395
- }
1396
- set precision(value) {
1397
- this._precision = value;
1398
- this.maskOptions = this.generateMask();
1399
- }
1400
- set min(value) {
1401
- this._min = value;
1402
- this.maskOptions = this.generateMask();
1403
- }
1404
- set max(value) {
1405
- this._max = value;
1406
- this.maskOptions = this.generateMask();
1407
- }
1408
- get id() {
1409
- return this.cuiTextFieldController.id;
1410
- }
1411
- get placeholder() {
1412
- return this.cuiTextFieldController.placeholder;
1413
- }
1414
- get iconLeft() {
1415
- return this.cuiTextFieldController.iconLeft;
1416
- }
1417
- get size() {
1418
- return this.cuiTextFieldController.size;
1419
- }
1420
- get isError() {
1421
- return this.cuiTextFieldController.isError;
1422
- }
1423
- writeValue(value) {
1424
- this.value = value?.toString();
1425
- this.changeDetectorRef.markForCheck();
1426
- }
1427
- registerOnChange(fn) {
1428
- this.onChange = fn;
1429
- }
1430
- registerOnTouched(fn) {
1431
- this.onTouched = fn;
1432
- }
1433
- setDisabledState(isDisabled) {
1434
- this.isDisabled = isDisabled;
1435
- this.changeDetectorRef.markForCheck();
1436
- }
1437
- onInput({ target }) {
1438
- this.changeModel(target.value);
1439
- }
1440
- onFocus() {
1441
- this.input.nativeElement.focus();
1442
- }
1443
- changeModel(value) {
1444
- const parsedValue = maskitoParseNumber(value);
1445
- this.value = value;
1446
- this.onChange(Number.isNaN(parsedValue) ? null : parsedValue);
1447
- }
1448
- generateMask() {
1449
- return maskitoNumberOptionsGenerator({
1450
- precision: this._precision,
1451
- min: this._min,
1452
- max: this._max
1453
- });
1454
- }
1455
- }
1456
- CuiInputNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1457
- CuiInputNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: { precision: "precision", min: "min", max: "max" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
1458
- CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1459
- cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true)
1460
- ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [maskito]=\"maskOptions\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberComponent, decorators: [{
1462
- type: Component,
1463
- args: [{ selector: 'cui-input-number', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1464
- CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1465
- cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true)
1466
- ], template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [maskito]=\"maskOptions\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"] }]
1467
- }], propDecorators: { precision: [{
1468
- type: Input
1469
- }], min: [{
1470
- type: Input
1471
- }], max: [{
1472
- type: Input
1473
- }], isDisabled: [{
1474
- type: HostBinding,
1475
- args: ['class._disabled']
1476
- }], input: [{
1477
- type: ViewChild,
1478
- args: ['input']
1479
- }], size: [{
1480
- type: HostBinding,
1481
- args: ['attr.data-size']
1482
- }], isError: [{
1483
- type: HostBinding,
1484
- args: ['class._with-error']
1485
- }], onFocus: [{
1486
- type: HostListener,
1487
- args: ['click']
1387
+ class CuiInputNumberComponent {
1388
+ constructor() {
1389
+ this.changeDetectorRef = inject(ChangeDetectorRef);
1390
+ this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
1391
+ this.maskOptions = this.generateMask();
1392
+ this._precision = 0;
1393
+ this._min = Number.MIN_SAFE_INTEGER;
1394
+ this._max = Number.MAX_SAFE_INTEGER;
1395
+ }
1396
+ set precision(value) {
1397
+ this._precision = value;
1398
+ this.maskOptions = this.generateMask();
1399
+ }
1400
+ set min(value) {
1401
+ this._min = value;
1402
+ this.maskOptions = this.generateMask();
1403
+ }
1404
+ set max(value) {
1405
+ this._max = value;
1406
+ this.maskOptions = this.generateMask();
1407
+ }
1408
+ get id() {
1409
+ return this.cuiTextFieldController.id;
1410
+ }
1411
+ get placeholder() {
1412
+ return this.cuiTextFieldController.placeholder;
1413
+ }
1414
+ get iconLeft() {
1415
+ return this.cuiTextFieldController.iconLeft;
1416
+ }
1417
+ get size() {
1418
+ return this.cuiTextFieldController.size;
1419
+ }
1420
+ get isError() {
1421
+ return this.cuiTextFieldController.isError;
1422
+ }
1423
+ writeValue(value) {
1424
+ this.value = value?.toString();
1425
+ this.changeDetectorRef.markForCheck();
1426
+ }
1427
+ registerOnChange(fn) {
1428
+ this.onChange = fn;
1429
+ }
1430
+ registerOnTouched(fn) {
1431
+ this.onTouched = fn;
1432
+ }
1433
+ setDisabledState(isDisabled) {
1434
+ this.isDisabled = isDisabled;
1435
+ this.changeDetectorRef.markForCheck();
1436
+ }
1437
+ onInput({ target }) {
1438
+ this.changeModel(target.value);
1439
+ }
1440
+ onFocus() {
1441
+ this.input.nativeElement.focus();
1442
+ }
1443
+ changeModel(value) {
1444
+ const parsedValue = maskitoParseNumber(value);
1445
+ this.value = value;
1446
+ this.onChange(Number.isNaN(parsedValue) ? null : parsedValue);
1447
+ }
1448
+ generateMask() {
1449
+ return maskitoNumberOptionsGenerator({
1450
+ precision: this._precision,
1451
+ min: this._min,
1452
+ max: this._max
1453
+ });
1454
+ }
1455
+ }
1456
+ CuiInputNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1457
+ CuiInputNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: { precision: "precision", min: "min", max: "max" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
1458
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1459
+ cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true)
1460
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\r\n *ngIf=\"iconLeft\"\r\n [icon]=\"iconLeft\"\r\n color=\"var(--cui-base-500)\"\r\n></cui-svg>\r\n<input\r\n #input\r\n [ngModel]=\"value\"\r\n [attr.id]=\"id\"\r\n [attr.placeholder]=\"placeholder\"\r\n type=\"text\"\r\n [maskito]=\"maskOptions\"\r\n [disabled]=\"isDisabled\"\r\n class=\"c-input\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onTouched()\"\r\n>\r\n\r\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberComponent, decorators: [{
1462
+ type: Component,
1463
+ args: [{ selector: 'cui-input-number', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1464
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1465
+ cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true)
1466
+ ], template: "<cui-svg\r\n *ngIf=\"iconLeft\"\r\n [icon]=\"iconLeft\"\r\n color=\"var(--cui-base-500)\"\r\n></cui-svg>\r\n<input\r\n #input\r\n [ngModel]=\"value\"\r\n [attr.id]=\"id\"\r\n [attr.placeholder]=\"placeholder\"\r\n type=\"text\"\r\n [maskito]=\"maskOptions\"\r\n [disabled]=\"isDisabled\"\r\n class=\"c-input\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onTouched()\"\r\n>\r\n\r\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"] }]
1467
+ }], propDecorators: { precision: [{
1468
+ type: Input
1469
+ }], min: [{
1470
+ type: Input
1471
+ }], max: [{
1472
+ type: Input
1473
+ }], isDisabled: [{
1474
+ type: HostBinding,
1475
+ args: ['class._disabled']
1476
+ }], input: [{
1477
+ type: ViewChild,
1478
+ args: ['input']
1479
+ }], size: [{
1480
+ type: HostBinding,
1481
+ args: ['attr.data-size']
1482
+ }], isError: [{
1483
+ type: HostBinding,
1484
+ args: ['class._with-error']
1485
+ }], onFocus: [{
1486
+ type: HostListener,
1487
+ args: ['click']
1488
1488
  }] } });
1489
1489
 
1490
- class CuiInputNumberModule {
1491
- }
1492
- CuiInputNumberModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1493
- CuiInputNumberModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, declarations: [CuiInputNumberComponent], imports: [CommonModule,
1494
- FormsModule,
1495
- MaskitoDirective,
1496
- CuiSvgModule], exports: [CuiInputNumberComponent,
1497
- CuiTextFieldControllerModule] });
1498
- CuiInputNumberModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, imports: [CommonModule,
1499
- FormsModule,
1500
- CuiSvgModule, CuiTextFieldControllerModule] });
1501
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, decorators: [{
1502
- type: NgModule,
1503
- args: [{
1504
- imports: [
1505
- CommonModule,
1506
- FormsModule,
1507
- MaskitoDirective,
1508
- CuiSvgModule,
1509
- ],
1510
- declarations: [CuiInputNumberComponent],
1511
- exports: [
1512
- CuiInputNumberComponent,
1513
- CuiTextFieldControllerModule
1514
- ]
1515
- }]
1490
+ class CuiInputNumberModule {
1491
+ }
1492
+ CuiInputNumberModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1493
+ CuiInputNumberModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, declarations: [CuiInputNumberComponent], imports: [CommonModule,
1494
+ FormsModule,
1495
+ MaskitoDirective,
1496
+ CuiSvgModule], exports: [CuiInputNumberComponent,
1497
+ CuiTextFieldControllerModule] });
1498
+ CuiInputNumberModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, imports: [CommonModule,
1499
+ FormsModule,
1500
+ CuiSvgModule, CuiTextFieldControllerModule] });
1501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, decorators: [{
1502
+ type: NgModule,
1503
+ args: [{
1504
+ imports: [
1505
+ CommonModule,
1506
+ FormsModule,
1507
+ MaskitoDirective,
1508
+ CuiSvgModule,
1509
+ ],
1510
+ declarations: [CuiInputNumberComponent],
1511
+ exports: [
1512
+ CuiInputNumberComponent,
1513
+ CuiTextFieldControllerModule
1514
+ ]
1515
+ }]
1516
1516
  }] });
1517
1517
 
1518
- class CuiInputPasswordComponent {
1519
- constructor() {
1520
- this.changeDetectorRef = inject(ChangeDetectorRef);
1521
- this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
1522
- this.isPasswordHidden = true;
1523
- }
1524
- get id() {
1525
- return this.cuiTextFieldController.id;
1526
- }
1527
- get placeholder() {
1528
- return this.cuiTextFieldController.placeholder;
1529
- }
1530
- get iconLeft() {
1531
- return this.cuiTextFieldController.iconLeft;
1532
- }
1533
- get isToggleButtonShown() {
1534
- return !this.isDisabled;
1535
- }
1536
- get icon() {
1537
- return this.isPasswordHidden ? 'cuiIconEye' : 'cuiIconEyeOff';
1538
- }
1539
- get type() {
1540
- return this.isPasswordHidden ? 'password' : 'text';
1541
- }
1542
- get buttonTitle() {
1543
- return this.isPasswordHidden ? 'Reveal password' : 'Hide password';
1544
- }
1545
- get size() {
1546
- return this.cuiTextFieldController.size;
1547
- }
1548
- get isError() {
1549
- return this.cuiTextFieldController.isError;
1550
- }
1551
- writeValue(value) {
1552
- this.value = value;
1553
- this.changeDetectorRef.markForCheck();
1554
- }
1555
- registerOnChange(fn) {
1556
- this.onChange = fn;
1557
- }
1558
- registerOnTouched(fn) {
1559
- this.onTouched = fn;
1560
- }
1561
- setDisabledState(isDisabled) {
1562
- this.isDisabled = isDisabled;
1563
- if (this.isDisabled) {
1564
- this.isPasswordHidden = true;
1565
- }
1566
- this.changeDetectorRef.markForCheck();
1567
- }
1568
- onInput({ target }) {
1569
- const value = target.value;
1570
- this.value = value;
1571
- this.onChange(value);
1572
- }
1573
- onTogglePasswordVisibility() {
1574
- this.isPasswordHidden = !this.isPasswordHidden;
1575
- }
1576
- }
1577
- CuiInputPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1578
- CuiInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputPasswordComponent, selector: "cui-input-password", host: { properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
1579
- CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1580
- cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)
1581
- ], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n color=\"var(--cui-base-500)\"\n ></cui-svg>\n</button>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1582
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordComponent, decorators: [{
1583
- type: Component,
1584
- args: [{ selector: 'cui-input-password', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1585
- CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1586
- cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)
1587
- ], template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n color=\"var(--cui-base-500)\"\n ></cui-svg>\n</button>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"] }]
1588
- }], propDecorators: { isDisabled: [{
1589
- type: HostBinding,
1590
- args: ['class._disabled']
1591
- }], size: [{
1592
- type: HostBinding,
1593
- args: ['attr.data-size']
1594
- }], isError: [{
1595
- type: HostBinding,
1596
- args: ['class._with-error']
1518
+ class CuiInputPasswordComponent {
1519
+ constructor() {
1520
+ this.changeDetectorRef = inject(ChangeDetectorRef);
1521
+ this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
1522
+ this.isPasswordHidden = true;
1523
+ }
1524
+ get id() {
1525
+ return this.cuiTextFieldController.id;
1526
+ }
1527
+ get placeholder() {
1528
+ return this.cuiTextFieldController.placeholder;
1529
+ }
1530
+ get iconLeft() {
1531
+ return this.cuiTextFieldController.iconLeft;
1532
+ }
1533
+ get isToggleButtonShown() {
1534
+ return !this.isDisabled;
1535
+ }
1536
+ get icon() {
1537
+ return this.isPasswordHidden ? 'cuiIconEye' : 'cuiIconEyeOff';
1538
+ }
1539
+ get type() {
1540
+ return this.isPasswordHidden ? 'password' : 'text';
1541
+ }
1542
+ get buttonTitle() {
1543
+ return this.isPasswordHidden ? 'Reveal password' : 'Hide password';
1544
+ }
1545
+ get size() {
1546
+ return this.cuiTextFieldController.size;
1547
+ }
1548
+ get isError() {
1549
+ return this.cuiTextFieldController.isError;
1550
+ }
1551
+ writeValue(value) {
1552
+ this.value = value;
1553
+ this.changeDetectorRef.markForCheck();
1554
+ }
1555
+ registerOnChange(fn) {
1556
+ this.onChange = fn;
1557
+ }
1558
+ registerOnTouched(fn) {
1559
+ this.onTouched = fn;
1560
+ }
1561
+ setDisabledState(isDisabled) {
1562
+ this.isDisabled = isDisabled;
1563
+ if (this.isDisabled) {
1564
+ this.isPasswordHidden = true;
1565
+ }
1566
+ this.changeDetectorRef.markForCheck();
1567
+ }
1568
+ onInput({ target }) {
1569
+ const value = target.value;
1570
+ this.value = value;
1571
+ this.onChange(value);
1572
+ }
1573
+ onTogglePasswordVisibility() {
1574
+ this.isPasswordHidden = !this.isPasswordHidden;
1575
+ }
1576
+ }
1577
+ CuiInputPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1578
+ CuiInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputPasswordComponent, selector: "cui-input-password", host: { properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
1579
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1580
+ cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)
1581
+ ], ngImport: i0, template: "<cui-svg\r\n *ngIf=\"iconLeft\"\r\n [icon]=\"iconLeft\"\r\n color=\"var(--cui-base-500)\"\r\n></cui-svg>\r\n<input\r\n [ngModel]=\"value\"\r\n [attr.id]=\"id\"\r\n [attr.placeholder]=\"placeholder\"\r\n [type]=\"type\"\r\n [disabled]=\"isDisabled\"\r\n class=\"c-input\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onTouched()\"\r\n>\r\n<button\r\n *ngIf=\"isToggleButtonShown\"\r\n [title]=\"buttonTitle\"\r\n class=\"c-button\"\r\n (click)=\"onTogglePasswordVisibility()\"\r\n>\r\n <cui-svg\r\n [icon]=\"icon\"\r\n [width]=\"16\"\r\n [height]=\"16\"\r\n color=\"var(--cui-base-500)\"\r\n ></cui-svg>\r\n</button>\r\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1582
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordComponent, decorators: [{
1583
+ type: Component,
1584
+ args: [{ selector: 'cui-input-password', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1585
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1586
+ cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)
1587
+ ], template: "<cui-svg\r\n *ngIf=\"iconLeft\"\r\n [icon]=\"iconLeft\"\r\n color=\"var(--cui-base-500)\"\r\n></cui-svg>\r\n<input\r\n [ngModel]=\"value\"\r\n [attr.id]=\"id\"\r\n [attr.placeholder]=\"placeholder\"\r\n [type]=\"type\"\r\n [disabled]=\"isDisabled\"\r\n class=\"c-input\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onTouched()\"\r\n>\r\n<button\r\n *ngIf=\"isToggleButtonShown\"\r\n [title]=\"buttonTitle\"\r\n class=\"c-button\"\r\n (click)=\"onTogglePasswordVisibility()\"\r\n>\r\n <cui-svg\r\n [icon]=\"icon\"\r\n [width]=\"16\"\r\n [height]=\"16\"\r\n color=\"var(--cui-base-500)\"\r\n ></cui-svg>\r\n</button>\r\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"] }]
1588
+ }], propDecorators: { isDisabled: [{
1589
+ type: HostBinding,
1590
+ args: ['class._disabled']
1591
+ }], size: [{
1592
+ type: HostBinding,
1593
+ args: ['attr.data-size']
1594
+ }], isError: [{
1595
+ type: HostBinding,
1596
+ args: ['class._with-error']
1597
1597
  }] } });
1598
1598
 
1599
- class CuiInputPasswordModule {
1600
- }
1601
- CuiInputPasswordModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1602
- CuiInputPasswordModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, declarations: [CuiInputPasswordComponent], imports: [CommonModule,
1603
- FormsModule,
1604
- CuiSvgModule], exports: [CuiInputPasswordComponent,
1605
- CuiTextFieldControllerModule] });
1606
- CuiInputPasswordModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, imports: [CommonModule,
1607
- FormsModule,
1608
- CuiSvgModule, CuiTextFieldControllerModule] });
1609
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, decorators: [{
1610
- type: NgModule,
1611
- args: [{
1612
- imports: [
1613
- CommonModule,
1614
- FormsModule,
1615
- CuiSvgModule
1616
- ],
1617
- declarations: [CuiInputPasswordComponent],
1618
- exports: [
1619
- CuiInputPasswordComponent,
1620
- CuiTextFieldControllerModule
1621
- ]
1622
- }]
1599
+ class CuiInputPasswordModule {
1600
+ }
1601
+ CuiInputPasswordModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1602
+ CuiInputPasswordModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, declarations: [CuiInputPasswordComponent], imports: [CommonModule,
1603
+ FormsModule,
1604
+ CuiSvgModule], exports: [CuiInputPasswordComponent,
1605
+ CuiTextFieldControllerModule] });
1606
+ CuiInputPasswordModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, imports: [CommonModule,
1607
+ FormsModule,
1608
+ CuiSvgModule, CuiTextFieldControllerModule] });
1609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, decorators: [{
1610
+ type: NgModule,
1611
+ args: [{
1612
+ imports: [
1613
+ CommonModule,
1614
+ FormsModule,
1615
+ CuiSvgModule
1616
+ ],
1617
+ declarations: [CuiInputPasswordComponent],
1618
+ exports: [
1619
+ CuiInputPasswordComponent,
1620
+ CuiTextFieldControllerModule
1621
+ ]
1622
+ }]
1623
1623
  }] });
1624
1624
 
1625
- class CuiInputTextComponent {
1626
- constructor() {
1627
- this.changeDetectorRef = inject(ChangeDetectorRef);
1628
- this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
1629
- }
1630
- get id() {
1631
- return this.cuiTextFieldController.id;
1632
- }
1633
- get placeholder() {
1634
- return this.cuiTextFieldController.placeholder;
1635
- }
1636
- get iconLeft() {
1637
- return this.cuiTextFieldController.iconLeft;
1638
- }
1639
- get isClearButtonHidden() {
1640
- return !(this.value && !this.isDisabled);
1641
- }
1642
- get size() {
1643
- return this.cuiTextFieldController.size;
1644
- }
1645
- get isError() {
1646
- return this.cuiTextFieldController.isError;
1647
- }
1648
- writeValue(value) {
1649
- this.value = value;
1650
- this.changeDetectorRef.markForCheck();
1651
- }
1652
- registerOnChange(fn) {
1653
- this.onChange = fn;
1654
- }
1655
- registerOnTouched(fn) {
1656
- this.onTouched = fn;
1657
- }
1658
- setDisabledState(isDisabled) {
1659
- this.isDisabled = isDisabled;
1660
- this.changeDetectorRef.markForCheck();
1661
- }
1662
- onInput({ target }) {
1663
- this.changeModel(target.value);
1664
- }
1665
- onClear() {
1666
- this.changeModel('');
1667
- }
1668
- onFocus() {
1669
- this.input.nativeElement.focus();
1670
- }
1671
- changeModel(value) {
1672
- this.value = value;
1673
- this.onChange(value);
1674
- }
1675
- }
1676
- CuiInputTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1677
- CuiInputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputTextComponent, selector: "cui-input-text", host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
1678
- CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1679
- cuiProvide(NG_VALUE_ACCESSOR, CuiInputTextComponent, true)
1680
- ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n type=\"button\"\n class=\"c-button\"\n [class.c-button_hidden]=\"isClearButtonHidden\"\n (click)=\"onClear()\"\n>\n <cui-svg\n icon=\"cuiIconClear\"\n color=\"var(--cui-base-300)\"\n class=\"c-close-icon\"\n />\n</button>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-close-icon ::ng-deep path{stroke:var(--cui-base-0)!important}.c-button_hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1681
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTextComponent, decorators: [{
1682
- type: Component,
1683
- args: [{ selector: 'cui-input-text', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1684
- CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1685
- cuiProvide(NG_VALUE_ACCESSOR, CuiInputTextComponent, true)
1686
- ], template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n type=\"button\"\n class=\"c-button\"\n [class.c-button_hidden]=\"isClearButtonHidden\"\n (click)=\"onClear()\"\n>\n <cui-svg\n icon=\"cuiIconClear\"\n color=\"var(--cui-base-300)\"\n class=\"c-close-icon\"\n />\n</button>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-close-icon ::ng-deep path{stroke:var(--cui-base-0)!important}.c-button_hidden{visibility:hidden}\n"] }]
1687
- }], propDecorators: { isDisabled: [{
1688
- type: HostBinding,
1689
- args: ['class._disabled']
1690
- }], input: [{
1691
- type: ViewChild,
1692
- args: ['input']
1693
- }], size: [{
1694
- type: HostBinding,
1695
- args: ['attr.data-size']
1696
- }], isError: [{
1697
- type: HostBinding,
1698
- args: ['class._with-error']
1699
- }], onFocus: [{
1700
- type: HostListener,
1701
- args: ['click']
1625
+ class CuiInputTextComponent {
1626
+ constructor() {
1627
+ this.changeDetectorRef = inject(ChangeDetectorRef);
1628
+ this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
1629
+ }
1630
+ get id() {
1631
+ return this.cuiTextFieldController.id;
1632
+ }
1633
+ get placeholder() {
1634
+ return this.cuiTextFieldController.placeholder;
1635
+ }
1636
+ get iconLeft() {
1637
+ return this.cuiTextFieldController.iconLeft;
1638
+ }
1639
+ get isClearButtonHidden() {
1640
+ return !(this.value && !this.isDisabled);
1641
+ }
1642
+ get size() {
1643
+ return this.cuiTextFieldController.size;
1644
+ }
1645
+ get isError() {
1646
+ return this.cuiTextFieldController.isError;
1647
+ }
1648
+ writeValue(value) {
1649
+ this.value = value;
1650
+ this.changeDetectorRef.markForCheck();
1651
+ }
1652
+ registerOnChange(fn) {
1653
+ this.onChange = fn;
1654
+ }
1655
+ registerOnTouched(fn) {
1656
+ this.onTouched = fn;
1657
+ }
1658
+ setDisabledState(isDisabled) {
1659
+ this.isDisabled = isDisabled;
1660
+ this.changeDetectorRef.markForCheck();
1661
+ }
1662
+ onInput({ target }) {
1663
+ this.changeModel(target.value);
1664
+ }
1665
+ onClear() {
1666
+ this.changeModel('');
1667
+ }
1668
+ onFocus() {
1669
+ this.input.nativeElement.focus();
1670
+ }
1671
+ changeModel(value) {
1672
+ this.value = value;
1673
+ this.onChange(value);
1674
+ }
1675
+ }
1676
+ CuiInputTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1677
+ CuiInputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputTextComponent, selector: "cui-input-text", host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
1678
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1679
+ cuiProvide(NG_VALUE_ACCESSOR, CuiInputTextComponent, true)
1680
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\r\n *ngIf=\"iconLeft\"\r\n [icon]=\"iconLeft\"\r\n color=\"var(--cui-base-500)\"\r\n></cui-svg>\r\n<input\r\n #input\r\n [ngModel]=\"value\"\r\n [attr.id]=\"id\"\r\n [attr.placeholder]=\"placeholder\"\r\n type=\"text\"\r\n [disabled]=\"isDisabled\"\r\n class=\"c-input\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onTouched()\"\r\n>\r\n<button\r\n type=\"button\"\r\n class=\"c-button\"\r\n [class.c-button_hidden]=\"isClearButtonHidden\"\r\n (click)=\"onClear()\"\r\n>\r\n <cui-svg\r\n icon=\"cuiIconClear\"\r\n color=\"var(--cui-base-300)\"\r\n class=\"c-close-icon\"\r\n />\r\n</button>\r\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-close-icon ::ng-deep path{stroke:var(--cui-base-0)!important}.c-button_hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTextComponent, decorators: [{
1682
+ type: Component,
1683
+ args: [{ selector: 'cui-input-text', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1684
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1685
+ cuiProvide(NG_VALUE_ACCESSOR, CuiInputTextComponent, true)
1686
+ ], template: "<cui-svg\r\n *ngIf=\"iconLeft\"\r\n [icon]=\"iconLeft\"\r\n color=\"var(--cui-base-500)\"\r\n></cui-svg>\r\n<input\r\n #input\r\n [ngModel]=\"value\"\r\n [attr.id]=\"id\"\r\n [attr.placeholder]=\"placeholder\"\r\n type=\"text\"\r\n [disabled]=\"isDisabled\"\r\n class=\"c-input\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onTouched()\"\r\n>\r\n<button\r\n type=\"button\"\r\n class=\"c-button\"\r\n [class.c-button_hidden]=\"isClearButtonHidden\"\r\n (click)=\"onClear()\"\r\n>\r\n <cui-svg\r\n icon=\"cuiIconClear\"\r\n color=\"var(--cui-base-300)\"\r\n class=\"c-close-icon\"\r\n />\r\n</button>\r\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-close-icon ::ng-deep path{stroke:var(--cui-base-0)!important}.c-button_hidden{visibility:hidden}\n"] }]
1687
+ }], propDecorators: { isDisabled: [{
1688
+ type: HostBinding,
1689
+ args: ['class._disabled']
1690
+ }], input: [{
1691
+ type: ViewChild,
1692
+ args: ['input']
1693
+ }], size: [{
1694
+ type: HostBinding,
1695
+ args: ['attr.data-size']
1696
+ }], isError: [{
1697
+ type: HostBinding,
1698
+ args: ['class._with-error']
1699
+ }], onFocus: [{
1700
+ type: HostListener,
1701
+ args: ['click']
1702
1702
  }] } });
1703
1703
 
1704
- class CuiInputModule {
1705
- }
1706
- CuiInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1707
- CuiInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, declarations: [CuiInputTextComponent], imports: [CommonModule,
1708
- FormsModule,
1709
- CuiSvgModule], exports: [CuiInputTextComponent,
1710
- CuiTextFieldControllerModule] });
1711
- CuiInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, imports: [CommonModule,
1712
- FormsModule,
1713
- CuiSvgModule, CuiTextFieldControllerModule] });
1714
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, decorators: [{
1715
- type: NgModule,
1716
- args: [{
1717
- imports: [
1718
- CommonModule,
1719
- FormsModule,
1720
- CuiSvgModule
1721
- ],
1722
- declarations: [CuiInputTextComponent],
1723
- exports: [
1724
- CuiInputTextComponent,
1725
- CuiTextFieldControllerModule
1726
- ]
1727
- }]
1704
+ class CuiInputModule {
1705
+ }
1706
+ CuiInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1707
+ CuiInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, declarations: [CuiInputTextComponent], imports: [CommonModule,
1708
+ FormsModule,
1709
+ CuiSvgModule], exports: [CuiInputTextComponent,
1710
+ CuiTextFieldControllerModule] });
1711
+ CuiInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, imports: [CommonModule,
1712
+ FormsModule,
1713
+ CuiSvgModule, CuiTextFieldControllerModule] });
1714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, decorators: [{
1715
+ type: NgModule,
1716
+ args: [{
1717
+ imports: [
1718
+ CommonModule,
1719
+ FormsModule,
1720
+ CuiSvgModule
1721
+ ],
1722
+ declarations: [CuiInputTextComponent],
1723
+ exports: [
1724
+ CuiInputTextComponent,
1725
+ CuiTextFieldControllerModule
1726
+ ]
1727
+ }]
1728
1728
  }] });
1729
1729
 
1730
- const CUI_INPUT_TIME_DEFAULT_OPTIONS = {
1731
- mode: 'HH:MM'
1732
- };
1733
- const CUI_INPUT_TIME_OPTIONS = new InjectionToken('', {
1734
- factory: () => CUI_INPUT_TIME_DEFAULT_OPTIONS
1730
+ const CUI_INPUT_TIME_DEFAULT_OPTIONS = {
1731
+ mode: 'HH:MM'
1732
+ };
1733
+ const CUI_INPUT_TIME_OPTIONS = new InjectionToken('', {
1734
+ factory: () => CUI_INPUT_TIME_DEFAULT_OPTIONS
1735
1735
  });
1736
1736
 
1737
- class CuiInputTimeComponent {
1738
- constructor() {
1739
- this.changeDetectorRef = inject(ChangeDetectorRef);
1740
- this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
1741
- this.options = inject(CUI_INPUT_TIME_OPTIONS);
1742
- this._mode = this.options.mode;
1743
- this.maskOptions = this.generateMask(this._mode);
1744
- this.defaultPlaceholder = this._mode.toLowerCase();
1745
- }
1746
- set mode(value) {
1747
- this._mode = value;
1748
- this.maskOptions = this.generateMask(value);
1749
- this.defaultPlaceholder = value.toLowerCase();
1750
- }
1751
- get id() {
1752
- return this.cuiTextFieldController.id;
1753
- }
1754
- get placeholder() {
1755
- return this.cuiTextFieldController.placeholder ?? this.defaultPlaceholder;
1756
- }
1757
- get computedValue() {
1758
- return this.value ? this.value.toString(this._mode) : '';
1759
- }
1760
- get size() {
1761
- return this.cuiTextFieldController.size;
1762
- }
1763
- get isError() {
1764
- return this.cuiTextFieldController.isError;
1765
- }
1766
- writeValue(value) {
1767
- this.value = value;
1768
- this.changeDetectorRef.markForCheck();
1769
- }
1770
- registerOnChange(fn) {
1771
- this.onChange = fn;
1772
- }
1773
- registerOnTouched(fn) {
1774
- this.onTouched = fn;
1775
- }
1776
- setDisabledState(isDisabled) {
1777
- this.isDisabled = isDisabled;
1778
- this.changeDetectorRef.markForCheck();
1779
- }
1780
- onInput(event) {
1781
- const value = event.target.value;
1782
- if (value.length !== this._mode.length) {
1783
- this.onChange(null);
1784
- return;
1785
- }
1786
- const time = CuiTime.fromString(value);
1787
- this.onChange(time);
1788
- }
1789
- onFocus() {
1790
- this.input.nativeElement.focus();
1791
- }
1792
- generateMask(mode) {
1793
- return maskitoTimeOptionsGenerator({ mode });
1794
- }
1795
- }
1796
- CuiInputTimeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1797
- CuiInputTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputTimeComponent, selector: "cui-input-time", inputs: { mode: "mode" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
1798
- CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1799
- cuiProvide(NG_VALUE_ACCESSOR, CuiInputTimeComponent, true)
1800
- ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n icon=\"cuiIconClock\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"computedValue\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [maskito]=\"maskOptions\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"], dependencies: [{ kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1801
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeComponent, decorators: [{
1802
- type: Component,
1803
- args: [{ selector: 'cui-input-time', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1804
- CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1805
- cuiProvide(NG_VALUE_ACCESSOR, CuiInputTimeComponent, true)
1806
- ], template: "<cui-svg\n icon=\"cuiIconClock\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"computedValue\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [maskito]=\"maskOptions\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"] }]
1807
- }], propDecorators: { mode: [{
1808
- type: Input
1809
- }], isDisabled: [{
1810
- type: HostBinding,
1811
- args: ['class._disabled']
1812
- }], input: [{
1813
- type: ViewChild,
1814
- args: ['input']
1815
- }], size: [{
1816
- type: HostBinding,
1817
- args: ['attr.data-size']
1818
- }], isError: [{
1819
- type: HostBinding,
1820
- args: ['class._with-error']
1821
- }], onFocus: [{
1822
- type: HostListener,
1823
- args: ['click']
1737
+ class CuiInputTimeComponent {
1738
+ constructor() {
1739
+ this.changeDetectorRef = inject(ChangeDetectorRef);
1740
+ this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
1741
+ this.options = inject(CUI_INPUT_TIME_OPTIONS);
1742
+ this._mode = this.options.mode;
1743
+ this.maskOptions = this.generateMask(this._mode);
1744
+ this.defaultPlaceholder = this._mode.toLowerCase();
1745
+ }
1746
+ set mode(value) {
1747
+ this._mode = value;
1748
+ this.maskOptions = this.generateMask(value);
1749
+ this.defaultPlaceholder = value.toLowerCase();
1750
+ }
1751
+ get id() {
1752
+ return this.cuiTextFieldController.id;
1753
+ }
1754
+ get placeholder() {
1755
+ return this.cuiTextFieldController.placeholder ?? this.defaultPlaceholder;
1756
+ }
1757
+ get computedValue() {
1758
+ return this.value ? this.value.toString(this._mode) : '';
1759
+ }
1760
+ get size() {
1761
+ return this.cuiTextFieldController.size;
1762
+ }
1763
+ get isError() {
1764
+ return this.cuiTextFieldController.isError;
1765
+ }
1766
+ writeValue(value) {
1767
+ this.value = value;
1768
+ this.changeDetectorRef.markForCheck();
1769
+ }
1770
+ registerOnChange(fn) {
1771
+ this.onChange = fn;
1772
+ }
1773
+ registerOnTouched(fn) {
1774
+ this.onTouched = fn;
1775
+ }
1776
+ setDisabledState(isDisabled) {
1777
+ this.isDisabled = isDisabled;
1778
+ this.changeDetectorRef.markForCheck();
1779
+ }
1780
+ onInput(event) {
1781
+ const value = event.target.value;
1782
+ if (value.length !== this._mode.length) {
1783
+ this.onChange(null);
1784
+ return;
1785
+ }
1786
+ const time = CuiTime.fromString(value);
1787
+ this.onChange(time);
1788
+ }
1789
+ onFocus() {
1790
+ this.input.nativeElement.focus();
1791
+ }
1792
+ generateMask(mode) {
1793
+ return maskitoTimeOptionsGenerator({ mode });
1794
+ }
1795
+ }
1796
+ CuiInputTimeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1797
+ CuiInputTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputTimeComponent, selector: "cui-input-time", inputs: { mode: "mode" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
1798
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1799
+ cuiProvide(NG_VALUE_ACCESSOR, CuiInputTimeComponent, true)
1800
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\r\n icon=\"cuiIconClock\"\r\n color=\"var(--cui-base-500)\"\r\n></cui-svg>\r\n<input\r\n #input\r\n [ngModel]=\"computedValue\"\r\n [attr.id]=\"id\"\r\n [attr.placeholder]=\"placeholder\"\r\n type=\"text\"\r\n [maskito]=\"maskOptions\"\r\n [disabled]=\"isDisabled\"\r\n class=\"c-input\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onTouched()\"\r\n>", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"], dependencies: [{ kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeComponent, decorators: [{
1802
+ type: Component,
1803
+ args: [{ selector: 'cui-input-time', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1804
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
1805
+ cuiProvide(NG_VALUE_ACCESSOR, CuiInputTimeComponent, true)
1806
+ ], template: "<cui-svg\r\n icon=\"cuiIconClock\"\r\n color=\"var(--cui-base-500)\"\r\n></cui-svg>\r\n<input\r\n #input\r\n [ngModel]=\"computedValue\"\r\n [attr.id]=\"id\"\r\n [attr.placeholder]=\"placeholder\"\r\n type=\"text\"\r\n [maskito]=\"maskOptions\"\r\n [disabled]=\"isDisabled\"\r\n class=\"c-input\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onTouched()\"\r\n>", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"] }]
1807
+ }], propDecorators: { mode: [{
1808
+ type: Input
1809
+ }], isDisabled: [{
1810
+ type: HostBinding,
1811
+ args: ['class._disabled']
1812
+ }], input: [{
1813
+ type: ViewChild,
1814
+ args: ['input']
1815
+ }], size: [{
1816
+ type: HostBinding,
1817
+ args: ['attr.data-size']
1818
+ }], isError: [{
1819
+ type: HostBinding,
1820
+ args: ['class._with-error']
1821
+ }], onFocus: [{
1822
+ type: HostListener,
1823
+ args: ['click']
1824
1824
  }] } });
1825
1825
 
1826
- class CuiInputTimeModule {
1827
- }
1828
- CuiInputTimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1829
- CuiInputTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeModule, declarations: [CuiInputTimeComponent], imports: [CommonModule,
1830
- FormsModule,
1831
- MaskitoDirective,
1832
- CuiSvgModule], exports: [CuiInputTimeComponent,
1833
- CuiTextFieldControllerModule] });
1834
- CuiInputTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeModule, imports: [CommonModule,
1835
- FormsModule,
1836
- CuiSvgModule, CuiTextFieldControllerModule] });
1837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeModule, decorators: [{
1838
- type: NgModule,
1839
- args: [{
1840
- imports: [
1841
- CommonModule,
1842
- FormsModule,
1843
- MaskitoDirective,
1844
- CuiSvgModule
1845
- ],
1846
- declarations: [CuiInputTimeComponent],
1847
- exports: [
1848
- CuiInputTimeComponent,
1849
- CuiTextFieldControllerModule
1850
- ]
1851
- }]
1826
+ class CuiInputTimeModule {
1827
+ }
1828
+ CuiInputTimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1829
+ CuiInputTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeModule, declarations: [CuiInputTimeComponent], imports: [CommonModule,
1830
+ FormsModule,
1831
+ MaskitoDirective,
1832
+ CuiSvgModule], exports: [CuiInputTimeComponent,
1833
+ CuiTextFieldControllerModule] });
1834
+ CuiInputTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeModule, imports: [CommonModule,
1835
+ FormsModule,
1836
+ CuiSvgModule, CuiTextFieldControllerModule] });
1837
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTimeModule, decorators: [{
1838
+ type: NgModule,
1839
+ args: [{
1840
+ imports: [
1841
+ CommonModule,
1842
+ FormsModule,
1843
+ MaskitoDirective,
1844
+ CuiSvgModule
1845
+ ],
1846
+ declarations: [CuiInputTimeComponent],
1847
+ exports: [
1848
+ CuiInputTimeComponent,
1849
+ CuiTextFieldControllerModule
1850
+ ]
1851
+ }]
1852
1852
  }] });
1853
1853
 
1854
- class CuiLabelComponent {
1855
- constructor() {
1856
- this.isRequired = false;
1857
- }
1858
- }
1859
- CuiLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1860
- CuiLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: { isRequired: "isRequired" }, ngImport: i0, template: "<span class=\"c-wrapper\">\n <ng-content></ng-content>\n</span>\n<span\n *ngIf=\"isRequired\"\n class=\"c-star\"\n>\n *\n</span>\n", styles: [":host{font-weight:500;font-size:14px;line-height:20px;display:inline-flex;gap:2px;cursor:pointer;width:-moz-fit-content;width:fit-content;color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-wrapper{display:inline-flex;align-items:center;gap:8px}.c-star{color:var(--cui-danger)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1861
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelComponent, decorators: [{
1862
- type: Component,
1863
- args: [{ selector: 'label[cuiLabel]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"c-wrapper\">\n <ng-content></ng-content>\n</span>\n<span\n *ngIf=\"isRequired\"\n class=\"c-star\"\n>\n *\n</span>\n", styles: [":host{font-weight:500;font-size:14px;line-height:20px;display:inline-flex;gap:2px;cursor:pointer;width:-moz-fit-content;width:fit-content;color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-wrapper{display:inline-flex;align-items:center;gap:8px}.c-star{color:var(--cui-danger)}\n"] }]
1864
- }], propDecorators: { isRequired: [{
1865
- type: Input
1854
+ class CuiLabelComponent {
1855
+ constructor() {
1856
+ this.isRequired = false;
1857
+ }
1858
+ }
1859
+ CuiLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1860
+ CuiLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: { isRequired: "isRequired" }, ngImport: i0, template: "<span class=\"c-wrapper\">\r\n <ng-content></ng-content>\r\n</span>\r\n<span\r\n *ngIf=\"isRequired\"\r\n class=\"c-star\"\r\n>\r\n *\r\n</span>\r\n", styles: [":host{font-weight:500;font-size:14px;line-height:20px;display:inline-flex;gap:2px;cursor:pointer;width:-moz-fit-content;width:fit-content;color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-wrapper{display:inline-flex;align-items:center;gap:8px}.c-star{color:var(--cui-danger)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1861
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelComponent, decorators: [{
1862
+ type: Component,
1863
+ args: [{ selector: 'label[cuiLabel]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"c-wrapper\">\r\n <ng-content></ng-content>\r\n</span>\r\n<span\r\n *ngIf=\"isRequired\"\r\n class=\"c-star\"\r\n>\r\n *\r\n</span>\r\n", styles: [":host{font-weight:500;font-size:14px;line-height:20px;display:inline-flex;gap:2px;cursor:pointer;width:-moz-fit-content;width:fit-content;color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-wrapper{display:inline-flex;align-items:center;gap:8px}.c-star{color:var(--cui-danger)}\n"] }]
1864
+ }], propDecorators: { isRequired: [{
1865
+ type: Input
1866
1866
  }] } });
1867
1867
 
1868
- class CuiLabelModule {
1869
- }
1870
- CuiLabelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1871
- CuiLabelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelModule, declarations: [CuiLabelComponent], imports: [CommonModule], exports: [CuiLabelComponent] });
1872
- CuiLabelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelModule, imports: [CommonModule] });
1873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelModule, decorators: [{
1874
- type: NgModule,
1875
- args: [{
1876
- imports: [CommonModule],
1877
- declarations: [CuiLabelComponent],
1878
- exports: [CuiLabelComponent]
1879
- }]
1868
+ class CuiLabelModule {
1869
+ }
1870
+ CuiLabelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1871
+ CuiLabelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelModule, declarations: [CuiLabelComponent], imports: [CommonModule], exports: [CuiLabelComponent] });
1872
+ CuiLabelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelModule, imports: [CommonModule] });
1873
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiLabelModule, decorators: [{
1874
+ type: NgModule,
1875
+ args: [{
1876
+ imports: [CommonModule],
1877
+ declarations: [CuiLabelComponent],
1878
+ exports: [CuiLabelComponent]
1879
+ }]
1880
1880
  }] });
1881
1881
 
1882
- class CuiRadioComponent {
1883
- }
1884
- CuiRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1885
- CuiRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiRadioComponent, selector: "input[type=\"radio\"][cuiRadio]", ngImport: i0, template: '', isInline: true, styles: [":host{position:relative;width:16px;height:16px;border:1px solid var(--cui-base-200);border-radius:50%;outline:none;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-0)}:host:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%}:host:focus{box-shadow:0 0 0 2px var(--cui-focus)}@media (hover: hover){:host:hover{border-color:var(--cui-base-400)}}:host:active{border-color:var(--cui-base-400);box-shadow:none}:host:checked{border:2px solid var(--cui-info)}:host:checked:before{background:var(--cui-info)}:host:disabled{cursor:not-allowed;border:1px solid var(--cui-base-200);background:var(--cui-base-100)}:host:disabled:checked{border-width:2px}:host:disabled:checked:before{background:var(--cui-base-200)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1886
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioComponent, decorators: [{
1887
- type: Component,
1888
- args: [{ selector: 'input[type="radio"][cuiRadio]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:relative;width:16px;height:16px;border:1px solid var(--cui-base-200);border-radius:50%;outline:none;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-0)}:host:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%}:host:focus{box-shadow:0 0 0 2px var(--cui-focus)}@media (hover: hover){:host:hover{border-color:var(--cui-base-400)}}:host:active{border-color:var(--cui-base-400);box-shadow:none}:host:checked{border:2px solid var(--cui-info)}:host:checked:before{background:var(--cui-info)}:host:disabled{cursor:not-allowed;border:1px solid var(--cui-base-200);background:var(--cui-base-100)}:host:disabled:checked{border-width:2px}:host:disabled:checked:before{background:var(--cui-base-200)}\n"] }]
1882
+ class CuiRadioComponent {
1883
+ }
1884
+ CuiRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1885
+ CuiRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiRadioComponent, selector: "input[type=\"radio\"][cuiRadio]", ngImport: i0, template: '', isInline: true, styles: [":host{position:relative;width:16px;height:16px;border:1px solid var(--cui-base-200);border-radius:50%;outline:none;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-0)}:host:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%}:host:focus{box-shadow:0 0 0 2px var(--cui-focus)}@media (hover: hover){:host:hover{border-color:var(--cui-base-400)}}:host:active{border-color:var(--cui-base-400);box-shadow:none}:host:checked{border:2px solid var(--cui-info)}:host:checked:before{background:var(--cui-info)}:host:disabled{cursor:not-allowed;border:1px solid var(--cui-base-200);background:var(--cui-base-100)}:host:disabled:checked{border-width:2px}:host:disabled:checked:before{background:var(--cui-base-200)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1886
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioComponent, decorators: [{
1887
+ type: Component,
1888
+ args: [{ selector: 'input[type="radio"][cuiRadio]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:relative;width:16px;height:16px;border:1px solid var(--cui-base-200);border-radius:50%;outline:none;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-0)}:host:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%}:host:focus{box-shadow:0 0 0 2px var(--cui-focus)}@media (hover: hover){:host:hover{border-color:var(--cui-base-400)}}:host:active{border-color:var(--cui-base-400);box-shadow:none}:host:checked{border:2px solid var(--cui-info)}:host:checked:before{background:var(--cui-info)}:host:disabled{cursor:not-allowed;border:1px solid var(--cui-base-200);background:var(--cui-base-100)}:host:disabled:checked{border-width:2px}:host:disabled:checked:before{background:var(--cui-base-200)}\n"] }]
1889
1889
  }] });
1890
1890
 
1891
- class CuiRadioModule {
1892
- }
1893
- CuiRadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1894
- CuiRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioModule, declarations: [CuiRadioComponent], exports: [CuiRadioComponent] });
1895
- CuiRadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioModule });
1896
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioModule, decorators: [{
1897
- type: NgModule,
1898
- args: [{
1899
- declarations: [CuiRadioComponent],
1900
- exports: [CuiRadioComponent]
1901
- }]
1891
+ class CuiRadioModule {
1892
+ }
1893
+ CuiRadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1894
+ CuiRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioModule, declarations: [CuiRadioComponent], exports: [CuiRadioComponent] });
1895
+ CuiRadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioModule });
1896
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiRadioModule, decorators: [{
1897
+ type: NgModule,
1898
+ args: [{
1899
+ declarations: [CuiRadioComponent],
1900
+ exports: [CuiRadioComponent]
1901
+ }]
1902
1902
  }] });
1903
1903
 
1904
- class CuiSelectComponent {
1905
- constructor() {
1906
- this.element = inject(ElementRef).nativeElement;
1907
- this.document = inject(DOCUMENT);
1908
- this.changeDetectorRef = inject(ChangeDetectorRef);
1909
- this.viewContainerRef = inject(ViewContainerRef);
1910
- this.destroy$ = inject(CuiDestroyService, { self: true });
1911
- this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
1912
- this.cuiClickOutsideDirective = inject(CuiClickOutsideDirective, { self: true });
1913
- this.SPACE_BETWEEN_BUTTON_AND_OPTIONS = 3;
1914
- this.isOpened = false;
1915
- this.isOptionsListAbove = false;
1916
- this.gap = `${this.SPACE_BETWEEN_BUTTON_AND_OPTIONS}px`;
1917
- }
1918
- get id() {
1919
- return this.cuiTextFieldController.id;
1920
- }
1921
- get size() {
1922
- return this.cuiTextFieldController.size;
1923
- }
1924
- get placeholder() {
1925
- return this.cuiTextFieldController.placeholder;
1926
- }
1927
- get isError() {
1928
- return this.cuiTextFieldController.isError;
1929
- }
1930
- trackByFn(_, item) {
1931
- return item.label;
1932
- }
1933
- writeValue(value) {
1934
- this.value = value;
1935
- // TODO: Непонятно, зачем нужно в construction вторая часть выражения
1936
- this.selectedOption = this.options.find(option => option.value === value) ?? value;
1937
- this.changeDetectorRef.markForCheck();
1938
- }
1939
- registerOnChange(fn) {
1940
- this.onChange = fn;
1941
- }
1942
- registerOnTouched(fn) {
1943
- this.onTouched = fn;
1944
- }
1945
- ngOnInit() {
1946
- this.initClickOutsideSubscription();
1947
- }
1948
- ngOnDestroy() {
1949
- this.clearViewContainerRef();
1950
- }
1951
- setDisabledState(isDisabled) {
1952
- this.isDisabled = isDisabled;
1953
- this.changeDetectorRef.markForCheck();
1954
- }
1955
- onSelect(event, option) {
1956
- event.stopPropagation();
1957
- if (option.isDisabled) {
1958
- return;
1959
- }
1960
- this.value = option.value;
1961
- this.selectedOption = option;
1962
- this.onChange(this.value);
1963
- this.onSwitch();
1964
- this.onTouched();
1965
- this.changeDetectorRef.markForCheck();
1966
- }
1967
- onSwitch() {
1968
- if (!this.options.length && !this.defaultOptionText) {
1969
- return;
1970
- }
1971
- if (!this.isOpened) {
1972
- this.open();
1973
- return;
1974
- }
1975
- this.close();
1976
- }
1977
- onClose() {
1978
- this.close();
1979
- }
1980
- onWindowResize() {
1981
- this.button.nativeElement.blur();
1982
- this.close();
1983
- }
1984
- initClickOutsideSubscription() {
1985
- this.cuiClickOutsideDirective.cuiClickOutside
1986
- .pipe(takeUntil(this.destroy$))
1987
- .subscribe(() => {
1988
- if (this.isOpened) {
1989
- this.onTouched();
1990
- }
1991
- this.close();
1992
- });
1993
- }
1994
- open() {
1995
- this.isOpened = true;
1996
- const { top: elementRectTop, left: elementRectLeft, bottom: elementRectBottom } = this.element.getBoundingClientRect();
1997
- const distanceToBottom = this.document.documentElement.clientHeight
1998
- - (elementRectBottom + this.SPACE_BETWEEN_BUTTON_AND_OPTIONS);
1999
- const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.optionsWrapper);
2000
- const node = embeddedViewRef.rootNodes[0];
2001
- const nodeStyles = node.style;
2002
- this.isOptionsListAbove = distanceToBottom < this.getOptionsListHeightContainer.nativeElement.offsetHeight;
2003
- embeddedViewRef.detectChanges();
2004
- nodeStyles.width = this.element.offsetWidth + 'px';
2005
- nodeStyles.left = window.scrollX + elementRectLeft + 'px';
2006
- if (this.isOptionsListAbove) {
2007
- nodeStyles.top = window.scrollY + elementRectTop
2008
- - this.getOptionsListHeightContainer.nativeElement.offsetHeight
2009
- - this.SPACE_BETWEEN_BUTTON_AND_OPTIONS
2010
- + 'px';
2011
- }
2012
- else {
2013
- nodeStyles.top = window.scrollY + elementRectBottom + this.SPACE_BETWEEN_BUTTON_AND_OPTIONS + 'px';
2014
- }
2015
- this.document.querySelector(CUI_ROOT_SELECTOR).appendChild(embeddedViewRef.rootNodes[0]);
2016
- }
2017
- close() {
2018
- this.isOpened = false;
2019
- this.clearViewContainerRef();
2020
- }
2021
- clearViewContainerRef() {
2022
- this.viewContainerRef.clear();
2023
- }
2024
- }
2025
- CuiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2026
- CuiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiSelectComponent, selector: "cui-select[options]", inputs: { options: "options", defaultOptionText: "defaultOptionText" }, host: { listeners: { "window:resize": "onWindowResize()" }, properties: { "style.--c-gap": "this.gap" } }, providers: [
2027
- CUI_TEXT_FILED_CONTROLLER_PROVIDER,
2028
- cuiProvide(NG_VALUE_ACCESSOR, CuiSelectComponent, true),
2029
- CuiDestroyService
2030
- ], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true }, { propertyName: "getOptionsListHeightContainer", first: true, predicate: ["getOptionsListHeightContainer"], descendants: true }, { propertyName: "optionsWrapper", first: true, predicate: ["optionsWrapper"], descendants: true }], hostDirectives: [{ directive: i2.CuiClickOutsideDirective }], ngImport: i0, template: "<button\n #button\n type=\"button\"\n [attr.id]=\"id\"\n [attr.data-size]=\"size\"\n [disabled]=\"isDisabled\"\n class=\"c-button\"\n [class.c-button_active]=\"isOpened\"\n [class.c-button_with-error]=\"isError\"\n (click)=\"onSwitch()\"\n>\n <ng-container *ngIf=\"selectedOption; else placeholderTemplate\">\n {{ selectedOption.label }}\n </ng-container>\n <ng-template #placeholderTemplate>\n <span class=\"c-placeholder\">{{ placeholder }}</span>\n </ng-template>\n <cui-svg\n icon=\"cuiIconChevronDown\"\n color=\"var(--cui-base-500)\"\n />\n</button>\n<ng-template #optionsWrapper>\n <div\n class=\"c-options__wrapper\"\n [class.c-options__wrapper_top]=\"isOptionsListAbove\"\n >\n <ng-container *ngTemplateOutlet=\"optionsList\"/>\n </div>\n</ng-template>\n<div\n #getOptionsListHeightContainer\n class=\"c-get-options-list-height-container\"\n>\n <ng-container *ngTemplateOutlet=\"optionsList\"/>\n</div>\n<ng-template #optionsList>\n <ul\n class=\"c-options\"\n [class.c-options_top]=\"isOptionsListAbove\"\n >\n <ng-container *ngIf=\"options.length; else empty\">\n <li *ngFor=\"let option of options; trackBy: trackByFn\">\n <button\n type=\"button\"\n class=\"c-option-button\"\n [class.c-option-button_selected]=\"selectedOption === option\"\n [disabled]=\"option.isDisabled\"\n (click)=\"onSelect($event, option)\"\n >\n <span>{{ option.label }}</span>\n <cui-svg\n *ngIf=\"selectedOption === option\"\n icon=\"cuiIconCheckSm\"\n color=\"var(--cui-info)\"\n class=\"c-option-button__icon\"\n />\n </button>\n </li>\n </ng-container>\n <ng-template #empty>\n <li *ngIf=\"defaultOptionText\">\n <button\n type=\"button\"\n class=\"c-option-button\"\n (click)=\"onClose()\"\n >\n {{ defaultOptionText }}\n </button>\n </li>\n </ng-template>\n </ul>\n</ng-template>\n", styles: [":host{display:block;font-family:var(--cui-main-font);position:relative}.c-button{border:0;flex-shrink:0;outline:none;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:0 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;border:1px solid var(--cui-base-200);border-radius:8px;cursor:pointer;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font);text-align:start}.c-button:hover{border-color:var(--cui-base-300)}.c-button_active.c-button_active,.c-button:focus{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}.c-button:disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}.c-button[data-size=sm]{padding-top:7px;padding-bottom:7px}.c-button[data-size=md]{padding-top:8px;padding-bottom:8px}.c-button_with-error{border-color:var(--cui-danger)}.c-button_with-error:focus{box-shadow:0 0 0 2px #d92d2040;border-color:var(--cui-danger)}.c-placeholder{color:var(--cui-base-400)}.c-options__wrapper{position:absolute;font-family:var(--cui-main-font);z-index:1}.c-get-options-list-height-container{position:fixed;visibility:hidden}.c-options{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;overflow:auto;max-height:180px;border:1px solid var(--cui-base-200);border-radius:8px;background:var(--cui-base-0);color:var(--cui-base-900)}.c-option-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px;text-align:start}.c-option-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-option-button:hover{background:var(--cui-base-50)}}.c-option-button_selected{background:var(--cui-base-50)}.c-option-button:disabled{background:unset;opacity:50%}.c-option-button__icon{margin-left:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2031
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectComponent, decorators: [{
2032
- type: Component,
2033
- args: [{ selector: 'cui-select[options]', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2034
- CUI_TEXT_FILED_CONTROLLER_PROVIDER,
2035
- cuiProvide(NG_VALUE_ACCESSOR, CuiSelectComponent, true),
2036
- CuiDestroyService
2037
- ], hostDirectives: [CuiClickOutsideDirective], template: "<button\n #button\n type=\"button\"\n [attr.id]=\"id\"\n [attr.data-size]=\"size\"\n [disabled]=\"isDisabled\"\n class=\"c-button\"\n [class.c-button_active]=\"isOpened\"\n [class.c-button_with-error]=\"isError\"\n (click)=\"onSwitch()\"\n>\n <ng-container *ngIf=\"selectedOption; else placeholderTemplate\">\n {{ selectedOption.label }}\n </ng-container>\n <ng-template #placeholderTemplate>\n <span class=\"c-placeholder\">{{ placeholder }}</span>\n </ng-template>\n <cui-svg\n icon=\"cuiIconChevronDown\"\n color=\"var(--cui-base-500)\"\n />\n</button>\n<ng-template #optionsWrapper>\n <div\n class=\"c-options__wrapper\"\n [class.c-options__wrapper_top]=\"isOptionsListAbove\"\n >\n <ng-container *ngTemplateOutlet=\"optionsList\"/>\n </div>\n</ng-template>\n<div\n #getOptionsListHeightContainer\n class=\"c-get-options-list-height-container\"\n>\n <ng-container *ngTemplateOutlet=\"optionsList\"/>\n</div>\n<ng-template #optionsList>\n <ul\n class=\"c-options\"\n [class.c-options_top]=\"isOptionsListAbove\"\n >\n <ng-container *ngIf=\"options.length; else empty\">\n <li *ngFor=\"let option of options; trackBy: trackByFn\">\n <button\n type=\"button\"\n class=\"c-option-button\"\n [class.c-option-button_selected]=\"selectedOption === option\"\n [disabled]=\"option.isDisabled\"\n (click)=\"onSelect($event, option)\"\n >\n <span>{{ option.label }}</span>\n <cui-svg\n *ngIf=\"selectedOption === option\"\n icon=\"cuiIconCheckSm\"\n color=\"var(--cui-info)\"\n class=\"c-option-button__icon\"\n />\n </button>\n </li>\n </ng-container>\n <ng-template #empty>\n <li *ngIf=\"defaultOptionText\">\n <button\n type=\"button\"\n class=\"c-option-button\"\n (click)=\"onClose()\"\n >\n {{ defaultOptionText }}\n </button>\n </li>\n </ng-template>\n </ul>\n</ng-template>\n", styles: [":host{display:block;font-family:var(--cui-main-font);position:relative}.c-button{border:0;flex-shrink:0;outline:none;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:0 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;border:1px solid var(--cui-base-200);border-radius:8px;cursor:pointer;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font);text-align:start}.c-button:hover{border-color:var(--cui-base-300)}.c-button_active.c-button_active,.c-button:focus{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}.c-button:disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}.c-button[data-size=sm]{padding-top:7px;padding-bottom:7px}.c-button[data-size=md]{padding-top:8px;padding-bottom:8px}.c-button_with-error{border-color:var(--cui-danger)}.c-button_with-error:focus{box-shadow:0 0 0 2px #d92d2040;border-color:var(--cui-danger)}.c-placeholder{color:var(--cui-base-400)}.c-options__wrapper{position:absolute;font-family:var(--cui-main-font);z-index:1}.c-get-options-list-height-container{position:fixed;visibility:hidden}.c-options{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;overflow:auto;max-height:180px;border:1px solid var(--cui-base-200);border-radius:8px;background:var(--cui-base-0);color:var(--cui-base-900)}.c-option-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px;text-align:start}.c-option-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-option-button:hover{background:var(--cui-base-50)}}.c-option-button_selected{background:var(--cui-base-50)}.c-option-button:disabled{background:unset;opacity:50%}.c-option-button__icon{margin-left:auto}\n"] }]
2038
- }], propDecorators: { options: [{
2039
- type: Input
2040
- }], defaultOptionText: [{
2041
- type: Input
2042
- }], button: [{
2043
- type: ViewChild,
2044
- args: ['button']
2045
- }], getOptionsListHeightContainer: [{
2046
- type: ViewChild,
2047
- args: ['getOptionsListHeightContainer']
2048
- }], optionsWrapper: [{
2049
- type: ViewChild,
2050
- args: ['optionsWrapper']
2051
- }], gap: [{
2052
- type: HostBinding,
2053
- args: ['style.--c-gap']
2054
- }], onWindowResize: [{
2055
- type: HostListener,
2056
- args: ['window:resize']
1904
+ class CuiSelectComponent {
1905
+ constructor() {
1906
+ this.element = inject(ElementRef).nativeElement;
1907
+ this.document = inject(DOCUMENT);
1908
+ this.changeDetectorRef = inject(ChangeDetectorRef);
1909
+ this.viewContainerRef = inject(ViewContainerRef);
1910
+ this.destroy$ = inject(CuiDestroyService, { self: true });
1911
+ this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
1912
+ this.cuiClickOutsideDirective = inject(CuiClickOutsideDirective, { self: true });
1913
+ this.SPACE_BETWEEN_BUTTON_AND_OPTIONS = 3;
1914
+ this.isOpened = false;
1915
+ this.isOptionsListAbove = false;
1916
+ this.gap = `${this.SPACE_BETWEEN_BUTTON_AND_OPTIONS}px`;
1917
+ }
1918
+ get id() {
1919
+ return this.cuiTextFieldController.id;
1920
+ }
1921
+ get size() {
1922
+ return this.cuiTextFieldController.size;
1923
+ }
1924
+ get placeholder() {
1925
+ return this.cuiTextFieldController.placeholder;
1926
+ }
1927
+ get isError() {
1928
+ return this.cuiTextFieldController.isError;
1929
+ }
1930
+ trackByFn(_, item) {
1931
+ return item.label;
1932
+ }
1933
+ writeValue(value) {
1934
+ this.value = value;
1935
+ // TODO: Непонятно, зачем нужно в construction вторая часть выражения
1936
+ this.selectedOption = this.options.find(option => option.value === value) ?? value;
1937
+ this.changeDetectorRef.markForCheck();
1938
+ }
1939
+ registerOnChange(fn) {
1940
+ this.onChange = fn;
1941
+ }
1942
+ registerOnTouched(fn) {
1943
+ this.onTouched = fn;
1944
+ }
1945
+ ngOnInit() {
1946
+ this.initClickOutsideSubscription();
1947
+ }
1948
+ ngOnDestroy() {
1949
+ this.clearViewContainerRef();
1950
+ }
1951
+ setDisabledState(isDisabled) {
1952
+ this.isDisabled = isDisabled;
1953
+ this.changeDetectorRef.markForCheck();
1954
+ }
1955
+ onSelect(event, option) {
1956
+ event.stopPropagation();
1957
+ if (option.isDisabled) {
1958
+ return;
1959
+ }
1960
+ this.value = option.value;
1961
+ this.selectedOption = option;
1962
+ this.onChange(this.value);
1963
+ this.onSwitch();
1964
+ this.onTouched();
1965
+ this.changeDetectorRef.markForCheck();
1966
+ }
1967
+ onSwitch() {
1968
+ if (!this.options.length && !this.defaultOptionText) {
1969
+ return;
1970
+ }
1971
+ if (!this.isOpened) {
1972
+ this.open();
1973
+ return;
1974
+ }
1975
+ this.close();
1976
+ }
1977
+ onClose() {
1978
+ this.close();
1979
+ }
1980
+ onWindowResize() {
1981
+ this.button.nativeElement.blur();
1982
+ this.close();
1983
+ }
1984
+ initClickOutsideSubscription() {
1985
+ this.cuiClickOutsideDirective.cuiClickOutside
1986
+ .pipe(takeUntil(this.destroy$))
1987
+ .subscribe(() => {
1988
+ if (this.isOpened) {
1989
+ this.onTouched();
1990
+ }
1991
+ this.close();
1992
+ });
1993
+ }
1994
+ open() {
1995
+ this.isOpened = true;
1996
+ const rootElement = this.document.querySelector(CUI_ROOT_SELECTOR);
1997
+ const { top: elementRectTop, left: elementRectLeft, bottom: elementRectBottom } = this.element.getBoundingClientRect();
1998
+ const distanceToBottom = this.document.documentElement.clientHeight
1999
+ - (elementRectBottom + this.SPACE_BETWEEN_BUTTON_AND_OPTIONS);
2000
+ const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.optionsWrapper);
2001
+ const node = embeddedViewRef.rootNodes[0];
2002
+ const nodeStyles = node.style;
2003
+ this.isOptionsListAbove = distanceToBottom < this.getOptionsListHeightContainer.nativeElement.offsetHeight;
2004
+ embeddedViewRef.detectChanges();
2005
+ nodeStyles.width = this.element.offsetWidth + 'px';
2006
+ nodeStyles.left = window.scrollX + elementRectLeft + 'px';
2007
+ if (this.isOptionsListAbove) {
2008
+ nodeStyles.top = window.scrollY + elementRectTop
2009
+ - this.getOptionsListHeightContainer.nativeElement.offsetHeight
2010
+ - this.SPACE_BETWEEN_BUTTON_AND_OPTIONS
2011
+ + 'px';
2012
+ }
2013
+ else {
2014
+ nodeStyles.top = window.scrollY + elementRectBottom + this.SPACE_BETWEEN_BUTTON_AND_OPTIONS + 'px';
2015
+ }
2016
+ rootElement.appendChild(this.viewContainerRef.createEmbeddedView(this.backdrop).rootNodes[0]);
2017
+ rootElement.appendChild(embeddedViewRef.rootNodes[0]);
2018
+ }
2019
+ close() {
2020
+ this.isOpened = false;
2021
+ this.clearViewContainerRef();
2022
+ }
2023
+ clearViewContainerRef() {
2024
+ this.viewContainerRef.clear();
2025
+ }
2026
+ }
2027
+ CuiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2028
+ CuiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiSelectComponent, selector: "cui-select[options]", inputs: { options: "options", defaultOptionText: "defaultOptionText" }, host: { listeners: { "window:resize": "onWindowResize()" }, properties: { "style.--c-gap": "this.gap" } }, providers: [
2029
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
2030
+ cuiProvide(NG_VALUE_ACCESSOR, CuiSelectComponent, true),
2031
+ CuiDestroyService
2032
+ ], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true }, { propertyName: "getOptionsListHeightContainer", first: true, predicate: ["getOptionsListHeightContainer"], descendants: true }, { propertyName: "backdrop", first: true, predicate: ["backdrop"], descendants: true }, { propertyName: "optionsWrapper", first: true, predicate: ["optionsWrapper"], descendants: true }], hostDirectives: [{ directive: i1$1.CuiClickOutsideDirective }], ngImport: i0, template: "<button\r\n #button\r\n cuiFocusTrap\r\n type=\"button\"\r\n [attr.id]=\"id\"\r\n [attr.data-size]=\"size\"\r\n [disabled]=\"isDisabled\"\r\n class=\"c-button\"\r\n [class.c-button_active]=\"isOpened\"\r\n [class.c-button_with-error]=\"isError\"\r\n (click)=\"onSwitch()\"\r\n>\r\n <ng-container *ngIf=\"selectedOption; else placeholderTemplate\">\r\n {{ selectedOption.label }}\r\n </ng-container>\r\n <ng-template #placeholderTemplate>\r\n <span class=\"c-placeholder\">{{ placeholder }}</span>\r\n </ng-template>\r\n <cui-svg\r\n icon=\"cuiIconChevronDown\"\r\n color=\"var(--cui-base-500)\"\r\n />\r\n</button>\r\n<ng-template #backdrop>\r\n <div class=\"c-backdrop\"></div>\r\n</ng-template>\r\n<ng-template #optionsWrapper>\r\n <div\r\n cuiFocusTrap\r\n class=\"c-options__wrapper\"\r\n [class.c-options__wrapper_top]=\"isOptionsListAbove\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"optionsList\"/>\r\n </div>\r\n</ng-template>\r\n<div\r\n #getOptionsListHeightContainer\r\n class=\"c-get-options-list-height-container\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"optionsList\"/>\r\n</div>\r\n<ng-template #optionsList>\r\n <ul\r\n class=\"c-options\"\r\n [class.c-options_top]=\"isOptionsListAbove\"\r\n >\r\n <ng-container *ngIf=\"options.length; else empty\">\r\n <li *ngFor=\"let option of options; trackBy: trackByFn\">\r\n <button\r\n type=\"button\"\r\n class=\"c-option-button\"\r\n [class.c-option-button_selected]=\"selectedOption === option\"\r\n [disabled]=\"option.isDisabled\"\r\n (click)=\"onSelect($event, option)\"\r\n >\r\n <span>{{ option.label }}</span>\r\n <cui-svg\r\n *ngIf=\"selectedOption === option\"\r\n icon=\"cuiIconCheckSm\"\r\n color=\"var(--cui-info)\"\r\n class=\"c-option-button__icon\"\r\n />\r\n </button>\r\n </li>\r\n </ng-container>\r\n <ng-template #empty>\r\n <li *ngIf=\"defaultOptionText\">\r\n <button\r\n type=\"button\"\r\n class=\"c-option-button\"\r\n (click)=\"onClose()\"\r\n >\r\n {{ defaultOptionText }}\r\n </button>\r\n </li>\r\n </ng-template>\r\n </ul>\r\n</ng-template>\r\n", styles: [":host{display:block;font-family:var(--cui-main-font);position:relative}.c-button{border:0;flex-shrink:0;outline:none;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:0 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;border:1px solid var(--cui-base-200);border-radius:8px;cursor:pointer;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font);text-align:start}.c-button:hover{border-color:var(--cui-base-300)}.c-button_active.c-button_active,.c-button:focus{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}.c-button:disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}.c-button[data-size=sm]{padding-top:7px;padding-bottom:7px}.c-button[data-size=md]{padding-top:8px;padding-bottom:8px}.c-button_with-error{border-color:var(--cui-danger)}.c-button_with-error:focus{box-shadow:0 0 0 2px #d92d2040;border-color:var(--cui-danger)}.c-placeholder{color:var(--cui-base-400)}.c-backdrop{position:fixed;inset:0}.c-options__wrapper{position:absolute;font-family:var(--cui-main-font);z-index:1}.c-get-options-list-height-container{position:fixed;visibility:hidden}.c-options{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;overflow:auto;max-height:180px;border:1px solid var(--cui-base-200);border-radius:8px;background:var(--cui-base-0);color:var(--cui-base-900)}.c-option-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px;text-align:start}.c-option-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-option-button:hover{background:var(--cui-base-50)}}.c-option-button_selected{background:var(--cui-base-50)}.c-option-button:disabled{background:unset;opacity:50%}.c-option-button__icon{margin-left:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: i1$1.CuiFocusTrapDirective, selector: "[cuiFocusTrap]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2033
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectComponent, decorators: [{
2034
+ type: Component,
2035
+ args: [{ selector: 'cui-select[options]', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2036
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
2037
+ cuiProvide(NG_VALUE_ACCESSOR, CuiSelectComponent, true),
2038
+ CuiDestroyService
2039
+ ], hostDirectives: [CuiClickOutsideDirective], template: "<button\r\n #button\r\n cuiFocusTrap\r\n type=\"button\"\r\n [attr.id]=\"id\"\r\n [attr.data-size]=\"size\"\r\n [disabled]=\"isDisabled\"\r\n class=\"c-button\"\r\n [class.c-button_active]=\"isOpened\"\r\n [class.c-button_with-error]=\"isError\"\r\n (click)=\"onSwitch()\"\r\n>\r\n <ng-container *ngIf=\"selectedOption; else placeholderTemplate\">\r\n {{ selectedOption.label }}\r\n </ng-container>\r\n <ng-template #placeholderTemplate>\r\n <span class=\"c-placeholder\">{{ placeholder }}</span>\r\n </ng-template>\r\n <cui-svg\r\n icon=\"cuiIconChevronDown\"\r\n color=\"var(--cui-base-500)\"\r\n />\r\n</button>\r\n<ng-template #backdrop>\r\n <div class=\"c-backdrop\"></div>\r\n</ng-template>\r\n<ng-template #optionsWrapper>\r\n <div\r\n cuiFocusTrap\r\n class=\"c-options__wrapper\"\r\n [class.c-options__wrapper_top]=\"isOptionsListAbove\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"optionsList\"/>\r\n </div>\r\n</ng-template>\r\n<div\r\n #getOptionsListHeightContainer\r\n class=\"c-get-options-list-height-container\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"optionsList\"/>\r\n</div>\r\n<ng-template #optionsList>\r\n <ul\r\n class=\"c-options\"\r\n [class.c-options_top]=\"isOptionsListAbove\"\r\n >\r\n <ng-container *ngIf=\"options.length; else empty\">\r\n <li *ngFor=\"let option of options; trackBy: trackByFn\">\r\n <button\r\n type=\"button\"\r\n class=\"c-option-button\"\r\n [class.c-option-button_selected]=\"selectedOption === option\"\r\n [disabled]=\"option.isDisabled\"\r\n (click)=\"onSelect($event, option)\"\r\n >\r\n <span>{{ option.label }}</span>\r\n <cui-svg\r\n *ngIf=\"selectedOption === option\"\r\n icon=\"cuiIconCheckSm\"\r\n color=\"var(--cui-info)\"\r\n class=\"c-option-button__icon\"\r\n />\r\n </button>\r\n </li>\r\n </ng-container>\r\n <ng-template #empty>\r\n <li *ngIf=\"defaultOptionText\">\r\n <button\r\n type=\"button\"\r\n class=\"c-option-button\"\r\n (click)=\"onClose()\"\r\n >\r\n {{ defaultOptionText }}\r\n </button>\r\n </li>\r\n </ng-template>\r\n </ul>\r\n</ng-template>\r\n", styles: [":host{display:block;font-family:var(--cui-main-font);position:relative}.c-button{border:0;flex-shrink:0;outline:none;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:0 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;border:1px solid var(--cui-base-200);border-radius:8px;cursor:pointer;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font);text-align:start}.c-button:hover{border-color:var(--cui-base-300)}.c-button_active.c-button_active,.c-button:focus{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}.c-button:disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}.c-button[data-size=sm]{padding-top:7px;padding-bottom:7px}.c-button[data-size=md]{padding-top:8px;padding-bottom:8px}.c-button_with-error{border-color:var(--cui-danger)}.c-button_with-error:focus{box-shadow:0 0 0 2px #d92d2040;border-color:var(--cui-danger)}.c-placeholder{color:var(--cui-base-400)}.c-backdrop{position:fixed;inset:0}.c-options__wrapper{position:absolute;font-family:var(--cui-main-font);z-index:1}.c-get-options-list-height-container{position:fixed;visibility:hidden}.c-options{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;overflow:auto;max-height:180px;border:1px solid var(--cui-base-200);border-radius:8px;background:var(--cui-base-0);color:var(--cui-base-900)}.c-option-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px;text-align:start}.c-option-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-option-button:hover{background:var(--cui-base-50)}}.c-option-button_selected{background:var(--cui-base-50)}.c-option-button:disabled{background:unset;opacity:50%}.c-option-button__icon{margin-left:auto}\n"] }]
2040
+ }], propDecorators: { options: [{
2041
+ type: Input
2042
+ }], defaultOptionText: [{
2043
+ type: Input
2044
+ }], button: [{
2045
+ type: ViewChild,
2046
+ args: ['button']
2047
+ }], getOptionsListHeightContainer: [{
2048
+ type: ViewChild,
2049
+ args: ['getOptionsListHeightContainer']
2050
+ }], backdrop: [{
2051
+ type: ViewChild,
2052
+ args: ['backdrop']
2053
+ }], optionsWrapper: [{
2054
+ type: ViewChild,
2055
+ args: ['optionsWrapper']
2056
+ }], gap: [{
2057
+ type: HostBinding,
2058
+ args: ['style.--c-gap']
2059
+ }], onWindowResize: [{
2060
+ type: HostListener,
2061
+ args: ['window:resize']
2057
2062
  }] } });
2058
2063
 
2059
- class CuiSelectModule {
2060
- }
2061
- CuiSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2062
- CuiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectModule, declarations: [CuiSelectComponent], imports: [CommonModule,
2063
- CuiSvgModule], exports: [CuiSelectComponent,
2064
- CuiTextFieldControllerModule] });
2065
- CuiSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectModule, imports: [CommonModule,
2066
- CuiSvgModule, CuiTextFieldControllerModule] });
2067
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectModule, decorators: [{
2068
- type: NgModule,
2069
- args: [{
2070
- imports: [
2071
- CommonModule,
2072
- CuiSvgModule
2073
- ],
2074
- declarations: [CuiSelectComponent],
2075
- exports: [
2076
- CuiSelectComponent,
2077
- CuiTextFieldControllerModule
2078
- ]
2079
- }]
2064
+ class CuiSelectModule {
2065
+ }
2066
+ CuiSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2067
+ CuiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectModule, declarations: [CuiSelectComponent], imports: [CommonModule,
2068
+ CuiSvgModule,
2069
+ CuiFocusTrapDirective], exports: [CuiSelectComponent,
2070
+ CuiTextFieldControllerModule] });
2071
+ CuiSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectModule, imports: [CommonModule,
2072
+ CuiSvgModule, CuiTextFieldControllerModule] });
2073
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiSelectModule, decorators: [{
2074
+ type: NgModule,
2075
+ args: [{
2076
+ imports: [
2077
+ CommonModule,
2078
+ CuiSvgModule,
2079
+ CuiFocusTrapDirective
2080
+ ],
2081
+ declarations: [CuiSelectComponent],
2082
+ exports: [
2083
+ CuiSelectComponent,
2084
+ CuiTextFieldControllerModule
2085
+ ]
2086
+ }]
2080
2087
  }] });
2081
2088
 
2082
- const CUI_TAB_ACTIVATE = 'cui-tab-activate';
2083
- class CuiTabComponent {
2084
- constructor() {
2085
- this.element = inject(ElementRef).nativeElement;
2086
- }
2087
- onClick() {
2088
- this.element.dispatchEvent(new CustomEvent(CUI_TAB_ACTIVATE, { bubbles: true }));
2089
- }
2090
- }
2091
- CuiTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2092
- CuiTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiTabComponent, selector: "button[cuiTab]", host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: "<ng-content />\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-family:var(--cui-main-font)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2093
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabComponent, decorators: [{
2094
- type: Component,
2095
- args: [{ selector: 'button[cuiTab]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content />\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-family:var(--cui-main-font)}\n"] }]
2096
- }], propDecorators: { onClick: [{
2097
- type: HostListener,
2098
- args: ['click']
2089
+ const CUI_TAB_ACTIVATE = 'cui-tab-activate';
2090
+ class CuiTabComponent {
2091
+ constructor() {
2092
+ this.element = inject(ElementRef).nativeElement;
2093
+ }
2094
+ onClick() {
2095
+ this.element.dispatchEvent(new CustomEvent(CUI_TAB_ACTIVATE, { bubbles: true }));
2096
+ }
2097
+ }
2098
+ CuiTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2099
+ CuiTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiTabComponent, selector: "button[cuiTab]", host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: "<ng-content />\r\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-family:var(--cui-main-font)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabComponent, decorators: [{
2101
+ type: Component,
2102
+ args: [{ selector: 'button[cuiTab]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content />\r\n", styles: [":host{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-family:var(--cui-main-font)}\n"] }]
2103
+ }], propDecorators: { onClick: [{
2104
+ type: HostListener,
2105
+ args: ['click']
2099
2106
  }] } });
2100
2107
 
2101
- class CuiTabsComponent {
2102
- constructor() {
2103
- this.element = inject(ElementRef).nativeElement;
2104
- this.activeElementClass = '_active';
2105
- this.activeItemIndex = 0;
2106
- this.activeItemIndexChange = new EventEmitter();
2107
- }
2108
- get tabs() {
2109
- return Array.from(this.element.querySelectorAll('[cuiTab]'));
2110
- }
2111
- get activeElement() {
2112
- return this.tabs[this.activeItemIndex] || null;
2113
- }
2114
- ngAfterViewChecked() {
2115
- this.changeActiveItem();
2116
- }
2117
- onActivate(event) {
2118
- event.stopPropagation();
2119
- const index = this.tabs.findIndex((tab) => tab === event.target);
2120
- if (index === this.activeItemIndex) {
2121
- return;
2122
- }
2123
- this.activeItemIndexChange.emit(index);
2124
- this.activeItemIndex = index;
2125
- }
2126
- changeActiveItem() {
2127
- this.tabs.forEach(nativeElement => {
2128
- const active = nativeElement === this.activeElement;
2129
- nativeElement.classList.toggle(this.activeElementClass, active);
2130
- });
2131
- }
2132
- }
2133
- CuiTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2134
- CuiTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiTabsComponent, selector: "cui-tabs", inputs: { activeItemIndex: "activeItemIndex" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { listeners: { "cui-tab-activate": "onActivate($event)" } }, ngImport: i0, template: "<ng-content select=\"[cuiTab]\" />\n", styles: [":host{display:flex;border-radius:8px;gap:32px}:host ::ng-deep>[cuiTab]{padding:8px 12px;font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500);border-radius:6px}@media (hover: hover){:host ::ng-deep>[cuiTab]:hover{color:var(--cui-base-900);background:var(--cui-base-50)}}:host ::ng-deep>[cuiTab]:active{color:var(--cui-base-900);background:var(--cui-base-50)}:host ::ng-deep>[cuiTab]._active{color:var(--cui-light-blue-600);background:var(--cui-base-50)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsComponent, decorators: [{
2136
- type: Component,
2137
- args: [{ selector: 'cui-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"[cuiTab]\" />\n", styles: [":host{display:flex;border-radius:8px;gap:32px}:host ::ng-deep>[cuiTab]{padding:8px 12px;font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500);border-radius:6px}@media (hover: hover){:host ::ng-deep>[cuiTab]:hover{color:var(--cui-base-900);background:var(--cui-base-50)}}:host ::ng-deep>[cuiTab]:active{color:var(--cui-base-900);background:var(--cui-base-50)}:host ::ng-deep>[cuiTab]._active{color:var(--cui-light-blue-600);background:var(--cui-base-50)}\n"] }]
2138
- }], propDecorators: { activeItemIndex: [{
2139
- type: Input
2140
- }], activeItemIndexChange: [{
2141
- type: Output
2142
- }], onActivate: [{
2143
- type: HostListener,
2144
- args: [CUI_TAB_ACTIVATE, ['$event']]
2108
+ class CuiTabsComponent {
2109
+ constructor() {
2110
+ this.element = inject(ElementRef).nativeElement;
2111
+ this.activeElementClass = '_active';
2112
+ this.activeItemIndex = 0;
2113
+ this.activeItemIndexChange = new EventEmitter();
2114
+ }
2115
+ get tabs() {
2116
+ return Array.from(this.element.querySelectorAll('[cuiTab]'));
2117
+ }
2118
+ get activeElement() {
2119
+ return this.tabs[this.activeItemIndex] || null;
2120
+ }
2121
+ ngAfterViewChecked() {
2122
+ this.changeActiveItem();
2123
+ }
2124
+ onActivate(event) {
2125
+ event.stopPropagation();
2126
+ const index = this.tabs.findIndex((tab) => tab === event.target);
2127
+ if (index === this.activeItemIndex) {
2128
+ return;
2129
+ }
2130
+ this.activeItemIndexChange.emit(index);
2131
+ this.activeItemIndex = index;
2132
+ }
2133
+ changeActiveItem() {
2134
+ this.tabs.forEach(nativeElement => {
2135
+ const active = nativeElement === this.activeElement;
2136
+ nativeElement.classList.toggle(this.activeElementClass, active);
2137
+ });
2138
+ }
2139
+ }
2140
+ CuiTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2141
+ CuiTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiTabsComponent, selector: "cui-tabs", inputs: { activeItemIndex: "activeItemIndex" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { listeners: { "cui-tab-activate": "onActivate($event)" } }, ngImport: i0, template: "<ng-content select=\"[cuiTab]\" />\r\n", styles: [":host{display:flex;border-radius:8px;gap:32px}:host ::ng-deep>[cuiTab]{padding:8px 12px;font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500);border-radius:6px}@media (hover: hover){:host ::ng-deep>[cuiTab]:hover{color:var(--cui-base-900);background:var(--cui-base-50)}}:host ::ng-deep>[cuiTab]:active{color:var(--cui-base-900);background:var(--cui-base-50)}:host ::ng-deep>[cuiTab]._active{color:var(--cui-light-blue-600);background:var(--cui-base-50)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsComponent, decorators: [{
2143
+ type: Component,
2144
+ args: [{ selector: 'cui-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"[cuiTab]\" />\r\n", styles: [":host{display:flex;border-radius:8px;gap:32px}:host ::ng-deep>[cuiTab]{padding:8px 12px;font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500);border-radius:6px}@media (hover: hover){:host ::ng-deep>[cuiTab]:hover{color:var(--cui-base-900);background:var(--cui-base-50)}}:host ::ng-deep>[cuiTab]:active{color:var(--cui-base-900);background:var(--cui-base-50)}:host ::ng-deep>[cuiTab]._active{color:var(--cui-light-blue-600);background:var(--cui-base-50)}\n"] }]
2145
+ }], propDecorators: { activeItemIndex: [{
2146
+ type: Input
2147
+ }], activeItemIndexChange: [{
2148
+ type: Output
2149
+ }], onActivate: [{
2150
+ type: HostListener,
2151
+ args: [CUI_TAB_ACTIVATE, ['$event']]
2145
2152
  }] } });
2146
2153
 
2147
- class CuiTabsModule {
2148
- }
2149
- CuiTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2150
- CuiTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsModule, declarations: [CuiTabsComponent, CuiTabComponent], exports: [CuiTabsComponent, CuiTabComponent] });
2151
- CuiTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsModule });
2152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsModule, decorators: [{
2153
- type: NgModule,
2154
- args: [{
2155
- imports: [],
2156
- declarations: [CuiTabsComponent, CuiTabComponent],
2157
- exports: [CuiTabsComponent, CuiTabComponent]
2158
- }]
2154
+ class CuiTabsModule {
2155
+ }
2156
+ CuiTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2157
+ CuiTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsModule, declarations: [CuiTabsComponent, CuiTabComponent], exports: [CuiTabsComponent, CuiTabComponent] });
2158
+ CuiTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsModule });
2159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabsModule, decorators: [{
2160
+ type: NgModule,
2161
+ args: [{
2162
+ imports: [],
2163
+ declarations: [CuiTabsComponent, CuiTabComponent],
2164
+ exports: [CuiTabsComponent, CuiTabComponent]
2165
+ }]
2159
2166
  }] });
2160
2167
 
2161
- class CuiTextareaComponent {
2162
- constructor() {
2163
- this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
2164
- this.rows = 4;
2165
- this.noBordersAndPaddings = false;
2166
- }
2167
- get isError() {
2168
- return this.cuiTextFieldController.isError;
2169
- }
2170
- }
2171
- CuiTextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2172
- CuiTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextareaComponent, selector: "textarea[cuiTextarea]", inputs: { rows: "rows", noBordersAndPaddings: "noBordersAndPaddings" }, host: { properties: { "rows": "this.rows", "class._no-borders-and-paddings": "this.noBordersAndPaddings", "class._with-error": "this.isError" } }, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER], hostDirectives: [{ directive: i2.CuiAutoResizingDirective }], ngImport: i0, template: '', isInline: true, styles: [":host{padding:11px 13px 11px 0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;color:inherit;font:inherit;line-height:inherit;padding:11px 13px;font-weight:400;font-size:14px;line-height:20px;box-sizing:border-box;max-height:320px;width:100%;border:1px solid var(--cui-base-200);border-radius:8px;resize:none;background:none;color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus,:host:focus-visible{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host:disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host::placeholder{color:var(--cui-base-400)}:host._no-borders-and-paddings{border:none;border-radius:0;padding:0;box-shadow:none}:host._no-borders-and-paddings:disabled{background:none}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus{box-shadow:0 0 0 2px #d92d2040}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaComponent, decorators: [{
2174
- type: Component,
2175
- args: [{ selector: 'textarea[cuiTextarea]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER], hostDirectives: [CuiAutoResizingDirective], styles: [":host{padding:11px 13px 11px 0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;color:inherit;font:inherit;line-height:inherit;padding:11px 13px;font-weight:400;font-size:14px;line-height:20px;box-sizing:border-box;max-height:320px;width:100%;border:1px solid var(--cui-base-200);border-radius:8px;resize:none;background:none;color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus,:host:focus-visible{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host:disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host::placeholder{color:var(--cui-base-400)}:host._no-borders-and-paddings{border:none;border-radius:0;padding:0;box-shadow:none}:host._no-borders-and-paddings:disabled{background:none}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus{box-shadow:0 0 0 2px #d92d2040}\n"] }]
2176
- }], propDecorators: { rows: [{
2177
- type: Input
2178
- }, {
2179
- type: HostBinding,
2180
- args: ['rows']
2181
- }], noBordersAndPaddings: [{
2182
- type: Input
2183
- }, {
2184
- type: HostBinding,
2185
- args: ['class._no-borders-and-paddings']
2186
- }], isError: [{
2187
- type: HostBinding,
2188
- args: ['class._with-error']
2168
+ class CuiTextareaComponent {
2169
+ constructor() {
2170
+ this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
2171
+ this.rows = 4;
2172
+ this.noBordersAndPaddings = false;
2173
+ }
2174
+ get isError() {
2175
+ return this.cuiTextFieldController.isError;
2176
+ }
2177
+ }
2178
+ CuiTextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2179
+ CuiTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiTextareaComponent, selector: "textarea[cuiTextarea]", inputs: { rows: "rows", noBordersAndPaddings: "noBordersAndPaddings" }, host: { properties: { "rows": "this.rows", "class._no-borders-and-paddings": "this.noBordersAndPaddings", "class._with-error": "this.isError" } }, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER], hostDirectives: [{ directive: i1$1.CuiAutoResizingDirective }], ngImport: i0, template: '', isInline: true, styles: [":host{padding:11px 13px 11px 0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;color:inherit;font:inherit;line-height:inherit;padding:11px 13px;font-weight:400;font-size:14px;line-height:20px;box-sizing:border-box;max-height:320px;width:100%;border:1px solid var(--cui-base-200);border-radius:8px;resize:none;background:none;color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus,:host:focus-visible{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host:disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host::placeholder{color:var(--cui-base-400)}:host._no-borders-and-paddings{border:none;border-radius:0;padding:0;box-shadow:none}:host._no-borders-and-paddings:disabled{background:none}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus{box-shadow:0 0 0 2px #d92d2040}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaComponent, decorators: [{
2181
+ type: Component,
2182
+ args: [{ selector: 'textarea[cuiTextarea]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER], hostDirectives: [CuiAutoResizingDirective], styles: [":host{padding:11px 13px 11px 0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;color:inherit;font:inherit;line-height:inherit;padding:11px 13px;font-weight:400;font-size:14px;line-height:20px;box-sizing:border-box;max-height:320px;width:100%;border:1px solid var(--cui-base-200);border-radius:8px;resize:none;background:none;color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus,:host:focus-visible{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host:disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host::placeholder{color:var(--cui-base-400)}:host._no-borders-and-paddings{border:none;border-radius:0;padding:0;box-shadow:none}:host._no-borders-and-paddings:disabled{background:none}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus{box-shadow:0 0 0 2px #d92d2040}\n"] }]
2183
+ }], propDecorators: { rows: [{
2184
+ type: Input
2185
+ }, {
2186
+ type: HostBinding,
2187
+ args: ['rows']
2188
+ }], noBordersAndPaddings: [{
2189
+ type: Input
2190
+ }, {
2191
+ type: HostBinding,
2192
+ args: ['class._no-borders-and-paddings']
2193
+ }], isError: [{
2194
+ type: HostBinding,
2195
+ args: ['class._with-error']
2189
2196
  }] } });
2190
2197
 
2191
- class CuiTextareaModule {
2192
- }
2193
- CuiTextareaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2194
- CuiTextareaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaModule, declarations: [CuiTextareaComponent], exports: [CuiTextareaComponent] });
2195
- CuiTextareaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaModule });
2196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaModule, decorators: [{
2197
- type: NgModule,
2198
- args: [{
2199
- declarations: [CuiTextareaComponent],
2200
- exports: [CuiTextareaComponent]
2201
- }]
2198
+ class CuiTextareaModule {
2199
+ }
2200
+ CuiTextareaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2201
+ CuiTextareaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaModule, declarations: [CuiTextareaComponent], exports: [CuiTextareaComponent] });
2202
+ CuiTextareaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaModule });
2203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTextareaModule, decorators: [{
2204
+ type: NgModule,
2205
+ args: [{
2206
+ declarations: [CuiTextareaComponent],
2207
+ exports: [CuiTextareaComponent]
2208
+ }]
2202
2209
  }] });
2203
2210
 
2204
- class CuiToggleComponent {
2205
- }
2206
- CuiToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2207
- CuiToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiToggleComponent, selector: "input[type=\"checkbox\"][cuiToggle]", ngImport: i0, template: '', isInline: true, styles: [":host{position:relative;width:30px;height:18px;border-radius:9px;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-300);transition:background .5s ease}:host:before{content:\"\";position:absolute;top:50%;left:2px;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:var(--cui-gray-0);transition:left .5s ease}:host:checked{background:var(--cui-info);transition:background .5s ease}:host:checked:before{left:14px;transition:left .5s ease}:host:disabled{cursor:not-allowed;background:var(--cui-base-300)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleComponent, decorators: [{
2209
- type: Component,
2210
- args: [{ selector: 'input[type="checkbox"][cuiToggle]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:relative;width:30px;height:18px;border-radius:9px;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-300);transition:background .5s ease}:host:before{content:\"\";position:absolute;top:50%;left:2px;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:var(--cui-gray-0);transition:left .5s ease}:host:checked{background:var(--cui-info);transition:background .5s ease}:host:checked:before{left:14px;transition:left .5s ease}:host:disabled{cursor:not-allowed;background:var(--cui-base-300)}\n"] }]
2211
+ class CuiToggleComponent {
2212
+ }
2213
+ CuiToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2214
+ CuiToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiToggleComponent, selector: "input[type=\"checkbox\"][cuiToggle]", ngImport: i0, template: '', isInline: true, styles: [":host{position:relative;width:30px;height:18px;border-radius:9px;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-300);transition:background .5s ease}:host:before{content:\"\";position:absolute;top:50%;left:2px;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:var(--cui-gray-0);transition:left .5s ease}:host:checked{background:var(--cui-info);transition:background .5s ease}:host:checked:before{left:14px;transition:left .5s ease}:host:disabled{cursor:not-allowed;background:var(--cui-base-300)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleComponent, decorators: [{
2216
+ type: Component,
2217
+ args: [{ selector: 'input[type="checkbox"][cuiToggle]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:relative;width:30px;height:18px;border-radius:9px;margin:0;appearance:none;cursor:pointer;background:var(--cui-base-300);transition:background .5s ease}:host:before{content:\"\";position:absolute;top:50%;left:2px;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:var(--cui-gray-0);transition:left .5s ease}:host:checked{background:var(--cui-info);transition:background .5s ease}:host:checked:before{left:14px;transition:left .5s ease}:host:disabled{cursor:not-allowed;background:var(--cui-base-300)}\n"] }]
2211
2218
  }] });
2212
2219
 
2213
- class CuiToggleModule {
2214
- }
2215
- CuiToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2216
- CuiToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleModule, declarations: [CuiToggleComponent], exports: [CuiToggleComponent] });
2217
- CuiToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleModule });
2218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleModule, decorators: [{
2219
- type: NgModule,
2220
- args: [{
2221
- declarations: [CuiToggleComponent],
2222
- exports: [CuiToggleComponent]
2223
- }]
2220
+ class CuiToggleModule {
2221
+ }
2222
+ CuiToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2223
+ CuiToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleModule, declarations: [CuiToggleComponent], exports: [CuiToggleComponent] });
2224
+ CuiToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleModule });
2225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiToggleModule, decorators: [{
2226
+ type: NgModule,
2227
+ args: [{
2228
+ declarations: [CuiToggleComponent],
2229
+ exports: [CuiToggleComponent]
2230
+ }]
2224
2231
  }] });
2225
2232
 
2226
- function cuiRemoveSpaces(value) {
2227
- return value.replace(/\s+/g, '');
2233
+ function cuiRemoveSpaces(value) {
2234
+ return value.replace(/\s+/g, '');
2228
2235
  }
2229
2236
 
2230
- function cuiReplace(value, search, replace) {
2231
- const regex = new RegExp(search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g');
2232
- return value.replace(regex, replace);
2237
+ function cuiReplace(value, search, replace) {
2238
+ const regex = new RegExp(search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g');
2239
+ return value.replace(regex, replace);
2233
2240
  }
2234
2241
 
2235
- /**
2236
- * Generated bundle index. Do not edit.
2242
+ /**
2243
+ * Generated bundle index. Do not edit.
2237
2244
  */
2238
2245
 
2239
2246
  export { CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_OPTIONS, CUI_ROOT_SELECTOR, CUI_TAB_ACTIVATE, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CuiAccordionComponent, CuiAccordionItemComponent, CuiAccordionModule, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCheckboxComponent, CuiCheckboxModule, CuiContextMenuComponent, CuiContextMenuModule, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiFormFieldComponent, CuiFormFieldModule, CuiHintComponent, CuiHintModule, CuiIconButtonComponent, CuiIconButtonModule, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiLabelComponent, CuiLabelModule, CuiNotificationComponent, CuiNotificationModule, CuiRadioComponent, CuiRadioModule, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModule, CuiSvgComponent, CuiSvgModule, CuiTabComponent, CuiTabsComponent, CuiTabsModule, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiToggleComponent, CuiToggleModule, cuiRemoveSpaces, cuiReplace };