primereact 9.3.1 → 9.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. package/README.md +18 -31
  2. package/accordion/accordion.cjs.js +88 -90
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.d.ts +90 -1
  5. package/accordion/accordion.esm.js +89 -91
  6. package/accordion/accordion.esm.min.js +1 -1
  7. package/accordion/accordion.js +89 -92
  8. package/accordion/accordion.min.js +1 -1
  9. package/api/api.cjs.js +1 -0
  10. package/api/api.cjs.min.js +1 -1
  11. package/api/api.d.ts +7 -6
  12. package/api/api.esm.js +1 -0
  13. package/api/api.esm.min.js +1 -1
  14. package/api/api.js +1 -0
  15. package/api/api.min.js +1 -1
  16. package/autocomplete/autocomplete.cjs.js +33 -11
  17. package/autocomplete/autocomplete.cjs.min.js +1 -1
  18. package/autocomplete/autocomplete.d.ts +4 -0
  19. package/autocomplete/autocomplete.esm.js +33 -11
  20. package/autocomplete/autocomplete.esm.min.js +1 -1
  21. package/autocomplete/autocomplete.js +32 -10
  22. package/autocomplete/autocomplete.min.css +1 -1
  23. package/autocomplete/autocomplete.min.js +1 -1
  24. package/avatar/avatar.cjs.js +71 -22
  25. package/avatar/avatar.cjs.min.js +1 -1
  26. package/avatar/avatar.d.ts +37 -1
  27. package/avatar/avatar.esm.js +72 -23
  28. package/avatar/avatar.esm.min.js +1 -1
  29. package/avatar/avatar.js +72 -24
  30. package/avatar/avatar.min.js +1 -1
  31. package/avatargroup/avatargroup.cjs.js +26 -42
  32. package/avatargroup/avatargroup.cjs.min.js +1 -1
  33. package/avatargroup/avatargroup.d.ts +24 -0
  34. package/avatargroup/avatargroup.esm.js +13 -29
  35. package/avatargroup/avatargroup.esm.min.js +1 -1
  36. package/avatargroup/avatargroup.js +52 -69
  37. package/avatargroup/avatargroup.min.js +1 -1
  38. package/badge/badge.cjs.js +12 -28
  39. package/badge/badge.cjs.min.js +1 -1
  40. package/badge/badge.d.ts +26 -0
  41. package/badge/badge.esm.js +13 -29
  42. package/badge/badge.esm.min.js +1 -1
  43. package/badge/badge.js +13 -30
  44. package/badge/badge.min.js +1 -1
  45. package/blockui/blockui.cjs.js +12 -28
  46. package/blockui/blockui.cjs.min.js +1 -1
  47. package/blockui/blockui.d.ts +38 -0
  48. package/blockui/blockui.esm.js +13 -29
  49. package/blockui/blockui.esm.min.js +1 -1
  50. package/blockui/blockui.js +13 -30
  51. package/blockui/blockui.min.js +1 -1
  52. package/breadcrumb/breadcrumb.cjs.js +87 -49
  53. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  54. package/breadcrumb/breadcrumb.d.ts +53 -1
  55. package/breadcrumb/breadcrumb.esm.js +88 -50
  56. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  57. package/breadcrumb/breadcrumb.js +88 -51
  58. package/breadcrumb/breadcrumb.min.css +1 -1
  59. package/breadcrumb/breadcrumb.min.js +1 -1
  60. package/button/button.cjs.js +49 -42
  61. package/button/button.cjs.min.js +1 -1
  62. package/button/button.d.ts +42 -1
  63. package/button/button.esm.js +50 -43
  64. package/button/button.esm.min.js +1 -1
  65. package/button/button.js +49 -43
  66. package/button/button.min.js +1 -1
  67. package/calendar/calendar.cjs.js +37 -23
  68. package/calendar/calendar.cjs.min.js +1 -1
  69. package/calendar/calendar.d.ts +5 -2
  70. package/calendar/calendar.esm.js +37 -23
  71. package/calendar/calendar.esm.min.js +1 -1
  72. package/calendar/calendar.js +34 -20
  73. package/calendar/calendar.min.js +1 -1
  74. package/card/card.cjs.js +52 -63
  75. package/card/card.cjs.min.js +1 -1
  76. package/card/card.d.ts +56 -0
  77. package/card/card.esm.js +39 -50
  78. package/card/card.esm.min.js +1 -1
  79. package/card/card.js +86 -98
  80. package/card/card.min.js +1 -1
  81. package/carousel/carousel.cjs.js +151 -110
  82. package/carousel/carousel.cjs.min.js +1 -1
  83. package/carousel/carousel.d.ts +113 -1
  84. package/carousel/carousel.esm.js +151 -110
  85. package/carousel/carousel.esm.min.js +1 -1
  86. package/carousel/carousel.js +148 -108
  87. package/carousel/carousel.min.js +1 -1
  88. package/cascadeselect/cascadeselect.cjs.js +27 -23
  89. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  90. package/cascadeselect/cascadeselect.d.ts +5 -0
  91. package/cascadeselect/cascadeselect.esm.js +27 -23
  92. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  93. package/cascadeselect/cascadeselect.js +28 -24
  94. package/cascadeselect/cascadeselect.min.js +1 -1
  95. package/chart/chart.cjs.js +31 -42
  96. package/chart/chart.cjs.min.js +1 -1
  97. package/chart/chart.d.ts +35 -0
  98. package/chart/chart.esm.js +18 -29
  99. package/chart/chart.esm.min.js +1 -1
  100. package/chart/chart.js +140 -152
  101. package/chart/chart.min.js +1 -1
  102. package/checkbox/checkbox.cjs.js +40 -19
  103. package/checkbox/checkbox.cjs.min.js +1 -1
  104. package/checkbox/checkbox.d.ts +19 -1
  105. package/checkbox/checkbox.esm.js +41 -20
  106. package/checkbox/checkbox.esm.min.js +1 -1
  107. package/checkbox/checkbox.js +41 -20
  108. package/checkbox/checkbox.min.js +1 -1
  109. package/chip/chip.cjs.js +45 -42
  110. package/chip/chip.cjs.min.js +1 -1
  111. package/chip/chip.d.ts +53 -1
  112. package/chip/chip.esm.js +46 -43
  113. package/chip/chip.esm.min.js +1 -1
  114. package/chip/chip.js +46 -44
  115. package/chip/chip.min.js +1 -1
  116. package/chips/chips.cjs.js +37 -22
  117. package/chips/chips.cjs.min.js +1 -1
  118. package/chips/chips.d.ts +5 -0
  119. package/chips/chips.esm.js +37 -22
  120. package/chips/chips.esm.min.js +1 -1
  121. package/chips/chips.js +37 -23
  122. package/chips/chips.min.js +1 -1
  123. package/colorpicker/colorpicker.cjs.js +11 -4
  124. package/colorpicker/colorpicker.cjs.min.js +1 -1
  125. package/colorpicker/colorpicker.d.ts +13 -0
  126. package/colorpicker/colorpicker.esm.js +11 -4
  127. package/colorpicker/colorpicker.esm.min.js +1 -1
  128. package/colorpicker/colorpicker.js +11 -4
  129. package/colorpicker/colorpicker.min.js +1 -1
  130. package/column/column.d.ts +6 -2
  131. package/componentbase/componentbase.cjs.js +105 -0
  132. package/componentbase/componentbase.cjs.min.js +1 -0
  133. package/componentbase/componentbase.esm.js +101 -0
  134. package/componentbase/componentbase.esm.min.js +1 -0
  135. package/componentbase/componentbase.js +109 -0
  136. package/componentbase/componentbase.min.js +1 -0
  137. package/componentbase/package.json +6 -0
  138. package/confirmdialog/confirmdialog.cjs.js +44 -27
  139. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  140. package/confirmdialog/confirmdialog.d.ts +90 -2
  141. package/confirmdialog/confirmdialog.esm.js +45 -28
  142. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  143. package/confirmdialog/confirmdialog.js +45 -29
  144. package/confirmdialog/confirmdialog.min.js +1 -1
  145. package/confirmpopup/confirmpopup.cjs.js +53 -50
  146. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  147. package/confirmpopup/confirmpopup.d.ts +70 -1
  148. package/confirmpopup/confirmpopup.esm.js +54 -51
  149. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  150. package/confirmpopup/confirmpopup.js +54 -52
  151. package/confirmpopup/confirmpopup.min.js +1 -1
  152. package/contextmenu/contextmenu.cjs.js +111 -61
  153. package/contextmenu/contextmenu.cjs.min.js +1 -1
  154. package/contextmenu/contextmenu.d.ts +92 -1
  155. package/contextmenu/contextmenu.esm.js +112 -62
  156. package/contextmenu/contextmenu.esm.min.js +1 -1
  157. package/contextmenu/contextmenu.js +112 -63
  158. package/contextmenu/contextmenu.min.js +1 -1
  159. package/core/core.js +16510 -5273
  160. package/core/core.min.js +41 -39
  161. package/datatable/datatable.cjs.js +253 -210
  162. package/datatable/datatable.cjs.min.js +1 -1
  163. package/datatable/datatable.d.ts +20 -7
  164. package/datatable/datatable.esm.js +253 -210
  165. package/datatable/datatable.esm.min.js +1 -1
  166. package/datatable/datatable.js +246 -203
  167. package/datatable/datatable.min.js +1 -1
  168. package/deferredcontent/deferredcontent.cjs.js +13 -26
  169. package/deferredcontent/deferredcontent.cjs.min.js +1 -1
  170. package/deferredcontent/deferredcontent.d.ts +38 -0
  171. package/deferredcontent/deferredcontent.esm.js +14 -27
  172. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  173. package/deferredcontent/deferredcontent.js +14 -28
  174. package/deferredcontent/deferredcontent.min.js +1 -1
  175. package/dialog/dialog.cjs.js +83 -83
  176. package/dialog/dialog.cjs.min.js +1 -1
  177. package/dialog/dialog.d.ts +85 -3
  178. package/dialog/dialog.esm.js +83 -83
  179. package/dialog/dialog.esm.min.js +1 -1
  180. package/dialog/dialog.js +81 -82
  181. package/dialog/dialog.min.js +1 -1
  182. package/divider/divider.cjs.js +35 -51
  183. package/divider/divider.cjs.min.js +1 -1
  184. package/divider/divider.d.ts +30 -0
  185. package/divider/divider.esm.js +22 -38
  186. package/divider/divider.esm.min.js +1 -1
  187. package/divider/divider.js +66 -83
  188. package/divider/divider.min.js +1 -1
  189. package/dock/dock.cjs.js +82 -45
  190. package/dock/dock.cjs.min.js +1 -1
  191. package/dock/dock.d.ts +66 -0
  192. package/dock/dock.esm.js +83 -46
  193. package/dock/dock.esm.min.js +1 -1
  194. package/dock/dock.js +83 -47
  195. package/dock/dock.min.js +1 -1
  196. package/dropdown/dropdown.cjs.js +46 -20
  197. package/dropdown/dropdown.cjs.min.js +1 -1
  198. package/dropdown/dropdown.d.ts +6 -1
  199. package/dropdown/dropdown.esm.js +46 -20
  200. package/dropdown/dropdown.esm.min.js +1 -1
  201. package/dropdown/dropdown.js +45 -19
  202. package/dropdown/dropdown.min.js +1 -1
  203. package/fieldset/fieldset.cjs.js +55 -54
  204. package/fieldset/fieldset.cjs.min.js +1 -1
  205. package/fieldset/fieldset.d.ts +77 -1
  206. package/fieldset/fieldset.esm.js +56 -55
  207. package/fieldset/fieldset.esm.min.js +1 -1
  208. package/fieldset/fieldset.js +56 -56
  209. package/fieldset/fieldset.min.js +1 -1
  210. package/fileupload/fileupload.cjs.js +181 -151
  211. package/fileupload/fileupload.cjs.min.js +1 -1
  212. package/fileupload/fileupload.d.ts +150 -1
  213. package/fileupload/fileupload.esm.js +182 -152
  214. package/fileupload/fileupload.esm.min.js +1 -1
  215. package/fileupload/fileupload.js +182 -153
  216. package/fileupload/fileupload.min.js +1 -1
  217. package/galleria/galleria.cjs.js +136 -118
  218. package/galleria/galleria.cjs.min.js +1 -1
  219. package/galleria/galleria.d.ts +156 -2
  220. package/galleria/galleria.esm.js +137 -119
  221. package/galleria/galleria.esm.min.js +1 -1
  222. package/galleria/galleria.js +135 -118
  223. package/galleria/galleria.min.js +1 -1
  224. package/hooks/hooks.cjs.js +20 -3
  225. package/hooks/hooks.cjs.min.js +1 -1
  226. package/hooks/hooks.esm.js +17 -3
  227. package/hooks/hooks.esm.min.js +1 -1
  228. package/hooks/hooks.js +21 -5
  229. package/hooks/hooks.min.js +1 -1
  230. package/icons/arrowdown/index.cjs.js +410 -2
  231. package/icons/arrowdown/index.cjs.min.js +1 -1
  232. package/icons/arrowdown/index.esm.js +410 -2
  233. package/icons/arrowdown/index.esm.min.js +1 -1
  234. package/icons/arrowdown/index.js +410 -2
  235. package/icons/arrowdown/index.min.js +1 -1
  236. package/icons/arrowup/index.cjs.js +410 -2
  237. package/icons/arrowup/index.cjs.min.js +1 -1
  238. package/icons/arrowup/index.esm.js +410 -2
  239. package/icons/arrowup/index.esm.min.js +1 -1
  240. package/icons/arrowup/index.js +410 -2
  241. package/icons/arrowup/index.min.js +1 -1
  242. package/icons/ban/index.cjs.js +410 -2
  243. package/icons/ban/index.cjs.min.js +1 -1
  244. package/icons/ban/index.esm.js +410 -2
  245. package/icons/ban/index.esm.min.js +1 -1
  246. package/icons/ban/index.js +410 -2
  247. package/icons/ban/index.min.js +1 -1
  248. package/icons/download/index.cjs.js +410 -2
  249. package/icons/download/index.cjs.min.js +1 -1
  250. package/icons/download/index.esm.js +410 -2
  251. package/icons/download/index.esm.min.js +1 -1
  252. package/icons/download/index.js +410 -2
  253. package/icons/download/index.min.js +1 -1
  254. package/icons/exclamationtriangle/index.cjs.js +410 -2
  255. package/icons/exclamationtriangle/index.cjs.min.js +1 -1
  256. package/icons/exclamationtriangle/index.esm.js +410 -2
  257. package/icons/exclamationtriangle/index.esm.min.js +1 -1
  258. package/icons/exclamationtriangle/index.js +410 -2
  259. package/icons/exclamationtriangle/index.min.js +1 -1
  260. package/icons/eyeslash/index.cjs.js +410 -2
  261. package/icons/eyeslash/index.cjs.min.js +1 -1
  262. package/icons/eyeslash/index.esm.js +410 -2
  263. package/icons/eyeslash/index.esm.min.js +1 -1
  264. package/icons/eyeslash/index.js +410 -2
  265. package/icons/eyeslash/index.min.js +1 -1
  266. package/icons/filter/index.cjs.js +410 -2
  267. package/icons/filter/index.cjs.min.js +1 -1
  268. package/icons/filter/index.esm.js +410 -2
  269. package/icons/filter/index.esm.min.js +1 -1
  270. package/icons/filter/index.js +410 -2
  271. package/icons/filter/index.min.js +1 -1
  272. package/icons/filterslash/index.cjs.js +410 -2
  273. package/icons/filterslash/index.cjs.min.js +1 -1
  274. package/icons/filterslash/index.esm.js +410 -2
  275. package/icons/filterslash/index.esm.min.js +1 -1
  276. package/icons/filterslash/index.js +410 -2
  277. package/icons/filterslash/index.min.js +1 -1
  278. package/icons/infocircle/index.cjs.js +410 -2
  279. package/icons/infocircle/index.cjs.min.js +1 -1
  280. package/icons/infocircle/index.esm.js +410 -2
  281. package/icons/infocircle/index.esm.min.js +1 -1
  282. package/icons/infocircle/index.js +410 -2
  283. package/icons/infocircle/index.min.js +1 -1
  284. package/icons/pencil/index.cjs.js +410 -2
  285. package/icons/pencil/index.cjs.min.js +1 -1
  286. package/icons/pencil/index.esm.js +410 -2
  287. package/icons/pencil/index.esm.min.js +1 -1
  288. package/icons/pencil/index.js +410 -2
  289. package/icons/pencil/index.min.js +1 -1
  290. package/icons/plus/index.cjs.js +410 -2
  291. package/icons/plus/index.cjs.min.js +1 -1
  292. package/icons/plus/index.esm.js +410 -2
  293. package/icons/plus/index.esm.min.js +1 -1
  294. package/icons/plus/index.js +410 -2
  295. package/icons/plus/index.min.js +1 -1
  296. package/icons/refresh/index.cjs.js +410 -2
  297. package/icons/refresh/index.cjs.min.js +1 -1
  298. package/icons/refresh/index.esm.js +410 -2
  299. package/icons/refresh/index.esm.min.js +1 -1
  300. package/icons/refresh/index.js +410 -2
  301. package/icons/refresh/index.min.js +1 -1
  302. package/icons/search/index.cjs.js +410 -2
  303. package/icons/search/index.cjs.min.js +1 -1
  304. package/icons/search/index.esm.js +410 -2
  305. package/icons/search/index.esm.min.js +1 -1
  306. package/icons/search/index.js +410 -2
  307. package/icons/search/index.min.js +1 -1
  308. package/icons/searchminus/index.cjs.js +410 -2
  309. package/icons/searchminus/index.cjs.min.js +1 -1
  310. package/icons/searchminus/index.esm.js +410 -2
  311. package/icons/searchminus/index.esm.min.js +1 -1
  312. package/icons/searchminus/index.js +410 -2
  313. package/icons/searchminus/index.min.js +1 -1
  314. package/icons/searchplus/index.cjs.js +410 -2
  315. package/icons/searchplus/index.cjs.min.js +1 -1
  316. package/icons/searchplus/index.esm.js +410 -2
  317. package/icons/searchplus/index.esm.min.js +1 -1
  318. package/icons/searchplus/index.js +410 -2
  319. package/icons/searchplus/index.min.js +1 -1
  320. package/icons/sortalt/index.cjs.js +410 -2
  321. package/icons/sortalt/index.cjs.min.js +1 -1
  322. package/icons/sortalt/index.esm.js +410 -2
  323. package/icons/sortalt/index.esm.min.js +1 -1
  324. package/icons/sortalt/index.js +410 -2
  325. package/icons/sortalt/index.min.js +1 -1
  326. package/icons/sortamountdown/index.cjs.js +410 -2
  327. package/icons/sortamountdown/index.cjs.min.js +1 -1
  328. package/icons/sortamountdown/index.esm.js +410 -2
  329. package/icons/sortamountdown/index.esm.min.js +1 -1
  330. package/icons/sortamountdown/index.js +410 -2
  331. package/icons/sortamountdown/index.min.js +1 -1
  332. package/icons/sortamountupalt/index.cjs.js +410 -2
  333. package/icons/sortamountupalt/index.cjs.min.js +1 -1
  334. package/icons/sortamountupalt/index.esm.js +410 -2
  335. package/icons/sortamountupalt/index.esm.min.js +1 -1
  336. package/icons/sortamountupalt/index.js +410 -2
  337. package/icons/sortamountupalt/index.min.js +1 -1
  338. package/icons/spinner/index.cjs.js +410 -2
  339. package/icons/spinner/index.cjs.min.js +1 -1
  340. package/icons/spinner/index.esm.js +410 -2
  341. package/icons/spinner/index.esm.min.js +1 -1
  342. package/icons/spinner/index.js +410 -2
  343. package/icons/spinner/index.min.js +1 -1
  344. package/icons/star/index.cjs.js +410 -2
  345. package/icons/star/index.cjs.min.js +1 -1
  346. package/icons/star/index.esm.js +410 -2
  347. package/icons/star/index.esm.min.js +1 -1
  348. package/icons/star/index.js +410 -2
  349. package/icons/star/index.min.js +1 -1
  350. package/icons/starfill/index.cjs.js +410 -2
  351. package/icons/starfill/index.cjs.min.js +1 -1
  352. package/icons/starfill/index.esm.js +410 -2
  353. package/icons/starfill/index.esm.min.js +1 -1
  354. package/icons/starfill/index.js +410 -2
  355. package/icons/starfill/index.min.js +1 -1
  356. package/icons/thlarge/index.cjs.js +410 -2
  357. package/icons/thlarge/index.cjs.min.js +1 -1
  358. package/icons/thlarge/index.esm.js +410 -2
  359. package/icons/thlarge/index.esm.min.js +1 -1
  360. package/icons/thlarge/index.js +410 -2
  361. package/icons/thlarge/index.min.js +1 -1
  362. package/icons/timescircle/index.cjs.js +410 -2
  363. package/icons/timescircle/index.cjs.min.js +1 -1
  364. package/icons/timescircle/index.esm.js +410 -2
  365. package/icons/timescircle/index.esm.min.js +1 -1
  366. package/icons/timescircle/index.js +410 -2
  367. package/icons/timescircle/index.min.js +1 -1
  368. package/icons/trash/index.cjs.js +410 -2
  369. package/icons/trash/index.cjs.min.js +1 -1
  370. package/icons/trash/index.esm.js +410 -2
  371. package/icons/trash/index.esm.min.js +1 -1
  372. package/icons/trash/index.js +410 -2
  373. package/icons/trash/index.min.js +1 -1
  374. package/icons/undo/index.cjs.js +410 -2
  375. package/icons/undo/index.cjs.min.js +1 -1
  376. package/icons/undo/index.esm.js +410 -2
  377. package/icons/undo/index.esm.min.js +1 -1
  378. package/icons/undo/index.js +410 -2
  379. package/icons/undo/index.min.js +1 -1
  380. package/icons/upload/index.cjs.js +410 -2
  381. package/icons/upload/index.cjs.min.js +1 -1
  382. package/icons/upload/index.esm.js +410 -2
  383. package/icons/upload/index.esm.min.js +1 -1
  384. package/icons/upload/index.js +410 -2
  385. package/icons/upload/index.min.js +1 -1
  386. package/icons/windowmaximize/index.cjs.js +410 -2
  387. package/icons/windowmaximize/index.cjs.min.js +1 -1
  388. package/icons/windowmaximize/index.esm.js +410 -2
  389. package/icons/windowmaximize/index.esm.min.js +1 -1
  390. package/icons/windowmaximize/index.js +410 -2
  391. package/icons/windowmaximize/index.min.js +1 -1
  392. package/icons/windowminimize/index.cjs.js +410 -2
  393. package/icons/windowminimize/index.cjs.min.js +1 -1
  394. package/icons/windowminimize/index.esm.js +410 -2
  395. package/icons/windowminimize/index.esm.min.js +1 -1
  396. package/icons/windowminimize/index.js +410 -2
  397. package/icons/windowminimize/index.min.js +1 -1
  398. package/image/image.cjs.js +506 -103
  399. package/image/image.cjs.min.js +1 -1
  400. package/image/image.d.ts +130 -3
  401. package/image/image.esm.js +507 -104
  402. package/image/image.esm.min.js +1 -1
  403. package/image/image.js +503 -101
  404. package/image/image.min.js +1 -1
  405. package/inplace/inplace.cjs.js +33 -51
  406. package/inplace/inplace.cjs.min.js +1 -1
  407. package/inplace/inplace.d.ts +51 -1
  408. package/inplace/inplace.esm.js +33 -51
  409. package/inplace/inplace.esm.min.js +1 -1
  410. package/inplace/inplace.js +33 -52
  411. package/inplace/inplace.min.js +1 -1
  412. package/inputmask/inputmask.cjs.js +24 -18
  413. package/inputmask/inputmask.cjs.min.js +1 -1
  414. package/inputmask/inputmask.esm.js +24 -18
  415. package/inputmask/inputmask.esm.min.js +1 -1
  416. package/inputmask/inputmask.js +24 -18
  417. package/inputmask/inputmask.min.js +1 -1
  418. package/inputnumber/inputnumber.cjs.js +8 -6
  419. package/inputnumber/inputnumber.cjs.min.js +1 -1
  420. package/inputnumber/inputnumber.esm.js +8 -6
  421. package/inputnumber/inputnumber.esm.min.js +1 -1
  422. package/inputnumber/inputnumber.js +8 -6
  423. package/inputnumber/inputnumber.min.js +1 -1
  424. package/inputswitch/inputswitch.cjs.js +13 -2
  425. package/inputswitch/inputswitch.cjs.min.js +1 -1
  426. package/inputswitch/inputswitch.d.ts +5 -0
  427. package/inputswitch/inputswitch.esm.js +13 -2
  428. package/inputswitch/inputswitch.esm.min.js +1 -1
  429. package/inputswitch/inputswitch.js +14 -4
  430. package/inputswitch/inputswitch.min.js +1 -1
  431. package/inputtext/inputtext.cjs.js +7 -8
  432. package/inputtext/inputtext.cjs.min.js +1 -1
  433. package/inputtext/inputtext.esm.js +7 -8
  434. package/inputtext/inputtext.esm.min.js +1 -1
  435. package/inputtext/inputtext.js +7 -8
  436. package/inputtext/inputtext.min.js +1 -1
  437. package/inputtextarea/inputtextarea.cjs.js +3 -4
  438. package/inputtextarea/inputtextarea.cjs.min.js +1 -1
  439. package/inputtextarea/inputtextarea.esm.js +3 -4
  440. package/inputtextarea/inputtextarea.esm.min.js +1 -1
  441. package/inputtextarea/inputtextarea.js +3 -4
  442. package/inputtextarea/inputtextarea.min.js +1 -1
  443. package/listbox/listbox.cjs.js +12 -4
  444. package/listbox/listbox.cjs.min.js +1 -1
  445. package/listbox/listbox.esm.js +12 -4
  446. package/listbox/listbox.esm.min.js +1 -1
  447. package/listbox/listbox.js +12 -4
  448. package/listbox/listbox.min.js +1 -1
  449. package/megamenu/megamenu.cjs.js +147 -96
  450. package/megamenu/megamenu.cjs.min.js +1 -1
  451. package/megamenu/megamenu.d.ts +142 -2
  452. package/megamenu/megamenu.esm.js +147 -96
  453. package/megamenu/megamenu.esm.min.js +1 -1
  454. package/megamenu/megamenu.js +145 -95
  455. package/megamenu/megamenu.min.js +1 -1
  456. package/mention/mention.cjs.js +3 -4
  457. package/mention/mention.cjs.min.js +1 -1
  458. package/mention/mention.esm.js +3 -4
  459. package/mention/mention.esm.min.js +1 -1
  460. package/mention/mention.js +3 -4
  461. package/mention/mention.min.js +1 -1
  462. package/menu/menu.cjs.js +94 -55
  463. package/menu/menu.cjs.min.js +1 -1
  464. package/menu/menu.d.ts +71 -0
  465. package/menu/menu.esm.js +95 -56
  466. package/menu/menu.esm.min.js +1 -1
  467. package/menu/menu.js +95 -57
  468. package/menu/menu.min.js +1 -1
  469. package/menubar/menubar.cjs.js +118 -110
  470. package/menubar/menubar.cjs.min.js +1 -1
  471. package/menubar/menubar.d.ts +94 -1
  472. package/menubar/menubar.esm.js +119 -111
  473. package/menubar/menubar.esm.min.js +1 -1
  474. package/menubar/menubar.js +119 -112
  475. package/menubar/menubar.min.js +1 -1
  476. package/menuitem/menuitem.d.ts +0 -2
  477. package/message/message.cjs.js +66 -46
  478. package/message/message.cjs.min.js +1 -1
  479. package/message/message.d.ts +35 -2
  480. package/message/message.esm.js +67 -47
  481. package/message/message.esm.min.js +1 -1
  482. package/message/message.js +67 -48
  483. package/message/message.min.js +1 -1
  484. package/messages/messages.cjs.js +78 -74
  485. package/messages/messages.cjs.min.js +1 -1
  486. package/messages/messages.d.ts +51 -2
  487. package/messages/messages.esm.js +78 -74
  488. package/messages/messages.esm.min.js +1 -1
  489. package/messages/messages.js +78 -75
  490. package/messages/messages.min.js +1 -1
  491. package/multiselect/multiselect.cjs.js +74 -47
  492. package/multiselect/multiselect.cjs.min.js +1 -1
  493. package/multiselect/multiselect.d.ts +9 -0
  494. package/multiselect/multiselect.esm.js +75 -48
  495. package/multiselect/multiselect.esm.min.js +1 -1
  496. package/multiselect/multiselect.js +73 -46
  497. package/multiselect/multiselect.min.js +1 -1
  498. package/multistatecheckbox/multistatecheckbox.cjs.js +21 -13
  499. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  500. package/multistatecheckbox/multistatecheckbox.d.ts +5 -0
  501. package/multistatecheckbox/multistatecheckbox.esm.js +21 -13
  502. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  503. package/multistatecheckbox/multistatecheckbox.js +21 -13
  504. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  505. package/organizationchart/organizationchart.d.ts +18 -2
  506. package/overlaypanel/overlaypanel.cjs.js +40 -46
  507. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  508. package/overlaypanel/overlaypanel.d.ts +45 -1
  509. package/overlaypanel/overlaypanel.esm.js +41 -47
  510. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  511. package/overlaypanel/overlaypanel.js +41 -48
  512. package/overlaypanel/overlaypanel.min.js +1 -1
  513. package/package.json +1 -1
  514. package/paginator/paginator.d.ts +3 -3
  515. package/panel/panel.cjs.js +78 -63
  516. package/panel/panel.cjs.min.js +1 -1
  517. package/panel/panel.d.ts +100 -1
  518. package/panel/panel.esm.js +79 -64
  519. package/panel/panel.esm.min.js +1 -1
  520. package/panel/panel.js +79 -65
  521. package/panel/panel.min.js +1 -1
  522. package/panelmenu/panelmenu.cjs.js +145 -83
  523. package/panelmenu/panelmenu.cjs.min.js +1 -1
  524. package/panelmenu/panelmenu.d.ts +124 -2
  525. package/panelmenu/panelmenu.esm.js +145 -83
  526. package/panelmenu/panelmenu.esm.min.js +1 -1
  527. package/panelmenu/panelmenu.js +144 -83
  528. package/panelmenu/panelmenu.min.js +1 -1
  529. package/primereact.all.cjs.js +4240 -3058
  530. package/primereact.all.cjs.min.js +1 -1
  531. package/primereact.all.esm.js +4240 -3059
  532. package/primereact.all.esm.min.js +1 -1
  533. package/primereact.all.js +4240 -3058
  534. package/primereact.all.min.js +1 -1
  535. package/progressbar/progressbar.cjs.js +45 -57
  536. package/progressbar/progressbar.cjs.min.js +1 -1
  537. package/progressbar/progressbar.d.ts +38 -0
  538. package/progressbar/progressbar.esm.js +32 -44
  539. package/progressbar/progressbar.esm.min.js +1 -1
  540. package/progressbar/progressbar.js +105 -118
  541. package/progressbar/progressbar.min.js +1 -1
  542. package/progressspinner/progressspinner.cjs.js +37 -51
  543. package/progressspinner/progressspinner.cjs.min.js +1 -1
  544. package/progressspinner/progressspinner.d.ts +34 -0
  545. package/progressspinner/progressspinner.esm.js +24 -38
  546. package/progressspinner/progressspinner.esm.min.js +1 -1
  547. package/progressspinner/progressspinner.js +75 -90
  548. package/progressspinner/progressspinner.min.js +1 -1
  549. package/radiobutton/radiobutton.cjs.js +42 -20
  550. package/radiobutton/radiobutton.cjs.min.js +1 -1
  551. package/radiobutton/radiobutton.d.ts +19 -1
  552. package/radiobutton/radiobutton.esm.js +42 -20
  553. package/radiobutton/radiobutton.esm.min.js +1 -1
  554. package/radiobutton/radiobutton.js +43 -22
  555. package/radiobutton/radiobutton.min.js +1 -1
  556. package/rating/rating.cjs.js +15 -7
  557. package/rating/rating.cjs.min.js +1 -1
  558. package/rating/rating.esm.js +15 -7
  559. package/rating/rating.esm.min.js +1 -1
  560. package/rating/rating.js +14 -6
  561. package/rating/rating.min.js +1 -1
  562. package/resources/primereact.css +195 -187
  563. package/resources/primereact.min.css +1 -1
  564. package/resources/themes/arya-blue/theme.css +16 -7
  565. package/resources/themes/arya-green/theme.css +16 -7
  566. package/resources/themes/arya-orange/theme.css +16 -7
  567. package/resources/themes/arya-purple/theme.css +16 -7
  568. package/resources/themes/bootstrap4-dark-blue/theme.css +16 -7
  569. package/resources/themes/bootstrap4-dark-purple/theme.css +16 -7
  570. package/resources/themes/bootstrap4-light-blue/theme.css +16 -7
  571. package/resources/themes/bootstrap4-light-purple/theme.css +16 -7
  572. package/resources/themes/fluent-light/theme.css +16 -7
  573. package/resources/themes/lara-dark-blue/theme.css +16 -7
  574. package/resources/themes/lara-dark-indigo/theme.css +16 -7
  575. package/resources/themes/lara-dark-purple/theme.css +16 -7
  576. package/resources/themes/lara-dark-teal/theme.css +16 -7
  577. package/resources/themes/lara-light-blue/theme.css +16 -7
  578. package/resources/themes/lara-light-indigo/theme.css +16 -7
  579. package/resources/themes/lara-light-purple/theme.css +16 -7
  580. package/resources/themes/lara-light-teal/theme.css +16 -7
  581. package/resources/themes/luna-amber/theme.css +16 -7
  582. package/resources/themes/luna-blue/theme.css +16 -7
  583. package/resources/themes/luna-green/theme.css +16 -7
  584. package/resources/themes/luna-pink/theme.css +16 -7
  585. package/resources/themes/md-dark-deeppurple/theme.css +16 -7
  586. package/resources/themes/md-dark-indigo/theme.css +16 -7
  587. package/resources/themes/md-light-deeppurple/theme.css +16 -7
  588. package/resources/themes/md-light-indigo/theme.css +16 -7
  589. package/resources/themes/mdc-dark-deeppurple/theme.css +16 -7
  590. package/resources/themes/mdc-dark-indigo/theme.css +16 -7
  591. package/resources/themes/mdc-light-deeppurple/theme.css +16 -7
  592. package/resources/themes/mdc-light-indigo/theme.css +16 -7
  593. package/resources/themes/mira/theme.css +16 -7
  594. package/resources/themes/nano/theme.css +16 -7
  595. package/resources/themes/nova/theme.css +16 -7
  596. package/resources/themes/nova-accent/theme.css +16 -7
  597. package/resources/themes/nova-alt/theme.css +16 -7
  598. package/resources/themes/rhea/theme.css +16 -7
  599. package/resources/themes/saga-blue/theme.css +16 -7
  600. package/resources/themes/saga-green/theme.css +16 -7
  601. package/resources/themes/saga-orange/theme.css +16 -7
  602. package/resources/themes/saga-purple/theme.css +16 -7
  603. package/resources/themes/soho-dark/theme.css +16 -7
  604. package/resources/themes/soho-light/theme.css +16 -7
  605. package/resources/themes/tailwind-light/theme.css +16 -7
  606. package/resources/themes/vela-blue/theme.css +16 -7
  607. package/resources/themes/vela-green/theme.css +16 -7
  608. package/resources/themes/vela-orange/theme.css +16 -7
  609. package/resources/themes/vela-purple/theme.css +16 -7
  610. package/resources/themes/viva-dark/theme.css +16 -7
  611. package/resources/themes/viva-light/theme.css +16 -7
  612. package/scrollpanel/scrollpanel.cjs.js +39 -52
  613. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  614. package/scrollpanel/scrollpanel.d.ts +42 -0
  615. package/scrollpanel/scrollpanel.esm.js +26 -39
  616. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  617. package/scrollpanel/scrollpanel.js +193 -207
  618. package/scrollpanel/scrollpanel.min.js +1 -1
  619. package/scrolltop/scrolltop.cjs.js +64 -36
  620. package/scrolltop/scrolltop.cjs.min.js +1 -1
  621. package/scrolltop/scrolltop.d.ts +42 -1
  622. package/scrolltop/scrolltop.esm.js +65 -37
  623. package/scrolltop/scrolltop.esm.min.js +1 -1
  624. package/scrolltop/scrolltop.js +65 -38
  625. package/scrolltop/scrolltop.min.js +1 -1
  626. package/selectbutton/selectbutton.cjs.js +6 -2
  627. package/selectbutton/selectbutton.cjs.min.js +1 -1
  628. package/selectbutton/selectbutton.esm.js +6 -2
  629. package/selectbutton/selectbutton.esm.min.js +1 -1
  630. package/selectbutton/selectbutton.js +6 -2
  631. package/selectbutton/selectbutton.min.js +1 -1
  632. package/sidebar/sidebar.cjs.js +88 -52
  633. package/sidebar/sidebar.cjs.min.js +1 -1
  634. package/sidebar/sidebar.d.ts +58 -1
  635. package/sidebar/sidebar.esm.js +89 -53
  636. package/sidebar/sidebar.esm.min.js +1 -1
  637. package/sidebar/sidebar.js +89 -54
  638. package/sidebar/sidebar.min.js +1 -1
  639. package/skeleton/skeleton.cjs.js +26 -42
  640. package/skeleton/skeleton.cjs.min.js +1 -1
  641. package/skeleton/skeleton.d.ts +26 -0
  642. package/skeleton/skeleton.esm.js +13 -29
  643. package/skeleton/skeleton.esm.min.js +1 -1
  644. package/skeleton/skeleton.js +70 -87
  645. package/skeleton/skeleton.min.js +1 -1
  646. package/slidemenu/slidemenu.cjs.js +121 -111
  647. package/slidemenu/slidemenu.cjs.min.js +1 -1
  648. package/slidemenu/slidemenu.d.ts +98 -1
  649. package/slidemenu/slidemenu.esm.js +122 -112
  650. package/slidemenu/slidemenu.esm.min.js +1 -1
  651. package/slidemenu/slidemenu.js +122 -113
  652. package/slidemenu/slidemenu.min.js +1 -1
  653. package/speeddial/speeddial.cjs.js +63 -56
  654. package/speeddial/speeddial.cjs.min.js +1 -1
  655. package/speeddial/speeddial.d.ts +64 -1
  656. package/speeddial/speeddial.esm.js +64 -57
  657. package/speeddial/speeddial.esm.min.js +1 -1
  658. package/speeddial/speeddial.js +62 -56
  659. package/speeddial/speeddial.min.js +1 -1
  660. package/splitbutton/splitbutton.cjs.js +50 -40
  661. package/splitbutton/splitbutton.cjs.min.js +1 -1
  662. package/splitbutton/splitbutton.d.ts +59 -1
  663. package/splitbutton/splitbutton.esm.js +51 -41
  664. package/splitbutton/splitbutton.esm.min.js +1 -1
  665. package/splitbutton/splitbutton.js +50 -41
  666. package/splitbutton/splitbutton.min.js +1 -1
  667. package/splitter/splitter.cjs.js +68 -70
  668. package/splitter/splitter.cjs.min.js +1 -1
  669. package/splitter/splitter.d.ts +60 -0
  670. package/splitter/splitter.esm.js +69 -71
  671. package/splitter/splitter.esm.min.js +1 -1
  672. package/splitter/splitter.js +69 -72
  673. package/splitter/splitter.min.js +1 -1
  674. package/steps/steps.cjs.js +78 -45
  675. package/steps/steps.cjs.min.js +1 -1
  676. package/steps/steps.d.ts +50 -0
  677. package/steps/steps.esm.js +79 -46
  678. package/steps/steps.esm.min.js +1 -1
  679. package/steps/steps.js +79 -47
  680. package/steps/steps.min.js +1 -1
  681. package/styleclass/styleclass.cjs.js +9 -7
  682. package/styleclass/styleclass.cjs.min.js +1 -1
  683. package/styleclass/styleclass.esm.js +9 -7
  684. package/styleclass/styleclass.esm.min.js +1 -1
  685. package/styleclass/styleclass.js +9 -7
  686. package/styleclass/styleclass.min.js +1 -1
  687. package/tabmenu/tabmenu.cjs.js +83 -47
  688. package/tabmenu/tabmenu.cjs.min.js +1 -1
  689. package/tabmenu/tabmenu.d.ts +62 -0
  690. package/tabmenu/tabmenu.esm.js +84 -48
  691. package/tabmenu/tabmenu.esm.min.js +1 -1
  692. package/tabmenu/tabmenu.js +84 -49
  693. package/tabmenu/tabmenu.min.js +1 -1
  694. package/tabview/tabview.cjs.js +142 -122
  695. package/tabview/tabview.cjs.min.js +1 -1
  696. package/tabview/tabview.d.ts +132 -1
  697. package/tabview/tabview.esm.js +143 -123
  698. package/tabview/tabview.esm.min.js +1 -1
  699. package/tabview/tabview.js +143 -124
  700. package/tabview/tabview.min.js +1 -1
  701. package/tag/tag.cjs.js +18 -30
  702. package/tag/tag.cjs.min.js +1 -1
  703. package/tag/tag.d.ts +34 -1
  704. package/tag/tag.esm.js +19 -31
  705. package/tag/tag.esm.min.js +1 -1
  706. package/tag/tag.js +19 -32
  707. package/tag/tag.min.js +1 -1
  708. package/terminal/terminal.cjs.js +49 -52
  709. package/terminal/terminal.cjs.min.js +1 -1
  710. package/terminal/terminal.d.ts +73 -0
  711. package/terminal/terminal.esm.js +50 -53
  712. package/terminal/terminal.esm.min.js +1 -1
  713. package/terminal/terminal.js +50 -54
  714. package/terminal/terminal.min.js +1 -1
  715. package/terminalservice/terminalservice.d.ts +1 -1
  716. package/tieredmenu/tieredmenu.cjs.js +104 -59
  717. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  718. package/tieredmenu/tieredmenu.d.ts +83 -2
  719. package/tieredmenu/tieredmenu.esm.js +105 -60
  720. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  721. package/tieredmenu/tieredmenu.js +105 -61
  722. package/tieredmenu/tieredmenu.min.js +1 -1
  723. package/timeline/timeline.d.ts +1 -1
  724. package/toast/toast.cjs.js +85 -81
  725. package/toast/toast.cjs.min.js +1 -1
  726. package/toast/toast.d.ts +124 -2
  727. package/toast/toast.esm.js +86 -82
  728. package/toast/toast.esm.min.js +1 -1
  729. package/toast/toast.js +83 -80
  730. package/toast/toast.min.js +1 -1
  731. package/togglebutton/togglebutton.cjs.js +12 -2
  732. package/togglebutton/togglebutton.cjs.min.js +1 -1
  733. package/togglebutton/togglebutton.esm.js +12 -2
  734. package/togglebutton/togglebutton.esm.min.js +1 -1
  735. package/togglebutton/togglebutton.js +13 -4
  736. package/togglebutton/togglebutton.min.js +1 -1
  737. package/toolbar/toolbar.cjs.js +35 -49
  738. package/toolbar/toolbar.cjs.min.js +1 -1
  739. package/toolbar/toolbar.d.ts +44 -0
  740. package/toolbar/toolbar.esm.js +22 -36
  741. package/toolbar/toolbar.esm.min.js +1 -1
  742. package/toolbar/toolbar.js +72 -87
  743. package/toolbar/toolbar.min.js +1 -1
  744. package/tooltip/tooltip.cjs.js +31 -37
  745. package/tooltip/tooltip.cjs.min.js +1 -1
  746. package/tooltip/tooltip.d.ts +55 -0
  747. package/tooltip/tooltip.esm.js +32 -38
  748. package/tooltip/tooltip.esm.min.js +1 -1
  749. package/tooltip/tooltip.js +32 -39
  750. package/tooltip/tooltip.min.js +1 -1
  751. package/tooltip/tooltipoptions.d.ts +5 -0
  752. package/tree/tree.d.ts +1 -1
  753. package/treenode/treenode.d.ts +5 -1
  754. package/treeselect/treeselect.cjs.js +12 -5
  755. package/treeselect/treeselect.cjs.min.js +1 -1
  756. package/treeselect/treeselect.d.ts +6 -1
  757. package/treeselect/treeselect.esm.js +12 -5
  758. package/treeselect/treeselect.esm.min.js +1 -1
  759. package/treeselect/treeselect.js +11 -4
  760. package/treeselect/treeselect.min.js +1 -1
  761. package/treetable/treetable.cjs.js +10 -3
  762. package/treetable/treetable.cjs.min.js +1 -1
  763. package/treetable/treetable.d.ts +1 -1
  764. package/treetable/treetable.esm.js +10 -3
  765. package/treetable/treetable.esm.min.js +1 -1
  766. package/treetable/treetable.js +10 -3
  767. package/treetable/treetable.min.js +1 -1
  768. package/tristatecheckbox/tristatecheckbox.cjs.js +22 -11
  769. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  770. package/tristatecheckbox/tristatecheckbox.d.ts +5 -0
  771. package/tristatecheckbox/tristatecheckbox.esm.js +22 -11
  772. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  773. package/tristatecheckbox/tristatecheckbox.js +21 -11
  774. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  775. package/utils/utils.cjs.js +735 -676
  776. package/utils/utils.cjs.min.js +1 -1
  777. package/utils/utils.d.ts +5 -1
  778. package/utils/utils.esm.js +732 -677
  779. package/utils/utils.esm.min.js +1 -1
  780. package/utils/utils.js +736 -678
  781. package/utils/utils.min.js +1 -1
  782. package/web-types.json +13 -1
