@cratis/scene.primereact 1.1.0 → 3.0.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 (835) hide show
  1. package/.storybook/preview.tsx +44 -0
  2. package/MenuItem.ts +57 -0
  3. package/PrimeSeverity.ts +17 -0
  4. package/README.md +79 -92
  5. package/TreeNode.ts +68 -0
  6. package/button/ButtonGallery.stories.tsx +1 -1
  7. package/button/PrimeButton.tsx +26 -8
  8. package/button/PrimeButtonGroup.tsx +4 -1
  9. package/button/PrimeSpeedDial.tsx +23 -5
  10. package/button/PrimeSplitButton.tsx +11 -5
  11. package/button/SplitButton.tsx +135 -0
  12. package/button/index.ts +1 -0
  13. package/data/Column.tsx +62 -0
  14. package/data/ColumnDefinition.ts +10 -1
  15. package/data/DataGallery.stories.tsx +0 -5
  16. package/data/Pagination.tsx +82 -0
  17. package/data/PrimeColumn.tsx +17 -7
  18. package/data/PrimeDataTable.tsx +111 -16
  19. package/data/PrimeDataView.tsx +30 -15
  20. package/data/PrimeOrderList.tsx +54 -13
  21. package/data/PrimeOrganizationChart.tsx +28 -8
  22. package/data/PrimePaginator.tsx +16 -14
  23. package/data/PrimePickList.tsx +56 -19
  24. package/data/PrimeTimeline.tsx +49 -14
  25. package/data/PrimeTree.tsx +29 -6
  26. package/data/columnDefinitions.ts +5 -3
  27. package/data/index.ts +1 -2
  28. package/data/primeTreeNodes.ts +68 -0
  29. package/data/selectOptions.ts +29 -0
  30. package/dist/cjs/button/PrimeButton.js +33 -9
  31. package/dist/cjs/button/PrimeButton.js.map +1 -1
  32. package/dist/cjs/button/PrimeButtonGroup.js +4 -1
  33. package/dist/cjs/button/PrimeButtonGroup.js.map +1 -1
  34. package/dist/cjs/button/PrimeSpeedDial.js +33 -4
  35. package/dist/cjs/button/PrimeSpeedDial.js.map +1 -1
  36. package/dist/cjs/button/PrimeSplitButton.js +14 -6
  37. package/dist/cjs/button/PrimeSplitButton.js.map +1 -1
  38. package/dist/cjs/button/SplitButton.js +126 -0
  39. package/dist/cjs/button/SplitButton.js.map +1 -0
  40. package/dist/cjs/data/Column.js +21 -0
  41. package/dist/cjs/data/Column.js.map +1 -0
  42. package/dist/cjs/data/Pagination.js +55 -0
  43. package/dist/cjs/data/Pagination.js.map +1 -0
  44. package/dist/cjs/data/PrimeColumn.js +14 -8
  45. package/dist/cjs/data/PrimeColumn.js.map +1 -1
  46. package/dist/cjs/data/PrimeDataTable.js +121 -16
  47. package/dist/cjs/data/PrimeDataTable.js.map +1 -1
  48. package/dist/cjs/data/PrimeDataView.js +42 -20
  49. package/dist/cjs/data/PrimeDataView.js.map +1 -1
  50. package/dist/cjs/data/PrimeOrderList.js +75 -12
  51. package/dist/cjs/data/PrimeOrderList.js.map +1 -1
  52. package/dist/cjs/data/PrimeOrganizationChart.js +34 -10
  53. package/dist/cjs/data/PrimeOrganizationChart.js.map +1 -1
  54. package/dist/cjs/data/PrimePaginator.js +16 -18
  55. package/dist/cjs/data/PrimePaginator.js.map +1 -1
  56. package/dist/cjs/data/PrimePickList.js +79 -19
  57. package/dist/cjs/data/PrimePickList.js.map +1 -1
  58. package/dist/cjs/data/PrimeTimeline.js +55 -19
  59. package/dist/cjs/data/PrimeTimeline.js.map +1 -1
  60. package/dist/cjs/data/PrimeTree.js +43 -4
  61. package/dist/cjs/data/PrimeTree.js.map +1 -1
  62. package/dist/cjs/data/columnDefinitions.js +5 -3
  63. package/dist/cjs/data/columnDefinitions.js.map +1 -1
  64. package/dist/cjs/data/primeTreeNodes.js +33 -0
  65. package/dist/cjs/data/primeTreeNodes.js.map +1 -0
  66. package/dist/cjs/data/selectOptions.js +22 -0
  67. package/dist/cjs/data/selectOptions.js.map +1 -0
  68. package/dist/cjs/form/PrimeAutoComplete.js +36 -15
  69. package/dist/cjs/form/PrimeAutoComplete.js.map +1 -1
  70. package/dist/cjs/form/PrimeCalendar.js +80 -10
  71. package/dist/cjs/form/PrimeCalendar.js.map +1 -1
  72. package/dist/cjs/form/PrimeCheckbox.js +11 -3
  73. package/dist/cjs/form/PrimeCheckbox.js.map +1 -1
  74. package/dist/cjs/form/PrimeChips.js +41 -7
  75. package/dist/cjs/form/PrimeChips.js.map +1 -1
  76. package/dist/cjs/form/PrimeColorPicker.js +57 -10
  77. package/dist/cjs/form/PrimeColorPicker.js.map +1 -1
  78. package/dist/cjs/form/PrimeDropdown.js +37 -9
  79. package/dist/cjs/form/PrimeDropdown.js.map +1 -1
  80. package/dist/cjs/form/PrimeIconField.js +15 -9
  81. package/dist/cjs/form/PrimeIconField.js.map +1 -1
  82. package/dist/cjs/form/PrimeInputNumber.js +26 -4
  83. package/dist/cjs/form/PrimeInputNumber.js.map +1 -1
  84. package/dist/cjs/form/PrimeInputTextarea.js +6 -4
  85. package/dist/cjs/form/PrimeInputTextarea.js.map +1 -1
  86. package/dist/cjs/form/PrimeKnob.js +13 -3
  87. package/dist/cjs/form/PrimeKnob.js.map +1 -1
  88. package/dist/cjs/form/PrimeListBox.js +11 -5
  89. package/dist/cjs/form/PrimeListBox.js.map +1 -1
  90. package/dist/cjs/form/PrimeMultiSelect.js +43 -8
  91. package/dist/cjs/form/PrimeMultiSelect.js.map +1 -1
  92. package/dist/cjs/form/PrimePassword.js +12 -6
  93. package/dist/cjs/form/PrimePassword.js.map +1 -1
  94. package/dist/cjs/form/PrimeRadioButton.js +13 -3
  95. package/dist/cjs/form/PrimeRadioButton.js.map +1 -1
  96. package/dist/cjs/form/PrimeRating.js +30 -5
  97. package/dist/cjs/form/PrimeRating.js.map +1 -1
  98. package/dist/cjs/form/PrimeSelectButton.js +15 -8
  99. package/dist/cjs/form/PrimeSelectButton.js.map +1 -1
  100. package/dist/cjs/form/PrimeSlider.js +14 -3
  101. package/dist/cjs/form/PrimeSlider.js.map +1 -1
  102. package/dist/cjs/form/PrimeToggleSwitch.js +15 -8
  103. package/dist/cjs/form/PrimeToggleSwitch.js.map +1 -1
  104. package/dist/cjs/form/PrimeTreeSelect.js +17 -8
  105. package/dist/cjs/form/PrimeTreeSelect.js.map +1 -1
  106. package/dist/cjs/form/TreeSelect.js +132 -0
  107. package/dist/cjs/form/TreeSelect.js.map +1 -0
  108. package/dist/cjs/index.js +41 -13
  109. package/dist/cjs/index.js.map +1 -1
  110. package/dist/cjs/media/Image.js +99 -0
  111. package/dist/cjs/media/Image.js.map +1 -0
  112. package/dist/cjs/media/PrimeCarousel.js +50 -16
  113. package/dist/cjs/media/PrimeCarousel.js.map +1 -1
  114. package/dist/cjs/media/PrimeGalleria.js +58 -18
  115. package/dist/cjs/media/PrimeGalleria.js.map +1 -1
  116. package/dist/cjs/media/PrimeImage.js +9 -3
  117. package/dist/cjs/media/PrimeImage.js.map +1 -1
  118. package/dist/cjs/menu/Dock.js +111 -0
  119. package/dist/cjs/menu/Dock.js.map +1 -0
  120. package/dist/cjs/menu/DockPosition.js +29 -0
  121. package/dist/cjs/menu/DockPosition.js.map +1 -0
  122. package/dist/cjs/menu/MegaMenu.js +138 -0
  123. package/dist/cjs/menu/MegaMenu.js.map +1 -0
  124. package/dist/cjs/menu/MenuItemAction.js +54 -0
  125. package/dist/cjs/menu/MenuItemAction.js.map +1 -0
  126. package/dist/cjs/menu/MenuItemContent.js +34 -0
  127. package/dist/cjs/menu/MenuItemContent.js.map +1 -0
  128. package/dist/cjs/menu/Menubar.js +139 -0
  129. package/dist/cjs/menu/Menubar.js.map +1 -0
  130. package/dist/cjs/menu/PanelMenu.js +112 -0
  131. package/dist/cjs/menu/PanelMenu.js.map +1 -0
  132. package/dist/cjs/menu/PrimeBreadcrumb.js +69 -7
  133. package/dist/cjs/menu/PrimeBreadcrumb.js.map +1 -1
  134. package/dist/cjs/menu/PrimeContextMenu.js +36 -12
  135. package/dist/cjs/menu/PrimeContextMenu.js.map +1 -1
  136. package/dist/cjs/menu/PrimeDock.js +35 -8
  137. package/dist/cjs/menu/PrimeDock.js.map +1 -1
  138. package/dist/cjs/menu/PrimeMegaMenu.js +12 -8
  139. package/dist/cjs/menu/PrimeMegaMenu.js.map +1 -1
  140. package/dist/cjs/menu/PrimeMenu.js +58 -2
  141. package/dist/cjs/menu/PrimeMenu.js.map +1 -1
  142. package/dist/cjs/menu/PrimeMenubar.js +10 -3
  143. package/dist/cjs/menu/PrimeMenubar.js.map +1 -1
  144. package/dist/cjs/menu/PrimePanelMenu.js +9 -4
  145. package/dist/cjs/menu/PrimePanelMenu.js.map +1 -1
  146. package/dist/cjs/menu/PrimeSteps.js +16 -10
  147. package/dist/cjs/menu/PrimeSteps.js.map +1 -1
  148. package/dist/cjs/menu/PrimeTabMenu.js +12 -9
  149. package/dist/cjs/menu/PrimeTabMenu.js.map +1 -1
  150. package/dist/cjs/menu/PrimeTieredMenu.js +9 -3
  151. package/dist/cjs/menu/PrimeTieredMenu.js.map +1 -1
  152. package/dist/cjs/menu/Steps.js +74 -0
  153. package/dist/cjs/menu/Steps.js.map +1 -0
  154. package/dist/cjs/menu/TabMenu.js +59 -0
  155. package/dist/cjs/menu/TabMenu.js.map +1 -0
  156. package/dist/cjs/menu/TieredMenu.js +131 -0
  157. package/dist/cjs/menu/TieredMenu.js.map +1 -0
  158. package/dist/cjs/menuItems.js.map +1 -1
  159. package/dist/cjs/messages/PrimeInlineMessage.js +40 -4
  160. package/dist/cjs/messages/PrimeInlineMessage.js.map +1 -1
  161. package/dist/cjs/messages/PrimeMessage.js +39 -4
  162. package/dist/cjs/messages/PrimeMessage.js.map +1 -1
  163. package/dist/cjs/messages/PrimeToast.js +96 -12
  164. package/dist/cjs/messages/PrimeToast.js.map +1 -1
  165. package/dist/cjs/misc/BlockUI.js +47 -0
  166. package/dist/cjs/misc/BlockUI.js.map +1 -0
  167. package/dist/cjs/misc/PrimeAvatar.js +26 -5
  168. package/dist/cjs/misc/PrimeAvatar.js.map +1 -1
  169. package/dist/cjs/misc/PrimeBadge.js +15 -3
  170. package/dist/cjs/misc/PrimeBadge.js.map +1 -1
  171. package/dist/cjs/misc/PrimeBlockUI.js +13 -3
  172. package/dist/cjs/misc/PrimeBlockUI.js.map +1 -1
  173. package/dist/cjs/misc/PrimeChip.js +41 -5
  174. package/dist/cjs/misc/PrimeChip.js.map +1 -1
  175. package/dist/cjs/misc/PrimeInplace.js +18 -5
  176. package/dist/cjs/misc/PrimeInplace.js.map +1 -1
  177. package/dist/cjs/misc/PrimeProgressBar.js +16 -6
  178. package/dist/cjs/misc/PrimeProgressBar.js.map +1 -1
  179. package/dist/cjs/misc/PrimeProgressSpinner.js +14 -3
  180. package/dist/cjs/misc/PrimeProgressSpinner.js.map +1 -1
  181. package/dist/cjs/misc/PrimeScrollTop.js +22 -12
  182. package/dist/cjs/misc/PrimeScrollTop.js.map +1 -1
  183. package/dist/cjs/misc/PrimeSkeleton.js +4 -0
  184. package/dist/cjs/misc/PrimeSkeleton.js.map +1 -1
  185. package/dist/cjs/misc/PrimeTag.js +21 -5
  186. package/dist/cjs/misc/PrimeTag.js.map +1 -1
  187. package/dist/cjs/misc/PrimeTerminal.js +22 -7
  188. package/dist/cjs/misc/PrimeTerminal.js.map +1 -1
  189. package/dist/cjs/misc/ScrollTop.js +70 -0
  190. package/dist/cjs/misc/ScrollTop.js.map +1 -0
  191. package/dist/cjs/overlay/ConfirmDialog.js +107 -0
  192. package/dist/cjs/overlay/ConfirmDialog.js.map +1 -0
  193. package/dist/cjs/overlay/PrimeConfirmDialog.js +15 -8
  194. package/dist/cjs/overlay/PrimeConfirmDialog.js.map +1 -1
  195. package/dist/cjs/overlay/PrimeDialog.js +50 -9
  196. package/dist/cjs/overlay/PrimeDialog.js.map +1 -1
  197. package/dist/cjs/overlay/PrimeOverlayPanel.js +29 -17
  198. package/dist/cjs/overlay/PrimeOverlayPanel.js.map +1 -1
  199. package/dist/cjs/overlay/PrimeSidebar.js +51 -12
  200. package/dist/cjs/overlay/PrimeSidebar.js.map +1 -1
  201. package/dist/cjs/overlay/PrimeTooltip.js +26 -13
  202. package/dist/cjs/overlay/PrimeTooltip.js.map +1 -1
  203. package/dist/cjs/panel/PrimeAccordion.js +39 -9
  204. package/dist/cjs/panel/PrimeAccordion.js.map +1 -1
  205. package/dist/cjs/panel/PrimeCard.js +25 -4
  206. package/dist/cjs/panel/PrimeCard.js.map +1 -1
  207. package/dist/cjs/panel/PrimeDivider.js +6 -1
  208. package/dist/cjs/panel/PrimeDivider.js.map +1 -1
  209. package/dist/cjs/panel/PrimeFieldset.js +37 -4
  210. package/dist/cjs/panel/PrimeFieldset.js.map +1 -1
  211. package/dist/cjs/panel/PrimePanel.js +41 -5
  212. package/dist/cjs/panel/PrimePanel.js.map +1 -1
  213. package/dist/cjs/panel/PrimeScrollPanel.js +20 -5
  214. package/dist/cjs/panel/PrimeScrollPanel.js.map +1 -1
  215. package/dist/cjs/panel/PrimeSplitter.js +26 -6
  216. package/dist/cjs/panel/PrimeSplitter.js.map +1 -1
  217. package/dist/cjs/panel/PrimeStepper.js +71 -29
  218. package/dist/cjs/panel/PrimeStepper.js.map +1 -1
  219. package/dist/cjs/panel/PrimeTabView.js +35 -10
  220. package/dist/cjs/panel/PrimeTabView.js.map +1 -1
  221. package/dist/cjs/panel/PrimeToolbar.js +18 -4
  222. package/dist/cjs/panel/PrimeToolbar.js.map +1 -1
  223. package/dist/cjs/primeReactComponents.js +12 -8
  224. package/dist/cjs/primeReactComponents.js.map +1 -1
  225. package/dist/cjs/primeReactPackage.js +7 -8
  226. package/dist/cjs/primeReactPackage.js.map +1 -1
  227. package/dist/cjs/properties.js +15 -0
  228. package/dist/cjs/properties.js.map +1 -1
  229. package/dist/cjs/screen/PrimeAction.js +24 -6
  230. package/dist/cjs/screen/PrimeAction.js.map +1 -1
  231. package/dist/cjs/screen/PrimeSummary.js +50 -26
  232. package/dist/cjs/screen/PrimeSummary.js.map +1 -1
  233. package/dist/cjs/theme/PrimeReactThemeFamily.js +34 -0
  234. package/dist/cjs/theme/PrimeReactThemeFamily.js.map +1 -0
  235. package/dist/cjs/theme/primeReactThemePreset.js +73 -0
  236. package/dist/cjs/theme/primeReactThemePreset.js.map +1 -0
  237. package/dist/cjs/theme/primeReactThemes.js +36 -18
  238. package/dist/cjs/theme/primeReactThemes.js.map +1 -1
  239. package/dist/cjs/theme/themePresets.js +364 -331
  240. package/dist/cjs/theme/themePresets.js.map +1 -1
  241. package/dist/cjs/theme/usePrimeReactTheme.js +46 -25
  242. package/dist/cjs/theme/usePrimeReactTheme.js.map +1 -1
  243. package/dist/cjs/treeNodes.js.map +1 -1
  244. package/dist/esm/MenuItem.d.ts +10 -0
  245. package/dist/esm/MenuItem.d.ts.map +1 -0
  246. package/dist/esm/MenuItem.js +2 -0
  247. package/dist/esm/MenuItem.js.map +1 -0
  248. package/dist/esm/PrimeSeverity.d.ts +2 -0
  249. package/dist/esm/PrimeSeverity.d.ts.map +1 -0
  250. package/dist/esm/PrimeSeverity.js +2 -0
  251. package/dist/esm/PrimeSeverity.js.map +1 -0
  252. package/dist/esm/TreeNode.d.ts +12 -0
  253. package/dist/esm/TreeNode.d.ts.map +1 -0
  254. package/dist/esm/TreeNode.js +2 -0
  255. package/dist/esm/TreeNode.js.map +1 -0
  256. package/dist/esm/button/ButtonGallery.stories.js +1 -1
  257. package/dist/esm/button/ButtonGallery.stories.js.map +1 -1
  258. package/dist/esm/button/PrimeButton.d.ts.map +1 -1
  259. package/dist/esm/button/PrimeButton.js +35 -11
  260. package/dist/esm/button/PrimeButton.js.map +1 -1
  261. package/dist/esm/button/PrimeButtonGroup.d.ts.map +1 -1
  262. package/dist/esm/button/PrimeButtonGroup.js +4 -1
  263. package/dist/esm/button/PrimeButtonGroup.js.map +1 -1
  264. package/dist/esm/button/PrimeSpeedDial.d.ts.map +1 -1
  265. package/dist/esm/button/PrimeSpeedDial.js +34 -5
  266. package/dist/esm/button/PrimeSpeedDial.js.map +1 -1
  267. package/dist/esm/button/PrimeSplitButton.d.ts.map +1 -1
  268. package/dist/esm/button/PrimeSplitButton.js +13 -5
  269. package/dist/esm/button/PrimeSplitButton.js.map +1 -1
  270. package/dist/esm/button/SplitButton.d.ts +12 -0
  271. package/dist/esm/button/SplitButton.d.ts.map +1 -0
  272. package/dist/esm/button/SplitButton.js +124 -0
  273. package/dist/esm/button/SplitButton.js.map +1 -0
  274. package/dist/esm/button/index.d.ts +1 -0
  275. package/dist/esm/button/index.d.ts.map +1 -1
  276. package/dist/esm/button/index.js +1 -0
  277. package/dist/esm/button/index.js.map +1 -1
  278. package/dist/esm/data/Column.d.ts +10 -0
  279. package/dist/esm/data/Column.d.ts.map +1 -0
  280. package/dist/esm/data/Column.js +19 -0
  281. package/dist/esm/data/Column.js.map +1 -0
  282. package/dist/esm/data/ColumnDefinition.d.ts.map +1 -1
  283. package/dist/esm/data/DataGallery.stories.d.ts.map +1 -1
  284. package/dist/esm/data/DataGallery.stories.js +0 -5
  285. package/dist/esm/data/DataGallery.stories.js.map +1 -1
  286. package/dist/esm/data/Pagination.d.ts +9 -0
  287. package/dist/esm/data/Pagination.d.ts.map +1 -0
  288. package/dist/esm/data/Pagination.js +53 -0
  289. package/dist/esm/data/Pagination.js.map +1 -0
  290. package/dist/esm/data/PrimeColumn.d.ts.map +1 -1
  291. package/dist/esm/data/PrimeColumn.js +13 -7
  292. package/dist/esm/data/PrimeColumn.js.map +1 -1
  293. package/dist/esm/data/PrimeDataTable.d.ts +1 -1
  294. package/dist/esm/data/PrimeDataTable.d.ts.map +1 -1
  295. package/dist/esm/data/PrimeDataTable.js +122 -17
  296. package/dist/esm/data/PrimeDataTable.js.map +1 -1
  297. package/dist/esm/data/PrimeDataView.d.ts.map +1 -1
  298. package/dist/esm/data/PrimeDataView.js +44 -22
  299. package/dist/esm/data/PrimeDataView.js.map +1 -1
  300. package/dist/esm/data/PrimeOrderList.d.ts.map +1 -1
  301. package/dist/esm/data/PrimeOrderList.js +76 -13
  302. package/dist/esm/data/PrimeOrderList.js.map +1 -1
  303. package/dist/esm/data/PrimeOrganizationChart.d.ts.map +1 -1
  304. package/dist/esm/data/PrimeOrganizationChart.js +35 -11
  305. package/dist/esm/data/PrimeOrganizationChart.js.map +1 -1
  306. package/dist/esm/data/PrimePaginator.d.ts.map +1 -1
  307. package/dist/esm/data/PrimePaginator.js +16 -18
  308. package/dist/esm/data/PrimePaginator.js.map +1 -1
  309. package/dist/esm/data/PrimePickList.d.ts.map +1 -1
  310. package/dist/esm/data/PrimePickList.js +80 -20
  311. package/dist/esm/data/PrimePickList.js.map +1 -1
  312. package/dist/esm/data/PrimeTimeline.d.ts.map +1 -1
  313. package/dist/esm/data/PrimeTimeline.js +55 -19
  314. package/dist/esm/data/PrimeTimeline.js.map +1 -1
  315. package/dist/esm/data/PrimeTree.d.ts.map +1 -1
  316. package/dist/esm/data/PrimeTree.js +44 -5
  317. package/dist/esm/data/PrimeTree.js.map +1 -1
  318. package/dist/esm/data/columnDefinitions.d.ts.map +1 -1
  319. package/dist/esm/data/columnDefinitions.js +5 -3
  320. package/dist/esm/data/columnDefinitions.js.map +1 -1
  321. package/dist/esm/data/index.d.ts +1 -2
  322. package/dist/esm/data/index.d.ts.map +1 -1
  323. package/dist/esm/data/index.js +1 -2
  324. package/dist/esm/data/index.js.map +1 -1
  325. package/dist/esm/data/primeTreeNodes.d.ts +10 -0
  326. package/dist/esm/data/primeTreeNodes.d.ts.map +1 -0
  327. package/dist/esm/data/primeTreeNodes.js +31 -0
  328. package/dist/esm/data/primeTreeNodes.js.map +1 -0
  329. package/dist/esm/data/selectOptions.d.ts +3 -0
  330. package/dist/esm/data/selectOptions.d.ts.map +1 -0
  331. package/dist/esm/data/selectOptions.js +20 -0
  332. package/dist/esm/data/selectOptions.js.map +1 -0
  333. package/dist/esm/for_primeReactPackage/when_rendering_every_declared_component.js +21 -1
  334. package/dist/esm/for_primeReactPackage/when_rendering_every_declared_component.js.map +1 -1
  335. package/dist/esm/for_primeReactThemePreset/when_resolving_a_preset.d.ts +2 -0
  336. package/dist/esm/for_primeReactThemePreset/when_resolving_a_preset.d.ts.map +1 -0
  337. package/dist/esm/for_primeReactThemePreset/when_resolving_a_preset.js +30 -0
  338. package/dist/esm/for_primeReactThemePreset/when_resolving_a_preset.js.map +1 -0
  339. package/dist/esm/for_primeReactThemes/when_checking_attribution.js +3 -3
  340. package/dist/esm/for_primeReactThemes/when_checking_attribution.js.map +1 -1
  341. package/dist/esm/for_primeReactThemes/when_checking_the_token_vocabulary.js +9 -3
  342. package/dist/esm/for_primeReactThemes/when_checking_the_token_vocabulary.js.map +1 -1
  343. package/dist/esm/form/FormGallery.stories.d.ts.map +1 -1
  344. package/dist/esm/form/FormGallery.stories.js +1 -5
  345. package/dist/esm/form/FormGallery.stories.js.map +1 -1
  346. package/dist/esm/form/PrimeAutoComplete.d.ts.map +1 -1
  347. package/dist/esm/form/PrimeAutoComplete.js +37 -16
  348. package/dist/esm/form/PrimeAutoComplete.js.map +1 -1
  349. package/dist/esm/form/PrimeCalendar.d.ts.map +1 -1
  350. package/dist/esm/form/PrimeCalendar.js +81 -11
  351. package/dist/esm/form/PrimeCalendar.js.map +1 -1
  352. package/dist/esm/form/PrimeCheckbox.d.ts.map +1 -1
  353. package/dist/esm/form/PrimeCheckbox.js +11 -3
  354. package/dist/esm/form/PrimeCheckbox.js.map +1 -1
  355. package/dist/esm/form/PrimeChips.d.ts.map +1 -1
  356. package/dist/esm/form/PrimeChips.js +44 -10
  357. package/dist/esm/form/PrimeChips.js.map +1 -1
  358. package/dist/esm/form/PrimeColorPicker.d.ts.map +1 -1
  359. package/dist/esm/form/PrimeColorPicker.js +58 -11
  360. package/dist/esm/form/PrimeColorPicker.js.map +1 -1
  361. package/dist/esm/form/PrimeDropdown.d.ts.map +1 -1
  362. package/dist/esm/form/PrimeDropdown.js +38 -10
  363. package/dist/esm/form/PrimeDropdown.js.map +1 -1
  364. package/dist/esm/form/PrimeIconField.d.ts.map +1 -1
  365. package/dist/esm/form/PrimeIconField.js +16 -10
  366. package/dist/esm/form/PrimeIconField.js.map +1 -1
  367. package/dist/esm/form/PrimeInputNumber.d.ts.map +1 -1
  368. package/dist/esm/form/PrimeInputNumber.js +27 -5
  369. package/dist/esm/form/PrimeInputNumber.js.map +1 -1
  370. package/dist/esm/form/PrimeInputTextarea.d.ts.map +1 -1
  371. package/dist/esm/form/PrimeInputTextarea.js +6 -4
  372. package/dist/esm/form/PrimeInputTextarea.js.map +1 -1
  373. package/dist/esm/form/PrimeKnob.d.ts.map +1 -1
  374. package/dist/esm/form/PrimeKnob.js +14 -4
  375. package/dist/esm/form/PrimeKnob.js.map +1 -1
  376. package/dist/esm/form/PrimeListBox.d.ts.map +1 -1
  377. package/dist/esm/form/PrimeListBox.js +12 -6
  378. package/dist/esm/form/PrimeListBox.js.map +1 -1
  379. package/dist/esm/form/PrimeMultiSelect.d.ts.map +1 -1
  380. package/dist/esm/form/PrimeMultiSelect.js +45 -10
  381. package/dist/esm/form/PrimeMultiSelect.js.map +1 -1
  382. package/dist/esm/form/PrimePassword.d.ts.map +1 -1
  383. package/dist/esm/form/PrimePassword.js +12 -6
  384. package/dist/esm/form/PrimePassword.js.map +1 -1
  385. package/dist/esm/form/PrimeRadioButton.d.ts.map +1 -1
  386. package/dist/esm/form/PrimeRadioButton.js +13 -3
  387. package/dist/esm/form/PrimeRadioButton.js.map +1 -1
  388. package/dist/esm/form/PrimeRating.d.ts.map +1 -1
  389. package/dist/esm/form/PrimeRating.js +31 -6
  390. package/dist/esm/form/PrimeRating.js.map +1 -1
  391. package/dist/esm/form/PrimeSelectButton.d.ts.map +1 -1
  392. package/dist/esm/form/PrimeSelectButton.js +16 -9
  393. package/dist/esm/form/PrimeSelectButton.js.map +1 -1
  394. package/dist/esm/form/PrimeSlider.d.ts.map +1 -1
  395. package/dist/esm/form/PrimeSlider.js +15 -4
  396. package/dist/esm/form/PrimeSlider.js.map +1 -1
  397. package/dist/esm/form/PrimeToggleSwitch.d.ts.map +1 -1
  398. package/dist/esm/form/PrimeToggleSwitch.js +15 -8
  399. package/dist/esm/form/PrimeToggleSwitch.js.map +1 -1
  400. package/dist/esm/form/PrimeTreeSelect.d.ts.map +1 -1
  401. package/dist/esm/form/PrimeTreeSelect.js +17 -8
  402. package/dist/esm/form/PrimeTreeSelect.js.map +1 -1
  403. package/dist/esm/form/TreeSelect.d.ts +10 -0
  404. package/dist/esm/form/TreeSelect.d.ts.map +1 -0
  405. package/dist/esm/form/TreeSelect.js +130 -0
  406. package/dist/esm/form/TreeSelect.js.map +1 -0
  407. package/dist/esm/form/index.d.ts +1 -2
  408. package/dist/esm/form/index.d.ts.map +1 -1
  409. package/dist/esm/form/index.js +1 -2
  410. package/dist/esm/form/index.js.map +1 -1
  411. package/dist/esm/index.d.ts +3 -0
  412. package/dist/esm/index.d.ts.map +1 -1
  413. package/dist/esm/index.js +22 -9
  414. package/dist/esm/index.js.map +1 -1
  415. package/dist/esm/media/Image.d.ts +10 -0
  416. package/dist/esm/media/Image.d.ts.map +1 -0
  417. package/dist/esm/media/Image.js +97 -0
  418. package/dist/esm/media/Image.js.map +1 -0
  419. package/dist/esm/media/MediaGallery.stories.js +1 -1
  420. package/dist/esm/media/MediaGallery.stories.js.map +1 -1
  421. package/dist/esm/media/PrimeCarousel.d.ts.map +1 -1
  422. package/dist/esm/media/PrimeCarousel.js +52 -18
  423. package/dist/esm/media/PrimeCarousel.js.map +1 -1
  424. package/dist/esm/media/PrimeGalleria.d.ts.map +1 -1
  425. package/dist/esm/media/PrimeGalleria.js +60 -20
  426. package/dist/esm/media/PrimeGalleria.js.map +1 -1
  427. package/dist/esm/media/PrimeImage.d.ts.map +1 -1
  428. package/dist/esm/media/PrimeImage.js +8 -2
  429. package/dist/esm/media/PrimeImage.js.map +1 -1
  430. package/dist/esm/media/index.d.ts +1 -0
  431. package/dist/esm/media/index.d.ts.map +1 -1
  432. package/dist/esm/media/index.js +1 -0
  433. package/dist/esm/media/index.js.map +1 -1
  434. package/dist/esm/menu/Dock.d.ts +9 -0
  435. package/dist/esm/menu/Dock.d.ts.map +1 -0
  436. package/dist/esm/menu/Dock.js +109 -0
  437. package/dist/esm/menu/Dock.js.map +1 -0
  438. package/dist/esm/menu/DockPosition.d.ts +7 -0
  439. package/dist/esm/menu/DockPosition.d.ts.map +1 -0
  440. package/dist/esm/menu/DockPosition.js +27 -0
  441. package/dist/esm/menu/DockPosition.js.map +1 -0
  442. package/dist/esm/menu/MegaMenu.d.ts +7 -0
  443. package/dist/esm/menu/MegaMenu.d.ts.map +1 -0
  444. package/dist/esm/menu/MegaMenu.js +136 -0
  445. package/dist/esm/menu/MegaMenu.js.map +1 -0
  446. package/dist/esm/menu/MenuGallery.stories.d.ts +1 -0
  447. package/dist/esm/menu/MenuGallery.stories.d.ts.map +1 -1
  448. package/dist/esm/menu/MenuGallery.stories.js +25 -3
  449. package/dist/esm/menu/MenuGallery.stories.js.map +1 -1
  450. package/dist/esm/menu/MenuItemAction.d.ts +12 -0
  451. package/dist/esm/menu/MenuItemAction.d.ts.map +1 -0
  452. package/dist/esm/menu/MenuItemAction.js +52 -0
  453. package/dist/esm/menu/MenuItemAction.js.map +1 -0
  454. package/dist/esm/menu/MenuItemContent.d.ts +6 -0
  455. package/dist/esm/menu/MenuItemContent.d.ts.map +1 -0
  456. package/dist/esm/menu/MenuItemContent.js +32 -0
  457. package/dist/esm/menu/MenuItemContent.js.map +1 -0
  458. package/dist/esm/menu/Menubar.d.ts +9 -0
  459. package/dist/esm/menu/Menubar.d.ts.map +1 -0
  460. package/dist/esm/menu/Menubar.js +137 -0
  461. package/dist/esm/menu/Menubar.js.map +1 -0
  462. package/dist/esm/menu/PanelMenu.d.ts +8 -0
  463. package/dist/esm/menu/PanelMenu.d.ts.map +1 -0
  464. package/dist/esm/menu/PanelMenu.js +110 -0
  465. package/dist/esm/menu/PanelMenu.js.map +1 -0
  466. package/dist/esm/menu/PrimeBreadcrumb.d.ts.map +1 -1
  467. package/dist/esm/menu/PrimeBreadcrumb.js +71 -9
  468. package/dist/esm/menu/PrimeBreadcrumb.js.map +1 -1
  469. package/dist/esm/menu/PrimeContextMenu.d.ts.map +1 -1
  470. package/dist/esm/menu/PrimeContextMenu.js +36 -12
  471. package/dist/esm/menu/PrimeContextMenu.js.map +1 -1
  472. package/dist/esm/menu/PrimeDock.d.ts.map +1 -1
  473. package/dist/esm/menu/PrimeDock.js +34 -7
  474. package/dist/esm/menu/PrimeDock.js.map +1 -1
  475. package/dist/esm/menu/PrimeMegaMenu.d.ts.map +1 -1
  476. package/dist/esm/menu/PrimeMegaMenu.js +11 -7
  477. package/dist/esm/menu/PrimeMegaMenu.js.map +1 -1
  478. package/dist/esm/menu/PrimeMenu.d.ts.map +1 -1
  479. package/dist/esm/menu/PrimeMenu.js +59 -3
  480. package/dist/esm/menu/PrimeMenu.js.map +1 -1
  481. package/dist/esm/menu/PrimeMenubar.d.ts.map +1 -1
  482. package/dist/esm/menu/PrimeMenubar.js +9 -2
  483. package/dist/esm/menu/PrimeMenubar.js.map +1 -1
  484. package/dist/esm/menu/PrimePanelMenu.d.ts.map +1 -1
  485. package/dist/esm/menu/PrimePanelMenu.js +8 -3
  486. package/dist/esm/menu/PrimePanelMenu.js.map +1 -1
  487. package/dist/esm/menu/PrimeSteps.d.ts.map +1 -1
  488. package/dist/esm/menu/PrimeSteps.js +16 -10
  489. package/dist/esm/menu/PrimeSteps.js.map +1 -1
  490. package/dist/esm/menu/PrimeTabMenu.d.ts.map +1 -1
  491. package/dist/esm/menu/PrimeTabMenu.js +11 -8
  492. package/dist/esm/menu/PrimeTabMenu.js.map +1 -1
  493. package/dist/esm/menu/PrimeTieredMenu.d.ts.map +1 -1
  494. package/dist/esm/menu/PrimeTieredMenu.js +8 -2
  495. package/dist/esm/menu/PrimeTieredMenu.js.map +1 -1
  496. package/dist/esm/menu/Steps.d.ts +8 -0
  497. package/dist/esm/menu/Steps.d.ts.map +1 -0
  498. package/dist/esm/menu/Steps.js +72 -0
  499. package/dist/esm/menu/Steps.js.map +1 -0
  500. package/dist/esm/menu/TabMenu.d.ts +8 -0
  501. package/dist/esm/menu/TabMenu.d.ts.map +1 -0
  502. package/dist/esm/menu/TabMenu.js +57 -0
  503. package/dist/esm/menu/TabMenu.js.map +1 -0
  504. package/dist/esm/menu/TieredMenu.d.ts +7 -0
  505. package/dist/esm/menu/TieredMenu.d.ts.map +1 -0
  506. package/dist/esm/menu/TieredMenu.js +129 -0
  507. package/dist/esm/menu/TieredMenu.js.map +1 -0
  508. package/dist/esm/menu/index.d.ts +10 -0
  509. package/dist/esm/menu/index.d.ts.map +1 -1
  510. package/dist/esm/menu/index.js +10 -0
  511. package/dist/esm/menu/index.js.map +1 -1
  512. package/dist/esm/menuItems.d.ts +1 -1
  513. package/dist/esm/menuItems.d.ts.map +1 -1
  514. package/dist/esm/menuItems.js.map +1 -1
  515. package/dist/esm/messages/MessageGallery.stories.js +1 -1
  516. package/dist/esm/messages/MessageGallery.stories.js.map +1 -1
  517. package/dist/esm/messages/PrimeInlineMessage.d.ts.map +1 -1
  518. package/dist/esm/messages/PrimeInlineMessage.js +42 -6
  519. package/dist/esm/messages/PrimeInlineMessage.js.map +1 -1
  520. package/dist/esm/messages/PrimeMessage.d.ts.map +1 -1
  521. package/dist/esm/messages/PrimeMessage.js +41 -6
  522. package/dist/esm/messages/PrimeMessage.js.map +1 -1
  523. package/dist/esm/messages/PrimeToast.d.ts.map +1 -1
  524. package/dist/esm/messages/PrimeToast.js +99 -15
  525. package/dist/esm/messages/PrimeToast.js.map +1 -1
  526. package/dist/esm/misc/BlockUI.d.ts +7 -0
  527. package/dist/esm/misc/BlockUI.d.ts.map +1 -0
  528. package/dist/esm/misc/BlockUI.js +45 -0
  529. package/dist/esm/misc/BlockUI.js.map +1 -0
  530. package/dist/esm/misc/MiscGallery.stories.js +1 -1
  531. package/dist/esm/misc/MiscGallery.stories.js.map +1 -1
  532. package/dist/esm/misc/PrimeAvatar.d.ts.map +1 -1
  533. package/dist/esm/misc/PrimeAvatar.js +27 -6
  534. package/dist/esm/misc/PrimeAvatar.js.map +1 -1
  535. package/dist/esm/misc/PrimeBadge.d.ts.map +1 -1
  536. package/dist/esm/misc/PrimeBadge.js +16 -4
  537. package/dist/esm/misc/PrimeBadge.js.map +1 -1
  538. package/dist/esm/misc/PrimeBlockUI.d.ts.map +1 -1
  539. package/dist/esm/misc/PrimeBlockUI.js +12 -2
  540. package/dist/esm/misc/PrimeBlockUI.js.map +1 -1
  541. package/dist/esm/misc/PrimeChip.d.ts.map +1 -1
  542. package/dist/esm/misc/PrimeChip.js +43 -7
  543. package/dist/esm/misc/PrimeChip.js.map +1 -1
  544. package/dist/esm/misc/PrimeInplace.d.ts.map +1 -1
  545. package/dist/esm/misc/PrimeInplace.js +19 -6
  546. package/dist/esm/misc/PrimeInplace.js.map +1 -1
  547. package/dist/esm/misc/PrimeProgressBar.d.ts.map +1 -1
  548. package/dist/esm/misc/PrimeProgressBar.js +16 -6
  549. package/dist/esm/misc/PrimeProgressBar.js.map +1 -1
  550. package/dist/esm/misc/PrimeProgressSpinner.d.ts.map +1 -1
  551. package/dist/esm/misc/PrimeProgressSpinner.js +15 -4
  552. package/dist/esm/misc/PrimeProgressSpinner.js.map +1 -1
  553. package/dist/esm/misc/PrimeScrollTop.d.ts.map +1 -1
  554. package/dist/esm/misc/PrimeScrollTop.js +21 -11
  555. package/dist/esm/misc/PrimeScrollTop.js.map +1 -1
  556. package/dist/esm/misc/PrimeSkeleton.d.ts.map +1 -1
  557. package/dist/esm/misc/PrimeSkeleton.js +4 -0
  558. package/dist/esm/misc/PrimeSkeleton.js.map +1 -1
  559. package/dist/esm/misc/PrimeTag.d.ts.map +1 -1
  560. package/dist/esm/misc/PrimeTag.js +23 -7
  561. package/dist/esm/misc/PrimeTag.js.map +1 -1
  562. package/dist/esm/misc/PrimeTerminal.d.ts.map +1 -1
  563. package/dist/esm/misc/PrimeTerminal.js +23 -8
  564. package/dist/esm/misc/PrimeTerminal.js.map +1 -1
  565. package/dist/esm/misc/ScrollTop.d.ts +8 -0
  566. package/dist/esm/misc/ScrollTop.d.ts.map +1 -0
  567. package/dist/esm/misc/ScrollTop.js +68 -0
  568. package/dist/esm/misc/ScrollTop.js.map +1 -0
  569. package/dist/esm/misc/index.d.ts +2 -0
  570. package/dist/esm/misc/index.d.ts.map +1 -1
  571. package/dist/esm/misc/index.js +2 -0
  572. package/dist/esm/misc/index.js.map +1 -1
  573. package/dist/esm/overlay/ConfirmDialog.d.ts +14 -0
  574. package/dist/esm/overlay/ConfirmDialog.d.ts.map +1 -0
  575. package/dist/esm/overlay/ConfirmDialog.js +105 -0
  576. package/dist/esm/overlay/ConfirmDialog.js.map +1 -0
  577. package/dist/esm/overlay/OverlayGallery.stories.js +1 -1
  578. package/dist/esm/overlay/OverlayGallery.stories.js.map +1 -1
  579. package/dist/esm/overlay/PrimeConfirmDialog.d.ts.map +1 -1
  580. package/dist/esm/overlay/PrimeConfirmDialog.js +14 -7
  581. package/dist/esm/overlay/PrimeConfirmDialog.js.map +1 -1
  582. package/dist/esm/overlay/PrimeDialog.d.ts.map +1 -1
  583. package/dist/esm/overlay/PrimeDialog.js +50 -9
  584. package/dist/esm/overlay/PrimeDialog.js.map +1 -1
  585. package/dist/esm/overlay/PrimeOverlayPanel.d.ts.map +1 -1
  586. package/dist/esm/overlay/PrimeOverlayPanel.js +30 -18
  587. package/dist/esm/overlay/PrimeOverlayPanel.js.map +1 -1
  588. package/dist/esm/overlay/PrimeSidebar.d.ts.map +1 -1
  589. package/dist/esm/overlay/PrimeSidebar.js +51 -12
  590. package/dist/esm/overlay/PrimeSidebar.js.map +1 -1
  591. package/dist/esm/overlay/PrimeTooltip.d.ts.map +1 -1
  592. package/dist/esm/overlay/PrimeTooltip.js +27 -14
  593. package/dist/esm/overlay/PrimeTooltip.js.map +1 -1
  594. package/dist/esm/overlay/index.d.ts +1 -0
  595. package/dist/esm/overlay/index.d.ts.map +1 -1
  596. package/dist/esm/overlay/index.js +1 -0
  597. package/dist/esm/overlay/index.js.map +1 -1
  598. package/dist/esm/panel/PanelGallery.stories.js +1 -1
  599. package/dist/esm/panel/PanelGallery.stories.js.map +1 -1
  600. package/dist/esm/panel/PrimeAccordion.d.ts.map +1 -1
  601. package/dist/esm/panel/PrimeAccordion.js +41 -11
  602. package/dist/esm/panel/PrimeAccordion.js.map +1 -1
  603. package/dist/esm/panel/PrimeCard.d.ts.map +1 -1
  604. package/dist/esm/panel/PrimeCard.js +26 -5
  605. package/dist/esm/panel/PrimeCard.js.map +1 -1
  606. package/dist/esm/panel/PrimeDivider.d.ts.map +1 -1
  607. package/dist/esm/panel/PrimeDivider.js +6 -1
  608. package/dist/esm/panel/PrimeDivider.js.map +1 -1
  609. package/dist/esm/panel/PrimeFieldset.d.ts.map +1 -1
  610. package/dist/esm/panel/PrimeFieldset.js +39 -6
  611. package/dist/esm/panel/PrimeFieldset.js.map +1 -1
  612. package/dist/esm/panel/PrimePanel.d.ts.map +1 -1
  613. package/dist/esm/panel/PrimePanel.js +42 -6
  614. package/dist/esm/panel/PrimePanel.js.map +1 -1
  615. package/dist/esm/panel/PrimeScrollPanel.d.ts.map +1 -1
  616. package/dist/esm/panel/PrimeScrollPanel.js +21 -6
  617. package/dist/esm/panel/PrimeScrollPanel.js.map +1 -1
  618. package/dist/esm/panel/PrimeSplitter.d.ts.map +1 -1
  619. package/dist/esm/panel/PrimeSplitter.js +28 -8
  620. package/dist/esm/panel/PrimeSplitter.js.map +1 -1
  621. package/dist/esm/panel/PrimeStepper.d.ts.map +1 -1
  622. package/dist/esm/panel/PrimeStepper.js +74 -32
  623. package/dist/esm/panel/PrimeStepper.js.map +1 -1
  624. package/dist/esm/panel/PrimeTabView.d.ts.map +1 -1
  625. package/dist/esm/panel/PrimeTabView.js +36 -11
  626. package/dist/esm/panel/PrimeTabView.js.map +1 -1
  627. package/dist/esm/panel/PrimeToolbar.d.ts.map +1 -1
  628. package/dist/esm/panel/PrimeToolbar.js +19 -5
  629. package/dist/esm/panel/PrimeToolbar.js.map +1 -1
  630. package/dist/esm/primeReactComponents.d.ts.map +1 -1
  631. package/dist/esm/primeReactComponents.js +12 -8
  632. package/dist/esm/primeReactComponents.js.map +1 -1
  633. package/dist/esm/primeReactPackage.d.ts.map +1 -1
  634. package/dist/esm/primeReactPackage.js +7 -8
  635. package/dist/esm/primeReactPackage.js.map +1 -1
  636. package/dist/esm/properties.d.ts +3 -0
  637. package/dist/esm/properties.d.ts.map +1 -1
  638. package/dist/esm/properties.js +15 -1
  639. package/dist/esm/properties.js.map +1 -1
  640. package/dist/esm/screen/PrimeAction.d.ts.map +1 -1
  641. package/dist/esm/screen/PrimeAction.js +25 -7
  642. package/dist/esm/screen/PrimeAction.js.map +1 -1
  643. package/dist/esm/screen/PrimeSummary.d.ts.map +1 -1
  644. package/dist/esm/screen/PrimeSummary.js +51 -27
  645. package/dist/esm/screen/PrimeSummary.js.map +1 -1
  646. package/dist/esm/theme/PrimeReactThemeFamily.d.ts +7 -0
  647. package/dist/esm/theme/PrimeReactThemeFamily.d.ts.map +1 -0
  648. package/dist/esm/theme/PrimeReactThemeFamily.js +32 -0
  649. package/dist/esm/theme/PrimeReactThemeFamily.js.map +1 -0
  650. package/dist/esm/theme/index.d.ts +2 -2
  651. package/dist/esm/theme/index.d.ts.map +1 -1
  652. package/dist/esm/theme/index.js +2 -2
  653. package/dist/esm/theme/index.js.map +1 -1
  654. package/dist/esm/theme/primeReactThemePreset.d.ts +7 -0
  655. package/dist/esm/theme/primeReactThemePreset.d.ts.map +1 -0
  656. package/dist/esm/theme/primeReactThemePreset.js +71 -0
  657. package/dist/esm/theme/primeReactThemePreset.js.map +1 -0
  658. package/dist/esm/theme/primeReactThemes.d.ts +1 -0
  659. package/dist/esm/theme/primeReactThemes.d.ts.map +1 -1
  660. package/dist/esm/theme/primeReactThemes.js +36 -19
  661. package/dist/esm/theme/primeReactThemes.js.map +1 -1
  662. package/dist/esm/theme/themePresets.d.ts +5 -1
  663. package/dist/esm/theme/themePresets.d.ts.map +1 -1
  664. package/dist/esm/theme/themePresets.js +364 -331
  665. package/dist/esm/theme/themePresets.js.map +1 -1
  666. package/dist/esm/theme/usePrimeReactTheme.d.ts +11 -1
  667. package/dist/esm/theme/usePrimeReactTheme.d.ts.map +1 -1
  668. package/dist/esm/theme/usePrimeReactTheme.js +47 -27
  669. package/dist/esm/theme/usePrimeReactTheme.js.map +1 -1
  670. package/dist/esm/treeNodes.d.ts +1 -1
  671. package/dist/esm/treeNodes.d.ts.map +1 -1
  672. package/dist/esm/treeNodes.js.map +1 -1
  673. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  674. package/for_menuItems/when_converting_entries.ts +1 -1
  675. package/for_primeReactPackage/when_rendering_every_declared_component.tsx +43 -1
  676. package/for_primeReactThemePreset/when_resolving_a_preset.ts +49 -0
  677. package/for_primeReactThemes/when_checking_attribution.ts +9 -3
  678. package/for_primeReactThemes/when_checking_the_token_vocabulary.ts +22 -3
  679. package/form/FormGallery.stories.tsx +1 -5
  680. package/form/PrimeAutoComplete.tsx +34 -18
  681. package/form/PrimeCalendar.tsx +60 -11
  682. package/form/PrimeCheckbox.tsx +12 -4
  683. package/form/PrimeChips.tsx +29 -9
  684. package/form/PrimeColorPicker.tsx +56 -12
  685. package/form/PrimeDropdown.tsx +29 -11
  686. package/form/PrimeIconField.tsx +12 -5
  687. package/form/PrimeInputNumber.tsx +19 -5
  688. package/form/PrimeInputTextarea.tsx +8 -6
  689. package/form/PrimeKnob.tsx +12 -4
  690. package/form/PrimeListBox.tsx +13 -7
  691. package/form/PrimeMultiSelect.tsx +35 -10
  692. package/form/PrimePassword.tsx +12 -6
  693. package/form/PrimeRadioButton.tsx +14 -4
  694. package/form/PrimeRating.tsx +23 -6
  695. package/form/PrimeSelectButton.tsx +17 -9
  696. package/form/PrimeSlider.tsx +13 -4
  697. package/form/PrimeToggleSwitch.tsx +16 -9
  698. package/form/PrimeTreeSelect.tsx +18 -10
  699. package/form/TreeSelect.tsx +158 -0
  700. package/form/index.ts +1 -2
  701. package/index.ts +3 -0
  702. package/media/Image.tsx +104 -0
  703. package/media/MediaGallery.stories.tsx +1 -1
  704. package/media/PrimeCarousel.tsx +35 -14
  705. package/media/PrimeGalleria.tsx +43 -18
  706. package/media/PrimeImage.tsx +6 -2
  707. package/media/index.ts +1 -0
  708. package/menu/Dock.tsx +109 -0
  709. package/menu/DockPosition.ts +32 -0
  710. package/menu/MegaMenu.tsx +138 -0
  711. package/menu/MenuGallery.stories.tsx +31 -3
  712. package/menu/MenuItemAction.tsx +92 -0
  713. package/menu/MenuItemContent.tsx +36 -0
  714. package/menu/Menubar.tsx +149 -0
  715. package/menu/PanelMenu.tsx +107 -0
  716. package/menu/PrimeBreadcrumb.tsx +62 -7
  717. package/menu/PrimeContextMenu.tsx +43 -9
  718. package/menu/PrimeDock.tsx +33 -6
  719. package/menu/PrimeMegaMenu.tsx +9 -12
  720. package/menu/PrimeMenu.tsx +64 -1
  721. package/menu/PrimeMenubar.tsx +7 -2
  722. package/menu/PrimePanelMenu.tsx +6 -5
  723. package/menu/PrimeSteps.tsx +13 -15
  724. package/menu/PrimeTabMenu.tsx +8 -13
  725. package/menu/PrimeTieredMenu.tsx +6 -2
  726. package/menu/Steps.tsx +79 -0
  727. package/menu/TabMenu.tsx +72 -0
  728. package/menu/TieredMenu.tsx +136 -0
  729. package/menu/index.ts +10 -0
  730. package/menuItems.ts +1 -1
  731. package/messages/MessageGallery.stories.tsx +1 -1
  732. package/messages/PrimeInlineMessage.tsx +37 -6
  733. package/messages/PrimeMessage.tsx +35 -8
  734. package/messages/PrimeToast.tsx +84 -9
  735. package/misc/BlockUI.tsx +51 -0
  736. package/misc/MiscGallery.stories.tsx +1 -1
  737. package/misc/PrimeAvatar.tsx +17 -6
  738. package/misc/PrimeBadge.tsx +17 -5
  739. package/misc/PrimeBlockUI.tsx +13 -3
  740. package/misc/PrimeChip.tsx +27 -7
  741. package/misc/PrimeInplace.tsx +17 -5
  742. package/misc/PrimeProgressBar.tsx +11 -7
  743. package/misc/PrimeProgressSpinner.tsx +14 -1
  744. package/misc/PrimeScrollTop.tsx +16 -8
  745. package/misc/PrimeSkeleton.tsx +4 -0
  746. package/misc/PrimeTag.tsx +17 -6
  747. package/misc/PrimeTerminal.tsx +18 -9
  748. package/misc/ScrollTop.tsx +81 -0
  749. package/misc/index.ts +2 -0
  750. package/overlay/ConfirmDialog.tsx +135 -0
  751. package/overlay/OverlayGallery.stories.tsx +1 -1
  752. package/overlay/PrimeConfirmDialog.tsx +15 -10
  753. package/overlay/PrimeDialog.tsx +35 -8
  754. package/overlay/PrimeOverlayPanel.tsx +20 -8
  755. package/overlay/PrimeSidebar.tsx +38 -12
  756. package/overlay/PrimeTooltip.tsx +24 -10
  757. package/overlay/index.ts +1 -0
  758. package/package.json +29 -13
  759. package/panel/PanelGallery.stories.tsx +1 -1
  760. package/panel/PrimeAccordion.tsx +28 -10
  761. package/panel/PrimeCard.tsx +18 -3
  762. package/panel/PrimeDivider.tsx +6 -1
  763. package/panel/PrimeFieldset.tsx +25 -3
  764. package/panel/PrimePanel.tsx +26 -7
  765. package/panel/PrimeScrollPanel.tsx +16 -8
  766. package/panel/PrimeSplitter.tsx +24 -7
  767. package/panel/PrimeStepper.tsx +57 -20
  768. package/panel/PrimeTabView.tsx +29 -9
  769. package/panel/PrimeToolbar.tsx +13 -1
  770. package/primeReactComponents.ts +0 -8
  771. package/primeReactPackage.ts +8 -7
  772. package/primeReactTheme.css +56 -33
  773. package/properties.ts +30 -0
  774. package/screen/PrimeAction.tsx +20 -6
  775. package/screen/PrimeSummary.tsx +36 -13
  776. package/theme/PrimeReactThemeFamily.ts +37 -0
  777. package/theme/index.ts +2 -2
  778. package/theme/primeReactThemePreset.ts +83 -0
  779. package/theme/primeReactThemes.ts +37 -18
  780. package/theme/themePresets.ts +381 -336
  781. package/theme/usePrimeReactTheme.ts +73 -25
  782. package/treeNodes.ts +1 -1
  783. package/.storybook/preview.ts +0 -22
  784. package/data/PrimeTreeTable.tsx +0 -32
  785. package/data/PrimeVirtualScroller.tsx +0 -31
  786. package/dist/cjs/data/PrimeTreeTable.js +0 -40
  787. package/dist/cjs/data/PrimeTreeTable.js.map +0 -1
  788. package/dist/cjs/data/PrimeVirtualScroller.js +0 -34
  789. package/dist/cjs/data/PrimeVirtualScroller.js.map +0 -1
  790. package/dist/cjs/form/PrimeCascadeSelect.js +0 -32
  791. package/dist/cjs/form/PrimeCascadeSelect.js.map +0 -1
  792. package/dist/cjs/form/PrimeInputMask.js +0 -26
  793. package/dist/cjs/form/PrimeInputMask.js.map +0 -1
  794. package/dist/cjs/theme/applyPrimeReactTheme.js +0 -51
  795. package/dist/cjs/theme/applyPrimeReactTheme.js.map +0 -1
  796. package/dist/cjs/theme/primeReactThemeStylesheet.js +0 -34
  797. package/dist/cjs/theme/primeReactThemeStylesheet.js.map +0 -1
  798. package/dist/esm/data/PrimeTreeTable.d.ts +0 -3
  799. package/dist/esm/data/PrimeTreeTable.d.ts.map +0 -1
  800. package/dist/esm/data/PrimeTreeTable.js +0 -38
  801. package/dist/esm/data/PrimeTreeTable.js.map +0 -1
  802. package/dist/esm/data/PrimeVirtualScroller.d.ts +0 -3
  803. package/dist/esm/data/PrimeVirtualScroller.d.ts.map +0 -1
  804. package/dist/esm/data/PrimeVirtualScroller.js +0 -32
  805. package/dist/esm/data/PrimeVirtualScroller.js.map +0 -1
  806. package/dist/esm/for_applyPrimeReactTheme/when_swapping_the_theme_stylesheet.d.ts +0 -2
  807. package/dist/esm/for_applyPrimeReactTheme/when_swapping_the_theme_stylesheet.d.ts.map +0 -1
  808. package/dist/esm/for_applyPrimeReactTheme/when_swapping_the_theme_stylesheet.js +0 -63
  809. package/dist/esm/for_applyPrimeReactTheme/when_swapping_the_theme_stylesheet.js.map +0 -1
  810. package/dist/esm/for_primeReactThemes/when_resolving_a_theme_stylesheet.d.ts +0 -2
  811. package/dist/esm/for_primeReactThemes/when_resolving_a_theme_stylesheet.d.ts.map +0 -1
  812. package/dist/esm/for_primeReactThemes/when_resolving_a_theme_stylesheet.js +0 -17
  813. package/dist/esm/for_primeReactThemes/when_resolving_a_theme_stylesheet.js.map +0 -1
  814. package/dist/esm/form/PrimeCascadeSelect.d.ts +0 -3
  815. package/dist/esm/form/PrimeCascadeSelect.d.ts.map +0 -1
  816. package/dist/esm/form/PrimeCascadeSelect.js +0 -30
  817. package/dist/esm/form/PrimeCascadeSelect.js.map +0 -1
  818. package/dist/esm/form/PrimeInputMask.d.ts +0 -3
  819. package/dist/esm/form/PrimeInputMask.d.ts.map +0 -1
  820. package/dist/esm/form/PrimeInputMask.js +0 -24
  821. package/dist/esm/form/PrimeInputMask.js.map +0 -1
  822. package/dist/esm/theme/applyPrimeReactTheme.d.ts +0 -2
  823. package/dist/esm/theme/applyPrimeReactTheme.d.ts.map +0 -1
  824. package/dist/esm/theme/applyPrimeReactTheme.js +0 -49
  825. package/dist/esm/theme/applyPrimeReactTheme.js.map +0 -1
  826. package/dist/esm/theme/primeReactThemeStylesheet.d.ts +0 -3
  827. package/dist/esm/theme/primeReactThemeStylesheet.d.ts.map +0 -1
  828. package/dist/esm/theme/primeReactThemeStylesheet.js +0 -31
  829. package/dist/esm/theme/primeReactThemeStylesheet.js.map +0 -1
  830. package/for_applyPrimeReactTheme/when_swapping_the_theme_stylesheet.ts +0 -81
  831. package/for_primeReactThemes/when_resolving_a_theme_stylesheet.ts +0 -22
  832. package/form/PrimeCascadeSelect.tsx +0 -31
  833. package/form/PrimeInputMask.tsx +0 -27
  834. package/theme/applyPrimeReactTheme.ts +0 -52
  835. package/theme/primeReactThemeStylesheet.ts +0 -32
