@cuby-ui/core 0.0.181 → 0.0.191

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 (418) hide show
  1. package/README.md +24 -24
  2. package/animations/animations.d.ts +36 -0
  3. package/animations/index.d.ts +1 -0
  4. package/classes/accessors.d.ts +17 -0
  5. package/classes/driver.d.ts +16 -0
  6. package/classes/index.d.ts +3 -0
  7. package/classes/vehicle.d.ts +6 -0
  8. package/components/accordion/accordion-item/accordion-item.component.d.ts +11 -11
  9. package/components/accordion/accordion.component.d.ts +5 -5
  10. package/components/accordion/accordion.module.d.ts +11 -11
  11. package/components/accordion/index.d.ts +3 -3
  12. package/components/alert/alert.component.d.ts +13 -13
  13. package/components/alert/alert.interfaces.d.ts +9 -9
  14. package/components/alert/alert.module.d.ts +11 -11
  15. package/components/alert/alert.service.d.ts +7 -7
  16. package/components/alert/alert.tokens.d.ts +16 -16
  17. package/components/alert/alert.types.d.ts +3 -3
  18. package/components/alert/alerts.component.d.ts +17 -17
  19. package/components/alert/index.d.ts +8 -8
  20. package/components/badge/badge.component.d.ts +10 -10
  21. package/components/badge/badge.module.d.ts +8 -8
  22. package/components/badge/badge.options.d.ts +8 -8
  23. package/components/badge/index.d.ts +2 -2
  24. package/components/banner/banner.component.d.ts +21 -21
  25. package/components/banner/banner.module.d.ts +11 -11
  26. package/components/banner/banner.options.d.ts +13 -13
  27. package/components/banner/index.d.ts +3 -3
  28. package/components/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +6 -6
  29. package/components/breadcrumbs/breadcrumbs.component.d.ts +7 -7
  30. package/components/breadcrumbs/breadcrumbs.module.d.ts +10 -10
  31. package/components/breadcrumbs/index.d.ts +3 -3
  32. package/components/button/button.component.d.ts +38 -38
  33. package/components/button/button.module.d.ts +9 -9
  34. package/components/button/button.options.d.ts +9 -9
  35. package/components/button/index.d.ts +3 -3
  36. package/components/button-group/button-group.component.d.ts +5 -5
  37. package/components/button-group/button-group.module.d.ts +7 -7
  38. package/components/button-group/index.d.ts +2 -2
  39. package/components/checkbox/checkbox.component.d.ts +5 -5
  40. package/components/checkbox/checkbox.module.d.ts +7 -7
  41. package/components/checkbox/index.d.ts +2 -2
  42. package/components/context-menu/context-menu.component.d.ts +39 -39
  43. package/components/context-menu/context-menu.module.d.ts +9 -9
  44. package/components/context-menu/index.d.ts +2 -2
  45. package/components/dialog/dialog-actions/dialog-actions.component.d.ts +5 -5
  46. package/components/dialog/dialog-header/dialog-header.component.d.ts +13 -13
  47. package/components/dialog/dialog.component.d.ts +33 -33
  48. package/components/dialog/dialog.interfaces.d.ts +11 -11
  49. package/components/dialog/dialog.module.d.ts +14 -14
  50. package/components/dialog/dialog.service.d.ts +7 -7
  51. package/components/dialog/dialog.tokens.d.ts +8 -8
  52. package/components/dialog/dialogs.component.d.ts +18 -18
  53. package/components/dialog/index.d.ts +8 -8
  54. package/components/form-field/form-field.component.d.ts +5 -5
  55. package/components/form-field/form-field.module.d.ts +7 -7
  56. package/components/form-field/index.d.ts +2 -2
  57. package/components/hint/hint.component.d.ts +7 -7
  58. package/components/hint/hint.module.d.ts +7 -7
  59. package/components/hint/index.d.ts +2 -2
  60. package/components/icon-button/icon-button.component.d.ts +13 -13
  61. package/components/icon-button/icon-button.module.d.ts +9 -9
  62. package/components/icon-button/index.d.ts +2 -2
  63. package/components/index.d.ts +26 -26
  64. package/components/input-number/index.d.ts +2 -2
  65. package/components/input-number/input-number.component.d.ts +38 -38
  66. package/components/input-number/input-number.module.d.ts +12 -12
  67. package/components/input-password/index.d.ts +2 -2
  68. package/components/input-password/input-password.component.d.ts +31 -31
  69. package/components/input-password/input-password.module.d.ts +11 -11
  70. package/components/input-text/index.d.ts +2 -2
  71. package/components/input-text/input-text.component.d.ts +31 -31
  72. package/components/input-text/input-text.module.d.ts +11 -11
  73. package/components/input-time/index.d.ts +3 -3
  74. package/components/input-time/input-time.component.d.ts +36 -36
  75. package/components/input-time/input-time.module.d.ts +12 -12
  76. package/components/input-time/input-time.options.d.ts +7 -7
  77. package/components/label/index.d.ts +2 -2
  78. package/components/label/label.component.d.ts +6 -6
  79. package/components/label/label.module.d.ts +8 -8
  80. package/components/notification/index.d.ts +3 -3
  81. package/components/notification/notification.component.d.ts +18 -18
  82. package/components/notification/notification.module.d.ts +9 -9
  83. package/components/notification/notification.options.d.ts +17 -17
  84. package/components/radio/index.d.ts +2 -2
  85. package/components/radio/radio.component.d.ts +5 -5
  86. package/components/radio/radio.module.d.ts +7 -7
  87. package/components/root/index.d.ts +3 -3
  88. package/components/root/root.component.d.ts +11 -11
  89. package/components/root/root.module.d.ts +11 -10
  90. package/components/root/root.options.d.ts +1 -1
  91. package/components/select/index.d.ts +2 -2
  92. package/components/select/select.component.d.ts +53 -53
  93. package/components/select/select.module.d.ts +11 -11
  94. package/components/svg/index.d.ts +2 -2
  95. package/components/svg/svg.component.d.ts +16 -16
  96. package/components/svg/svg.module.d.ts +8 -8
  97. package/components/tabs/index.d.ts +3 -3
  98. package/components/tabs/tab/index.d.ts +1 -1
  99. package/components/tabs/tab/tab.component.d.ts +8 -8
  100. package/components/tabs/tabs.component.d.ts +16 -16
  101. package/components/tabs/tabs.module.d.ts +8 -8
  102. package/components/textarea/index.d.ts +2 -2
  103. package/components/textarea/textarea.component.d.ts +10 -10
  104. package/components/textarea/textarea.module.d.ts +7 -7
  105. package/components/toggle/index.d.ts +2 -2
  106. package/components/toggle/toggle.component.d.ts +5 -5
  107. package/components/toggle/toggle.module.d.ts +7 -7
  108. package/directives/index.d.ts +2 -1
  109. package/directives/text-field-controller/index.d.ts +8 -8
  110. package/directives/text-field-controller/text-field-controller.module.d.ts +11 -11
  111. package/directives/text-field-controller/text-field-controller.provider.d.ts +4 -4
  112. package/directives/text-field-controller/text-field-icon-left.directive.d.ts +9 -9
  113. package/directives/text-field-controller/text-field-id.directive.d.ts +8 -8
  114. package/directives/text-field-controller/text-field-is-error.directive.d.ts +8 -8
  115. package/directives/text-field-controller/text-field-placeholder.directive.d.ts +8 -8
  116. package/directives/text-field-controller/text-field-size.directive.d.ts +9 -9
  117. package/directives/text-field-controller/text-field.controller.d.ts +20 -20
  118. package/directives/tooltip/index.d.ts +16 -0
  119. package/directives/tooltip/tooltip-describe.directive.d.ts +16 -0
  120. package/directives/tooltip/tooltip-driver.directive.d.ts +7 -0
  121. package/directives/tooltip/tooltip-host.directive.d.ts +9 -0
  122. package/directives/tooltip/tooltip-hover.directive.d.ts +21 -0
  123. package/directives/tooltip/tooltip-manual.directive.d.ts +13 -0
  124. package/directives/tooltip/tooltip-options.directive.d.ts +36 -0
  125. package/directives/tooltip/tooltip-overflow.directive.d.ts +8 -0
  126. package/directives/tooltip/tooltip-pointer.directive.d.ts +10 -0
  127. package/directives/tooltip/tooltip-position.directive.d.ts +20 -0
  128. package/directives/tooltip/tooltip-unstyled.component.d.ts +17 -0
  129. package/directives/tooltip/tooltip.component.d.ts +33 -0
  130. package/directives/tooltip/tooltip.d.ts +13 -0
  131. package/directives/tooltip/tooltip.directive.d.ts +26 -0
  132. package/directives/tooltip/tooltip.providers.d.ts +5 -0
  133. package/directives/tooltip/tooltip.service.d.ts +13 -0
  134. package/directives/tooltip/tooltips.component.d.ts +12 -0
  135. package/esm2022/animations/animations.mjs +272 -0
  136. package/esm2022/animations/index.mjs +2 -0
  137. package/esm2022/classes/accessors.mjs +31 -0
  138. package/esm2022/classes/driver.mjs +35 -0
  139. package/esm2022/classes/index.mjs +4 -0
  140. package/esm2022/classes/vehicle.mjs +7 -0
  141. package/esm2022/components/accordion/accordion-item/accordion-item.component.mjs +28 -0
  142. package/esm2022/components/accordion/accordion.component.mjs +11 -0
  143. package/esm2022/components/accordion/accordion.module.mjs +37 -0
  144. package/{esm2020 → esm2022}/components/accordion/index.mjs +4 -4
  145. package/esm2022/components/alert/alert.component.mjs +36 -0
  146. package/esm2022/components/alert/alert.interfaces.mjs +2 -0
  147. package/{esm2020 → esm2022}/components/alert/alert.module.mjs +40 -40
  148. package/esm2022/components/alert/alert.service.mjs +17 -0
  149. package/{esm2020 → esm2022}/components/alert/alert.tokens.mjs +20 -20
  150. package/{esm2020 → esm2022}/components/alert/alert.types.mjs +2 -2
  151. package/esm2022/components/alert/alerts.component.mjs +36 -0
  152. package/{esm2020 → esm2022}/components/alert/index.mjs +9 -9
  153. package/esm2022/components/badge/badge.component.mjs +31 -0
  154. package/esm2022/components/badge/badge.module.mjs +18 -0
  155. package/{esm2020 → esm2022}/components/badge/badge.options.mjs +8 -8
  156. package/{esm2020 → esm2022}/components/badge/index.mjs +3 -3
  157. package/esm2022/components/banner/banner.component.mjs +68 -0
  158. package/esm2022/components/banner/banner.module.mjs +31 -0
  159. package/esm2022/components/banner/banner.options.mjs +6 -0
  160. package/{esm2020 → esm2022}/components/banner/index.mjs +4 -4
  161. package/esm2022/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +16 -0
  162. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +17 -0
  163. package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +33 -0
  164. package/{esm2020 → esm2022}/components/breadcrumbs/index.mjs +4 -4
  165. package/esm2022/components/button/button.component.mjs +138 -0
  166. package/esm2022/components/button/button.module.mjs +24 -0
  167. package/esm2022/components/button/button.options.mjs +10 -0
  168. package/{esm2020 → esm2022}/components/button/index.mjs +4 -4
  169. package/esm2022/components/button-group/button-group.component.mjs +11 -0
  170. package/esm2022/components/button-group/button-group.module.mjs +16 -0
  171. package/{esm2020 → esm2022}/components/button-group/index.mjs +3 -3
  172. package/esm2022/components/checkbox/checkbox.component.mjs +11 -0
  173. package/{esm2020 → esm2022}/components/checkbox/checkbox.module.mjs +16 -16
  174. package/{esm2020 → esm2022}/components/checkbox/index.mjs +3 -3
  175. package/esm2022/components/context-menu/context-menu.component.mjs +146 -0
  176. package/esm2022/components/context-menu/context-menu.module.mjs +24 -0
  177. package/{esm2020 → esm2022}/components/context-menu/index.mjs +3 -3
  178. package/esm2022/components/dialog/dialog-actions/dialog-actions.component.mjs +11 -0
  179. package/esm2022/components/dialog/dialog-header/dialog-header.component.mjs +28 -0
  180. package/esm2022/components/dialog/dialog.component.mjs +67 -0
  181. package/esm2022/components/dialog/dialog.interfaces.mjs +2 -0
  182. package/esm2022/components/dialog/dialog.module.mjs +49 -0
  183. package/esm2022/components/dialog/dialog.service.mjs +17 -0
  184. package/{esm2020 → esm2022}/components/dialog/dialog.tokens.mjs +12 -12
  185. package/esm2022/components/dialog/dialogs.component.mjs +51 -0
  186. package/{esm2020 → esm2022}/components/dialog/index.mjs +9 -9
  187. package/esm2022/components/form-field/form-field.component.mjs +11 -0
  188. package/esm2022/components/form-field/form-field.module.mjs +16 -0
  189. package/{esm2020 → esm2022}/components/form-field/index.mjs +3 -3
  190. package/esm2022/components/hint/hint.component.mjs +19 -0
  191. package/esm2022/components/hint/hint.module.mjs +16 -0
  192. package/{esm2020 → esm2022}/components/hint/index.mjs +3 -3
  193. package/esm2022/components/icon-button/icon-button.component.mjs +32 -0
  194. package/esm2022/components/icon-button/icon-button.module.mjs +24 -0
  195. package/{esm2020 → esm2022}/components/icon-button/index.mjs +3 -3
  196. package/{esm2020 → esm2022}/components/index.mjs +27 -27
  197. package/{esm2020 → esm2022}/components/input-number/index.mjs +3 -3
  198. package/esm2022/components/input-number/input-number.component.mjs +113 -0
  199. package/esm2022/components/input-number/input-number.module.mjs +36 -0
  200. package/{esm2020 → esm2022}/components/input-password/index.mjs +3 -3
  201. package/esm2022/components/input-password/input-password.component.mjs +89 -0
  202. package/esm2022/components/input-password/input-password.module.mjs +33 -0
  203. package/{esm2020 → esm2022}/components/input-text/index.mjs +3 -3
  204. package/esm2022/components/input-text/input-text.component.mjs +87 -0
  205. package/esm2022/components/input-text/input-text.module.mjs +33 -0
  206. package/{esm2020 → esm2022}/components/input-time/index.mjs +4 -4
  207. package/esm2022/components/input-time/input-time.component.mjs +99 -0
  208. package/esm2022/components/input-time/input-time.module.mjs +36 -0
  209. package/{esm2020 → esm2022}/components/input-time/input-time.options.mjs +8 -8
  210. package/{esm2020 → esm2022}/components/label/index.mjs +3 -3
  211. package/esm2022/components/label/label.component.mjs +17 -0
  212. package/{esm2020 → esm2022}/components/label/label.module.mjs +18 -18
  213. package/{esm2020 → esm2022}/components/notification/index.mjs +4 -4
  214. package/esm2022/components/notification/notification.component.mjs +47 -0
  215. package/esm2022/components/notification/notification.module.mjs +24 -0
  216. package/{esm2020 → esm2022}/components/notification/notification.options.mjs +53 -53
  217. package/{esm2020 → esm2022}/components/radio/index.mjs +3 -3
  218. package/{esm2020 → esm2022}/components/radio/radio.component.mjs +11 -11
  219. package/esm2022/components/radio/radio.module.mjs +16 -0
  220. package/{esm2020 → esm2022}/components/root/index.mjs +4 -4
  221. package/esm2022/components/root/root.component.mjs +32 -0
  222. package/esm2022/components/root/root.module.mjs +31 -0
  223. package/{esm2020 → esm2022}/components/root/root.options.mjs +1 -1
  224. package/{esm2020 → esm2022}/components/select/index.mjs +3 -3
  225. package/esm2022/components/select/select.component.mjs +172 -0
  226. package/esm2022/components/select/select.module.mjs +32 -0
  227. package/{esm2020 → esm2022}/components/svg/index.mjs +3 -3
  228. package/esm2022/components/svg/svg.component.mjs +50 -0
  229. package/esm2022/components/svg/svg.module.mjs +18 -0
  230. package/{esm2020 → esm2022}/components/tabs/index.mjs +4 -4
  231. package/{esm2020 → esm2022}/components/tabs/tab/index.mjs +1 -1
  232. package/{esm2020 → esm2022}/components/tabs/tab/tab.component.mjs +21 -21
  233. package/esm2022/components/tabs/tabs.component.mjs +49 -0
  234. package/esm2022/components/tabs/tabs.module.mjs +18 -0
  235. package/{esm2020 → esm2022}/components/textarea/index.mjs +3 -3
  236. package/{esm2020 → esm2022}/components/textarea/textarea.component.mjs +35 -35
  237. package/{esm2020 → esm2022}/components/textarea/textarea.module.mjs +16 -16
  238. package/{esm2020 → esm2022}/components/toggle/index.mjs +3 -3
  239. package/esm2022/components/toggle/toggle.component.mjs +11 -0
  240. package/esm2022/components/toggle/toggle.module.mjs +16 -0
  241. package/{esm2020 → esm2022}/cuby-ui-core.mjs +4 -4
  242. package/esm2022/directives/index.mjs +3 -0
  243. package/{esm2020 → esm2022}/directives/text-field-controller/index.mjs +9 -9
  244. package/esm2022/directives/text-field-controller/text-field-controller.module.mjs +40 -0
  245. package/esm2022/directives/text-field-controller/text-field-controller.provider.mjs +24 -0
  246. package/{esm2020 → esm2022}/directives/text-field-controller/text-field-icon-left.directive.mjs +21 -21
  247. package/{esm2020 → esm2022}/directives/text-field-controller/text-field-id.directive.mjs +21 -21
  248. package/{esm2020 → esm2022}/directives/text-field-controller/text-field-is-error.directive.mjs +24 -24
  249. package/{esm2020 → esm2022}/directives/text-field-controller/text-field-placeholder.directive.mjs +21 -21
  250. package/{esm2020 → esm2022}/directives/text-field-controller/text-field-size.directive.mjs +24 -24
  251. package/esm2022/directives/text-field-controller/text-field.controller.mjs +25 -0
  252. package/esm2022/directives/tooltip/index.mjs +17 -0
  253. package/esm2022/directives/tooltip/tooltip-describe.directive.mjs +45 -0
  254. package/esm2022/directives/tooltip/tooltip-driver.directive.mjs +18 -0
  255. package/esm2022/directives/tooltip/tooltip-host.directive.mjs +26 -0
  256. package/esm2022/directives/tooltip/tooltip-hover.directive.mjs +53 -0
  257. package/esm2022/directives/tooltip/tooltip-manual.directive.mjs +31 -0
  258. package/esm2022/directives/tooltip/tooltip-options.directive.mjs +83 -0
  259. package/esm2022/directives/tooltip/tooltip-overflow.directive.mjs +31 -0
  260. package/esm2022/directives/tooltip/tooltip-pointer.directive.mjs +31 -0
  261. package/esm2022/directives/tooltip/tooltip-position.directive.mjs +96 -0
  262. package/esm2022/directives/tooltip/tooltip-unstyled.component.mjs +40 -0
  263. package/esm2022/directives/tooltip/tooltip.component.mjs +110 -0
  264. package/esm2022/directives/tooltip/tooltip.directive.mjs +92 -0
  265. package/esm2022/directives/tooltip/tooltip.mjs +27 -0
  266. package/esm2022/directives/tooltip/tooltip.providers.mjs +7 -0
  267. package/esm2022/directives/tooltip/tooltip.service.mjs +28 -0
  268. package/esm2022/directives/tooltip/tooltips.component.mjs +33 -0
  269. package/{esm2020 → esm2022}/index.mjs +7 -7
  270. package/{esm2020 → esm2022}/interfaces/context-menu-item.mjs +2 -2
  271. package/{esm2020 → esm2022}/interfaces/index.mjs +3 -3
  272. package/{esm2020 → esm2022}/interfaces/option.mjs +2 -2
  273. package/esm2022/services/index.mjs +5 -0
  274. package/esm2022/services/position.service.mjs +23 -0
  275. package/{esm2020 → esm2022}/services/theme.options.mjs +6 -6
  276. package/{esm2020 → esm2022}/services/theme.service.mjs +30 -30
  277. package/esm2022/services/visual-viewport.service.mjs +28 -0
  278. package/esm2022/tokens/animations-speed.mjs +8 -0
  279. package/esm2022/tokens/index.mjs +4 -0
  280. package/esm2022/tokens/reduced-motion.mjs +6 -0
  281. package/esm2022/tokens/viewport.mjs +31 -0
  282. package/esm2022/types/appearance.mjs +2 -0
  283. package/{esm2020 → esm2022}/types/hint-type.mjs +2 -2
  284. package/esm2022/types/index.mjs +10 -0
  285. package/esm2022/types/point.mjs +2 -0
  286. package/esm2022/types/portal-item.mjs +2 -0
  287. package/{esm2020 → esm2022}/types/position.mjs +2 -2
  288. package/{esm2020 → esm2022}/types/resizing.mjs +2 -2
  289. package/{esm2020 → esm2022}/types/shape.mjs +2 -2
  290. package/{esm2020 → esm2022}/types/size.mjs +2 -2
  291. package/{esm2020 → esm2022}/types/status.mjs +2 -2
  292. package/{esm2020 → esm2022}/utils/format/index.mjs +3 -3
  293. package/{esm2020 → esm2022}/utils/format/remove-spaces.mjs +4 -4
  294. package/{esm2020 → esm2022}/utils/format/replace.mjs +5 -5
  295. package/esm2022/utils/index.mjs +3 -0
  296. package/esm2022/utils/miscellaneous/index.mjs +4 -0
  297. package/esm2022/utils/miscellaneous/is-obscured.mjs +8 -0
  298. package/esm2022/utils/miscellaneous/override-options.mjs +11 -0
  299. package/esm2022/utils/miscellaneous/to-animation-options.mjs +14 -0
  300. package/fesm2022/cuby-ui-core.mjs +3416 -0
  301. package/fesm2022/cuby-ui-core.mjs.map +1 -0
  302. package/fonts/Inter-Bold.svg +25443 -25443
  303. package/fonts/Inter-Medium.svg +25400 -25400
  304. package/fonts/Inter-Regular.svg +24341 -24341
  305. package/fonts/Inter-SemiBold.svg +25459 -25459
  306. package/index.d.ts +6 -6
  307. package/interfaces/context-menu-item.d.ts +7 -7
  308. package/interfaces/index.d.ts +2 -2
  309. package/interfaces/option.d.ts +5 -5
  310. package/package.json +8 -14
  311. package/services/index.d.ts +4 -2
  312. package/services/position.service.d.ts +10 -0
  313. package/services/theme.options.d.ts +5 -5
  314. package/services/theme.service.d.ts +12 -12
  315. package/services/visual-viewport.service.d.ts +9 -0
  316. package/styles/fonts.scss +51 -51
  317. package/styles/global.scss +9 -9
  318. package/styles/mixins/buttons.scss +13 -13
  319. package/styles/mixins/headings.scss +115 -115
  320. package/styles/mixins/inputs.scss +91 -91
  321. package/styles/mixins/lists.scss +5 -5
  322. package/styles/mixins/paddings.scss +35 -35
  323. package/styles/mixins/shadows.scss +38 -38
  324. package/styles/mixins/texts.scss +225 -225
  325. package/styles/theme.scss +385 -385
  326. package/styles/variables/colors.scss +253 -253
  327. package/tokens/animations-speed.d.ts +4 -0
  328. package/tokens/index.d.ts +3 -0
  329. package/tokens/reduced-motion.d.ts +1 -0
  330. package/tokens/viewport.d.ts +7 -0
  331. package/types/appearance.d.ts +8 -8
  332. package/types/hint-type.d.ts +1 -1
  333. package/types/index.d.ts +9 -7
  334. package/types/point.d.ts +1 -0
  335. package/types/portal-item.d.ts +9 -0
  336. package/types/position.d.ts +2 -2
  337. package/types/resizing.d.ts +2 -2
  338. package/types/shape.d.ts +1 -1
  339. package/types/size.d.ts +4 -4
  340. package/types/status.d.ts +1 -1
  341. package/utils/format/index.d.ts +2 -2
  342. package/utils/format/remove-spaces.d.ts +1 -1
  343. package/utils/format/replace.d.ts +1 -1
  344. package/utils/index.d.ts +2 -1
  345. package/utils/miscellaneous/index.d.ts +3 -0
  346. package/utils/miscellaneous/is-obscured.d.ts +4 -0
  347. package/utils/miscellaneous/override-options.d.ts +1 -0
  348. package/utils/miscellaneous/to-animation-options.d.ts +4 -0
  349. package/esm2020/components/accordion/accordion-item/accordion-item.component.mjs +0 -28
  350. package/esm2020/components/accordion/accordion.component.mjs +0 -11
  351. package/esm2020/components/accordion/accordion.module.mjs +0 -37
  352. package/esm2020/components/alert/alert.component.mjs +0 -36
  353. package/esm2020/components/alert/alert.interfaces.mjs +0 -2
  354. package/esm2020/components/alert/alert.service.mjs +0 -17
  355. package/esm2020/components/alert/alerts.component.mjs +0 -36
  356. package/esm2020/components/badge/badge.component.mjs +0 -31
  357. package/esm2020/components/badge/badge.module.mjs +0 -18
  358. package/esm2020/components/banner/banner.component.mjs +0 -68
  359. package/esm2020/components/banner/banner.module.mjs +0 -31
  360. package/esm2020/components/banner/banner.options.mjs +0 -6
  361. package/esm2020/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -16
  362. package/esm2020/components/breadcrumbs/breadcrumbs.component.mjs +0 -17
  363. package/esm2020/components/breadcrumbs/breadcrumbs.module.mjs +0 -33
  364. package/esm2020/components/button/button.component.mjs +0 -138
  365. package/esm2020/components/button/button.module.mjs +0 -24
  366. package/esm2020/components/button/button.options.mjs +0 -10
  367. package/esm2020/components/button-group/button-group.component.mjs +0 -11
  368. package/esm2020/components/button-group/button-group.module.mjs +0 -16
  369. package/esm2020/components/checkbox/checkbox.component.mjs +0 -11
  370. package/esm2020/components/context-menu/context-menu.component.mjs +0 -146
  371. package/esm2020/components/context-menu/context-menu.module.mjs +0 -24
  372. package/esm2020/components/dialog/dialog-actions/dialog-actions.component.mjs +0 -11
  373. package/esm2020/components/dialog/dialog-header/dialog-header.component.mjs +0 -28
  374. package/esm2020/components/dialog/dialog.component.mjs +0 -67
  375. package/esm2020/components/dialog/dialog.interfaces.mjs +0 -2
  376. package/esm2020/components/dialog/dialog.module.mjs +0 -50
  377. package/esm2020/components/dialog/dialog.service.mjs +0 -17
  378. package/esm2020/components/dialog/dialogs.component.mjs +0 -51
  379. package/esm2020/components/form-field/form-field.component.mjs +0 -11
  380. package/esm2020/components/form-field/form-field.module.mjs +0 -16
  381. package/esm2020/components/hint/hint.component.mjs +0 -19
  382. package/esm2020/components/hint/hint.module.mjs +0 -16
  383. package/esm2020/components/icon-button/icon-button.component.mjs +0 -32
  384. package/esm2020/components/icon-button/icon-button.module.mjs +0 -24
  385. package/esm2020/components/input-number/input-number.component.mjs +0 -113
  386. package/esm2020/components/input-number/input-number.module.mjs +0 -36
  387. package/esm2020/components/input-password/input-password.component.mjs +0 -89
  388. package/esm2020/components/input-password/input-password.module.mjs +0 -33
  389. package/esm2020/components/input-text/input-text.component.mjs +0 -87
  390. package/esm2020/components/input-text/input-text.module.mjs +0 -33
  391. package/esm2020/components/input-time/input-time.component.mjs +0 -99
  392. package/esm2020/components/input-time/input-time.module.mjs +0 -36
  393. package/esm2020/components/label/label.component.mjs +0 -17
  394. package/esm2020/components/notification/notification.component.mjs +0 -47
  395. package/esm2020/components/notification/notification.module.mjs +0 -24
  396. package/esm2020/components/radio/radio.module.mjs +0 -16
  397. package/esm2020/components/root/root.component.mjs +0 -31
  398. package/esm2020/components/root/root.module.mjs +0 -28
  399. package/esm2020/components/select/select.component.mjs +0 -172
  400. package/esm2020/components/select/select.module.mjs +0 -32
  401. package/esm2020/components/svg/svg.component.mjs +0 -50
  402. package/esm2020/components/svg/svg.module.mjs +0 -18
  403. package/esm2020/components/tabs/tabs.component.mjs +0 -49
  404. package/esm2020/components/tabs/tabs.module.mjs +0 -18
  405. package/esm2020/components/toggle/toggle.component.mjs +0 -11
  406. package/esm2020/components/toggle/toggle.module.mjs +0 -16
  407. package/esm2020/directives/index.mjs +0 -2
  408. package/esm2020/directives/text-field-controller/text-field-controller.module.mjs +0 -40
  409. package/esm2020/directives/text-field-controller/text-field-controller.provider.mjs +0 -24
  410. package/esm2020/directives/text-field-controller/text-field.controller.mjs +0 -25
  411. package/esm2020/services/index.mjs +0 -3
  412. package/esm2020/types/appearance.mjs +0 -2
  413. package/esm2020/types/index.mjs +0 -8
  414. package/esm2020/utils/index.mjs +0 -2
  415. package/fesm2015/cuby-ui-core.mjs +0 -2326
  416. package/fesm2015/cuby-ui-core.mjs.map +0 -1
  417. package/fesm2020/cuby-ui-core.mjs +0 -2326
  418. package/fesm2020/cuby-ui-core.mjs.map +0 -1