@@ -9,6 +9,7 @@ var minus = require('primereact/icons/minus');
9
9
  var plus = require('primereact/icons/plus');
10
10
  var ripple = require('primereact/ripple');
11
11
  var utils = require('primereact/utils');
12
+ var componentbase = require('primereact/componentbase');
12
13
 
13
14
  function _interopNamespace(e) {
14
15
  if (e && e.__esModule) return e;
@@ -30,21 +31,6 @@ function _interopNamespace(e) {
30
31
 
31
32
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
33
 
33
- function _extends() {
34
- _extends = Object.assign ? Object.assign.bind() : function (target) {
35
- for (var i = 1; i < arguments.length; i++) {
36
- var source = arguments[i];
37
- for (var key in source) {
38
- if (Object.prototype.hasOwnProperty.call(source, key)) {
39
- target[key] = source[key];
40
- }
41
- }
42
- }
43
- return target;
44
- };
45
- return _extends.apply(this, arguments);
46
- }
47
-
48
34
  function _arrayWithHoles(arr) {
49
35
  if (Array.isArray(arr)) return arr;
50
36
  }
@@ -100,12 +86,14 @@ function _slicedToArray(arr, i) {
100
86
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
101
87
  }
102
88
 
103
- var PanelBase = {
89
+ var PanelBase = componentbase.ComponentBase.extend({
104
90
  defaultProps: {
105
91
  __TYPE: 'Panel',
106
92
  id: null,
107
93
  header: null,
108
94
  headerTemplate: null,
95
+ footer: null,
96
+ footerTemplate: null,
109
97
  toggleable: null,
110
98
  style: null,
111
99
  className: null,
@@ -118,14 +106,8 @@ var PanelBase = {
118
106
  onCollapse: null,
119
107
  onToggle: null,
120
108
  children: undefined
121
- },
122
- getProps: function getProps(props) {
123
- return utils.ObjectUtils.getMergedProps(props, PanelBase.defaultProps);
124
- },
125
- getOtherProps: function getOtherProps(props) {
126
- return utils.ObjectUtils.getDiffProps(props, PanelBase.defaultProps);
127
109
  }
128
- };
110
+ });
129
111
 
130
112
  var Panel = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
131
113
  var props = PanelBase.getProps(inProps);
@@ -142,6 +124,14 @@ var Panel = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
142
124
  var collapsed = props.toggleable ? props.onToggle ? props.collapsed : collapsedState : false;
143
125
  var headerId = idState + '_header';
144
126
  var contentId = idState + '_content';
127
+ var _PanelBase$setMetaDat = PanelBase.setMetaData({
128
+ props: props,
129
+ state: {
130
+ id: idState,
131
+ collapsed: collapsed
132
+ }
133
+ }),
134
+ ptm = _PanelBase$setMetaDat.ptm;
145
135
  var toggle = function toggle(event) {
146
136
  if (props.toggleable) {
147
137
  collapsed ? expand(event) : collapse(event);
@@ -188,19 +178,21 @@ var Panel = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
188
178
  var createToggleIcon = function createToggleIcon() {
189
179
  if (props.toggleable) {
190
180
  var buttonId = idState + '_label';
191
- var icon = collapsed ? props.expandIcon || /*#__PURE__*/React__namespace.createElement(plus.PlusIcon, null) : props.collapseIcon || /*#__PURE__*/React__namespace.createElement(minus.MinusIcon, null);
192
- var toggleIcon = utils.IconUtils.getJSXIcon(icon, undefined, {
181
+ var togglerProps = utils.mergeProps({
182
+ className: 'p-panel-header-icon p-panel-toggler p-link',
183
+ onClick: toggle,
184
+ id: buttonId,
185
+ 'aria-controls': contentId,
186
+ 'aria-expanded': !collapsed,
187
+ role: 'tab'
188
+ }, ptm('toggler'));
189
+ var togglerIconProps = utils.mergeProps(ptm('togglericon'));
190
+ var icon = collapsed ? props.expandIcon || /*#__PURE__*/React__namespace.createElement(plus.PlusIcon, togglerIconProps) : props.collapseIcon || /*#__PURE__*/React__namespace.createElement(minus.MinusIcon, togglerIconProps);
191
+ var toggleIcon = utils.IconUtils.getJSXIcon(icon, togglerIconProps, {
193
192
  props: props,
194
193
  collapsed: collapsed
195
194
  });
196
- return /*#__PURE__*/React__namespace.createElement("button", {
197
- className: "p-panel-header-icon p-panel-toggler p-link",
198
- onClick: toggle,
199
- id: buttonId,
200
- "aria-controls": contentId,
201
- "aria-expanded": !collapsed,
202
- role: "tab"
203
- }, toggleIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
195
+ return /*#__PURE__*/React__namespace.createElement("button", togglerProps, toggleIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
204
196
  }
205
197
  return null;
206
198
  };
@@ -208,16 +200,19 @@ var Panel = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
208
200
  var header = utils.ObjectUtils.getJSXElement(props.header, props);
209
201
  var icons = utils.ObjectUtils.getJSXElement(props.icons, props);
210
202
  var togglerElement = createToggleIcon();
211
- var titleElement = /*#__PURE__*/React__namespace.createElement("span", {
212
- className: "p-panel-title",
213
- id: headerId
214
- }, header);
215
- var iconsElement = /*#__PURE__*/React__namespace.createElement("div", {
216
- className: "p-panel-icons"
217
- }, icons, togglerElement);
218
- var content = /*#__PURE__*/React__namespace.createElement("div", {
219
- className: "p-panel-header"
220
- }, titleElement, iconsElement);
203
+ var titleProps = utils.mergeProps({
204
+ id: headerId,
205
+ className: 'p-panel-title'
206
+ }, ptm('title'));
207
+ var titleElement = /*#__PURE__*/React__namespace.createElement("span", titleProps, header);
208
+ var iconsProps = utils.mergeProps({
209
+ className: 'p-panel-icons'
210
+ }, ptm('icons'));
211
+ var iconsElement = /*#__PURE__*/React__namespace.createElement("div", iconsProps, icons, togglerElement);
212
+ var headerProps = utils.mergeProps({
213
+ className: 'p-panel-header'
214
+ }, ptm('header'));
215
+ var content = /*#__PURE__*/React__namespace.createElement("div", headerProps, titleElement, iconsElement);
221
216
  if (props.headerTemplate) {
222
217
  var defaultContentOptions = {
223
218
  className: 'p-panel-header',
@@ -239,6 +234,17 @@ var Panel = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
239
234
  return null;
240
235
  };
241
236
  var createContent = function createContent() {
237
+ var toggleableContentProps = utils.mergeProps({
238
+ ref: contentRef,
239
+ className: 'p-toggleable-content',
240
+ 'aria-hidden': collapsed,
241
+ role: 'region',
242
+ id: contentId,
243
+ 'aria-labelledby': headerId
244
+ }, ptm('toggleablecontent'));
245
+ var contentProps = utils.mergeProps({
246
+ className: 'p-panel-content'
247
+ }, ptm('content'));
242
248
  return /*#__PURE__*/React__namespace.createElement(csstransition.CSSTransition, {
243
249
  nodeRef: contentRef,
244
250
  classNames: "p-toggleable-content",
@@ -249,29 +255,38 @@ var Panel = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
249
255
  "in": !collapsed,
250
256
  unmountOnExit: true,
251
257
  options: props.transitionOptions
252
- }, /*#__PURE__*/React__namespace.createElement("div", {
253
- ref: contentRef,
254
- className: "p-toggleable-content",
255
- "aria-hidden": collapsed,
256
- role: "region",
257
- id: contentId,
258
- "aria-labelledby": headerId
259
- }, /*#__PURE__*/React__namespace.createElement("div", {
260
- className: "p-panel-content"
261
- }, props.children)));
258
+ }, /*#__PURE__*/React__namespace.createElement("div", toggleableContentProps, /*#__PURE__*/React__namespace.createElement("div", contentProps, props.children)));
262
259
  };
263
- var otherProps = PanelBase.getOtherProps(props);
264
- var className = utils.classNames('p-panel p-component', {
265
- 'p-panel-toggleable': props.toggleable
266
- }, props.className);
260
+ var createFooter = function createFooter() {
261
+ var footer = utils.ObjectUtils.getJSXElement(props.footer, props);
262
+ var footerProps = utils.mergeProps({
263
+ className: 'p-panel-footer'
264
+ }, ptm('footer'));
265
+ var content = /*#__PURE__*/React__namespace.createElement("div", footerProps, footer);
266
+ if (props.footerTemplate) {
267
+ var defaultContentOptions = {
268
+ className: 'p-panel-footer',
269
+ element: content,
270
+ props: props
271
+ };
272
+ return utils.ObjectUtils.getJSXElement(props.footerTemplate, defaultContentOptions);
273
+ } else if (props.footer) {
274
+ return content;
275
+ }
276
+ return null;
277
+ };
278
+ var rootProps = utils.mergeProps({
279
+ id: idState,
280
+ ref: elementRef,
281
+ style: props.style,
282
+ className: utils.classNames('p-panel p-component', {
283
+ 'p-panel-toggleable': props.toggleable
284
+ }, props.className)
285
+ }, PanelBase.getOtherProps(props), ptm('root'));
267
286
  var header = createHeader();
268
287
  var content = createContent();
269
- return /*#__PURE__*/React__namespace.createElement("div", _extends({
270
- id: props.id,
271
- ref: elementRef,
272
- className: className,
273
- style: props.style
274
- }, otherProps), header, content);
288
+ var footer = createFooter();
289
+ return /*#__PURE__*/React__namespace.createElement("div", rootProps, header, content, footer);
275
290
  });
276
291
  Panel.displayName = 'Panel';
277
292
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/csstransition"),n=require("primereact/hooks"),l=require("primereact/icons/minus"),r=require("primereact/icons/plus"),a=require("primereact/ripple"),o=require("primereact/utils");function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var c=i(e);function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},s.apply(this,arguments)}function u(e){if(Array.isArray(e))return e}function p(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var l,r,a,o,i=[],c=!0,s=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(l=a.call(n)).done)&&(i.push(l.value),i.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return i}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=new Array(t);n<t;n++)l[n]=e[n];return l}function d(e,t){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}function g(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e,t){return u(e)||p(e,t)||d(e,t)||g()}var b={defaultProps:{__TYPE:"Panel",id:null,header:null,headerTemplate:null,toggleable:null,style:null,className:null,collapsed:null,expandIcon:null,collapseIcon:null,icons:null,transitionOptions:null,onExpand:null,onCollapse:null,onToggle:null,children:void 0},getProps:function(e){return o.ObjectUtils.getMergedProps(e,b.defaultProps)},getOtherProps:function(e){return o.ObjectUtils.getDiffProps(e,b.defaultProps)}},v=c.forwardRef((function(e,i){var u=b.getProps(e),p=m(c.useState(u.id),2),f=p[0],d=p[1],g=m(c.useState(u.collapsed),2),v=g[0],h=g[1],y=c.useRef(i),E=c.useRef(null),O=!!u.toggleable&&(u.onToggle?u.collapsed:v),j=f+"_header",P=f+"_content",N=function(e){u.toggleable&&(O?I(e):S(e),u.onToggle&&u.onToggle({originalEvent:e,value:!O})),e.preventDefault()},I=function(e){u.onToggle||h(!1),u.onExpand&&u.onExpand(e)},S=function(e){u.onToggle||h(!0),u.onCollapse&&u.onCollapse(e)};c.useImperativeHandle(i,(function(){return{props:u,getElement:function(){return y.current},getContent:function(){return E.current}}})),c.useEffect((function(){o.ObjectUtils.combinedRefs(y,i)}),[y,i]),n.useMountEffect((function(){f||d(o.UniqueComponentId())}));var T=function(){if(u.toggleable){var e=f+"_label",t=o.IconUtils.getJSXIcon(O?u.expandIcon||c.createElement(r.PlusIcon,null):u.collapseIcon||c.createElement(l.MinusIcon,null),void 0,{props:u,collapsed:O});return c.createElement("button",{className:"p-panel-header-icon p-panel-toggler p-link",onClick:N,id:e,"aria-controls":P,"aria-expanded":!O,role:"tab"},t,c.createElement(a.Ripple,null))}return null},C=b.getOtherProps(u),x=o.classNames("p-panel p-component",{"p-panel-toggleable":u.toggleable},u.className),U=function(){var e=o.ObjectUtils.getJSXElement(u.header,u),t=o.ObjectUtils.getJSXElement(u.icons,u),n=T(),l=c.createElement("span",{className:"p-panel-title",id:j},e),r=c.createElement("div",{className:"p-panel-icons"},t,n),a=c.createElement("div",{className:"p-panel-header"},l,r);return u.headerTemplate?o.ObjectUtils.getJSXElement(u.headerTemplate,{className:"p-panel-header",titleClassName:"p-panel-title",iconsClassName:"p-panel-icons",togglerClassName:"p-panel-header-icon p-panel-toggler p-link",onTogglerClick:N,titleElement:l,iconsElement:r,togglerElement:n,element:a,props:u,collapsed:O}):u.header||u.toggleable?a:null}(),_=c.createElement(t.CSSTransition,{nodeRef:E,classNames:"p-toggleable-content",timeout:{enter:1e3,exit:450},in:!O,unmountOnExit:!0,options:u.transitionOptions},c.createElement("div",{ref:E,className:"p-toggleable-content","aria-hidden":O,role:"region",id:P,"aria-labelledby":j},c.createElement("div",{className:"p-panel-content"},u.children)));return c.createElement("div",s({id:u.id,ref:y,className:x,style:u.style},C),U,_)}));v.displayName="Panel",exports.Panel=v;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/csstransition"),n=require("primereact/hooks"),l=require("primereact/icons/minus"),r=require("primereact/icons/plus"),o=require("primereact/ripple"),a=require("primereact/utils"),i=require("primereact/componentbase");function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var s=c(e);function p(e){if(Array.isArray(e))return e}function u(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var l,r,o,a,i=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(l=o.call(n)).done)&&(i.push(l.value),i.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw r}}return i}}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=new Array(t);n<t;n++)l[n]=e[n];return l}function g(e,t){if(e){if("string"==typeof e)return m(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}function f(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(e,t){return p(e)||u(e,t)||g(e,t)||f()}var b=i.ComponentBase.extend({defaultProps:{__TYPE:"Panel",id:null,header:null,headerTemplate:null,footer:null,footerTemplate:null,toggleable:null,style:null,className:null,collapsed:null,expandIcon:null,collapseIcon:null,icons:null,transitionOptions:null,onExpand:null,onCollapse:null,onToggle:null,children:void 0}}),E=s.forwardRef((function(e,i){var c=b.getProps(e),p=d(s.useState(c.id),2),u=p[0],m=p[1],g=d(s.useState(c.collapsed),2),f=g[0],E=g[1],v=s.useRef(i),h=s.useRef(null),y=!!c.toggleable&&(c.onToggle?c.collapsed:f),O=u+"_header",P=u+"_content",N=b.setMetaData({props:c,state:{id:u,collapsed:y}}).ptm,j=function(e){c.toggleable&&(y?T(e):S(e),c.onToggle&&c.onToggle({originalEvent:e,value:!y})),e.preventDefault()},T=function(e){c.onToggle||E(!1),c.onExpand&&c.onExpand(e)},S=function(e){c.onToggle||E(!0),c.onCollapse&&c.onCollapse(e)};s.useImperativeHandle(i,(function(){return{props:c,getElement:function(){return v.current},getContent:function(){return h.current}}})),s.useEffect((function(){a.ObjectUtils.combinedRefs(v,i)}),[v,i]),n.useMountEffect((function(){u||m(a.UniqueComponentId())}));var C,I,x=function(){if(c.toggleable){var e=a.mergeProps({className:"p-panel-header-icon p-panel-toggler p-link",onClick:j,id:u+"_label","aria-controls":P,"aria-expanded":!y,role:"tab"},N("toggler")),t=a.mergeProps(N("togglericon")),n=a.IconUtils.getJSXIcon(y?c.expandIcon||s.createElement(r.PlusIcon,t):c.collapseIcon||s.createElement(l.MinusIcon,t),t,{props:c,collapsed:y});return s.createElement("button",e,n,s.createElement(o.Ripple,null))}return null},q=a.mergeProps({id:u,ref:v,style:c.style,className:a.classNames("p-panel p-component",{"p-panel-toggleable":c.toggleable},c.className)},b.getOtherProps(c),N("root")),U=function(){var e=a.ObjectUtils.getJSXElement(c.header,c),t=a.ObjectUtils.getJSXElement(c.icons,c),n=x(),l=a.mergeProps({id:O,className:"p-panel-title"},N("title")),r=s.createElement("span",l,e),o=a.mergeProps({className:"p-panel-icons"},N("icons")),i=s.createElement("div",o,t,n),p=a.mergeProps({className:"p-panel-header"},N("header")),u=s.createElement("div",p,r,i);return c.headerTemplate?a.ObjectUtils.getJSXElement(c.headerTemplate,{className:"p-panel-header",titleClassName:"p-panel-title",iconsClassName:"p-panel-icons",togglerClassName:"p-panel-header-icon p-panel-toggler p-link",onTogglerClick:j,titleElement:r,iconsElement:i,togglerElement:n,element:u,props:c,collapsed:y}):c.header||c.toggleable?u:null}(),_=(C=a.mergeProps({ref:h,className:"p-toggleable-content","aria-hidden":y,role:"region",id:P,"aria-labelledby":O},N("toggleablecontent")),I=a.mergeProps({className:"p-panel-content"},N("content")),s.createElement(t.CSSTransition,{nodeRef:h,classNames:"p-toggleable-content",timeout:{enter:1e3,exit:450},in:!y,unmountOnExit:!0,options:c.transitionOptions},s.createElement("div",C,s.createElement("div",I,c.children)))),k=function(){var e=a.ObjectUtils.getJSXElement(c.footer,c),t=a.mergeProps({className:"p-panel-footer"},N("footer")),n=s.createElement("div",t,e);return c.footerTemplate?a.ObjectUtils.getJSXElement(c.footerTemplate,{className:"p-panel-footer",element:n,props:c}):c.footer?n:null}();return s.createElement("div",q,U,_,k)}));E.displayName="Panel",exports.Panel=E;
package/panel/panel.d.ts CHANGED
@@ -9,7 +9,9 @@
9
9
  */
10
10
  import * as React from 'react';
11
11
  import { CSSTransitionProps } from '../csstransition';
12
- import { IconType } from '../utils';
12
+ import { IconType, PassThroughType } from '../utils';
13
+
14
+ export declare type PanelPassThroughType<T> = PassThroughType<T, PanelPassThroughMethodOptions>;
13
15
 
14
16
  /**
15
17
  * Custom panel header template options.
@@ -65,6 +67,23 @@ interface PanelHeaderTemplateOptions {
65
67
  */
66
68
  collapsed: boolean;
67
69
  }
70
+ /**
71
+ * Custom panel footer template options.
72
+ */
73
+ interface PanelFooterTemplateOptions {
74
+ /**
75
+ * Style class of the panel.
76
+ */
77
+ className: string;
78
+ /**
79
+ * The JSX element that represents the panel.
80
+ */
81
+ element: JSX.Element;
82
+ /**
83
+ * The props of the Panel component.
84
+ */
85
+ props: PanelProps;
86
+ }
68
87
 
69
88
  /**
70
89
  * Custom toggle event.
@@ -82,6 +101,72 @@ interface PanelToggleEvent {
82
101
  value: boolean;
83
102
  }
84
103
 
104
+ /**
105
+ * Custom passthrough(pt) option method.
106
+ */
107
+ export interface PanelPassThroughMethodOptions {
108
+ props: PanelProps;
109
+ state: PanelState;
110
+ }
111
+
112
+ /**
113
+ * Custom passthrough(pt) options.
114
+ * @see {@link PanelProps.pt}
115
+ */
116
+ export interface PanelPassThroughOptions {
117
+ /**
118
+ * Uses to pass attributes to the root's DOM element.
119
+ */
120
+ root?: PanelPassThroughType<React.HTMLAttributes<HTMLDivElement>>;
121
+ /**
122
+ * Uses to pass attributes to the header's DOM element.
123
+ */
124
+ header?: PanelPassThroughType<React.HTMLAttributes<HTMLDivElement>>;
125
+ /**
126
+ * Uses to pass attributes to the title's DOM element.
127
+ */
128
+ title?: PanelPassThroughType<React.HTMLAttributes<HTMLSpanElement>>;
129
+ /**
130
+ * Uses to pass attributes to the icons' DOM element.
131
+ */
132
+ icons?: PanelPassThroughType<React.HTMLAttributes<HTMLDivElement>>;
133
+ /**
134
+ * Uses to pass attributes to the toggler's DOM element.
135
+ */
136
+ toggler?: PanelPassThroughType<React.HTMLAttributes<HTMLButtonElement>>;
137
+ /**
138
+ * Uses to pass attributes to the togglericon's DOM element.
139
+ */
140
+ togglerIcon?: PanelPassThroughType<React.SVGProps<SVGSVGElement> | React.HTMLAttributes<HTMLSpanElement>>;
141
+ /**
142
+ * Uses to pass attributes to the toggleablecontent's DOM element.
143
+ */
144
+ toggleableContent?: PanelPassThroughType<React.HTMLAttributes<HTMLDivElement>>;
145
+ /**
146
+ * Uses to pass attributes to the content's DOM element.
147
+ */
148
+ content?: PanelPassThroughType<React.HTMLAttributes<HTMLDivElement>>;
149
+ /**
150
+ * Uses to pass attributes to the footer's DOM element.
151
+ */
152
+ footer?: PanelPassThroughType<React.HTMLAttributes<HTMLDivElement>>;
153
+ }
154
+
155
+ /**
156
+ * Defines current inline state in Panel component.
157
+ */
158
+ export interface PanelState {
159
+ /**
160
+ * Current id state.
161
+ */
162
+ id: string;
163
+ /**
164
+ * Current collapsed state as a boolean.
165
+ * @defaultValue false
166
+ */
167
+ collapsed: boolean;
168
+ }
169
+
85
170
  /**
86
171
  * Defines valid properties in Panel component. In addition to these, all properties of HTMLDivElement can be used in this component.
87
172
  * @group Properties
@@ -91,11 +176,20 @@ export interface PanelProps extends Omit<React.DetailedHTMLProps<React.HTMLAttri
91
176
  * Custom header template of the panel.
92
177
  */
93
178
  header?: React.ReactNode | undefined;
179
+ /**
180
+ * Custom footer template of the panel.
181
+ */
182
+ footer?: React.ReactNode | undefined;
94
183
  /**
95
184
  * Header template of the panel to customize more.
96
185
  * @param {PanelHeaderTemplateOptions} options - Options to customize the header template.
97
186
  */
98
187
  headerTemplate?: React.ReactNode | ((options: PanelHeaderTemplateOptions) => React.ReactNode);
188
+ /**
189
+ * Footer template of the panel to customize more.
190
+ * @param {PanelFooterTemplateOptions} options - Options to customize the footer template.
191
+ */
192
+ footerTemplate?: React.ReactNode | ((options: PanelFooterTemplateOptions) => React.ReactNode);
99
193
  /**
100
194
  * Defines if content of panel can be expanded and collapsed.
101
195
  * @defaultValue false
@@ -143,6 +237,11 @@ export interface PanelProps extends Omit<React.DetailedHTMLProps<React.HTMLAttri
143
237
  * @readonly
144
238
  */
145
239
  children?: React.ReactNode | undefined;
240
+ /**
241
+ * Uses to pass attributes to DOM elements inside the component.
242
+ * @type {PanelPassThroughOptions}
243
+ */
244
+ pt?: PanelPassThroughOptions;
146
245
  }
147
246
 
148
247
  /**
@@ -4,22 +4,8 @@ import { useMountEffect } from 'primereact/hooks';
4
4
  import { MinusIcon } from 'primereact/icons/minus';
5
5
  import { PlusIcon } from 'primereact/icons/plus';
6
6
  import { Ripple } from 'primereact/ripple';
7
- import { ObjectUtils, UniqueComponentId, classNames, IconUtils } from 'primereact/utils';
8
-
9
- function _extends() {
10
- _extends = Object.assign ? Object.assign.bind() : function (target) {
11
- for (var i = 1; i < arguments.length; i++) {
12
- var source = arguments[i];
13
- for (var key in source) {
14
- if (Object.prototype.hasOwnProperty.call(source, key)) {
15
- target[key] = source[key];
16
- }
17
- }
18
- }
19
- return target;
20
- };
21
- return _extends.apply(this, arguments);
22
- }
7
+ import { ObjectUtils, UniqueComponentId, mergeProps, classNames, IconUtils } from 'primereact/utils';
8
+ import { ComponentBase } from 'primereact/componentbase';
23
9
 
24
10
  function _arrayWithHoles(arr) {
25
11
  if (Array.isArray(arr)) return arr;
@@ -76,12 +62,14 @@ function _slicedToArray(arr, i) {
76
62
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
77
63
  }
78
64
 
79
- var PanelBase = {
65
+ var PanelBase = ComponentBase.extend({
80
66
  defaultProps: {
81
67
  __TYPE: 'Panel',
82
68
  id: null,
83
69
  header: null,
84
70
  headerTemplate: null,
71
+ footer: null,
72
+ footerTemplate: null,
85
73
  toggleable: null,
86
74
  style: null,
87
75
  className: null,
@@ -94,14 +82,8 @@ var PanelBase = {
94
82
  onCollapse: null,
95
83
  onToggle: null,
96
84
  children: undefined
97
- },
98
- getProps: function getProps(props) {
99
- return ObjectUtils.getMergedProps(props, PanelBase.defaultProps);
100
- },
101
- getOtherProps: function getOtherProps(props) {
102
- return ObjectUtils.getDiffProps(props, PanelBase.defaultProps);
103
85
  }
104
- };
86
+ });
105
87
 
106
88
  var Panel = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
107
89
  var props = PanelBase.getProps(inProps);
@@ -118,6 +100,14 @@ var Panel = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
118
100
  var collapsed = props.toggleable ? props.onToggle ? props.collapsed : collapsedState : false;
119
101
  var headerId = idState + '_header';
120
102
  var contentId = idState + '_content';
103
+ var _PanelBase$setMetaDat = PanelBase.setMetaData({
104
+ props: props,
105
+ state: {
106
+ id: idState,
107
+ collapsed: collapsed
108
+ }
109
+ }),
110
+ ptm = _PanelBase$setMetaDat.ptm;
121
111
  var toggle = function toggle(event) {
122
112
  if (props.toggleable) {
123
113
  collapsed ? expand(event) : collapse(event);
@@ -164,19 +154,21 @@ var Panel = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
164
154
  var createToggleIcon = function createToggleIcon() {
165
155
  if (props.toggleable) {
166
156
  var buttonId = idState + '_label';
167
- var icon = collapsed ? props.expandIcon || /*#__PURE__*/React.createElement(PlusIcon, null) : props.collapseIcon || /*#__PURE__*/React.createElement(MinusIcon, null);
168
- var toggleIcon = IconUtils.getJSXIcon(icon, undefined, {
157
+ var togglerProps = mergeProps({
158
+ className: 'p-panel-header-icon p-panel-toggler p-link',
159
+ onClick: toggle,
160
+ id: buttonId,
161
+ 'aria-controls': contentId,
162
+ 'aria-expanded': !collapsed,
163
+ role: 'tab'
164
+ }, ptm('toggler'));
165
+ var togglerIconProps = mergeProps(ptm('togglericon'));
166
+ var icon = collapsed ? props.expandIcon || /*#__PURE__*/React.createElement(PlusIcon, togglerIconProps) : props.collapseIcon || /*#__PURE__*/React.createElement(MinusIcon, togglerIconProps);
167
+ var toggleIcon = IconUtils.getJSXIcon(icon, togglerIconProps, {
169
168
  props: props,
170
169
  collapsed: collapsed
171
170
  });
172
- return /*#__PURE__*/React.createElement("button", {
173
- className: "p-panel-header-icon p-panel-toggler p-link",
174
- onClick: toggle,
175
- id: buttonId,
176
- "aria-controls": contentId,
177
- "aria-expanded": !collapsed,
178
- role: "tab"
179
- }, toggleIcon, /*#__PURE__*/React.createElement(Ripple, null));
171
+ return /*#__PURE__*/React.createElement("button", togglerProps, toggleIcon, /*#__PURE__*/React.createElement(Ripple, null));
180
172
  }
181
173
  return null;
182
174
  };
@@ -184,16 +176,19 @@ var Panel = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
184
176
  var header = ObjectUtils.getJSXElement(props.header, props);
185
177
  var icons = ObjectUtils.getJSXElement(props.icons, props);
186
178
  var togglerElement = createToggleIcon();
187
- var titleElement = /*#__PURE__*/React.createElement("span", {
188
- className: "p-panel-title",
189
- id: headerId
190
- }, header);
191
- var iconsElement = /*#__PURE__*/React.createElement("div", {
192
- className: "p-panel-icons"
193
- }, icons, togglerElement);
194
- var content = /*#__PURE__*/React.createElement("div", {
195
- className: "p-panel-header"
196
- }, titleElement, iconsElement);
179
+ var titleProps = mergeProps({
180
+ id: headerId,
181
+ className: 'p-panel-title'
182
+ }, ptm('title'));
183
+ var titleElement = /*#__PURE__*/React.createElement("span", titleProps, header);
184
+ var iconsProps = mergeProps({
185
+ className: 'p-panel-icons'
186
+ }, ptm('icons'));
187
+ var iconsElement = /*#__PURE__*/React.createElement("div", iconsProps, icons, togglerElement);
188
+ var headerProps = mergeProps({
189
+ className: 'p-panel-header'
190
+ }, ptm('header'));
191
+ var content = /*#__PURE__*/React.createElement("div", headerProps, titleElement, iconsElement);
197
192
  if (props.headerTemplate) {
198
193
  var defaultContentOptions = {
199
194
  className: 'p-panel-header',
@@ -215,6 +210,17 @@ var Panel = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
215
210
  return null;
216
211
  };
217
212
  var createContent = function createContent() {
213
+ var toggleableContentProps = mergeProps({
214
+ ref: contentRef,
215
+ className: 'p-toggleable-content',
216
+ 'aria-hidden': collapsed,
217
+ role: 'region',
218
+ id: contentId,
219
+ 'aria-labelledby': headerId
220
+ }, ptm('toggleablecontent'));
221
+ var contentProps = mergeProps({
222
+ className: 'p-panel-content'
223
+ }, ptm('content'));
218
224
  return /*#__PURE__*/React.createElement(CSSTransition, {
219
225
  nodeRef: contentRef,
220
226
  classNames: "p-toggleable-content",
@@ -225,29 +231,38 @@ var Panel = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
225
231
  "in": !collapsed,
226
232
  unmountOnExit: true,
227
233
  options: props.transitionOptions
228
- }, /*#__PURE__*/React.createElement("div", {
229
- ref: contentRef,
230
- className: "p-toggleable-content",
231
- "aria-hidden": collapsed,
232
- role: "region",
233
- id: contentId,
234
- "aria-labelledby": headerId
235
- }, /*#__PURE__*/React.createElement("div", {
236
- className: "p-panel-content"
237
- }, props.children)));
234
+ }, /*#__PURE__*/React.createElement("div", toggleableContentProps, /*#__PURE__*/React.createElement("div", contentProps, props.children)));
238
235
  };
