@agorapulse/ui-components 0.0.3 → 1.0.0-SNAPSHOT

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 (548) hide show
  1. package/add-comment/add-comment.component.d.ts +21 -0
  2. package/add-comment/index.d.ts +5 -0
  3. package/add-comment/public_api.d.ts +1 -0
  4. package/agorapulse-ui-components-1.0.0-SNAPSHOT.tgz +0 -0
  5. package/autocomplete/autocomplete.component.d.ts +40 -0
  6. package/autocomplete/index.d.ts +5 -0
  7. package/autocomplete/public_api.d.ts +1 -0
  8. package/avatar/avatar.component.d.ts +47 -0
  9. package/avatar/index.d.ts +5 -0
  10. package/avatar/public_api.d.ts +1 -0
  11. package/badge/badge.component.d.ts +7 -0
  12. package/badge/index.d.ts +5 -0
  13. package/badge/public_api.d.ts +1 -0
  14. package/button/button.component.d.ts +49 -0
  15. package/button/index.d.ts +5 -0
  16. package/button/public_api.d.ts +1 -0
  17. package/checkbox/checkbox.component.d.ts +51 -0
  18. package/checkbox/index.d.ts +5 -0
  19. package/checkbox/public_api.d.ts +1 -0
  20. package/confirm-modal/confirm-modal.component.d.ts +20 -0
  21. package/confirm-modal/index.d.ts +5 -0
  22. package/confirm-modal/public_api.d.ts +2 -0
  23. package/counter/counter.component.d.ts +17 -0
  24. package/counter/index.d.ts +5 -0
  25. package/counter/public_api.d.ts +1 -0
  26. package/datepicker/datepicker.component.d.ts +84 -0
  27. package/datepicker/index.d.ts +5 -0
  28. package/datepicker/public_api.d.ts +1 -0
  29. package/{src/lib/directives → directives}/autosize-textarea.directive.d.ts +3 -0
  30. package/directives/base-button.directive.d.ts +13 -0
  31. package/directives/default-image.directive.d.ts +8 -0
  32. package/{src/lib/directives → directives}/ellipsis.directive.d.ts +3 -1
  33. package/directives/equal-validator.directive.d.ts +13 -0
  34. package/{src/lib/directives → directives}/frozen-gif.directive.d.ts +6 -3
  35. package/directives/index.d.ts +5 -0
  36. package/directives/multi-style-text.directive.d.ts +16 -0
  37. package/directives/public_api.d.ts +8 -0
  38. package/directives/truncate-tooltip.directive.d.ts +16 -0
  39. package/dots-stepper/dots-stepper.component.d.ts +16 -0
  40. package/dots-stepper/index.d.ts +5 -0
  41. package/dots-stepper/public_api.d.ts +1 -0
  42. package/esm2022/add-comment/add-comment.component.mjs +71 -0
  43. package/esm2022/add-comment/agorapulse-ui-components-add-comment.mjs +5 -0
  44. package/esm2022/add-comment/public_api.mjs +2 -0
  45. package/esm2022/agorapulse-ui-components.mjs +5 -0
  46. package/esm2022/autocomplete/agorapulse-ui-components-autocomplete.mjs +5 -0
  47. package/esm2022/autocomplete/autocomplete.component.mjs +128 -0
  48. package/esm2022/autocomplete/public_api.mjs +2 -0
  49. package/esm2022/avatar/agorapulse-ui-components-avatar.mjs +5 -0
  50. package/esm2022/avatar/avatar.component.mjs +222 -0
  51. package/esm2022/avatar/public_api.mjs +2 -0
  52. package/esm2022/badge/agorapulse-ui-components-badge.mjs +5 -0
  53. package/esm2022/badge/badge.component.mjs +17 -0
  54. package/esm2022/badge/public_api.mjs +2 -0
  55. package/esm2022/button/agorapulse-ui-components-button.mjs +5 -0
  56. package/esm2022/button/button.component.mjs +112 -0
  57. package/esm2022/button/public_api.mjs +2 -0
  58. package/esm2022/checkbox/agorapulse-ui-components-checkbox.mjs +5 -0
  59. package/esm2022/checkbox/checkbox.component.mjs +178 -0
  60. package/esm2022/checkbox/public_api.mjs +2 -0
  61. package/esm2022/confirm-modal/agorapulse-ui-components-confirm-modal.mjs +5 -0
  62. package/esm2022/confirm-modal/confirm-modal-texts.model.mjs +2 -0
  63. package/esm2022/confirm-modal/confirm-modal.component.mjs +61 -0
  64. package/esm2022/confirm-modal/public_api.mjs +3 -0
  65. package/esm2022/counter/agorapulse-ui-components-counter.mjs +5 -0
  66. package/esm2022/counter/counter.component.mjs +59 -0
  67. package/esm2022/counter/public_api.mjs +2 -0
  68. package/esm2022/datepicker/agorapulse-ui-components-datepicker.mjs +5 -0
  69. package/esm2022/datepicker/datepicker.component.mjs +271 -0
  70. package/esm2022/datepicker/public_api.mjs +2 -0
  71. package/esm2022/directives/agorapulse-ui-components-directives.mjs +5 -0
  72. package/esm2022/directives/autosize-textarea.directive.mjs +45 -0
  73. package/esm2022/directives/base-button.directive.mjs +47 -0
  74. package/esm2022/directives/default-image.directive.mjs +37 -0
  75. package/esm2022/directives/ellipsis.directive.mjs +90 -0
  76. package/esm2022/directives/equal-validator.directive.mjs +73 -0
  77. package/esm2022/directives/frozen-gif.directive.mjs +125 -0
  78. package/esm2022/directives/multi-style-text.directive.mjs +61 -0
  79. package/esm2022/directives/public_api.mjs +9 -0
  80. package/esm2022/directives/truncate-tooltip.directive.mjs +43 -0
  81. package/esm2022/dots-stepper/agorapulse-ui-components-dots-stepper.mjs +5 -0
  82. package/esm2022/dots-stepper/dots-stepper.component.mjs +46 -0
  83. package/esm2022/dots-stepper/public_api.mjs +2 -0
  84. package/esm2022/form-field/agorapulse-ui-components-form-field.mjs +5 -0
  85. package/esm2022/form-field/form-field.component.mjs +11 -0
  86. package/esm2022/form-field/public_api.mjs +2 -0
  87. package/esm2022/form-message/agorapulse-ui-components-form-message.mjs +5 -0
  88. package/esm2022/form-message/form-message.component.mjs +34 -0
  89. package/esm2022/form-message/public_api.mjs +2 -0
  90. package/esm2022/icon-button/agorapulse-ui-components-icon-button.mjs +5 -0
  91. package/esm2022/icon-button/icon-button.component.mjs +121 -0
  92. package/esm2022/icon-button/public_api.mjs +2 -0
  93. package/esm2022/index.mjs +50 -0
  94. package/esm2022/infobox/agorapulse-ui-components-infobox.mjs +5 -0
  95. package/esm2022/infobox/infobox.component.mjs +78 -0
  96. package/esm2022/infobox/public_api.mjs +2 -0
  97. package/esm2022/input/agorapulse-ui-components-input.mjs +5 -0
  98. package/esm2022/input/input.directive.mjs +19 -0
  99. package/esm2022/input/public_api.mjs +2 -0
  100. package/esm2022/input-group/agorapulse-ui-components-input-group.mjs +5 -0
  101. package/esm2022/input-group/input-group.component.mjs +14 -0
  102. package/esm2022/input-group/public_api.mjs +2 -0
  103. package/esm2022/labels/agorapulse-ui-components-labels.mjs +5 -0
  104. package/esm2022/labels/label-list.component.mjs +109 -0
  105. package/esm2022/labels/label.component.mjs +57 -0
  106. package/esm2022/labels/public_api.mjs +3 -0
  107. package/esm2022/labels-selector/agorapulse-ui-components-labels-selector.mjs +5 -0
  108. package/esm2022/labels-selector/labels-selector.component.mjs +122 -0
  109. package/esm2022/labels-selector/public_api.mjs +2 -0
  110. package/esm2022/legacy/input/agorapulse-ui-components-legacy-input.mjs +5 -0
  111. package/esm2022/legacy/input/input.component.mjs +190 -0
  112. package/esm2022/legacy/input/public_api.mjs +2 -0
  113. package/esm2022/legacy/select/agorapulse-ui-components-legacy-select.mjs +5 -0
  114. package/esm2022/legacy/select/public_api.mjs +2 -0
  115. package/esm2022/legacy/select/select.component.mjs +453 -0
  116. package/esm2022/legacy/textarea/agorapulse-ui-components-legacy-textarea.mjs +5 -0
  117. package/esm2022/legacy/textarea/public_api.mjs +2 -0
  118. package/esm2022/legacy/textarea/textarea.component.mjs +155 -0
  119. package/esm2022/media-display-overlay/agorapulse-ui-components-media-display-overlay.mjs +5 -0
  120. package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +123 -0
  121. package/esm2022/media-display-overlay/public_api.mjs +2 -0
  122. package/esm2022/modal/agorapulse-ui-components-modal.mjs +5 -0
  123. package/esm2022/modal/modal.component.mjs +116 -0
  124. package/esm2022/modal/public_api.mjs +2 -0
  125. package/esm2022/neo-datepicker/agorapulse-ui-components-neo-datepicker.mjs +5 -0
  126. package/esm2022/neo-datepicker/day-detail.model.mjs +2 -0
  127. package/esm2022/neo-datepicker/day-disabled.pipe.mjs +21 -0
  128. package/esm2022/neo-datepicker/neo-datepicker.component.mjs +243 -0
  129. package/esm2022/neo-datepicker/public_api.mjs +4 -0
  130. package/esm2022/notification/agorapulse-ui-components-notification.mjs +5 -0
  131. package/esm2022/notification/notification.component.mjs +15 -0
  132. package/esm2022/notification/public_api.mjs +2 -0
  133. package/esm2022/paginator/agorapulse-ui-components-paginator.mjs +5 -0
  134. package/esm2022/paginator/paginator-button/paginator-button.component.mjs +51 -0
  135. package/esm2022/paginator/paginator.component.mjs +126 -0
  136. package/esm2022/paginator/public_api.mjs +3 -0
  137. package/esm2022/password-input/agorapulse-ui-components-password-input.mjs +5 -0
  138. package/esm2022/password-input/password-input.component.mjs +77 -0
  139. package/esm2022/password-input/public_api.mjs +2 -0
  140. package/esm2022/popmenu/agorapulse-ui-components-popmenu.mjs +5 -0
  141. package/esm2022/popmenu/options.mjs +17 -0
  142. package/esm2022/popmenu/popmenu-options.interface.mjs +2 -0
  143. package/esm2022/popmenu/popmenu-options.service.mjs +7 -0
  144. package/esm2022/popmenu/popmenu.component.mjs +384 -0
  145. package/esm2022/popmenu/popmenu.directive.mjs +292 -0
  146. package/esm2022/popmenu/popmenu.module.mjs +29 -0
  147. package/esm2022/popmenu/public_api.mjs +5 -0
  148. package/esm2022/radio/agorapulse-ui-components-radio.mjs +5 -0
  149. package/esm2022/radio/public_api.mjs +3 -0
  150. package/esm2022/radio/radio-control.registry.mjs +102 -0
  151. package/esm2022/radio/radio.component.mjs +224 -0
  152. package/esm2022/range-slider/agorapulse-ui-components-range-slider.mjs +5 -0
  153. package/esm2022/range-slider/public_api.mjs +2 -0
  154. package/esm2022/range-slider/range-slider.component.mjs +155 -0
  155. package/esm2022/select/agorapulse-ui-components-select.mjs +5 -0
  156. package/esm2022/select/ap-select.module.mjs +78 -0
  157. package/esm2022/select/dropdown-group-item/dropdown-group-item.component.mjs +52 -0
  158. package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs +64 -0
  159. package/esm2022/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.mjs +68 -0
  160. package/esm2022/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.mjs +45 -0
  161. package/esm2022/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.mjs +49 -0
  162. package/esm2022/select/dropdown-search-form/dropdown-search-form.component.mjs +77 -0
  163. package/esm2022/select/public_api.mjs +13 -0
  164. package/esm2022/select/select-base.directive.mjs +69 -0
  165. package/esm2022/select/select-label-multiple/select-label-multiple.component.mjs +111 -0
  166. package/esm2022/select/select-label-single/select-label-single.component.mjs +30 -0
  167. package/esm2022/select/select-multiple.directive.mjs +35 -0
  168. package/esm2022/select/select-single.directive.mjs +34 -0
  169. package/esm2022/slide-toggle/agorapulse-ui-components-slide-toggle.mjs +5 -0
  170. package/esm2022/slide-toggle/public_api.mjs +2 -0
  171. package/esm2022/slide-toggle/slide-toggle.component.mjs +66 -0
  172. package/esm2022/snackbars-thread/agorapulse-ui-components-snackbars-thread.mjs +5 -0
  173. package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +84 -0
  174. package/esm2022/snackbars-thread/model/snackbars-thread.model.mjs +44 -0
  175. package/esm2022/snackbars-thread/public_api.mjs +4 -0
  176. package/esm2022/snackbars-thread/service/snackbars-thread.service.mjs +46 -0
  177. package/esm2022/snackbars-thread/utils/const/snackbars-thread.const.mjs +13 -0
  178. package/esm2022/social-button/agorapulse-ui-components-social-button.mjs +5 -0
  179. package/esm2022/social-button/public_api.mjs +2 -0
  180. package/esm2022/social-button/social-button.component.mjs +151 -0
  181. package/esm2022/split-button/agorapulse-ui-components-split-button.mjs +5 -0
  182. package/esm2022/split-button/public_api.mjs +2 -0
  183. package/esm2022/split-button/split-button.component.mjs +129 -0
  184. package/esm2022/src/lib/agorapulse-ui-components.module.mjs +204 -0
  185. package/esm2022/status/agorapulse-ui-components-status.mjs +5 -0
  186. package/esm2022/status/public_api.mjs +2 -0
  187. package/esm2022/status/status.component.mjs +22 -0
  188. package/esm2022/status-card/agorapulse-ui-components-status-card.mjs +5 -0
  189. package/esm2022/status-card/public_api.mjs +2 -0
  190. package/esm2022/status-card/status-card.component.mjs +25 -0
  191. package/esm2022/stepper/agorapulse-ui-components-stepper.mjs +5 -0
  192. package/esm2022/stepper/public_api.mjs +3 -0
  193. package/esm2022/stepper/step.model.mjs +2 -0
  194. package/esm2022/stepper/stepper.component.mjs +38 -0
  195. package/esm2022/tag/agorapulse-ui-components-tag.mjs +5 -0
  196. package/esm2022/tag/public_api.mjs +2 -0
  197. package/esm2022/tag/tag.component.mjs +36 -0
  198. package/esm2022/text-measurement/agorapulse-ui-components-text-measurement.mjs +5 -0
  199. package/esm2022/text-measurement/public_api.mjs +2 -0
  200. package/esm2022/text-measurement/text-measurement.service.mjs +29 -0
  201. package/esm2022/textarea/agorapulse-ui-components-textarea.mjs +5 -0
  202. package/esm2022/textarea/public_api.mjs +2 -0
  203. package/esm2022/textarea/textarea.directive.mjs +37 -0
  204. package/esm2022/toggle/agorapulse-ui-components-toggle.mjs +5 -0
  205. package/esm2022/toggle/public_api.mjs +2 -0
  206. package/esm2022/toggle/toggle.component.mjs +209 -0
  207. package/esm2022/tooltip/agorapulse-ui-components-tooltip.mjs +5 -0
  208. package/esm2022/tooltip/public_api.mjs +2 -0
  209. package/esm2022/tooltip/tooltip.directive.mjs +412 -0
  210. package/esm2022/tooltip/tooltip.service.mjs +29 -0
  211. package/fesm2022/agorapulse-ui-components-add-comment.mjs +78 -0
  212. package/fesm2022/agorapulse-ui-components-add-comment.mjs.map +1 -0
  213. package/fesm2022/agorapulse-ui-components-autocomplete.mjs +135 -0
  214. package/fesm2022/agorapulse-ui-components-autocomplete.mjs.map +1 -0
  215. package/fesm2022/agorapulse-ui-components-avatar.mjs +229 -0
  216. package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -0
  217. package/fesm2022/agorapulse-ui-components-badge.mjs +24 -0
  218. package/fesm2022/agorapulse-ui-components-badge.mjs.map +1 -0
  219. package/fesm2022/agorapulse-ui-components-button.mjs +119 -0
  220. package/fesm2022/agorapulse-ui-components-button.mjs.map +1 -0
  221. package/fesm2022/agorapulse-ui-components-checkbox.mjs +185 -0
  222. package/fesm2022/agorapulse-ui-components-checkbox.mjs.map +1 -0
  223. package/fesm2022/agorapulse-ui-components-confirm-modal.mjs +68 -0
  224. package/fesm2022/agorapulse-ui-components-confirm-modal.mjs.map +1 -0
  225. package/fesm2022/agorapulse-ui-components-counter.mjs +66 -0
  226. package/fesm2022/agorapulse-ui-components-counter.mjs.map +1 -0
  227. package/fesm2022/agorapulse-ui-components-datepicker.mjs +278 -0
  228. package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -0
  229. package/fesm2022/agorapulse-ui-components-directives.mjs +513 -0
  230. package/fesm2022/agorapulse-ui-components-directives.mjs.map +1 -0
  231. package/fesm2022/agorapulse-ui-components-dots-stepper.mjs +53 -0
  232. package/fesm2022/agorapulse-ui-components-dots-stepper.mjs.map +1 -0
  233. package/fesm2022/agorapulse-ui-components-form-field.mjs +18 -0
  234. package/fesm2022/agorapulse-ui-components-form-field.mjs.map +1 -0
  235. package/fesm2022/agorapulse-ui-components-form-message.mjs +41 -0
  236. package/fesm2022/agorapulse-ui-components-form-message.mjs.map +1 -0
  237. package/fesm2022/agorapulse-ui-components-icon-button.mjs +128 -0
  238. package/fesm2022/agorapulse-ui-components-icon-button.mjs.map +1 -0
  239. package/fesm2022/agorapulse-ui-components-infobox.mjs +85 -0
  240. package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -0
  241. package/fesm2022/agorapulse-ui-components-input-group.mjs +21 -0
  242. package/fesm2022/agorapulse-ui-components-input-group.mjs.map +1 -0
  243. package/fesm2022/agorapulse-ui-components-input.mjs +26 -0
  244. package/fesm2022/agorapulse-ui-components-input.mjs.map +1 -0
  245. package/fesm2022/agorapulse-ui-components-labels-selector.mjs +129 -0
  246. package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -0
  247. package/fesm2022/agorapulse-ui-components-labels.mjs +168 -0
  248. package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -0
  249. package/fesm2022/agorapulse-ui-components-legacy-input.mjs +197 -0
  250. package/fesm2022/agorapulse-ui-components-legacy-input.mjs.map +1 -0
  251. package/fesm2022/agorapulse-ui-components-legacy-select.mjs +460 -0
  252. package/fesm2022/agorapulse-ui-components-legacy-select.mjs.map +1 -0
  253. package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs +162 -0
  254. package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs.map +1 -0
  255. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +130 -0
  256. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -0
  257. package/fesm2022/agorapulse-ui-components-modal.mjs +123 -0
  258. package/fesm2022/agorapulse-ui-components-modal.mjs.map +1 -0
  259. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +268 -0
  260. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs.map +1 -0
  261. package/fesm2022/agorapulse-ui-components-notification.mjs +22 -0
  262. package/fesm2022/agorapulse-ui-components-notification.mjs.map +1 -0
  263. package/fesm2022/agorapulse-ui-components-paginator.mjs +181 -0
  264. package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -0
  265. package/fesm2022/agorapulse-ui-components-password-input.mjs +84 -0
  266. package/fesm2022/agorapulse-ui-components-password-input.mjs.map +1 -0
  267. package/fesm2022/agorapulse-ui-components-popmenu.mjs +725 -0
  268. package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -0
  269. package/fesm2022/agorapulse-ui-components-radio.mjs +328 -0
  270. package/fesm2022/agorapulse-ui-components-radio.mjs.map +1 -0
  271. package/fesm2022/agorapulse-ui-components-range-slider.mjs +162 -0
  272. package/fesm2022/agorapulse-ui-components-range-slider.mjs.map +1 -0
  273. package/fesm2022/agorapulse-ui-components-select.mjs +651 -0
  274. package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -0
  275. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +73 -0
  276. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs.map +1 -0
  277. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +190 -0
  278. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -0
  279. package/fesm2022/agorapulse-ui-components-social-button.mjs +158 -0
  280. package/fesm2022/agorapulse-ui-components-social-button.mjs.map +1 -0
  281. package/fesm2022/agorapulse-ui-components-split-button.mjs +136 -0
  282. package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -0
  283. package/fesm2022/agorapulse-ui-components-status-card.mjs +32 -0
  284. package/fesm2022/agorapulse-ui-components-status-card.mjs.map +1 -0
  285. package/fesm2022/agorapulse-ui-components-status.mjs +29 -0
  286. package/fesm2022/agorapulse-ui-components-status.mjs.map +1 -0
  287. package/fesm2022/agorapulse-ui-components-stepper.mjs +45 -0
  288. package/fesm2022/agorapulse-ui-components-stepper.mjs.map +1 -0
  289. package/fesm2022/agorapulse-ui-components-tag.mjs +43 -0
  290. package/fesm2022/agorapulse-ui-components-tag.mjs.map +1 -0
  291. package/fesm2022/agorapulse-ui-components-text-measurement.mjs +36 -0
  292. package/fesm2022/agorapulse-ui-components-text-measurement.mjs.map +1 -0
  293. package/fesm2022/agorapulse-ui-components-textarea.mjs +44 -0
  294. package/fesm2022/agorapulse-ui-components-textarea.mjs.map +1 -0
  295. package/fesm2022/agorapulse-ui-components-toggle.mjs +216 -0
  296. package/fesm2022/agorapulse-ui-components-toggle.mjs.map +1 -0
  297. package/fesm2022/agorapulse-ui-components-tooltip.mjs +445 -0
  298. package/fesm2022/agorapulse-ui-components-tooltip.mjs.map +1 -0
  299. package/fesm2022/agorapulse-ui-components.mjs +251 -0
  300. package/fesm2022/agorapulse-ui-components.mjs.map +1 -0
  301. package/form-field/form-field.component.d.ts +5 -0
  302. package/form-field/index.d.ts +5 -0
  303. package/form-field/public_api.d.ts +1 -0
  304. package/form-message/form-message.component.d.ts +12 -0
  305. package/form-message/index.d.ts +5 -0
  306. package/form-message/public_api.d.ts +1 -0
  307. package/icon-button/icon-button.component.d.ts +39 -0
  308. package/icon-button/index.d.ts +5 -0
  309. package/icon-button/public_api.d.ts +1 -0
  310. package/index.d.ts +43 -53
  311. package/infobox/index.d.ts +5 -0
  312. package/infobox/infobox.component.d.ts +32 -0
  313. package/infobox/public_api.d.ts +1 -0
  314. package/input/index.d.ts +5 -0
  315. package/input/input.directive.d.ts +7 -0
  316. package/input/public_api.d.ts +1 -0
  317. package/input-group/index.d.ts +5 -0
  318. package/input-group/input-group.component.d.ts +6 -0
  319. package/input-group/public_api.d.ts +1 -0
  320. package/labels/index.d.ts +5 -0
  321. package/labels/label-list.component.d.ts +34 -0
  322. package/labels/label.component.d.ts +24 -0
  323. package/labels/public_api.d.ts +2 -0
  324. package/labels-selector/index.d.ts +5 -0
  325. package/labels-selector/labels-selector.component.d.ts +42 -0
  326. package/labels-selector/public_api.d.ts +1 -0
  327. package/legacy/input/index.d.ts +5 -0
  328. package/legacy/input/input.component.d.ts +64 -0
  329. package/legacy/input/public_api.d.ts +1 -0
  330. package/legacy/select/index.d.ts +5 -0
  331. package/legacy/select/public_api.d.ts +1 -0
  332. package/legacy/select/select.component.d.ts +122 -0
  333. package/legacy/textarea/index.d.ts +5 -0
  334. package/legacy/textarea/public_api.d.ts +1 -0
  335. package/legacy/textarea/textarea.component.d.ts +53 -0
  336. package/media-display-overlay/index.d.ts +5 -0
  337. package/media-display-overlay/media-display-overlay-dialog.component.d.ts +42 -0
  338. package/media-display-overlay/public_api.d.ts +1 -0
  339. package/modal/index.d.ts +5 -0
  340. package/modal/modal.component.d.ts +54 -0
  341. package/modal/public_api.d.ts +1 -0
  342. package/neo-datepicker/day-detail.model.d.ts +9 -0
  343. package/neo-datepicker/day-disabled.pipe.d.ts +8 -0
  344. package/neo-datepicker/index.d.ts +5 -0
  345. package/neo-datepicker/neo-datepicker.component.d.ts +61 -0
  346. package/neo-datepicker/public_api.d.ts +3 -0
  347. package/notification/index.d.ts +5 -0
  348. package/notification/notification.component.d.ts +6 -0
  349. package/notification/public_api.d.ts +1 -0
  350. package/package.json +291 -20
  351. package/paginator/index.d.ts +5 -0
  352. package/paginator/paginator-button/paginator-button.component.d.ts +17 -0
  353. package/paginator/paginator.component.d.ts +38 -0
  354. package/paginator/public_api.d.ts +2 -0
  355. package/password-input/index.d.ts +5 -0
  356. package/password-input/password-input.component.d.ts +33 -0
  357. package/password-input/public_api.d.ts +1 -0
  358. package/popmenu/index.d.ts +5 -0
  359. package/{src/lib/popmenu → popmenu}/options.d.ts +1 -0
  360. package/popmenu/popmenu-options.interface.d.ts +48 -0
  361. package/{src/lib/popmenu → popmenu}/popmenu.component.d.ts +17 -9
  362. package/popmenu/popmenu.directive.d.ts +84 -0
  363. package/popmenu/popmenu.module.d.ts +11 -0
  364. package/popmenu/public_api.d.ts +4 -0
  365. package/radio/index.d.ts +5 -0
  366. package/radio/public_api.d.ts +2 -0
  367. package/radio/radio-control.registry.d.ts +22 -0
  368. package/radio/radio.component.d.ts +59 -0
  369. package/range-slider/index.d.ts +5 -0
  370. package/range-slider/public_api.d.ts +1 -0
  371. package/range-slider/range-slider.component.d.ts +35 -0
  372. package/select/ap-select.module.d.ts +17 -0
  373. package/select/dropdown-group-item/dropdown-group-item.component.d.ts +16 -0
  374. package/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.d.ts +21 -0
  375. package/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.d.ts +22 -0
  376. package/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.d.ts +15 -0
  377. package/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.d.ts +16 -0
  378. package/select/dropdown-search-form/dropdown-search-form.component.d.ts +22 -0
  379. package/select/index.d.ts +5 -0
  380. package/select/public_api.d.ts +12 -0
  381. package/select/select-base.directive.d.ts +18 -0
  382. package/select/select-label-multiple/select-label-multiple.component.d.ts +29 -0
  383. package/select/select-label-single/select-label-single.component.d.ts +10 -0
  384. package/select/select-multiple.directive.d.ts +10 -0
  385. package/select/select-single.directive.d.ts +10 -0
  386. package/slide-toggle/index.d.ts +5 -0
  387. package/slide-toggle/public_api.d.ts +1 -0
  388. package/{src/lib/slide-toggle → slide-toggle}/slide-toggle.component.d.ts +4 -0
  389. package/snackbars-thread/component/snackbars-thread.component.d.ts +23 -0
  390. package/snackbars-thread/index.d.ts +5 -0
  391. package/{src/lib/snackbars-thread → snackbars-thread}/model/snackbars-thread.model.d.ts +9 -6
  392. package/snackbars-thread/public_api.d.ts +3 -0
  393. package/snackbars-thread/service/snackbars-thread.service.d.ts +15 -0
  394. package/{src/lib/snackbars-thread → snackbars-thread}/utils/const/snackbars-thread.const.d.ts +2 -4
  395. package/social-button/index.d.ts +5 -0
  396. package/social-button/public_api.d.ts +1 -0
  397. package/social-button/social-button.component.d.ts +32 -0
  398. package/split-button/index.d.ts +5 -0
  399. package/split-button/public_api.d.ts +1 -0
  400. package/split-button/split-button.component.d.ts +43 -0
  401. package/src/lib/agorapulse-ui-components.module.d.ts +27 -0
  402. package/status/index.d.ts +5 -0
  403. package/status/public_api.d.ts +1 -0
  404. package/status/status.component.d.ts +9 -0
  405. package/status-card/index.d.ts +5 -0
  406. package/status-card/public_api.d.ts +1 -0
  407. package/status-card/status-card.component.d.ts +13 -0
  408. package/stepper/index.d.ts +5 -0
  409. package/stepper/public_api.d.ts +2 -0
  410. package/{src/lib/stepper → stepper}/step.model.d.ts +1 -0
  411. package/stepper/stepper.component.d.ts +16 -0
  412. package/tag/index.d.ts +5 -0
  413. package/tag/public_api.d.ts +1 -0
  414. package/tag/tag.component.d.ts +18 -0
  415. package/text-measurement/index.d.ts +5 -0
  416. package/text-measurement/public_api.d.ts +1 -0
  417. package/text-measurement/text-measurement.service.d.ts +8 -0
  418. package/textarea/index.d.ts +5 -0
  419. package/textarea/public_api.d.ts +1 -0
  420. package/textarea/textarea.directive.d.ts +11 -0
  421. package/toggle/index.d.ts +5 -0
  422. package/toggle/public_api.d.ts +1 -0
  423. package/toggle/toggle.component.d.ts +52 -0
  424. package/tooltip/index.d.ts +5 -0
  425. package/tooltip/public_api.d.ts +1 -0
  426. package/tooltip/tooltip.directive.d.ts +58 -0
  427. package/tooltip/tooltip.service.d.ts +11 -0
  428. package/agorapulse-ui-components-0.0.3.tgz +0 -0
  429. package/agorapulse-ui-components.d.ts +0 -9
  430. package/agorapulse-ui-components.metadata.json +0 -1
  431. package/bundles/agorapulse-ui-components.umd.js +0 -4448
  432. package/bundles/agorapulse-ui-components.umd.js.map +0 -1
  433. package/esm2015/agorapulse-ui-components.js +0 -10
  434. package/esm2015/index.js +0 -57
  435. package/esm2015/src/lib/add-comment/add-comment.component.js +0 -54
  436. package/esm2015/src/lib/agorapulse-ui-components.module.js +0 -279
  437. package/esm2015/src/lib/avatar/avatar.component.js +0 -82
  438. package/esm2015/src/lib/confirm-modal/confirm-modal-texts.model.js +0 -2
  439. package/esm2015/src/lib/confirm-modal/confirm-modal.component.js +0 -59
  440. package/esm2015/src/lib/datepicker/datepicker.component.js +0 -213
  441. package/esm2015/src/lib/directives/autosize-textarea.directive.js +0 -43
  442. package/esm2015/src/lib/directives/default-image.directive.js +0 -25
  443. package/esm2015/src/lib/directives/ellipsis.directive.js +0 -82
  444. package/esm2015/src/lib/directives/equal-validator.directive.js +0 -53
  445. package/esm2015/src/lib/directives/frozen-gif.directive.js +0 -113
  446. package/esm2015/src/lib/directives/multi-style-text.directive.js +0 -103
  447. package/esm2015/src/lib/directives/truncate-tooltip.directive.js +0 -36
  448. package/esm2015/src/lib/dots-stepper/dots-stepper.component.js +0 -41
  449. package/esm2015/src/lib/edit-tag-modal/edit-tags-modal.component.js +0 -129
  450. package/esm2015/src/lib/edit-tag-modal/model/edit-tags-modal.model.js +0 -2
  451. package/esm2015/src/lib/feature-onboarding/feature-onboarding.component.js +0 -35
  452. package/esm2015/src/lib/image-carousel/image-carousel.component.js +0 -143
  453. package/esm2015/src/lib/lead-modal/lead-info.model.js +0 -2
  454. package/esm2015/src/lib/lead-modal/lead-modal.component.js +0 -47
  455. package/esm2015/src/lib/media-display-overlay/media-display-overlay-dialog.component.js +0 -87
  456. package/esm2015/src/lib/modal/modal.component.js +0 -88
  457. package/esm2015/src/lib/notification/notification.component.js +0 -18
  458. package/esm2015/src/lib/overlay/overlay-dialog-service.component.js +0 -62
  459. package/esm2015/src/lib/overlay/overlay-dialog.component.js +0 -33
  460. package/esm2015/src/lib/overlay-in-div/overlay-in-div.component.js +0 -23
  461. package/esm2015/src/lib/paginator/paginator-button/paginator-button.component.js +0 -22
  462. package/esm2015/src/lib/paginator/paginator.component.js +0 -47
  463. package/esm2015/src/lib/password-input/password-input.component.js +0 -65
  464. package/esm2015/src/lib/password-strength-bar/password-strength-bar.component.js +0 -82
  465. package/esm2015/src/lib/password-strength-display-bar/password-strength-display-bar.component.js +0 -41
  466. package/esm2015/src/lib/phone-number-input/phone-number-input.component.js +0 -123
  467. package/esm2015/src/lib/places/place-list.component.js +0 -12
  468. package/esm2015/src/lib/places/place.component.js +0 -15
  469. package/esm2015/src/lib/popmenu/options.js +0 -16
  470. package/esm2015/src/lib/popmenu/popmenu-options.interface.js +0 -2
  471. package/esm2015/src/lib/popmenu/popmenu-options.service.js +0 -7
  472. package/esm2015/src/lib/popmenu/popmenu.component.js +0 -322
  473. package/esm2015/src/lib/popmenu/popmenu.directive.js +0 -215
  474. package/esm2015/src/lib/popmenu/popmenu.module.js +0 -38
  475. package/esm2015/src/lib/slide-toggle/slide-toggle.component.js +0 -59
  476. package/esm2015/src/lib/snackbar/snackbar.component.js +0 -22
  477. package/esm2015/src/lib/snackbars-thread/component/snackbars-thread.component.js +0 -50
  478. package/esm2015/src/lib/snackbars-thread/model/snackbars-thread.model.js +0 -41
  479. package/esm2015/src/lib/snackbars-thread/service/snackbars-thread.service.js +0 -44
  480. package/esm2015/src/lib/snackbars-thread/utils/const/snackbars-thread.const.js +0 -13
  481. package/esm2015/src/lib/splashscreen/splashscreen.component.js +0 -37
  482. package/esm2015/src/lib/star-rating/star-rating.component.js +0 -38
  483. package/esm2015/src/lib/stepper/step.model.js +0 -2
  484. package/esm2015/src/lib/stepper/stepper.component.js +0 -37
  485. package/esm2015/src/lib/tags/tag-list.component.js +0 -12
  486. package/esm2015/src/lib/tags/tag.component.js +0 -20
  487. package/esm2015/src/lib/tags-selector/tags-selector.component.js +0 -73
  488. package/esm2015/src/lib/timepicker/timepicker.component.js +0 -375
  489. package/esm2015/src/lib/tooltip-neo/tooltip-neo.component.js +0 -46
  490. package/esm2015/src/lib/tooltip-neo/tooltip-neo.const.js +0 -67
  491. package/esm2015/src/lib/tooltip-neo/tooltip-neo.directive.js +0 -107
  492. package/esm2015/src/lib/tooltip-neo/tooltip-neo.model.js +0 -2
  493. package/esm2015/src/lib/tooltip-neo/tooltip-neo.service.js +0 -15
  494. package/esm2015/src/lib/try-popup/try-popup-texts.model.js +0 -2
  495. package/esm2015/src/lib/try-popup/try-popup.component.js +0 -33
  496. package/fesm2015/agorapulse-ui-components.js +0 -3805
  497. package/fesm2015/agorapulse-ui-components.js.map +0 -1
  498. package/src/lib/add-comment/add-comment.component.d.ts +0 -17
  499. package/src/lib/avatar/avatar.component.d.ts +0 -23
  500. package/src/lib/confirm-modal/confirm-modal.component.d.ts +0 -17
  501. package/src/lib/datepicker/datepicker.component.d.ts +0 -69
  502. package/src/lib/directives/default-image.directive.d.ts +0 -5
  503. package/src/lib/directives/equal-validator.directive.d.ts +0 -10
  504. package/src/lib/directives/multi-style-text.directive.d.ts +0 -15
  505. package/src/lib/directives/truncate-tooltip.directive.d.ts +0 -13
  506. package/src/lib/dots-stepper/dots-stepper.component.d.ts +0 -13
  507. package/src/lib/edit-tag-modal/edit-tags-modal.component.d.ts +0 -29
  508. package/src/lib/edit-tag-modal/model/edit-tags-modal.model.d.ts +0 -21
  509. package/src/lib/feature-onboarding/feature-onboarding.component.d.ts +0 -15
  510. package/src/lib/image-carousel/image-carousel.component.d.ts +0 -45
  511. package/src/lib/lead-modal/lead-info.model.d.ts +0 -7
  512. package/src/lib/lead-modal/lead-modal.component.d.ts +0 -28
  513. package/src/lib/media-display-overlay/media-display-overlay-dialog.component.d.ts +0 -28
  514. package/src/lib/modal/modal.component.d.ts +0 -47
  515. package/src/lib/notification/notification.component.d.ts +0 -3
  516. package/src/lib/overlay/overlay-dialog-service.component.d.ts +0 -20
  517. package/src/lib/overlay/overlay-dialog.component.d.ts +0 -17
  518. package/src/lib/overlay-in-div/overlay-in-div.component.d.ts +0 -8
  519. package/src/lib/paginator/paginator-button/paginator-button.component.d.ts +0 -6
  520. package/src/lib/paginator/paginator.component.d.ts +0 -14
  521. package/src/lib/password-input/password-input.component.d.ts +0 -28
  522. package/src/lib/password-strength-bar/password-strength-bar.component.d.ts +0 -21
  523. package/src/lib/password-strength-display-bar/password-strength-display-bar.component.d.ts +0 -14
  524. package/src/lib/phone-number-input/phone-number-input.component.d.ts +0 -42
  525. package/src/lib/places/place-list.component.d.ts +0 -2
  526. package/src/lib/places/place.component.d.ts +0 -3
  527. package/src/lib/popmenu/popmenu-options.interface.d.ts +0 -24
  528. package/src/lib/popmenu/popmenu.directive.d.ts +0 -69
  529. package/src/lib/popmenu/popmenu.module.d.ts +0 -5
  530. package/src/lib/snackbar/snackbar.component.d.ts +0 -6
  531. package/src/lib/snackbars-thread/component/snackbars-thread.component.d.ts +0 -18
  532. package/src/lib/snackbars-thread/service/snackbars-thread.service.d.ts +0 -12
  533. package/src/lib/splashscreen/splashscreen.component.d.ts +0 -15
  534. package/src/lib/star-rating/star-rating.component.d.ts +0 -10
  535. package/src/lib/stepper/stepper.component.d.ts +0 -14
  536. package/src/lib/tags/tag-list.component.d.ts +0 -2
  537. package/src/lib/tags/tag.component.d.ts +0 -4
  538. package/src/lib/tags-selector/tags-selector.component.d.ts +0 -29
  539. package/src/lib/timepicker/timepicker.component.d.ts +0 -68
  540. package/src/lib/tooltip-neo/tooltip-neo.component.d.ts +0 -12
  541. package/src/lib/tooltip-neo/tooltip-neo.const.d.ts +0 -4
  542. package/src/lib/tooltip-neo/tooltip-neo.directive.d.ts +0 -29
  543. package/src/lib/tooltip-neo/tooltip-neo.model.d.ts +0 -12
  544. package/src/lib/tooltip-neo/tooltip-neo.service.d.ts +0 -4
  545. package/src/lib/try-popup/try-popup-texts.model.d.ts +0 -4
  546. package/src/lib/try-popup/try-popup.component.d.ts +0 -12
  547. /package/{src/lib/confirm-modal → confirm-modal}/confirm-modal-texts.model.d.ts +0 -0
  548. /package/{src/lib/popmenu → popmenu}/popmenu-options.service.d.ts +0 -0
