primeng 22.1.0 → 22.1.1

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 (460) hide show
  1. package/fesm2022/primeng-accordion.mjs +69 -53
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +19 -10
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +60 -59
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +72 -33
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-autofocus.mjs +7 -7
  10. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  11. package/fesm2022/primeng-avatar.mjs +13 -13
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +13 -13
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +13 -13
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +12 -30
  18. package/fesm2022/primeng-base.mjs.map +1 -1
  19. package/fesm2022/primeng-basecomponent.mjs +12 -23
  20. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  21. package/fesm2022/primeng-baseeditableholder.mjs +8 -3
  22. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/primeng-baseinput.mjs +3 -3
  24. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  25. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  26. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/primeng-bind.mjs +9 -8
  28. package/fesm2022/primeng-bind.mjs.map +1 -1
  29. package/fesm2022/primeng-blockui.mjs +10 -13
  30. package/fesm2022/primeng-blockui.mjs.map +1 -1
  31. package/fesm2022/primeng-breadcrumb.mjs +10 -10
  32. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/primeng-button.mjs +45 -38
  34. package/fesm2022/primeng-button.mjs.map +1 -1
  35. package/fesm2022/primeng-buttongroup.mjs +10 -10
  36. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  37. package/fesm2022/primeng-card.mjs +10 -10
  38. package/fesm2022/primeng-card.mjs.map +1 -1
  39. package/fesm2022/primeng-carousel.mjs +44 -45
  40. package/fesm2022/primeng-carousel.mjs.map +1 -1
  41. package/fesm2022/primeng-cascadeselect.mjs +111 -76
  42. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  43. package/fesm2022/primeng-chart.mjs +13 -13
  44. package/fesm2022/primeng-chart.mjs.map +1 -1
  45. package/fesm2022/primeng-checkbox.mjs +17 -19
  46. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  47. package/fesm2022/primeng-chip.mjs +13 -13
  48. package/fesm2022/primeng-chip.mjs.map +1 -1
  49. package/fesm2022/primeng-classnames.mjs +7 -7
  50. package/fesm2022/primeng-classnames.mjs.map +1 -1
  51. package/fesm2022/primeng-colorpicker.mjs +20 -20
  52. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  53. package/fesm2022/primeng-commandmenu.mjs +14 -16
  54. package/fesm2022/primeng-commandmenu.mjs.map +1 -1
  55. package/fesm2022/primeng-compare.mjs +20 -19
  56. package/fesm2022/primeng-compare.mjs.map +1 -1
  57. package/fesm2022/primeng-config.mjs +10 -10
  58. package/fesm2022/primeng-config.mjs.map +1 -1
  59. package/fesm2022/primeng-confirmdialog.mjs +23 -27
  60. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  61. package/fesm2022/primeng-confirmpopup.mjs +34 -47
  62. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  63. package/fesm2022/primeng-contextmenu.mjs +70 -39
  64. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  65. package/fesm2022/primeng-dataview.mjs +15 -14
  66. package/fesm2022/primeng-dataview.mjs.map +1 -1
  67. package/fesm2022/primeng-datepicker.mjs +100 -98
  68. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  69. package/fesm2022/primeng-dialog.mjs +47 -40
  70. package/fesm2022/primeng-dialog.mjs.map +1 -1
  71. package/fesm2022/primeng-divider.mjs +15 -17
  72. package/fesm2022/primeng-divider.mjs.map +1 -1
  73. package/fesm2022/primeng-dock.mjs +20 -14
  74. package/fesm2022/primeng-dock.mjs.map +1 -1
  75. package/fesm2022/primeng-dom.mjs +14 -8
  76. package/fesm2022/primeng-dom.mjs.map +1 -1
  77. package/fesm2022/primeng-dragdrop.mjs +11 -10
  78. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  79. package/fesm2022/primeng-drawer.mjs +26 -24
  80. package/fesm2022/primeng-drawer.mjs.map +1 -1
  81. package/fesm2022/primeng-dynamicdialog.mjs +82 -93
  82. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  83. package/fesm2022/primeng-editor.mjs +16 -15
  84. package/fesm2022/primeng-editor.mjs.map +1 -1
  85. package/fesm2022/primeng-fieldset.mjs +14 -17
  86. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  87. package/fesm2022/primeng-fileupload.mjs +26 -19
  88. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  89. package/fesm2022/primeng-floatlabel.mjs +13 -13
  90. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  91. package/fesm2022/primeng-fluid.mjs +11 -11
  92. package/fesm2022/primeng-fluid.mjs.map +1 -1
  93. package/fesm2022/primeng-focustrap.mjs +19 -19
  94. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  95. package/fesm2022/primeng-galleria.mjs +55 -51
  96. package/fesm2022/primeng-galleria.mjs.map +1 -1
  97. package/fesm2022/primeng-gallery.mjs +103 -105
  98. package/fesm2022/primeng-gallery.mjs.map +1 -1
  99. package/fesm2022/primeng-iconfield.mjs +13 -13
  100. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  101. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  102. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  103. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  104. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  106. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  107. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  108. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  109. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  110. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  112. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  114. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  115. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  116. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  117. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  118. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  119. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  120. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  121. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  122. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  123. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  124. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  126. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  128. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-ban.mjs +3 -3
  130. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-bars.mjs +3 -3
  132. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  134. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-blank.mjs +3 -3
  136. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  138. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  140. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  142. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-check.mjs +3 -3
  144. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  146. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  148. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  150. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  152. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  154. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-eye.mjs +3 -3
  156. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  158. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-filter.mjs +3 -3
  160. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  162. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  164. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-home.mjs +3 -3
  166. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  168. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-minus.mjs +3 -3
  170. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  172. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-plus.mjs +3 -3
  174. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  176. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-search.mjs +3 -3
  178. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  180. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  182. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  184. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  186. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  188. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  190. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-star.mjs +3 -3
  192. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  194. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  196. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-times.mjs +3 -3
  198. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  200. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-trash.mjs +3 -3
  202. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  203. package/fesm2022/primeng-icons-undo.mjs +3 -3
  204. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  205. package/fesm2022/primeng-icons-upload.mjs +3 -3
  206. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  208. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  210. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  211. package/fesm2022/primeng-iftalabel.mjs +10 -10
  212. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  213. package/fesm2022/primeng-image.mjs +21 -23
  214. package/fesm2022/primeng-image.mjs.map +1 -1
  215. package/fesm2022/primeng-imagecompare.mjs +10 -10
  216. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  217. package/fesm2022/primeng-inplace.mjs +16 -16
  218. package/fesm2022/primeng-inplace.mjs.map +1 -1
  219. package/fesm2022/primeng-inputcolor.mjs +55 -46
  220. package/fesm2022/primeng-inputcolor.mjs.map +1 -1
  221. package/fesm2022/primeng-inputgroup.mjs +10 -10
  222. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  223. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  224. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  225. package/fesm2022/primeng-inputicon.mjs +10 -10
  226. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  227. package/fesm2022/primeng-inputmask.mjs +27 -19
  228. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  229. package/fesm2022/primeng-inputnumber.mjs +21 -21
  230. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  231. package/fesm2022/primeng-inputotp.mjs +15 -14
  232. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  233. package/fesm2022/primeng-inputpassword.mjs +13 -15
  234. package/fesm2022/primeng-inputpassword.mjs.map +1 -1
  235. package/fesm2022/primeng-inputtags.mjs +10 -10
  236. package/fesm2022/primeng-inputtags.mjs.map +1 -1
  237. package/fesm2022/primeng-inputtext.mjs +18 -13
  238. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  239. package/fesm2022/primeng-keyfilter.mjs +13 -12
  240. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  241. package/fesm2022/primeng-knob.mjs +15 -13
  242. package/fesm2022/primeng-knob.mjs.map +1 -1
  243. package/fesm2022/primeng-label.mjs +10 -10
  244. package/fesm2022/primeng-label.mjs.map +1 -1
  245. package/fesm2022/primeng-license.mjs.map +1 -1
  246. package/fesm2022/primeng-listbox.mjs +67 -52
  247. package/fesm2022/primeng-listbox.mjs.map +1 -1
  248. package/fesm2022/primeng-megamenu.mjs +51 -31
  249. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  250. package/fesm2022/primeng-menu.mjs +48 -45
  251. package/fesm2022/primeng-menu.mjs.map +1 -1
  252. package/fesm2022/primeng-menubar.mjs +60 -38
  253. package/fesm2022/primeng-menubar.mjs.map +1 -1
  254. package/fesm2022/primeng-message.mjs +25 -29
  255. package/fesm2022/primeng-message.mjs.map +1 -1
  256. package/fesm2022/primeng-metergroup.mjs +16 -16
  257. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  258. package/fesm2022/primeng-motion.mjs +18 -18
  259. package/fesm2022/primeng-motion.mjs.map +1 -1
  260. package/fesm2022/primeng-multiselect.mjs +184 -150
  261. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  262. package/fesm2022/primeng-orderlist.mjs +14 -28
  263. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  264. package/fesm2022/primeng-organizationchart.mjs +16 -18
  265. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  266. package/fesm2022/primeng-overlay.mjs +48 -34
  267. package/fesm2022/primeng-overlay.mjs.map +1 -1
  268. package/fesm2022/primeng-overlaybadge.mjs +10 -10
  269. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  270. package/fesm2022/primeng-paginator.mjs +16 -16
  271. package/fesm2022/primeng-paginator.mjs.map +1 -1
  272. package/fesm2022/primeng-panel.mjs +20 -24
  273. package/fesm2022/primeng-panel.mjs.map +1 -1
  274. package/fesm2022/primeng-panelmenu.mjs +62 -30
  275. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  276. package/fesm2022/primeng-passthrough.mjs +5 -7
  277. package/fesm2022/primeng-passthrough.mjs.map +1 -1
  278. package/fesm2022/primeng-password.mjs +39 -31
  279. package/fesm2022/primeng-password.mjs.map +1 -1
  280. package/fesm2022/primeng-picklist.mjs +23 -20
  281. package/fesm2022/primeng-picklist.mjs.map +1 -1
  282. package/fesm2022/primeng-popover.mjs +23 -21
  283. package/fesm2022/primeng-popover.mjs.map +1 -1
  284. package/fesm2022/primeng-progressbar.mjs +13 -13
  285. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  286. package/fesm2022/primeng-progressspinner.mjs +10 -10
  287. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  288. package/fesm2022/primeng-radiobutton.mjs +17 -19
  289. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  290. package/fesm2022/primeng-rating.mjs +13 -13
  291. package/fesm2022/primeng-rating.mjs.map +1 -1
  292. package/fesm2022/primeng-ripple.mjs +31 -17
  293. package/fesm2022/primeng-ripple.mjs.map +1 -1
  294. package/fesm2022/primeng-scrollarea.mjs +25 -25
  295. package/fesm2022/primeng-scrollarea.mjs.map +1 -1
  296. package/fesm2022/primeng-scroller.mjs +65 -29
  297. package/fesm2022/primeng-scroller.mjs.map +1 -1
  298. package/fesm2022/primeng-scrollpanel.mjs +52 -26
  299. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  300. package/fesm2022/primeng-scrolltop.mjs +18 -19
  301. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  302. package/fesm2022/primeng-select.mjs +102 -51
  303. package/fesm2022/primeng-select.mjs.map +1 -1
  304. package/fesm2022/primeng-selectbutton.mjs +10 -10
  305. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  306. package/fesm2022/primeng-sidebar.mjs +143 -140
  307. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  308. package/fesm2022/primeng-skeleton.mjs +10 -10
  309. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  310. package/fesm2022/primeng-slider.mjs +22 -22
  311. package/fesm2022/primeng-slider.mjs.map +1 -1
  312. package/fesm2022/primeng-speeddial.mjs +30 -17
  313. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  314. package/fesm2022/primeng-splitbutton.mjs +18 -19
  315. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  316. package/fesm2022/primeng-splitter.mjs +20 -23
  317. package/fesm2022/primeng-splitter.mjs.map +1 -1
  318. package/fesm2022/primeng-stepper.mjs +64 -68
  319. package/fesm2022/primeng-stepper.mjs.map +1 -1
  320. package/fesm2022/primeng-steps.mjs +150 -127
  321. package/fesm2022/primeng-steps.mjs.map +1 -1
  322. package/fesm2022/primeng-styleclass.mjs +13 -9
  323. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  324. package/fesm2022/primeng-table.mjs +213 -190
  325. package/fesm2022/primeng-table.mjs.map +1 -1
  326. package/fesm2022/primeng-tabs.mjs +66 -50
  327. package/fesm2022/primeng-tabs.mjs.map +1 -1
  328. package/fesm2022/primeng-tag.mjs +10 -10
  329. package/fesm2022/primeng-tag.mjs.map +1 -1
  330. package/fesm2022/primeng-terminal.mjs +13 -13
  331. package/fesm2022/primeng-terminal.mjs.map +1 -1
  332. package/fesm2022/primeng-textarea.mjs +16 -12
  333. package/fesm2022/primeng-textarea.mjs.map +1 -1
  334. package/fesm2022/primeng-tieredmenu.mjs +65 -34
  335. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  336. package/fesm2022/primeng-timeline.mjs +13 -13
  337. package/fesm2022/primeng-timeline.mjs.map +1 -1
  338. package/fesm2022/primeng-toast.mjs +115 -121
  339. package/fesm2022/primeng-toast.mjs.map +1 -1
  340. package/fesm2022/primeng-togglebutton.mjs +10 -10
  341. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  342. package/fesm2022/primeng-toggleswitch.mjs +10 -10
  343. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  344. package/fesm2022/primeng-toolbar.mjs +16 -16
  345. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  346. package/fesm2022/primeng-tooltip.mjs +27 -14
  347. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  348. package/fesm2022/primeng-tree.mjs +55 -66
  349. package/fesm2022/primeng-tree.mjs.map +1 -1
  350. package/fesm2022/primeng-treeselect.mjs +28 -16
  351. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  352. package/fesm2022/primeng-treetable.mjs +139 -127
  353. package/fesm2022/primeng-treetable.mjs.map +1 -1
  354. package/fesm2022/primeng-usestyle.mjs +10 -6
  355. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  356. package/fesm2022/primeng-utils.mjs +13 -22
  357. package/fesm2022/primeng-utils.mjs.map +1 -1
  358. package/package.json +2 -2
  359. package/types/primeng-accordion.d.ts +27 -29
  360. package/types/primeng-api.d.ts +7 -1
  361. package/types/primeng-autocomplete.d.ts +64 -66
  362. package/types/primeng-avatar.d.ts +19 -21
  363. package/types/primeng-avatargroup.d.ts +9 -11
  364. package/types/primeng-badge.d.ts +15 -17
  365. package/types/primeng-basecomponent.d.ts +1 -1
  366. package/types/primeng-button.d.ts +34 -36
  367. package/types/primeng-buttongroup.d.ts +9 -11
  368. package/types/primeng-card.d.ts +16 -18
  369. package/types/primeng-carousel.d.ts +67 -69
  370. package/types/primeng-cascadeselect.d.ts +69 -71
  371. package/types/primeng-chart.d.ts +15 -17
  372. package/types/primeng-checkbox.d.ts +22 -24
  373. package/types/primeng-chip.d.ts +25 -27
  374. package/types/primeng-colorpicker.d.ts +31 -33
  375. package/types/primeng-commandmenu.d.ts +1 -1
  376. package/types/primeng-compare.d.ts +17 -19
  377. package/types/primeng-config.d.ts +1 -1
  378. package/types/primeng-confirmdialog.d.ts +14 -16
  379. package/types/primeng-confirmpopup.d.ts +23 -29
  380. package/types/primeng-contextmenu.d.ts +36 -38
  381. package/types/primeng-dataview.d.ts +25 -27
  382. package/types/primeng-datepicker.d.ts +107 -109
  383. package/types/primeng-dialog.d.ts +39 -41
  384. package/types/primeng-divider.d.ts +18 -20
  385. package/types/primeng-dock.d.ts +26 -28
  386. package/types/primeng-drawer.d.ts +30 -32
  387. package/types/primeng-dynamicdialog.d.ts +52 -56
  388. package/types/primeng-editor.d.ts +17 -19
  389. package/types/primeng-fieldset.d.ts +20 -22
  390. package/types/primeng-fileupload.d.ts +27 -29
  391. package/types/primeng-floatlabel.d.ts +15 -17
  392. package/types/primeng-fluid.d.ts +9 -11
  393. package/types/primeng-galleria.d.ts +69 -71
  394. package/types/primeng-gallery.d.ts +6 -6
  395. package/types/primeng-iconfield.d.ts +10 -12
  396. package/types/primeng-icons-baseicon.d.ts +6 -8
  397. package/types/primeng-iftalabel.d.ts +9 -11
  398. package/types/primeng-image.d.ts +31 -33
  399. package/types/primeng-imagecompare.d.ts +10 -12
  400. package/types/primeng-inplace.d.ts +15 -17
  401. package/types/primeng-inputcolor.d.ts +27 -29
  402. package/types/primeng-inputgroup.d.ts +13 -15
  403. package/types/primeng-inputmask.d.ts +15 -17
  404. package/types/primeng-inputnumber.d.ts +35 -37
  405. package/types/primeng-inputotp.d.ts +11 -13
  406. package/types/primeng-inputpassword.d.ts +9 -12
  407. package/types/primeng-inputtags.d.ts +13 -15
  408. package/types/primeng-inputtext.d.ts +14 -16
  409. package/types/primeng-knob.d.ts +17 -19
  410. package/types/primeng-label.d.ts +9 -11
  411. package/types/primeng-listbox.d.ts +4 -4
  412. package/types/primeng-megamenu.d.ts +52 -54
  413. package/types/primeng-menu.d.ts +40 -42
  414. package/types/primeng-menubar.d.ts +1 -1
  415. package/types/primeng-message.d.ts +20 -22
  416. package/types/primeng-metergroup.d.ts +27 -29
  417. package/types/primeng-motion.d.ts +1 -3
  418. package/types/primeng-multiselect.d.ts +104 -106
  419. package/types/primeng-orderlist.d.ts +16 -18
  420. package/types/primeng-organizationchart.d.ts +21 -23
  421. package/types/primeng-overlay.d.ts +1 -1
  422. package/types/primeng-paginator.d.ts +48 -52
  423. package/types/primeng-panelmenu.d.ts +45 -47
  424. package/types/primeng-password.d.ts +47 -49
  425. package/types/primeng-picklist.d.ts +16 -18
  426. package/types/primeng-popover.d.ts +3 -3
  427. package/types/primeng-progressbar.d.ts +17 -19
  428. package/types/primeng-progressspinner.d.ts +13 -15
  429. package/types/primeng-radiobutton.d.ts +22 -24
  430. package/types/primeng-rating.d.ts +26 -28
  431. package/types/primeng-ripple.d.ts +9 -11
  432. package/types/primeng-scrollarea.d.ts +34 -36
  433. package/types/primeng-scroller.d.ts +28 -30
  434. package/types/primeng-scrollpanel.d.ts +15 -17
  435. package/types/primeng-scrolltop.d.ts +17 -19
  436. package/types/primeng-select.d.ts +56 -58
  437. package/types/primeng-selectbutton.d.ts +14 -16
  438. package/types/primeng-sidebar.d.ts +33 -35
  439. package/types/primeng-skeleton.d.ts +14 -16
  440. package/types/primeng-slider.d.ts +34 -36
  441. package/types/primeng-speeddial.d.ts +39 -41
  442. package/types/primeng-splitbutton.d.ts +20 -22
  443. package/types/primeng-splitter.d.ts +15 -17
  444. package/types/primeng-stepper.d.ts +19 -31
  445. package/types/primeng-steps.d.ts +25 -27
  446. package/types/primeng-table.d.ts +17 -18
  447. package/types/primeng-tabs.d.ts +13 -23
  448. package/types/primeng-tag.d.ts +21 -23
  449. package/types/primeng-terminal.d.ts +17 -19
  450. package/types/primeng-textarea.d.ts +14 -16
  451. package/types/primeng-tieredmenu.d.ts +43 -45
  452. package/types/primeng-timeline.d.ts +18 -20
  453. package/types/primeng-toast.d.ts +48 -50
  454. package/types/primeng-togglebutton.d.ts +23 -25
  455. package/types/primeng-toggleswitch.d.ts +22 -24
  456. package/types/primeng-toolbar.d.ts +14 -16
  457. package/types/primeng-tooltip.d.ts +23 -25
  458. package/types/primeng-tree.d.ts +52 -54
  459. package/types/primeng-treeselect.d.ts +52 -48
  460. package/types/primeng-treetable.d.ts +109 -111