239
- var otherProps = PanelBase.getOtherProps(props);
240
- var className = classNames('p-panel p-component', {
241
- 'p-panel-toggleable': props.toggleable
242
- }, props.className);
236
+ var createFooter = function createFooter() {
237
+ var footer = ObjectUtils.getJSXElement(props.footer, props);
238
+ var footerProps = mergeProps({
239
+ className: 'p-panel-footer'
240
+ }, ptm('footer'));
241
+ var content = /*#__PURE__*/React.createElement("div", footerProps, footer);
242
+ if (props.footerTemplate) {
243
+ var defaultContentOptions = {
244
+ className: 'p-panel-footer',
245
+ element: content,
246
+ props: props
247
+ };
248
+ return ObjectUtils.getJSXElement(props.footerTemplate, defaultContentOptions);
249
+ } else if (props.footer) {
250
+ return content;
251
+ }
252
+ return null;
253
+ };
254
+ var rootProps = mergeProps({
255
+ id: idState,
256
+ ref: elementRef,
257
+ style: props.style,
258
+ className: classNames('p-panel p-component', {
259
+ 'p-panel-toggleable': props.toggleable
260
+ }, props.className)
261
+ }, PanelBase.getOtherProps(props), ptm('root'));
243
262
  var header = createHeader();