@@ -0,0 +1,135 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+
4
+ import { HTMLAttributes } from 'react';
5
+ import { Button } from 'primereact/button';
6
+ import { Popover } from 'primereact/popover';
7
+ import { MenuItem } from '../MenuItem';
8
+
9
+ /**
10
+ * Configuration for {@link SplitButton}.
11
+ */
12
+ export interface SplitButtonProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'onClick' | 'children'> {
13
+ /**
14
+ * The text on the primary half. This is the action the control is named after - the one a reader
15
+ * takes without opening anything.
16
+ */
17
+ label?: string;
18
+
19
+ /**
20
+ * An icon class shown before the label on the primary half.
21
+ */
22
+ icon?: string;
23
+
24
+ /**
25
+ * The secondary actions, shown when the dropdown half is opened. Empty means there are none, and the
26
+ * dropdown half is left off entirely rather than rendered as a control that opens onto nothing.
27
+ */
28
+ items?: MenuItem[];
29
+
30
+ /**
31
+ * Whether both halves are unavailable. There is no way to disable only one: a split button with a
32
+ * dead primary action is a menu wearing the wrong shape.
33
+ */
34
+ disabled?: boolean;
35
+
36
+ /**
37
+ * The PrimeReact severity to tint both halves with, so the two read as one control.
38
+ */
39
+ severity?: string;
40
+
41
+ /**
42
+ * Invoked when the primary half is pressed. Named apart from the DOM `onClick` this component would
43
+ * otherwise inherit, because the two are different questions - "was the action taken" against
44
+ * "was anything in here clicked", including the dropdown toggle.
45
+ */
46
+ onAction?: () => void;
47
+ }
48
+
49
+ /**
50
+ * One row of the dropdown menu.
51
+ *
52
+ * Kept apart from the composition below so the three shapes an entry can take - a divider, a link, a
53
+ * command - are three plain branches rather than nested conditionals inside the JSX. An entry carrying a
54
+ * `url` becomes a real anchor: it is a navigation, and rendering it as a button would cost the reader the
55
+ * middle-click, the copy-link and the status bar preview that make a link a link.
56
+ */
57
+ function SplitButtonItem({ item }: { item: MenuItem }) {
58
+ const className = 'flex w-full items-center gap-2 border-0 bg-transparent px-3 py-2 text-left no-underline disabled:opacity-50';
59
+ const content = (
60
+ <>
61
+ {item.icon !== undefined && <i className={item.icon} aria-hidden='true' />}
62
+ {item.label}
63
+ </>
64
+ );
65
+
66
+ if (item.separator === true) return <li role='separator' className='my-1 border-t' />;
67
+
68
+ if (item.url !== undefined) {
69
+ return (
70
+ <li role='none'>
71
+ <a role='menuitem' href={item.url} className={className}>
72
+ {content}
73
+ </a>
74
+ </li>
75
+ );
76
+ }
77
+
78
+ return (
79
+ <li role='none'>
80
+ <button type='button' role='menuitem' disabled={item.disabled} onClick={item.command} className={className}>
81
+ {content}
82
+ </button>
83
+ </li>
84
+ );
85
+ }
86
+
87
+ /**
88
+ * A primary action with a dropdown of related ones beside it.
89
+ *
90
+ * Cratis owns this component. PrimeReact 10 had `SplitButton`; PrimeReact 11 removed it with no
91
+ * replacement and no headless hook, while `splitButton` remains a name this package's manifest publishes.
92
+ * It is composed rather than reimplemented: both halves are PrimeReact `Button`s and the menu hangs off a
93
+ * PrimeReact `Popover`, so the control is themed, positioned, portaled and dismissed by the same machinery
94
+ * every other overlay in the application uses. What is actually ours is the arrangement and the menu
95
+ * markup - a `menu` / `menuitem` structure over {@link MenuItem}, which is the part v10 left to chance.
96
+ *
97
+ * A dropdown half with nothing behind it is not rendered, so an authored but not-yet-populated item list
98
+ * degrades to a plain button.
99
+ *
100
+ * What it deliberately does not carry over from v10: nested submenus - `items` is read one level deep,
101
+ * because a split button whose menu has drawers is a menubar and should say so; the `menuButtonProps` /
102
+ * `buttonProps` escape hatches, which existed to reach past the component and are unnecessary when the
103
+ * halves are just Buttons; the `loading` state, which v11's Button no longer has; and `appendTo` and
104
+ * z-index juggling, which the popover's portal makes moot.
105
+ */
106
+ export function SplitButton({ label, icon, items = [], disabled = false, severity, onAction, className, ...rest }: SplitButtonProps) {
107
+ return (
108
+ <span {...rest} className={['inline-flex', className].filter(Boolean).join(' ')}>
109
+ <Button severity={severity} disabled={disabled} onClick={onAction}>
110
+ {icon !== undefined && <i className={icon} aria-hidden='true' />}
111
+ {label}
112
+ </Button>
113
+ {items.length > 0 && (
114
+ <Popover.Root>
115
+ <Popover.Trigger as={Button} severity={severity} disabled={disabled} aria-label={label === undefined ? 'More actions' : `More actions for ${label}`}>
116
+ <i className='pi pi-chevron-down' aria-hidden='true' />
117
+ </Popover.Trigger>
118
+ <Popover.Portal>
119
+ <Popover.Positioner>
120
+ <Popover.Popup>
121
+ <Popover.Content>
122
+ <ul role='menu' className='m-0 flex list-none flex-col p-0'>
123
+ {items.map((item, index) => (
124
+ <SplitButtonItem key={index} item={item} />
125
+ ))}
126
+ </ul>
127
+ </Popover.Content>
128
+ </Popover.Popup>
129
+ </Popover.Positioner>
130
+ </Popover.Portal>
131
+ </Popover.Root>
132
+ )}
133
+ </span>
134
+ );
135
+ }
package/button/index.ts CHANGED
@@ -5,3 +5,4 @@ export * from './PrimeButton';
5
5
  export * from './PrimeSplitButton';
