@wawjs/ngx-prime 22.0.4 → 22.0.6

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 (375) hide show
  1. package/fesm2022/wawjs-ngx-prime-accordion.mjs +68 -210
  2. package/fesm2022/wawjs-ngx-prime-accordion.mjs.map +1 -1
  3. package/fesm2022/wawjs-ngx-prime-animateonscroll.mjs +7 -7
  4. package/fesm2022/wawjs-ngx-prime-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/wawjs-ngx-prime-api.mjs +31 -31
  6. package/fesm2022/wawjs-ngx-prime-api.mjs.map +1 -1
  7. package/fesm2022/wawjs-ngx-prime-autocomplete.mjs +10 -10
  8. package/fesm2022/wawjs-ngx-prime-autocomplete.mjs.map +1 -1
  9. package/fesm2022/wawjs-ngx-prime-autofocus.mjs +7 -7
  10. package/fesm2022/wawjs-ngx-prime-autofocus.mjs.map +1 -1
  11. package/fesm2022/wawjs-ngx-prime-avatar.mjs +14 -14
  12. package/fesm2022/wawjs-ngx-prime-avatar.mjs.map +1 -1
  13. package/fesm2022/wawjs-ngx-prime-avatargroup.mjs +27 -12
  14. package/fesm2022/wawjs-ngx-prime-avatargroup.mjs.map +1 -1
  15. package/fesm2022/wawjs-ngx-prime-badge.mjs +58 -16
  16. package/fesm2022/wawjs-ngx-prime-badge.mjs.map +1 -1
  17. package/fesm2022/wawjs-ngx-prime-base.mjs +3 -3
  18. package/fesm2022/wawjs-ngx-prime-base.mjs.map +1 -1
  19. package/fesm2022/wawjs-ngx-prime-basecomponent.mjs +6 -6
  20. package/fesm2022/wawjs-ngx-prime-basecomponent.mjs.map +1 -1
  21. package/fesm2022/wawjs-ngx-prime-baseeditableholder.mjs +3 -3
  22. package/fesm2022/wawjs-ngx-prime-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/wawjs-ngx-prime-baseinput.mjs +3 -3
  24. package/fesm2022/wawjs-ngx-prime-baseinput.mjs.map +1 -1
  25. package/fesm2022/wawjs-ngx-prime-basemodelholder.mjs +3 -3
  26. package/fesm2022/wawjs-ngx-prime-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/wawjs-ngx-prime-bind.mjs +7 -7
  28. package/fesm2022/wawjs-ngx-prime-bind.mjs.map +1 -1
  29. package/fesm2022/wawjs-ngx-prime-blockui.mjs +28 -10
  30. package/fesm2022/wawjs-ngx-prime-blockui.mjs.map +1 -1
  31. package/fesm2022/wawjs-ngx-prime-breadcrumb.mjs +25 -21
  32. package/fesm2022/wawjs-ngx-prime-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/wawjs-ngx-prime-button.mjs +30 -20
  34. package/fesm2022/wawjs-ngx-prime-button.mjs.map +1 -1
  35. package/fesm2022/wawjs-ngx-prime-buttongroup.mjs +26 -14
  36. package/fesm2022/wawjs-ngx-prime-buttongroup.mjs.map +1 -1
  37. package/fesm2022/wawjs-ngx-prime-buylicense.mjs +11 -11
  38. package/fesm2022/wawjs-ngx-prime-buylicense.mjs.map +1 -1
  39. package/fesm2022/wawjs-ngx-prime-card.mjs +10 -10
  40. package/fesm2022/wawjs-ngx-prime-card.mjs.map +1 -1
  41. package/fesm2022/wawjs-ngx-prime-carousel.mjs +49 -11
  42. package/fesm2022/wawjs-ngx-prime-carousel.mjs.map +1 -1
  43. package/fesm2022/wawjs-ngx-prime-cascadeselect.mjs +13 -13
  44. package/fesm2022/wawjs-ngx-prime-cascadeselect.mjs.map +1 -1
  45. package/fesm2022/wawjs-ngx-prime-chart.mjs +67 -10
  46. package/fesm2022/wawjs-ngx-prime-chart.mjs.map +1 -1
  47. package/fesm2022/wawjs-ngx-prime-checkbox.mjs +21 -19
  48. package/fesm2022/wawjs-ngx-prime-checkbox.mjs.map +1 -1
  49. package/fesm2022/wawjs-ngx-prime-chip.mjs +16 -10
  50. package/fesm2022/wawjs-ngx-prime-chip.mjs.map +1 -1
  51. package/fesm2022/wawjs-ngx-prime-classnames.mjs +7 -7
  52. package/fesm2022/wawjs-ngx-prime-classnames.mjs.map +1 -1
  53. package/fesm2022/wawjs-ngx-prime-colorpicker.mjs +153 -20
  54. package/fesm2022/wawjs-ngx-prime-colorpicker.mjs.map +1 -1
  55. package/fesm2022/wawjs-ngx-prime-config.mjs +9 -9
  56. package/fesm2022/wawjs-ngx-prime-config.mjs.map +1 -1
  57. package/fesm2022/wawjs-ngx-prime-confirmdialog.mjs +14 -14
  58. package/fesm2022/wawjs-ngx-prime-confirmdialog.mjs.map +1 -1
  59. package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs +13 -10
  60. package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs.map +1 -1
  61. package/fesm2022/wawjs-ngx-prime-contextmenu.mjs +14 -14
  62. package/fesm2022/wawjs-ngx-prime-contextmenu.mjs.map +1 -1
  63. package/fesm2022/wawjs-ngx-prime-dataview.mjs +10 -10
  64. package/fesm2022/wawjs-ngx-prime-dataview.mjs.map +1 -1
  65. package/fesm2022/wawjs-ngx-prime-datepicker.mjs +16 -16
  66. package/fesm2022/wawjs-ngx-prime-datepicker.mjs.map +1 -1
  67. package/fesm2022/wawjs-ngx-prime-dialog.mjs +21 -10
  68. package/fesm2022/wawjs-ngx-prime-dialog.mjs.map +1 -1
  69. package/fesm2022/wawjs-ngx-prime-divider.mjs +10 -10
  70. package/fesm2022/wawjs-ngx-prime-divider.mjs.map +1 -1
  71. package/fesm2022/wawjs-ngx-prime-dock.mjs +11 -11
  72. package/fesm2022/wawjs-ngx-prime-dock.mjs.map +1 -1
  73. package/fesm2022/wawjs-ngx-prime-dom.mjs.map +1 -1
  74. package/fesm2022/wawjs-ngx-prime-dragdrop.mjs +10 -10
  75. package/fesm2022/wawjs-ngx-prime-dragdrop.mjs.map +1 -1
  76. package/fesm2022/wawjs-ngx-prime-drawer.mjs +40 -13
  77. package/fesm2022/wawjs-ngx-prime-drawer.mjs.map +1 -1
  78. package/fesm2022/wawjs-ngx-prime-dynamicdialog.mjs +16 -16
  79. package/fesm2022/wawjs-ngx-prime-dynamicdialog.mjs.map +1 -1
  80. package/fesm2022/wawjs-ngx-prime-editor.mjs +29 -11
  81. package/fesm2022/wawjs-ngx-prime-editor.mjs.map +1 -1
  82. package/fesm2022/wawjs-ngx-prime-fieldset.mjs +12 -12
  83. package/fesm2022/wawjs-ngx-prime-fieldset.mjs.map +1 -1
  84. package/fesm2022/wawjs-ngx-prime-fileupload.mjs +40 -40
  85. package/fesm2022/wawjs-ngx-prime-fileupload.mjs.map +1 -1
  86. package/fesm2022/wawjs-ngx-prime-floatlabel.mjs +10 -10
  87. package/fesm2022/wawjs-ngx-prime-floatlabel.mjs.map +1 -1
  88. package/fesm2022/wawjs-ngx-prime-fluid.mjs +10 -10
  89. package/fesm2022/wawjs-ngx-prime-fluid.mjs.map +1 -1
  90. package/fesm2022/wawjs-ngx-prime-focustrap.mjs +7 -7
  91. package/fesm2022/wawjs-ngx-prime-focustrap.mjs.map +1 -1
  92. package/fesm2022/wawjs-ngx-prime-galleria.mjs +51 -24
  93. package/fesm2022/wawjs-ngx-prime-galleria.mjs.map +1 -1
  94. package/fesm2022/wawjs-ngx-prime-icon.mjs +11 -11
  95. package/fesm2022/wawjs-ngx-prime-icon.mjs.map +1 -1
  96. package/fesm2022/wawjs-ngx-prime-iconfield.mjs +10 -10
  97. package/fesm2022/wawjs-ngx-prime-iconfield.mjs.map +1 -1
  98. package/fesm2022/wawjs-ngx-prime-icons-angledoubledown.mjs +3 -3
  99. package/fesm2022/wawjs-ngx-prime-icons-angledoubledown.mjs.map +1 -1
  100. package/fesm2022/wawjs-ngx-prime-icons-angledoubleleft.mjs +3 -3
  101. package/fesm2022/wawjs-ngx-prime-icons-angledoubleleft.mjs.map +1 -1
  102. package/fesm2022/wawjs-ngx-prime-icons-angledoubleright.mjs +3 -3
  103. package/fesm2022/wawjs-ngx-prime-icons-angledoubleright.mjs.map +1 -1
  104. package/fesm2022/wawjs-ngx-prime-icons-angledoubleup.mjs +3 -3
  105. package/fesm2022/wawjs-ngx-prime-icons-angledoubleup.mjs.map +1 -1
  106. package/fesm2022/wawjs-ngx-prime-icons-angledown.mjs +3 -3
  107. package/fesm2022/wawjs-ngx-prime-icons-angledown.mjs.map +1 -1
  108. package/fesm2022/wawjs-ngx-prime-icons-angleleft.mjs +3 -3
  109. package/fesm2022/wawjs-ngx-prime-icons-angleleft.mjs.map +1 -1
  110. package/fesm2022/wawjs-ngx-prime-icons-angleright.mjs +3 -3
  111. package/fesm2022/wawjs-ngx-prime-icons-angleright.mjs.map +1 -1
  112. package/fesm2022/wawjs-ngx-prime-icons-angleup.mjs +3 -3
  113. package/fesm2022/wawjs-ngx-prime-icons-angleup.mjs.map +1 -1
  114. package/fesm2022/wawjs-ngx-prime-icons-arrowdown.mjs +3 -3
  115. package/fesm2022/wawjs-ngx-prime-icons-arrowdown.mjs.map +1 -1
  116. package/fesm2022/wawjs-ngx-prime-icons-arrowdownleft.mjs +3 -3
  117. package/fesm2022/wawjs-ngx-prime-icons-arrowdownleft.mjs.map +1 -1
  118. package/fesm2022/wawjs-ngx-prime-icons-arrowdownright.mjs +3 -3
  119. package/fesm2022/wawjs-ngx-prime-icons-arrowdownright.mjs.map +1 -1
  120. package/fesm2022/wawjs-ngx-prime-icons-arrowleft.mjs +3 -3
  121. package/fesm2022/wawjs-ngx-prime-icons-arrowleft.mjs.map +1 -1
  122. package/fesm2022/wawjs-ngx-prime-icons-arrowright.mjs +3 -3
  123. package/fesm2022/wawjs-ngx-prime-icons-arrowright.mjs.map +1 -1
  124. package/fesm2022/wawjs-ngx-prime-icons-arrowup.mjs +3 -3
  125. package/fesm2022/wawjs-ngx-prime-icons-arrowup.mjs.map +1 -1
  126. package/fesm2022/wawjs-ngx-prime-icons-ban.mjs +3 -3
  127. package/fesm2022/wawjs-ngx-prime-icons-ban.mjs.map +1 -1
  128. package/fesm2022/wawjs-ngx-prime-icons-bars.mjs +3 -3
  129. package/fesm2022/wawjs-ngx-prime-icons-bars.mjs.map +1 -1
  130. package/fesm2022/wawjs-ngx-prime-icons-baseicon.mjs +6 -6
  131. package/fesm2022/wawjs-ngx-prime-icons-baseicon.mjs.map +1 -1
  132. package/fesm2022/wawjs-ngx-prime-icons-blank.mjs +3 -3
  133. package/fesm2022/wawjs-ngx-prime-icons-blank.mjs.map +1 -1
  134. package/fesm2022/wawjs-ngx-prime-icons-calendar.mjs +3 -3
  135. package/fesm2022/wawjs-ngx-prime-icons-calendar.mjs.map +1 -1
  136. package/fesm2022/wawjs-ngx-prime-icons-caretleft.mjs +3 -3
  137. package/fesm2022/wawjs-ngx-prime-icons-caretleft.mjs.map +1 -1
  138. package/fesm2022/wawjs-ngx-prime-icons-caretright.mjs +3 -3
  139. package/fesm2022/wawjs-ngx-prime-icons-caretright.mjs.map +1 -1
  140. package/fesm2022/wawjs-ngx-prime-icons-check.mjs +3 -3
  141. package/fesm2022/wawjs-ngx-prime-icons-check.mjs.map +1 -1
  142. package/fesm2022/wawjs-ngx-prime-icons-chevrondown.mjs +3 -3
  143. package/fesm2022/wawjs-ngx-prime-icons-chevrondown.mjs.map +1 -1
  144. package/fesm2022/wawjs-ngx-prime-icons-chevronleft.mjs +3 -3
  145. package/fesm2022/wawjs-ngx-prime-icons-chevronleft.mjs.map +1 -1
  146. package/fesm2022/wawjs-ngx-prime-icons-chevronright.mjs +3 -3
  147. package/fesm2022/wawjs-ngx-prime-icons-chevronright.mjs.map +1 -1
  148. package/fesm2022/wawjs-ngx-prime-icons-chevronup.mjs +3 -3
  149. package/fesm2022/wawjs-ngx-prime-icons-chevronup.mjs.map +1 -1
  150. package/fesm2022/wawjs-ngx-prime-icons-exclamationtriangle.mjs +3 -3
  151. package/fesm2022/wawjs-ngx-prime-icons-exclamationtriangle.mjs.map +1 -1
  152. package/fesm2022/wawjs-ngx-prime-icons-eye.mjs +3 -3
  153. package/fesm2022/wawjs-ngx-prime-icons-eye.mjs.map +1 -1
  154. package/fesm2022/wawjs-ngx-prime-icons-eyeslash.mjs +3 -3
  155. package/fesm2022/wawjs-ngx-prime-icons-eyeslash.mjs.map +1 -1
  156. package/fesm2022/wawjs-ngx-prime-icons-filter.mjs +3 -3
  157. package/fesm2022/wawjs-ngx-prime-icons-filter.mjs.map +1 -1
  158. package/fesm2022/wawjs-ngx-prime-icons-filterfill.mjs +3 -3
  159. package/fesm2022/wawjs-ngx-prime-icons-filterfill.mjs.map +1 -1
  160. package/fesm2022/wawjs-ngx-prime-icons-filterslash.mjs +3 -3
  161. package/fesm2022/wawjs-ngx-prime-icons-filterslash.mjs.map +1 -1
  162. package/fesm2022/wawjs-ngx-prime-icons-home.mjs +3 -3
  163. package/fesm2022/wawjs-ngx-prime-icons-home.mjs.map +1 -1
  164. package/fesm2022/wawjs-ngx-prime-icons-infocircle.mjs +3 -3
  165. package/fesm2022/wawjs-ngx-prime-icons-infocircle.mjs.map +1 -1
  166. package/fesm2022/wawjs-ngx-prime-icons-minus.mjs +3 -3
  167. package/fesm2022/wawjs-ngx-prime-icons-minus.mjs.map +1 -1
  168. package/fesm2022/wawjs-ngx-prime-icons-pencil.mjs +3 -3
  169. package/fesm2022/wawjs-ngx-prime-icons-pencil.mjs.map +1 -1
  170. package/fesm2022/wawjs-ngx-prime-icons-plus.mjs +3 -3
  171. package/fesm2022/wawjs-ngx-prime-icons-plus.mjs.map +1 -1
  172. package/fesm2022/wawjs-ngx-prime-icons-refresh.mjs +3 -3
  173. package/fesm2022/wawjs-ngx-prime-icons-refresh.mjs.map +1 -1
  174. package/fesm2022/wawjs-ngx-prime-icons-search.mjs +3 -3
  175. package/fesm2022/wawjs-ngx-prime-icons-search.mjs.map +1 -1
  176. package/fesm2022/wawjs-ngx-prime-icons-searchminus.mjs +3 -3
  177. package/fesm2022/wawjs-ngx-prime-icons-searchminus.mjs.map +1 -1
  178. package/fesm2022/wawjs-ngx-prime-icons-searchplus.mjs +3 -3
  179. package/fesm2022/wawjs-ngx-prime-icons-searchplus.mjs.map +1 -1
  180. package/fesm2022/wawjs-ngx-prime-icons-sortalt.mjs +3 -3
  181. package/fesm2022/wawjs-ngx-prime-icons-sortalt.mjs.map +1 -1
  182. package/fesm2022/wawjs-ngx-prime-icons-sortamountdown.mjs +3 -3
  183. package/fesm2022/wawjs-ngx-prime-icons-sortamountdown.mjs.map +1 -1
  184. package/fesm2022/wawjs-ngx-prime-icons-sortamountupalt.mjs +3 -3
  185. package/fesm2022/wawjs-ngx-prime-icons-sortamountupalt.mjs.map +1 -1
  186. package/fesm2022/wawjs-ngx-prime-icons-spinner.mjs +3 -3
  187. package/fesm2022/wawjs-ngx-prime-icons-spinner.mjs.map +1 -1
  188. package/fesm2022/wawjs-ngx-prime-icons-star.mjs +3 -3
  189. package/fesm2022/wawjs-ngx-prime-icons-star.mjs.map +1 -1
  190. package/fesm2022/wawjs-ngx-prime-icons-starfill.mjs +3 -3
  191. package/fesm2022/wawjs-ngx-prime-icons-starfill.mjs.map +1 -1
  192. package/fesm2022/wawjs-ngx-prime-icons-thlarge.mjs +3 -3
  193. package/fesm2022/wawjs-ngx-prime-icons-thlarge.mjs.map +1 -1
  194. package/fesm2022/wawjs-ngx-prime-icons-times.mjs +3 -3
  195. package/fesm2022/wawjs-ngx-prime-icons-times.mjs.map +1 -1
  196. package/fesm2022/wawjs-ngx-prime-icons-timescircle.mjs +3 -3
  197. package/fesm2022/wawjs-ngx-prime-icons-timescircle.mjs.map +1 -1
  198. package/fesm2022/wawjs-ngx-prime-icons-trash.mjs +3 -3
  199. package/fesm2022/wawjs-ngx-prime-icons-trash.mjs.map +1 -1
  200. package/fesm2022/wawjs-ngx-prime-icons-undo.mjs +3 -3
  201. package/fesm2022/wawjs-ngx-prime-icons-undo.mjs.map +1 -1
  202. package/fesm2022/wawjs-ngx-prime-icons-upload.mjs +3 -3
  203. package/fesm2022/wawjs-ngx-prime-icons-upload.mjs.map +1 -1
  204. package/fesm2022/wawjs-ngx-prime-icons-windowmaximize.mjs +3 -3
  205. package/fesm2022/wawjs-ngx-prime-icons-windowmaximize.mjs.map +1 -1
  206. package/fesm2022/wawjs-ngx-prime-icons-windowminimize.mjs +3 -3
  207. package/fesm2022/wawjs-ngx-prime-icons-windowminimize.mjs.map +1 -1
  208. package/fesm2022/wawjs-ngx-prime-iftalabel.mjs +10 -10
  209. package/fesm2022/wawjs-ngx-prime-iftalabel.mjs.map +1 -1
  210. package/fesm2022/wawjs-ngx-prime-image.mjs +12 -10
  211. package/fesm2022/wawjs-ngx-prime-image.mjs.map +1 -1
  212. package/fesm2022/wawjs-ngx-prime-imagecompare.mjs +35 -16
  213. package/fesm2022/wawjs-ngx-prime-imagecompare.mjs.map +1 -1
  214. package/fesm2022/wawjs-ngx-prime-inplace.mjs +19 -19
  215. package/fesm2022/wawjs-ngx-prime-inplace.mjs.map +1 -1
  216. package/fesm2022/wawjs-ngx-prime-inputgroup.mjs +10 -10
  217. package/fesm2022/wawjs-ngx-prime-inputgroup.mjs.map +1 -1
  218. package/fesm2022/wawjs-ngx-prime-inputgroupaddon.mjs +10 -10
  219. package/fesm2022/wawjs-ngx-prime-inputgroupaddon.mjs.map +1 -1
  220. package/fesm2022/wawjs-ngx-prime-inputicon.mjs +10 -10
  221. package/fesm2022/wawjs-ngx-prime-inputicon.mjs.map +1 -1
  222. package/fesm2022/wawjs-ngx-prime-inputmask.mjs +24 -14
  223. package/fesm2022/wawjs-ngx-prime-inputmask.mjs.map +1 -1
  224. package/fesm2022/wawjs-ngx-prime-inputnumber.mjs +16 -13
  225. package/fesm2022/wawjs-ngx-prime-inputnumber.mjs.map +1 -1
  226. package/fesm2022/wawjs-ngx-prime-inputotp.mjs +42 -12
  227. package/fesm2022/wawjs-ngx-prime-inputotp.mjs.map +1 -1
  228. package/fesm2022/wawjs-ngx-prime-inputtext.mjs +11 -10
  229. package/fesm2022/wawjs-ngx-prime-inputtext.mjs.map +1 -1
  230. package/fesm2022/wawjs-ngx-prime-keyfilter.mjs +7 -7
  231. package/fesm2022/wawjs-ngx-prime-keyfilter.mjs.map +1 -1
  232. package/fesm2022/wawjs-ngx-prime-knob.mjs +16 -10
  233. package/fesm2022/wawjs-ngx-prime-knob.mjs.map +1 -1
  234. package/fesm2022/wawjs-ngx-prime-link.mjs +6 -6
  235. package/fesm2022/wawjs-ngx-prime-link.mjs.map +1 -1
  236. package/fesm2022/wawjs-ngx-prime-listbox.mjs +340 -122
  237. package/fesm2022/wawjs-ngx-prime-listbox.mjs.map +1 -1
  238. package/fesm2022/wawjs-ngx-prime-megamenu.mjs +14 -14
  239. package/fesm2022/wawjs-ngx-prime-megamenu.mjs.map +1 -1
  240. package/fesm2022/wawjs-ngx-prime-menu.mjs +94 -133
  241. package/fesm2022/wawjs-ngx-prime-menu.mjs.map +1 -1
  242. package/fesm2022/wawjs-ngx-prime-menubar.mjs +17 -17
  243. package/fesm2022/wawjs-ngx-prime-menubar.mjs.map +1 -1
  244. package/fesm2022/wawjs-ngx-prime-message.mjs +10 -10
  245. package/fesm2022/wawjs-ngx-prime-message.mjs.map +1 -1
  246. package/fesm2022/wawjs-ngx-prime-metergroup.mjs +29 -14
  247. package/fesm2022/wawjs-ngx-prime-metergroup.mjs.map +1 -1
  248. package/fesm2022/wawjs-ngx-prime-motion.mjs +53 -16
  249. package/fesm2022/wawjs-ngx-prime-motion.mjs.map +1 -1
  250. package/fesm2022/wawjs-ngx-prime-multiselect.mjs +13 -13
  251. package/fesm2022/wawjs-ngx-prime-multiselect.mjs.map +1 -1
  252. package/fesm2022/wawjs-ngx-prime-orderlist.mjs +10 -10
  253. package/fesm2022/wawjs-ngx-prime-orderlist.mjs.map +1 -1
  254. package/fesm2022/wawjs-ngx-prime-organizationchart.mjs +91 -49
  255. package/fesm2022/wawjs-ngx-prime-organizationchart.mjs.map +1 -1
  256. package/fesm2022/wawjs-ngx-prime-overlay.mjs +10 -10
  257. package/fesm2022/wawjs-ngx-prime-overlay.mjs.map +1 -1
  258. package/fesm2022/wawjs-ngx-prime-overlaybadge.mjs +40 -14
  259. package/fesm2022/wawjs-ngx-prime-overlaybadge.mjs.map +1 -1
  260. package/fesm2022/wawjs-ngx-prime-paginator.mjs +13 -11
  261. package/fesm2022/wawjs-ngx-prime-paginator.mjs.map +1 -1
  262. package/fesm2022/wawjs-ngx-prime-panel.mjs +10 -12
  263. package/fesm2022/wawjs-ngx-prime-panel.mjs.map +1 -1
  264. package/fesm2022/wawjs-ngx-prime-panelmenu.mjs +16 -16
  265. package/fesm2022/wawjs-ngx-prime-panelmenu.mjs.map +1 -1
  266. package/fesm2022/wawjs-ngx-prime-passthrough.mjs.map +1 -1
  267. package/fesm2022/wawjs-ngx-prime-password.mjs +95 -36
  268. package/fesm2022/wawjs-ngx-prime-password.mjs.map +1 -1
  269. package/fesm2022/wawjs-ngx-prime-picklist.mjs +14 -14
  270. package/fesm2022/wawjs-ngx-prime-picklist.mjs.map +1 -1
  271. package/fesm2022/wawjs-ngx-prime-popover.mjs +20 -13
  272. package/fesm2022/wawjs-ngx-prime-popover.mjs.map +1 -1
  273. package/fesm2022/wawjs-ngx-prime-progressbar.mjs +29 -15
  274. package/fesm2022/wawjs-ngx-prime-progressbar.mjs.map +1 -1
  275. package/fesm2022/wawjs-ngx-prime-progressspinner.mjs +11 -11
  276. package/fesm2022/wawjs-ngx-prime-progressspinner.mjs.map +1 -1
  277. package/fesm2022/wawjs-ngx-prime-radiobutton.mjs +16 -16
  278. package/fesm2022/wawjs-ngx-prime-radiobutton.mjs.map +1 -1
  279. package/fesm2022/wawjs-ngx-prime-rating.mjs +21 -21
  280. package/fesm2022/wawjs-ngx-prime-rating.mjs.map +1 -1
  281. package/fesm2022/wawjs-ngx-prime-ripple.mjs +10 -10
  282. package/fesm2022/wawjs-ngx-prime-ripple.mjs.map +1 -1
  283. package/fesm2022/wawjs-ngx-prime-scroller.mjs +10 -10
  284. package/fesm2022/wawjs-ngx-prime-scroller.mjs.map +1 -1
  285. package/fesm2022/wawjs-ngx-prime-scrollpanel.mjs +20 -12
  286. package/fesm2022/wawjs-ngx-prime-scrollpanel.mjs.map +1 -1
  287. package/fesm2022/wawjs-ngx-prime-scrolltop.mjs +14 -14
  288. package/fesm2022/wawjs-ngx-prime-scrolltop.mjs.map +1 -1
  289. package/fesm2022/wawjs-ngx-prime-select.mjs +13 -13
  290. package/fesm2022/wawjs-ngx-prime-select.mjs.map +1 -1
  291. package/fesm2022/wawjs-ngx-prime-selectbutton.mjs +75 -71
  292. package/fesm2022/wawjs-ngx-prime-selectbutton.mjs.map +1 -1
  293. package/fesm2022/wawjs-ngx-prime-skeleton.mjs +22 -12
  294. package/fesm2022/wawjs-ngx-prime-skeleton.mjs.map +1 -1
  295. package/fesm2022/wawjs-ngx-prime-slider.mjs +26 -13
  296. package/fesm2022/wawjs-ngx-prime-slider.mjs.map +1 -1
  297. package/fesm2022/wawjs-ngx-prime-speeddial.mjs +10 -10
  298. package/fesm2022/wawjs-ngx-prime-speeddial.mjs.map +1 -1
  299. package/fesm2022/wawjs-ngx-prime-splitbutton.mjs +10 -10
  300. package/fesm2022/wawjs-ngx-prime-splitbutton.mjs.map +1 -1
  301. package/fesm2022/wawjs-ngx-prime-splitter.mjs +16 -12
  302. package/fesm2022/wawjs-ngx-prime-splitter.mjs.map +1 -1
  303. package/fesm2022/wawjs-ngx-prime-stepper.mjs +45 -43
  304. package/fesm2022/wawjs-ngx-prime-stepper.mjs.map +1 -1
  305. package/fesm2022/wawjs-ngx-prime-steps.mjs +14 -14
  306. package/fesm2022/wawjs-ngx-prime-steps.mjs.map +1 -1
  307. package/fesm2022/wawjs-ngx-prime-styleclass.mjs +7 -7
  308. package/fesm2022/wawjs-ngx-prime-styleclass.mjs.map +1 -1
  309. package/fesm2022/wawjs-ngx-prime-table.mjs +86 -86
  310. package/fesm2022/wawjs-ngx-prime-table.mjs.map +1 -1
  311. package/fesm2022/wawjs-ngx-prime-tabs.mjs +74 -185
  312. package/fesm2022/wawjs-ngx-prime-tabs.mjs.map +1 -1
  313. package/fesm2022/wawjs-ngx-prime-tag.mjs +14 -14
  314. package/fesm2022/wawjs-ngx-prime-tag.mjs.map +1 -1
  315. package/fesm2022/wawjs-ngx-prime-terminal.mjs +50 -16
  316. package/fesm2022/wawjs-ngx-prime-terminal.mjs.map +1 -1
  317. package/fesm2022/wawjs-ngx-prime-textarea.mjs +19 -11
  318. package/fesm2022/wawjs-ngx-prime-textarea.mjs.map +1 -1
  319. package/fesm2022/wawjs-ngx-prime-tieredmenu.mjs +13 -13
  320. package/fesm2022/wawjs-ngx-prime-tieredmenu.mjs.map +1 -1
  321. package/fesm2022/wawjs-ngx-prime-timeline.mjs +29 -14
  322. package/fesm2022/wawjs-ngx-prime-timeline.mjs.map +1 -1
  323. package/fesm2022/wawjs-ngx-prime-toast.mjs +13 -13
  324. package/fesm2022/wawjs-ngx-prime-toast.mjs.map +1 -1
  325. package/fesm2022/wawjs-ngx-prime-togglebutton.mjs +16 -13
  326. package/fesm2022/wawjs-ngx-prime-togglebutton.mjs.map +1 -1
  327. package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs +29 -15
  328. package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs.map +1 -1
  329. package/fesm2022/wawjs-ngx-prime-toolbar.mjs +15 -14
  330. package/fesm2022/wawjs-ngx-prime-toolbar.mjs.map +1 -1
  331. package/fesm2022/wawjs-ngx-prime-tooltip.mjs +13 -10
  332. package/fesm2022/wawjs-ngx-prime-tooltip.mjs.map +1 -1
  333. package/fesm2022/wawjs-ngx-prime-tree.mjs +13 -13
  334. package/fesm2022/wawjs-ngx-prime-tree.mjs.map +1 -1
  335. package/fesm2022/wawjs-ngx-prime-treeselect.mjs +10 -10
  336. package/fesm2022/wawjs-ngx-prime-treeselect.mjs.map +1 -1
  337. package/fesm2022/wawjs-ngx-prime-treetable.mjs +59 -59
  338. package/fesm2022/wawjs-ngx-prime-treetable.mjs.map +1 -1
  339. package/fesm2022/wawjs-ngx-prime-usestyle.mjs +3 -3
  340. package/fesm2022/wawjs-ngx-prime-usestyle.mjs.map +1 -1
  341. package/fesm2022/wawjs-ngx-prime-utils.mjs +19 -2
  342. package/fesm2022/wawjs-ngx-prime-utils.mjs.map +1 -1
  343. package/package.json +8 -7
  344. package/types/wawjs-ngx-prime-accordion.d.ts +31 -43
  345. package/types/wawjs-ngx-prime-avatargroup.d.ts +11 -1
  346. package/types/wawjs-ngx-prime-badge.d.ts +22 -2
  347. package/types/wawjs-ngx-prime-blockui.d.ts +4 -0
  348. package/types/wawjs-ngx-prime-buttongroup.d.ts +12 -2
  349. package/types/wawjs-ngx-prime-carousel.d.ts +4 -0
  350. package/types/wawjs-ngx-prime-chart.d.ts +1 -0
  351. package/types/wawjs-ngx-prime-chip.d.ts +1 -1
  352. package/types/wawjs-ngx-prime-colorpicker.d.ts +2 -0
  353. package/types/wawjs-ngx-prime-dialog.d.ts +4 -0
  354. package/types/wawjs-ngx-prime-drawer.d.ts +15 -1
  355. package/types/wawjs-ngx-prime-editor.d.ts +11 -1
  356. package/types/wawjs-ngx-prime-galleria.d.ts +3 -0
  357. package/types/wawjs-ngx-prime-inputmask.d.ts +6 -1
  358. package/types/wawjs-ngx-prime-inputotp.d.ts +14 -1
  359. package/types/wawjs-ngx-prime-listbox.d.ts +15 -0
  360. package/types/wawjs-ngx-prime-menu.d.ts +10 -11
  361. package/types/wawjs-ngx-prime-metergroup.d.ts +11 -1
  362. package/types/wawjs-ngx-prime-motion.d.ts +16 -0
  363. package/types/wawjs-ngx-prime-organizationchart.d.ts +11 -1
  364. package/types/wawjs-ngx-prime-overlaybadge.d.ts +6 -1
  365. package/types/wawjs-ngx-prime-password.d.ts +7 -0
  366. package/types/wawjs-ngx-prime-progressbar.d.ts +11 -1
  367. package/types/wawjs-ngx-prime-selectbutton.d.ts +26 -7
  368. package/types/wawjs-ngx-prime-skeleton.d.ts +7 -1
  369. package/types/wawjs-ngx-prime-tabs.d.ts +16 -42
  370. package/types/wawjs-ngx-prime-terminal.d.ts +11 -1
  371. package/types/wawjs-ngx-prime-textarea.d.ts +6 -1
  372. package/types/wawjs-ngx-prime-timeline.d.ts +11 -1
  373. package/types/wawjs-ngx-prime-toggleswitch.d.ts +8 -2
  374. package/types/wawjs-ngx-prime-toolbar.d.ts +4 -3
  375. package/types/wawjs-ngx-prime-utils.d.ts +14 -1
