@taiga-ui/kit 3.8.0 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-avatar.umd.js +2 -2
  6. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-badge.umd.js +2 -4
  8. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-badged-content.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
  12. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
  14. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +2 -2
  16. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-carousel.umd.js +2 -5
  18. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +1 -1
  20. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +1 -1
  22. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
  24. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-combo-box.umd.js +2 -2
  26. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +23 -12
  28. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
  30. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-filter.umd.js +1 -1
  32. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-copy.umd.js +1 -1
  34. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-count.umd.js +3 -3
  36. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +4 -5
  38. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +2 -2
  40. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date.umd.js +4 -5
  42. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  44. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-inline.umd.js +1 -1
  46. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +2 -2
  48. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-month.umd.js +2 -2
  50. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-number.umd.js +4 -4
  52. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-password.umd.js +1 -1
  54. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +2 -2
  56. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-phone.umd.js +4 -4
  58. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-range.umd.js +1 -1
  60. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  62. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -2
  64. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-time.umd.js +2 -2
  66. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-year.umd.js +2 -2
  68. package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input.umd.js +2 -2
  70. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-island.umd.js +1 -1
  72. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
  74. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +2 -2
  76. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +10 -6
  78. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-multi-select.umd.js +13 -17
  80. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-pagination.umd.js +1 -1
  82. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +17 -4
  84. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-progress.umd.js +1 -1
  86. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-push.umd.js +14 -3
  88. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-radio-block.umd.js +1 -1
  90. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-radio-group.umd.js +1 -1
  92. package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +1 -1
  94. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-radio-list.umd.js +1 -1
  96. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-radio.umd.js +1 -1
  98. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
  100. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-rating.umd.js +1 -1
  102. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-select-option.umd.js +8 -2
  104. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-select.umd.js +252 -28
  106. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-slider.umd.js +1 -1
  108. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  110. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  111. package/bundles/taiga-ui-kit-components-tabs.umd.js +2 -2
  112. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-tag.umd.js +2 -2
  114. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  116. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
  118. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-tree.umd.js +1 -1
  120. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-constants.umd.js +1 -1
  122. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +1 -1
  124. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
  125. package/bundles/taiga-ui-kit-directives-highlight.umd.js +1 -1
  126. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
  128. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  129. package/bundles/taiga-ui-kit-directives-project-class.umd.js +1 -1
  130. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +1 -1
  132. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  133. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +1 -1
  134. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +1 -1
  136. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-tokens.umd.js +4 -0
  138. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  139. package/bundles/taiga-ui-kit-utils-format.umd.js +1 -1
  140. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  141. package/bundles/taiga-ui-kit-utils-mask.umd.js +1 -1
  142. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  143. package/bundles/taiga-ui-kit-utils-math.umd.js +1 -1
  144. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  145. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +1 -1
  146. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  147. package/components/avatar/avatar-options.d.ts +2 -2
  148. package/components/avatar/avatar.component.d.ts +1 -1
  149. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +3 -2
  150. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +3 -2
  151. package/components/data-list-wrapper/data-list-wrapper.d.ts +2 -1
  152. package/components/input-date/input-date.component.d.ts +2 -2
  153. package/components/input-date-range/input-date-range.component.d.ts +3 -3
  154. package/components/marker-icon/marker-icon.component.d.ts +2 -2
  155. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +4 -2
  156. package/components/multi-select/multi-select.module.d.ts +1 -1
  157. package/components/pdf-viewer/index.d.ts +1 -0
  158. package/components/pdf-viewer/pdf-viewer.tokens.d.ts +10 -0
  159. package/components/push/index.d.ts +1 -0
  160. package/components/push/push.options.d.ts +0 -1
  161. package/components/push/push.tokens.d.ts +5 -0
  162. package/components/select/index.d.ts +3 -0
  163. package/components/select/native-select/native-select-group.component.d.ts +8 -0
  164. package/components/select/native-select/native-select.component.d.ts +7 -0
  165. package/components/select/native-select/native-select.d.ts +14 -0
  166. package/components/select/select.component.d.ts +7 -4
  167. package/components/select/select.module.d.ts +10 -7
  168. package/components/select-option/select-option.component.d.ts +4 -3
  169. package/esm2015/components/avatar/avatar-options.js +1 -1
  170. package/esm2015/components/avatar/avatar.component.js +1 -1
  171. package/esm2015/components/badge/badge.component.js +2 -4
  172. package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
  173. package/esm2015/components/calendar-range/calendar-range.component.js +1 -1
  174. package/esm2015/components/carousel/carousel.component.js +2 -5
  175. package/esm2015/components/combo-box/combo-box.component.js +2 -2
  176. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +12 -7
  177. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +12 -7
  178. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +5 -4
  179. package/esm2015/components/input/input.component.js +2 -2
  180. package/esm2015/components/input-count/input-count.component.js +3 -3
  181. package/esm2015/components/input-date/input-date.component.js +4 -5
  182. package/esm2015/components/input-date-range/input-date-range.component.js +7 -8
  183. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  184. package/esm2015/components/input-month/input-month.component.js +1 -1
  185. package/esm2015/components/input-month-range/input-month-range.component.js +1 -1
  186. package/esm2015/components/input-number/input-number.component.js +4 -4
  187. package/esm2015/components/input-phone/input-phone.component.js +4 -4
  188. package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
  189. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  190. package/esm2015/components/input-time/input-time.component.js +2 -2
  191. package/esm2015/components/input-year/input-year.component.js +1 -1
  192. package/esm2015/components/marker-icon/marker-icon.component.js +2 -2
  193. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +11 -10
  194. package/esm2015/components/multi-select/multi-select.component.js +2 -2
  195. package/esm2015/components/multi-select/multi-select.module.js +5 -5
  196. package/esm2015/components/multi-select-option/multi-select-option.component.js +6 -3
  197. package/esm2015/components/pdf-viewer/index.js +2 -1
  198. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  199. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +4 -4
  200. package/esm2015/components/pdf-viewer/pdf-viewer.tokens.js +12 -0
  201. package/esm2015/components/push/index.js +2 -1
  202. package/esm2015/components/push/push.component.js +2 -2
  203. package/esm2015/components/push/push.options.js +2 -10
  204. package/esm2015/components/push/push.service.js +4 -4
  205. package/esm2015/components/push/push.tokens.js +20 -0
  206. package/esm2015/components/select/index.js +4 -1
  207. package/esm2015/components/select/native-select/native-select-group.component.js +69 -0
  208. package/esm2015/components/select/native-select/native-select.component.js +66 -0
  209. package/esm2015/components/select/native-select/native-select.js +38 -0
  210. package/esm2015/components/select/select.component.js +19 -5
  211. package/esm2015/components/select/select.module.js +33 -6
  212. package/esm2015/components/select-option/select-option.component.js +11 -5
  213. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +1 -1
  214. package/esm2015/components/tag/tag.component.js +1 -1
  215. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +1 -2
  216. package/esm2015/tokens/i18n.js +4 -1
  217. package/esm2015/utils/format/string-hash-to-hsl.js +2 -2
  218. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  219. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  220. package/fesm2015/taiga-ui-kit-components-badge.js +1 -3
  221. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  222. package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
  223. package/fesm2015/taiga-ui-kit-components-calendar-range.js +1 -1
  224. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  225. package/fesm2015/taiga-ui-kit-components-carousel.js +1 -4
  226. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  227. package/fesm2015/taiga-ui-kit-components-combo-box.js +1 -1
  228. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  229. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +24 -13
  230. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  231. package/fesm2015/taiga-ui-kit-components-input-count.js +2 -2
  232. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  233. package/fesm2015/taiga-ui-kit-components-input-date-range.js +6 -7
  234. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  235. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  236. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  237. package/fesm2015/taiga-ui-kit-components-input-date.js +3 -4
  238. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  239. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
  240. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  241. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  242. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  243. package/fesm2015/taiga-ui-kit-components-input-number.js +3 -3
  244. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  245. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
  246. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  247. package/fesm2015/taiga-ui-kit-components-input-phone.js +3 -3
  248. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  249. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  250. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  251. package/fesm2015/taiga-ui-kit-components-input-time.js +1 -1
  252. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  253. package/fesm2015/taiga-ui-kit-components-input-year.js +1 -1
  254. package/fesm2015/taiga-ui-kit-components-input-year.js.map +1 -1
  255. package/fesm2015/taiga-ui-kit-components-input.js +1 -1
  256. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  257. package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
  258. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  259. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +7 -3
  260. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  261. package/fesm2015/taiga-ui-kit-components-multi-select.js +14 -14
  262. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  263. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +15 -5
  264. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  265. package/fesm2015/taiga-ui-kit-components-push.js +13 -4
  266. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  267. package/fesm2015/taiga-ui-kit-components-select-option.js +10 -4
  268. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  269. package/fesm2015/taiga-ui-kit-components-select.js +210 -17
  270. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  271. package/fesm2015/taiga-ui-kit-components-tabs.js +1 -1
  272. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  273. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  274. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  275. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  276. package/fesm2015/taiga-ui-kit-tokens.js +4 -1
  277. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  278. package/fesm2015/taiga-ui-kit-utils-format.js +1 -1
  279. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  280. package/package.json +4 -4
  281. package/tokens/i18n.d.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-push.js","sources":["../../../projects/kit/components/push/push.component.ts","../../../projects/kit/components/push/push.template.html","../../../projects/kit/components/push/push.directive.ts","../../../projects/kit/components/push/push.options.ts","../../../projects/kit/components/push/push-alert.directive.ts","../../../projects/kit/components/push/push-alert.component.ts","../../../projects/kit/components/push/push-alert.template.html","../../../projects/kit/components/push/push.service.ts","../../../projects/kit/components/push/push.module.ts","../../../projects/kit/components/push/taiga-ui-kit-components-push.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiIsObserved} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: `tui-push`,\n templateUrl: `./push.template.html`,\n styleUrls: [`./push.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPushComponent {\n @Input()\n @tuiDefaultProp()\n heading = ``;\n\n @Input()\n @tuiDefaultProp()\n type = ``;\n\n @Input()\n @tuiDefaultProp()\n timestamp = 0;\n\n @Output()\n readonly close = new EventEmitter<void>();\n\n constructor(@Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>) {}\n\n get closeable(): boolean {\n return tuiIsObserved(this.close);\n }\n}\n","<div class=\"t-image\"><ng-content select=\"img\"></ng-content></div>\n<button\n *ngIf=\"closeable\"\n tuiIconButton\n icon=\"tuiIconCloseLarge\"\n size=\"xs\"\n appearance=\"\"\n shape=\"rounded\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close.emit()\"\n></button>\n<div class=\"t-top\">\n <span class=\"t-icon\"><ng-content select=\"tui-svg\"></ng-content></span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"timestamp | tuiFormatDate | async\"\n ></span>\n</div>\n<h3 class=\"t-heading\">{{ heading }}</h3>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\"><ng-content select=\"[tuiButton]\"></ng-content></span>\n <span class=\"t-link\"><ng-content select=\"[tuiLink]\"></ng-content></span>\n</div>\n","import {Directive, Inject, Optional, SkipSelf} from '@angular/core';\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: `tui-push`,\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: TuiPushDirective,\n },\n {\n provide: TUI_BUTTON_OPTIONS,\n useExisting: TuiPushDirective,\n },\n ],\n})\nexport class TuiPushDirective extends TuiModeDirective implements TuiButtonOptions {\n size: TuiButtonOptions['size'] = `s`;\n\n shape = null;\n\n override readonly change$ = this.modeDirective?.change$ || new Subject();\n\n constructor(\n @Optional()\n @SkipSelf()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n ) {\n super();\n }\n\n get appearance(): string {\n return this.modeDirective?.mode === `onDark` ? `accent` : `secondary`;\n }\n}\n","export interface TuiPushOptions {\n readonly heading: string;\n readonly type: string;\n readonly timestamp: number;\n readonly image: string;\n readonly icon: string;\n readonly iconColor: string;\n readonly buttons: readonly string[];\n}\n\nexport const TUI_PUSH_DEFAULT_OPTIONS: TuiPushOptions = {\n heading: ``,\n type: ``,\n timestamp: 0,\n image: ``,\n icon: ``,\n iconColor: ``,\n buttons: [],\n};\n","import {\n ChangeDetectorRef,\n Directive,\n forwardRef,\n Inject,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Observable, Subject} from 'rxjs';\nimport {switchMap, takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushService} from './push.service';\n\n@Directive({\n selector: `[tuiPush]`,\n providers: [TuiDestroyService],\n})\nexport class TuiPushAlertDirective extends PolymorpheusTemplate<any> {\n private readonly show$ = new Subject<boolean>();\n\n @Input()\n set tuiPush(show: boolean) {\n this.show$.next(show);\n }\n\n constructor(\n @Inject(TemplateRef) template: TemplateRef<any>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(forwardRef(() => TuiPushService)) push: TuiPushService,\n ) {\n super(template, changeDetectorRef);\n\n this.show$\n .pipe(\n switchMap(show => (show ? push.open(this) : EMPTY)),\n takeUntil(destroy$),\n )\n .subscribe();\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk';\nimport {\n TUI_ANIMATION_OPTIONS,\n tuiFadeIn,\n tuiHeightCollapse,\n tuiSlideInRight,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPushOptions} from './push.options';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushAlertDirective} from './push-alert.directive';\n\n@Component({\n selector: `tui-push-alert`,\n templateUrl: `./push-alert.template.html`,\n styleUrls: [`./push-alert.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],\n host: {role: `alert`},\n})\nexport class TuiPushAlertComponent {\n @HostBinding(`@tuiFadeIn`)\n @HostBinding(`@tuiSlideInRight`)\n @HostBinding(`@tuiHeightCollapse`)\n readonly animation = {value: ``, ...this.options} as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiPushOptions, string>,\n ) {}\n\n get isDirective(): boolean {\n return this.context.content instanceof TuiPushAlertDirective;\n }\n}\n","<tui-push\n *ngIf=\"!isDirective; else content\"\n [heading]=\"context.heading\"\n [type]=\"context.type\"\n [timestamp]=\"context.timestamp\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-svg\n *ngIf=\"context.icon\"\n [style.color]=\"context.iconColor\"\n [src]=\"context.icon\"\n ></tui-svg>\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n (click)=\"context.$implicit.next(context.buttons[0])\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1])\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #content>\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n","import {Injectable} from '@angular/core';\nimport {AbstractTuiDialogService, TuiBaseDialogContext} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_PUSH_DEFAULT_OPTIONS, TuiPushOptions} from './push.options';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushAlertComponent} from './push-alert.component';\n\n@Injectable({providedIn: `root`})\nexport class TuiPushService extends AbstractTuiDialogService<TuiPushOptions, string> {\n protected readonly component = new PolymorpheusComponent(TuiPushAlertComponent);\n protected readonly defaultOptions = TUI_PUSH_DEFAULT_OPTIONS;\n\n override open(\n content: PolymorpheusContent<TuiBaseDialogContext<string> & TuiPushOptions>,\n options: Partial<TuiPushOptions> = {},\n ): Observable<string> {\n return super.open(content, options);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_ALERTS} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiFormatDatePipeModule,\n TuiLinkModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPushComponent} from './push.component';\nimport {TuiPushDirective} from './push.directive';\nimport {TuiPushService} from './push.service';\nimport {TuiPushAlertComponent} from './push-alert.component';\nimport {TuiPushAlertDirective} from './push-alert.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiButtonModule,\n TuiLinkModule,\n TuiSvgModule,\n TuiFormatDatePipeModule,\n ],\n declarations: [\n TuiPushComponent,\n TuiPushDirective,\n TuiPushAlertComponent,\n TuiPushAlertDirective,\n ],\n exports: [\n TuiPushComponent,\n TuiPushDirective,\n TuiPushAlertComponent,\n TuiPushAlertDirective,\n ],\n providers: [\n {\n provide: TUI_ALERTS,\n useExisting: TuiPushService,\n multi: true,\n },\n ],\n})\nexport class TuiPushModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiPushComponent","i2","i3","i4.TuiPushDirective"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-push.js","sources":["../../../projects/kit/components/push/push.component.ts","../../../projects/kit/components/push/push.template.html","../../../projects/kit/components/push/push.directive.ts","../../../projects/kit/components/push/push.tokens.ts","../../../projects/kit/components/push/push-alert.directive.ts","../../../projects/kit/components/push/push-alert.component.ts","../../../projects/kit/components/push/push-alert.template.html","../../../projects/kit/components/push/push.service.ts","../../../projects/kit/components/push/push.module.ts","../../../projects/kit/components/push/taiga-ui-kit-components-push.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiIsObserved} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: `tui-push`,\n templateUrl: `./push.template.html`,\n styleUrls: [`./push.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPushComponent {\n @Input()\n @tuiDefaultProp()\n heading = ``;\n\n @Input()\n @tuiDefaultProp()\n type = ``;\n\n @Input()\n @tuiDefaultProp()\n timestamp = 0;\n\n @Output()\n readonly close = new EventEmitter<void>();\n\n constructor(@Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>) {}\n\n get closeable(): boolean {\n return tuiIsObserved(this.close);\n }\n}\n","<div class=\"t-image\"><ng-content select=\"img\"></ng-content></div>\n<button\n *ngIf=\"closeable\"\n tuiIconButton\n icon=\"tuiIconCloseLarge\"\n size=\"xs\"\n appearance=\"\"\n shape=\"rounded\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close.emit()\"\n></button>\n<div class=\"t-top\">\n <span class=\"t-icon\"><ng-content select=\"tui-svg\"></ng-content></span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"timestamp | tuiFormatDate | async\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\"><ng-content select=\"[tuiButton]\"></ng-content></span>\n <span class=\"t-link\"><ng-content select=\"[tuiLink]\"></ng-content></span>\n</div>\n","import {Directive, Inject, Optional, SkipSelf} from '@angular/core';\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: `tui-push`,\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: TuiPushDirective,\n },\n {\n provide: TUI_BUTTON_OPTIONS,\n useExisting: TuiPushDirective,\n },\n ],\n})\nexport class TuiPushDirective extends TuiModeDirective implements TuiButtonOptions {\n size: TuiButtonOptions['size'] = `s`;\n\n shape = null;\n\n override readonly change$ = this.modeDirective?.change$ || new Subject();\n\n constructor(\n @Optional()\n @SkipSelf()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n ) {\n super();\n }\n\n get appearance(): string {\n return this.modeDirective?.mode === `onDark` ? `accent` : `secondary`;\n }\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\n\nimport {TuiPushOptions} from './push.options';\n\nexport const TUI_PUSH_DEFAULT_OPTIONS: TuiPushOptions = {\n heading: ``,\n type: ``,\n timestamp: 0,\n image: ``,\n icon: ``,\n iconColor: ``,\n buttons: [],\n};\n\nexport const TUI_PUSH_OPTIONS = new InjectionToken<TuiPushOptions>(\n `[TUI_PUSH_OPTIONS]: Default parameters for push component`,\n {\n factory: () => TUI_PUSH_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiPushOptionsProvider(options: Partial<TuiPushOptions>): ValueProvider {\n return {\n provide: TUI_PUSH_OPTIONS,\n useValue: {...TUI_PUSH_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {\n ChangeDetectorRef,\n Directive,\n forwardRef,\n Inject,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Observable, Subject} from 'rxjs';\nimport {switchMap, takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushService} from './push.service';\n\n@Directive({\n selector: `[tuiPush]`,\n providers: [TuiDestroyService],\n})\nexport class TuiPushAlertDirective extends PolymorpheusTemplate<any> {\n private readonly show$ = new Subject<boolean>();\n\n @Input()\n set tuiPush(show: boolean) {\n this.show$.next(show);\n }\n\n constructor(\n @Inject(TemplateRef) template: TemplateRef<any>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(forwardRef(() => TuiPushService)) push: TuiPushService,\n ) {\n super(template, changeDetectorRef);\n\n this.show$\n .pipe(\n switchMap(show => (show ? push.open(this) : EMPTY)),\n takeUntil(destroy$),\n )\n .subscribe();\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk';\nimport {\n TUI_ANIMATION_OPTIONS,\n tuiFadeIn,\n tuiHeightCollapse,\n tuiSlideInRight,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPushOptions} from './push.options';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushAlertDirective} from './push-alert.directive';\n\n@Component({\n selector: `tui-push-alert`,\n templateUrl: `./push-alert.template.html`,\n styleUrls: [`./push-alert.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],\n host: {role: `alert`},\n})\nexport class TuiPushAlertComponent {\n @HostBinding(`@tuiFadeIn`)\n @HostBinding(`@tuiSlideInRight`)\n @HostBinding(`@tuiHeightCollapse`)\n readonly animation = {value: ``, ...this.options} as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiPushOptions, string>,\n ) {}\n\n get isDirective(): boolean {\n return this.context.content instanceof TuiPushAlertDirective;\n }\n}\n","<tui-push\n *ngIf=\"!isDirective; else content\"\n [heading]=\"context.heading\"\n [type]=\"context.type\"\n [timestamp]=\"context.timestamp\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-svg\n *ngIf=\"context.icon\"\n [style.color]=\"context.iconColor\"\n [src]=\"context.icon\"\n ></tui-svg>\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n (click)=\"context.$implicit.next(context.buttons[0])\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1])\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #content>\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n","import {inject, Injectable} from '@angular/core';\nimport {AbstractTuiDialogService, TuiBaseDialogContext} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiPushOptions} from './push.options';\nimport {TUI_PUSH_OPTIONS} from './push.tokens';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushAlertComponent} from './push-alert.component';\n\n@Injectable({providedIn: `root`})\nexport class TuiPushService extends AbstractTuiDialogService<TuiPushOptions, string> {\n protected readonly component = new PolymorpheusComponent(TuiPushAlertComponent);\n protected readonly defaultOptions = inject(TUI_PUSH_OPTIONS);\n\n override open(\n content: PolymorpheusContent<TuiBaseDialogContext<string> & TuiPushOptions>,\n options: Partial<TuiPushOptions> = {},\n ): Observable<string> {\n return super.open(content, options);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_ALERTS} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiFormatDatePipeModule,\n TuiLinkModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPushComponent} from './push.component';\nimport {TuiPushDirective} from './push.directive';\nimport {TuiPushService} from './push.service';\nimport {TuiPushAlertComponent} from './push-alert.component';\nimport {TuiPushAlertDirective} from './push-alert.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiButtonModule,\n TuiLinkModule,\n TuiSvgModule,\n TuiFormatDatePipeModule,\n ],\n declarations: [\n TuiPushComponent,\n TuiPushDirective,\n TuiPushAlertComponent,\n TuiPushAlertDirective,\n ],\n exports: [\n TuiPushComponent,\n TuiPushDirective,\n TuiPushAlertComponent,\n TuiPushAlertDirective,\n ],\n providers: [\n {\n provide: TUI_ALERTS,\n useExisting: TuiPushService,\n multi: true,\n },\n ],\n})\nexport class TuiPushModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiPushComponent","i2","i3","i4.TuiPushDirective"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ElementRef, Component, ChangeDetectionStrategy, Inject, NgModule } from '@angular/core';