@@ -20,10 +20,10 @@ class SplitterStyle extends BaseStyle {
20
20
  name = 'splitter';
21
21
  style = style;
22
22
  classes = classes;
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SplitterStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
24
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SplitterStyle });
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SplitterStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SplitterStyle });
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SplitterStyle, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SplitterStyle, decorators: [{
27
27
  type: Injectable
28
28
  }] });
29
29
  /**
@@ -113,14 +113,14 @@ class SplitterPanel extends BaseComponent {
113
113
  onAfterViewChecked() {
114
114
  this.bindDirectiveInstance.setAttrs(this.ptm('root'));
115
115
  }
116
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SplitterPanel, deps: null, target: i0.ɵɵFactoryTarget.Component });
117
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: SplitterPanel, isStandalone: true, selector: "p-splitterpanel, p-splitter-panel", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, minSize: { classPropertyName: "minSize", publicName: "minSize", isSignal: true, isRequired: false, transformFunction: null }, maxSize: { classPropertyName: "maxSize", publicName: "maxSize", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, collapsedSize: { classPropertyName: "collapsedSize", publicName: "collapsedSize", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SplitterStyle, { provide: PARENT_INSTANCE, useExisting: SplitterPanel }], viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
116
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SplitterPanel, deps: null, target: i0.ɵɵFactoryTarget.Component });
117
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.5", type: SplitterPanel, isStandalone: true, selector: "p-splitterpanel, p-splitter-panel", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, minSize: { classPropertyName: "minSize", publicName: "minSize", isSignal: true, isRequired: false, transformFunction: null }, maxSize: { classPropertyName: "maxSize", publicName: "maxSize", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, collapsedSize: { classPropertyName: "collapsedSize", publicName: "collapsedSize", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SplitterStyle, { provide: PARENT_INSTANCE, useExisting: SplitterPanel }], viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
118
118
  <ng-template #content>
119
119
  <ng-content></ng-content>
120
120
  </ng-template>
121
121
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
122
122
  }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SplitterPanel, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SplitterPanel, decorators: [{
124
124
  type: Component,
125
125
  args: [{
126
126
  selector: 'p-splitterpanel, p-splitter-panel',
@@ -365,6 +365,12 @@ class Splitter extends BaseComponent {
365
365
  this.initializePanels();
366
366
  });
367
367
  }
368
+ dataP = computed(() => this.cn({
369
+ [this.layout()]: this.layout(),
370
+ resizing: this.isResizing(),
371
+ disabled: this.disabled()
372
+ }), /* @ts-ignore */
373
+ ...(ngDevMode ? [{ debugName: "dataP" }] : /* istanbul ignore next */ []));
368
374
  onAfterViewChecked() {
369
375
  this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
370
376
  }