6
6
  export * from './PrimeSpeedDial';
7
7
  export * from './PrimeButtonGroup';
8
+ export * from './SplitButton';
@@ -0,0 +1,62 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+
4
+ import { FC, ReactNode } from 'react';
5
+
6
+ /**
7
+ * What one column of a table declares about itself.
8
+ *
9
+ * This is deliberately the smallest set a table needs to draw a heading and a cell. PrimeReact 10's
10
+ * `Column` also carried `editor`, `frozen`, `footer`, `colSpan` and `expander`; none of them are carried
11
+ * over. Editing, frozen panes and footers are table-wide behaviors that a Scene screen has no way to
12
+ * drive - there is nowhere for an edit to go and nothing to compute a footer from - and `colSpan` and
13
+ * `expander` only mean anything inside layouts (column groups, nested rows) this package no longer
14
+ * offers. Re-declaring them here would advertise capabilities the adapters cannot honor.
15
+ */
16
+ export interface ColumnProps {
17
+ /**
18
+ * The row property the column shows. Also the field the table sorts and filters by, which is why a
19
+ * column without one gets neither: there is nothing to key the operation on.
20
+ */
21
+ field?: string;
22
+
23
+ /**
24
+ * The column heading. A column authored with only a field falls back to the field name rather than
25
+ * rendering blank, so a half-configured table still reads as a table.
26
+ */
27
+ header?: string;
28
+
29
+ /**
30
+ * Renders the cell from the whole row instead of from a single field. This is the escape hatch for a
31
+ * column that shows something derived - two fields joined, a formatted date, a badge - and it is the
32
+ * one reason a column may sensibly omit `field`.
33
+ */
34
+ body?: (row: Record<string, unknown>) => ReactNode;
35
+
36
+ /**
37
+ * Whether clicking the heading sorts by this column.
38
+ */
39
+ sortable?: boolean;
40
+
41
+ /**
42
+ * Whether the heading offers an inline filter for this column.
43
+ */
44
+ filter?: boolean;
45
+ }
46
+
47
+ /**
48
+ * One column of a table - Cratis-owned, because PrimeReact 11 removed `primereact/column` outright.
49
+ *
50
+ * In PrimeReact 10 `Column` was a real participant: `DataTable` walked its children, recognized them by
51
+ * React element type, and rendered the table from their props. PrimeReact 11 replaced that with a
52
+ * compositional table whose header and body cells the caller writes out itself, so nothing in the library
53
+ * is left to declare a column with. Cratis Components rebuilt the same `<Column field header body
54
+ * sortable filter />` authoring model on top of the new table, and this is that same move for Scene: the
55
+ * component renders nothing on its own and exists only to be read.
56
+ *
57
+ * Being a pure declaration is the whole point - it is what lets a column be written where it belongs,
58
+ * inside the table it configures, without the table having to interpret arbitrary children.
59
+ */
60
+ export const Column: FC<ColumnProps> = () => null;
61
+
62
+ Column.displayName = 'Column';
@@ -2,7 +2,16 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
 