@@ -2,8 +2,8 @@ export * from '@wawjs/ngx-prime/types/selectbutton';
2
2
  import * as i3 from '@angular/common';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Injectable, inject, ElementRef, input, booleanAttribute, output, model, contentChildren, computed, forwardRef, Directive, InjectionToken, isDevMode, numberAttribute, ContentChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
6
- import * as i2 from '@angular/forms';
5
+ import { Injectable, inject, ElementRef, input, booleanAttribute, output, model, contentChildren, computed, effect, forwardRef, Directive, InjectionToken, isDevMode, numberAttribute, ContentChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
6
+ import * as i2$1 from '@angular/forms';
7
7
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
8
8
  import { equals, resolveFieldData } from '@wawjs/css-prime-utils';
9
9
  import { PrimeTemplate, SharedModule } from '@wawjs/ngx-prime/api';
@@ -14,6 +14,8 @@ import { Bind, BindModule } from '@wawjs/ngx-prime/bind';
14
14
  import { ToggleButtonStyle, ToggleButton } from '@wawjs/ngx-prime/togglebutton';
15
15
  import { style as style$1 } from '@wawjs/css-prime-styles/selectbutton';
16
16
  import { BaseStyle } from '@wawjs/ngx-prime/base';
17
+ import * as i2 from '@angular/aria/listbox';
18
+ import { Listbox, Option } from '@angular/aria/listbox';
17
19
 
18
20
  const style = /*css*/ `
19
21
  ${style$1}
@@ -38,10 +40,10 @@ class SelectButtonStyle extends BaseStyle {
38
40
  name = 'selectbutton';
39
41
  style = style;
40
42
  classes = classes;
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButtonStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
42
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButtonStyle });
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButtonStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
44
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButtonStyle });
43
45
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButtonStyle, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButtonStyle, decorators: [{
45
47
  type: Injectable
46
48
  }] });
47
49
  /**
@@ -67,7 +69,9 @@ class SelectButtonDirective extends BaseEditableHolder {
67
69
  _componentStyle = inject(SelectButtonStyle);
68
70
  element = inject(ElementRef);
69
71
  bindDirectiveInstance = inject(Bind, { self: true });
70
- multiple = input(false, { ...(ngDevMode ? { debugName: "multiple" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
72
+ /** The `ngListbox` instance applied to this component's host, forwarding `multiple` to `multi`. */
73
+ ariaListbox = inject(Listbox, { self: true });
74
+ multiple = this.ariaListbox.multi;
71
75
  allowEmpty = input(true, { ...(ngDevMode ? { debugName: "allowEmpty" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
72
76
  unselectable = input(false, { ...(ngDevMode ? { debugName: "unselectable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
73
77
  dataKey = input(/* @ts-ignore */
@@ -93,6 +97,35 @@ class SelectButtonDirective extends BaseEditableHolder {
93
97
  onAfterViewChecked() {
94
98
  this.bindDirectiveInstance.setAttrs(this.ptms(['group', 'root']));
95
99
  }
100
+ /** Keeps the aria listbox's internal `value` (array-shaped) mirrored to our own `value` model. */
101
+ syncAriaValueEffect = effect(() => {
102
+ const value = this.value();
103
+ const arr = this.multiple() ? (value ?? []) : value == null ? [] : [value];
104
+ if (!this.sameAsAriaValue(arr)) {
105
+ this.ariaListbox.value.set(arr);
106
+ }
107
+ }, /* @ts-ignore */
108
+ ...(ngDevMode ? [{ debugName: "syncAriaValueEffect" }] : /* istanbul ignore next */ []));
109
+ /**
110
+ * Propagates keyboard-driven selection (arrow-key "follow focus" in single-select mode,
111
+ * handled internally by `@angular/aria`) back through our own `select()` pipeline, since
112
+ * `ngListbox`'s own click/keydown handling only updates its internal `value` model directly.
113
+ */
114
+ syncFromAriaEffect = effect(() => {
115
+ const ariaArr = this.ariaListbox.value();
116
+ const nextValue = this.multiple() ? ariaArr : ariaArr.length ? ariaArr[0] : null;
117
+ if (!equals(nextValue, this.value(), this.dataKey() || undefined)) {
118
+ this.value.set(nextValue);
119
+ this.writeModelValue(nextValue);
120
+ this.onModelChange(nextValue);
121
+ this.onChange.emit({ originalEvent: undefined, value: nextValue });
122
+ }
123
+ }, /* @ts-ignore */
124
+ ...(ngDevMode ? [{ debugName: "syncFromAriaEffect" }] : /* istanbul ignore next */ []));
125
+ sameAsAriaValue(arr) {
126
+ const current = this.ariaListbox.value();
127
+ return current.length === arr.length && current.every((val, i) => equals(val, arr[i], this.dataKey() || undefined));
128
+ }
96
129
  isSelected(value) {
97
130
  const modelValue = this.value();
98
131
  return this.multiple() ? Array.isArray(modelValue) && modelValue.some((selected) => equals(selected, value, this.dataKey() || undefined)) : equals(modelValue, value, this.dataKey() || undefined);
@@ -133,37 +166,6 @@ class SelectButtonDirective extends BaseEditableHolder {
133
166
  isFirstEnabledOption(option) {
134
167
  return this.optionDirectives().find((candidate) => !candidate.isDisabled()) === option;
135
168
  }
136
- onKeyDown(event) {
137
- const option = this.optionDirectives().find((candidate) => candidate.element.nativeElement === event.target);
138
- if (!option || this.$disabled())
139
- return;
140
- const options = this.optionDirectives().filter((candidate) => !candidate.isDisabled());
141
- const currentIndex = options.indexOf(option);
142
- let nextIndex;
143
- switch (event.key) {
144
- case 'ArrowLeft':
145
- case 'ArrowUp':
146
- nextIndex = (currentIndex - 1 + options.length) % options.length;
147
- break;
148
- case 'ArrowRight':
149
- case 'ArrowDown':
150
- nextIndex = (currentIndex + 1) % options.length;
151
- break;
152
- case 'Home':
153
- nextIndex = 0;
154
- break;
155
- case 'End':
156
- nextIndex = options.length - 1;
157
- break;
158
- default:
159
- return;
160
- }
161
- event.preventDefault();
162
- const next = options[nextIndex];
163
- next.focus();
164
- if (!this.multiple())
165
- this.select(event, next.value(), next.resolvedIndex());
166
- }
167
169
  onFocusOut(event) {
168
170
  if (this.element.nativeElement.contains(event.relatedTarget))
169
171
  return;
@@ -180,10 +182,10 @@ class SelectButtonDirective extends BaseEditableHolder {
180
182
  .find((option) => !option.isDisabled() && (option.selected() || this.isFirstEnabledOption(option)))
181
183
  ?.focus(options);
182
184
  }
183
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButtonDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
184
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.1.2", type: SelectButtonDirective, isStandalone: true, selector: "[pSelectButton]", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, allowEmpty: { classPropertyName: "allowEmpty", publicName: "allowEmpty", isSignal: true, isRequired: false, transformFunction: null }, unselectable: { classPropertyName: "unselectable", publicName: "unselectable", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionClick: "onOptionClick", onChange: "onChange", onFocus: "onFocus", onBlur: "onBlur", value: "valueChange", touch: "touch" }, host: { listeners: { "keydown": "onKeyDown($event)", "focusin": "onFocus.emit($event)", "focusout": "onFocusOut($event)" }, properties: { "class": "cx('root')", "attr.role": "role()", "attr.data-pc-name": "'selectbutton'", "attr.data-pc-section": "'root'", "attr.data-p-invalid": "invalid() || null", "attr.data-p-disabled": "$disabled() || null", "attr.aria-label": "ariaLabel() || null", "attr.aria-labelledby": "ariaLabelledBy() || null", "attr.aria-describedby": "ariaDescribedBy() || null", "attr.aria-disabled": "$disabled() || null" } }, providers: [SelectButtonStyle, ToggleButtonStyle, { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectButtonDirective), multi: true }], queries: [{ propertyName: "optionDirectives", predicate: SelectButtonOptionDirective, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
185
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButtonDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
186
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.1.5", type: SelectButtonDirective, isStandalone: true, selector: "[pSelectButton]", inputs: { allowEmpty: { classPropertyName: "allowEmpty", publicName: "allowEmpty", isSignal: true, isRequired: false, transformFunction: null }, unselectable: { classPropertyName: "unselectable", publicName: "unselectable", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionClick: "onOptionClick", onChange: "onChange", onFocus: "onFocus", onBlur: "onBlur", value: "valueChange", touch: "touch" }, host: { listeners: { "focusin": "onFocus.emit($event)", "focusout": "onFocusOut($event)" }, properties: { "class": "cx('root')", "attr.role": "role()", "attr.data-pc-name": "'selectbutton'", "attr.data-pc-section": "'root'", "attr.data-p-invalid": "invalid() || null", "attr.data-p-disabled": "$disabled() || null", "attr.aria-label": "ariaLabel() || null", "attr.aria-labelledby": "ariaLabelledBy() || null", "attr.aria-describedby": "ariaDescribedBy() || null", "attr.aria-disabled": "$disabled() || null" } }, providers: [SelectButtonStyle, ToggleButtonStyle, { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectButtonDirective), multi: true }], queries: [{ propertyName: "optionDirectives", predicate: SelectButtonOptionDirective, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }, { directive: i2.Listbox, inputs: ["multi", "multiple"] }], ngImport: i0 });
185
187
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButtonDirective, decorators: [{
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButtonDirective, decorators: [{
187
189
  type: Directive,
188
190
  args: [{
189
191
  selector: '[pSelectButton]',
@@ -199,22 +201,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
199
201
  '[attr.aria-labelledby]': 'ariaLabelledBy() || null',
200
202
  '[attr.aria-describedby]': 'ariaDescribedBy() || null',
201
203
  '[attr.aria-disabled]': '$disabled() || null',
202
- '(keydown)': 'onKeyDown($event)',
203
204
  '(focusin)': 'onFocus.emit($event)',
204
205
  '(focusout)': 'onFocusOut($event)'
205
206
  },
206
207
  providers: [SelectButtonStyle, ToggleButtonStyle, { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectButtonDirective), multi: true }],
207
- hostDirectives: [Bind]
208
+ hostDirectives: [Bind, { directive: Listbox, inputs: ['multi: multiple'] }]
208
209
  }]
209
- }], propDecorators: { multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], allowEmpty: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowEmpty", required: false }] }], unselectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "unselectable", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], ariaDescribedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedBy", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], onOptionClick: [{ type: i0.Output, args: ["onOptionClick"] }], onChange: [{ type: i0.Output, args: ["onChange"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], touch: [{ type: i0.Output, args: ["touch"] }], optionDirectives: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SelectButtonOptionDirective), { ...{ descendants: true }, isSignal: true }] }] } });
210
+ }], propDecorators: { allowEmpty: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowEmpty", required: false }] }], unselectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "unselectable", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], ariaDescribedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedBy", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], onOptionClick: [{ type: i0.Output, args: ["onOptionClick"] }], onChange: [{ type: i0.Output, args: ["onChange"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], touch: [{ type: i0.Output, args: ["touch"] }], optionDirectives: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SelectButtonOptionDirective), { ...{ descendants: true }, isSignal: true }] }] } });
210
211
  /** Registers a native button as an option in a `pSelectButton` group. */
211
212
  class SelectButtonOptionDirective {
212
213
  group = inject(SelectButtonDirective, { host: true });
213
214
  element = inject(ElementRef);
214
215
  bindDirectiveInstance = inject(Bind, { self: true });
215
- value = input(/* @ts-ignore */
216
- ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
217
- disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
216
+ /** The `ngOption` instance applied to this element's host, forwarding `value`/`disabled`. */
217
+ ariaOption = inject(Option, { self: true });
218
+ value = computed(() => this.ariaOption.value(), /* @ts-ignore */
219
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
220
+ disabled = computed(() => this.ariaOption.disabled(), /* @ts-ignore */
221
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
218
222
  type = input('button', /* @ts-ignore */
219
223
  ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
220
224
  index = input(/* @ts-ignore */
@@ -228,14 +232,6 @@ class SelectButtonOptionDirective {
228
232
  selected = () => this.group.isSelected(this.value());
229
233
  resolvedIndex = computed(() => this.index() ?? this.group.getOptionIndex(this), /* @ts-ignore */
230
234
  ...(ngDevMode ? [{ debugName: "resolvedIndex" }] : /* istanbul ignore next */ []));
231
- tabindex = computed(() => {
232
- if (this.isDisabled())
233
- return -1;
234
- if (this.group.multiple())
235
- return 0;
236
- return this.selected() || (!this.group.optionDirectives().some((option) => option.selected()) && this.group.isFirstEnabledOption(this)) ? 0 : -1;
237
- }, /* @ts-ignore */
238
- ...(ngDevMode ? [{ debugName: "tabindex" }] : /* istanbul ignore next */ []));
239
235
  onAfterViewChecked() {
240
236
  this.bindDirectiveInstance.setAttrs(this.group.ptm('option', { instance: this }));
241
237
  }
@@ -250,10 +246,10 @@ class SelectButtonOptionDirective {
250
246
  focus(options) {
251
247
  this.element.nativeElement.focus(options);
252
248
  }
253
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButtonOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
254
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", type: SelectButtonOptionDirective, isStandalone: true, selector: "button[pSelectButtonOption]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "select($event)" }, properties: { "class.p-togglebutton-checked": "selected()", "class.p-disabled": "isDisabled()", "attr.type": "type()", "attr.role": "group.multiple() ? null : \"radio\"", "attr.aria-checked": "group.multiple() ? null : selected()", "attr.aria-pressed": "group.multiple() ? selected() : null", "attr.aria-label": "ariaLabel() || null", "attr.aria-labelledby": "ariaLabelledBy() || null", "attr.aria-describedby": "ariaDescribedBy() || null", "attr.aria-disabled": "isDisabled() || null", "attr.tabindex": "tabindex()", "disabled": "isDisabled()", "value": "value() ?? \"\"" }, classAttribute: "p-togglebutton p-component" }, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
249
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButtonOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
250
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.5", type: SelectButtonOptionDirective, isStandalone: true, selector: "button[pSelectButtonOption]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "select($event)" }, properties: { "class.p-togglebutton-checked": "selected()", "class.p-disabled": "isDisabled()", "attr.type": "type()", "attr.role": "group.multiple() ? null : \"radio\"", "attr.aria-checked": "group.multiple() ? null : selected()", "attr.aria-pressed": "group.multiple() ? selected() : null", "attr.aria-label": "ariaLabel() || null", "attr.aria-labelledby": "ariaLabelledBy() || null", "attr.aria-describedby": "ariaDescribedBy() || null", "attr.aria-disabled": "isDisabled() || null", "disabled": "isDisabled()", "value": "value() ?? \"\"" }, classAttribute: "p-togglebutton p-component" }, hostDirectives: [{ directive: i1.Bind }, { directive: i2.Option, inputs: ["value", "value", "disabled", "disabled"] }], ngImport: i0 });
255
251
  }
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButtonOptionDirective, decorators: [{
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButtonOptionDirective, decorators: [{
257
253
  type: Directive,
258
254
  args: [{
259
255
  selector: 'button[pSelectButtonOption]',
@@ -270,14 +266,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
270
266
  '[attr.aria-labelledby]': 'ariaLabelledBy() || null',
271
267
  '[attr.aria-describedby]': 'ariaDescribedBy() || null',
272
268
  '[attr.aria-disabled]': 'isDisabled() || null',
273
- '[attr.tabindex]': 'tabindex()',
274
269
  '[disabled]': 'isDisabled()',
275
270
  '[value]': 'value() ?? ""',
276
271
  '(click)': 'select($event)'
277
272
  },
278
- hostDirectives: [Bind]
273
+ hostDirectives: [Bind, { directive: Option, inputs: ['value', 'disabled'] }]
279
274
  }]
280
- }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], ariaDescribedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedBy", required: false }] }] } });
275
+ }], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], ariaDescribedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedBy", required: false }] }] } });
281
276
 
282
277
  const SELECTBUTTON_INSTANCE = new InjectionToken('SELECTBUTTON_INSTANCE');
283
278
  const SELECTBUTTON_VALUE_ACCESSOR = {
@@ -355,6 +350,12 @@ class SelectButton extends BaseEditableHolder {
355
350
  */
356
351
  ariaLabelledBy = input(/* @ts-ignore */
357
352
  ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
353
+ /**
354
+ * Used to define a string that labels the group for accessibility.
355
+ * @group Props
356
+ */
357
+ ariaLabel = input(/* @ts-ignore */
358
+ ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
358
359
  /**
359
360
  * A property to uniquely identify a value in options.
360
361
  * @group Props
@@ -399,6 +400,8 @@ class SelectButton extends BaseEditableHolder {
399
400
  */
400
401
  itemTemplate;
401
402
  _itemTemplate;
403
+ role = computed(() => (this.multiple() ? 'group' : 'radiogroup'), /* @ts-ignore */
404
+ ...(ngDevMode ? [{ debugName: "role" }] : /* istanbul ignore next */ []));
402
405
  get equalityKey() {
403
406
  return this.optionValue() ? null : this.dataKey();
404
407
  }
@@ -542,8 +545,8 @@ class SelectButton extends BaseEditableHolder {
542
545
  invalid: this.invalid()
543
546
  });
544
547
  }
545
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
546
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: SelectButton, isStandalone: true, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: true, isRequired: false, transformFunction: null }, unselectable: { classPropertyName: "unselectable", publicName: "unselectable", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, allowEmpty: { classPropertyName: "allowEmpty", publicName: "allowEmpty", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionClick: "onOptionClick", onChange: "onChange" }, host: { properties: { "class": "cx('root')", "attr.role": "\"group\"", "attr.aria-labelledby": "ariaLabelledBy()", "attr.data-p": "dataP" } }, providers: [SELECTBUTTON_VALUE_ACCESSOR, SelectButtonStyle, { provide: SELECTBUTTON_INSTANCE, useExisting: SelectButton }, { provide: PARENT_INSTANCE, useExisting: SelectButton }], queries: [{ propertyName: "templates", predicate: PrimeTemplate, isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
548
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
549
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: SelectButton, isStandalone: true, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: true, isRequired: false, transformFunction: null }, unselectable: { classPropertyName: "unselectable", publicName: "unselectable", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, allowEmpty: { classPropertyName: "allowEmpty", publicName: "allowEmpty", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionClick: "onOptionClick", onChange: "onChange" }, host: { properties: { "class": "cx('root')", "attr.role": "role()", "attr.aria-label": "ariaLabel() || null", "attr.aria-labelledby": "ariaLabelledBy() || null", "attr.data-p": "dataP" } }, providers: [SELECTBUTTON_VALUE_ACCESSOR, SelectButtonStyle, { provide: SELECTBUTTON_INSTANCE, useExisting: SelectButton }, { provide: PARENT_INSTANCE, useExisting: SelectButton }], queries: [{ propertyName: "templates", predicate: PrimeTemplate, isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
547
550
  @for (option of options(); track getOptionLabel(option); let i = $index) {
548
551
  <p-togglebutton
549
552
  [autofocus]="autofocus()"
@@ -566,9 +569,9 @@ class SelectButton extends BaseEditableHolder {
566
569
  }
567
570
  </p-togglebutton>
568
571
  }
569
- `, isInline: true, dependencies: [{ kind: "component", type: ToggleButton, selector: "p-toggleButton, p-togglebutton, p-toggle-button", inputs: ["onLabel", "offLabel", "onIcon", "offIcon", "ariaLabel", "ariaLabelledBy", "styleClass", "inputId", "tabindex", "iconPos", "autofocus", "size", "allowEmpty", "fluid"], outputs: ["onChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
572
+ `, isInline: true, dependencies: [{ kind: "component", type: ToggleButton, selector: "p-toggleButton, p-togglebutton, p-toggle-button", inputs: ["onLabel", "offLabel", "onIcon", "offIcon", "ariaLabel", "ariaLabelledBy", "styleClass", "inputId", "tabindex", "iconPos", "autofocus", "size", "allowEmpty", "fluid"], outputs: ["onChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
570
573
  }
571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButton, decorators: [{
574
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButton, decorators: [{
572
575
  type: Component,
573
576
  args: [{
574
577
  selector: 'p-selectButton, p-selectbutton, p-select-button',
@@ -603,22 +606,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
603
606
  encapsulation: ViewEncapsulation.None,
604
607
  host: {
605
608
  '[class]': "cx('root')",
606
- '[attr.role]': '"group"',
607
- '[attr.aria-labelledby]': 'ariaLabelledBy()',
609
+ '[attr.role]': 'role()',
610
+ '[attr.aria-label]': 'ariaLabel() || null',
611
+ '[attr.aria-labelledby]': 'ariaLabelledBy() || null',
608
612
  '[attr.data-p]': 'dataP'
609
613
  },
610
614
  hostDirectives: [Bind]
611
615
  }]
612
- }], ctorParameters: () => [], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], optionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionLabel", required: false }] }], optionValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionValue", required: false }] }], optionDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionDisabled", required: false }] }], unselectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "unselectable", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], allowEmpty: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowEmpty", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], onOptionClick: [{ type: i0.Output, args: ["onOptionClick"] }], onChange: [{ type: i0.Output, args: ["onChange"] }], itemTemplate: [{
616
+ }], ctorParameters: () => [], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], optionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionLabel", required: false }] }], optionValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionValue", required: false }] }], optionDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionDisabled", required: false }] }], unselectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "unselectable", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], allowEmpty: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowEmpty", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], onOptionClick: [{ type: i0.Output, args: ["onOptionClick"] }], onChange: [{ type: i0.Output, args: ["onChange"] }], itemTemplate: [{
613
617
  type: ContentChild,
614
618
  args: ['item', { descendants: false }]
615
619
  }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }] } });
616
620
  class SelectButtonModule {
617
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
618
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.2", ngImport: i0, type: SelectButtonModule, imports: [SelectButton, SelectButtonDirective, SelectButtonOptionDirective, SharedModule], exports: [SelectButton, SelectButtonDirective, SelectButtonOptionDirective, SharedModule] });
619
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButtonModule, imports: [SelectButton, SharedModule, SharedModule] });
621
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
622
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: SelectButtonModule, imports: [SelectButton, SelectButtonDirective, SelectButtonOptionDirective, SharedModule], exports: [SelectButton, SelectButtonDirective, SelectButtonOptionDirective, SharedModule] });
623
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButtonModule, imports: [SelectButton, SharedModule, SharedModule] });
620
624
  }
621
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectButtonModule, decorators: [{
625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectButtonModule, decorators: [{
622
626
  type: NgModule,
623
627
  args: [{
624
628
  imports: [SelectButton, SelectButtonDirective, SelectButtonOptionDirective, SharedModule],
@@ -1 +1 @@
1
- {"version":3,"file":"wawjs-ngx-prime-selectbutton.mjs","sources":["../../src/selectbutton/style/selectbuttonstyle.ts","../../src/selectbutton/nativeselectbutton.ts","../../src/selectbutton/selectbutton.ts","../../src/selectbutton/wawjs-ngx-prime-selectbutton.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as selectbutton_style } from '@wawjs/css-prime-styles/selectbutton';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\n\nconst style = /*css*/ `\n ${selectbutton_style}\n\n /* For ngx-prime */\n .p-selectbutton.ng-invalid.ng-dirty {\n outline: 1px solid dt('selectbutton.invalid.border.color');\n outline-offset: 0;\n }\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-selectbutton p-component',\n {\n 'p-invalid': instance.invalid(),\n 'p-disabled': instance.$disabled(),\n 'p-selectbutton-fluid': instance.fluid()\n }\n ]\n};\n\n@Injectable()\nexport class SelectButtonStyle extends BaseStyle {\n name = 'selectbutton';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * SelectButton is used to choose single or multiple items from a list using buttons.\n *\n * [Live Demo](https://www.ngx-prime.org/selectbutton/)\n *\n * @module selectbuttonstyle\n *\n */\nexport enum SelectButtonClasses {\n /**\n * Class name of the root element\n */\n root = 'p-selectbutton'\n}\n","import { booleanAttribute, computed, contentChildren, Directive, ElementRef, forwardRef, inject, input, model, output } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { equals } from '@wawjs/css-prime-utils';\nimport { BaseEditableHolder } from '@wawjs/ngx-prime/baseeditableholder';\nimport { Bind } from '@wawjs/ngx-prime/bind';\nimport type { SelectButtonChangeEvent, SelectButtonOptionClickEvent, SelectButtonPassThrough } from '@wawjs/ngx-prime/types/selectbutton';\nimport { ToggleButtonStyle } from '@wawjs/ngx-prime/togglebutton';\nimport { SelectButtonStyle } from './style/selectbuttonstyle';\n\n/** Manages selection for a group of native `button[pSelectButtonOption]` elements. */\n@Directive({\n selector: '[pSelectButton]',\n standalone: true,\n host: {\n '[class]': \"cx('root')\",\n '[attr.role]': 'role()',\n '[attr.data-pc-name]': \"'selectbutton'\",\n '[attr.data-pc-section]': \"'root'\",\n '[attr.data-p-invalid]': 'invalid() || null',\n '[attr.data-p-disabled]': '$disabled() || null',\n '[attr.aria-label]': 'ariaLabel() || null',\n '[attr.aria-labelledby]': 'ariaLabelledBy() || null',\n '[attr.aria-describedby]': 'ariaDescribedBy() || null',\n '[attr.aria-disabled]': '$disabled() || null',\n '(keydown)': 'onKeyDown($event)',\n '(focusin)': 'onFocus.emit($event)',\n '(focusout)': 'onFocusOut($event)'\n },\n providers: [SelectButtonStyle, ToggleButtonStyle, { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectButtonDirective), multi: true }],\n hostDirectives: [Bind]\n})\nexport class SelectButtonDirective extends BaseEditableHolder<SelectButtonPassThrough> {\n componentName = 'SelectButton';\n\n _componentStyle = inject(SelectButtonStyle);\n\n readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n private readonly bindDirectiveInstance = inject(Bind, { self: true });\n\n multiple = input(false, { transform: booleanAttribute });\n allowEmpty = input(true, { transform: booleanAttribute });\n unselectable = input(false, { transform: booleanAttribute });\n dataKey = input<string>();\n ariaLabel = input<string>();\n ariaLabelledBy = input<string>();\n ariaDescribedBy = input<string>();\n fluid = input(false, { transform: booleanAttribute });\n\n onOptionClick = output<SelectButtonOptionClickEvent>();\n onChange = output<SelectButtonChangeEvent>();\n onFocus = output<FocusEvent>();\n onBlur = output<FocusEvent>();\n /** Signal Forms value contract. */\n value = model<unknown>(null);\n touch = output<void>();\n\n readonly optionDirectives = contentChildren(SelectButtonOptionDirective, { descendants: true });\n\n role = computed(() => (this.multiple() ? 'group' : 'radiogroup'));\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['group', 'root']));\n }\n\n isSelected(value: unknown) {\n const modelValue = this.value();\n\n return this.multiple() ? Array.isArray(modelValue) && modelValue.some((selected) => equals(selected, value, this.dataKey() || undefined)) : equals(modelValue, value, this.dataKey() || undefined);\n }\n\n select(event: Event, option: unknown, index?: number) {\n if (this.$disabled()) {\n return;\n }\n\n const selected = this.isSelected(option);\n let value: unknown;\n\n if (this.multiple()) {\n const current = (this.value() as unknown[] | null | undefined) ?? [];\n\n if (selected) {\n if (this.unselectable() || (!this.allowEmpty() && current.length === 1)) {\n return;\n }\n\n value = current.filter((selectedValue) => !equals(selectedValue, option, this.dataKey() || undefined));\n } else {\n value = [...current, option];\n }\n } else {\n if (selected && (this.unselectable() || !this.allowEmpty())) {\n return;\n }\n\n value = selected ? null : option;\n }\n\n this.value.set(value);\n this.writeModelValue(value);\n this.onModelChange(value);\n this.onChange.emit({ originalEvent: event, value });\n this.onOptionClick.emit({ originalEvent: event, option, index });\n }\n\n getOptionIndex(option: SelectButtonOptionDirective) {\n return this.optionDirectives().indexOf(option);\n }\n\n isFirstEnabledOption(option: SelectButtonOptionDirective) {\n return this.optionDirectives().find((candidate) => !candidate.isDisabled()) === option;\n }\n\n onKeyDown(event: KeyboardEvent) {\n const option = this.optionDirectives().find((candidate) => candidate.element.nativeElement === event.target);\n\n if (!option || this.$disabled()) return;\n\n const options = this.optionDirectives().filter((candidate) => !candidate.isDisabled());\n const currentIndex = options.indexOf(option);\n let nextIndex: number | undefined;\n\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n nextIndex = (currentIndex - 1 + options.length) % options.length;\n break;\n case 'ArrowRight':\n case 'ArrowDown':\n nextIndex = (currentIndex + 1) % options.length;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = options.length - 1;\n break;\n default:\n return;\n }\n\n event.preventDefault();\n const next = options[nextIndex];\n\n next.focus();\n if (!this.multiple()) this.select(event, next.value(), next.resolvedIndex());\n }\n\n onFocusOut(event: FocusEvent) {\n if (this.element.nativeElement.contains(event.relatedTarget as Node | null)) return;\n\n this.onModelTouched();\n this.touch.emit();\n this.onBlur.emit(event);\n }\n\n override writeControlValue(value: unknown, setModelValue: (value: unknown) => void) {\n setModelValue(value);\n this.value.set(value);\n }\n\n focus(options?: FocusOptions) {\n this.optionDirectives()\n .find((option) => !option.isDisabled() && (option.selected() || this.isFirstEnabledOption(option)))\n ?.focus(options);\n }\n}\n\n/** Registers a native button as an option in a `pSelectButton` group. */\n@Directive({\n selector: 'button[pSelectButtonOption]',\n standalone: true,\n host: {\n class: 'p-togglebutton p-component',\n '[class.p-togglebutton-checked]': 'selected()',\n '[class.p-disabled]': 'isDisabled()',\n '[attr.type]': 'type()',\n '[attr.role]': 'group.multiple() ? null : \"radio\"',\n '[attr.aria-checked]': 'group.multiple() ? null : selected()',\n '[attr.aria-pressed]': 'group.multiple() ? selected() : null',\n '[attr.aria-label]': 'ariaLabel() || null',\n '[attr.aria-labelledby]': 'ariaLabelledBy() || null',\n '[attr.aria-describedby]': 'ariaDescribedBy() || null',\n '[attr.aria-disabled]': 'isDisabled() || null',\n '[attr.tabindex]': 'tabindex()',\n '[disabled]': 'isDisabled()',\n '[value]': 'value() ?? \"\"',\n '(click)': 'select($event)'\n },\n hostDirectives: [Bind]\n})\nexport class SelectButtonOptionDirective {\n readonly group = inject(SelectButtonDirective, { host: true });\n\n readonly element = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n private readonly bindDirectiveInstance = inject(Bind, { self: true });\n\n value = input<unknown>();\n disabled = input(false, { transform: booleanAttribute });\n type = input<'button' | 'submit' | 'reset'>('button');\n index = input<number>();\n ariaLabel = input<string>();\n ariaLabelledBy = input<string>();\n ariaDescribedBy = input<string>();\n\n selected = () => this.group.isSelected(this.value());\n\n resolvedIndex = computed(() => this.index() ?? this.group.getOptionIndex(this));\n\n tabindex = computed(() => {\n if (this.isDisabled()) return -1;\n if (this.group.multiple()) return 0;\n\n return this.selected() || (!this.group.optionDirectives().some((option) => option.selected()) && this.group.isFirstEnabledOption(this)) ? 0 : -1;\n });\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.group.ptm('option', { instance: this }));\n }\n\n isDisabled() {\n return this.disabled() || this.group.$disabled();\n }\n\n select(event: Event) {\n if (!this.isDisabled()) {\n this.group.select(event, this.value(), this.resolvedIndex());\n }\n }\n\n focus(options?: FocusOptions) {\n this.element.nativeElement.focus(options);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewChecked,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n forwardRef,\n inject,\n InjectionToken,\n input,\n isDevMode,\n NgModule,\n numberAttribute,\n output,\n TemplateRef,\n ViewEncapsulation,\n contentChildren\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { equals, resolveFieldData } from '@wawjs/css-prime-utils';\nimport { PrimeTemplate, SharedModule } from '@wawjs/ngx-prime/api';\nimport { PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';\nimport { BaseEditableHolder } from '@wawjs/ngx-prime/baseeditableholder';\nimport { Bind, BindModule } from '@wawjs/ngx-prime/bind';\nimport { ToggleButton } from '@wawjs/ngx-prime/togglebutton';\nimport { SelectButtonChangeEvent, SelectButtonItemTemplateContext, SelectButtonOptionClickEvent, SelectButtonPassThrough } from '@wawjs/ngx-prime/types/selectbutton';\nimport { SelectButtonStyle } from './style/selectbuttonstyle';\nimport { SelectButtonDirective, SelectButtonOptionDirective } from './nativeselectbutton';\n\nconst SELECTBUTTON_INSTANCE = new InjectionToken<SelectButton>('SELECTBUTTON_INSTANCE');\n\nexport const SELECTBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButton),\n multi: true\n};\n/**\n * Legacy SelectButton component.\n * @deprecated since v22, use native `pSelectButton` and `pSelectButtonOption` directives. The legacy component selectors will be removed in v23.\n * @group Components\n */\n@Component({\n selector: 'p-selectButton, p-selectbutton, p-select-button',\n standalone: true,\n imports: [ToggleButton, FormsModule, CommonModule, SharedModule, BindModule],\n template: `\n @for (option of options(); track getOptionLabel(option); let i = $index) {\n <p-togglebutton\n [autofocus]=\"autofocus()\"\n [styleClass]=\"styleClass()\"\n [ngModel]=\"isSelected(option)\"\n [onLabel]=\"this.getOptionLabel(option)\"\n [offLabel]=\"this.getOptionLabel(option)\"\n [disabled]=\"$disabled() || isOptionDisabled(option)\"\n (onChange)=\"onOptionSelect($event, option, i)\"\n [allowEmpty]=\"getAllowEmpty()\"\n [size]=\"size()\"\n [fluid]=\"fluid()\"\n [pt]=\"ptm('pcToggleButton')\"\n [unstyled]=\"unstyled()\"\n >\n @if (itemTemplate || _itemTemplate) {\n <ng-template #content>\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: option, index: i }\"></ng-container>\n </ng-template>\n }\n </p-togglebutton>\n }\n `,\n providers: [SELECTBUTTON_VALUE_ACCESSOR, SelectButtonStyle, { provide: SELECTBUTTON_INSTANCE, useExisting: SelectButton }, { provide: PARENT_INSTANCE, useExisting: SelectButton }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cx('root')\",\n '[attr.role]': '\"group\"',\n '[attr.aria-labelledby]': 'ariaLabelledBy()',\n '[attr.data-p]': 'dataP'\n },\n hostDirectives: [Bind]\n})\nexport class SelectButton extends BaseEditableHolder<SelectButtonPassThrough> implements AfterViewChecked {\n componentName = 'SelectButton';\n\n constructor() {\n super();\n\n if (isDevMode()) {\n // eslint-disable-next-line no-console\n console.warn('`<p-selectbutton>` is deprecated and will be removed in a future major version. ' + 'Use the native `pSelectButton`/`pSelectButtonOption` directives instead.');\n }\n }\n\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n options = input<any[]>();\n /**\n * Name of the label field of an option.\n * @group Props\n */\n optionLabel = input<string>();\n /**\n * Name of the value field of an option.\n * @group Props\n */\n optionValue = input<string>();\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n optionDisabled = input<string>();\n /**\n * Whether selection can be cleared.\n * @group Props\n */\n unselectable = input(false, { transform: booleanAttribute });\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(0, { transform: numberAttribute });\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n multiple = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Whether selection can not be cleared.\n * @group Props\n */\n allowEmpty = input(true, { transform: booleanAttribute });\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass = input<string>();\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n dataKey = input<string>();\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<'large' | 'small' | undefined>();\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n /**\n * Callback to invoke on input click.\n * @param {SelectButtonOptionClickEvent} event - Custom click event.\n * @group Emits\n */\n onOptionClick = output<SelectButtonOptionClickEvent>();\n /**\n * Callback to invoke on selection change.\n * @param {SelectButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n onChange = output<SelectButtonChangeEvent>();\n /**\n * Custom item template.\n * @param {SelectButtonItemTemplateContext} context - item context.\n * @see {@link SelectButtonItemTemplateContext}\n * @group Templates\n */\n @ContentChild('item', { descendants: false }) itemTemplate: TemplateRef<SelectButtonItemTemplateContext> | undefined;\n\n _itemTemplate: TemplateRef<SelectButtonItemTemplateContext> | undefined;\n\n get equalityKey() {\n return this.optionValue() ? null : this.dataKey();\n }\n\n value: any;\n\n focusedIndex: number = 0;\n\n _componentStyle = inject(SelectButtonStyle);\n\n $pcSelectButton: SelectButton | undefined = inject(SELECTBUTTON_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n getAllowEmpty() {\n if (this.unselectable()) {\n return false;\n }\n\n if (this.multiple()) {\n return this.allowEmpty() || this.value?.length !== 1;\n }\n\n return this.allowEmpty();\n }\n\n getOptionLabel(option: any) {\n const optionLabel = this.optionLabel();\n\n return optionLabel ? resolveFieldData(option, optionLabel) : option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n const optionValue = this.optionValue();\n\n return optionValue ? resolveFieldData(option, optionValue) : this.optionLabel() || option.value === undefined ? option : option.value;\n }\n\n isOptionDisabled(option: any) {\n const optionDisabled = this.optionDisabled();\n\n return optionDisabled ? resolveFieldData(option, optionDisabled) : option.disabled !== undefined ? option.disabled : false;\n }\n\n onOptionSelect(event, option, index) {\n if (this.$disabled() || this.isOptionDisabled(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected && this.unselectable()) {\n return;\n }\n\n let optionValue = this.getOptionValue(option);\n let newValue;\n\n if (this.multiple()) {\n if (selected) newValue = this.value.filter((val) => !equals(val, optionValue, this.equalityKey || undefined));\n else newValue = this.value ? [...this.value, optionValue] : [optionValue];\n } else {\n if (selected && !this.allowEmpty()) {\n return;\n }\n\n newValue = selected ? null : optionValue;\n }\n\n this.focusedIndex = index;\n this.value = newValue;\n this.writeModelValue(this.value);\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n\n this.onOptionClick.emit({\n originalEvent: event,\n option: option,\n index: index\n });\n }\n\n changeTabIndexes(event, direction) {\n let firstTabableChild, index;\n\n for (let i = 0; i <= this.el.nativeElement.children.length - 1; i++) {\n if (this.el.nativeElement.children[i].getAttribute('tabindex') === '0') firstTabableChild = { elem: this.el.nativeElement.children[i], index: i };\n }\n\n if (direction === 'prev') {\n if (firstTabableChild.index === 0) index = this.el.nativeElement.children.length - 1;\n else index = firstTabableChild.index - 1;\n } else {\n if (firstTabableChild.index === this.el.nativeElement.children.length - 1) index = 0;\n else index = firstTabableChild.index + 1;\n }\n\n this.focusedIndex = index;\n this.el.nativeElement.children[index].focus();\n }\n\n onFocus(event: Event, index: number) {\n this.focusedIndex = index;\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter((val: any) => !equals(val, this.getOptionValue(option), this.dataKey()));\n }\n\n isSelected(option: any) {\n let selected = false;\n const optionValue = this.getOptionValue(option);\n\n if (this.multiple()) {\n if (this.value && Array.isArray(this.value)) {\n for (let val of this.value) {\n if (equals(val, optionValue, this.dataKey())) {\n selected = true;\n break;\n }\n }\n }\n } else {\n selected = equals(this.getOptionValue(option), this.value, this.equalityKey || undefined);\n }\n\n return selected;\n }\n\n readonly templates = contentChildren(PrimeTemplate);\n\n onAfterContentInit() {\n this.templates().forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n this.value = value;\n setModelValue(this.value);\n this.cd.markForCheck();\n }\n\n get dataP() {\n return this.cn({\n invalid: this.invalid()\n });\n }\n}\n\n@NgModule({\n imports: [SelectButton, SelectButtonDirective, SelectButtonOptionDirective, SharedModule],\n exports: [SelectButton, SelectButtonDirective, SelectButtonOptionDirective, SharedModule]\n})\nexport class SelectButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["selectbutton_style"],"mappings":"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"}
1
+ {"version":3,"file":"wawjs-ngx-prime-selectbutton.mjs","sources":["../../src/selectbutton/style/selectbuttonstyle.ts","../../src/selectbutton/nativeselectbutton.ts","../../src/selectbutton/selectbutton.ts","../../src/selectbutton/wawjs-ngx-prime-selectbutton.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as selectbutton_style } from '@wawjs/css-prime-styles/selectbutton';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\n\nconst style = /*css*/ `\n ${selectbutton_style}\n\n /* For ngx-prime */\n .p-selectbutton.ng-invalid.ng-dirty {\n outline: 1px solid dt('selectbutton.invalid.border.color');\n outline-offset: 0;\n }\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-selectbutton p-component',\n {\n 'p-invalid': instance.invalid(),\n 'p-disabled': instance.$disabled(),\n 'p-selectbutton-fluid': instance.fluid()\n }\n ]\n};\n\n@Injectable()\nexport class SelectButtonStyle extends BaseStyle {\n name = 'selectbutton';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * SelectButton is used to choose single or multiple items from a list using buttons.\n *\n * [Live Demo](https://www.ngx-prime.org/selectbutton/)\n *\n * @module selectbuttonstyle\n *\n */\nexport enum SelectButtonClasses {\n /**\n * Class name of the root element\n */\n root = 'p-selectbutton'\n}\n","import { booleanAttribute, computed, contentChildren, Directive, effect, ElementRef, forwardRef, inject, input, model, output } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Listbox as AriaListbox, Option as AriaOption } from '@angular/aria/listbox';\nimport { equals } from '@wawjs/css-prime-utils';\nimport { BaseEditableHolder } from '@wawjs/ngx-prime/baseeditableholder';\nimport { Bind } from '@wawjs/ngx-prime/bind';\nimport type { SelectButtonChangeEvent, SelectButtonOptionClickEvent, SelectButtonPassThrough } from '@wawjs/ngx-prime/types/selectbutton';\nimport { ToggleButtonStyle } from '@wawjs/ngx-prime/togglebutton';\nimport { SelectButtonStyle } from './style/selectbuttonstyle';\n\n/** Manages selection for a group of native `button[pSelectButtonOption]` elements. */\n@Directive({\n selector: '[pSelectButton]',\n standalone: true,\n host: {\n '[class]': \"cx('root')\",\n '[attr.role]': 'role()',\n '[attr.data-pc-name]': \"'selectbutton'\",\n '[attr.data-pc-section]': \"'root'\",\n '[attr.data-p-invalid]': 'invalid() || null',\n '[attr.data-p-disabled]': '$disabled() || null',\n '[attr.aria-label]': 'ariaLabel() || null',\n '[attr.aria-labelledby]': 'ariaLabelledBy() || null',\n '[attr.aria-describedby]': 'ariaDescribedBy() || null',\n '[attr.aria-disabled]': '$disabled() || null',\n '(focusin)': 'onFocus.emit($event)',\n '(focusout)': 'onFocusOut($event)'\n },\n providers: [SelectButtonStyle, ToggleButtonStyle, { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectButtonDirective), multi: true }],\n hostDirectives: [Bind, { directive: AriaListbox, inputs: ['multi: multiple'] }]\n})\nexport class SelectButtonDirective extends BaseEditableHolder<SelectButtonPassThrough> {\n componentName = 'SelectButton';\n\n _componentStyle = inject(SelectButtonStyle);\n\n readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n private readonly bindDirectiveInstance = inject(Bind, { self: true });\n\n /** The `ngListbox` instance applied to this component's host, forwarding `multiple` to `multi`. */\n readonly ariaListbox = inject(AriaListbox, { self: true });\n\n multiple = this.ariaListbox.multi;\n allowEmpty = input(true, { transform: booleanAttribute });\n unselectable = input(false, { transform: booleanAttribute });\n dataKey = input<string>();\n ariaLabel = input<string>();\n ariaLabelledBy = input<string>();\n ariaDescribedBy = input<string>();\n fluid = input(false, { transform: booleanAttribute });\n\n onOptionClick = output<SelectButtonOptionClickEvent>();\n onChange = output<SelectButtonChangeEvent>();\n onFocus = output<FocusEvent>();\n onBlur = output<FocusEvent>();\n /** Signal Forms value contract. */\n value = model<unknown>(null);\n touch = output<void>();\n\n readonly optionDirectives = contentChildren(SelectButtonOptionDirective, { descendants: true });\n\n role = computed(() => (this.multiple() ? 'group' : 'radiogroup'));\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['group', 'root']));\n }\n\n /** Keeps the aria listbox's internal `value` (array-shaped) mirrored to our own `value` model. */\n private readonly syncAriaValueEffect = effect(() => {\n const value = this.value();\n const arr = this.multiple() ? ((value as unknown[] | null | undefined) ?? []) : value == null ? [] : [value];\n\n if (!this.sameAsAriaValue(arr)) {\n this.ariaListbox.value.set(arr as unknown[]);\n }\n });\n\n /**\n * Propagates keyboard-driven selection (arrow-key \"follow focus\" in single-select mode,\n * handled internally by `@angular/aria`) back through our own `select()` pipeline, since\n * `ngListbox`'s own click/keydown handling only updates its internal `value` model directly.\n */\n private readonly syncFromAriaEffect = effect(() => {\n const ariaArr = this.ariaListbox.value();\n const nextValue = this.multiple() ? ariaArr : ariaArr.length ? ariaArr[0] : null;\n\n if (!equals(nextValue, this.value(), this.dataKey() || undefined)) {\n this.value.set(nextValue);\n this.writeModelValue(nextValue);\n this.onModelChange(nextValue);\n this.onChange.emit({ originalEvent: undefined as unknown as Event, value: nextValue });\n }\n });\n\n private sameAsAriaValue(arr: unknown[]): boolean {\n const current = this.ariaListbox.value();\n\n return current.length === arr.length && current.every((val, i) => equals(val, arr[i], this.dataKey() || undefined));\n }\n\n isSelected(value: unknown) {\n const modelValue = this.value();\n\n return this.multiple() ? Array.isArray(modelValue) && modelValue.some((selected) => equals(selected, value, this.dataKey() || undefined)) : equals(modelValue, value, this.dataKey() || undefined);\n }\n\n select(event: Event, option: unknown, index?: number) {\n if (this.$disabled()) {\n return;\n }\n\n const selected = this.isSelected(option);\n let value: unknown;\n\n if (this.multiple()) {\n const current = (this.value() as unknown[] | null | undefined) ?? [];\n\n if (selected) {\n if (this.unselectable() || (!this.allowEmpty() && current.length === 1)) {\n return;\n }\n\n value = current.filter((selectedValue) => !equals(selectedValue, option, this.dataKey() || undefined));\n } else {\n value = [...current, option];\n }\n } else {\n if (selected && (this.unselectable() || !this.allowEmpty())) {\n return;\n }\n\n value = selected ? null : option;\n }\n\n this.value.set(value);\n this.writeModelValue(value);\n this.onModelChange(value);\n this.onChange.emit({ originalEvent: event, value });\n this.onOptionClick.emit({ originalEvent: event, option, index });\n }\n\n getOptionIndex(option: SelectButtonOptionDirective) {\n return this.optionDirectives().indexOf(option);\n }\n\n isFirstEnabledOption(option: SelectButtonOptionDirective) {\n return this.optionDirectives().find((candidate) => !candidate.isDisabled()) === option;\n }\n\n onFocusOut(event: FocusEvent) {\n if (this.element.nativeElement.contains(event.relatedTarget as Node | null)) return;\n\n this.onModelTouched();\n this.touch.emit();\n this.onBlur.emit(event);\n }\n\n override writeControlValue(value: unknown, setModelValue: (value: unknown) => void) {\n setModelValue(value);\n this.value.set(value);\n }\n\n focus(options?: FocusOptions) {\n this.optionDirectives()\n .find((option) => !option.isDisabled() && (option.selected() || this.isFirstEnabledOption(option)))\n ?.focus(options);\n }\n}\n\n/** Registers a native button as an option in a `pSelectButton` group. */\n@Directive({\n selector: 'button[pSelectButtonOption]',\n standalone: true,\n host: {\n class: 'p-togglebutton p-component',\n '[class.p-togglebutton-checked]': 'selected()',\n '[class.p-disabled]': 'isDisabled()',\n '[attr.type]': 'type()',\n '[attr.role]': 'group.multiple() ? null : \"radio\"',\n '[attr.aria-checked]': 'group.multiple() ? null : selected()',\n '[attr.aria-pressed]': 'group.multiple() ? selected() : null',\n '[attr.aria-label]': 'ariaLabel() || null',\n '[attr.aria-labelledby]': 'ariaLabelledBy() || null',\n '[attr.aria-describedby]': 'ariaDescribedBy() || null',\n '[attr.aria-disabled]': 'isDisabled() || null',\n '[disabled]': 'isDisabled()',\n '[value]': 'value() ?? \"\"',\n '(click)': 'select($event)'\n },\n hostDirectives: [Bind, { directive: AriaOption, inputs: ['value', 'disabled'] }]\n})\nexport class SelectButtonOptionDirective {\n readonly group = inject(SelectButtonDirective, { host: true });\n\n readonly element = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n private readonly bindDirectiveInstance = inject(Bind, { self: true });\n\n /** The `ngOption` instance applied to this element's host, forwarding `value`/`disabled`. */\n readonly ariaOption = inject(AriaOption, { self: true });\n\n value = computed(() => this.ariaOption.value());\n disabled = computed(() => this.ariaOption.disabled());\n type = input<'button' | 'submit' | 'reset'>('button');\n index = input<number>();\n ariaLabel = input<string>();\n ariaLabelledBy = input<string>();\n ariaDescribedBy = input<string>();\n\n selected = () => this.group.isSelected(this.value());\n\n resolvedIndex = computed(() => this.index() ?? this.group.getOptionIndex(this));\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.group.ptm('option', { instance: this }));\n }\n\n isDisabled() {\n return this.disabled() || this.group.$disabled();\n }\n\n select(event: Event) {\n if (!this.isDisabled()) {\n this.group.select(event, this.value(), this.resolvedIndex());\n }\n }\n\n focus(options?: FocusOptions) {\n this.element.nativeElement.focus(options);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewChecked,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n forwardRef,\n inject,\n InjectionToken,\n input,\n isDevMode,\n NgModule,\n numberAttribute,\n output,\n TemplateRef,\n ViewEncapsulation,\n contentChildren\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { equals, resolveFieldData } from '@wawjs/css-prime-utils';\nimport { PrimeTemplate, SharedModule } from '@wawjs/ngx-prime/api';\nimport { PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';\nimport { BaseEditableHolder } from '@wawjs/ngx-prime/baseeditableholder';\nimport { Bind, BindModule } from '@wawjs/ngx-prime/bind';\nimport { ToggleButton } from '@wawjs/ngx-prime/togglebutton';\nimport { SelectButtonChangeEvent, SelectButtonItemTemplateContext, SelectButtonOptionClickEvent, SelectButtonPassThrough } from '@wawjs/ngx-prime/types/selectbutton';\nimport { SelectButtonStyle } from './style/selectbuttonstyle';\nimport { SelectButtonDirective, SelectButtonOptionDirective } from './nativeselectbutton';\n\nconst SELECTBUTTON_INSTANCE = new InjectionToken<SelectButton>('SELECTBUTTON_INSTANCE');\n\nexport const SELECTBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButton),\n multi: true\n};\n/**\n * Legacy SelectButton component.\n * @deprecated since v22, use native `pSelectButton` and `pSelectButtonOption` directives. The legacy component selectors will be removed in v23.\n * @group Components\n */\n@Component({\n selector: 'p-selectButton, p-selectbutton, p-select-button',\n standalone: true,\n imports: [ToggleButton, FormsModule, CommonModule, SharedModule, BindModule],\n template: `\n @for (option of options(); track getOptionLabel(option); let i = $index) {\n <p-togglebutton\n [autofocus]=\"autofocus()\"\n [styleClass]=\"styleClass()\"\n [ngModel]=\"isSelected(option)\"\n [onLabel]=\"this.getOptionLabel(option)\"\n [offLabel]=\"this.getOptionLabel(option)\"\n [disabled]=\"$disabled() || isOptionDisabled(option)\"\n (onChange)=\"onOptionSelect($event, option, i)\"\n [allowEmpty]=\"getAllowEmpty()\"\n [size]=\"size()\"\n [fluid]=\"fluid()\"\n [pt]=\"ptm('pcToggleButton')\"\n [unstyled]=\"unstyled()\"\n >\n @if (itemTemplate || _itemTemplate) {\n <ng-template #content>\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: option, index: i }\"></ng-container>\n </ng-template>\n }\n </p-togglebutton>\n }\n `,\n providers: [SELECTBUTTON_VALUE_ACCESSOR, SelectButtonStyle, { provide: SELECTBUTTON_INSTANCE, useExisting: SelectButton }, { provide: PARENT_INSTANCE, useExisting: SelectButton }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cx('root')\",\n '[attr.role]': 'role()',\n '[attr.aria-label]': 'ariaLabel() || null',\n '[attr.aria-labelledby]': 'ariaLabelledBy() || null',\n '[attr.data-p]': 'dataP'\n },\n hostDirectives: [Bind]\n})\nexport class SelectButton extends BaseEditableHolder<SelectButtonPassThrough> implements AfterViewChecked {\n componentName = 'SelectButton';\n\n constructor() {\n super();\n\n if (isDevMode()) {\n // eslint-disable-next-line no-console\n console.warn('`<p-selectbutton>` is deprecated and will be removed in a future major version. ' + 'Use the native `pSelectButton`/`pSelectButtonOption` directives instead.');\n }\n }\n\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n options = input<any[]>();\n /**\n * Name of the label field of an option.\n * @group Props\n */\n optionLabel = input<string>();\n /**\n * Name of the value field of an option.\n * @group Props\n */\n optionValue = input<string>();\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n optionDisabled = input<string>();\n /**\n * Whether selection can be cleared.\n * @group Props\n */\n unselectable = input(false, { transform: booleanAttribute });\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(0, { transform: numberAttribute });\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n multiple = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Whether selection can not be cleared.\n * @group Props\n */\n allowEmpty = input(true, { transform: booleanAttribute });\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass = input<string>();\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * Used to define a string that labels the group for accessibility.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n dataKey = input<string>();\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<'large' | 'small' | undefined>();\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n /**\n * Callback to invoke on input click.\n * @param {SelectButtonOptionClickEvent} event - Custom click event.\n * @group Emits\n */\n onOptionClick = output<SelectButtonOptionClickEvent>();\n /**\n * Callback to invoke on selection change.\n * @param {SelectButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n onChange = output<SelectButtonChangeEvent>();\n /**\n * Custom item template.\n * @param {SelectButtonItemTemplateContext} context - item context.\n * @see {@link SelectButtonItemTemplateContext}\n * @group Templates\n */\n @ContentChild('item', { descendants: false }) itemTemplate: TemplateRef<SelectButtonItemTemplateContext> | undefined;\n\n _itemTemplate: TemplateRef<SelectButtonItemTemplateContext> | undefined;\n\n role = computed(() => (this.multiple() ? 'group' : 'radiogroup'));\n\n get equalityKey() {\n return this.optionValue() ? null : this.dataKey();\n }\n\n value: any;\n\n focusedIndex: number = 0;\n\n _componentStyle = inject(SelectButtonStyle);\n\n $pcSelectButton: SelectButton | undefined = inject(SELECTBUTTON_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n getAllowEmpty() {\n if (this.unselectable()) {\n return false;\n }\n\n if (this.multiple()) {\n return this.allowEmpty() || this.value?.length !== 1;\n }\n\n return this.allowEmpty();\n }\n\n getOptionLabel(option: any) {\n const optionLabel = this.optionLabel();\n\n return optionLabel ? resolveFieldData(option, optionLabel) : option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n const optionValue = this.optionValue();\n\n return optionValue ? resolveFieldData(option, optionValue) : this.optionLabel() || option.value === undefined ? option : option.value;\n }\n\n isOptionDisabled(option: any) {\n const optionDisabled = this.optionDisabled();\n\n return optionDisabled ? resolveFieldData(option, optionDisabled) : option.disabled !== undefined ? option.disabled : false;\n }\n\n onOptionSelect(event, option, index) {\n if (this.$disabled() || this.isOptionDisabled(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected && this.unselectable()) {\n return;\n }\n\n let optionValue = this.getOptionValue(option);\n let newValue;\n\n if (this.multiple()) {\n if (selected) newValue = this.value.filter((val) => !equals(val, optionValue, this.equalityKey || undefined));\n else newValue = this.value ? [...this.value, optionValue] : [optionValue];\n } else {\n if (selected && !this.allowEmpty()) {\n return;\n }\n\n newValue = selected ? null : optionValue;\n }\n\n this.focusedIndex = index;\n this.value = newValue;\n this.writeModelValue(this.value);\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n\n this.onOptionClick.emit({\n originalEvent: event,\n option: option,\n index: index\n });\n }\n\n changeTabIndexes(event, direction) {\n let firstTabableChild, index;\n\n for (let i = 0; i <= this.el.nativeElement.children.length - 1; i++) {\n if (this.el.nativeElement.children[i].getAttribute('tabindex') === '0') firstTabableChild = { elem: this.el.nativeElement.children[i], index: i };\n }\n\n if (direction === 'prev') {\n if (firstTabableChild.index === 0) index = this.el.nativeElement.children.length - 1;\n else index = firstTabableChild.index - 1;\n } else {\n if (firstTabableChild.index === this.el.nativeElement.children.length - 1) index = 0;\n else index = firstTabableChild.index + 1;\n }\n\n this.focusedIndex = index;\n this.el.nativeElement.children[index].focus();\n }\n\n onFocus(event: Event, index: number) {\n this.focusedIndex = index;\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter((val: any) => !equals(val, this.getOptionValue(option), this.dataKey()));\n }\n\n isSelected(option: any) {\n let selected = false;\n const optionValue = this.getOptionValue(option);\n\n if (this.multiple()) {\n if (this.value && Array.isArray(this.value)) {\n for (let val of this.value) {\n if (equals(val, optionValue, this.dataKey())) {\n selected = true;\n break;\n }\n }\n }\n } else {\n selected = equals(this.getOptionValue(option), this.value, this.equalityKey || undefined);\n }\n\n return selected;\n }\n\n readonly templates = contentChildren(PrimeTemplate);\n\n onAfterContentInit() {\n this.templates().forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n this.value = value;\n setModelValue(this.value);\n this.cd.markForCheck();\n }\n\n get dataP() {\n return this.cn({\n invalid: this.invalid()\n });\n }\n}\n\n@NgModule({\n imports: [SelectButton, SelectButtonDirective, SelectButtonOptionDirective, SharedModule],\n exports: [SelectButton, SelectButtonDirective, SelectButtonOptionDirective, SharedModule]\n})\nexport class SelectButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["selectbutton_style","AriaListbox","AriaOption","i2"],"mappings":"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"}