244
263
  var content = createContent();
245
- return /*#__PURE__*/React.createElement("div", _extends({
246
- id: props.id,
247
- ref: elementRef,
248
- className: className,
249
- style: props.style
250
- }, otherProps), header, content);
264
+ var footer = createFooter();
265
+ return /*#__PURE__*/React.createElement("div", rootProps, header, content, footer);
251
266
  });
252
267
  Panel.displayName = 'Panel';
253
268
 
@@ -1 +1 @@
1
- import*as e from"react";import{CSSTransition as n}from"primereact/csstransition";import{useMountEffect as t}from"primereact/hooks";import{MinusIcon as l}from"primereact/icons/minus";import{PlusIcon as r}from"primereact/icons/plus";import{Ripple as a}from"primereact/ripple";import{ObjectUtils as o,UniqueComponentId as i,classNames as c,IconUtils as p}from"primereact/utils";function s(){return s=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},s.apply(this,arguments)}function u(e){if(Array.isArray(e))return e}function m(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var l,r,a,o,i=[],c=!0,p=!1;try{if(a=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(l=a.call(t)).done)&&(i.push(l.value),i.length!==n);c=!0);}catch(e){p=!0,r=e}finally{try{if(!c&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(p)throw r}}return i}}function g(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,l=new Array(n);t<n;t++)l[t]=e[t];return l}function f(e,n){if(e){if("string"==typeof e)return g(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?g(e,n):void 0}}function d(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function b(e,n){return u(e)||m(e,n)||f(e,n)||d()}var h={defaultProps:{__TYPE:"Panel",id:null,header:null,headerTemplate:null,toggleable:null,style:null,className:null,collapsed:null,expandIcon:null,collapseIcon:null,icons:null,transitionOptions:null,onExpand:null,onCollapse:null,onToggle:null,children:void 0},getProps:function(e){return o.getMergedProps(e,h.defaultProps)},getOtherProps:function(e){return o.getDiffProps(e,h.defaultProps)}},v=e.forwardRef((function(u,m){var g=h.getProps(u),f=b(e.useState(g.id),2),d=f[0],v=f[1],E=b(e.useState(g.collapsed),2),y=E[0],N=E[1],O=e.useRef(m),P=e.useRef(null),T=!!g.toggleable&&(g.onToggle?g.collapsed:y),S=d+"_header",x=d+"_content",C=function(e){g.toggleable&&(T?I(e):j(e),g.onToggle&&g.onToggle({originalEvent:e,value:!T})),e.preventDefault()},I=function(e){g.onToggle||N(!1),g.onExpand&&g.onExpand(e)},j=function(e){g.onToggle||N(!0),g.onCollapse&&g.onCollapse(e)};e.useImperativeHandle(m,(function(){return{props:g,getElement:function(){return O.current},getContent:function(){return P.current}}})),e.useEffect((function(){o.combinedRefs(O,m)}),[O,m]),t((function(){d||v(i())}));var w=function(){if(g.toggleable){var n=d+"_label",t=p.getJSXIcon(T?g.expandIcon||e.createElement(r,null):g.collapseIcon||e.createElement(l,null),void 0,{props:g,collapsed:T});return e.createElement("button",{className:"p-panel-header-icon p-panel-toggler p-link",onClick:C,id:n,"aria-controls":x,"aria-expanded":!T,role:"tab"},t,e.createElement(a,null))}return null},A=h.getOtherProps(g),k=c("p-panel p-component",{"p-panel-toggleable":g.toggleable},g.className),R=function(){var n=o.getJSXElement(g.header,g),t=o.getJSXElement(g.icons,g),l=w(),r=e.createElement("span",{className:"p-panel-title",id:S},n),a=e.createElement("div",{className:"p-panel-icons"},t,l),i=e.createElement("div",{className:"p-panel-header"},r,a);return g.headerTemplate?o.getJSXElement(g.headerTemplate,{className:"p-panel-header",titleClassName:"p-panel-title",iconsClassName:"p-panel-icons",togglerClassName:"p-panel-header-icon p-panel-toggler p-link",onTogglerClick:C,titleElement:r,iconsElement:a,togglerElement:l,element:i,props:g,collapsed:T}):g.header||g.toggleable?i:null}(),_=e.createElement(n,{nodeRef:P,classNames:"p-toggleable-content",timeout:{enter:1e3,exit:450},in:!T,unmountOnExit:!0,options:g.transitionOptions},e.createElement("div",{ref:P,className:"p-toggleable-content","aria-hidden":T,role:"region",id:x,"aria-labelledby":S},e.createElement("div",{className:"p-panel-content"},g.children)));return e.createElement("div",s({id:g.id,ref:O,className:k,style:g.style},A),R,_)}));v.displayName="Panel";export{v as Panel};
1
+ import*as e from"react";import{CSSTransition as t}from"primereact/csstransition";import{useMountEffect as n}from"primereact/hooks";import{MinusIcon as l}from"primereact/icons/minus";import{PlusIcon as r}from"primereact/icons/plus";import{Ripple as o}from"primereact/ripple";import{ObjectUtils as a,UniqueComponentId as i,mergeProps as c,classNames as p,IconUtils as s}from"primereact/utils";import{ComponentBase as u}from"primereact/componentbase";function m(e){if(Array.isArray(e))return e}function f(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var l,r,o,a,i=[],c=!0,p=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(l=o.call(n)).done)&&(i.push(l.value),i.length!==t);c=!0);}catch(e){p=!0,r=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(p)throw r}}return i}}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=new Array(t);n<t;n++)l[n]=e[n];return l}function d(e,t){if(e){if("string"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(e,t):void 0}}function E(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function b(e,t){return m(e)||f(e,t)||d(e,t)||E()}var h=u.extend({defaultProps:{__TYPE:"Panel",id:null,header:null,headerTemplate:null,footer:null,footerTemplate:null,toggleable:null,style:null,className:null,collapsed:null,expandIcon:null,collapseIcon:null,icons:null,transitionOptions:null,onExpand:null,onCollapse:null,onToggle:null,children:void 0}}),v=e.forwardRef((function(u,m){var f=h.getProps(u),g=b(e.useState(f.id),2),d=g[0],E=g[1],v=b(e.useState(f.collapsed),2),y=v[0],N=v[1],T=e.useRef(m),S=e.useRef(null),x=!!f.toggleable&&(f.onToggle?f.collapsed:y),C=d+"_header",I=d+"_content",O=h.setMetaData({props:f,state:{id:d,collapsed:x}}).ptm,A=function(e){f.toggleable&&(x?J(e):P(e),f.onToggle&&f.onToggle({originalEvent:e,value:!x})),e.preventDefault()},J=function(e){f.onToggle||N(!1),f.onExpand&&f.onExpand(e)},P=function(e){f.onToggle||N(!0),f.onCollapse&&f.onCollapse(e)};e.useImperativeHandle(m,(function(){return{props:f,getElement:function(){return T.current},getContent:function(){return S.current}}})),e.useEffect((function(){a.combinedRefs(T,m)}),[T,m]),n((function(){d||E(i())}));var X,j,k=function(){if(f.toggleable){var t=c({className:"p-panel-header-icon p-panel-toggler p-link",onClick:A,id:d+"_label","aria-controls":I,"aria-expanded":!x,role:"tab"},O("toggler")),n=c(O("togglericon")),a=s.getJSXIcon(x?f.expandIcon||e.createElement(r,n):f.collapseIcon||e.createElement(l,n),n,{props:f,collapsed:x});return e.createElement("button",t,a,e.createElement(o,null))}return null},w=c({id:d,ref:T,style:f.style,className:p("p-panel p-component",{"p-panel-toggleable":f.toggleable},f.className)},h.getOtherProps(f),O("root")),R=function(){var t=a.getJSXElement(f.header,f),n=a.getJSXElement(f.icons,f),l=k(),r=c({id:C,className:"p-panel-title"},O("title")),o=e.createElement("span",r,t),i=c({className:"p-panel-icons"},O("icons")),p=e.createElement("div",i,n,l),s=c({className:"p-panel-header"},O("header")),u=e.createElement("div",s,o,p);return f.headerTemplate?a.getJSXElement(f.headerTemplate,{className:"p-panel-header",titleClassName:"p-panel-title",iconsClassName:"p-panel-icons",togglerClassName:"p-panel-header-icon p-panel-toggler p-link",onTogglerClick:A,titleElement:o,iconsElement:p,togglerElement:l,element:u,props:f,collapsed:x}):f.header||f.toggleable?u:null}(),_=(X=c({ref:S,className:"p-toggleable-content","aria-hidden":x,role:"region",id:I,"aria-labelledby":C},O("toggleablecontent")),j=c({className:"p-panel-content"},O("content")),e.createElement(t,{nodeRef:S,classNames:"p-toggleable-content",timeout:{enter:1e3,exit:450},in:!x,unmountOnExit:!0,options:f.transitionOptions},e.createElement("div",X,e.createElement("div",j,f.children)))),D=function(){var t=a.getJSXElement(f.footer,f),n=c({className:"p-panel-footer"},O("footer")),l=e.createElement("div",n,t);return f.footerTemplate?a.getJSXElement(f.footerTemplate,{className:"p-panel-footer",element:l,props:f}):f.footer?l:null}();return e.createElement("div",w,R,_,D)}));v.displayName="Panel";export{v as Panel};