2
+ import { ElementRef, Component, ChangeDetectionStrategy, Inject, Optional, NgModule } from '@angular/core';
3
3
  import * as i3 from '@angular/forms';
4
4
  import { NgControl } from '@angular/forms';
5
5
  import { tuiTypedFromEvent, TUI_DEFAULT_IDENTITY_MATCHER, tuiIsPresent } from '@taiga-ui/cdk';
6
6
  import * as i1 from '@taiga-ui/core';
7
- import { TUI_DATA_LIST_HOST, TuiOptionComponent, TuiSvgModule, TuiScrollIntoViewModule } from '@taiga-ui/core';
7
+ import { TUI_DATA_LIST_HOST, TuiOptionComponent, TuiDataListComponent, TuiSvgModule, TuiScrollIntoViewModule } from '@taiga-ui/core';
8
8
  import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
9
9
  import { merge, EMPTY } from 'rxjs';
10
10
  import { startWith, map, distinctUntilChanged } from 'rxjs/operators';
@@ -12,11 +12,12 @@ import * as i2 from '@angular/common';
12
12
  import { CommonModule } from '@angular/common';
13
13
 
14
14
  class TuiSelectOptionComponent {
15
- constructor(context, host, elementRef, option, control) {
15
+ constructor(context, host, elementRef, option, dataList, control) {
16
16
  this.context = context;
17
17
  this.host = host;
18
18
  this.elementRef = elementRef;
19
19
  this.option = option;
20
+ this.dataList = dataList;
20
21
  this.control = control;
21
22
  this.selected$ = merge(this.control.valueChanges || EMPTY, tuiTypedFromEvent(this.elementRef.nativeElement, `animationstart`)).pipe(startWith(null), map(() => this.selected), distinctUntilChanged());
22
23
  }
@@ -43,7 +44,7 @@ class TuiSelectOptionComponent {
43
44
  this.matcher(this.control.value, this.option.value));
44
45
  }
45
46
  }