4
4
  /**
5
- * One column of a table, reduced to what PrimeReact's `Column` actually needs to render it.
5
+ * One column of a table, reduced to what a Scene screen can actually say about it.
6
+ *
7
+ * This is the resolved form of {@link ColumnProps} - every field required rather than optional, with the
8
+ * fallbacks already applied - and it is what {@link columnDefinitions} derives from a table element's
9
+ * model. The two shapes are deliberately kept assignable so the table renders from either without
10
+ * caring which one it was handed.
11
+ *
12
+ * It stops at `field`, `header` and `sortable` because those are the only three a screen's authored
13
+ * properties can express. `body` is a function and `filter` needs chrome a screen cannot configure, so
14
+ * both stay on the declaration side, reachable only when a React caller composes `Column` directly.
6
15
  */
7
16
  export interface ColumnDefinition {
8
17
  /**
@@ -38,10 +38,6 @@ export const Gallery: Story = {
38
38
  sceneComponent('dataTable', 'dataTable', { rows: [{ id: 1, title: 'Inferred columns' }] }),
39
39
  sceneComponent('dataView', 'dataView', { rows: [{ title: 'Kickoff', description: 'Agree the scope' }] }),
40
40
  sceneComponent('tree', 'tree', { nodes: [{ label: 'Documents', children: ['Work', 'Home'] }] }),
41
- sceneComponent('treeTable', 'treeTable', {
42
- columns: [{ field: 'name', header: 'Name' }],
43
- nodes: [{ label: 'Root', data: { name: 'Root' }, children: [{ label: 'Child', data: { name: 'Child' } }] }],
44
- }),
45
41
  sceneComponent('timeline', 'timeline', {
46
42
  events: [{ title: 'Ordered', description: 'Order placed', date: '09:00' }, { title: 'Shipped', description: 'Left the depot', date: '14:20' }],
47
43
  }),
@@ -49,7 +45,6 @@ export const Gallery: Story = {
49
45
  sceneComponent('orderList', 'orderList', { header: 'Priority', items: ['First', 'Second', 'Third'] }),
50
46
  sceneComponent('pickList', 'pickList', { source: ['Alpha', 'Beta'], target: ['Gamma'] }),
51
47
  sceneComponent('organizationChart', 'organizationChart', { nodes: [{ label: 'CEO', children: ['CTO', 'CFO'] }] }),
52
- sceneComponent('virtualScroller', 'virtualScroller', { items: Array.from({ length: 200 }, (_, index) => `Row ${index + 1}`) }),
53
48
  ]),
54
49
  registry: primeReactComponents,
55
50
  resolveBinding: () => undefined,
@@ -0,0 +1,82 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+
4
+ import { Paginator, type PaginatorPagesInstance, type PaginatorRootChangeEvent } from 'primereact/paginator';
5
+
6
+ /**
7
+ * How a caller drives {@link Pagination}.
8
+ */
9
+ export interface PaginationProps {
10
+ /**
11
+ * The page being shown, counted from one. PrimeReact 11's paginator is one-based throughout - its
12
+ * `defaultPage` is `1`, and the page numbers it reports back are the ones it prints - so the adapters
13
+ * count the same way rather than translating at every edge.
14
+ */
15
+ page: number;
16
+
17
+ /**
18
+ * How many records there are in total, across all pages.
19
+ */
20
+ total: number;
21
+
22
+ /**
23
+ * How many records fit on a page.
24
+ */
25
+ itemsPerPage: number;
26
+
27
+ /**
28
+ * Called with the page the user asked for.
29
+ */
30
+ onPageChange: (page: number) => void;
31
+
32
+ /**
33
+ * The Scene element id to tag the rendered paginator with, when the paginator *is* the adapter's
34
+ * output rather than a part of it.
35
+ */
36
+ sceneId?: string;
37
+ }
38
+
39
+ /**
40
+ * Page navigation, assembled once from PrimeReact 11's paginator parts.
41
+ *
42
+ * PrimeReact 11 ships the paginator as a namespace of parts - a root that owns the page arithmetic and
43
+ * hands out pre-built button props, and separate first/previous/pages/next/last elements the caller
44
+ * arranges. That is more expressive than PrimeReact 10's single component, but it is also several dozen
45
+ * lines that two adapters in this folder would otherwise both write out: the `paginator` component
46
+ * itself, and `dataView`, which in PrimeReact 11 no longer owns its data and so cannot page it either.
47
+ * Assembling it here means the two agree on what a paginator looks like.
48
+ *
49
+ * The paginator is driven as a controlled component so the caller always knows which page is showing -
50
+ * `dataView` needs it to slice its rows, and an uncontrolled paginator would keep that inside itself.
51
+ *
52
+ * @param props How to drive the paginator.
53
+ * @returns The paginator.
54
+ */
55
+ export function Pagination({ page, total, itemsPerPage, onPageChange, sceneId }: PaginationProps) {
56
+ return (
57
+ <Paginator.Root
58
+ data-scene-id={sceneId}
59
+ page={page}
60
+ total={total}
61
+ itemsPerPage={itemsPerPage}
62
+ onPageChange={(event: PaginatorRootChangeEvent) => onPageChange(event.value)}>
63
+ <Paginator.Content>
64
+ <Paginator.First>«</Paginator.First>
65
+ <Paginator.Prev>‹</Paginator.Prev>
66
+ <Paginator.Pages>
67
+ {(pages: PaginatorPagesInstance) =>
68
+ pages.paginator?.pages.map((item, index) =>
69
+ item.type === 'page' ? (
70
+ <Paginator.Page key={`page-${item.value}`} value={item.value} />
71
+ ) : (
72
+ <Paginator.Ellipsis key={`ellipsis-${index}`}>…</Paginator.Ellipsis>
73
+ )
74
+ )
75
+ }
76
+ </Paginator.Pages>
77
+ <Paginator.Next>›</Paginator.Next>
78
+ <Paginator.Last>»</Paginator.Last>
79
+ </Paginator.Content>
80
+ </Paginator.Root>
81
+ );
82
+ }
@@ -1,20 +1,30 @@
1
1
  // Copyright (c) Cratis. All rights reserved.
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
 
4
- import { Column } from 'primereact/column';
5
4
  import { RegisteredComponentProps } from '@cratis/scene.react';
6
5
  import { booleanProperty, stringProperty } from '../properties';
6
+ import { Column } from './Column';
7
7
 
8
8
  /**
9
9
  * The `PrimeReact:column` component - one column of a table.
10
10
  *
11
- * Like PrimeReact's own `Column`, this is configuration rather than output: it renders nothing on its
12
- * own and only means something inside a table. That is not a Scene quirk - a bare `<Column/>` in
13
- * PrimeReact renders nothing either. When a `column` element is nested under `dataTable` or `table`,
14
- * the table reads its `field`, `header` and `sortable` properties off the model rather than using this
15
- * rendered output; see `columnDefinitions` for why.
11
+ * This renders {@link Column}, which is Cratis-owned rather than PrimeReact's: PrimeReact 11 removed
12
+ * `primereact/column` along with the table that walked it. Like its predecessor it is configuration
13
+ * rather than output - it renders nothing on its own and only means something inside a table - so a bare
14
+ * `column` on a screen looking blank is the component working, not failing.
15
+ *
16
+ * When a `column` element is nested under `dataTable` or `table`, the table reads its properties off the
17
+ * model rather than off this rendered output; see `columnDefinitions` for why that indirection exists and
18
+ * why PrimeReact 11 did not change it.
16
19
  */
17
20
  export function PrimeColumn({ element }: RegisteredComponentProps) {
18
21
  const field = stringProperty(element, 'field', '');
19
- return <Column field={field} header={stringProperty(element, 'header', field)} sortable={booleanProperty(element, 'sortable', false)} />;
22
+ return (
23
+ <Column
24
+ field={field}
25
+ header={stringProperty(element, 'header', field)}
26
+ sortable={booleanProperty(element, 'sortable', false)}
27
+ filter={booleanProperty(element, 'filter', false)}
28
+ />
29
+ );
20
30
  }
@@ -1,36 +1,131 @@
1
1
  // Copyright (c) Cratis. All rights reserved.
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
 
4
- import { Column } from 'primereact/column';
5
- import { DataTable } from 'primereact/datatable';
4
+ import { ReactElement, ReactNode, isValidElement } from 'react';
5
+ import { DataTable, type DataTableFilterInstance, type DataTablePaginationInstance, type DataTableTBodyItemOptions } from 'primereact/datatable';
6
6
  import { RegisteredComponentProps } from '@cratis/scene.react';
7
7
  import { booleanProperty, numberProperty, recordArrayProperty, stringProperty } from '../properties';
8
+ import { Column, ColumnProps } from './Column';
8
9
  import { columnDefinitions } from './columnDefinitions';
9
10
 
10
11
  /**
11
12
  * The `PrimeReact:dataTable` component, also registered under Screenplay's `table` name so a screen
12
13
  * compiled from a `.play` file renders through this package without a translation step.
13
14
  *
14
- * Rows come from a `rows` property; columns come from nested `column` children, a `columns` property, or
15
- * are inferred from the first row - see `columnDefinitions`.
15
+ * PrimeReact 11 turned the table inside out. Where PrimeReact 10 took `value` and a set of `Column`
16
+ * children and produced the whole table, PrimeReact 11 gives back a root that owns sorting, filtering and
17
+ * paging and a set of parts - container, table, head, rows, cells - that the caller arranges. So this
18
+ * adapter now writes out the table's structure itself, and the column concept it renders from is
19
+ * {@link Column}, which is Cratis-owned because PrimeReact 11 removed `primereact/column` entirely.
20
+ *
21
+ * Columns are taken from `Column` declarations when a React caller composed some into a slot, and
22
+ * otherwise from the element's model - nested `column` children, a `columns` property, or the shape of
23
+ * the first row; see `columnDefinitions`. The model is the path a screen takes, and it is checked second
24
+ * only because an explicitly composed declaration is the more specific statement of the two.
16
25
  */
17
- export function PrimeDataTable({ element }: RegisteredComponentProps) {
26
+ export function PrimeDataTable({ element, slots }: RegisteredComponentProps) {
18
27
  const rows = recordArrayProperty(element, 'rows');
19
- const columns = columnDefinitions(element, rows);
28
+ const declared = declaredColumns(slots);
29
+ const columns: ColumnProps[] = declared.length > 0 ? declared : columnDefinitions(element, rows);
20
30
  const pageSize = numberProperty(element, 'pageSize');
31
+ const size = stringProperty(element, 'size');
32
+
21
33
  return (
22
- <DataTable
34
+ <DataTable.Root
23
35
  data-scene-id={element.id}
24
- value={rows}
25
- emptyMessage={stringProperty(element, 'emptyMessage', 'No records found')}
36
+ data={rows}
37
+ removableSort
38
+ paginator={pageSize !== undefined}
39
+ rows={pageSize}
26
40
  stripedRows={booleanProperty(element, 'stripedRows', false)}
27
41
  showGridlines={booleanProperty(element, 'showGridlines', false)}
28
- size={stringProperty(element, 'size') as 'small' | 'normal' | 'large' | undefined}
29
- paginator={pageSize !== undefined}
30
- rows={pageSize}>
31
- {columns.map((column) => (
32
- <Column key={column.field} field={column.field} header={column.header} sortable={column.sortable} />
33
- ))}
34
- </DataTable>
42
+ size={size === 'small' || size === 'large' ? size : undefined}>
43
+ <DataTable.TableContainer>
44
+ <DataTable.Table>
45
+ <DataTable.THead>
46
+ <DataTable.THeadRow>
47
+ {columns.map((column, index) => (
48
+ <DataTable.THeadCell key={column.field ?? index}>
49
+ {column.sortable && column.field ? (
50
+ <DataTable.Sort field={column.field}>
51
+ {headerOf(column)}
52
+ <DataTable.SortIndicator match='asc'> ▲</DataTable.SortIndicator>
53
+ <DataTable.SortIndicator match='desc'> ▼</DataTable.SortIndicator>
54
+ </DataTable.Sort>
55
+ ) : (
56
+ <span>{headerOf(column)}</span>
57
+ )}
58
+ {column.filter && column.field && (
59
+ <DataTable.Filter field={column.field} display='row'>
60
+ {(filter: DataTableFilterInstance) => (
61
+ <input
62
+ className='w-full'
63
+ aria-label={`Filter by ${headerOf(column)}`}
64
+ value={typeof filter.value === 'string' ? filter.value : ''}
65
+ onChange={(event) => filter.onChange(event, event.target.value)}
66
+ />
67
+ )}
68
+ </DataTable.Filter>
69
+ )}
70
+ </DataTable.THeadCell>
71
+ ))}
72
+ </DataTable.THeadRow>
73
+ </DataTable.THead>
74
+ <DataTable.TBody>
75
+ {({ item, index }: DataTableTBodyItemOptions) => (
76
+ <DataTable.Row index={index}>
77
+ {columns.map((column, columnIndex) => (
78
+ <DataTable.Cell key={column.field ?? columnIndex}>{cellOf(column, item)}</DataTable.Cell>
79
+ ))}
80
+ </DataTable.Row>
81
+ )}
82
+ </DataTable.TBody>
83
+ <DataTable.EmptyTBody>
84
+ <DataTable.Row>
85
+ <DataTable.Cell colSpan={Math.max(columns.length, 1)}>
86
+ {stringProperty(element, 'emptyMessage', 'No records found')}
87
+ </DataTable.Cell>
88
+ </DataTable.Row>
89
+ </DataTable.EmptyTBody>
90
+ </DataTable.Table>
91
+ </DataTable.TableContainer>
92
+ <DataTable.Pagination>
93
+ {(pagination: DataTablePaginationInstance) => (
94
+ <div className='flex items-center gap-2 p-2'>
95
+ <button
96
+ type='button'
97
+ disabled={!pagination.canPrev}
98
+ onClick={(event) => pagination.onPageChange(event, pagination.page - 1)}>
99
+ ‹
100
+ </button>
101
+ <span className='text-sm opacity-75'>
102
+ {pagination.page + 1} / {Math.max(pagination.pageCount, 1)}
103
+ </span>
104
+ <button
105
+ type='button'
106
+ disabled={!pagination.canNext}
107
+ onClick={(event) => pagination.onPageChange(event, pagination.page + 1)}>
108
+ ›
109
+ </button>
110
+ </div>
111
+ )}
112
+ </DataTable.Pagination>
113
+ </DataTable.Root>
35
114
  );
36
115
  }
116
+
117
+ function declaredColumns(slots: Record<string, ReactNode[]>): ColumnProps[] {
118
+ return [...(slots.columns ?? []), ...(slots.content ?? [])]
119
+ .filter((node): node is ReactElement<ColumnProps> => isValidElement(node) && node.type === Column)
120
+ .map((node) => node.props);
121
+ }
122
+
123
+ function headerOf(column: ColumnProps): string {
124
+ return column.header ?? column.field ?? '';
125
+ }
126
+
127
+ function cellOf(column: ColumnProps, row: Record<string, unknown>): ReactNode {
128
+ if (column.body !== undefined) return column.body(row);
129
+ if (column.field === undefined) return '';
130
+ return String(row[column.field] ?? '');
131
+ }
@@ -1,34 +1,49 @@
1
1
  // Copyright (c) Cratis. All rights reserved.
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
 
4
+ import { useState } from 'react';
4
5
  import { DataView } from 'primereact/dataview';
5
6
  import { RegisteredComponentProps } from '@cratis/scene.react';
6
7
  import { numberProperty, recordArrayProperty, stringProperty } from '../properties';
8
+ import { Pagination } from './Pagination';
7
9
 
8
10
  /**
9
11
  * The `PrimeReact:dataView` component - the same rows a table would show, laid out as a list of cards.
10
12
  *
11
- * DataView has no default item template, so the adapter supplies one built from the `titleField` and
12
- * `descriptionField` properties. Without it every row would render empty and the component would look
13
- * broken rather than unconfigured.
13
+ * PrimeReact 11 reduced `DataView` to a layout shell: a root that tracks nothing but the list/grid
14
+ * layout, and header, content, empty and footer slots. It no longer takes the rows, so it can no longer
15
+ * template them, page them, or decide when the list is empty - all three now belong to the caller. The
16
+ * adapter therefore renders the cards itself from the `titleField` and `descriptionField` properties,
17
+ * shows the empty slot when there are no rows, and slices the rows for the page the user is on.
18
+ *
19
+ * Owning the page locally is the same trade {@link PrimePaginator} makes: a Scene element has nowhere to
20
+ * record which page is showing, and a preview where paging does nothing would be worse than one where it
21
+ * works but is forgotten on reload.
14
22
  */
15
23
  export function PrimeDataView({ element }: RegisteredComponentProps) {
24
+ const rows = recordArrayProperty(element, 'rows');
16
25
  const titleField = stringProperty(element, 'titleField', 'title');
17
26
  const descriptionField = stringProperty(element, 'descriptionField', 'description');
18
27
  const pageSize = numberProperty(element, 'pageSize');
28
+ const [page, setPage] = useState(1);
29
+ const visible = pageSize === undefined ? rows : rows.slice((page - 1) * pageSize, page * pageSize);
30
+
19
31
  return (
20
- <DataView
21
- data-scene-id={element.id}
22
- value={recordArrayProperty(element, 'rows')}
23
- emptyMessage={stringProperty(element, 'emptyMessage', 'No records found')}
24
- paginator={pageSize !== undefined}
25
- rows={pageSize}
26
- itemTemplate={(row: Record<string, unknown>) => (
27
- <div className='flex flex-col gap-1 p-3'>
28
- <span className='font-semibold'>{String(row[titleField] ?? '')}</span>
29
- <span className='text-sm opacity-75'>{String(row[descriptionField] ?? '')}</span>
30
- </div>
32
+ <DataView.Root data-scene-id={element.id}>
33
+ <DataView.Content>
34
+ {visible.map((row, index) => (
35
+ <div key={index} className='flex flex-col gap-1 p-3'>
36
+ <span className='font-semibold'>{String(row[titleField] ?? '')}</span>
37
+ <span className='text-sm opacity-75'>{String(row[descriptionField] ?? '')}</span>
38
+ </div>
39
+ ))}
40
+ </DataView.Content>
41
+ {rows.length === 0 && <DataView.Empty>{stringProperty(element, 'emptyMessage', 'No records found')}</DataView.Empty>}
42
+ {pageSize !== undefined && (
43
+ <DataView.Footer>
44
+ <Pagination page={page} total={rows.length} itemsPerPage={pageSize} onPageChange={setPage} />
45
+ </DataView.Footer>
31
46
  )}
32
- />
47
+ </DataView.Root>
33
48
  );
34
49
  }