@@ -0,0 +1,224 @@
1
+ import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, Injector, Input, NgZone, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { CommonModule, NgIf } from '@angular/common';
3
+ import { SymbolComponent } from '@agorapulse/ui-symbol';
4
+ import { NgControl } from '@angular/forms';
5
+ import { RADIO_VALUE_ACCESSOR, RadioControlRegistry } from './radio-control.registry';
6
+ import { filter, fromEvent, Subject, takeUntil } from 'rxjs';
7
+ import * as i0 from "@angular/core";
8
+ export class RadioComponent {
9
+ elementRef;
10
+ injector = inject(Injector);
11
+ changeDetectorRef = inject(ChangeDetectorRef);
12
+ radioControlRegistry = inject(RadioControlRegistry);
13
+ ngZone = inject(NgZone);
14
+ inputElement;
15
+ labelElement;
16
+ ariaLabel = '';
17
+ ariaLabelledby = null;
18
+ ariaDescribedby = '';
19
+ set disabled(disabled) {
20
+ this._disabled = disabled;
21
+ }
22
+ get disabled() {
23
+ return this._disabled;
24
+ }
25
+ labelPosition = 'right';
26
+ radioId = '';
27
+ formControlName;
28
+ value;
29
+ required = false;
30
+ name = '';
31
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
32
+ onClick = new EventEmitter();
33
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
34
+ onFocus = new EventEmitter();
35
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
36
+ onBlur = new EventEmitter();
37
+ inputId = '';
38
+ _disabled = false;
39
+ hasLabel = false;
40
+ hostDataTest;
41
+ control;
42
+ checked = false;
43
+ focused = false;
44
+ radioIndex = 0;
45
+ destroy$ = new Subject();
46
+ onModelChange = () => {
47
+ // ignore
48
+ };
49
+ onModelTouched = () => {
50
+ // ignore
51
+ };
52
+ constructor(elementRef) {
53
+ this.elementRef = elementRef;
54
+ this.hostDataTest = elementRef.nativeElement.getAttribute('data-test');
55
+ this.ngZone.runOutsideAngular(() => {
56
+ fromEvent(window, 'keydown')
57
+ .pipe(filter((event) => 'key' in event), takeUntil(this.destroy$))
58
+ .subscribe((event) => {
59
+ // Handle keydown event
60
+ switch (event.key) {
61
+ case 'ArrowDown':
62
+ case 'ArrowRight':
63
+ this.ngZone.run(() => {
64
+ if (this.focused) {
65
+ event.stopImmediatePropagation();
66
+ this.radioControlRegistry.blurAllGroup(this);
67
+ this.radioControlRegistry.focusNext(this);
68
+ }
69
+ });
70
+ break;
71
+ case 'ArrowUp':
72
+ case 'ArrowLeft':
73
+ this.ngZone.run(() => {
74
+ event.preventDefault();
75
+ if (this.focused) {
76
+ event.stopImmediatePropagation();
77
+ this.radioControlRegistry.blurAllGroup(this);
78
+ this.radioControlRegistry.focusPrevious(this);
79
+ }
80
+ });
81
+ break;
82
+ default:
83
+ return;
84
+ }
85
+ });
86
+ });
87
+ }
88
+ ngOnChanges() {
89
+ if (this.labelElement) {
90
+ this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();
91
+ }
92
+ }
93
+ ngOnInit() {
94
+ this.control = this.injector.get(NgControl);
95
+ this.checkName();
96
+ this.radioControlRegistry.add(this.control, this);
97
+ this.radioIndex = this.radioControlRegistry.getIndex(this);
98
+ this.inputId = `${this.radioId}-${this.radioIndex}`;
99
+ }
100
+ ngAfterContentInit() {
101
+ if (this.labelElement) {
102
+ this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();
103
+ }
104
+ }
105
+ ngOnDestroy() {
106
+ this.radioControlRegistry.remove(this);
107
+ this.destroy$.next();
108
+ this.destroy$.complete();
109
+ }
110
+ handleClick(event, radioButton) {
111
+ event.preventDefault();
112
+ if (this.disabled) {
113
+ return;
114
+ }
115
+ this.select(event);
116
+ radioButton.focus();
117
+ }
118
+ select(event) {
119
+ if (!this.disabled) {
120
+ this.inputElement.nativeElement.checked = true;
121
+ this.checked = true;
122
+ this.onModelChange(this.value);
123
+ this.radioControlRegistry.select(this);
124
+ this.onClick.emit({ originalEvent: event, value: this.value });
125
+ }
126
+ }
127
+ writeValue(value) {
128
+ this.checked = value == this.value;
129
+ if (this.inputElement?.nativeElement) {
130
+ this.inputElement.nativeElement.checked = this.checked;
131
+ }
132
+ this.changeDetectorRef.markForCheck();
133
+ }
134
+ registerOnChange(fn) {
135
+ this.onModelChange = fn;
136
+ }
137
+ registerOnTouched(fn) {
138
+ this.onModelTouched = fn;
139
+ }
140
+ onInputFocus(event) {
141
+ this.radioControlRegistry.setNegativeTabIndexToAllExcept(this);
142
+ this.inputElement.nativeElement.checked = true;
143
+ this.checked = true;
144
+ this.onModelChange(this.value);
145
+ this.focused = true;
146
+ this.onFocus.emit(event);
147
+ }
148
+ onInputBlur(event) {
149
+ this.focused = false;
150
+ this.onModelTouched();
151
+ this.onBlur.emit(event);
152
+ }
153
+ onChange(event) {
154
+ this.select(event);
155
+ }
156
+ checkName() {
157
+ if (this.name && this.formControlName && this.name !== this.formControlName) {
158
+ this.throwNameError();
159
+ }
160
+ if (!this.name && this.formControlName) {
161
+ this.name = this.formControlName;
162
+ }
163
+ }
164
+ throwNameError() {
165
+ throw new Error(`
166
+ If you define both a name and a formControlName attribute on your radio button, their values
167
+ must match. Ex: <p-radioButton formControlName="food" name="food"></p-radioButton>
168
+ `);
169
+ }
170
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RadioComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
171
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.10", type: RadioComponent, isStandalone: true, selector: "ap-radio", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], disabled: ["disabled", "disabled", booleanAttribute], labelPosition: "labelPosition", radioId: "radioId", formControlName: "formControlName", value: "value", required: ["required", "required", booleanAttribute], name: "name" }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, providers: [RADIO_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"radio-button-container\"\n [class.label-left]=\"labelPosition === 'left'\">\n <input\n #input\n type=\"radio\"\n tabindex=\"0\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name + '-radio-' + radioIndex\"\n [attr.value]=\"value\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [checked]=\"checked\"\n [class.disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus($event)\" />\n <div\n class=\"radio-button\"\n [class.disabled]=\"disabled\"\n (click)=\"select($event)\"></div>\n <label\n [for]=\"inputId\"\n (click)=\"select($event)\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-radio .radio-button-container{display:flex;align-items:center;gap:var(--ref-spacing-xxs)}ap-radio .radio-button-container.label-left{flex-direction:row-reverse}ap-radio .radio-button-container input[type=radio]{transform:scale(0);position:absolute}ap-radio .radio-button-container input[type=radio]:checked~.radio-button{border-color:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 3px var(--ref-color-white)}ap-radio .radio-button-container input[type=radio]:checked~.radio-button.disabled{background:var(--ref-color-grey-40);box-shadow:inset 0 0 0 3px var(--ref-color-grey-10)}ap-radio .radio-button-container input[type=radio]:checked:focus~.radio-button{border-color:var(--ref-color-electric-blue-100)}ap-radio .radio-button-container input[type=radio].disabled~.radio-button{pointer-events:none;cursor:default;box-shadow:inset 0 0 0 16px var(--ref-color-grey-10);border-color:var(--ref-color-grey-20)}ap-radio .radio-button-container input[type=radio].disabled~label{pointer-events:none;cursor:default;color:var(--ref-color-grey-60)}ap-radio .radio-button-container input[type=radio]:focus~.radio-button{outline:3px solid var(--ref-color-electric-blue-100);border-color:var(--ref-color-grey-80);outline-offset:1px}ap-radio .radio-button-container .radio-button{width:16px;height:16px;border-radius:100%;border:1px solid var(--ref-color-grey-60);background:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 16px var(--ref-color-white);transition:box-shadow var(--comp-radio-transition-duration);flex-shrink:0}ap-radio .radio-button-container .radio-button:hover:not(.disabled){cursor:pointer;border-color:var(--ref-color-grey-80)}ap-radio .radio-button-container label{display:flex;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100)}ap-radio .radio-button-container label:empty{display:none}ap-radio .radio-button-container label.disabled{color:var(--ref-color-grey-60)}ap-radio .radio-button-container label:hover:not(.disabled){cursor:pointer}ap-radio.ng-invalid.ng-dirty .radio-button{border-color:var(--ref-color-red-100)}ap-radio.ng-invalid.ng-dirty .radio-button:hover{border-color:var(--ref-color-red-60)}ap-radio.ng-invalid.ng-dirty input[type=radio]:focus~.radio-button{border-color:var(--ref-color-red-60)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
172
+ }
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RadioComponent, decorators: [{
174
+ type: Component,
175
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-radio', standalone: true, imports: [NgIf, SymbolComponent, CommonModule], providers: [RADIO_VALUE_ACCESSOR], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"radio-button-container\"\n [class.label-left]=\"labelPosition === 'left'\">\n <input\n #input\n type=\"radio\"\n tabindex=\"0\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name + '-radio-' + radioIndex\"\n [attr.value]=\"value\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [checked]=\"checked\"\n [class.disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus($event)\" />\n <div\n class=\"radio-button\"\n [class.disabled]=\"disabled\"\n (click)=\"select($event)\"></div>\n <label\n [for]=\"inputId\"\n (click)=\"select($event)\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-radio .radio-button-container{display:flex;align-items:center;gap:var(--ref-spacing-xxs)}ap-radio .radio-button-container.label-left{flex-direction:row-reverse}ap-radio .radio-button-container input[type=radio]{transform:scale(0);position:absolute}ap-radio .radio-button-container input[type=radio]:checked~.radio-button{border-color:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 3px var(--ref-color-white)}ap-radio .radio-button-container input[type=radio]:checked~.radio-button.disabled{background:var(--ref-color-grey-40);box-shadow:inset 0 0 0 3px var(--ref-color-grey-10)}ap-radio .radio-button-container input[type=radio]:checked:focus~.radio-button{border-color:var(--ref-color-electric-blue-100)}ap-radio .radio-button-container input[type=radio].disabled~.radio-button{pointer-events:none;cursor:default;box-shadow:inset 0 0 0 16px var(--ref-color-grey-10);border-color:var(--ref-color-grey-20)}ap-radio .radio-button-container input[type=radio].disabled~label{pointer-events:none;cursor:default;color:var(--ref-color-grey-60)}ap-radio .radio-button-container input[type=radio]:focus~.radio-button{outline:3px solid var(--ref-color-electric-blue-100);border-color:var(--ref-color-grey-80);outline-offset:1px}ap-radio .radio-button-container .radio-button{width:16px;height:16px;border-radius:100%;border:1px solid var(--ref-color-grey-60);background:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 16px var(--ref-color-white);transition:box-shadow var(--comp-radio-transition-duration);flex-shrink:0}ap-radio .radio-button-container .radio-button:hover:not(.disabled){cursor:pointer;border-color:var(--ref-color-grey-80)}ap-radio .radio-button-container label{display:flex;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100)}ap-radio .radio-button-container label:empty{display:none}ap-radio .radio-button-container label.disabled{color:var(--ref-color-grey-60)}ap-radio .radio-button-container label:hover:not(.disabled){cursor:pointer}ap-radio.ng-invalid.ng-dirty .radio-button{border-color:var(--ref-color-red-100)}ap-radio.ng-invalid.ng-dirty .radio-button:hover{border-color:var(--ref-color-red-60)}ap-radio.ng-invalid.ng-dirty input[type=radio]:focus~.radio-button{border-color:var(--ref-color-red-60)}\n"] }]
176
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { inputElement: [{
177
+ type: ViewChild,
178
+ args: ['input', { static: true }]
179
+ }], labelElement: [{
180
+ type: ViewChild,
181
+ args: ['label', { static: true }]
182
+ }], ariaLabel: [{
183
+ type: Input,
184
+ args: ['aria-label']
185
+ }], ariaLabelledby: [{
186
+ type: Input,
187
+ args: ['aria-labelledby']
188
+ }], ariaDescribedby: [{
189
+ type: Input,
190
+ args: ['aria-describedby']
191
+ }], disabled: [{
192
+ type: Input,
193
+ args: [{
194
+ transform: booleanAttribute,
195
+ }]
196
+ }], labelPosition: [{
197
+ type: Input
198
+ }], radioId: [{
199
+ type: Input,
200
+ args: [{
201
+ required: true,
202
+ }]
203
+ }], formControlName: [{
204
+ type: Input
205
+ }], value: [{
206
+ type: Input,
207
+ args: [{
208
+ required: true,
209
+ }]
210
+ }], required: [{
211
+ type: Input,
212
+ args: [{
213
+ transform: booleanAttribute,
214
+ }]
215
+ }], name: [{
216
+ type: Input
217
+ }], onClick: [{
218
+ type: Output
219
+ }], onFocus: [{
220
+ type: Output
221
+ }], onBlur: [{
222
+ type: Output
223
+ }] } });
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3JhZGlvL3NyYy9yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcmFkaW8vc3JjL3JhZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sRUFJTixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBWTdELE1BQU0sT0FBTyxjQUFjO0lBaUVIO0lBaEVKLFFBQVEsR0FBYSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsaUJBQWlCLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pFLG9CQUFvQixHQUF5QixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUMxRSxNQUFNLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRVgsWUFBWSxDQUFnQztJQUM1QyxZQUFZLENBQWdDO0lBQzdELFNBQVMsR0FBRyxF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Ym9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTeW1ib2xDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJBRElPX1ZBTFVFX0FDQ0VTU09SLCBSYWRpb0NvbnRyb2xSZWdpc3RyeSB9IGZyb20gJy4vcmFkaW8tY29udHJvbC5yZWdpc3RyeSc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZyb21FdmVudCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtcmFkaW8nLFxuICAgIHN0eWxlVXJsczogWycuL3JhZGlvLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgU3ltYm9sQ29tcG9uZW50LCBDb21tb25Nb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW1JBRElPX1ZBTFVFX0FDQ0VTU09SXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhZGlvQ29udHJvbFJlZ2lzdHJ5OiBSYWRpb0NvbnRyb2xSZWdpc3RyeSA9IGluamVjdChSYWRpb0NvbnRyb2xSZWdpc3RyeSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ2xhYmVsJywgeyBzdGF0aWM6IHRydWUgfSkgbGFiZWxFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgICBASW5wdXQoJ2FyaWEtbGFiZWwnKSBhcmlhTGFiZWwgPSAnJztcbiAgICBASW5wdXQoJ2FyaWEtbGFiZWxsZWRieScpIGFyaWFMYWJlbGxlZGJ5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoJ2FyaWEtZGVzY3JpYmVkYnknKSBhcmlhRGVzY3JpYmVkYnkgPSAnJztcbiAgICBASW5wdXQoe1xuICAgICAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgfSkgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuICAgIEBJbnB1dCgpIGxhYmVsUG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnO1xuICAgIEBJbnB1dCh7XG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pXG4gICAgcmFkaW9JZCA9ICcnO1xuICAgIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSE6IHN0cmluZztcbiAgICBASW5wdXQoe1xuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KVxuICAgIHZhbHVlOiB1bmtub3duO1xuICAgIEBJbnB1dCh7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICB9KSByZXF1aXJlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIG5hbWUgPSAnJztcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8e1xuICAgICAgICBvcmlnaW5hbEV2ZW50OiBFdmVudDtcbiAgICAgICAgdmFsdWU6IHVua25vd247XG4gICAgfT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgb25Gb2N1czogRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG9uQmx1cjogRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgaW5wdXRJZCA9ICcnO1xuICAgIF9kaXNhYmxlZCA9IGZhbHNlO1xuICAgIGhhc0xhYmVsID0gZmFsc2U7XG4gICAgaG9zdERhdGFUZXN0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgY29udHJvbCE6IE5nQ29udHJvbDtcbiAgICBjaGVja2VkID0gZmFsc2U7XG4gICAgZm9jdXNlZCA9IGZhbHNlO1xuICAgIHJhZGlvSW5kZXggPSAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHVibGljIG9uTW9kZWxDaGFuZ2U6ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAgICAgLy8gaWdub3JlXG4gICAgfTtcblxuICAgIHB1YmxpYyBvbk1vZGVsVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAgICAgLy8gaWdub3JlXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgICAgICB0aGlzLmhvc3REYXRhVGVzdCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGVzdCcpO1xuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGZyb21FdmVudCh3aW5kb3csICdrZXlkb3duJylcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIEtleWJvYXJkRXZlbnQgPT4gJ2tleScgaW4gZXZlbnQpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSGFuZGxlIGtleWRvd24gZXZlbnRcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmFkaW9Db250cm9sUmVnaXN0cnkuYmx1ckFsbEdyb3VwKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yYWRpb0NvbnRyb2xSZWdpc3RyeS5mb2N1c05leHQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmFkaW9Db250cm9sUmVnaXN0cnkuYmx1ckFsbEdyb3VwKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yYWRpb0NvbnRyb2xSZWdpc3RyeS5mb2N1c1ByZXZpb3VzKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubGFiZWxFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmhhc0xhYmVsID0gISF0aGlzLmxhYmVsRWxlbWVudC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50Py50cmltKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sKTtcbiAgICAgICAgdGhpcy5jaGVja05hbWUoKTtcbiAgICAgICAgdGhpcy5yYWRpb0NvbnRyb2xSZWdpc3RyeS5hZGQodGhpcy5jb250cm9sLCB0aGlzKTtcbiAgICAgICAgdGhpcy5yYWRpb0luZGV4ID0gdGhpcy5yYWRpb0NvbnRyb2xSZWdpc3RyeS5nZXRJbmRleCh0aGlzKTtcbiAgICAgICAgdGhpcy5pbnB1dElkID0gYCR7dGhpcy5yYWRpb0lkfS0ke3RoaXMucmFkaW9JbmRleH1gO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubGFiZWxFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmhhc0xhYmVsID0gISF0aGlzLmxhYmVsRWxlbWVudC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50Py50cmltKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5yYWRpb0NvbnRyb2xSZWdpc3RyeS5yZW1vdmUodGhpcyk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIHJhZGlvQnV0dG9uOiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdChldmVudCk7XG4gICAgICAgIHJhZGlvQnV0dG9uLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgc2VsZWN0KGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5yYWRpb0NvbnRyb2xSZWdpc3RyeS5zZWxlY3QodGhpcyk7XG4gICAgICAgICAgICB0aGlzLm9uQ2xpY2suZW1pdCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCB2YWx1ZTogdGhpcy52YWx1ZSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gdmFsdWUgPT0gdGhpcy52YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hlY2tlZCA9IHRoaXMuY2hlY2tlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTW9kZWxUb3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgb25JbnB1dEZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIHRoaXMucmFkaW9Db250cm9sUmVnaXN0cnkuc2V0TmVnYXRpdmVUYWJJbmRleFRvQWxsRXhjZXB0KHRoaXMpO1xuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMub25Gb2N1cy5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbklucHV0Qmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLm9uQmx1ci5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3QoZXZlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tOYW1lKCkge1xuICAgICAgICBpZiAodGhpcy5uYW1lICYmIHRoaXMuZm9ybUNvbnRyb2xOYW1lICYmIHRoaXMubmFtZSAhPT0gdGhpcy5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMudGhyb3dOYW1lRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMubmFtZSAmJiB0aGlzLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5mb3JtQ29udHJvbE5hbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRocm93TmFtZUVycm9yKCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFxuICAgICAgICAgIElmIHlvdSBkZWZpbmUgYm90aCBhIG5hbWUgYW5kIGEgZm9ybUNvbnRyb2xOYW1lIGF0dHJpYnV0ZSBvbiB5b3VyIHJhZGlvIGJ1dHRvbiwgdGhlaXIgdmFsdWVzXG4gICAgICAgICAgbXVzdCBtYXRjaC4gRXg6IDxwLXJhZGlvQnV0dG9uIGZvcm1Db250cm9sTmFtZT1cImZvb2RcIiBuYW1lPVwiZm9vZFwiPjwvcC1yYWRpb0J1dHRvbj5cbiAgICAgICAgYCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwicmFkaW8tYnV0dG9uLWNvbnRhaW5lclwiXG4gICAgW2NsYXNzLmxhYmVsLWxlZnRdPVwibGFiZWxQb3NpdGlvbiA9PT0gJ2xlZnQnXCI+XG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lICsgJy1yYWRpby0nICsgcmFkaW9JbmRleFwiXG4gICAgICAgIFthdHRyLnZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8fCBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkYnlcIlxuICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiaG9zdERhdGFUZXN0ID8/IG5hbWVcIlxuICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoJGV2ZW50KVwiIC8+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cInJhZGlvLWJ1dHRvblwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3QoJGV2ZW50KVwiPjwvZGl2PlxuICAgIDxsYWJlbFxuICAgICAgICBbZm9yXT1cImlucHV0SWRcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0KCRldmVudClcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2xhYmVsPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdvcmFwdWxzZS11aS1jb21wb25lbnRzLXJhbmdlLXNsaWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9yYW5nZS1zbGlkZXIvc3JjL2Fnb3JhcHVsc2UtdWktY29tcG9uZW50cy1yYW5nZS1zbGlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './range-slider.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9yYW5nZS1zbGlkZXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmFuZ2Utc2xpZGVyLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,155 @@
1
+ import { NgClass } from '@angular/common';
2
+ import { Component, forwardRef, Input } from '@angular/core';
3
+ import { MatSliderModule } from '@angular/material/slider';
4
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule, Validators } from '@angular/forms';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "@angular/material/slider";
8
+ export class RangeSliderComponent {
9
+ fb;
10
+ set min(min) {
11
+ this.minimumFormControl.setValue(min);
12
+ this.change();
13
+ }
14
+ get min() {
15
+ return this.minFormControl.getRawValue();
16
+ }
17
+ set max(max) {
18
+ this.maximumFormControl.setValue(max);
19
+ this.change();
20
+ }
21
+ get max() {
22
+ return this.maxFormControl.getRawValue();
23
+ }
24
+ rangeSliderFormGroup;
25
+ constructor(fb) {
26
+ this.fb = fb;
27
+ const minimumValidator = (control) => {
28
+ let errors = null;
29
+ const rangeFormValue = control.getRawValue();
30
+ if (rangeFormValue.min && rangeFormValue.minimum && (rangeFormValue.min < rangeFormValue.minimum)) {
31
+ errors = {
32
+ minimumError: {
33
+ expectedMin: rangeFormValue.minimum,
34
+ currentMin: rangeFormValue.min
35
+ }
36
+ };
37
+ }
38
+ return errors;
39
+ };
40
+ const minimumRequiredValidator = (control) => {
41
+ let errors = null;
42
+ const rangeFormValue = control.getRawValue();
43
+ if (rangeFormValue.min == undefined) {
44
+ errors = {
45
+ minimumRequired: true
46
+ };
47
+ }
48
+ return errors;
49
+ };
50
+ const maximumValidator = (control) => {
51
+ let errors = null;
52
+ const rangeFormValue = control.getRawValue();
53
+ if (rangeFormValue.max && rangeFormValue.maximum && (rangeFormValue.max > rangeFormValue.maximum)) {
54
+ errors = {
55
+ maximumError: {
56
+ expectedMax: rangeFormValue.maximum,
57
+ currentMax: rangeFormValue.max
58
+ }
59
+ };
60
+ }
61
+ return errors;
62
+ };
63
+ const maximumRequiredValidator = (control) => {
64
+ let errors = null;
65
+ const rangeFormValue = control.getRawValue();
66
+ if (rangeFormValue.max == undefined) {
67
+ errors = {
68
+ maximumRequired: true
69
+ };
70
+ }
71
+ return errors;
72
+ };
73
+ this.rangeSliderFormGroup = fb.group({
74
+ maximum: fb.control(0, { nonNullable: true }),
75
+ minimum: fb.control(100, { nonNullable: true }),
76
+ min: fb.control(undefined, { nonNullable: true }),
77
+ max: fb.control(undefined, { nonNullable: true }),
78
+ }, { validators: Validators.compose([minimumRequiredValidator, maximumRequiredValidator, minimumValidator, maximumValidator]) });
79
+ }
80
+ propagateChange = null;
81
+ propagateOnTouch = null;
82
+ registerOnChange(fn) {
83
+ this.propagateChange = fn;
84
+ }
85
+ registerOnTouched(fn) {
86
+ this.propagateOnTouch = fn;
87
+ }
88
+ get minimum() {
89
+ return this.minimumFormControl.getRawValue();
90
+ }
91
+ get maximum() {
92
+ return this.maximumFormControl.getRawValue();
93
+ }
94
+ get minFormControl() {
95
+ return this.rangeSliderFormGroup.controls.min;
96
+ }
97
+ get minimumFormControl() {
98
+ return this.rangeSliderFormGroup.controls.minimum;
99
+ }
100
+ get maximumFormControl() {
101
+ return this.rangeSliderFormGroup.controls.maximum;
102
+ }
103
+ get maxFormControl() {
104
+ return this.rangeSliderFormGroup.controls.max;
105
+ }
106
+ writeValue(inputRange) {
107
+ this.minFormControl.setValue(inputRange.min);
108
+ this.maxFormControl.setValue(inputRange.max);
109
+ }
110
+ change() {
111
+ if (this.propagateChange) {
112
+ const formValue = this.rangeSliderFormGroup.getRawValue();
113
+ this.propagateChange({
114
+ min: formValue.min,
115
+ max: formValue.max
116
+ });
117
+ }
118
+ }
119
+ validate() {
120
+ return this.rangeSliderFormGroup.errors;
121
+ }
122
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RangeSliderComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
123
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: RangeSliderComponent, isStandalone: true, selector: "ap-range-slider", inputs: { min: "min", max: "max" }, providers: [
124
+ {
125
+ provide: NG_VALUE_ACCESSOR,
126
+ useExisting: forwardRef(() => RangeSliderComponent),
127
+ multi: true,
128
+ },
129
+ {
130
+ provide: NG_VALIDATORS,
131
+ useExisting: forwardRef(() => RangeSliderComponent),
132
+ multi: true
133
+ }
134
+ ], ngImport: i0, template: "<div class=\"slider-wrapper\" [formGroup]=\"rangeSliderFormGroup\">\n <div class=\"number\"><span>{{min}}</span></div>\n <mat-slider class=\"slider\" [min]=\"minimum\" [max]=\"maximum\">\n <input matSliderStartThumb formControlName=\"min\" (change)=\"change()\">\n <input matSliderEndThumb formControlName=\"max\" (change)=\"change()\">\n </mat-slider>\n <div class=\"number\">\n <span>{{max > maximum ? max + '+' : max}}</span>\n </div>\n</div>\n", styles: [":host{width:100%;height:52px}:host .slider-wrapper{display:flex;justify-content:space-between;align-items:center;gap:var(--ref-spacing-xxs)}:host .slider-wrapper .slider{flex-grow:2}:host .slider-wrapper .slider .mat-slider-thumb{background-color:var(--ref-color-electric-blue-100)}:host .slider-wrapper .number{flex-shrink:0;display:flex;justify-content:center;align-items:center;width:46px;height:36px;border:1px solid var(--ref-color-grey-20);border-radius:3px}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__thumb--focused .mdc-slider__thumb-knob{background-color:var(--ref-color-white);border:3px solid var(--ref-color-electric-blue-100)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__thumb-knob{background-color:var(--ref-color-white);border:3px solid var(--ref-color-electric-blue-100);width:var(--ref-spacing-md);height:var(--ref-spacing-md)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--active_fill{border-color:var(--ref-color-electric-blue-150)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--active{height:var(--ref-spacing-xxxs)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--inactive{background-color:var(--ref-color-grey-20)}\n"], dependencies: [{ kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i2.MatSlider, selector: "mat-slider", inputs: ["color", "disableRipple", "disabled", "discrete", "showTickMarks", "min", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i2.MatSliderRangeThumb, selector: "input[matSliderStartThumb], input[matSliderEndThumb]", exportAs: ["matSliderRangeThumb"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
135
+ }
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RangeSliderComponent, decorators: [{
137
+ type: Component,
138
+ args: [{ selector: 'ap-range-slider', standalone: true, imports: [NgClass, MatSliderModule, ReactiveFormsModule], providers: [
139
+ {
140
+ provide: NG_VALUE_ACCESSOR,
141
+ useExisting: forwardRef(() => RangeSliderComponent),
142
+ multi: true,
143
+ },
144
+ {
145
+ provide: NG_VALIDATORS,
146
+ useExisting: forwardRef(() => RangeSliderComponent),
147
+ multi: true
148
+ }
149
+ ], template: "<div class=\"slider-wrapper\" [formGroup]=\"rangeSliderFormGroup\">\n <div class=\"number\"><span>{{min}}</span></div>\n <mat-slider class=\"slider\" [min]=\"minimum\" [max]=\"maximum\">\n <input matSliderStartThumb formControlName=\"min\" (change)=\"change()\">\n <input matSliderEndThumb formControlName=\"max\" (change)=\"change()\">\n </mat-slider>\n <div class=\"number\">\n <span>{{max > maximum ? max + '+' : max}}</span>\n </div>\n</div>\n", styles: [":host{width:100%;height:52px}:host .slider-wrapper{display:flex;justify-content:space-between;align-items:center;gap:var(--ref-spacing-xxs)}:host .slider-wrapper .slider{flex-grow:2}:host .slider-wrapper .slider .mat-slider-thumb{background-color:var(--ref-color-electric-blue-100)}:host .slider-wrapper .number{flex-shrink:0;display:flex;justify-content:center;align-items:center;width:46px;height:36px;border:1px solid var(--ref-color-grey-20);border-radius:3px}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__thumb--focused .mdc-slider__thumb-knob{background-color:var(--ref-color-white);border:3px solid var(--ref-color-electric-blue-100)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__thumb-knob{background-color:var(--ref-color-white);border:3px solid var(--ref-color-electric-blue-100);width:var(--ref-spacing-md);height:var(--ref-spacing-md)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--active_fill{border-color:var(--ref-color-electric-blue-150)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--active{height:var(--ref-spacing-xxxs)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--inactive{background-color:var(--ref-color-grey-20)}\n"] }]
150
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { min: [{
151
+ type: Input
152
+ }], max: [{
153
+ type: Input
154
+ }] } });
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9yYW5nZS1zbGlkZXIvc3JjL3JhbmdlLXNsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcmFuZ2Utc2xpZGVyL3NyYy9yYW5nZS1zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQU1ILGFBQWEsRUFDYixpQkFBaUIsRUFDakIsbUJBQW1CLEVBSW5CLFVBQVUsRUFDYixNQUFNLGdCQUFnQixDQUFDOzs7O0FBNkJ4QixNQUFNLE9BQU8sb0JBQW9CO0lBNEJUO0lBM0JwQixJQUNJLEdBQUcsQ0FBQyxHQUFXO1FBQ2YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDakIsQ0FBQztJQUVELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFDSSxHQUFHLENBQUMsR0FBVztRQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ2pCLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELG9C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cm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIEZvcm1CdWlsZGVyLFxuICAgIEZvcm1Db250cm9sLFxuICAgIEZvcm1Hcm91cCxcbiAgICBOR19WQUxJREFUT1JTLFxuICAgIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVmFsaWRhdGlvbkVycm9ycyxcbiAgICBWYWxpZGF0b3IsXG4gICAgVmFsaWRhdG9yRm4sXG4gICAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCB0eXBlIFJhbmdlU2xpZGVyID0geyBtaW46IG51bWJlciwgbWF4OiBudW1iZXIgfTtcbnR5cGUgUmFuZ2VGb3JtVmFsdWUgPSB7XG4gICAgbWluaW11bTogbnVtYmVyLFxuICAgIG1heGltdW06IG51bWJlcixcbiAgICBtaW46IG51bWJlcixcbiAgICBtYXg6IG51bWJlcixcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtcmFuZ2Utc2xpZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYW5nZS1zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBNYXRTbGlkZXJNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhbmdlU2xpZGVyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFuZ2VTbGlkZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlU2xpZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XG4gICAgQElucHV0KClcbiAgICBzZXQgbWluKG1pbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubWluaW11bUZvcm1Db250cm9sLnNldFZhbHVlKG1pbik7XG4gICAgICAgIHRoaXMuY2hhbmdlKClcbiAgICB9XG5cbiAgICBnZXQgbWluKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbkZvcm1Db250cm9sLmdldFJhd1ZhbHVlKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgbWF4KG1heDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubWF4aW11bUZvcm1Db250cm9sLnNldFZhbHVlKG1heCk7XG4gICAgICAgIHRoaXMuY2hhbmdlKClcbiAgICB9XG5cbiAgICBnZXQgbWF4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heEZvcm1Db250cm9sLmdldFJhd1ZhbHVlKCk7XG4gICAgfVxuXG4gICAgcmFuZ2VTbGlkZXJGb3JtR3JvdXA6IEZvcm1Hcm91cDx7XG4gICAgICAgIG1heGltdW06IEZvcm1Db250cm9sPG51bWJlcj47XG4gICAgICAgIG1pbmltdW06IEZvcm1Db250cm9sPG51bWJlcj47XG4gICAgICAgIG1pbjogRm9ybUNvbnRyb2w8bnVtYmVyIHwgdW5kZWZpbmVkPjtcbiAgICAgICAgbWF4OiBGb3JtQ29udHJvbDxudW1iZXIgfCB1bmRlZmluZWQ+O1xuICAgIH0+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgICAgICAgY29uc3QgbWluaW11bVZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICAgICAgbGV0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuICAgICAgICAgICAgY29uc3QgcmFuZ2VGb3JtVmFsdWUgPSBjb250cm9sLmdldFJhd1ZhbHVlKCkgYXMgUmFuZ2VGb3JtVmFsdWU7XG4gICAgICAgICAgICBpZiAocmFuZ2VGb3JtVmFsdWUubWluICYmIHJhbmdlRm9ybVZhbHVlLm1pbmltdW0gJiYgKHJhbmdlRm9ybVZhbHVlLm1pbiA8IHJhbmdlRm9ybVZhbHVlLm1pbmltdW0pKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JzID0ge1xuICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRXJyb3I6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkTWluOiByYW5nZUZvcm1WYWx1ZS5taW5pbXVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudE1pbjogcmFuZ2VGb3JtVmFsdWUubWluXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZXJyb3JzO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWluaW11bVJlcXVpcmVkVmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBsZXQgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG4gICAgICAgICAgICBjb25zdCByYW5nZUZvcm1WYWx1ZSA9IGNvbnRyb2wuZ2V0UmF3VmFsdWUoKSBhcyBSYW5nZUZvcm1WYWx1ZTtcbiAgICAgICAgICAgIGlmIChyYW5nZUZvcm1WYWx1ZS5taW4gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JzID0ge1xuICAgICAgICAgICAgICAgICAgICBtaW5pbXVtUmVxdWlyZWQ6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZXJyb3JzO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF4aW11bVZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICAgICAgbGV0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuICAgICAgICAgICAgY29uc3QgcmFuZ2VGb3JtVmFsdWUgPSBjb250cm9sLmdldFJhd1ZhbHVlKCkgYXMgUmFuZ2VGb3JtVmFsdWU7XG4gICAgICAgICAgICBpZiAocmFuZ2VGb3JtVmFsdWUubWF4ICYmIHJhbmdlRm9ybVZhbHVlLm1heGltdW0gJiYgKHJhbmdlRm9ybVZhbHVlLm1heCA+IHJhbmdlRm9ybVZhbHVlLm1heGltdW0pKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JzID0ge1xuICAgICAgICAgICAgICAgICAgICBtYXhpbXVtRXJyb3I6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkTWF4OiByYW5nZUZvcm1WYWx1ZS5tYXhpbXVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudE1heDogcmFuZ2VGb3JtVmFsdWUubWF4XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZXJyb3JzO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF4aW11bVJlcXVpcmVkVmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBsZXQgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG4gICAgICAgICAgICBjb25zdCByYW5nZUZvcm1WYWx1ZSA9IGNvbnRyb2wuZ2V0UmF3VmFsdWUoKSBhcyBSYW5nZUZvcm1WYWx1ZTtcbiAgICAgICAgICAgIGlmIChyYW5nZUZvcm1WYWx1ZS5tYXggPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JzID0ge1xuICAgICAgICAgICAgICAgICAgICBtYXhpbXVtUmVxdWlyZWQ6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZXJyb3JzO1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMucmFuZ2VTbGlkZXJGb3JtR3JvdXAgPSBmYi5ncm91cCh7XG4gICAgICAgICAgICBtYXhpbXVtOiBmYi5jb250cm9sKDAsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgICAgICBtaW5pbXVtOiBmYi5jb250cm9sKDEwMCwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSxcbiAgICAgICAgICAgIG1pbjogZmIuY29udHJvbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSxcbiAgICAgICAgICAgIG1heDogZmIuY29udHJvbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSxcbiAgICAgICAgfSwgeyB2YWxpZGF0b3JzOiBWYWxpZGF0b3JzLmNvbXBvc2UoW21pbmltdW1SZXF1aXJlZFZhbGlkYXRvciwgbWF4aW11bVJlcXVpcmVkVmFsaWRhdG9yLCBtaW5pbXVtVmFsaWRhdG9yLCBtYXhpbXVtVmFsaWRhdG9yXSkgfSlcbiAgICB9XG5cbiAgICBwcm9wYWdhdGVDaGFuZ2U6ICgodjogUmFuZ2VTbGlkZXIpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcm9wYWdhdGVPblRvdWNoOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2OiBSYW5nZVNsaWRlcikgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlT25Ub3VjaCA9IGZuXG4gICAgfVxuXG4gICAgZ2V0IG1pbmltdW0oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluaW11bUZvcm1Db250cm9sLmdldFJhd1ZhbHVlKCk7XG4gICAgfVxuXG4gICAgZ2V0IG1heGltdW0oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4aW11bUZvcm1Db250cm9sLmdldFJhd1ZhbHVlKCk7XG4gICAgfVxuXG4gICAgZ2V0IG1pbkZvcm1Db250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2VTbGlkZXJGb3JtR3JvdXAuY29udHJvbHMubWluO1xuICAgIH1cblxuICAgIGdldCBtaW5pbXVtRm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5yYW5nZVNsaWRlckZvcm1Hcm91cC5jb250cm9scy5taW5pbXVtO1xuICAgIH1cblxuICAgIGdldCBtYXhpbXVtRm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5yYW5nZVNsaWRlckZvcm1Hcm91cC5jb250cm9scy5tYXhpbXVtO1xuICAgIH1cblxuICAgIGdldCBtYXhGb3JtQ29udHJvbCgpOiBGb3JtQ29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnJhbmdlU2xpZGVyRm9ybUdyb3VwLmNvbnRyb2xzLm1heDtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKGlucHV0UmFuZ2U6IFJhbmdlU2xpZGVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWluRm9ybUNvbnRyb2wuc2V0VmFsdWUoaW5wdXRSYW5nZS5taW4pXG4gICAgICAgIHRoaXMubWF4Rm9ybUNvbnRyb2wuc2V0VmFsdWUoaW5wdXRSYW5nZS5tYXgpXG4gICAgfVxuXG4gICAgY2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wcm9wYWdhdGVDaGFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMucmFuZ2VTbGlkZXJGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHtcbiAgICAgICAgICAgICAgICBtaW46IGZvcm1WYWx1ZS5taW4sXG4gICAgICAgICAgICAgICAgbWF4OiBmb3JtVmFsdWUubWF4XG4gICAgICAgICAgICB9IGFzIFJhbmdlU2xpZGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhbGlkYXRlKCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2VTbGlkZXJGb3JtR3JvdXAuZXJyb3JzO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzbGlkZXItd3JhcHBlclwiIFtmb3JtR3JvdXBdPVwicmFuZ2VTbGlkZXJGb3JtR3JvdXBcIj5cbiAgICA8ZGl2IGNsYXNzPVwibnVtYmVyXCI+PHNwYW4+e3ttaW59fTwvc3Bhbj48L2Rpdj5cbiAgICA8bWF0LXNsaWRlciBjbGFzcz1cInNsaWRlclwiIFttaW5dPVwibWluaW11bVwiIFttYXhdPVwibWF4aW11bVwiPlxuICAgICAgICA8aW5wdXQgbWF0U2xpZGVyU3RhcnRUaHVtYiBmb3JtQ29udHJvbE5hbWU9XCJtaW5cIiAoY2hhbmdlKT1cImNoYW5nZSgpXCI+XG4gICAgICAgIDxpbnB1dCBtYXRTbGlkZXJFbmRUaHVtYiBmb3JtQ29udHJvbE5hbWU9XCJtYXhcIiAoY2hhbmdlKT1cImNoYW5nZSgpXCI+XG4gICAgPC9tYXQtc2xpZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJudW1iZXJcIj5cbiAgICAgICAgPHNwYW4+e3ttYXggPiBtYXhpbXVtID8gbWF4ICsgJysnIDogbWF4fX08L3NwYW4+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdvcmFwdWxzZS11aS1jb21wb25lbnRzLXNlbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL2Fnb3JhcHVsc2UtdWktY29tcG9uZW50cy1zZWxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,78 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { NgSelectModule } from '@ng-select/ng-select';
3
+ import { DropdownGroupItemComponent } from './dropdown-group-item/dropdown-group-item.component';
4
+ import { DropdownItemMultipleOneLineComponent } from './dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component';
5
+ import { DropdownItemMultipleTwoLinesComponent } from './dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component';
6
+ import { DropdownItemSingleOneLineComponent } from './dropdown-item-single-one-line/dropdown-item-single-one-line.component';
7
+ import { DropdownItemSingleTwoLinesComponent } from './dropdown-item-single-two-lines/dropdown-item-single-two-lines.component';
8
+ import { DropdownSearchFormComponent } from './dropdown-search-form/dropdown-search-form.component';
9
+ import { SelectLabelMultipleComponent } from './select-label-multiple/select-label-multiple.component';
10
+ import { SelectLabelSingleComponent } from './select-label-single/select-label-single.component';
11
+ import { SelectMultipleDirective } from './select-multiple.directive';
12
+ import { SelectSingleDirective } from './select-single.directive';
13
+ import * as i0 from "@angular/core";
14
+ export class ApSelectModule {
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: ApSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: ApSelectModule, imports: [SelectMultipleDirective,
17
+ SelectSingleDirective,
18
+ DropdownItemSingleOneLineComponent,
19
+ DropdownItemSingleTwoLinesComponent,
20
+ DropdownItemMultipleOneLineComponent,
21
+ DropdownItemMultipleTwoLinesComponent,
22
+ SelectLabelSingleComponent,
23
+ SelectLabelMultipleComponent,
24
+ DropdownSearchFormComponent,
25
+ DropdownGroupItemComponent,
26
+ NgSelectModule], exports: [SelectMultipleDirective,
27
+ SelectSingleDirective,
28
+ DropdownItemSingleOneLineComponent,
29
+ DropdownItemSingleTwoLinesComponent,
30
+ DropdownItemMultipleOneLineComponent,
31
+ DropdownItemMultipleTwoLinesComponent,
32
+ SelectLabelSingleComponent,
33
+ SelectLabelMultipleComponent,
34
+ DropdownSearchFormComponent,
35
+ DropdownGroupItemComponent,
36
+ NgSelectModule] });
37
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: ApSelectModule, imports: [DropdownItemSingleOneLineComponent,
38
+ DropdownItemSingleTwoLinesComponent,
39
+ DropdownItemMultipleOneLineComponent,
40
+ DropdownItemMultipleTwoLinesComponent,
41
+ SelectLabelSingleComponent,
42
+ SelectLabelMultipleComponent,
43
+ DropdownSearchFormComponent,
44
+ DropdownGroupItemComponent,
45
+ NgSelectModule, NgSelectModule] });
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: ApSelectModule, decorators: [{
48
+ type: NgModule,
49
+ args: [{
50
+ imports: [
51
+ SelectMultipleDirective,
52
+ SelectSingleDirective,
53
+ DropdownItemSingleOneLineComponent,
54
+ DropdownItemSingleTwoLinesComponent,
55
+ DropdownItemMultipleOneLineComponent,
56
+ DropdownItemMultipleTwoLinesComponent,
57
+ SelectLabelSingleComponent,
58
+ SelectLabelMultipleComponent,
59
+ DropdownSearchFormComponent,
60
+ DropdownGroupItemComponent,
61
+ NgSelectModule,
62
+ ],
63
+ exports: [
64
+ SelectMultipleDirective,
65
+ SelectSingleDirective,
66
+ DropdownItemSingleOneLineComponent,
67
+ DropdownItemSingleTwoLinesComponent,
68
+ DropdownItemMultipleOneLineComponent,
69
+ DropdownItemMultipleTwoLinesComponent,
70
+ SelectLabelSingleComponent,
71
+ SelectLabelMultipleComponent,
72
+ DropdownSearchFormComponent,
73
+ DropdownGroupItemComponent,
74
+ NgSelectModule,
75
+ ],
76
+ }]
77
+ }] });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXAtc2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL2FwLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDbkksT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDdEksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDN0gsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUFDaEksT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBOEJsRSxNQUFNLE9BQU8sY0FBYzt3R0FBZCxjQUFjO3lHQUFkLGNBQWMsWUExQm5CLHVCQUF1QjtZQUN2QixxQkFBcUI7WUFDckIsa0NBQWtDO1lBQ2xDLG1DQUFtQztZQUNuQyxvQ0FBb0M7WUFDcEMscUNBQXFDO1lBQ3JDLDBCQUEwQjtZQUMxQiw0QkFBNEI7WUFDNUIsMkJBQTJCO1lBQzNCLDBCQUEwQjtZQUMxQixjQUFjLGFBR2QsdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQixrQ0FBa0M7WUFDbEMsbUNBQW1DO1lBQ25DLG9DQUFvQztZQUNwQyxxQ0FBcUM7WUFDckMsMEJBQTBCO1lBQzFCLDRCQUE0QjtZQUM1QiwyQkFBMkI7WUFDM0IsMEJBQTBCO1lBQzFCLGNBQWM7eUdBR1QsY0FBYyxZQXhCbkIsa0NBQWtDO1lBQ2xDLG1DQUFtQztZQUNuQyxvQ0FBb0M7WUFDcEMscUNBQXFDO1lBQ3JDLDBCQUEwQjtZQUMxQiw0QkFBNEI7WUFDNUIsMkJBQTJCO1lBQzNCLDBCQUEwQjtZQUMxQixjQUFjLEVBYWQsY0FBYzs7NEZBR1QsY0FBYztrQkE1QjFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixrQ0FBa0M7d0JBQ2xDLG1DQUFtQzt3QkFDbkMsb0NBQW9DO3dCQUNwQyxxQ0FBcUM7d0JBQ3JDLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsY0FBYztxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixrQ0FBa0M7d0JBQ2xDLG1DQUFtQzt3QkFDbkMsb0NBQW9DO3dCQUNwQyxxQ0FBcUM7d0JBQ3JDLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsY0FBYztxQkFDakI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQgeyBEcm9wZG93bkdyb3VwSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tZ3JvdXAtaXRlbS9kcm9wZG93bi1ncm91cC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wZG93bkl0ZW1NdWx0aXBsZU9uZUxpbmVDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0tbXVsdGlwbGUtb25lLWxpbmUvZHJvcGRvd24taXRlbS1tdWx0aXBsZS1vbmUtbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25JdGVtTXVsdGlwbGVUd29MaW5lc0NvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24taXRlbS1tdWx0aXBsZS10d28tbGluZXMvZHJvcGRvd24taXRlbS1tdWx0aXBsZS10d28tbGluZXMuY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duSXRlbVNpbmdsZU9uZUxpbmVDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0tc2luZ2xlLW9uZS1saW5lL2Ryb3Bkb3duLWl0ZW0tc2luZ2xlLW9uZS1saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wZG93bkl0ZW1TaW5nbGVUd29MaW5lc0NvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24taXRlbS1zaW5nbGUtdHdvLWxpbmVzL2Ryb3Bkb3duLWl0ZW0tc2luZ2xlLXR3by1saW5lcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25TZWFyY2hGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1zZWFyY2gtZm9ybS9kcm9wZG93bi1zZWFyY2gtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0TGFiZWxNdWx0aXBsZUNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWxhYmVsLW11bHRpcGxlL3NlbGVjdC1sYWJlbC1tdWx0aXBsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0TGFiZWxTaW5nbGVDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1sYWJlbC1zaW5nbGUvc2VsZWN0LWxhYmVsLXNpbmdsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0TXVsdGlwbGVEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1tdWx0aXBsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0U2luZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3Qtc2luZ2xlLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBTZWxlY3RNdWx0aXBsZURpcmVjdGl2ZSxcbiAgICAgICAgU2VsZWN0U2luZ2xlRGlyZWN0aXZlLFxuICAgICAgICBEcm9wZG93bkl0ZW1TaW5nbGVPbmVMaW5lQ29tcG9uZW50LFxuICAgICAgICBEcm9wZG93bkl0ZW1TaW5nbGVUd29MaW5lc0NvbXBvbmVudCxcbiAgICAgICAgRHJvcGRvd25JdGVtTXVsdGlwbGVPbmVMaW5lQ29tcG9uZW50LFxuICAgICAgICBEcm9wZG93bkl0ZW1NdWx0aXBsZVR3b0xpbmVzQ29tcG9uZW50LFxuICAgICAgICBTZWxlY3RMYWJlbFNpbmdsZUNvbXBvbmVudCxcbiAgICAgICAgU2VsZWN0TGFiZWxNdWx0aXBsZUNvbXBvbmVudCxcbiAgICAgICAgRHJvcGRvd25TZWFyY2hGb3JtQ29tcG9uZW50LFxuICAgICAgICBEcm9wZG93bkdyb3VwSXRlbUNvbXBvbmVudCxcbiAgICAgICAgTmdTZWxlY3RNb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFNlbGVjdE11bHRpcGxlRGlyZWN0aXZlLFxuICAgICAgICBTZWxlY3RTaW5nbGVEaXJlY3RpdmUsXG4gICAgICAgIERyb3Bkb3duSXRlbVNpbmdsZU9uZUxpbmVDb21wb25lbnQsXG4gICAgICAgIERyb3Bkb3duSXRlbVNpbmdsZVR3b0xpbmVzQ29tcG9uZW50LFxuICAgICAgICBEcm9wZG93bkl0ZW1NdWx0aXBsZU9uZUxpbmVDb21wb25lbnQsXG4gICAgICAgIERyb3Bkb3duSXRlbU11bHRpcGxlVHdvTGluZXNDb21wb25lbnQsXG4gICAgICAgIFNlbGVjdExhYmVsU2luZ2xlQ29tcG9uZW50LFxuICAgICAgICBTZWxlY3RMYWJlbE11bHRpcGxlQ29tcG9uZW50LFxuICAgICAgICBEcm9wZG93blNlYXJjaEZvcm1Db21wb25lbnQsXG4gICAgICAgIERyb3Bkb3duR3JvdXBJdGVtQ29tcG9uZW50LFxuICAgICAgICBOZ1NlbGVjdE1vZHVsZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBcFNlbGVjdE1vZHVsZSB7fVxuIl19