46
- TuiSelectOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSelectOptionComponent, deps: [{ token: POLYMORPHEUS_CONTEXT }, { token: TUI_DATA_LIST_HOST }, { token: ElementRef }, { token: TuiOptionComponent }, { token: NgControl }], target: i0.ɵɵFactoryTarget.Component });
47
+ TuiSelectOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSelectOptionComponent, deps: [{ token: POLYMORPHEUS_CONTEXT }, { token: TUI_DATA_LIST_HOST }, { token: ElementRef }, { token: TuiOptionComponent }, { token: TuiDataListComponent, optional: true }, { token: NgControl }], target: i0.ɵɵFactoryTarget.Component });
47
48
  TuiSelectOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiSelectOptionComponent, selector: "tui-select-option", ngImport: i0, template: "<ng-container [ngTemplateOutlet]=\"context.$implicit\"></ng-container>\n<tui-svg\n *ngIf=\"selected$ | async; else dummy\"\n automation-id=\"tui-select-option__checkmark\"\n src=\"tuiIconCheckLarge\"\n class=\"t-checkmark\"\n [tuiScrollIntoView]=\"true\"\n></tui-svg>\n<ng-template #dummy>\n <span class=\"t-dummy\"></span>\n</ng-template>\n", styles: ["@keyframes retrigger{0%{left:1px}to{left:2px}}:host{display:flex;flex:1;align-items:center;max-width:100%;animation:retrigger 1s}.t-checkmark{margin:0 -.375rem 0 auto;border-left:5px solid transparent}.t-dummy{width:1.5rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiScrollIntoViewDirective, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSelectOptionComponent, decorators: [{
49
50
  type: Component,
@@ -65,6 +66,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
65
66
  }] }, { type: i1.TuiOptionComponent, decorators: [{
66
67
  type: Inject,
67
68
  args: [TuiOptionComponent]
69
+ }] }, { type: i1.TuiDataListComponent, decorators: [{
70
+ type: Optional
71
+ }, {
72
+ type: Inject,
73
+ args: [TuiDataListComponent]
68
74
  }] }, { type: i3.NgControl, decorators: [{
69
75
  type: Inject,
70
76
  args: [NgControl]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-select-option.js","sources":["../../../projects/kit/components/select-option/select-option.component.ts","../../../projects/kit/components/select-option/select-option.template.html","../../../projects/kit/components/select-option/select-option.module.ts","../../../projects/kit/components/select-option/taiga-ui-kit-components-select-option.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnInit,\n TemplateRef,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n TUI_DEFAULT_IDENTITY_MATCHER,\n TuiContextWithImplicit,\n TuiIdentityMatcher,\n tuiIsPresent,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TuiDataListHost, TuiOptionComponent} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\n@Component({\n selector: `tui-select-option`,\n templateUrl: `./select-option.template.html`,\n styleUrls: [`./select-option.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSelectOptionComponent<T> implements OnInit {\n readonly selected$ = merge(\n this.control.valueChanges || EMPTY,\n tuiTypedFromEvent(this.elementRef.nativeElement, `animationstart`),\n ).pipe(\n startWith(null),\n map(() => this.selected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>,\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiOptionComponent) protected readonly option: TuiOptionComponent<T>,\n @Inject(NgControl) protected readonly control: NgControl,\n ) {}\n\n get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n ngOnInit(): void {\n /**\n * This would cause changes inside already checked parent component (during the same change detection cycle),\n * and it might cause ExpressionChanged error due to potential HostBinding\n * (for example, inside {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/ng_control_status.ts#L99 NgControlStatus}).\n * Microtask keeps it in the same frame but allows change detection to run.\n */\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n Promise.resolve().then(() => {\n if (tuiIsPresent(this.option.value) && this.host.checkOption) {\n this.host.checkOption(this.option.value);\n }\n });\n }\n\n protected get selected(): boolean {\n return (\n tuiIsPresent(this.option.value) &&\n tuiIsPresent(this.control.value) &&\n this.matcher(this.control.value, this.option.value)\n );\n }\n}\n\nexport const TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);\n","<ng-container [ngTemplateOutlet]=\"context.$implicit\"></ng-container>\n<tui-svg\n *ngIf=\"selected$ | async; else dummy\"\n automation-id=\"tui-select-option__checkmark\"\n src=\"tuiIconCheckLarge\"\n class=\"t-checkmark\"\n [tuiScrollIntoView]=\"true\"\n></tui-svg>\n<ng-template #dummy>\n <span class=\"t-dummy\"></span>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollIntoViewModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiSelectOptionComponent} from './select-option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiScrollIntoViewModule],\n declarations: [TuiSelectOptionComponent],\n exports: [TuiSelectOptionComponent],\n})\nexport class TuiSelectOptionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-select-option.js","sources":["../../../projects/kit/components/select-option/select-option.component.ts","../../../projects/kit/components/select-option/select-option.template.html","../../../projects/kit/components/select-option/select-option.module.ts","../../../projects/kit/components/select-option/taiga-ui-kit-components-select-option.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnInit,\n Optional,\n TemplateRef,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n TUI_DEFAULT_IDENTITY_MATCHER,\n TuiContextWithImplicit,\n TuiIdentityMatcher,\n tuiIsPresent,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_HOST,\n TuiDataListComponent,\n TuiDataListHost,\n TuiOptionComponent,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\n@Component({\n selector: `tui-select-option`,\n templateUrl: `./select-option.template.html`,\n styleUrls: [`./select-option.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSelectOptionComponent<T> implements OnInit {\n readonly selected$ = merge(\n this.control.valueChanges || EMPTY,\n tuiTypedFromEvent(this.elementRef.nativeElement, `animationstart`),\n ).pipe(\n startWith(null),\n map(() => this.selected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>,\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiOptionComponent) protected readonly option: TuiOptionComponent<T>,\n @Optional()\n @Inject(TuiDataListComponent)\n protected readonly dataList: TuiDataListComponent<T> | null,\n @Inject(NgControl) protected readonly control: NgControl,\n ) {}\n\n get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n ngOnInit(): void {\n /**\n * This would cause changes inside already checked parent component (during the same change detection cycle),\n * and it might cause ExpressionChanged error due to potential HostBinding\n * (for example, inside {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/ng_control_status.ts#L99 NgControlStatus}).\n * Microtask keeps it in the same frame but allows change detection to run.\n */\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n Promise.resolve().then(() => {\n if (tuiIsPresent(this.option.value) && this.host.checkOption) {\n this.host.checkOption(this.option.value);\n }\n });\n }\n\n protected get selected(): boolean {\n return (\n tuiIsPresent(this.option.value) &&\n tuiIsPresent(this.control.value) &&\n this.matcher(this.control.value, this.option.value)\n );\n }\n}\n\nexport const TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);\n","<ng-container [ngTemplateOutlet]=\"context.$implicit\"></ng-container>\n<tui-svg\n *ngIf=\"selected$ | async; else dummy\"\n automation-id=\"tui-select-option__checkmark\"\n src=\"tuiIconCheckLarge\"\n class=\"t-checkmark\"\n [tuiScrollIntoView]=\"true\"\n></tui-svg>\n<ng-template #dummy>\n <span class=\"t-dummy\"></span>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollIntoViewModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiSelectOptionComponent} from './select-option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiScrollIntoViewModule],\n declarations: [TuiSelectOptionComponent],\n exports: [TuiSelectOptionComponent],\n})\nexport class TuiSelectOptionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,21 +1,177 @@
1
- import { __decorate } from 'tslib';
2
1
  import * as i0 from '@angular/core';
3
- import { InjectionToken, ChangeDetectorRef, TemplateRef, Component, ChangeDetectionStrategy, Optional, Self, Inject, ViewChild, Input, ContentChild, Directive, NgModule } from '@angular/core';
2
+ import { ElementRef, TemplateRef, Directive, Inject, ViewChild, HostBinding, Component, ChangeDetectionStrategy, Input, InjectionToken, ChangeDetectorRef, Optional, Self, ContentChild, NgModule } from '@angular/core';
3
+ import * as i1 from '@taiga-ui/cdk';
4
+ import { TuiIdService, AbstractTuiNullableControl, tuiIsNativeFocused, TUI_IS_MOBILE, tuiAsFocusableItemAccessor, tuiAsControl, tuiDefaultProp, TuiActiveZoneModule } from '@taiga-ui/cdk';
5
+ import * as i1$2 from '@taiga-ui/core';
6
+ import { TUI_TEXTFIELD_HOST, TuiDataListDirective, TUI_TEXTFIELD_CLEANER, tuiAsDataListHost, tuiAsOptionContent, TuiPrimitiveTextfieldComponent, TuiHostedDropdownComponent, AbstractTuiTextfieldHost, tuiAsTextfieldHost, TuiPrimitiveTextfieldModule, TuiHostedDropdownModule, TuiTextfieldControllerModule, TuiDataListModule, TuiTextfieldComponent } from '@taiga-ui/core';
7
+ import * as i1$1 from '@taiga-ui/kit/components/data-list-wrapper';
8
+ import { TuiDataListWrapperModule } from '@taiga-ui/kit/components/data-list-wrapper';
9
+ import * as i3 from '@angular/common';
10
+ import { CommonModule } from '@angular/common';
11
+ import { __decorate } from 'tslib';
4
12
  import * as i5 from '@angular/forms';
5
13
  import { NgControl } from '@angular/forms';
6
- import * as i2 from '@taiga-ui/cdk';
7
- import { AbstractTuiNullableControl, tuiIsNativeFocused, tuiAsFocusableItemAccessor, tuiAsControl, tuiDefaultProp, TuiActiveZoneModule } from '@taiga-ui/cdk';
8
- import * as i1 from '@taiga-ui/core';
9
- import { TUI_TEXTFIELD_CLEANER, tuiAsDataListHost, tuiAsOptionContent, TuiDataListDirective, TuiPrimitiveTextfieldComponent, TuiHostedDropdownComponent, AbstractTuiTextfieldHost, tuiAsTextfieldHost, TuiPrimitiveTextfieldModule, TuiHostedDropdownModule, TuiTextfieldControllerModule, TuiTextfieldComponent } from '@taiga-ui/core';
10
14
  import { TUI_ARROW_MODE, TuiArrowModule } from '@taiga-ui/kit/components/arrow';
11
15
  import { TUI_SELECT_OPTION, TuiSelectOptionModule } from '@taiga-ui/kit/components/select-option';
12
16
  import { FIXED_DROPDOWN_CONTROLLER_PROVIDER } from '@taiga-ui/kit/providers';
13
17
  import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
14
- import * as i3 from '@angular/common';
15
- import { CommonModule } from '@angular/common';
16
18
  import * as i4 from '@tinkoff/ng-polymorpheus';
17
19
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
18
20
 
21
+ class AbstractTuiNativeSelect {
22
+ constructor(host, elementRef, idService) {
23
+ this.host = host;
24
+ this.elementRef = elementRef;
25
+ this.idService = idService;
26
+ this.datalist = null;
27
+ this.host.process(this.elementRef.nativeElement);
28
+ }
29
+ get id() {
30
+ return this.elementRef.nativeElement.id || this.idService.generate();
31
+ }
32
+ }
33
+ AbstractTuiNativeSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AbstractTuiNativeSelect, deps: [{ token: TUI_TEXTFIELD_HOST }, { token: ElementRef }, { token: TuiIdService }], target: i0.ɵɵFactoryTarget.Directive });
34
+ AbstractTuiNativeSelect.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: AbstractTuiNativeSelect, host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0 });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AbstractTuiNativeSelect, decorators: [{
36
+ type: Directive
37
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
38
+ type: Inject,
39
+ args: [TUI_TEXTFIELD_HOST]
40
+ }] }, { type: i0.ElementRef, decorators: [{
41
+ type: Inject,
42
+ args: [ElementRef]
43
+ }] }, { type: i1.TuiIdService, decorators: [{
44
+ type: Inject,
45
+ args: [TuiIdService]
46
+ }] }]; }, propDecorators: { datalist: [{
47
+ type: ViewChild,
48
+ args: [TuiDataListDirective, { read: TemplateRef, static: true }]
49
+ }], id: [{
50
+ type: HostBinding,
51
+ args: [`id`]
52
+ }] } });
53
+
54
+ class TuiNativeSelectComponent extends AbstractTuiNativeSelect {
55
+ constructor() {
56
+ super(...arguments);
57
+ this.items = [];
58
+ }
59
+ }
60
+ TuiNativeSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiNativeSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
61
+ TuiNativeSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiNativeSelectComponent, selector: "select[tuiSelect]:not([labels])", inputs: { items: "items" }, host: { listeners: { "change": "host.onValueChange($event.target.value)" }, properties: { "attr.aria-invalid": "host.invalid", "disabled": "host.disabled", "tabIndex": "host.focusable ? 0 : -1", "readOnly": "host.readOnly", "value": "host.value" } }, providers: [
62
+ {
63
+ provide: TuiDataListDirective,
64
+ deps: [TuiNativeSelectComponent],
65
+ useExisting: TuiNativeSelectComponent,
66
+ },
67
+ {
68
+ provide: TemplateRef,
69
+ deps: [TuiNativeSelectComponent],
70
+ useFactory: ({ datalist }) => datalist,
71
+ },
72
+ {
73
+ provide: AbstractTuiNativeSelect,
74
+ useExisting: TuiNativeSelectComponent,
75
+ },
76
+ ], usesInheritance: true, ngImport: i0, template: "<tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n></tui-data-list-wrapper>\n<option\n *ngFor=\"let option of items\"\n [value]=\"option\"\n>\n {{ option }}\n</option>\n", styles: [":host{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}\n"], components: [{ type: i1$1.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }], directives: [{ type: i1$2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiNativeSelectComponent, decorators: [{
78
+ type: Component,
79
+ args: [{
80
+ selector: `select[tuiSelect]:not([labels])`,
81
+ templateUrl: `./native-select.template.html`,
82
+ providers: [
83
+ {
84
+ provide: TuiDataListDirective,
85
+ deps: [TuiNativeSelectComponent],
86
+ useExisting: TuiNativeSelectComponent,
87
+ },
88
+ {
89
+ provide: TemplateRef,
90
+ deps: [TuiNativeSelectComponent],
91
+ useFactory: ({ datalist }) => datalist,
92
+ },
93
+ {
94
+ provide: AbstractTuiNativeSelect,
95
+ useExisting: TuiNativeSelectComponent,
96
+ },
97
+ ],
98
+ host: {
99
+ '[attr.aria-invalid]': `host.invalid`,
100
+ '[disabled]': `host.disabled`,
101
+ '[tabIndex]': `host.focusable ? 0 : -1`,
102
+ '[readOnly]': `host.readOnly`,
103
+ '[value]': `host.value`,
104
+ '(change)': `host.onValueChange($event.target.value)`,
105
+ },
106
+ styleUrls: [`./native-select.style.less`],
107
+ changeDetection: ChangeDetectionStrategy.OnPush,
108
+ }]
109
+ }], propDecorators: { items: [{
110
+ type: Input
111
+ }] } });
112
+
113
+ class TuiNativeSelectGroupComponent extends AbstractTuiNativeSelect {
114
+ constructor() {
115
+ super(...arguments);
116
+ this.items = [];
117
+ this.labels = [];
118
+ }
119
+ }
120
+ TuiNativeSelectGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiNativeSelectGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
121
+ TuiNativeSelectGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiNativeSelectGroupComponent, selector: "select[tuiSelect][labels]", inputs: { items: "items", labels: "labels" }, host: { listeners: { "change": "host.onValueChange($event.target.value)" }, properties: { "attr.aria-invalid": "host.invalid", "disabled": "host.disabled", "tabIndex": "host.focusable ? 0 : -1", "readOnly": "host.readOnly", "value": "host.value" } }, providers: [
122
+ {
123
+ provide: TuiDataListDirective,
124
+ deps: [TuiNativeSelectGroupComponent],
125
+ useExisting: TuiNativeSelectGroupComponent,
126
+ },
127
+ {
128
+ provide: TemplateRef,
129
+ deps: [TuiNativeSelectGroupComponent],
130
+ useFactory: ({ datalist }) => datalist,
131
+ },
132
+ {
133
+ provide: AbstractTuiNativeSelect,
134
+ useExisting: TuiNativeSelectGroupComponent,
135
+ },
136
+ ], usesInheritance: true, ngImport: i0, template: "<tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n [labels]=\"labels\"\n></tui-data-list-wrapper>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group\"\n [value]=\"option\"\n >\n {{ option }}\n </option>\n</optgroup>\n", styles: [":host{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}\n"], components: [{ type: i1$1.TuiDataListGroupWrapperComponent, selector: "tui-data-list-wrapper[labels]", inputs: ["items", "labels"] }], directives: [{ type: i1$2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiNativeSelectGroupComponent, decorators: [{
138
+ type: Component,
139
+ args: [{
140
+ selector: `select[tuiSelect][labels]`,
141
+ templateUrl: `./native-select-group.template.html`,
142
+ providers: [
143
+ {
144
+ provide: TuiDataListDirective,
145
+ deps: [TuiNativeSelectGroupComponent],
146
+ useExisting: TuiNativeSelectGroupComponent,
147
+ },
148
+ {
149
+ provide: TemplateRef,
150
+ deps: [TuiNativeSelectGroupComponent],
151
+ useFactory: ({ datalist }) => datalist,
152
+ },
153
+ {
154
+ provide: AbstractTuiNativeSelect,
155
+ useExisting: TuiNativeSelectGroupComponent,
156
+ },
157
+ ],
158
+ host: {
159
+ '[attr.aria-invalid]': `host.invalid`,
160
+ '[disabled]': `host.disabled`,
161
+ '[tabIndex]': `host.focusable ? 0 : -1`,
162
+ '[readOnly]': `host.readOnly`,
163
+ '[value]': `host.value`,
164
+ '(change)': `host.onValueChange($event.target.value)`,
165
+ },
166
+ styleUrls: [`./native-select.style.less`],
167
+ changeDetection: ChangeDetectionStrategy.OnPush,
168
+ }]
169
+ }], propDecorators: { items: [{
170
+ type: Input
171
+ }], labels: [{
172
+ type: Input
173
+ }] } });
174
+
19
175
  const TUI_SELECT_DEFAULT_OPTIONS = {
20
176
  valueContent: ``,
21
177
  };