@@ -0,0 +1,31 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { CuiRootComponent } from './root.component';
4
+ import { CuiDialogModule } from '../dialog';
5
+ import { CuiAlertModule } from '../alert';
6
+ import { CuiTooltips } from '../../directives/tooltip';
7
+ import * as i0 from "@angular/core";
8
+ export class CuiRootModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiRootModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CuiRootModule, declarations: [CuiRootComponent], imports: [CommonModule,
11
+ CuiDialogModule,
12
+ CuiAlertModule,
13
+ CuiTooltips], exports: [CuiRootComponent] }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiRootModule, imports: [CommonModule,
15
+ CuiDialogModule,
16
+ CuiAlertModule] }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiRootModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ imports: [
22
+ CommonModule,
23
+ CuiDialogModule,
24
+ CuiAlertModule,
25
+ CuiTooltips
26
+ ],
27
+ declarations: [CuiRootComponent],
28
+ exports: [CuiRootComponent]
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvcm9vdC9yb290Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVl2RCxNQUFNLE9BQU8sYUFBYTsrR0FBYixhQUFhO2dIQUFiLGFBQWEsaUJBSFQsZ0JBQWdCLGFBTDdCLFlBQVk7WUFDWixlQUFlO1lBQ2YsY0FBYztZQUNkLFdBQVcsYUFHSCxnQkFBZ0I7Z0hBRWYsYUFBYSxZQVJ0QixZQUFZO1lBQ1osZUFBZTtZQUNmLGNBQWM7OzRGQU1MLGFBQWE7a0JBVnpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixjQUFjO3dCQUNkLFdBQVc7cUJBQ1o7b0JBQ0QsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBDdWlSb290Q29tcG9uZW50IH0gZnJvbSAnLi9yb290LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdWlEaWFsb2dNb2R1bGUgfSBmcm9tICcuLi9kaWFsb2cnO1xuaW1wb3J0IHsgQ3VpQWxlcnRNb2R1bGUgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBDdWlUb29sdGlwcyB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdG9vbHRpcCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ3VpRGlhbG9nTW9kdWxlLFxuICAgIEN1aUFsZXJ0TW9kdWxlLFxuICAgIEN1aVRvb2x0aXBzXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW0N1aVJvb3RDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQ3VpUm9vdENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQ3VpUm9vdE1vZHVsZSB7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
- export const CUI_ROOT_SELECTOR = 'cui-root';
1
+ export const CUI_ROOT_SELECTOR = 'cui-root';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3Jvb3Qvcm9vdC5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBDVUlfUk9PVF9TRUxFQ1RPUiA9ICdjdWktcm9vdCc7Il19
@@ -1,3 +1,3 @@
1
- export * from './select.component';
2
- export * from './select.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc2VsZWN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0Lm1vZHVsZSc7XHJcbiJdfQ==
1
+ export * from './select.component';
2
+ export * from './select.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc2VsZWN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC5tb2R1bGUnO1xuIl19
@@ -0,0 +1,172 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, ElementRef, ViewChild, HostBinding, ViewContainerRef, HostListener } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { CuiDestroyService } from '@cuby-ui/cdk';
5
+ import { cuiProvide, CuiClickOutsideDirective } from '@cuby-ui/cdk';
6
+ import { takeUntil } from 'rxjs';
7
+ import { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';
8
+ import { CUI_ROOT_SELECTOR } from '../root';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@cuby-ui/cdk";
11
+ import * as i2 from "@angular/common";
12
+ import * as i3 from "../svg/svg.component";
13
+ export class CuiSelectComponent {
14
+ constructor() {
15
+ this.element = inject(ElementRef).nativeElement;
16
+ this.document = inject(DOCUMENT);
17
+ this.changeDetectorRef = inject(ChangeDetectorRef);
18
+ this.viewContainerRef = inject(ViewContainerRef);
19
+ this.destroy$ = inject(CuiDestroyService, { self: true });
20
+ this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
21
+ this.cuiClickOutsideDirective = inject(CuiClickOutsideDirective, { self: true });
22
+ this.SPACE_BETWEEN_BUTTON_AND_OPTIONS = 3;
23
+ this.isOpened = false;
24
+ this.isOptionsListAbove = false;
25
+ this.gap = `${this.SPACE_BETWEEN_BUTTON_AND_OPTIONS}px`;
26
+ }
27
+ get id() {
28
+ return this.cuiTextFieldController.id;
29
+ }
30
+ get size() {
31
+ return this.cuiTextFieldController.size;
32
+ }
33
+ get placeholder() {
34
+ return this.cuiTextFieldController.placeholder;
35
+ }
36
+ get isError() {
37
+ return this.cuiTextFieldController.isError;
38
+ }
39
+ trackByFn(_, item) {
40
+ return item.label;
41
+ }
42
+ writeValue(value) {
43
+ this.value = value;
44
+ // TODO: Непонятно, зачем нужно в construction вторая часть выражения
45
+ this.selectedOption = this.options.find(option => option.value === value) ?? value;
46
+ this.changeDetectorRef.markForCheck();
47
+ }
48
+ registerOnChange(fn) {
49
+ this.onChange = fn;
50
+ }
51
+ registerOnTouched(fn) {
52
+ this.onTouched = fn;
53
+ }
54
+ ngOnInit() {
55
+ this.initClickOutsideSubscription();
56
+ }
57
+ ngOnDestroy() {
58
+ this.clearViewContainerRef();
59
+ }
60
+ setDisabledState(isDisabled) {
61
+ this.isDisabled = isDisabled;
62
+ this.changeDetectorRef.markForCheck();
63
+ }
64
+ onSelect(event, option) {
65
+ event.stopPropagation();
66
+ if (option.isDisabled) {
67
+ return;
68
+ }
69
+ this.value = option.value;
70
+ this.selectedOption = option;
71
+ this.onChange(this.value);
72
+ this.onSwitch();
73
+ this.onTouched();
74
+ this.changeDetectorRef.markForCheck();
75
+ }
76
+ onSwitch() {
77
+ if (!this.options.length && !this.defaultOptionText) {
78
+ return;
79
+ }
80
+ if (!this.isOpened) {
81
+ this.open();
82
+ return;
83
+ }
84
+ this.close();
85
+ }
86
+ onClose() {
87
+ this.close();
88
+ }
89
+ onWindowResize() {
90
+ this.button.nativeElement.blur();
91
+ this.close();
92
+ }
93
+ initClickOutsideSubscription() {
94
+ this.cuiClickOutsideDirective.cuiClickOutside
95
+ .pipe(takeUntil(this.destroy$))
96
+ .subscribe(() => {
97
+ if (this.isOpened) {
98
+ this.onTouched();
99
+ }
100
+ this.close();
101
+ });
102
+ }
103
+ open() {
104
+ this.isOpened = true;
105
+ const rootElement = this.document.querySelector(CUI_ROOT_SELECTOR);
106
+ const { top: elementRectTop, left: elementRectLeft, bottom: elementRectBottom } = this.element.getBoundingClientRect();
107
+ const distanceToBottom = this.document.documentElement.clientHeight
108
+ - (elementRectBottom + this.SPACE_BETWEEN_BUTTON_AND_OPTIONS);
109
+ const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.optionsWrapper);
110
+ const node = embeddedViewRef.rootNodes[0];
111
+ const nodeStyles = node.style;
112
+ this.isOptionsListAbove = distanceToBottom < this.getOptionsListHeightContainer.nativeElement.offsetHeight;
113
+ embeddedViewRef.detectChanges();
114
+ nodeStyles.width = this.element.offsetWidth + 'px';
115
+ nodeStyles.left = window.scrollX + elementRectLeft + 'px';
116
+ if (this.isOptionsListAbove) {
117
+ nodeStyles.top = window.scrollY + elementRectTop
118
+ - this.getOptionsListHeightContainer.nativeElement.offsetHeight
119
+ - this.SPACE_BETWEEN_BUTTON_AND_OPTIONS
120
+ + 'px';
121
+ }
122
+ else {
123
+ nodeStyles.top = window.scrollY + elementRectBottom + this.SPACE_BETWEEN_BUTTON_AND_OPTIONS + 'px';
124
+ }
125
+ rootElement.appendChild(this.viewContainerRef.createEmbeddedView(this.backdrop).rootNodes[0]);
126
+ rootElement.appendChild(embeddedViewRef.rootNodes[0]);
127
+ }
128
+ close() {
129
+ this.isOpened = false;
130
+ this.clearViewContainerRef();
131
+ }
132
+ clearViewContainerRef() {
133
+ this.viewContainerRef.clear();
134
+ }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
136
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CuiSelectComponent, selector: "cui-select[options]", inputs: { options: "options", defaultOptionText: "defaultOptionText" }, host: { listeners: { "window:resize": "onWindowResize()" }, properties: { "style.--c-gap": "this.gap" } }, providers: [
137
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
138
+ cuiProvide(NG_VALUE_ACCESSOR, CuiSelectComponent, true),
139
+ CuiDestroyService
140
+ ], 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.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 #backdrop>\n <div class=\"c-backdrop\"></div>\n</ng-template>\n<ng-template #optionsWrapper>\n <div\n cuiFocusTrap\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-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: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: i1.CuiFocusTrapDirective, selector: "[cuiFocusTrap]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
141
+ }
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiSelectComponent, decorators: [{
143
+ type: Component,
144
+ args: [{ selector: 'cui-select[options]', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
145
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
146
+ cuiProvide(NG_VALUE_ACCESSOR, CuiSelectComponent, true),
147
+ CuiDestroyService
148
+ ], 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 #backdrop>\n <div class=\"c-backdrop\"></div>\n</ng-template>\n<ng-template #optionsWrapper>\n <div\n cuiFocusTrap\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-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"] }]
149
+ }], propDecorators: { options: [{
150
+ type: Input
151
+ }], defaultOptionText: [{
152
+ type: Input
153
+ }], button: [{
154
+ type: ViewChild,
155
+ args: ['button']
156
+ }], getOptionsListHeightContainer: [{
157
+ type: ViewChild,
158
+ args: ['getOptionsListHeightContainer']
159
+ }], backdrop: [{
160
+ type: ViewChild,
161
+ args: ['backdrop']
162
+ }], optionsWrapper: [{
163
+ type: ViewChild,
164
+ args: ['optionsWrapper']
165
+ }], gap: [{
166
+ type: HostBinding,
167
+ args: ['style.--c-gap']
168
+ }], onWindowResize: [{
169
+ type: HostListener,
170
+ args: ['window:resize']
171
+ }] } });
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJakMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7OztBQWM1QyxNQUFNLE9BQU8sa0JBQWtCO0lBWi9CO1FBYW1CLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzNDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFn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cUJBQXFCO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDOytHQXpMVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixpT0FQbEI7WUFDVCxrQ0FBa0M7WUFDbEMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLElBQUksQ0FBQztZQUN2RCxpQkFBaUI7U0FDbEIscWZDbENILDRuRUE2RUE7OzRGRHhDYSxrQkFBa0I7a0JBWjlCLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Qsa0NBQWtDO3dCQUNsQyxVQUFVLENBQUMsaUJBQWlCLHNCQUFzQixJQUFJLENBQUM7d0JBQ3ZELGlCQUFpQjtxQkFDbEIsa0JBQ2UsQ0FBQyx3QkFBd0IsQ0FBQzs4QkFzQm5DLE9BQU87c0JBRGIsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSWEsTUFBTTtzQkFEeEIsU0FBUzt1QkFBQyxRQUFRO2dCQUlBLDZCQUE2QjtzQkFEL0MsU0FBUzt1QkFBQywrQkFBK0I7Z0JBSXZCLFFBQVE7c0JBRDFCLFNBQVM7dUJBQUMsVUFBVTtnQkFJRixjQUFjO3NCQURoQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFJakIsR0FBRztzQkFEWixXQUFXO3VCQUFDLGVBQWU7Z0JBd0ZsQixjQUFjO3NCQUR2QixZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgSG9zdEJpbmRpbmcsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIEhvc3RMaXN0ZW5lclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgQ3VpT25DaGFuZ2UsIEN1aU9uVG91Y2hlZCwgQ3VpTnVsbGFibGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpRGVzdHJveVNlcnZpY2UgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgY3VpUHJvdmlkZSwgQ3VpQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7IEN1aU9wdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHR5cGUgeyBDdWlTaXplTWQsIEN1aVNpemVTbSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IENVSV9URVhUX0ZJRUxEX0NPTlRST0xMRVIsIENVSV9URVhUX0ZJTEVEX0NPTlRST0xMRVJfUFJPVklERVIgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENVSV9ST09UX1NFTEVDVE9SIH0gZnJvbSAnLi4vcm9vdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1aS1zZWxlY3Rbb3B0aW9uc10nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3Quc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ1VJX1RFWFRfRklMRURfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBjdWlQcm92aWRlKE5HX1ZBTFVFX0FDQ0VTU09SLCBDdWlTZWxlY3RDb21wb25lbnQsIHRydWUpLFxuICAgIEN1aURlc3Ryb3lTZXJ2aWNlXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbQ3VpQ2xpY2tPdXRzaWRlRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBDdWlTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBpbmplY3QoQ3VpRGVzdHJveVNlcnZpY2UsIHtzZWxmOiB0cnVlfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY3VpVGV4dEZpZWxkQ29udHJvbGxlciA9IGluamVjdChDVUlfVEVYVF9GSUVMRF9DT05UUk9MTEVSKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjdWlDbGlja091dHNpZGVEaXJlY3RpdmUgPSBpbmplY3QoQ3VpQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLCB7c2VsZjogdHJ1ZX0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBTUEFDRV9CRVRXRUVOX0JVVFRPTl9BTkRfT1BUSU9OUyA9IDM7XG5cbiAgcHJvdGVjdGVkIGlzT3BlbmVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBpc09wdGlvbnNMaXN0QWJvdmUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHZhbHVlITogQ3VpTnVsbGFibGU8dW5rbm93bj47XG4gIHByb3RlY3RlZCBvbkNoYW5nZSE6IEN1aU9uQ2hhbmdlPHVua25vd24+O1xuICBwcm90ZWN0ZWQgb25Ub3VjaGVkITogQ3VpT25Ub3VjaGVkO1xuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZCE6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBzZWxlY3RlZE9wdGlvbj86IEN1aU9wdGlvbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3B0aW9ucyE6IEN1aU9wdGlvbltdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWZhdWx0T3B0aW9uVGV4dD86IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdidXR0b24nKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYnV0dG9uITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnZ2V0T3B0aW9uc0xpc3RIZWlnaHRDb250YWluZXInKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2V0T3B0aW9uc0xpc3RIZWlnaHRDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxVTGlzdEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2JhY2tkcm9wJylcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGJhY2tkcm9wITogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQFZpZXdDaGlsZCgnb3B0aW9uc1dyYXBwZXInKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9uc1dyYXBwZXIhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tYy1nYXAnKVxuICBwcm90ZWN0ZWQgZ2FwID0gYCR7dGhpcy5TUEFDRV9CRVRXRUVOX0JVVFRPTl9BTkRfT1BUSU9OU31weGA7XG5cbiAgcHJvdGVjdGVkIGdldCBpZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIuaWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHNpemUoKTogQ3VpU2l6ZVNtIHwgQ3VpU2l6ZU1kIHtcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLnNpemU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY3VpVGV4dEZpZWxkQ29udHJvbGxlci5wbGFjZWhvbGRlcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLmlzRXJyb3I7XG4gIH1cblxuICBwcm90ZWN0ZWQgdHJhY2tCeUZuKF86IG51bWJlciwgaXRlbTogQ3VpT3B0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5sYWJlbDtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIC8vIFRPRE86INCd0LXQv9C+0L3Rj9GC0L3Qviwg0LfQsNGH0LXQvCDQvdGD0LbQvdC+INCyIGNvbnN0cnVjdGlvbiDQstGC0L7RgNCw0Y8g0YfQsNGB0YLRjCDQstGL0YDQsNC20LXQvdC40Y9cbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gdGhpcy5vcHRpb25zLmZpbmQob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpID8/IHZhbHVlIGFzIEN1aU9wdGlvbjtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogQ3VpT25DaGFuZ2U8dW5rbm93bj4pOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEN1aU9uVG91Y2hlZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Q2xpY2tPdXRzaWRlU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhclZpZXdDb250YWluZXJSZWYoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblNlbGVjdChldmVudDogRXZlbnQsIG9wdGlvbjogQ3VpT3B0aW9uKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAob3B0aW9uLmlzRGlzYWJsZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMudmFsdWUgPSBvcHRpb24udmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IG9wdGlvbjtcblxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vblN3aXRjaCgpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblN3aXRjaCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5sZW5ndGggJiYgIXRoaXMuZGVmYXVsdE9wdGlvblRleHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcbiAgICAgIHRoaXMub3BlbigpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIHByb3RlY3RlZCBvbldpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvbi5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRDbGlja091dHNpZGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5jdWlDbGlja091dHNpZGVEaXJlY3RpdmUuY3VpQ2xpY2tPdXRzaWRlXG4gICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuZWQgPSB0cnVlO1xuXG4gICAgY29uc3Qgcm9vdEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoQ1VJX1JPT1RfU0VMRUNUT1IpITtcbiAgICBjb25zdCB7XG4gICAgICB0b3A6IGVsZW1lbnRSZWN0VG9wLFxuICAgICAgbGVmdDogZWxlbWVudFJlY3RMZWZ0LFxuICAgICAgYm90dG9tOiBlbGVtZW50UmVjdEJvdHRvbVxuICAgIH0gPSB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgZGlzdGFuY2VUb0JvdHRvbSA9IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodFxuICAgICAgLSAoZWxlbWVudFJlY3RCb3R0b20gKyB0aGlzLlNQQUNFX0JFVFdFRU5fQlVUVE9OX0FORF9PUFRJT05TKTtcbiAgICBjb25zdCBlbWJlZGRlZFZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMub3B0aW9uc1dyYXBwZXIpO1xuICAgIGNvbnN0IG5vZGUgPSBlbWJlZGRlZFZpZXdSZWYucm9vdE5vZGVzWzBdO1xuICAgIGNvbnN0IG5vZGVTdHlsZXMgPSBub2RlLnN0eWxlO1xuXG4gICAgdGhpcy5pc09wdGlvbnNMaXN0QWJvdmUgPSBkaXN0YW5jZVRvQm90dG9tIDwgdGhpcy5nZXRPcHRpb25zTGlzdEhlaWdodENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcblxuICAgIGVtYmVkZGVkVmlld1JlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBub2RlU3R5bGVzLndpZHRoID0gdGhpcy5lbGVtZW50Lm9mZnNldFdpZHRoICsgJ3B4JztcbiAgICBub2RlU3R5bGVzLmxlZnQgPSB3aW5kb3cuc2Nyb2xsWCArIGVsZW1lbnRSZWN0TGVmdCArICdweCc7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNMaXN0QWJvdmUpIHtcbiAgICAgIG5vZGVTdHlsZXMudG9wID0gd2luZG93LnNjcm9sbFkgKyBlbGVtZW50UmVjdFRvcFxuICAgICAgICAtIHRoaXMuZ2V0T3B0aW9uc0xpc3RIZWlnaHRDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHRcbiAgICAgICAgLSB0aGlzLlNQQUNFX0JFVFdFRU5fQlVUVE9OX0FORF9PUFRJT05TXG4gICAgICAgICsgJ3B4JztcbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZVN0eWxlcy50b3AgPSB3aW5kb3cuc2Nyb2xsWSArIGVsZW1lbnRSZWN0Qm90dG9tICsgdGhpcy5TUEFDRV9CRVRXRUVOX0JVVFRPTl9BTkRfT1BUSU9OUyArICdweCc7XG4gICAgfVxuXG4gICAgcm9vdEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmJhY2tkcm9wKS5yb290Tm9kZXNbMF0pO1xuICAgIHJvb3RFbGVtZW50LmFwcGVuZENoaWxkKGVtYmVkZGVkVmlld1JlZi5yb290Tm9kZXNbMF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbmVkID0gZmFsc2U7XG5cbiAgICB0aGlzLmNsZWFyVmlld0NvbnRhaW5lclJlZigpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhclZpZXdDb250YWluZXJSZWYoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgICAjYnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuaWRdPVwiaWRcIlxuICAgIFthdHRyLmRhdGEtc2l6ZV09XCJzaXplXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgY2xhc3M9XCJjLWJ1dHRvblwiXG4gICAgW2NsYXNzLmMtYnV0dG9uX2FjdGl2ZV09XCJpc09wZW5lZFwiXG4gICAgW2NsYXNzLmMtYnV0dG9uX3dpdGgtZXJyb3JdPVwiaXNFcnJvclwiXG4gICAgKGNsaWNrKT1cIm9uU3dpdGNoKClcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRPcHRpb247IGVsc2UgcGxhY2Vob2xkZXJUZW1wbGF0ZVwiPlxuICAgIHt7IHNlbGVjdGVkT3B0aW9uLmxhYmVsIH19XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyVGVtcGxhdGU+XG4gICAgPHNwYW4gY2xhc3M9XCJjLXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxjdWktc3ZnXG4gICAgaWNvbj1cImN1aUljb25DaGV2cm9uRG93blwiXG4gICAgY29sb3I9XCJ2YXIoLS1jdWktYmFzZS01MDApXCJcbiAgLz5cbjwvYnV0dG9uPlxuPG5nLXRlbXBsYXRlICNiYWNrZHJvcD5cbiAgPGRpdiBjbGFzcz1cImMtYmFja2Ryb3BcIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI29wdGlvbnNXcmFwcGVyPlxuICA8ZGl2XG4gICAgY3VpRm9jdXNUcmFwXG4gICAgY2xhc3M9XCJjLW9wdGlvbnNfX3dyYXBwZXJcIlxuICAgIFtjbGFzcy5jLW9wdGlvbnNfX3dyYXBwZXJfdG9wXT1cImlzT3B0aW9uc0xpc3RBYm92ZVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwib3B0aW9uc0xpc3RcIi8+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxkaXZcbiAgICAjZ2V0T3B0aW9uc0xpc3RIZWlnaHRDb250YWluZXJcbiAgICBjbGFzcz1cImMtZ2V0LW9wdGlvbnMtbGlzdC1oZWlnaHQtY29udGFpbmVyXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm9wdGlvbnNMaXN0XCIvPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI29wdGlvbnNMaXN0PlxuICA8dWxcbiAgICBjbGFzcz1cImMtb3B0aW9uc1wiXG4gICAgW2NsYXNzLmMtb3B0aW9uc190b3BdPVwiaXNPcHRpb25zTGlzdEFib3ZlXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25zLmxlbmd0aDsgZWxzZSBlbXB0eVwiPlxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImMtb3B0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmMtb3B0aW9uLWJ1dHRvbl9zZWxlY3RlZF09XCJzZWxlY3RlZE9wdGlvbiA9PT0gb3B0aW9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uLmlzRGlzYWJsZWRcIlxuICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdCgkZXZlbnQsIG9wdGlvbilcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgIDxjdWktc3ZnXG4gICAgICAgICAgICAqbmdJZj1cInNlbGVjdGVkT3B0aW9uID09PSBvcHRpb25cIlxuICAgICAgICAgICAgaWNvbj1cImN1aUljb25DaGVja1NtXCJcbiAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLWluZm8pXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYy1vcHRpb24tYnV0dG9uX19pY29uXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbGk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eT5cbiAgICAgIDxsaSAqbmdJZj1cImRlZmF1bHRPcHRpb25UZXh0XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImMtb3B0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBkZWZhdWx0T3B0aW9uVGV4dCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbGk+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC91bD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { CuiSelectComponent } from './select.component';
4
+ import { CuiSvgModule } from '../svg';
5
+ import { CuiTextFieldControllerModule } from '../../directives';
6
+ import { CuiFocusTrapDirective } from '@cuby-ui/cdk';
7
+ import * as i0 from "@angular/core";
8
+ export class CuiSelectModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CuiSelectModule, declarations: [CuiSelectComponent], imports: [CommonModule,
11
+ CuiSvgModule,
12
+ CuiFocusTrapDirective], exports: [CuiSelectComponent,
13
+ CuiTextFieldControllerModule] }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiSelectModule, imports: [CommonModule,
15
+ CuiSvgModule, CuiTextFieldControllerModule] }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiSelectModule, decorators: [{
18
+ type: NgModule,
19
+ args: [{
20
+ imports: [
21
+ CommonModule,
22
+ CuiSvgModule,
23
+ CuiFocusTrapDirective
24
+ ],
25
+ declarations: [CuiSelectComponent],
26
+ exports: [
27
+ CuiSelectComponent,
28
+ CuiTextFieldControllerModule
29
+ ]
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFjckQsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQU5YLGtCQUFrQixhQUovQixZQUFZO1lBQ1osWUFBWTtZQUNaLHFCQUFxQixhQUlyQixrQkFBa0I7WUFDbEIsNEJBQTRCO2dIQUduQixlQUFlLFlBVnhCLFlBQVk7WUFDWixZQUFZLEVBTVosNEJBQTRCOzs0RkFHbkIsZUFBZTtrQkFaM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLHFCQUFxQjtxQkFDdEI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLDRCQUE0QjtxQkFDN0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQ3VpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEN1aVN2Z01vZHVsZSB9IGZyb20gJy4uL3N2Zyc7XG5pbXBvcnQgeyBDdWlUZXh0RmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDdWlGb2N1c1RyYXBEaXJlY3RpdmUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEN1aVN2Z01vZHVsZSxcbiAgICBDdWlGb2N1c1RyYXBEaXJlY3RpdmVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbQ3VpU2VsZWN0Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW1xuICAgIEN1aVNlbGVjdENvbXBvbmVudCxcbiAgICBDdWlUZXh0RmllbGRDb250cm9sbGVyTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ3VpU2VsZWN0TW9kdWxlIHtcbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
- export * from './svg.component';
2
- export * from './svg.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3ZnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N2Zy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N2Zy5tb2R1bGUnO1xyXG4iXX0=
1
+ export * from './svg.component';
2
+ export * from './svg.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3ZnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N2Zy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdmcubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, inject, Input } from '@angular/core';
2
+ import { DomSanitizer } from '@angular/platform-browser';
3
+ import { CUI_ICONS, cuiIsIcon } from '@cuby-ui/icons';
4
+ import * as i0 from "@angular/core";
5
+ export class CuiSvgComponent {
6
+ constructor() {
7
+ this.domSanitizer = inject(DomSanitizer);
8
+ }
9
+ set icon(icon) {
10
+ // TODO: В данном случае подключаются все иконки (вероятно, можно как-то оптимизировано их подключать)
11
+ this.safeSvgContent = this.domSanitizer.bypassSecurityTrustHtml(cuiIsIcon(icon)
12
+ ? CUI_ICONS[icon]
13
+ : icon);
14
+ }
15
+ get isWithStrokeWidth() {
16
+ return !!this.strokeWidth;
17
+ }
18
+ get isWithColor() {
19
+ return !!this.color;
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiSvgComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiSvgComponent, decorators: [{
25
+ type: Component,
26
+ 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"] }]
27
+ }], propDecorators: { width: [{
28
+ type: Input
29
+ }], height: [{
30
+ type: Input
31
+ }], strokeWidth: [{
32
+ type: Input
33
+ }, {
34
+ type: HostBinding,
35
+ args: ['style.--stroke-width']
36
+ }], color: [{
37
+ type: Input
38
+ }, {
39
+ type: HostBinding,
40
+ args: ['style.--color']
41
+ }], icon: [{
42
+ type: Input
43
+ }], isWithStrokeWidth: [{
44
+ type: HostBinding,
45
+ args: ['class._with-stroke-width']
46
+ }], isWithColor: [{
47
+ type: HostBinding,
48
+ args: ['class._with-color']
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBR25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBUXRELE1BQU0sT0FBTyxlQUFlO0lBTjVCO1FBT21CLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBbUN0RDtJQWpCQyxJQUNXLElBQUksQ0FBQyxJQUFzQjtRQUNwQyxzR0FBc0c7UUFDdEcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDN0UsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELElBQ1csaUJBQWlCO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQ1csV0FBVztRQUNwQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7K0dBbkNVLGVBQWU7bUdBQWYsZUFBZSxpV0NsQjVCLGlIQUlROzs0RkRjSyxlQUFlO2tCQU4zQixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs4QkFReEMsS0FBSztzQkFEWCxLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFLQyxXQUFXO3NCQUZqQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFLNUIsS0FBSztzQkFGWCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGVBQWU7Z0JBSWpCLElBQUk7c0JBRGQsS0FBSztnQkFTSyxpQkFBaUI7c0JBRDNCLFdBQVc7dUJBQUMsMEJBQTBCO2dCQU01QixXQUFXO3NCQURyQixXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgdHlwZSB7IEN1aUljb24gfSBmcm9tICdAY3VieS11aS9pY29ucyc7XG5pbXBvcnQgeyBDVUlfSUNPTlMsIGN1aUlzSWNvbiB9IGZyb20gJ0BjdWJ5LXVpL2ljb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3VpLXN2Z1tpY29uXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdmcudGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N2Zy5zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEN1aVN2Z0NvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9tU2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG5cbiAgcHJvdGVjdGVkIHNhZmVTdmdDb250ZW50ITogU2FmZUh0bWw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHdpZHRoPzogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWlnaHQ/OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLXN0cm9rZS13aWR0aCcpXG4gIHB1YmxpYyBzdHJva2VXaWR0aD86IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tY29sb3InKVxuICBwdWJsaWMgY29sb3I/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpY29uKGljb246IEN1aUljb24gfCBzdHJpbmcpIHtcbiAgICAvLyBUT0RPOiDQkiDQtNCw0L3QvdC+0Lwg0YHQu9GD0YfQsNC1INC/0L7QtNC60LvRjtGH0LDRjtGC0YHRjyDQstGB0LUg0LjQutC+0L3QutC4ICjQstC10YDQvtGP0YLQvdC+LCDQvNC+0LbQvdC+INC60LDQui3RgtC+INC+0L/RgtC40LzQuNC30LjRgNC+0LLQsNC90L4g0LjRhSDQv9C+0LTQutC70Y7Rh9Cw0YLRjClcbiAgICB0aGlzLnNhZmVTdmdDb250ZW50ID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoY3VpSXNJY29uKGljb24pXG4gICAgICA/IENVSV9JQ09OU1tpY29uXVxuICAgICAgOiBpY29uKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuX3dpdGgtc3Ryb2tlLXdpZHRoJylcbiAgcHVibGljIGdldCBpc1dpdGhTdHJva2VXaWR0aCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnN0cm9rZVdpZHRoO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fd2l0aC1jb2xvcicpXG4gIHB1YmxpYyBnZXQgaXNXaXRoQ29sb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5jb2xvcjtcbiAgfVxufVxuIiwiPHNwYW5cbiAgW2lubmVySFRNTF09XCJzYWZlU3ZnQ29udGVudFwiXG4gIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXG4gIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbj48L3NwYW4+Il19
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { CuiSvgComponent } from './svg.component';
4
+ import * as i0 from "@angular/core";
5
+ export class CuiSvgModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiSvgModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CuiSvgModule, declarations: [CuiSvgComponent], imports: [CommonModule], exports: [CuiSvgComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiSvgModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiSvgModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [CommonModule],
14
+ declarations: [CuiSvgComponent],
15
+ exports: [CuiSvgComponent]
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBT2xELE1BQU0sT0FBTyxZQUFZOytHQUFaLFlBQVk7Z0hBQVosWUFBWSxpQkFIUixlQUFlLGFBRHBCLFlBQVksYUFFWixlQUFlO2dIQUVkLFlBQVksWUFKYixZQUFZOzs0RkFJWCxZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEN1aVN2Z0NvbXBvbmVudCB9IGZyb20gJy4vc3ZnLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtDdWlTdmdDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQ3VpU3ZnQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBDdWlTdmdNb2R1bGUge1xufVxuIl19
@@ -1,4 +1,4 @@
1
- export * from './tab';
2
- export * from './tabs.component';
3
- export * from './tabs.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdGFicy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90YWInO1xyXG5leHBvcnQgKiBmcm9tICcuL3RhYnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90YWJzLm1vZHVsZSc7XHJcbiJdfQ==
1
+ export * from './tab';
2
+ export * from './tabs.component';
3
+ export * from './tabs.module';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdGFicy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90YWInO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYnMubW9kdWxlJztcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export * from './tab.component';
1
+ export * from './tab.component';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdGFicy90YWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGFiLmNvbXBvbmVudCc7Il19
@@ -1,21 +1,21 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, HostListener, inject } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export const CUI_TAB_ACTIVATE = 'cui-tab-activate';
4
- export class CuiTabComponent {
5
- constructor() {
6
- this.element = inject(ElementRef).nativeElement;
7
- }
8
- onClick() {
9
- this.element.dispatchEvent(new CustomEvent(CUI_TAB_ACTIVATE, { bubbles: true }));
10
- }
11
- }
12
- CuiTabComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- 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 });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTabComponent, decorators: [{
15
- type: Component,
16
- 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"] }]
17
- }], propDecorators: { onClick: [{
18
- type: HostListener,
19
- args: ['click']
20
- }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90YWJzL3RhYi90YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3RhYnMvdGFiL3RhYi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXJHLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBUW5ELE1BQU0sT0FBTyxlQUFlO0lBTjVCO1FBT3FCLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBa0MsQ0FBQztLQU1wRjtJQUhXLE9BQU87UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7NkdBTlUsZUFBZTtpR0FBZixlQUFlLHFHQ1Y1QixvQkFDQTs0RkRTYSxlQUFlO2tCQU4zQixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQU1yQyxPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNvbnN0IENVSV9UQUJfQUNUSVZBVEUgPSAnY3VpLXRhYi1hY3RpdmF0ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2J1dHRvbltjdWlUYWJdJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLnRlbXBsYXRlLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYi5zdHlsZS5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1aVRhYkNvbXBvbmVudCB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudCBhcyBIVE1MQnV0dG9uRWxlbWVudDtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIHByb3RlY3RlZCBvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5lbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KENVSV9UQUJfQUNUSVZBVEUsIHsgYnViYmxlczogdHJ1ZSB9KSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250ZW50IC8+XHJcbiJdfQ==
1
+ import { ChangeDetectionStrategy, Component, ElementRef, HostListener, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export const CUI_TAB_ACTIVATE = 'cui-tab-activate';
4
+ export class CuiTabComponent {
5
+ constructor() {
6
+ this.element = inject(ElementRef).nativeElement;
7
+ }
8
+ onClick() {
9
+ this.element.dispatchEvent(new CustomEvent(CUI_TAB_ACTIVATE, { bubbles: true }));
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTabComponent, decorators: [{
15
+ type: Component,
16
+ 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"] }]
17
+ }], propDecorators: { onClick: [{
18
+ type: HostListener,
19
+ args: ['click']
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90YWJzL3RhYi90YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3RhYnMvdGFiL3RhYi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXJHLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBUW5ELE1BQU0sT0FBTyxlQUFlO0lBTjVCO1FBT3FCLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBa0MsQ0FBQztLQU1wRjtJQUhXLE9BQU87UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQzsrR0FOVSxlQUFlO21HQUFmLGVBQWUscUdDVjVCLGtCQUNBOzs0RkRTYSxlQUFlO2tCQU4zQixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQU1yQyxPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgQ1VJX1RBQl9BQ1RJVkFURSA9ICdjdWktdGFiLWFjdGl2YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnV0dG9uW2N1aVRhYl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWIuc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlUYWJDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50IGFzIEhUTUxCdXR0b25FbGVtZW50O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgcHJvdGVjdGVkIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KENVSV9UQUJfQUNUSVZBVEUsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostListener, inject, Input, Output } from '@angular/core';
2
+ import { CUI_TAB_ACTIVATE } from './tab';
3
+ import * as i0 from "@angular/core";
4
+ export class CuiTabsComponent {
5
+ constructor() {
6
+ this.element = inject(ElementRef).nativeElement;
7
+ this.activeElementClass = '_active';
8
+ this.activeItemIndex = 0;
9
+ this.activeItemIndexChange = new EventEmitter();
10
+ }
11
+ get tabs() {
12
+ return Array.from(this.element.querySelectorAll('[cuiTab]'));
13
+ }
14
+ get activeElement() {
15
+ return this.tabs[this.activeItemIndex] || null;
16
+ }
17
+ ngAfterViewChecked() {
18
+ this.changeActiveItem();
19
+ }
20
+ onActivate(event) {
21
+ event.stopPropagation();
22
+ const index = this.tabs.findIndex((tab) => tab === event.target);
23
+ if (index === this.activeItemIndex) {
24
+ return;
25
+ }
26
+ this.activeItemIndexChange.emit(index);
27
+ this.activeItemIndex = index;
28
+ }
29
+ changeActiveItem() {
30
+ this.tabs.forEach(nativeElement => {
31
+ const active = nativeElement === this.activeElement;
32
+ nativeElement.classList.toggle(this.activeElementClass, active);
33
+ });
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTabsComponent, decorators: [{
39
+ type: Component,
40
+ 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"] }]
41
+ }], propDecorators: { activeItemIndex: [{
42
+ type: Input
43
+ }], activeItemIndexChange: [{
44
+ type: Output
45
+ }], onActivate: [{
46
+ type: HostListener,
47
+ args: [CUI_TAB_ACTIVATE, ['$event']]
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90YWJzL3RhYnMudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBUXpDLE1BQU0sT0FBTyxnQkFBZ0I7SUFON0I7UUFPbUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUE0QixDQUFDO1FBRTFELHVCQUFrQixHQUFHLFNBQVMsQ0FBQztRQWV6QyxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUdYLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0F1QnBFO0lBdkNDLElBQWMsSUFBSTtRQUNoQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBYyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDakQsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBU1MsVUFBVSxDQUFDLEtBQWtCO1FBQ3JDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVqRSxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ2xDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNoQyxNQUFNLE1BQU0sR0FBRyxhQUFhLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUVwRCxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTNDVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixnT0NwQjdCLHNDQUNBOzs0RkRtQmEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLFVBQVUsbUJBR0gsdUJBQXVCLENBQUMsTUFBTTs4QkFvQnhDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSVUscUJBQXFCO3NCQURwQyxNQUFNO2dCQUlHLFVBQVU7c0JBRG5CLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFmdGVyVmlld0NoZWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENVSV9UQUJfQUNUSVZBVEUgfSBmcm9tICcuL3RhYic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1aS10YWJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYnMudGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYnMuc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlRWxlbWVudENsYXNzID0gJ19hY3RpdmUnO1xuXG4gIHByb3RlY3RlZCBnZXQgdGFicygpOiByZWFkb25seSBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJ1tjdWlUYWJdJykpO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudGFic1t0aGlzLmFjdGl2ZUl0ZW1JbmRleF0gfHwgbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VBY3RpdmVJdGVtKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoQ1VJX1RBQl9BQ1RJVkFURSwgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uQWN0aXZhdGUoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBjb25zdCBpbmRleCA9IHRoaXMudGFicy5maW5kSW5kZXgoKHRhYikgPT4gdGFiID09PSBldmVudC50YXJnZXQpO1xuXG4gICAgaWYgKGluZGV4ID09PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4ID0gaW5kZXg7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUFjdGl2ZUl0ZW0oKTogdm9pZCB7XG4gICAgdGhpcy50YWJzLmZvckVhY2gobmF0aXZlRWxlbWVudCA9PiB7XG4gICAgICBjb25zdCBhY3RpdmUgPSBuYXRpdmVFbGVtZW50ID09PSB0aGlzLmFjdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIG5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLmFjdGl2ZUVsZW1lbnRDbGFzcywgYWN0aXZlKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2N1aVRhYl1cIiAvPlxuIl19
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CuiTabsComponent } from './tabs.component';
3
+ import { CuiTabComponent } from './tab';
4
+ import * as i0 from "@angular/core";
5
+ export class CuiTabsModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CuiTabsModule, declarations: [CuiTabsComponent, CuiTabComponent], exports: [CuiTabsComponent, CuiTabComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTabsModule }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTabsModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [],
14
+ declarations: [CuiTabsComponent, CuiTabComponent],
15
+ exports: [CuiTabsComponent, CuiTabComponent]
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdGFicy90YWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBT3hDLE1BQU0sT0FBTyxhQUFhOytHQUFiLGFBQWE7Z0hBQWIsYUFBYSxpQkFIVCxnQkFBZ0IsRUFBRSxlQUFlLGFBQ3RDLGdCQUFnQixFQUFFLGVBQWU7Z0hBRWhDLGFBQWE7OzRGQUFiLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDO29CQUNqRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ3VpVGFic0NvbXBvbmVudCB9IGZyb20gJy4vdGFicy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VpVGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbQ3VpVGFic0NvbXBvbmVudCwgQ3VpVGFiQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0N1aVRhYnNDb21wb25lbnQsIEN1aVRhYkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQ3VpVGFic01vZHVsZSB7XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
- export * from './textarea.component';
2
- export * from './textarea.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdGV4dGFyZWEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RleHRhcmVhLm1vZHVsZSc7XHJcbiJdfQ==
1
+ export * from './textarea.component';
2
+ export * from './textarea.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdGV4dGFyZWEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYS5tb2R1bGUnO1xuIl19