@@ -529,6 +535,7 @@ class Splitter extends BaseComponent {
529
535
  growInfo.collapsed = false;
530
536
  }
531
537
  }
538
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
532
539
  validatePanelSize(rawSize, info, min, isKeyDown) {
533
540
  if (!info?.collapsible) {
534
541
  return { size: Math.max(rawSize, min), collapsed: false };
@@ -537,8 +544,6 @@ class Splitter extends BaseComponent {
537
544
  if (rawSize >= min) {
538
545
  return { size: rawSize, collapsed: false };
539
546
  }
540
- // The panel stops shrinking at its minimum size; the moment the user keeps dragging (or
541
- // stepping) past that minimum, a collapsible panel snaps to its collapsed state.
542
547
  return { size: collapsedSize, collapsed: true };
543
548
  }
544
549
  range(start, end, step) {
@@ -721,16 +726,8 @@ class Splitter extends BaseComponent {
721
726
  this.unbindPointerListeners();
722
727
  this.clearTimer();
723
728
  }
724
- dataP = computed(() => {
725
- return this.cn({
726
- [this.layout()]: this.layout(),
727
- resizing: this.isResizing(),
728
- disabled: this.disabled()
729
- });
730
- }, /* @ts-ignore */
731
- ...(ngDevMode ? [{ debugName: "dataP" }] : /* istanbul ignore next */ []));
732
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Splitter, deps: [], target: i0.ɵɵFactoryTarget.Component });
733
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: Splitter, isStandalone: true, selector: "p-splitter", inputs: { styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: true, isRequired: false, transformFunction: null }, stateStorage: { classPropertyName: "stateStorage", publicName: "stateStorage", isSignal: true, isRequired: false, transformFunction: null }, stateKey: { classPropertyName: "stateKey", publicName: "stateKey", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, gutterSize: { classPropertyName: "gutterSize", publicName: "gutterSize", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, minSizes: { classPropertyName: "minSizes", publicName: "minSizes", isSignal: true, isRequired: false, transformFunction: null }, panelSizes: { classPropertyName: "panelSizes", publicName: "panelSizes", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onResizeEnd: "onResizeEnd", onResizeStart: "onResizeStart", onResize: "onResize", onCollapse: "onCollapse" }, host: { properties: { "class": "rootClass()", "attr.data-orientation": "layout()", "attr.data-resizing": "dataResizing()", "attr.data-disabled": "disabled() ? '' : null", "attr.data-p": "dataP()" } }, providers: [SplitterStyle, { provide: PARENT_INSTANCE, useExisting: Splitter }], queries: [{ propertyName: "panelComponents", predicate: SplitterPanel, isSignal: true }, { propertyName: "panelChildren", predicate: ["panel"], isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
729
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Splitter, deps: [], target: i0.ɵɵFactoryTarget.Component });
730
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: Splitter, isStandalone: true, selector: "p-splitter", inputs: { styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: true, isRequired: false, transformFunction: null }, stateStorage: { classPropertyName: "stateStorage", publicName: "stateStorage", isSignal: true, isRequired: false, transformFunction: null }, stateKey: { classPropertyName: "stateKey", publicName: "stateKey", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, gutterSize: { classPropertyName: "gutterSize", publicName: "gutterSize", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, minSizes: { classPropertyName: "minSizes", publicName: "minSizes", isSignal: true, isRequired: false, transformFunction: null }, panelSizes: { classPropertyName: "panelSizes", publicName: "panelSizes", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onResizeEnd: "onResizeEnd", onResizeStart: "onResizeStart", onResize: "onResize", onCollapse: "onCollapse" }, host: { properties: { "class": "rootClass()", "attr.data-orientation": "layout()", "attr.data-resizing": "dataResizing()", "attr.data-disabled": "disabled() ? '' : null", "attr.data-p": "dataP()" } }, providers: [SplitterStyle, { provide: PARENT_INSTANCE, useExisting: Splitter }], queries: [{ propertyName: "panelComponents", predicate: SplitterPanel, isSignal: true }, { propertyName: "panelChildren", predicate: ["panel"], isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
734
731
  @for (panel of panels(); track $index; let i = $index) {
735
732
  <div
736
733
  [pBind]="ptm('panel')"
@@ -772,7 +769,7 @@ class Splitter extends BaseComponent {
772
769
  }
773
770
  `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
774
771
  }
775
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Splitter, decorators: [{
772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Splitter, decorators: [{
776
773
  type: Component,
777
774
  args: [{
778
775
  selector: 'p-splitter',
@@ -833,11 +830,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
833
830
  }]
834
831
  }], ctorParameters: () => [], propDecorators: { styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], panelStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyleClass", required: false }] }], panelStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyle", required: false }] }], stateStorage: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateStorage", required: false }] }], stateKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateKey", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], gutterSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "gutterSize", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], minSizes: [{ type: i0.Input, args: [{ isSignal: true, alias: "minSizes", required: false }] }], panelSizes: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelSizes", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], onResizeEnd: [{ type: i0.Output, args: ["onResizeEnd"] }], onResizeStart: [{ type: i0.Output, args: ["onResizeStart"] }], onResize: [{ type: i0.Output, args: ["onResize"] }], onCollapse: [{ type: i0.Output, args: ["onCollapse"] }], panelComponents: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SplitterPanel), { isSignal: true }] }], panelChildren: [{ type: i0.ContentChildren, args: ['panel', { isSignal: true }] }] } });
835
832
  class SplitterModule {
836
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SplitterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
837
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.2", ngImport: i0, type: SplitterModule, imports: [Splitter, SplitterPanel, SharedModule, BindModule], exports: [Splitter, SplitterPanel, SharedModule, BindModule] });
838
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SplitterModule, imports: [Splitter, SharedModule, BindModule, SharedModule, BindModule] });
833
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SplitterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
834
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: SplitterModule, imports: [Splitter, SplitterPanel, SharedModule, BindModule], exports: [Splitter, SplitterPanel, SharedModule, BindModule] });
835
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SplitterModule, imports: [Splitter, SharedModule, BindModule, SharedModule, BindModule] });
839
836
  }
840
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SplitterModule, decorators: [{
837
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SplitterModule, decorators: [{
841
838
  type: NgModule,
842
839
  args: [{
843
840
  imports: [Splitter, SplitterPanel, SharedModule, BindModule],
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-splitter.mjs","sources":["../../src/splitter/style/splitterstyle.ts","../../src/splitter/splitterpanel.ts","../../src/splitter/splitter.ts","../../src/splitter/primeng-splitter.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/splitter';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => ['p-splitter p-component', 'p-splitter-' + instance.layout()],\n panel: 'p-splitter-panel',\n gutter: 'p-splitter-gutter',\n gutterHandle: 'p-splitter-gutter-handle'\n};\n\n@Injectable()\nexport class SplitterStyle extends BaseStyle {\n name = 'splitter';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Splitter is utilized to separate and resize panels.\n *\n * [Live Demo](https://www.primeng.org/splitter/)\n *\n * @module splitterstyle\n *\n */\nexport enum SplitterClasses {\n /**\n * Class name of the root element\n */\n root = 'p-splitter',\n /**\n * Class name of the panel element\n */\n panel = 'p-splitter-panel',\n /**\n * Class name of the gutter element\n */\n gutter = 'p-splitter-gutter',\n /**\n * Class name of the handle element\n */\n gutterHandle = 'p-splitter-gutter-handle'\n}\n\nexport interface SplitterStyle extends BaseStyle {}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, numberAttribute, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport type { SplitterPanelPassThrough } from 'primeng/types/splitter';\nimport { SplitterStyle } from './style/splitterstyle';\n\n/**\n * SplitterPanel is a helper component for Splitter, used to define a single resizable panel\n * together with its size constraints (min/max size, collapsible behavior).\n * @group Components\n */\n@Component({\n selector: 'p-splitterpanel, p-splitter-panel',\n standalone: true,\n template: `\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [Bind],\n providers: [SplitterStyle, { provide: PARENT_INSTANCE, useExisting: SplitterPanel }]\n})\nexport class SplitterPanel extends BaseComponent<SplitterPanelPassThrough> {\n componentName = 'SplitterPanel';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Initial size of the panel relative to 100%.\n * @group Props\n */\n size = input<number | undefined>(undefined, { transform: (value: unknown) => (value == null ? undefined : numberAttribute(value)) });\n\n /**\n * Minimum size of the panel relative to 100%.\n * @defaultValue 0\n * @group Props\n */\n minSize = input(0, { transform: numberAttribute });\n\n /**\n * Maximum size of the panel relative to 100%.\n * @defaultValue 100\n * @group Props\n */\n maxSize = input(100, { transform: numberAttribute });\n\n /**\n * When enabled, the panel can collapse below its `minSize` down to `collapsedSize`.\n * @defaultValue false\n * @group Props\n */\n collapsible = input(false, { transform: booleanAttribute });\n\n /**\n * Size of the panel when collapsed, relative to 100%.\n * @defaultValue 0\n * @group Props\n */\n collapsedSize = input(0, { transform: numberAttribute });\n\n /**\n * @ignore\n * Content of the panel, stamped by the parent Splitter into the panel wrapper.\n */\n contentTemplate = viewChild<TemplateRef<any>>('content');\n\n /**\n * @ignore\n * `class`/`style` set directly on the `<p-splitterpanel>` element are forwarded by the parent\n * Splitter onto the panel it renders, so authors can style the panel inline as expected.\n */\n get hostClass(): string {\n return this.el.nativeElement.className;\n }\n\n get hostStyle(): string | null {\n return this.el.nativeElement.getAttribute('style');\n }\n\n _componentStyle = inject(SplitterStyle);\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('root'));\n }\n}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, effect, ElementRef, inject, input, NgModule, numberAttribute, output, signal, TemplateRef, untracked, ViewEncapsulation } from '@angular/core';\nimport { isRTL } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport type { CSSProperties } from 'primeng/types/shared';\nimport type { SplitterCollapseEvent, SplitterLayout, SplitterPassThrough, SplitterResizeEndEvent, SplitterResizeEvent, SplitterResizeStartEvent, SplitterStateStorage } from 'primeng/types/splitter';\nimport { SplitterPanel } from './splitterpanel';\nimport { SplitterStyle } from './style/splitterstyle';\n\n/**\n * Runtime configuration of a panel, resolved either from a SplitterPanel component or from the\n * array-based inputs (minSizes/panelSizes) for backward compatibility.\n */\ninterface SplitterPanelMeta {\n minSize: number;\n maxSize: number;\n collapsible: boolean;\n collapsedSize: number;\n size: number | undefined;\n}\n\ninterface SplitterPanelInfo extends SplitterPanelMeta {\n index: number;\n collapsed: boolean;\n}\n\n/**\n * Splitter is utilized to separate and resize panels.\n * @group Components\n */\n@Component({\n selector: 'p-splitter',\n standalone: true,\n imports: [NgTemplateOutlet, SharedModule, BindModule],\n template: `\n @for (panel of panels(); track $index; let i = $index) {\n <div\n [pBind]=\"ptm('panel')\"\n [class]=\"panelClass()[i]\"\n [style]=\"panelInlineStyle()[i]\"\n [style.flex]=\"panelFlex()[i]\"\n [style.overflow]=\"'hidden'\"\n [style.min-width]=\"layout() === 'horizontal' ? '0' : null\"\n [style.min-height]=\"layout() === 'vertical' ? '0' : null\"\n tabindex=\"-1\"\n [attr.data-index]=\"i\"\n [attr.data-collapsed]=\"collapsed()[i] ? '' : null\"\n [attr.data-resizing]=\"isResizing() && resizingIndex() === i ? '' : null\"\n >\n <ng-container *ngTemplateOutlet=\"panel\"></ng-container>\n </div>\n @if (i !== panels().length - 1) {\n <div\n [pBind]=\"ptm('gutter')\"\n [class]=\"cx('gutter')\"\n role=\"separator\"\n [attr.tabindex]=\"disabled() ? -1 : 0\"\n [attr.aria-orientation]=\"layout()\"\n [attr.aria-valuenow]=\"prevSize\"\n [attr.aria-valuemin]=\"round(panelMetas()[i]?.minSize)\"\n [attr.aria-valuemax]=\"round(100 - (panelMetas()[i + 1]?.minSize ?? 0))\"\n [attr.aria-disabled]=\"disabled() || null\"\n [attr.data-orientation]=\"layout()\"\n [attr.data-resizing]=\"isResizing() && resizingIndex() === i ? '' : null\"\n [attr.data-disabled]=\"disabled() ? '' : null\"\n [style]=\"gutterInlineStyle()\"\n (pointerdown)=\"onGutterPointerDown($event, i)\"\n (keyup)=\"onGutterKeyUp($event)\"\n (keydown)=\"onGutterKeyDown($event, i)\"\n >\n <div [pBind]=\"ptm('gutterHandle')\" [class]=\"cx('gutterHandle')\" [attr.data-orientation]=\"layout()\" [attr.data-resizing]=\"isResizing() && resizingIndex() === i ? '' : null\"></div>\n </div>\n }\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'rootClass()',\n '[attr.data-orientation]': 'layout()',\n '[attr.data-resizing]': 'dataResizing()',\n '[attr.data-disabled]': \"disabled() ? '' : null\",\n '[attr.data-p]': 'dataP()'\n },\n providers: [SplitterStyle, { provide: PARENT_INSTANCE, useExisting: Splitter }],\n hostDirectives: [Bind]\n})\nexport class Splitter extends BaseComponent<SplitterPassThrough> {\n componentName = 'Splitter';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass = input<string>();\n\n /**\n * Style class of the panel.\n * @group Props\n */\n panelStyleClass = input<string>();\n\n /**\n * Inline style of the panel.\n * @group Props\n */\n panelStyle = input<CSSProperties>();\n\n /**\n * Defines where a stateful splitter keeps its state, valid values are 'session' for sessionStorage and 'local' for localStorage.\n * @group Props\n */\n stateStorage = input<SplitterStateStorage>('session');\n\n /**\n * Storage identifier of a stateful Splitter.\n * @group Props\n */\n stateKey = input<string | null>(null);\n\n /**\n * Orientation of the panels. Valid values are 'horizontal' and 'vertical'.\n * @group Props\n */\n layout = input<SplitterLayout>('horizontal');\n\n /**\n * Size of the divider in pixels.\n * @group Props\n */\n gutterSize = input(1, { transform: numberAttribute });\n\n /**\n * Step factor to increment/decrement the size of the panels while pressing the arrow keys.\n * @group Props\n */\n step = input(5, { transform: numberAttribute });\n\n /**\n * Minimum size of the elements relative to 100%. Used when panels are defined via `#panel` templates;\n * when SplitterPanel components are used, the per-panel `minSize` input takes precedence.\n * @group Props\n */\n minSizes = input<number[]>([]);\n\n /**\n * Size of the elements relative to 100%. Used when panels are defined via `#panel` templates;\n * when SplitterPanel components are used, the per-panel `size` input takes precedence.\n * @group Props\n */\n panelSizes = input<number[]>([]);\n\n /**\n * When present, it disables the component and prevents resizing.\n * @defaultValue false\n * @group Props\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Callback to invoke when resize ends.\n * @param {SplitterResizeEndEvent} event - Custom panel resize end event\n * @group Emits\n */\n onResizeEnd = output<SplitterResizeEndEvent>();\n\n /**\n * Callback to invoke when resize starts.\n * @param {SplitterResizeStartEvent} event - Custom panel resize start event\n * @group Emits\n */\n onResizeStart = output<SplitterResizeStartEvent>();\n\n /**\n * Callback to invoke continuously while a gutter is being dragged.\n * @param {SplitterResizeEvent} event - Custom panel resize event\n * @group Emits\n */\n onResize = output<SplitterResizeEvent>();\n\n /**\n * Callback to invoke when a collapsible panel collapses or expands.\n * @param {SplitterCollapseEvent} event - Custom collapse event\n * @group Emits\n */\n onCollapse = output<SplitterCollapseEvent>();\n\n /**\n * Panels declared via SplitterPanel components.\n * @ignore\n */\n panelComponents = contentChildren(SplitterPanel);\n\n /**\n * Panels declared via `<ng-template #panel>` (backward compatible API).\n * @ignore\n */\n panelChildren = contentChildren<TemplateRef<void>>('panel');\n\n /**\n * Resolved panel content templates, sourced from SplitterPanel components when present,\n * otherwise from `#panel` templates.\n */\n panels = computed<TemplateRef<any>[]>(() => {\n const components = this.panelComponents();\n\n if (components && components.length) {\n const templates = components.map((panel) => panel.contentTemplate());\n return templates.every((template): template is TemplateRef<any> => !!template) ? (templates as TemplateRef<any>[]) : [];\n }\n\n return [...this.panelChildren()];\n });\n\n /**\n * Resolved per-panel configuration (min/max/collapsible/collapsedSize/size).\n */\n panelMetas = computed<SplitterPanelMeta[]>(() => {\n const components = this.panelComponents();\n\n if (components && components.length) {\n return components.map((panel) => ({\n minSize: panel.minSize() ?? 0,\n maxSize: panel.maxSize() ?? 100,\n collapsible: panel.collapsible() ?? false,\n collapsedSize: panel.collapsedSize() ?? 0,\n size: panel.size()\n }));\n }\n\n const count = this.panelChildren().length;\n const minSizes = this.minSizes();\n const panelSizes = this.panelSizes();\n\n return Array.from({ length: count }, (_, i) => ({\n minSize: minSizes[i] ?? 0,\n maxSize: 100,\n collapsible: false,\n collapsedSize: 0,\n size: panelSizes[i]\n }));\n });\n\n /**\n * Value-based signature of the panel configuration. Lets the (re)initialization effect ignore\n * array-literal input bindings that change identity but not value on every parent change detection.\n */\n panelSignature = computed(() => {\n const metaSig = this.panelMetas()\n .map((meta) => `${meta.size ?? ''}:${meta.minSize}:${meta.maxSize}:${meta.collapsible}:${meta.collapsedSize}`)\n .join(',');\n\n return `${metaSig}#${this.panelSizes().join(',')}`;\n });\n\n /**\n * Class for each panel wrapper: the base panel class plus the splitter-level `panelStyleClass`\n * and the `class` set directly on the matching SplitterPanel.\n */\n panelClass = computed(() => {\n const components = this.panelComponents();\n const base = this.cn(this.cx('panel'), this.panelStyleClass());\n\n return this.panels().map((_, i) => this.cn(base, components[i]?.hostClass));\n });\n\n /**\n * Inline style for each panel wrapper: the `style` set directly on the matching SplitterPanel,\n * falling back to the splitter-level `panelStyle`.\n */\n panelInlineStyle = computed(() => {\n const components = this.panelComponents();\n const fallback = this.panelStyle();\n\n return this.panels().map((_, i) => components[i]?.hostStyle ?? fallback);\n });\n\n dragging: boolean = false;\n\n isResizing = signal(false);\n\n resizingIndex = signal<number | null>(null);\n\n collapsed = signal<boolean[]>([]);\n\n /**\n * Flex values applied to each panel wrapper, e.g. `35 1 0px`. Bound declaratively so panel sizing\n * never depends on imperative DOM timing.\n */\n panelFlex = signal<string[]>([]);\n\n dataResizing = computed(() => (this.isResizing() ? '' : null));\n\n pointerMoveListener: VoidListener;\n\n pointerUpListener: VoidListener;\n\n size: Nullable<number>;\n\n gutterElement: Nullable<ElementRef | HTMLElement>;\n\n startPos: Nullable<number>;\n\n _panelSizes: number[] = [];\n\n panelRegistry: SplitterPanelInfo[] = [];\n\n initialSizes: number[] = [];\n\n initialCollapsed: boolean[] = [];\n\n reportedCollapsed: boolean[] = [];\n\n initialTotal: number = 100;\n\n prevPanelIndex: Nullable<number>;\n\n timer: ReturnType<typeof setTimeout> | undefined;\n\n prevSize: string | undefined;\n\n _componentStyle = inject(SplitterStyle);\n\n rootClass = computed(() => this.cn(this.cx('root'), this.styleClass()));\n\n constructor() {\n super();\n effect(() => {\n // Re-initialize whenever the set of panels or their (value-based) size configuration changes.\n const panels = this.panels();\n this.panelSignature();\n\n if (!isPlatformBrowser(this.platformId) || panels.length === 0) {\n return;\n }\n\n // Never clobber sizes mid-drag; the resizing flag is read untracked so ending a drag\n // does not by itself re-trigger initialization.\n if (untracked(() => this.isResizing())) {\n return;\n }\n\n this.initializePanels();\n });\n }\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n buildPanelRegistry() {\n const metas = this.panelMetas();\n const prev = this.panelRegistry ?? [];\n\n this.panelRegistry = metas.map((meta, i) => ({\n index: i,\n minSize: meta.minSize ?? 0,\n maxSize: meta.maxSize ?? 100,\n collapsible: meta.collapsible ?? false,\n collapsedSize: meta.collapsedSize ?? 0,\n size: meta.size,\n collapsed: prev[i]?.collapsed ?? false\n }));\n }\n\n initializePanels() {\n const panels = this.panels();\n\n if (!panels.length) {\n return;\n }\n\n this.buildPanelRegistry();\n\n let initialized = false;\n\n if (this.isStateful()) {\n initialized = this.restoreState();\n }\n\n if (!initialized) {\n const _panelSizes: number[] = [];\n const inputPanelSizes = this.panelSizes();\n\n panels.forEach((_, i) => {\n const meta = this.panelRegistry[i];\n // Splitter-level `panelSizes` takes precedence, then the panel's own `size`, then an equal split.\n _panelSizes[i] = inputPanelSizes[i] ?? meta?.size ?? 100 / panels.length;\n });\n\n this.panelRegistry.forEach((info, i) => {\n if (info?.collapsible) {\n info.collapsed = _panelSizes[i] <= (info.collapsedSize ?? 0);\n }\n });\n\n this._panelSizes = _panelSizes;\n this.prevSize = parseFloat(String(_panelSizes[0])).toFixed(4);\n }\n\n this.syncCollapsedState();\n this.updateFlex();\n }\n\n updateFlex() {\n this.panelFlex.set(this._panelSizes.map((panelSize) => panelSize + ' 1 0px'));\n }\n\n syncCollapsedState() {\n this.collapsed.set(this.panelRegistry.map((info) => info.collapsed));\n }\n\n getPanelMinSize(index: number): number {\n return this.panelRegistry?.[index]?.minSize ?? 0;\n }\n\n getPanelMaxSize(index: number): number {\n return this.panelRegistry?.[index]?.maxSize ?? 100;\n }\n\n resizeStart(event: PointerEvent | KeyboardEvent, index: number, isKeyDown?: boolean) {\n const currentTarget = (event.currentTarget as HTMLElement) || (event.target as HTMLElement);\n\n if (currentTarget) {\n this.gutterElement = currentTarget;\n }\n\n const panelElements = (this.el as ElementRef).nativeElement.querySelectorAll(':scope > [data-index]');\n let totalPanelPx = 0;\n\n for (const el of panelElements) {\n const rect = el.getBoundingClientRect();\n totalPanelPx += this.horizontal() ? rect.width : rect.height;\n }\n\n this.size = totalPanelPx;\n\n if (!isKeyDown) {\n const pointerEvent = event as PointerEvent;\n\n this.dragging = true;\n this.startPos = this.horizontal() ? pointerEvent.pageX : pointerEvent.pageY;\n this.isResizing.set(true);\n this.resizingIndex.set(index);\n }\n\n this.initialSizes = [...this._panelSizes];\n this.initialCollapsed = this.panelRegistry.map((info) => info.collapsed);\n this.reportedCollapsed = this.panelRegistry.map((info) => info.collapsed);\n this.initialTotal = this.initialSizes.reduce((a, b) => a + b, 0) || 100;\n this.prevPanelIndex = index;\n\n if (!isKeyDown) {\n this.onResizeStart.emit({ originalEvent: event, sizes: [...this._panelSizes] });\n }\n }\n\n onResizeMove(event: PointerEvent | KeyboardEvent, step?: number, isKeyDown?: boolean) {\n if (this.size === null || this.prevPanelIndex === null || this.initialSizes.length === 0) {\n return;\n }\n\n const gutterIdx = this.prevPanelIndex!;\n const total = this.initialTotal;\n let delta: number;\n\n if (isKeyDown) {\n delta = (total * (step ?? 0)) / this.size!;\n } else {\n const pointerEvent = event as PointerEvent;\n const pos = this.horizontal() ? pointerEvent.pageX : pointerEvent.pageY;\n\n if (this.horizontal() && isRTL(this.el.nativeElement)) {\n delta = (((this.startPos ?? 0) - pos) * total) / this.size!;\n } else {\n delta = ((pos - (this.startPos ?? 0)) * total) / this.size!;\n }\n }\n\n const newSizes = [...this.initialSizes];\n\n this.panelRegistry.forEach((info, i) => {\n if (this.initialCollapsed[i] !== undefined) {\n info.collapsed = this.initialCollapsed[i];\n }\n });\n\n if (delta > 0) {\n this.distribute(newSizes, gutterIdx, delta, isKeyDown, 'forward');\n } else if (delta < 0) {\n this.distribute(newSizes, gutterIdx + 1, -delta, isKeyDown, 'backward');\n }\n\n this.panelRegistry.forEach((info, i) => {\n if (info.collapsed !== this.reportedCollapsed[i]) {\n this.reportedCollapsed[i] = info.collapsed;\n this.onCollapse.emit({ index: i, collapsed: info.collapsed, sizes: [...newSizes] });\n }\n });\n\n this._panelSizes = newSizes;\n this.prevSize = newSizes[gutterIdx].toFixed(4);\n\n this.updateFlex();\n this.syncCollapsedState();\n this.onResize.emit({ originalEvent: event, sizes: [...newSizes] });\n }\n\n distribute(newSizes: number[], growIdx: number, requested: number, isKeyDown: boolean | undefined, direction: 'forward' | 'backward') {\n const growInfo = this.panelRegistry[growIdx];\n const max = this.getPanelMaxSize(growIdx);\n let toGrow = Math.min(requested, Math.max(0, max - newSizes[growIdx]));\n\n if (growInfo?.collapsible && growInfo.collapsed) {\n // Re-open symmetrically: any outward drag/step pops a collapsed panel back to (at least) its minimum size.\n const gapSize = this.getPanelMinSize(growIdx) - growInfo.collapsedSize;\n\n toGrow = Math.max(toGrow, gapSize);\n toGrow = Math.min(toGrow, Math.max(0, max - newSizes[growIdx]));\n }\n\n let shrunk = 0;\n const range = direction === 'forward' ? this.range(growIdx + 1, newSizes.length, 1) : this.range(growIdx - 1, -1, -1);\n\n for (const i of range) {\n if (shrunk >= toGrow) break;\n\n const info = this.panelRegistry[i];\n const min = this.getPanelMinSize(i);\n\n if (info?.collapsed) continue;\n\n const effectiveMin = info?.collapsible ? (info.collapsedSize ?? 0) : min;\n const available = Math.max(0, newSizes[i] - effectiveMin);\n const amount = Math.min(toGrow - shrunk, available);\n const rawSize = newSizes[i] - amount;\n\n const validated = this.validatePanelSize(rawSize, info, min, isKeyDown);\n const actualShrunk = newSizes[i] - validated.size;\n\n newSizes[i] = validated.size;\n shrunk += actualShrunk;\n\n if (info) info.collapsed = validated.collapsed;\n }\n\n newSizes[growIdx] += shrunk;\n\n if (growInfo?.collapsible && growInfo.collapsed && newSizes[growIdx] >= this.getPanelMinSize(growIdx)) {\n growInfo.collapsed = false;\n }\n }\n\n validatePanelSize(rawSize: number, info: SplitterPanelInfo | undefined, min: number, isKeyDown: boolean | undefined): { size: number; collapsed: boolean } {\n if (!info?.collapsible) {\n return { size: Math.max(rawSize, min), collapsed: false };\n }\n\n const collapsedSize = info.collapsedSize ?? 0;\n\n if (rawSize >= min) {\n return { size: rawSize, collapsed: false };\n }\n\n // The panel stops shrinking at its minimum size; the moment the user keeps dragging (or\n // stepping) past that minimum, a collapsible panel snaps to its collapsed state.\n return { size: collapsedSize, collapsed: true };\n }\n\n range(start: number, end: number, step: number): number[] {\n const out: number[] = [];\n\n for (let i = start; step > 0 ? i < end : i > end; i += step) out.push(i);\n\n return out;\n }\n\n resizeEnd(event: PointerEvent | KeyboardEvent) {\n if (this.isStateful()) {\n this.saveState();\n }\n\n this.onResizeEnd.emit({ originalEvent: event, sizes: [...this._panelSizes] });\n this.isResizing.set(false);\n this.resizingIndex.set(null);\n this.updateFlex();\n this.clear();\n }\n\n onGutterPointerDown(event: PointerEvent, index: number) {\n if (this.disabled()) {\n return;\n }\n\n this.resizeStart(event, index);\n this.bindPointerListeners();\n }\n\n repeat(event: KeyboardEvent, index: number, step: number) {\n this.resizeStart(event, index, true);\n this.onResizeMove(event, step, true);\n }\n\n setTimer(event: KeyboardEvent, index: number, step: number) {\n if (!this.timer) {\n this.onResizeStart.emit({ originalEvent: event, sizes: [...this._panelSizes] });\n this.repeat(event, index, step);\n this.timer = setInterval(() => {\n this.repeat(event, index, step);\n }, 40);\n }\n }\n\n clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n }\n\n onGutterKeyUp(event: KeyboardEvent) {\n if (!this.timer) return;\n this.clearTimer();\n this.resizeEnd(event);\n }\n\n onGutterKeyDown(event: KeyboardEvent, index: number) {\n if (this.disabled()) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft': {\n if (this.layout() === 'horizontal') {\n this.setTimer(event, index, this.step() * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n if (this.layout() === 'horizontal') {\n this.setTimer(event, index, this.step());\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown': {\n if (this.layout() === 'vertical') {\n this.setTimer(event, index, this.step());\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n if (this.layout() === 'vertical') {\n this.setTimer(event, index, this.step() * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n }\n\n bindPointerListeners() {\n if (!this.pointerMoveListener) {\n this.pointerMoveListener = this.renderer.listen(this.document, 'pointermove', (event: PointerEvent) => {\n this.onResizeMove(event);\n });\n }\n\n if (!this.pointerUpListener) {\n this.pointerUpListener = this.renderer.listen(this.document, 'pointerup', (event: PointerEvent) => {\n this.resizeEnd(event);\n this.unbindPointerListeners();\n });\n }\n }\n\n unbindPointerListeners() {\n if (this.pointerMoveListener) {\n this.pointerMoveListener();\n this.pointerMoveListener = null;\n }\n\n if (this.pointerUpListener) {\n this.pointerUpListener();\n this.pointerUpListener = null;\n }\n }\n\n clear() {\n this.dragging = false;\n this.size = null;\n this.startPos = null;\n this.initialSizes = [];\n this.initialCollapsed = [];\n this.reportedCollapsed = [];\n this.initialTotal = 100;\n this.gutterElement = null;\n this.prevPanelIndex = null;\n }\n\n isStateful() {\n return this.stateKey() != null;\n }\n\n getStorage() {\n if (isPlatformBrowser(this.platformId)) {\n switch (this.stateStorage()) {\n case 'local':\n return this.document.defaultView?.localStorage;\n\n case 'session':\n return this.document.defaultView?.sessionStorage;\n\n default:\n throw new Error(this.stateStorage() + ' is not a valid value for the state storage, supported values are \"local\" and \"session\".');\n }\n } else {\n throw new Error('Storage is not a available by default on the server.');\n }\n }\n\n saveState() {\n this.getStorage()?.setItem(this.stateKey()!, JSON.stringify(this._panelSizes));\n }\n\n restoreState() {\n const storage = this.getStorage();\n const stateString = storage?.getItem(this.stateKey()!);\n\n if (stateString) {\n this._panelSizes = JSON.parse(stateString);\n\n this.panelRegistry.forEach((info, i) => {\n if (info?.collapsible) {\n info.collapsed = this._panelSizes[i] <= (info.collapsedSize ?? 0);\n }\n });\n\n this.prevSize = parseFloat(String(this._panelSizes[0])).toFixed(4);\n\n return true;\n }\n\n return false;\n }\n\n /**\n * Resets the panel sizes using the stored state (for a stateful Splitter), the configured\n * sizes, or the default equal distribution.\n */\n resetState() {\n this.initializePanels();\n }\n\n gutterInlineStyle() {\n return {\n 'touch-action': 'none',\n 'user-select': 'none',\n ...(this.horizontal() ? { width: this.gutterSize() + 'px' } : { height: this.gutterSize() + 'px' })\n };\n }\n\n horizontal() {\n return this.layout() === 'horizontal';\n }\n\n round(value: number | undefined): number {\n return Math.round(value ?? 0);\n }\n\n onDestroy() {\n this.unbindPointerListeners();\n this.clearTimer();\n }\n\n dataP = computed(() => {\n return this.cn({\n [this.layout()!]: this.layout(),\n resizing: this.isResizing(),\n disabled: this.disabled()\n });\n });\n}\n\n@NgModule({\n imports: [Splitter, SplitterPanel, SharedModule, BindModule],\n exports: [Splitter, SplitterPanel, SharedModule, BindModule]\n})\nexport class SplitterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-splitter.mjs","sources":["../../src/splitter/style/splitterstyle.ts","../../src/splitter/splitterpanel.ts","../../src/splitter/splitter.ts","../../src/splitter/primeng-splitter.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/splitter';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => ['p-splitter p-component', 'p-splitter-' + instance.layout()],\n panel: 'p-splitter-panel',\n gutter: 'p-splitter-gutter',\n gutterHandle: 'p-splitter-gutter-handle'\n};\n\n@Injectable()\nexport class SplitterStyle extends BaseStyle {\n name = 'splitter';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Splitter is utilized to separate and resize panels.\n *\n * [Live Demo](https://www.primeng.org/splitter/)\n *\n * @module splitterstyle\n *\n */\nexport enum SplitterClasses {\n /**\n * Class name of the root element\n */\n root = 'p-splitter',\n /**\n * Class name of the panel element\n */\n panel = 'p-splitter-panel',\n /**\n * Class name of the gutter element\n */\n gutter = 'p-splitter-gutter',\n /**\n * Class name of the handle element\n */\n gutterHandle = 'p-splitter-gutter-handle'\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, numberAttribute, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport type { SplitterPanelPassThrough } from 'primeng/types/splitter';\nimport { SplitterStyle } from './style/splitterstyle';\n\n/**\n * SplitterPanel is a helper component for Splitter, used to define a single resizable panel\n * together with its size constraints (min/max size, collapsible behavior).\n * @group Components\n */\n@Component({\n selector: 'p-splitterpanel, p-splitter-panel',\n standalone: true,\n template: `\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [Bind],\n providers: [SplitterStyle, { provide: PARENT_INSTANCE, useExisting: SplitterPanel }]\n})\nexport class SplitterPanel extends BaseComponent<SplitterPanelPassThrough> {\n componentName = 'SplitterPanel';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Initial size of the panel relative to 100%.\n * @group Props\n */\n size = input<number | undefined>(undefined, { transform: (value: unknown) => (value == null ? undefined : numberAttribute(value)) });\n\n /**\n * Minimum size of the panel relative to 100%.\n * @defaultValue 0\n * @group Props\n */\n minSize = input(0, { transform: numberAttribute });\n\n /**\n * Maximum size of the panel relative to 100%.\n * @defaultValue 100\n * @group Props\n */\n maxSize = input(100, { transform: numberAttribute });\n\n /**\n * When enabled, the panel can collapse below its `minSize` down to `collapsedSize`.\n * @defaultValue false\n * @group Props\n */\n collapsible = input(false, { transform: booleanAttribute });\n\n /**\n * Size of the panel when collapsed, relative to 100%.\n * @defaultValue 0\n * @group Props\n */\n collapsedSize = input(0, { transform: numberAttribute });\n\n /**\n * @ignore\n * Content of the panel, stamped by the parent Splitter into the panel wrapper.\n */\n contentTemplate = viewChild<TemplateRef<any>>('content');\n\n /**\n * @ignore\n * `class`/`style` set directly on the `<p-splitterpanel>` element are forwarded by the parent\n * Splitter onto the panel it renders, so authors can style the panel inline as expected.\n */\n get hostClass(): string {\n return this.el.nativeElement.className;\n }\n\n get hostStyle(): string | null {\n return this.el.nativeElement.getAttribute('style');\n }\n\n _componentStyle = inject(SplitterStyle);\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('root'));\n }\n}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, effect, ElementRef, inject, input, NgModule, numberAttribute, output, signal, TemplateRef, untracked, ViewEncapsulation } from '@angular/core';\nimport { isRTL } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport type { CSSProperties } from 'primeng/types/shared';\nimport type { SplitterCollapseEvent, SplitterLayout, SplitterPassThrough, SplitterResizeEndEvent, SplitterResizeEvent, SplitterResizeStartEvent, SplitterStateStorage } from 'primeng/types/splitter';\nimport { SplitterPanel } from './splitterpanel';\nimport { SplitterStyle } from './style/splitterstyle';\n\n/**\n * Runtime configuration of a panel, resolved either from a SplitterPanel component or from the\n * array-based inputs (minSizes/panelSizes) for backward compatibility.\n */\ninterface SplitterPanelMeta {\n minSize: number;\n maxSize: number;\n collapsible: boolean;\n collapsedSize: number;\n size: number | undefined;\n}\n\ninterface SplitterPanelInfo extends SplitterPanelMeta {\n index: number;\n collapsed: boolean;\n}\n\n/**\n * Splitter is utilized to separate and resize panels.\n * @group Components\n */\n@Component({\n selector: 'p-splitter',\n standalone: true,\n imports: [NgTemplateOutlet, SharedModule, BindModule],\n template: `\n @for (panel of panels(); track $index; let i = $index) {\n <div\n [pBind]=\"ptm('panel')\"\n [class]=\"panelClass()[i]\"\n [style]=\"panelInlineStyle()[i]\"\n [style.flex]=\"panelFlex()[i]\"\n [style.overflow]=\"'hidden'\"\n [style.min-width]=\"layout() === 'horizontal' ? '0' : null\"\n [style.min-height]=\"layout() === 'vertical' ? '0' : null\"\n tabindex=\"-1\"\n [attr.data-index]=\"i\"\n [attr.data-collapsed]=\"collapsed()[i] ? '' : null\"\n [attr.data-resizing]=\"isResizing() && resizingIndex() === i ? '' : null\"\n >\n <ng-container *ngTemplateOutlet=\"panel\"></ng-container>\n </div>\n @if (i !== panels().length - 1) {\n <div\n [pBind]=\"ptm('gutter')\"\n [class]=\"cx('gutter')\"\n role=\"separator\"\n [attr.tabindex]=\"disabled() ? -1 : 0\"\n [attr.aria-orientation]=\"layout()\"\n [attr.aria-valuenow]=\"prevSize\"\n [attr.aria-valuemin]=\"round(panelMetas()[i]?.minSize)\"\n [attr.aria-valuemax]=\"round(100 - (panelMetas()[i + 1]?.minSize ?? 0))\"\n [attr.aria-disabled]=\"disabled() || null\"\n [attr.data-orientation]=\"layout()\"\n [attr.data-resizing]=\"isResizing() && resizingIndex() === i ? '' : null\"\n [attr.data-disabled]=\"disabled() ? '' : null\"\n [style]=\"gutterInlineStyle()\"\n (pointerdown)=\"onGutterPointerDown($event, i)\"\n (keyup)=\"onGutterKeyUp($event)\"\n (keydown)=\"onGutterKeyDown($event, i)\"\n >\n <div [pBind]=\"ptm('gutterHandle')\" [class]=\"cx('gutterHandle')\" [attr.data-orientation]=\"layout()\" [attr.data-resizing]=\"isResizing() && resizingIndex() === i ? '' : null\"></div>\n </div>\n }\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'rootClass()',\n '[attr.data-orientation]': 'layout()',\n '[attr.data-resizing]': 'dataResizing()',\n '[attr.data-disabled]': \"disabled() ? '' : null\",\n '[attr.data-p]': 'dataP()'\n },\n providers: [SplitterStyle, { provide: PARENT_INSTANCE, useExisting: Splitter }],\n hostDirectives: [Bind]\n})\nexport class Splitter extends BaseComponent<SplitterPassThrough> {\n componentName = 'Splitter';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass = input<string>();\n\n /**\n * Style class of the panel.\n * @group Props\n */\n panelStyleClass = input<string>();\n\n /**\n * Inline style of the panel.\n * @group Props\n */\n panelStyle = input<CSSProperties>();\n\n /**\n * Defines where a stateful splitter keeps its state, valid values are 'session' for sessionStorage and 'local' for localStorage.\n * @group Props\n */\n stateStorage = input<SplitterStateStorage>('session');\n\n /**\n * Storage identifier of a stateful Splitter.\n * @group Props\n */\n stateKey = input<string | null>(null);\n\n /**\n * Orientation of the panels. Valid values are 'horizontal' and 'vertical'.\n * @group Props\n */\n layout = input<SplitterLayout>('horizontal');\n\n /**\n * Size of the divider in pixels.\n * @group Props\n */\n gutterSize = input(1, { transform: numberAttribute });\n\n /**\n * Step factor to increment/decrement the size of the panels while pressing the arrow keys.\n * @group Props\n */\n step = input(5, { transform: numberAttribute });\n\n /**\n * Minimum size of the elements relative to 100%. Used when panels are defined via `#panel` templates;\n * when SplitterPanel components are used, the per-panel `minSize` input takes precedence.\n * @group Props\n */\n minSizes = input<number[]>([]);\n\n /**\n * Size of the elements relative to 100%. Used when panels are defined via `#panel` templates;\n * when SplitterPanel components are used, the per-panel `size` input takes precedence.\n * @group Props\n */\n panelSizes = input<number[]>([]);\n\n /**\n * When present, it disables the component and prevents resizing.\n * @defaultValue false\n * @group Props\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Callback to invoke when resize ends.\n * @param {SplitterResizeEndEvent} event - Custom panel resize end event\n * @group Emits\n */\n onResizeEnd = output<SplitterResizeEndEvent>();\n\n /**\n * Callback to invoke when resize starts.\n * @param {SplitterResizeStartEvent} event - Custom panel resize start event\n * @group Emits\n */\n onResizeStart = output<SplitterResizeStartEvent>();\n\n /**\n * Callback to invoke continuously while a gutter is being dragged.\n * @param {SplitterResizeEvent} event - Custom panel resize event\n * @group Emits\n */\n onResize = output<SplitterResizeEvent>();\n\n /**\n * Callback to invoke when a collapsible panel collapses or expands.\n * @param {SplitterCollapseEvent} event - Custom collapse event\n * @group Emits\n */\n onCollapse = output<SplitterCollapseEvent>();\n\n /**\n * Panels declared via SplitterPanel components.\n * @ignore\n */\n panelComponents = contentChildren(SplitterPanel);\n\n /**\n * Panels declared via `<ng-template #panel>` (backward compatible API).\n * @ignore\n */\n panelChildren = contentChildren<TemplateRef<void>>('panel');\n\n /**\n * Resolved panel content templates, sourced from SplitterPanel components when present,\n * otherwise from `#panel` templates.\n */\n panels = computed<TemplateRef<any>[]>(() => {\n const components = this.panelComponents();\n\n if (components && components.length) {\n const templates = components.map((panel) => panel.contentTemplate());\n\n return templates.every((template): template is TemplateRef<any> => !!template) ? (templates as TemplateRef<any>[]) : [];\n }\n\n return [...this.panelChildren()];\n });\n\n /**\n * Resolved per-panel configuration (min/max/collapsible/collapsedSize/size).\n */\n panelMetas = computed<SplitterPanelMeta[]>(() => {\n const components = this.panelComponents();\n\n if (components && components.length) {\n return components.map((panel) => ({\n minSize: panel.minSize() ?? 0,\n maxSize: panel.maxSize() ?? 100,\n collapsible: panel.collapsible() ?? false,\n collapsedSize: panel.collapsedSize() ?? 0,\n size: panel.size()\n }));\n }\n\n const count = this.panelChildren().length;\n const minSizes = this.minSizes();\n const panelSizes = this.panelSizes();\n\n return Array.from({ length: count }, (_, i) => ({\n minSize: minSizes[i] ?? 0,\n maxSize: 100,\n collapsible: false,\n collapsedSize: 0,\n size: panelSizes[i]\n }));\n });\n\n /**\n * Value-based signature of the panel configuration. Lets the (re)initialization effect ignore\n * array-literal input bindings that change identity but not value on every parent change detection.\n */\n panelSignature = computed(() => {\n const metaSig = this.panelMetas()\n .map((meta) => `${meta.size ?? ''}:${meta.minSize}:${meta.maxSize}:${meta.collapsible}:${meta.collapsedSize}`)\n .join(',');\n\n return `${metaSig}#${this.panelSizes().join(',')}`;\n });\n\n /**\n * Class for each panel wrapper: the base panel class plus the splitter-level `panelStyleClass`\n * and the `class` set directly on the matching SplitterPanel.\n */\n panelClass = computed(() => {\n const components = this.panelComponents();\n const base = this.cn(this.cx('panel'), this.panelStyleClass());\n\n return this.panels().map((_, i) => this.cn(base, components[i]?.hostClass));\n });\n\n /**\n * Inline style for each panel wrapper: the `style` set directly on the matching SplitterPanel,\n * falling back to the splitter-level `panelStyle`.\n */\n panelInlineStyle = computed(() => {\n const components = this.panelComponents();\n const fallback = this.panelStyle();\n\n return this.panels().map((_, i) => components[i]?.hostStyle ?? fallback);\n });\n\n dragging: boolean = false;\n\n isResizing = signal(false);\n\n resizingIndex = signal<number | null>(null);\n\n collapsed = signal<boolean[]>([]);\n\n /**\n * Flex values applied to each panel wrapper, e.g. `35 1 0px`. Bound declaratively so panel sizing\n * never depends on imperative DOM timing.\n */\n panelFlex = signal<string[]>([]);\n\n dataResizing = computed(() => (this.isResizing() ? '' : null));\n\n pointerMoveListener: VoidListener;\n\n pointerUpListener: VoidListener;\n\n size: Nullable<number>;\n\n gutterElement: Nullable<ElementRef | HTMLElement>;\n\n startPos: Nullable<number>;\n\n _panelSizes: number[] = [];\n\n panelRegistry: SplitterPanelInfo[] = [];\n\n initialSizes: number[] = [];\n\n initialCollapsed: boolean[] = [];\n\n reportedCollapsed: boolean[] = [];\n\n initialTotal: number = 100;\n\n prevPanelIndex: Nullable<number>;\n\n timer: ReturnType<typeof setTimeout> | undefined;\n\n prevSize: string | undefined;\n\n _componentStyle = inject(SplitterStyle);\n\n rootClass = computed(() => this.cn(this.cx('root'), this.styleClass()));\n\n constructor() {\n super();\n effect(() => {\n // Re-initialize whenever the set of panels or their (value-based) size configuration changes.\n const panels = this.panels();\n\n this.panelSignature();\n\n if (!isPlatformBrowser(this.platformId) || panels.length === 0) {\n return;\n }\n\n // Never clobber sizes mid-drag; the resizing flag is read untracked so ending a drag\n // does not by itself re-trigger initialization.\n if (untracked(() => this.isResizing())) {\n return;\n }\n\n this.initializePanels();\n });\n }\n\n dataP = computed(() =>\n this.cn({\n [this.layout()!]: this.layout(),\n resizing: this.isResizing(),\n disabled: this.disabled()\n })\n );\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n buildPanelRegistry() {\n const metas = this.panelMetas();\n const prev = this.panelRegistry ?? [];\n\n this.panelRegistry = metas.map((meta, i) => ({\n index: i,\n minSize: meta.minSize ?? 0,\n maxSize: meta.maxSize ?? 100,\n collapsible: meta.collapsible ?? false,\n collapsedSize: meta.collapsedSize ?? 0,\n size: meta.size,\n collapsed: prev[i]?.collapsed ?? false\n }));\n }\n\n initializePanels() {\n const panels = this.panels();\n\n if (!panels.length) {\n return;\n }\n\n this.buildPanelRegistry();\n\n let initialized = false;\n\n if (this.isStateful()) {\n initialized = this.restoreState();\n }\n\n if (!initialized) {\n const _panelSizes: number[] = [];\n const inputPanelSizes = this.panelSizes();\n\n panels.forEach((_, i) => {\n const meta = this.panelRegistry[i];\n\n // Splitter-level `panelSizes` takes precedence, then the panel's own `size`, then an equal split.\n _panelSizes[i] = inputPanelSizes[i] ?? meta?.size ?? 100 / panels.length;\n });\n\n this.panelRegistry.forEach((info, i) => {\n if (info?.collapsible) {\n info.collapsed = _panelSizes[i] <= (info.collapsedSize ?? 0);\n }\n });\n\n this._panelSizes = _panelSizes;\n this.prevSize = parseFloat(String(_panelSizes[0])).toFixed(4);\n }\n\n this.syncCollapsedState();\n this.updateFlex();\n }\n\n updateFlex() {\n this.panelFlex.set(this._panelSizes.map((panelSize) => panelSize + ' 1 0px'));\n }\n\n syncCollapsedState() {\n this.collapsed.set(this.panelRegistry.map((info) => info.collapsed));\n }\n\n getPanelMinSize(index: number): number {\n return this.panelRegistry?.[index]?.minSize ?? 0;\n }\n\n getPanelMaxSize(index: number): number {\n return this.panelRegistry?.[index]?.maxSize ?? 100;\n }\n\n resizeStart(event: PointerEvent | KeyboardEvent, index: number, isKeyDown?: boolean) {\n const currentTarget = (event.currentTarget as HTMLElement) || (event.target as HTMLElement);\n\n if (currentTarget) {\n this.gutterElement = currentTarget;\n }\n\n const panelElements = (this.el as ElementRef).nativeElement.querySelectorAll(':scope > [data-index]');\n let totalPanelPx = 0;\n\n for (const el of panelElements) {\n const rect = el.getBoundingClientRect();\n\n totalPanelPx += this.horizontal() ? rect.width : rect.height;\n }\n\n this.size = totalPanelPx;\n\n if (!isKeyDown) {\n const pointerEvent = event as PointerEvent;\n\n this.dragging = true;\n this.startPos = this.horizontal() ? pointerEvent.pageX : pointerEvent.pageY;\n this.isResizing.set(true);\n this.resizingIndex.set(index);\n }\n\n this.initialSizes = [...this._panelSizes];\n this.initialCollapsed = this.panelRegistry.map((info) => info.collapsed);\n this.reportedCollapsed = this.panelRegistry.map((info) => info.collapsed);\n this.initialTotal = this.initialSizes.reduce((a, b) => a + b, 0) || 100;\n this.prevPanelIndex = index;\n\n if (!isKeyDown) {\n this.onResizeStart.emit({ originalEvent: event, sizes: [...this._panelSizes] });\n }\n }\n\n onResizeMove(event: PointerEvent | KeyboardEvent, step?: number, isKeyDown?: boolean) {\n if (this.size === null || this.prevPanelIndex === null || this.initialSizes.length === 0) {\n return;\n }\n\n const gutterIdx = this.prevPanelIndex!;\n const total = this.initialTotal;\n let delta: number;\n\n if (isKeyDown) {\n delta = (total * (step ?? 0)) / this.size!;\n } else {\n const pointerEvent = event as PointerEvent;\n const pos = this.horizontal() ? pointerEvent.pageX : pointerEvent.pageY;\n\n if (this.horizontal() && isRTL(this.el.nativeElement)) {\n delta = (((this.startPos ?? 0) - pos) * total) / this.size!;\n } else {\n delta = ((pos - (this.startPos ?? 0)) * total) / this.size!;\n }\n }\n\n const newSizes = [...this.initialSizes];\n\n this.panelRegistry.forEach((info, i) => {\n if (this.initialCollapsed[i] !== undefined) {\n info.collapsed = this.initialCollapsed[i];\n }\n });\n\n if (delta > 0) {\n this.distribute(newSizes, gutterIdx, delta, isKeyDown, 'forward');\n } else if (delta < 0) {\n this.distribute(newSizes, gutterIdx + 1, -delta, isKeyDown, 'backward');\n }\n\n this.panelRegistry.forEach((info, i) => {\n if (info.collapsed !== this.reportedCollapsed[i]) {\n this.reportedCollapsed[i] = info.collapsed;\n this.onCollapse.emit({ index: i, collapsed: info.collapsed, sizes: [...newSizes] });\n }\n });\n\n this._panelSizes = newSizes;\n this.prevSize = newSizes[gutterIdx].toFixed(4);\n\n this.updateFlex();\n this.syncCollapsedState();\n this.onResize.emit({ originalEvent: event, sizes: [...newSizes] });\n }\n\n distribute(newSizes: number[], growIdx: number, requested: number, isKeyDown: boolean | undefined, direction: 'forward' | 'backward') {\n const growInfo = this.panelRegistry[growIdx];\n const max = this.getPanelMaxSize(growIdx);\n let toGrow = Math.min(requested, Math.max(0, max - newSizes[growIdx]));\n\n if (growInfo?.collapsible && growInfo.collapsed) {\n // Re-open symmetrically: any outward drag/step pops a collapsed panel back to (at least) its minimum size.\n const gapSize = this.getPanelMinSize(growIdx) - growInfo.collapsedSize;\n\n toGrow = Math.max(toGrow, gapSize);\n toGrow = Math.min(toGrow, Math.max(0, max - newSizes[growIdx]));\n }\n\n let shrunk = 0;\n const range = direction === 'forward' ? this.range(growIdx + 1, newSizes.length, 1) : this.range(growIdx - 1, -1, -1);\n\n for (const i of range) {\n if (shrunk >= toGrow) break;\n\n const info = this.panelRegistry[i];\n const min = this.getPanelMinSize(i);\n\n if (info?.collapsed) continue;\n\n const effectiveMin = info?.collapsible ? (info.collapsedSize ?? 0) : min;\n const available = Math.max(0, newSizes[i] - effectiveMin);\n const amount = Math.min(toGrow - shrunk, available);\n const rawSize = newSizes[i] - amount;\n\n const validated = this.validatePanelSize(rawSize, info, min, isKeyDown);\n const actualShrunk = newSizes[i] - validated.size;\n\n newSizes[i] = validated.size;\n shrunk += actualShrunk;\n\n if (info) info.collapsed = validated.collapsed;\n }\n\n newSizes[growIdx] += shrunk;\n\n if (growInfo?.collapsible && growInfo.collapsed && newSizes[growIdx] >= this.getPanelMinSize(growIdx)) {\n growInfo.collapsed = false;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n validatePanelSize(rawSize: number, info: SplitterPanelInfo | undefined, min: number, isKeyDown: boolean | undefined): { size: number; collapsed: boolean } {\n if (!info?.collapsible) {\n return { size: Math.max(rawSize, min), collapsed: false };\n }\n\n const collapsedSize = info.collapsedSize ?? 0;\n\n if (rawSize >= min) {\n return { size: rawSize, collapsed: false };\n }\n\n return { size: collapsedSize, collapsed: true };\n }\n\n range(start: number, end: number, step: number): number[] {\n const out: number[] = [];\n\n for (let i = start; step > 0 ? i < end : i > end; i += step) out.push(i);\n\n return out;\n }\n\n resizeEnd(event: PointerEvent | KeyboardEvent) {\n if (this.isStateful()) {\n this.saveState();\n }\n\n this.onResizeEnd.emit({ originalEvent: event, sizes: [...this._panelSizes] });\n this.isResizing.set(false);\n this.resizingIndex.set(null);\n this.updateFlex();\n this.clear();\n }\n\n onGutterPointerDown(event: PointerEvent, index: number) {\n if (this.disabled()) {\n return;\n }\n\n this.resizeStart(event, index);\n this.bindPointerListeners();\n }\n\n repeat(event: KeyboardEvent, index: number, step: number) {\n this.resizeStart(event, index, true);\n this.onResizeMove(event, step, true);\n }\n\n setTimer(event: KeyboardEvent, index: number, step: number) {\n if (!this.timer) {\n this.onResizeStart.emit({ originalEvent: event, sizes: [...this._panelSizes] });\n this.repeat(event, index, step);\n this.timer = setInterval(() => {\n this.repeat(event, index, step);\n }, 40);\n }\n }\n\n clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n }\n\n onGutterKeyUp(event: KeyboardEvent) {\n if (!this.timer) return;\n\n this.clearTimer();\n this.resizeEnd(event);\n }\n\n onGutterKeyDown(event: KeyboardEvent, index: number) {\n if (this.disabled()) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft': {\n if (this.layout() === 'horizontal') {\n this.setTimer(event, index, this.step() * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n if (this.layout() === 'horizontal') {\n this.setTimer(event, index, this.step());\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown': {\n if (this.layout() === 'vertical') {\n this.setTimer(event, index, this.step());\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n if (this.layout() === 'vertical') {\n this.setTimer(event, index, this.step() * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n }\n\n bindPointerListeners() {\n if (!this.pointerMoveListener) {\n this.pointerMoveListener = this.renderer.listen(this.document, 'pointermove', (event: PointerEvent) => {\n this.onResizeMove(event);\n });\n }\n\n if (!this.pointerUpListener) {\n this.pointerUpListener = this.renderer.listen(this.document, 'pointerup', (event: PointerEvent) => {\n this.resizeEnd(event);\n this.unbindPointerListeners();\n });\n }\n }\n\n unbindPointerListeners() {\n if (this.pointerMoveListener) {\n this.pointerMoveListener();\n this.pointerMoveListener = null;\n }\n\n if (this.pointerUpListener) {\n this.pointerUpListener();\n this.pointerUpListener = null;\n }\n }\n\n clear() {\n this.dragging = false;\n this.size = null;\n this.startPos = null;\n this.initialSizes = [];\n this.initialCollapsed = [];\n this.reportedCollapsed = [];\n this.initialTotal = 100;\n this.gutterElement = null;\n this.prevPanelIndex = null;\n }\n\n isStateful() {\n return this.stateKey() != null;\n }\n\n getStorage() {\n if (isPlatformBrowser(this.platformId)) {\n switch (this.stateStorage()) {\n case 'local':\n return this.document.defaultView?.localStorage;\n\n case 'session':\n return this.document.defaultView?.sessionStorage;\n\n default:\n throw new Error(this.stateStorage() + ' is not a valid value for the state storage, supported values are \"local\" and \"session\".');\n }\n } else {\n throw new Error('Storage is not a available by default on the server.');\n }\n }\n\n saveState() {\n this.getStorage()?.setItem(this.stateKey()!, JSON.stringify(this._panelSizes));\n }\n\n restoreState() {\n const storage = this.getStorage();\n const stateString = storage?.getItem(this.stateKey()!);\n\n if (stateString) {\n this._panelSizes = JSON.parse(stateString);\n\n this.panelRegistry.forEach((info, i) => {\n if (info?.collapsible) {\n info.collapsed = this._panelSizes[i] <= (info.collapsedSize ?? 0);\n }\n });\n\n this.prevSize = parseFloat(String(this._panelSizes[0])).toFixed(4);\n\n return true;\n }\n\n return false;\n }\n\n /**\n * Resets the panel sizes using the stored state (for a stateful Splitter), the configured\n * sizes, or the default equal distribution.\n */\n resetState() {\n this.initializePanels();\n }\n\n gutterInlineStyle() {\n return {\n 'touch-action': 'none',\n 'user-select': 'none',\n ...(this.horizontal() ? { width: this.gutterSize() + 'px' } : { height: this.gutterSize() + 'px' })\n };\n }\n\n horizontal() {\n return this.layout() === 'horizontal';\n }\n\n round(value: number | undefined): number {\n return Math.round(value ?? 0);\n }\n\n onDestroy() {\n this.unbindPointerListeners();\n this.clearTimer();\n }\n}\n\n@NgModule({\n imports: [Splitter, SplitterPanel, SharedModule, BindModule],\n exports: [Splitter, SplitterPanel, SharedModule, BindModule]\n})\nexport class SplitterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}