@@ -28,12 +184,13 @@ const tuiSelectOptionsProvider = (options) => ({
28
184
  });
29
185
 
30
186
  class TuiSelectComponent extends AbstractTuiNullableControl {
31
- constructor(control, changeDetectorRef, textfieldCleaner, arrowMode, itemsHandlers, options) {
187
+ constructor(control, changeDetectorRef, textfieldCleaner, arrowMode, itemsHandlers, options, isMobile) {
32
188
  super(control, changeDetectorRef);
33
189
  this.textfieldCleaner = textfieldCleaner;
34
190
  this.arrowMode = arrowMode;
35
191
  this.itemsHandlers = itemsHandlers;
36
192
  this.options = options;
193
+ this.isMobile = isMobile;
37
194
  this.stringify = this.itemsHandlers.stringify;
38
195
  this.identityMatcher = this.itemsHandlers.identityMatcher;
39
196
  this.valueContent = this.options.valueContent;
@@ -49,6 +206,9 @@ class TuiSelectComponent extends AbstractTuiNullableControl {
49
206
  return (tuiIsNativeFocused(this.nativeFocusableElement) ||
50
207
  (!!this.hostedDropdown && this.hostedDropdown.focused));
51
208
  }
209
+ get nativeDropdownMode() {
210
+ return !!this.nativeSelect && this.isMobile;
211
+ }
52
212
  get computedValue() {
53
213
  return this.value === null ? `` : this.stringify(this.value) || ` `;
54
214
  }
@@ -59,6 +219,9 @@ class TuiSelectComponent extends AbstractTuiNullableControl {
59
219
  if (!value) {
60
220
  this.updateValue(null);
61
221
  }
222
+ else {
223
+ this.updateValue(value || null);
224
+ }
62
225
  }
63
226
  onActiveZone(active) {
64
227
  this.updateFocused(active);
@@ -80,13 +243,13 @@ class TuiSelectComponent extends AbstractTuiNullableControl {
80
243
  }
81
244
  }
82
245
  }
83
- TuiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSelectComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_TEXTFIELD_CLEANER }, { token: TUI_ARROW_MODE }, { token: TUI_ITEMS_HANDLERS }, { token: TUI_SELECT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
246
+ TuiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSelectComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_TEXTFIELD_CLEANER }, { token: TUI_ARROW_MODE }, { token: TUI_ITEMS_HANDLERS }, { token: TUI_SELECT_OPTIONS }, { token: TUI_IS_MOBILE }], target: i0.ɵɵFactoryTarget.Component });
84
247
  TuiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiSelectComponent, selector: "tui-select", inputs: { stringify: "stringify", identityMatcher: "identityMatcher", valueContent: "valueContent" }, providers: [
85
248
  tuiAsFocusableItemAccessor(TuiSelectComponent),
86
249
  tuiAsControl(TuiSelectComponent),
87
250
  tuiAsDataListHost(TuiSelectComponent),
88
251
  tuiAsOptionContent(TUI_SELECT_OPTION),
89
- ], queries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }, { propertyName: "hostedDropdown", first: true, predicate: TuiHostedDropdownComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"arrow\"\n [editable]=\"false\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n <div\n *ngIf=\"value !== null\"\n ngProjectAs=\"tuiContent\"\n automation-id=\"tui-select__value\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;width:100%;align-items:center}.t-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }], directives: [{ type: i2.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush });
252
+ ], queries: [{ propertyName: "nativeSelect", first: true, predicate: AbstractTuiNativeSelect, descendants: true, static: true }, { propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }, { propertyName: "hostedDropdown", first: true, predicate: TuiHostedDropdownComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive && !nativeDropdownMode\"\n [content]=\"datalist || ''\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"arrow\"\n [editable]=\"false\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($any($event))\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n\n <ng-template #select>\n <ng-container *ngIf=\"isMobile\">\n <ng-content\n select=\"select\"\n ngProjectAs=\"select\"\n ></ng-content>\n </ng-container>\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n ></ng-container>\n\n <div\n *ngIf=\"value !== null\"\n ngProjectAs=\"tuiContent\"\n automation-id=\"tui-select__value\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;width:100%;align-items:center}.t-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], components: [{ type: i1$2.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1$2.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }], directives: [{ type: i1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1$2.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i1$2.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
253
  __decorate([
91
254
  tuiDefaultProp()
92
255
  ], TuiSelectComponent.prototype, "stringify", void 0);
@@ -121,7 +284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
121
284
  }] }, { type: i0.ChangeDetectorRef, decorators: [{
122
285
  type: Inject,
123
286
  args: [ChangeDetectorRef]
124
- }] }, { type: i1.TuiTextfieldCleanerDirective, decorators: [{
287
+ }] }, { type: i1$2.TuiTextfieldCleanerDirective, decorators: [{
125
288
  type: Inject,
126
289
  args: [TUI_TEXTFIELD_CLEANER]
127
290
  }] }, { type: undefined, decorators: [{
@@ -133,12 +296,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
133
296
  }] }, { type: undefined, decorators: [{
134
297
  type: Inject,
135
298
  args: [TUI_SELECT_OPTIONS]
299
+ }] }, { type: undefined, decorators: [{
300
+ type: Inject,
301
+ args: [TUI_IS_MOBILE]
136
302
  }] }]; }, propDecorators: { textfield: [{
137
303
  type: ViewChild,
138
304
  args: [TuiPrimitiveTextfieldComponent]
139
305
  }], hostedDropdown: [{
140
306
  type: ViewChild,
141
307
  args: [TuiHostedDropdownComponent]
308
+ }], nativeSelect: [{
309
+ type: ContentChild,
310
+ args: [AbstractTuiNativeSelect, { static: true }]
142
311
  }], stringify: [{
143
312
  type: Input
144
313
  }], identityMatcher: [{
@@ -174,14 +343,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
174
343
  class TuiSelectModule {
175
344
  }
176
345
  TuiSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
177
- TuiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSelectModule, declarations: [TuiSelectComponent, TuiSelectDirective], imports: [CommonModule,
346
+ TuiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSelectModule, declarations: [TuiSelectComponent,
347
+ TuiSelectDirective,
348
+ TuiNativeSelectComponent,
349
+ TuiNativeSelectGroupComponent], imports: [CommonModule,
178
350
  PolymorpheusModule,
179
351
  TuiActiveZoneModule,
180
352
  TuiPrimitiveTextfieldModule,
181
353
  TuiHostedDropdownModule,
182
354
  TuiSelectOptionModule,
183
355
  TuiArrowModule,
184
- TuiTextfieldControllerModule], exports: [TuiSelectComponent, TuiSelectDirective, TuiTextfieldComponent] });
356
+ TuiTextfieldControllerModule,
357
+ TuiDataListWrapperModule,
358
+ TuiDataListModule], exports: [TuiSelectComponent,
359
+ TuiSelectDirective,
360
+ TuiTextfieldComponent,
361
+ TuiNativeSelectComponent,
362
+ TuiNativeSelectGroupComponent] });
185
363
  TuiSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSelectModule, imports: [[
186
364
  CommonModule,
187
365
  PolymorpheusModule,
@@ -191,6 +369,8 @@ TuiSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
191
369
  TuiSelectOptionModule,
192
370
  TuiArrowModule,
193
371
  TuiTextfieldControllerModule,
372
+ TuiDataListWrapperModule,
373
+ TuiDataListModule,
194
374
  ]] });
195
375
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSelectModule, decorators: [{
196
376
  type: NgModule,
@@ -204,9 +384,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
204
384
  TuiSelectOptionModule,
205
385
  TuiArrowModule,
206
386
  TuiTextfieldControllerModule,
387
+ TuiDataListWrapperModule,
388
+ TuiDataListModule,
389
+ ],
390
+ declarations: [
391
+ TuiSelectComponent,
392
+ TuiSelectDirective,
393
+ TuiNativeSelectComponent,
394
+ TuiNativeSelectGroupComponent,
395
+ ],
396
+ exports: [
397
+ TuiSelectComponent,
398
+ TuiSelectDirective,
399
+ TuiTextfieldComponent,
400
+ TuiNativeSelectComponent,
401
+ TuiNativeSelectGroupComponent,
207
402
  ],
208
- declarations: [TuiSelectComponent, TuiSelectDirective],
209
- exports: [TuiSelectComponent, TuiSelectDirective, TuiTextfieldComponent],
210
403
  }]
211
404
  }] });
212
405
 
@@ -214,5 +407,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
214
407
  * Generated bundle index. Do not edit.
215
408
  */
216
409
 
217
- export { TUI_SELECT_DEFAULT_OPTIONS, TUI_SELECT_OPTIONS, TuiSelectComponent, TuiSelectDirective, TuiSelectModule, tuiSelectOptionsProvider };
410
+ export { AbstractTuiNativeSelect, TUI_SELECT_DEFAULT_OPTIONS, TUI_SELECT_OPTIONS, TuiNativeSelectComponent, TuiNativeSelectGroupComponent, TuiSelectComponent, TuiSelectDirective, TuiSelectModule, tuiSelectOptionsProvider };
218
411
  //# sourceMappingURL=taiga-ui-kit-components-select.js.map