@cratis/components 2.9.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 (573) hide show
  1. package/README.md +128 -67
  2. package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
  3. package/dist/esm/CommandDialog/CommandDialog.js +4 -4
  4. package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
  5. package/dist/esm/CommandDialog/CommandStepper.d.ts +18 -4
  6. package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -1
  7. package/dist/esm/CommandDialog/CommandStepper.js +51 -60
  8. package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
  9. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts +6 -7
  10. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -1
  11. package/dist/esm/CommandDialog/StepperCommandDialog.js +18 -15
  12. package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
  13. package/dist/esm/CommandDialog/StepperPanel.d.ts +10 -0
  14. package/dist/esm/CommandDialog/StepperPanel.d.ts.map +1 -0
  15. package/dist/esm/CommandDialog/StepperPanel.js +30 -0
  16. package/dist/esm/CommandDialog/StepperPanel.js.map +1 -0
  17. package/dist/esm/CommandDialog/index.d.ts +1 -0
  18. package/dist/esm/CommandDialog/index.d.ts.map +1 -1
  19. package/dist/esm/CommandDialog/index.js +1 -0
  20. package/dist/esm/CommandDialog/index.js.map +1 -1
  21. package/dist/esm/CommandForm/fields/CalendarField.d.ts +3 -3
  22. package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -1
  23. package/dist/esm/CommandForm/fields/CalendarField.js +2 -8
  24. package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
  25. package/dist/esm/CommandForm/fields/CheckboxField.d.ts +3 -3
  26. package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -1
  27. package/dist/esm/CommandForm/fields/CheckboxField.js +1 -1
  28. package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
  29. package/dist/esm/CommandForm/fields/ChipsField.d.ts +4 -3
  30. package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -1
  31. package/dist/esm/CommandForm/fields/ChipsField.js +3 -3
  32. package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
  33. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +3 -3
  34. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -1
  35. package/dist/esm/CommandForm/fields/ColorPickerField.js +16 -8
  36. package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
  37. package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -1
  38. package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -1
  39. package/dist/esm/CommandForm/fields/DropdownField.js +1 -4
  40. package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
  41. package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -1
  42. package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -1
  43. package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
  44. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +3 -3
  45. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -1
  46. package/dist/esm/CommandForm/fields/MultiSelectField.js +2 -8
  47. package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
  48. package/dist/esm/CommandForm/fields/NumberField.d.ts +3 -3
  49. package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -1
  50. package/dist/esm/CommandForm/fields/NumberField.js +1 -1
  51. package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
  52. package/dist/esm/CommandForm/fields/PasswordField.d.ts +13 -0
  53. package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -0
  54. package/dist/esm/CommandForm/fields/PasswordField.js +20 -0
  55. package/dist/esm/CommandForm/fields/PasswordField.js.map +1 -0
  56. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +3 -3
  57. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -1
  58. package/dist/esm/CommandForm/fields/RadioButtonField.js +2 -1
  59. package/dist/esm/CommandForm/fields/RadioButtonField.js.map +1 -1
  60. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +3 -3
  61. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -1
  62. package/dist/esm/CommandForm/fields/RadioGroupField.js +2 -1
  63. package/dist/esm/CommandForm/fields/RadioGroupField.js.map +1 -1
  64. package/dist/esm/CommandForm/fields/RatingField.d.ts +14 -0
  65. package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -0
  66. package/dist/esm/CommandForm/fields/RatingField.js +19 -0
  67. package/dist/esm/CommandForm/fields/RatingField.js.map +1 -0
  68. package/dist/esm/CommandForm/fields/SliderField.d.ts +3 -3
  69. package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -1
  70. package/dist/esm/CommandForm/fields/SliderField.js +1 -1
  71. package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
  72. package/dist/esm/CommandForm/fields/TextAreaField.d.ts +3 -3
  73. package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -1
  74. package/dist/esm/CommandForm/fields/TextAreaField.js +2 -2
  75. package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
  76. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +13 -0
  77. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -0
  78. package/dist/esm/CommandForm/fields/ToggleSwitchField.js +20 -0
  79. package/dist/esm/CommandForm/fields/ToggleSwitchField.js.map +1 -0
  80. package/dist/esm/CommandForm/fields/index.d.ts +3 -0
  81. package/dist/esm/CommandForm/fields/index.d.ts.map +1 -1
  82. package/dist/esm/CommandForm/fields/index.js +3 -0
  83. package/dist/esm/CommandForm/fields/index.js.map +1 -1
  84. package/dist/esm/CommandForm/index.js +3 -0
  85. package/dist/esm/CommandForm/index.js.map +1 -1
  86. package/dist/esm/Common/ActionMenubar.d.ts +21 -0
  87. package/dist/esm/Common/ActionMenubar.d.ts.map +1 -0
  88. package/dist/esm/Common/ActionMenubar.js +20 -0
  89. package/dist/esm/Common/ActionMenubar.js.map +1 -0
  90. package/dist/esm/Common/CratisComponentsProvider.d.ts +5 -3
  91. package/dist/esm/Common/CratisComponentsProvider.d.ts.map +1 -1
  92. package/dist/esm/Common/CratisComponentsProvider.js +27 -11
  93. package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
  94. package/dist/esm/Common/DatePickerInput.d.ts +22 -0
  95. package/dist/esm/Common/DatePickerInput.d.ts.map +1 -0
  96. package/dist/esm/Common/DatePickerInput.js +18 -0
  97. package/dist/esm/Common/DatePickerInput.js.map +1 -0
  98. package/dist/esm/Common/FormElement.d.ts +0 -1
  99. package/dist/esm/Common/FormElement.d.ts.map +1 -1
  100. package/dist/esm/Common/FormElement.js +0 -1
  101. package/dist/esm/Common/FormElement.js.map +1 -1
  102. package/dist/esm/Common/Tooltip.d.ts +2 -2
  103. package/dist/esm/Common/Tooltip.d.ts.map +1 -1
  104. package/dist/esm/Common/Tooltip.js +25 -13
  105. package/dist/esm/Common/Tooltip.js.map +1 -1
  106. package/dist/esm/Common/index.d.ts +2 -0
  107. package/dist/esm/Common/index.d.ts.map +1 -1
  108. package/dist/esm/Common/index.js +2 -0
  109. package/dist/esm/Common/index.js.map +1 -1
  110. package/dist/esm/DataPage/DataPage.d.ts +17 -10
  111. package/dist/esm/DataPage/DataPage.d.ts.map +1 -1
  112. package/dist/esm/DataPage/DataPage.js +19 -18
  113. package/dist/esm/DataPage/DataPage.js.map +1 -1
  114. package/dist/esm/DataPage/index.d.ts +1 -0
  115. package/dist/esm/DataPage/index.d.ts.map +1 -1
  116. package/dist/esm/DataPage/index.js +1 -0
  117. package/dist/esm/DataPage/index.js.map +1 -1
  118. package/dist/esm/DataTables/Column.d.ts +25 -0
  119. package/dist/esm/DataTables/Column.d.ts.map +1 -0
  120. package/dist/esm/DataTables/Column.js +24 -0
  121. package/dist/esm/DataTables/Column.js.map +1 -0
  122. package/dist/esm/DataTables/ColumnFilterMenu.d.ts +10 -0
  123. package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -0
  124. package/dist/esm/DataTables/ColumnFilterMenu.js +44 -0
  125. package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -0
  126. package/dist/esm/DataTables/DataTableCore.d.ts +33 -0
  127. package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -0
  128. package/dist/esm/DataTables/DataTableCore.js +59 -0
  129. package/dist/esm/DataTables/DataTableCore.js.map +1 -0
  130. package/dist/esm/DataTables/DataTableFilterMeta.d.ts +6 -0
  131. package/dist/esm/DataTables/DataTableFilterMeta.d.ts.map +1 -0
  132. package/dist/esm/DataTables/DataTableFilterMeta.js +2 -0
  133. package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -0
  134. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +9 -8
  135. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -1
  136. package/dist/esm/DataTables/DataTableForObservableQuery.js +41 -64
  137. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
  138. package/dist/esm/DataTables/DataTableForQuery.d.ts +9 -8
  139. package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -1
  140. package/dist/esm/DataTables/DataTableForQuery.js +17 -44
  141. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
  142. package/dist/esm/DataTables/DataTableSelectionChangeEvent.d.ts +6 -0
  143. package/dist/esm/DataTables/DataTableSelectionChangeEvent.d.ts.map +1 -0
  144. package/dist/esm/DataTables/DataTableSelectionChangeEvent.js +2 -0
  145. package/dist/esm/DataTables/DataTableSelectionChangeEvent.js.map +1 -0
  146. package/dist/esm/DataTables/TablePaginator.d.ts +17 -0
  147. package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -0
  148. package/dist/esm/DataTables/TablePaginator.js +22 -0
  149. package/dist/esm/DataTables/TablePaginator.js.map +1 -0
  150. package/dist/esm/DataTables/index.d.ts +4 -0
  151. package/dist/esm/DataTables/index.d.ts.map +1 -1
  152. package/dist/esm/DataTables/index.js +2 -0
  153. package/dist/esm/DataTables/index.js.map +1 -1
  154. package/dist/esm/DataTables/paginatorRange.d.ts +2 -0
  155. package/dist/esm/DataTables/paginatorRange.d.ts.map +1 -0
  156. package/dist/esm/DataTables/paginatorRange.js +21 -0
  157. package/dist/esm/DataTables/paginatorRange.js.map +1 -0
  158. package/dist/esm/DataTables/selectionKeys.d.ts +4 -0
  159. package/dist/esm/DataTables/selectionKeys.d.ts.map +1 -0
  160. package/dist/esm/DataTables/selectionKeys.js +34 -0
  161. package/dist/esm/DataTables/selectionKeys.js.map +1 -0
  162. package/dist/esm/Dialogs/BusyIndicatorDialog.d.ts.map +1 -1
  163. package/dist/esm/Dialogs/BusyIndicatorDialog.js +2 -2
  164. package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
  165. package/dist/esm/Dialogs/Dialog.d.ts +9 -7
  166. package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
  167. package/dist/esm/Dialogs/Dialog.js +45 -23
  168. package/dist/esm/Dialogs/Dialog.js.map +1 -1
  169. package/dist/esm/Display/Avatar.d.ts +11 -0
  170. package/dist/esm/Display/Avatar.d.ts.map +1 -0
  171. package/dist/esm/Display/Avatar.js +13 -0
  172. package/dist/esm/Display/Avatar.js.map +1 -0
  173. package/dist/esm/Display/Badge.d.ts +12 -0
  174. package/dist/esm/Display/Badge.d.ts.map +1 -0
  175. package/dist/esm/Display/Badge.js +11 -0
  176. package/dist/esm/Display/Badge.js.map +1 -0
  177. package/dist/esm/Display/Chip.d.ts +11 -0
  178. package/dist/esm/Display/Chip.d.ts.map +1 -0
  179. package/dist/esm/Display/Chip.js +11 -0
  180. package/dist/esm/Display/Chip.js.map +1 -0
  181. package/dist/esm/Display/ProgressBar.d.ts +8 -0
  182. package/dist/esm/Display/ProgressBar.d.ts.map +1 -0
  183. package/dist/esm/Display/ProgressBar.js +12 -0
  184. package/dist/esm/Display/ProgressBar.js.map +1 -0
  185. package/dist/esm/Display/Skeleton.d.ts +9 -0
  186. package/dist/esm/Display/Skeleton.d.ts.map +1 -0
  187. package/dist/esm/Display/Skeleton.js +18 -0
  188. package/dist/esm/Display/Skeleton.js.map +1 -0
  189. package/dist/esm/Display/Tag.d.ts +12 -0
  190. package/dist/esm/Display/Tag.d.ts.map +1 -0
  191. package/dist/esm/Display/Tag.js +12 -0
  192. package/dist/esm/Display/Tag.js.map +1 -0
  193. package/dist/esm/Display/index.d.ts +7 -0
  194. package/dist/esm/Display/index.d.ts.map +1 -0
  195. package/dist/esm/Display/index.js +10 -0
  196. package/dist/esm/Display/index.js.map +1 -0
  197. package/dist/esm/Dropdown/Dropdown.d.ts +33 -3
  198. package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -1
  199. package/dist/esm/Dropdown/Dropdown.js +15 -18
  200. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  201. package/dist/esm/Filter/FilterPanel.d.ts +3 -2
  202. package/dist/esm/Filter/FilterPanel.d.ts.map +1 -1
  203. package/dist/esm/Filter/FilterPanel.js +4 -5
  204. package/dist/esm/Filter/FilterPanel.js.map +1 -1
  205. package/dist/esm/Notifications/Toaster.d.ts +9 -0
  206. package/dist/esm/Notifications/Toaster.d.ts.map +1 -0
  207. package/dist/esm/Notifications/Toaster.js +43 -0
  208. package/dist/esm/Notifications/Toaster.js.map +1 -0
  209. package/dist/esm/Notifications/index.d.ts +4 -0
  210. package/dist/esm/Notifications/index.d.ts.map +1 -0
  211. package/dist/{cjs/types → esm/Notifications}/index.js +3 -5
  212. package/dist/esm/Notifications/index.js.map +1 -0
  213. package/dist/esm/Notifications/toast.d.ts +3 -0
  214. package/dist/esm/Notifications/toast.d.ts.map +1 -0
  215. package/dist/esm/Notifications/toast.js +2 -0
  216. package/dist/esm/Notifications/toast.js.map +1 -0
  217. package/dist/esm/Notifications/toastCommandResult.d.ts +11 -0
  218. package/dist/esm/Notifications/toastCommandResult.d.ts.map +1 -0
  219. package/dist/esm/Notifications/toastCommandResult.js +59 -0
  220. package/dist/esm/Notifications/toastCommandResult.js.map +1 -0
  221. package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts.map +1 -1
  222. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js +11 -15
  223. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
  224. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts +2 -2
  225. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts.map +1 -1
  226. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js +3 -3
  227. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
  228. package/dist/esm/PivotViewer/PivotViewer.d.ts +0 -1
  229. package/dist/esm/PivotViewer/PivotViewer.d.ts.map +1 -1
  230. package/dist/esm/PivotViewer/PivotViewer.js +0 -1
  231. package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
  232. package/dist/esm/PivotViewer/components/Spinner.d.ts +0 -1
  233. package/dist/esm/PivotViewer/components/Spinner.d.ts.map +1 -1
  234. package/dist/esm/PivotViewer/components/Spinner.js +2 -1
  235. package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
  236. package/dist/esm/SchemaEditor/NameCell.d.ts.map +1 -1
  237. package/dist/esm/SchemaEditor/NameCell.js +3 -2
  238. package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
  239. package/dist/esm/SchemaEditor/SchemaEditor.d.ts +15 -1
  240. package/dist/esm/SchemaEditor/SchemaEditor.d.ts.map +1 -1
  241. package/dist/esm/SchemaEditor/SchemaEditor.js +45 -32
  242. package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
  243. package/dist/esm/SchemaEditor/TypeCell.d.ts +3 -1
  244. package/dist/esm/SchemaEditor/TypeCell.d.ts.map +1 -1
  245. package/dist/esm/SchemaEditor/TypeCell.js +7 -6
  246. package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
  247. package/dist/esm/SchemaEditor/index.js +1 -1
  248. package/dist/esm/TimeMachine/EventsView.d.ts +5 -4
  249. package/dist/esm/TimeMachine/EventsView.d.ts.map +1 -1
  250. package/dist/esm/TimeMachine/EventsView.js +3 -3
  251. package/dist/esm/TimeMachine/EventsView.js.map +1 -1
  252. package/dist/esm/TimeMachine/Properties.d.ts +0 -1
  253. package/dist/esm/TimeMachine/Properties.d.ts.map +1 -1
  254. package/dist/esm/TimeMachine/Properties.js +0 -1
  255. package/dist/esm/TimeMachine/Properties.js.map +1 -1
  256. package/dist/esm/TimeMachine/ReadModelView.d.ts +2 -0
  257. package/dist/esm/TimeMachine/ReadModelView.d.ts.map +1 -1
  258. package/dist/esm/TimeMachine/ReadModelView.js +3 -2
  259. package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
  260. package/dist/esm/TimeMachine/TimeMachine.d.ts +4 -1
  261. package/dist/esm/TimeMachine/TimeMachine.d.ts.map +1 -1
  262. package/dist/esm/TimeMachine/TimeMachine.js +5 -4
  263. package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
  264. package/dist/esm/TimeMachine/TimeMachineLabels.d.ts +12 -0
  265. package/dist/esm/TimeMachine/TimeMachineLabels.d.ts.map +1 -0
  266. package/dist/esm/TimeMachine/TimeMachineLabels.js +16 -0
  267. package/dist/esm/TimeMachine/TimeMachineLabels.js.map +1 -0
  268. package/dist/esm/TimeMachine/index.d.ts +2 -0
  269. package/dist/esm/TimeMachine/index.d.ts.map +1 -1
  270. package/dist/esm/TimeMachine/index.js +1 -0
  271. package/dist/esm/TimeMachine/index.js.map +1 -1
  272. package/dist/esm/Toolbar/Toolbar.d.ts +0 -1
  273. package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -1
  274. package/dist/esm/Toolbar/Toolbar.js +0 -1
  275. package/dist/esm/Toolbar/Toolbar.js.map +1 -1
  276. package/dist/esm/index.d.ts +3 -1
  277. package/dist/esm/index.d.ts.map +1 -1
  278. package/dist/esm/index.js +22 -18
  279. package/dist/esm/index.js.map +1 -1
  280. package/dist/esm/styles.css +4686 -0
  281. package/dist/esm/theme.css +357 -0
  282. package/dist/esm/tokens.css +32 -12
  283. package/package.json +40 -26
  284. package/dist/cjs/CommandDialog/CommandDialog.js +0 -195
  285. package/dist/cjs/CommandDialog/CommandDialog.js.map +0 -1
  286. package/dist/cjs/CommandDialog/CommandStepper.css +0 -24
  287. package/dist/cjs/CommandDialog/CommandStepper.js +0 -238
  288. package/dist/cjs/CommandDialog/CommandStepper.js.map +0 -1
  289. package/dist/cjs/CommandDialog/StepperCommandDialog.js +0 -207
  290. package/dist/cjs/CommandDialog/StepperCommandDialog.js.map +0 -1
  291. package/dist/cjs/CommandDialog/applyBeforeExecute.js +0 -42
  292. package/dist/cjs/CommandDialog/applyBeforeExecute.js.map +0 -1
  293. package/dist/cjs/CommandDialog/index.js +0 -16
  294. package/dist/cjs/CommandDialog/index.js.map +0 -1
  295. package/dist/cjs/CommandDialog/stepChildren.js +0 -31
  296. package/dist/cjs/CommandDialog/stepChildren.js.map +0 -1
  297. package/dist/cjs/CommandForm/AutoCommandForm.js +0 -49
  298. package/dist/cjs/CommandForm/AutoCommandForm.js.map +0 -1
  299. package/dist/cjs/CommandForm/defaultFieldTypeProviders.js +0 -24
  300. package/dist/cjs/CommandForm/defaultFieldTypeProviders.js.map +0 -1
  301. package/dist/cjs/CommandForm/fieldTypeProviderRegistry.js +0 -36
  302. package/dist/cjs/CommandForm/fieldTypeProviderRegistry.js.map +0 -1
  303. package/dist/cjs/CommandForm/fields/CalendarField.js +0 -32
  304. package/dist/cjs/CommandForm/fields/CalendarField.js.map +0 -1
  305. package/dist/cjs/CommandForm/fields/CheckboxField.js +0 -22
  306. package/dist/cjs/CommandForm/fields/CheckboxField.js.map +0 -1
  307. package/dist/cjs/CommandForm/fields/ChipsField.js +0 -28
  308. package/dist/cjs/CommandForm/fields/ChipsField.js.map +0 -1
  309. package/dist/cjs/CommandForm/fields/ColorPickerField.js +0 -33
  310. package/dist/cjs/CommandForm/fields/ColorPickerField.js.map +0 -1
  311. package/dist/cjs/CommandForm/fields/DropdownField.js +0 -31
  312. package/dist/cjs/CommandForm/fields/DropdownField.js.map +0 -1
  313. package/dist/cjs/CommandForm/fields/InputTextField.js +0 -53
  314. package/dist/cjs/CommandForm/fields/InputTextField.js.map +0 -1
  315. package/dist/cjs/CommandForm/fields/MultiSelectField.js +0 -36
  316. package/dist/cjs/CommandForm/fields/MultiSelectField.js.map +0 -1
  317. package/dist/cjs/CommandForm/fields/NumberField.js +0 -23
  318. package/dist/cjs/CommandForm/fields/NumberField.js.map +0 -1
  319. package/dist/cjs/CommandForm/fields/RadioButtonField.js +0 -23
  320. package/dist/cjs/CommandForm/fields/RadioButtonField.js.map +0 -1
  321. package/dist/cjs/CommandForm/fields/RadioGroupField.js +0 -40
  322. package/dist/cjs/CommandForm/fields/RadioGroupField.js.map +0 -1
  323. package/dist/cjs/CommandForm/fields/SliderField.js +0 -22
  324. package/dist/cjs/CommandForm/fields/SliderField.js.map +0 -1
  325. package/dist/cjs/CommandForm/fields/TextAreaField.js +0 -24
  326. package/dist/cjs/CommandForm/fields/TextAreaField.js.map +0 -1
  327. package/dist/cjs/CommandForm/index.js +0 -37
  328. package/dist/cjs/CommandForm/index.js.map +0 -1
  329. package/dist/cjs/Common/CratisComponentsProvider.js +0 -44
  330. package/dist/cjs/Common/CratisComponentsProvider.js.map +0 -1
  331. package/dist/cjs/Common/ErrorBoundary.js +0 -58
  332. package/dist/cjs/Common/ErrorBoundary.js.map +0 -1
  333. package/dist/cjs/Common/FormElement.css +0 -26
  334. package/dist/cjs/Common/FormElement.js +0 -23
  335. package/dist/cjs/Common/FormElement.js.map +0 -1
  336. package/dist/cjs/Common/Icon.js +0 -33
  337. package/dist/cjs/Common/Icon.js.map +0 -1
  338. package/dist/cjs/Common/Page.js +0 -23
  339. package/dist/cjs/Common/Page.js.map +0 -1
  340. package/dist/cjs/Common/Tooltip.css +0 -10
  341. package/dist/cjs/Common/Tooltip.js +0 -21
  342. package/dist/cjs/Common/Tooltip.js.map +0 -1
  343. package/dist/cjs/Common/index.js +0 -23
  344. package/dist/cjs/Common/index.js.map +0 -1
  345. package/dist/cjs/Common/normalizeIconClass.js +0 -48
  346. package/dist/cjs/Common/normalizeIconClass.js.map +0 -1
  347. package/dist/cjs/DataPage/DataPage.js +0 -219
  348. package/dist/cjs/DataPage/DataPage.js.map +0 -1
  349. package/dist/cjs/DataPage/DataPageLayout.js +0 -34
  350. package/dist/cjs/DataPage/DataPageLayout.js.map +0 -1
  351. package/dist/cjs/DataPage/index.js +0 -12
  352. package/dist/cjs/DataPage/index.js.map +0 -1
  353. package/dist/cjs/DataTables/DataTableForObservableQuery.js +0 -133
  354. package/dist/cjs/DataTables/DataTableForObservableQuery.js.map +0 -1
  355. package/dist/cjs/DataTables/DataTableForQuery.js +0 -96
  356. package/dist/cjs/DataTables/DataTableForQuery.js.map +0 -1
  357. package/dist/cjs/DataTables/index.js +0 -11
  358. package/dist/cjs/DataTables/index.js.map +0 -1
  359. package/dist/cjs/Dialogs/BusyIndicatorDialog.js +0 -63
  360. package/dist/cjs/Dialogs/BusyIndicatorDialog.js.map +0 -1
  361. package/dist/cjs/Dialogs/ConfirmationDialog.js +0 -16
  362. package/dist/cjs/Dialogs/ConfirmationDialog.js.map +0 -1
  363. package/dist/cjs/Dialogs/Dialog.js +0 -203
  364. package/dist/cjs/Dialogs/Dialog.js.map +0 -1
  365. package/dist/cjs/Dialogs/DialogInitialFocus.js +0 -49
  366. package/dist/cjs/Dialogs/DialogInitialFocus.js.map +0 -1
  367. package/dist/cjs/Dialogs/index.js +0 -18
  368. package/dist/cjs/Dialogs/index.js.map +0 -1
  369. package/dist/cjs/Dropdown/Dropdown.js +0 -29
  370. package/dist/cjs/Dropdown/Dropdown.js.map +0 -1
  371. package/dist/cjs/Dropdown/index.js +0 -9
  372. package/dist/cjs/Dropdown/index.js.map +0 -1
  373. package/dist/cjs/Filter/FilterEditor.js +0 -28
  374. package/dist/cjs/Filter/FilterEditor.js.map +0 -1
  375. package/dist/cjs/Filter/FilterPanel.css +0 -459
  376. package/dist/cjs/Filter/FilterPanel.js +0 -109
  377. package/dist/cjs/Filter/FilterPanel.js.map +0 -1
  378. package/dist/cjs/Filter/RangeHistogramFilter.js +0 -121
  379. package/dist/cjs/Filter/RangeHistogramFilter.js.map +0 -1
  380. package/dist/cjs/Filter/index.js +0 -18
  381. package/dist/cjs/Filter/index.js.map +0 -1
  382. package/dist/cjs/Filter/useFilterState.js +0 -111
  383. package/dist/cjs/Filter/useFilterState.js.map +0 -1
  384. package/dist/cjs/Filter/utils.js +0 -28
  385. package/dist/cjs/Filter/utils.js.map +0 -1
  386. package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js +0 -268
  387. package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js.map +0 -1
  388. package/dist/cjs/ObjectContentEditor/index.js +0 -9
  389. package/dist/cjs/ObjectContentEditor/index.js.map +0 -1
  390. package/dist/cjs/ObjectContentEditor/objectHelpers.js +0 -25
  391. package/dist/cjs/ObjectContentEditor/objectHelpers.js.map +0 -1
  392. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.css +0 -6
  393. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js +0 -49
  394. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js.map +0 -1
  395. package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js +0 -21
  396. package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js.map +0 -1
  397. package/dist/cjs/ObjectNavigationalBar/index.js +0 -9
  398. package/dist/cjs/ObjectNavigationalBar/index.js.map +0 -1
  399. package/dist/cjs/PivotViewer/PivotViewer.css +0 -1323
  400. package/dist/cjs/PivotViewer/PivotViewer.js +0 -307
  401. package/dist/cjs/PivotViewer/PivotViewer.js.map +0 -1
  402. package/dist/cjs/PivotViewer/components/AxisLabels.js +0 -28
  403. package/dist/cjs/PivotViewer/components/AxisLabels.js.map +0 -1
  404. package/dist/cjs/PivotViewer/components/DetailPanel.js +0 -42
  405. package/dist/cjs/PivotViewer/components/DetailPanel.js.map +0 -1
  406. package/dist/cjs/PivotViewer/components/FilterPanel.js +0 -29
  407. package/dist/cjs/PivotViewer/components/FilterPanel.js.map +0 -1
  408. package/dist/cjs/PivotViewer/components/FilterPanelContainer.js +0 -11
  409. package/dist/cjs/PivotViewer/components/FilterPanelContainer.js.map +0 -1
  410. package/dist/cjs/PivotViewer/components/PivotCanvas.js +0 -558
  411. package/dist/cjs/PivotViewer/components/PivotCanvas.js.map +0 -1
  412. package/dist/cjs/PivotViewer/components/PivotViewerMain.js +0 -98
  413. package/dist/cjs/PivotViewer/components/PivotViewerMain.js.map +0 -1
  414. package/dist/cjs/PivotViewer/components/Spinner.css +0 -77
  415. package/dist/cjs/PivotViewer/components/Spinner.js +0 -11
  416. package/dist/cjs/PivotViewer/components/Spinner.js.map +0 -1
  417. package/dist/cjs/PivotViewer/components/Toolbar.js +0 -44
  418. package/dist/cjs/PivotViewer/components/Toolbar.js.map +0 -1
  419. package/dist/cjs/PivotViewer/components/ToolbarContainer.js +0 -11
  420. package/dist/cjs/PivotViewer/components/ToolbarContainer.js.map +0 -1
  421. package/dist/cjs/PivotViewer/components/pivot/animation.js +0 -90
  422. package/dist/cjs/PivotViewer/components/pivot/animation.js.map +0 -1
  423. package/dist/cjs/PivotViewer/components/pivot/colorResolver.js +0 -66
  424. package/dist/cjs/PivotViewer/components/pivot/colorResolver.js.map +0 -1
  425. package/dist/cjs/PivotViewer/components/pivot/constants.js +0 -22
  426. package/dist/cjs/PivotViewer/components/pivot/constants.js.map +0 -1
  427. package/dist/cjs/PivotViewer/components/pivot/groups.js +0 -166
  428. package/dist/cjs/PivotViewer/components/pivot/groups.js.map +0 -1
  429. package/dist/cjs/PivotViewer/components/pivot/sprites.js +0 -279
  430. package/dist/cjs/PivotViewer/components/pivot/sprites.js.map +0 -1
  431. package/dist/cjs/PivotViewer/components/pivot/visibility.js +0 -359
  432. package/dist/cjs/PivotViewer/components/pivot/visibility.js.map +0 -1
  433. package/dist/cjs/PivotViewer/constants.js +0 -16
  434. package/dist/cjs/PivotViewer/constants.js.map +0 -1
  435. package/dist/cjs/PivotViewer/engine/layout.js +0 -123
  436. package/dist/cjs/PivotViewer/engine/layout.js.map +0 -1
  437. package/dist/cjs/PivotViewer/engine/store.js +0 -365
  438. package/dist/cjs/PivotViewer/engine/store.js.map +0 -1
  439. package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js +0 -45
  440. package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js.map +0 -1
  441. package/dist/cjs/PivotViewer/hooks/useCardSelection.js +0 -74
  442. package/dist/cjs/PivotViewer/hooks/useCardSelection.js.map +0 -1
  443. package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js +0 -41
  444. package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js.map +0 -1
  445. package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js +0 -58
  446. package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js.map +0 -1
  447. package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js +0 -73
  448. package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js.map +0 -1
  449. package/dist/cjs/PivotViewer/hooks/useDimensionState.js +0 -45
  450. package/dist/cjs/PivotViewer/hooks/useDimensionState.js.map +0 -1
  451. package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js +0 -52
  452. package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js.map +0 -1
  453. package/dist/cjs/PivotViewer/hooks/useFilterOptions.js +0 -26
  454. package/dist/cjs/PivotViewer/hooks/useFilterOptions.js.map +0 -1
  455. package/dist/cjs/PivotViewer/hooks/useFilterState.js +0 -101
  456. package/dist/cjs/PivotViewer/hooks/useFilterState.js.map +0 -1
  457. package/dist/cjs/PivotViewer/hooks/usePanning.js +0 -138
  458. package/dist/cjs/PivotViewer/hooks/usePanning.js.map +0 -1
  459. package/dist/cjs/PivotViewer/hooks/usePivotEngine.js +0 -229
  460. package/dist/cjs/PivotViewer/hooks/usePivotEngine.js.map +0 -1
  461. package/dist/cjs/PivotViewer/hooks/useScrollSync.js +0 -27
  462. package/dist/cjs/PivotViewer/hooks/useScrollSync.js.map +0 -1
  463. package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js +0 -52
  464. package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js.map +0 -1
  465. package/dist/cjs/PivotViewer/hooks/useWheelZoom.js +0 -106
  466. package/dist/cjs/PivotViewer/hooks/useWheelZoom.js.map +0 -1
  467. package/dist/cjs/PivotViewer/hooks/useZoomState.js +0 -37
  468. package/dist/cjs/PivotViewer/hooks/useZoomState.js.map +0 -1
  469. package/dist/cjs/PivotViewer/index.js +0 -13
  470. package/dist/cjs/PivotViewer/index.js.map +0 -1
  471. package/dist/cjs/PivotViewer/types.js +0 -33
  472. package/dist/cjs/PivotViewer/types.js.map +0 -1
  473. package/dist/cjs/PivotViewer/utils/animations.js +0 -169
  474. package/dist/cjs/PivotViewer/utils/animations.js.map +0 -1
  475. package/dist/cjs/PivotViewer/utils/cardPosition.js +0 -82
  476. package/dist/cjs/PivotViewer/utils/cardPosition.js.map +0 -1
  477. package/dist/cjs/PivotViewer/utils/constants.js +0 -19
  478. package/dist/cjs/PivotViewer/utils/constants.js.map +0 -1
  479. package/dist/cjs/PivotViewer/utils/idResolution.js +0 -50
  480. package/dist/cjs/PivotViewer/utils/idResolution.js.map +0 -1
  481. package/dist/cjs/PivotViewer/utils/selection.js +0 -188
  482. package/dist/cjs/PivotViewer/utils/selection.js.map +0 -1
  483. package/dist/cjs/PivotViewer/utils/utils.js +0 -153
  484. package/dist/cjs/PivotViewer/utils/utils.js.map +0 -1
  485. package/dist/cjs/SchemaEditor/NameCell.js +0 -38
  486. package/dist/cjs/SchemaEditor/NameCell.js.map +0 -1
  487. package/dist/cjs/SchemaEditor/SchemaEditor.js +0 -333
  488. package/dist/cjs/SchemaEditor/SchemaEditor.js.map +0 -1
  489. package/dist/cjs/SchemaEditor/SchemaEditor.module.css +0 -15
  490. package/dist/cjs/SchemaEditor/TypeCell.js +0 -102
  491. package/dist/cjs/SchemaEditor/TypeCell.js.map +0 -1
  492. package/dist/cjs/SchemaEditor/index.js +0 -11
  493. package/dist/cjs/SchemaEditor/index.js.map +0 -1
  494. package/dist/cjs/SchemaEditor/schemaHelpers.js +0 -41
  495. package/dist/cjs/SchemaEditor/schemaHelpers.js.map +0 -1
  496. package/dist/cjs/TimeMachine/EventsView.css +0 -213
  497. package/dist/cjs/TimeMachine/EventsView.js +0 -70
  498. package/dist/cjs/TimeMachine/EventsView.js.map +0 -1
  499. package/dist/cjs/TimeMachine/Properties.css +0 -57
  500. package/dist/cjs/TimeMachine/Properties.js +0 -34
  501. package/dist/cjs/TimeMachine/Properties.js.map +0 -1
  502. package/dist/cjs/TimeMachine/ReadModelView.js +0 -51
  503. package/dist/cjs/TimeMachine/ReadModelView.js.map +0 -1
  504. package/dist/cjs/TimeMachine/TimeMachine.css +0 -587
  505. package/dist/cjs/TimeMachine/TimeMachine.js +0 -110
  506. package/dist/cjs/TimeMachine/TimeMachine.js.map +0 -1
  507. package/dist/cjs/TimeMachine/index.js +0 -15
  508. package/dist/cjs/TimeMachine/index.js.map +0 -1
  509. package/dist/cjs/TimeMachine/propertiesHelpers.js +0 -16
  510. package/dist/cjs/TimeMachine/propertiesHelpers.js.map +0 -1
  511. package/dist/cjs/Toolbar/Toolbar.css +0 -357
  512. package/dist/cjs/Toolbar/Toolbar.js +0 -15
  513. package/dist/cjs/Toolbar/Toolbar.js.map +0 -1
  514. package/dist/cjs/Toolbar/ToolbarButton.js +0 -42
  515. package/dist/cjs/Toolbar/ToolbarButton.js.map +0 -1
  516. package/dist/cjs/Toolbar/ToolbarContext.js +0 -14
  517. package/dist/cjs/Toolbar/ToolbarContext.js.map +0 -1
  518. package/dist/cjs/Toolbar/ToolbarDragContext.js +0 -24
  519. package/dist/cjs/Toolbar/ToolbarDragContext.js.map +0 -1
  520. package/dist/cjs/Toolbar/ToolbarFanOutItem.js +0 -75
  521. package/dist/cjs/Toolbar/ToolbarFanOutItem.js.map +0 -1
  522. package/dist/cjs/Toolbar/ToolbarFolder.js +0 -55
  523. package/dist/cjs/Toolbar/ToolbarFolder.js.map +0 -1
  524. package/dist/cjs/Toolbar/ToolbarFolderContext.js +0 -20
  525. package/dist/cjs/Toolbar/ToolbarFolderContext.js.map +0 -1
  526. package/dist/cjs/Toolbar/ToolbarGroup.js +0 -107
  527. package/dist/cjs/Toolbar/ToolbarGroup.js.map +0 -1
  528. package/dist/cjs/Toolbar/ToolbarLayout.js +0 -119
  529. package/dist/cjs/Toolbar/ToolbarLayout.js.map +0 -1
  530. package/dist/cjs/Toolbar/ToolbarSection.js +0 -127
  531. package/dist/cjs/Toolbar/ToolbarSection.js.map +0 -1
  532. package/dist/cjs/Toolbar/ToolbarSeparator.js +0 -14
  533. package/dist/cjs/Toolbar/ToolbarSeparator.js.map +0 -1
  534. package/dist/cjs/Toolbar/ToolbarSlot.js +0 -125
  535. package/dist/cjs/Toolbar/ToolbarSlot.js.map +0 -1
  536. package/dist/cjs/Toolbar/index.js +0 -29
  537. package/dist/cjs/Toolbar/index.js.map +0 -1
  538. package/dist/cjs/index.js +0 -41
  539. package/dist/cjs/index.js.map +0 -1
  540. package/dist/cjs/package.json +0 -3
  541. package/dist/cjs/tailwind-utilities.css +0 -1159
  542. package/dist/cjs/tokens.css +0 -83
  543. package/dist/cjs/types/TypeFormat.js +0 -22
  544. package/dist/cjs/types/TypeFormat.js.map +0 -1
  545. package/dist/cjs/types/index.js.map +0 -1
  546. package/dist/cjs/useOverlayZIndex.js +0 -65
  547. package/dist/cjs/useOverlayZIndex.js.map +0 -1
  548. package/dist/esm/CommandDialog/CommandStepper.css +0 -24
  549. package/dist/esm/Common/FormElement.css +0 -26
  550. package/dist/esm/Common/Tooltip.css +0 -10
  551. package/dist/esm/Filter/FilterPanel.css +0 -459
  552. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.css +0 -6
  553. package/dist/esm/PivotViewer/PivotViewer.css +0 -1323
  554. package/dist/esm/PivotViewer/components/Spinner.css +0 -77
  555. package/dist/esm/SchemaEditor/SchemaEditor.module.css +0 -15
  556. package/dist/esm/TimeMachine/EventsView.css +0 -213
  557. package/dist/esm/TimeMachine/Properties.css +0 -57
  558. package/dist/esm/TimeMachine/TimeMachine.css +0 -587
  559. package/dist/esm/Toolbar/Toolbar.css +0 -357
  560. package/dist/esm/tailwind-utilities.css +0 -1159
  561. package/dist/esm/tsconfig.tsbuildinfo +0 -1
  562. package/dist/esm/useOverlayZIndex.d.ts +0 -3
  563. package/dist/esm/useOverlayZIndex.d.ts.map +0 -1
  564. package/dist/esm/useOverlayZIndex.js +0 -62
  565. package/dist/esm/useOverlayZIndex.js.map +0 -1
  566. package/dist/esm/vite.config.d.ts +0 -3
  567. package/dist/esm/vite.config.d.ts.map +0 -1
  568. package/dist/esm/vite.config.js +0 -77
  569. package/dist/esm/vite.config.js.map +0 -1
  570. package/dist/esm/vitest.setup.d.ts +0 -2
  571. package/dist/esm/vitest.setup.d.ts.map +0 -1
  572. package/dist/esm/vitest.setup.js +0 -6
  573. package/dist/esm/vitest.setup.js.map +0 -1
@@ -0,0 +1,33 @@
1
+ import React, { type CSSProperties, type ReactNode } from 'react';
2
+ import type { DataTableRootProps } from '@primereact/types/primitive/datatable';
3
+ import type { DataTableSelectionChangeEvent } from './DataTableSelectionChangeEvent';
4
+ import type { DataTableFilterMeta } from './DataTableFilterMeta';
5
+ export interface DataTableRowClickEvent<TData> {
6
+ data: TData;
7
+ index: number;
8
+ }
9
+ export interface DataTableCoreProps<TData extends object> {
10
+ data: TData[];
11
+ children?: ReactNode;
12
+ dataKey?: string;
13
+ emptyMessage: ReactNode;
14
+ selectionMode?: 'single';
15
+ selectionAriaLabel?: string;
16
+ selection?: TData | null;
17
+ onSelectionChange?: (event: DataTableSelectionChangeEvent<TData>) => void;
18
+ onRowClick?: (event: DataTableRowClickEvent<TData>) => void;
19
+ rowClassName?: (rowData: TData) => string;
20
+ globalFilterFields?: string[];
21
+ globalSearchPlaceholder?: string;
22
+ defaultFilters?: DataTableFilterMeta;
23
+ onFilter?: (filters: DataTableFilterMeta) => void;
24
+ scrollable?: boolean;
25
+ scrollHeight?: string;
26
+ className?: string;
27
+ style?: CSSProperties;
28
+ pt?: DataTableRootProps['pt'];
29
+ ptOptions?: DataTableRootProps['ptOptions'];
30
+ unstyled?: boolean;
31
+ }
32
+ export declare const DataTableCore: <TData extends object>({ data, children, dataKey, emptyMessage, selectionMode, selectionAriaLabel, selection, onSelectionChange, onRowClick, rowClassName, globalFilterFields, globalSearchPlaceholder, defaultFilters, onFilter, scrollable, scrollHeight, className, style, pt, ptOptions, unstyled, }: DataTableCoreProps<TData>) => React.JSX.Element;
33
+ //# sourceMappingURL=DataTableCore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableCore.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableCore.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAqB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAKhF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AASjE,MAAM,WAAW,sBAAsB,CAAC,KAAK;IAEzC,IAAI,EAAE,KAAK,CAAC;IAEZ,KAAK,EAAE,MAAM,CAAC;CACjB;AAOD,MAAM,WAAW,kBAAkB,CAAC,KAAK,SAAS,MAAM;IAEpD,IAAI,EAAE,KAAK,EAAE,CAAC;IAEd,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,YAAY,EAAE,SAAS,CAAC;IAExB,aAAa,CAAC,EAAE,QAAQ,CAAC;IAEzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAEzB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAE1E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAE5D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,MAAM,CAAC;IAE1C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAErC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAElD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB,EAAE,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE9B,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE5C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAgCD,eAAO,MAAM,aAAa,GAAI,KAAK,SAAS,MAAM,EAAE,mRAsBjD,kBAAkB,CAAC,KAAK,CAAC,sBA4H3B,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import React, { useState, useMemo } from 'react';
3
+ import { DataTable } from 'primereact/datatable';
4
+ import { InputText } from 'primereact/inputtext';
5
+ import { ColumnFilterMenu } from './ColumnFilterMenu.js';
6
+ import { selectionKeysForRow, rowFromSelectionKeys } from './selectionKeys.js';
7
+
8
+ /** Reads the parsed column definitions from `<Column>` children. */
9
+ const useColumns = (children) => useMemo(() => React.Children.toArray(children).filter(React.isValidElement), [children]);
10
+ const renderCellContent = (column, row) => {
11
+ if (column.body)
12
+ return column.body(row);
13
+ if (column.field) {
14
+ const value = row[column.field];
15
+ return value == null ? '' : String(value);
16
+ }
17
+ return null;
18
+ };
19
+ /**
20
+ * The shared, query-agnostic table used by {@link DataTableForQuery},
21
+ * {@link DataTableForObservableQuery}, and the schema editor. Rebuilds
22
+ * PrimeReact 10's monolithic `DataTable` on PrimeReact 11's headless
23
+ * compositional table: it reads `<Column>` children, renders the header and
24
+ * per-row body cells, and translates PrimeReact 11's key-based selection back
25
+ * to the row-object API callers expect.
26
+ *
27
+ * Paging is intentionally *not* handled here — the query wrappers own paging
28
+ * through Arc and feed one page of rows in via `data`, so this component only
29
+ * renders and sorts/filters the current page client-side.
30
+ *
31
+ * @typeParam TData - The row type.
32
+ */
33
+ const DataTableCore = ({ data, children, dataKey, emptyMessage, selectionMode, selectionAriaLabel = 'Select row', selection, onSelectionChange, onRowClick, rowClassName, globalFilterFields, globalSearchPlaceholder = 'Search…', defaultFilters, onFilter, scrollable, scrollHeight, className, style, pt, ptOptions, unstyled, }) => {
34
+ const columns = useColumns(children);
35
+ const [filters, setFilters] = useState(defaultFilters ?? {});
36
+ const [globalFilter, setGlobalFilter] = useState('');
37
+ const showGlobalSearch = !!globalFilterFields && globalFilterFields.length > 0;
38
+ const handleFilter = (event) => {
39
+ // PrimeReact's headless filter meta is looser than the typed Cratis
40
+ // constraint the public API exposes; narrow at this one boundary.
41
+ const next = event.filters;
42
+ setFilters(next);
43
+ onFilter?.(next);
44
+ };
45
+ const keyOf = (row) => dataKey ? String(row[dataKey]) : undefined;
46
+ const selectionKeys = useMemo(() => selectionKeysForRow(selection, dataKey), [selection, dataKey]);
47
+ const handleSelectionChange = (event) => {
48
+ if (!onSelectionChange)
49
+ return;
50
+ onSelectionChange({ value: rowFromSelectionKeys(event.value, data, dataKey), originalEvent: event.originalEvent });
51
+ };
52
+ const handleRowClick = onRowClick
53
+ ? (event) => onRowClick({ data: event.data, index: event.index })
54
+ : undefined;
55
+ return (jsxs(DataTable.Root, { data: data, dataKey: dataKey, removableSort: true, selectionMode: selectionMode ?? null, selectionKeys: selectionKeys, onSelectionChange: onSelectionChange ? handleSelectionChange : undefined, onRowClick: handleRowClick, filters: filters, onFilter: handleFilter, globalFilter: globalFilter || null, globalFilterFields: globalFilterFields, scrollable: scrollable, scrollHeight: scrollHeight, className: className, style: style, pt: pt, ptOptions: ptOptions, unstyled: unstyled, children: [showGlobalSearch && (jsx("div", { className: "cratis-datatable-search", children: jsx(InputText, { value: globalFilter, placeholder: globalSearchPlaceholder, className: "w-full", onChange: (event) => setGlobalFilter(event.target.value) }) })), jsx(DataTable.TableContainer, { children: jsxs(DataTable.Table, { children: [jsx(DataTable.THead, { children: jsx(DataTable.THeadRow, { children: columns.map((column, index) => (jsx(DataTable.THeadCell, { style: column.props.headerStyle ?? column.props.style, className: column.props.headerClassName, children: jsxs("div", { className: "cratis-datatable-header-cell", children: [column.props.sortable && column.props.field ? (jsxs(DataTable.Sort, { field: column.props.field, pt: { root: { 'aria-sort': undefined } }, children: [column.props.header, jsx(DataTable.SortIndicator, { match: "asc", children: " \u25B2" }), jsx(DataTable.SortIndicator, { match: "desc", children: " \u25BC" })] })) : (jsx("span", { children: column.props.header })), column.props.filter && (column.props.filterField ?? column.props.field) && (jsx(ColumnFilterMenu, { field: (column.props.filterField ?? column.props.field), dataType: column.props.dataType, placeholder: column.props.filterPlaceholder, showMatchModes: column.props.showFilterMatchModes }))] }) }, index))) }) }), jsx(DataTable.TBody, { children: ({ item, index }) => (jsx(DataTable.Row, { index: index, className: rowClassName?.(item), children: columns.map((column, columnIndex) => (jsx(DataTable.Cell, { style: { ...column.props.style, ...column.props.bodyStyle }, className: column.props.bodyClassName ?? column.props.className, children: column.props.selectionMode ? (jsx("input", { type: "radio", readOnly: true, "aria-label": selectionAriaLabel, checked: !!selection && keyOf(item) === keyOf(selection) })) : (renderCellContent(column.props, item)) }, columnIndex))) })) }), jsx(DataTable.EmptyTBody, { children: jsx(DataTable.Row, { children: jsx(DataTable.Cell, { colSpan: Math.max(columns.length, 1), children: emptyMessage }) }) })] }) })] }));
56
+ };
57
+
58
+ export { DataTableCore };
59
+ //# sourceMappingURL=DataTableCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableCore.js","sources":["../../../DataTables/DataTableCore.tsx"],"sourcesContent":[null],"names":["_jsxs","PrimeDataTable","_jsx"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface DataTableFilterConstraint {
2
+ value: unknown;
3
+ matchMode?: string;
4
+ }
5
+ export type DataTableFilterMeta = Record<string, DataTableFilterConstraint>;
6
+ //# sourceMappingURL=DataTableFilterMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableFilterMeta.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableFilterMeta.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,yBAAyB;IAEtC,KAAK,EAAE,OAAO,CAAC;IAEf,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DataTableFilterMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableFilterMeta.js","sourceRoot":"","sources":["../../../DataTables/DataTableFilterMeta.ts"],"names":[],"mappings":""}
@@ -1,8 +1,10 @@
1
- import { DataTableFilterMeta, DataTableSelectionSingleChangeEvent, type DataTableProps as PrimeDataTableProps } from 'primereact/datatable';
2
- import { type PaginatorProps } from 'primereact/paginator';
1
+ import type { DataTableRootProps } from '@primereact/types/primitive/datatable';
3
2
  import { Constructor } from '@cratis/fundamentals';
4
3
  import { IObservableQueryFor } from '@cratis/arc/queries';
5
4
  import { ReactNode } from 'react';
5
+ import { type TablePaginatorProps } from './TablePaginator';
6
+ import type { DataTableFilterMeta } from './DataTableFilterMeta';
7
+ import type { DataTableSelectionChangeEvent } from './DataTableSelectionChangeEvent';
6
8
  export interface DataTableForObservableQueryProps<TQuery extends IObservableQueryFor<TDataType, TArguments>, TDataType extends object, TArguments extends object> {
7
9
  children?: ReactNode;
8
10
  query: Constructor<TQuery>;
@@ -10,17 +12,16 @@ export interface DataTableForObservableQueryProps<TQuery extends IObservableQuer
10
12
  emptyMessage: string;
11
13
  dataKey?: string | undefined;
12
14
  selection?: TDataType | undefined | null;
13
- onSelectionChange?(event: DataTableSelectionSingleChangeEvent<TDataType[]>): void;
15
+ onSelectionChange?(event: DataTableSelectionChangeEvent<TDataType>): void;
14
16
  globalFilterFields?: string[] | undefined;
15
17
  defaultFilters?: DataTableFilterMeta;
16
18
  clientFiltering?: boolean;
17
19
  className?: string;
18
- pt?: PrimeDataTableProps<TDataType[]>['pt'];
19
- ptOptions?: PrimeDataTableProps<TDataType[]>['ptOptions'];
20
+ pt?: DataTableRootProps['pt'];
21
+ ptOptions?: DataTableRootProps['ptOptions'];
20
22
  unstyled?: boolean;
21
- paginatorPt?: PaginatorProps['pt'];
22
- paginatorPtOptions?: PaginatorProps['ptOptions'];
23
- paginatorUnstyled?: boolean;
23
+ paginatorClassName?: string;
24
+ paginatorAriaLabels?: TablePaginatorProps['ariaLabels'];
24
25
  }
25
26
  export declare const DataTableForObservableQuery: <TQuery extends IObservableQueryFor<TDataType, TArguments>, TDataType extends object, TArguments extends object>(props: DataTableForObservableQueryProps<TQuery, TDataType, TArguments>) => import("react").JSX.Element;
26
27
  //# sourceMappingURL=DataTableForObservableQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableForObservableQuery.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForObservableQuery.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAa,mBAAmB,EAAE,mCAAmC,EAAE,KAAK,cAAc,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACvJ,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAU,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AAS/D,MAAM,WAAW,gCAAgC,CAAC,MAAM,SAAS,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,SAAS,MAAM,EAAE,UAAU,SAAS,MAAM;IAI5J,QAAQ,CAAC,EAAE,SAAS,CAAC;IAKrB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAK3B,cAAc,CAAC,EAAE,UAAU,CAAC;IAK5B,YAAY,EAAE,MAAM,CAAC;IAKrB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAK7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IAKzC,iBAAiB,CAAC,CAAC,KAAK,EAAE,mCAAmC,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC;IAKlF,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAK1C,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAKrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,EAAE,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAG5C,SAAS,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;IAG1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,WAAW,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAGnC,kBAAkB,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAGjD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAoED,eAAO,MAAM,2BAA2B,GAAI,MAAM,SAAS,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,SAAS,MAAM,EAAE,UAAU,SAAS,MAAM,EAAE,OAAO,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,gCAuGjO,CAAC"}
1
+ {"version":3,"file":"DataTableForObservableQuery.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForObservableQuery.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAU,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AASrF,MAAM,WAAW,gCAAgC,CAAC,MAAM,SAAS,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,SAAS,MAAM,EAAE,UAAU,SAAS,MAAM;IAI5J,QAAQ,CAAC,EAAE,SAAS,CAAC;IAKrB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAK3B,cAAc,CAAC,EAAE,UAAU,CAAC;IAK5B,YAAY,EAAE,MAAM,CAAC;IAKrB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAK7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IAKzC,iBAAiB,CAAC,CAAC,KAAK,EAAE,6BAA6B,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAK1E,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAK1C,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAQrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,EAAE,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAG9B,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAG5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;CAC3D;AAmCD,eAAO,MAAM,2BAA2B,GAAI,MAAM,SAAS,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,SAAS,MAAM,EAAE,UAAU,SAAS,MAAM,EAAE,OAAO,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,gCA+GjO,CAAC"}
@@ -1,84 +1,67 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { DataTable } from 'primereact/datatable';
3
- import { Paginator } from 'primereact/paginator';
4
2
  import { Paging } from '@cratis/arc/queries';
5
3
  import { useObservableQueryWithPaging } from '@cratis/arc.react/queries';
6
- import { useState, useRef, useEffect } from 'react';
4
+ import { useRef, useState, useEffect } from 'react';
5
+ import { DataTableCore } from './DataTableCore.js';
6
+ import { TablePaginator } from './TablePaginator.js';
7
7
 
8
8
  const paging = new Paging(0, 20);
9
9
  /**
10
- * A paged data table bound to a Cratis Arc **observable** query
10
+ * A paged data table bound to a real-time Cratis Arc observable query
11
11
  * (`IObservableQueryFor<TDataType, TArguments>`). Subscribes via
12
- * `useObservableQueryWithPaging` from `@cratis/arc.react/queries`, which
13
- * opens a WebSocket connection to the backend and re-renders the table
14
- * automatically whenever the underlying read model changes server-side.
15
- *
16
- * ## What `TQuery` is
17
- *
18
- * `TQuery` is the auto-generated TypeScript class produced by the Arc proxy
19
- * generator from a C# read model's static observable query method (one
20
- * that returns `ISubject<TDataType>` on the backend). The proxy hooks the
21
- * WebSocket subscription up; you only deal with the resulting React data.
22
- *
23
- * ## What's unique
24
- *
25
- * - **Real-time updates**: server-side projection writes flow into the
26
- * table within the same render cycle, with no manual polling or refresh
27
- * button. The connection re-subscribes automatically when
28
- * `queryArguments` change.
29
- * - **Resize-aware scrollable height**: the wrapper observes its container
30
- * via `ResizeObserver` and adjusts the inner DataTable height to fit,
31
- * so the table behaves correctly inside flex layouts (it never overflows
32
- * beyond its parent or shrinks below 200px).
33
- * - **Lazy paging + optional client filtering**: same modes as
34
- * {@link DataTableForQuery}, but the page is re-issued through the
35
- * observable subscription when the user pages.
36
- *
37
- * Use {@link DataTableForQuery} for snapshot queries that don't need live
38
- * updates. Use {@link DataPage} for a higher-level layout that combines
39
- * this table with a menubar, selection, and a details pane.
12
+ * `useObservableQueryWithPaging`, so the table re-renders automatically as the
13
+ * underlying read model changes server-side. Rows render through the headless
14
+ * {@link DataTableCore} inside an internally-scrolling region that resizes to
15
+ * fill its container.
40
16
  *
41
17
  * ## Children
42
18
  *
43
- * Children are PrimeReact `<Column>` elements same as
44
- * {@link DataTableForQuery}.
19
+ * Children are Cratis `<Column>` elements describing the visible columns.
45
20
  *
46
21
  * ```tsx
47
- * import { DataTableForObservableQuery } from '@cratis/components/DataTables';
48
- * import { Column } from 'primereact/column';
49
- * import { ActiveSessions } from './ActiveSessions'; // proxy from C#
22
+ * import { DataTableForObservableQuery, Column } from '@cratis/components/DataTables';
23
+ * import { AllTasks } from './AllTasks'; // observable proxy from C#
50
24
  *
51
- * <DataTableForObservableQuery
52
- * query={ActiveSessions}
53
- * emptyMessage="No active sessions">
54
- * <Column field="userName" header="User" />
55
- * <Column field="startedAt" header="Started" />
25
+ * <DataTableForObservableQuery query={AllTasks} emptyMessage="No tasks">
26
+ * <Column field="title" header="Title" sortable />
27
+ * <Column field="assignee" header="Assignee" />
56
28
  * </DataTableForObservableQuery>
57
29
  * ```
58
30
  *
59
- * Rows appear and disappear in this table as users log in / log out
60
- * server-side no manual refresh required.
61
- *
62
- * ## Styling
63
- *
64
- * Identical to {@link DataTableForQuery}: `pt` / `ptOptions` / `unstyled` /
65
- * `className` target the inner DataTable; `paginatorPt` and friends target
66
- * the inner Paginator. See [pass-through cheat sheet](../../Documentation/Styling/pass-through.md).
31
+ * Use {@link DataTableForQuery} for one-shot snapshot queries. Use
32
+ * {@link DataPage} for a higher-level layout that combines this table with
33
+ * an action menubar, selection, and a details pane.
67
34
  *
68
- * @typeParam TQuery - The observable query class (proxy generated from C# `IObservableQueryFor`).
35
+ * @typeParam TQuery - The query class (proxy generated from C# `IObservableQueryFor`).
69
36
  * @typeParam TDataType - The row type returned by the query.
70
37
  * @typeParam TArguments - The query's argument object type.
71
38
  * @param props - {@link DataTableForObservableQueryProps}.
72
39
  */
73
40
  const DataTableForObservableQuery = (props) => {
74
- const [filters, setFilters] = useState(props.defaultFilters ?? {});
75
- const [filteredTotal, setFilteredTotal] = useState(undefined);
41
+ // Type arguments are supplied explicitly, and the constructor is erased on the way in
42
+ // (Cratis/Components#135). Two separate defects in `@cratis/arc.react` make the plain call
43
+ // fail to type-check:
44
+ //
45
+ // 1. `useObservableQueryWithPaging<TDataType, TQuery extends IObservableQueryFor<TDataType>, …>`
46
+ // gives `TDataType` no inference site — it appears only inside `TQuery`'s constraint — so it
47
+ // silently falls back to `unknown` and `result` comes back as `QueryResultWithState<unknown>`.
48
+ // 2. `ObservableQuerySubscription<T>` carries a `private _connection`, which makes it nominally
49
+ // typed. `@cratis/arc.react` pins `@cratis/arc` to an exact version, so any consumer whose own
50
+ // `@cratis/arc` differs by even a patch gets a second nested copy — two declarations of that
51
+ // class, and TS2345 "types have separate declarations of a private property". Our peer range
52
+ // deliberately spans `>=20.3.1 <22`, so we cannot assume a consumer's tree is deduped.
53
+ //
54
+ // Erasing the constructor type sidesteps the nominal comparison, and naming `TDataType`
55
+ // explicitly recovers the row type this component is generic over — strictly better than the
56
+ // `unknown` the inference would otherwise produce. Remove both once Arc returns an interface
57
+ // from `subscribe()` and makes `TDataType` inferable.
76
58
  const [result, , setPage] = useObservableQueryWithPaging(props.query, paging, props.queryArguments);
77
59
  const containerRef = useRef(null);
78
60
  const [tableHeight, setTableHeight] = useState(600);
79
61
  const timeoutRef = useRef(undefined);
80
- const isClientFiltering = props.clientFiltering === true;
81
- const totalRecords = isClientFiltering && filteredTotal !== undefined ? filteredTotal : result.paging.totalItems;
62
+ const totalItems = result.paging.totalItems;
63
+ const pageCount = result.paging.totalPages;
64
+ const showPaginator = totalItems > 0 && pageCount > 1;
82
65
  useEffect(() => {
83
66
  if (!containerRef.current)
84
67
  return;
@@ -90,7 +73,7 @@ const DataTableForObservableQuery = (props) => {
90
73
  for (const entry of entries) {
91
74
  const containerHeight = entry.contentRect.height;
92
75
  if (containerHeight > 0) {
93
- const paginatorHeight = result.paging.totalItems > 0 ? 56 : 0;
76
+ const paginatorHeight = showPaginator ? 56 : 0;
94
77
  const calculatedHeight = containerHeight - paginatorHeight - 2;
95
78
  const newHeight = Math.max(calculatedHeight, 200);
96
79
  setTableHeight(prevHeight => {
@@ -110,7 +93,7 @@ const DataTableForObservableQuery = (props) => {
110
93
  }
111
94
  resizeObserver.disconnect();
112
95
  };
113
- }, [result.paging.totalItems]);
96
+ }, [showPaginator]);
114
97
  return (jsxs("div", { ref: containerRef, style: {
115
98
  display: 'flex',
116
99
  flexDirection: 'column',
@@ -118,13 +101,7 @@ const DataTableForObservableQuery = (props) => {
118
101
  border: '1px solid var(--cratis-surface-border)',
119
102
  borderRadius: 'var(--cratis-border-radius)',
120
103
  overflow: 'hidden'
121
- }, children: [jsx("div", { style: { height: `${tableHeight}px`, overflow: 'hidden' }, children: jsx(DataTable, { value: result.data, lazy: !isClientFiltering, rows: paging.pageSize, totalRecords: totalRecords, scrollable: true, scrollHeight: '100%', selectionMode: 'single', selection: props.selection, onSelectionChange: props.onSelectionChange, dataKey: props.dataKey, filters: filters, filterDisplay: 'menu', onFilter: (e) => {
122
- setFilters(e.filters);
123
- if (isClientFiltering) {
124
- const filteredValue = e.filteredValue;
125
- setFilteredTotal(filteredValue ? filteredValue.length : undefined);
126
- }
127
- }, globalFilterFields: props.globalFilterFields, emptyMessage: props.emptyMessage, className: props.className, pt: props.pt, ptOptions: props.ptOptions, unstyled: props.unstyled, children: props.children }) }), result.paging.totalItems > 0 && (jsx("div", { style: { borderTop: '1px solid var(--cratis-surface-border)' }, children: jsx(Paginator, { first: result.paging.page * paging.pageSize, rows: paging.pageSize, totalRecords: result.paging.totalItems, onPageChange: (e) => setPage(e.page), pt: props.paginatorPt, ptOptions: props.paginatorPtOptions, unstyled: props.paginatorUnstyled }) }))] }));
104
+ }, children: [jsx("div", { style: { height: `${tableHeight}px`, overflow: 'hidden' }, children: jsx(DataTableCore, { data: result.data, dataKey: props.dataKey, emptyMessage: props.emptyMessage, selectionMode: 'single', selection: props.selection, onSelectionChange: props.onSelectionChange, globalFilterFields: props.globalFilterFields, defaultFilters: props.defaultFilters, scrollable: true, scrollHeight: '100%', className: props.className, style: { minWidth: '100%' }, pt: props.pt, ptOptions: props.ptOptions, unstyled: props.unstyled, children: props.children }) }), showPaginator && (jsx("div", { style: { borderTop: '1px solid var(--cratis-surface-border)', flexShrink: 0 }, children: jsx(TablePaginator, { page: result.paging.page, pageCount: pageCount, onPageChange: setPage, totalItems: totalItems, pageSize: paging.pageSize, className: props.paginatorClassName, ariaLabels: props.paginatorAriaLabels }) }))] }));
128
105
  };
129
106
 
130
107
  export { DataTableForObservableQuery };
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableForObservableQuery.js","sources":["../../../DataTables/DataTableForObservableQuery.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"DataTableForObservableQuery.js","sources":["../../../DataTables/DataTableForObservableQuery.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import { DataTableFilterMeta, DataTableSelectionSingleChangeEvent, type DataTableProps as PrimeDataTableProps } from 'primereact/datatable';
2
- import { type PaginatorProps } from 'primereact/paginator';
1
+ import type { DataTableRootProps } from '@primereact/types/primitive/datatable';
3
2
  import { Constructor } from '@cratis/fundamentals';
4
3
  import { IQueryFor } from '@cratis/arc/queries';
5
4
  import { ReactNode } from 'react';
5
+ import { type TablePaginatorProps } from './TablePaginator';
6
+ import type { DataTableFilterMeta } from './DataTableFilterMeta';
7
+ import type { DataTableSelectionChangeEvent } from './DataTableSelectionChangeEvent';
6
8
  export interface DataTableForQueryProps<TQuery extends IQueryFor<TDataType, TArguments>, TDataType extends object, TArguments extends object> {
7
9
  children?: ReactNode;
8
10
  query: Constructor<TQuery>;
@@ -10,17 +12,16 @@ export interface DataTableForQueryProps<TQuery extends IQueryFor<TDataType, TArg
10
12
  emptyMessage: string;
11
13
  dataKey?: string | undefined;
12
14
  selection?: TDataType | undefined | null;
13
- onSelectionChange?(event: DataTableSelectionSingleChangeEvent<TDataType[]>): void;
15
+ onSelectionChange?(event: DataTableSelectionChangeEvent<TDataType>): void;
14
16
  globalFilterFields?: string[] | undefined;
15
17
  defaultFilters?: DataTableFilterMeta;
16
18
  clientFiltering?: boolean;
17
19
  className?: string;
18
- pt?: PrimeDataTableProps<TDataType[]>['pt'];
19
- ptOptions?: PrimeDataTableProps<TDataType[]>['ptOptions'];
20
+ pt?: DataTableRootProps['pt'];
21
+ ptOptions?: DataTableRootProps['ptOptions'];
20
22
  unstyled?: boolean;
21
- paginatorPt?: PaginatorProps['pt'];
22
- paginatorPtOptions?: PaginatorProps['ptOptions'];
23
- paginatorUnstyled?: boolean;
23
+ paginatorClassName?: string;
24
+ paginatorAriaLabels?: TablePaginatorProps['ariaLabels'];
24
25
  }
25
26
  export declare const DataTableForQuery: <TQuery extends IQueryFor<TDataType, TArguments>, TDataType extends object, TArguments extends object>(props: DataTableForQueryProps<TQuery, TDataType, TArguments>) => import("react").JSX.Element;
26
27
  //# sourceMappingURL=DataTableForQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableForQuery.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForQuery.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAa,mBAAmB,EAAE,mCAAmC,EAAE,KAAK,cAAc,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACvJ,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAoB,MAAM,OAAO,CAAC;AASpD,MAAM,WAAW,sBAAsB,CAAC,MAAM,SAAS,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,SAAS,MAAM,EAAE,UAAU,SAAS,MAAM;IAIxI,QAAQ,CAAC,EAAE,SAAS,CAAC;IAKrB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAK3B,cAAc,CAAC,EAAE,UAAU,CAAC;IAK5B,YAAY,EAAE,MAAM,CAAC;IAKrB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAK7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IAKzC,iBAAiB,CAAC,CAAC,KAAK,EAAE,mCAAmC,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC;IAKlF,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAK1C,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAKrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,EAAE,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAG5C,SAAS,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;IAG1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,WAAW,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAGnC,kBAAkB,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAGjD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAiED,eAAO,MAAM,iBAAiB,GAAI,MAAM,SAAS,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,SAAS,MAAM,EAAE,UAAU,SAAS,MAAM,EAAE,OAAO,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,gCAgEnM,CAAC"}
1
+ {"version":3,"file":"DataTableForQuery.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForQuery.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AASrF,MAAM,WAAW,sBAAsB,CAAC,MAAM,SAAS,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,SAAS,MAAM,EAAE,UAAU,SAAS,MAAM;IAIxI,QAAQ,CAAC,EAAE,SAAS,CAAC;IAKrB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAK3B,cAAc,CAAC,EAAE,UAAU,CAAC;IAK5B,YAAY,EAAE,MAAM,CAAC;IAKrB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAK7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IAKzC,iBAAiB,CAAC,CAAC,KAAK,EAAE,6BAA6B,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAK1E,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAK1C,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAQrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,EAAE,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAG9B,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAG5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;CAC3D;AAgDD,eAAO,MAAM,iBAAiB,GAAI,MAAM,SAAS,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,SAAS,MAAM,EAAE,UAAU,SAAS,MAAM,EAAE,OAAO,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,gCAiDnM,CAAC"}
@@ -1,17 +1,16 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { DataTable } from 'primereact/datatable';
3
- import { Paginator } from 'primereact/paginator';
4
2
  import { Paging } from '@cratis/arc/queries';
5
3
  import { useQueryWithPaging } from '@cratis/arc.react/queries';
6
- import { useState, useRef } from 'react';
4
+ import { DataTableCore } from './DataTableCore.js';
5
+ import { TablePaginator } from './TablePaginator.js';
7
6
 
8
7
  const paging = new Paging(0, 20);
9
8
  /**
10
9
  * A paged data table bound to a snapshot Cratis Arc query
11
10
  * (`IQueryFor<TDataType, TArguments>`). Subscribes via
12
11
  * `useQueryWithPaging` from `@cratis/arc.react/queries`, renders the result
13
- * page in a PrimeReact `DataTable`, and shows a `Paginator` when the result
14
- * set exceeds one page.
12
+ * page through the headless {@link DataTableCore}, and shows a
13
+ * {@link TablePaginator} when the result set exceeds one page.
15
14
  *
16
15
  * ## What `TQuery` is
17
16
  *
@@ -20,33 +19,13 @@ const paging = new Paging(0, 20);
20
19
  * writes a `.ts` file per query with the right return type and a `use()`
21
20
  * hook; importing the class is all the connection-to-the-backend you need.
22
21
  *
23
- * ## What's unique
24
- *
25
- * - **Lazy paging**: the table runs in PrimeReact's `lazy` mode by default
26
- * so the server returns one page at a time. The Paginator's
27
- * `onPageChange` calls back into the Arc hook to fetch the next page.
28
- * - **Client-side filtering toggle**: pass `clientFiltering` to keep the
29
- * page-fetched rows in the browser and filter locally — useful for
30
- * small result sets where you want PrimeReact's filter UI but don't want
31
- * to round-trip every keystroke.
32
- * - **Default filter state**: `defaultFilters` seeds the table's filter
33
- * meta on first render so saved or URL-encoded filter state can be
34
- * rehydrated.
35
- *
36
- * Use {@link DataTableForObservableQuery} for queries that should update in
37
- * real time as the underlying read model changes server-side. Use
38
- * {@link DataPage} for a higher-level layout that combines this table with
39
- * a menubar, selection, and a details pane.
40
- *
41
22
  * ## Children
42
23
  *
43
- * Children are PrimeReact `<Column>` elements describing the visible
44
- * columns sorting, filtering, custom body templates, everything
45
- * PrimeReact's `<Column>` supports.
24
+ * Children are Cratis `<Column>` elements describing the visible columns —
25
+ * `field`, `header`, custom `body` templates, and `sortable`.
46
26
  *
47
27
  * ```tsx
48
- * import { DataTableForQuery } from '@cratis/components/DataTables';
49
- * import { Column } from 'primereact/column';
28
+ * import { DataTableForQuery, Column } from '@cratis/components/DataTables';
50
29
  * import { AllAuthors } from './AllAuthors'; // proxy from C#
51
30
  *
52
31
  * <DataTableForQuery query={AllAuthors} emptyMessage="No authors">
@@ -55,12 +34,15 @@ const paging = new Paging(0, 20);
55
34
  * </DataTableForQuery>
56
35
  * ```
57
36
  *
37
+ * Use {@link DataTableForObservableQuery} for queries that should update in
38
+ * real time as the underlying read model changes server-side. Use
39
+ * {@link DataPage} for a higher-level layout that combines this table with
40
+ * an action menubar, selection, and a details pane.
41
+ *
58
42
  * ## Styling
59
43
  *
60
44
  * Forward `pt` / `ptOptions` / `unstyled` / `className` to the underlying
61
- * PrimeReact DataTable. Use `paginatorPt` / `paginatorPtOptions` /
62
- * `paginatorUnstyled` to style the inner Paginator independently. See
63
- * [pass-through cheat sheet](../../Documentation/Styling/pass-through.md).
45
+ * DataTable. See [pass-through cheat sheet](../../Documentation/Styling/pass-through.md).
64
46
  *
65
47
  * @typeParam TQuery - The query class (proxy generated from C# `IQueryFor`).
66
48
  * @typeParam TDataType - The row type returned by the query.
@@ -68,26 +50,17 @@ const paging = new Paging(0, 20);
68
50
  * @param props - {@link DataTableForQueryProps}.
69
51
  */
70
52
  const DataTableForQuery = (props) => {
71
- const [filters, setFilters] = useState(props.defaultFilters ?? {});
72
- const [filteredTotal, setFilteredTotal] = useState(undefined);
73
53
  const [result, , , setPage] = useQueryWithPaging(props.query, paging, props.queryArguments);
74
- const containerRef = useRef(null);
75
- const isClientFiltering = props.clientFiltering === true;
76
- const totalRecords = isClientFiltering && filteredTotal !== undefined ? filteredTotal : result.paging.totalItems;
77
- return (jsxs("div", { ref: containerRef, style: {
54
+ const totalItems = result.paging.totalItems;
55
+ const pageCount = result.paging.totalPages;
56
+ return (jsxs("div", { style: {
78
57
  display: 'flex',
79
58
  flexDirection: 'column',
80
59
  height: '100%',
81
60
  border: '1px solid var(--cratis-surface-border)',
82
61
  borderRadius: 'var(--cratis-border-radius)',
83
62
  overflow: 'hidden'
84
- }, children: [jsx("div", { style: { flex: 1, minHeight: 0, overflow: 'auto' }, children: jsx(DataTable, { value: result.data, lazy: !isClientFiltering, rows: paging.pageSize, totalRecords: totalRecords, selectionMode: 'single', selection: props.selection, onSelectionChange: props.onSelectionChange, dataKey: props.dataKey, filters: filters, filterDisplay: 'menu', onFilter: (e) => {
85
- setFilters(e.filters);
86
- if (isClientFiltering) {
87
- const filteredValue = e.filteredValue;
88
- setFilteredTotal(filteredValue ? filteredValue.length : undefined);
89
- }
90
- }, globalFilterFields: props.globalFilterFields, emptyMessage: props.emptyMessage, style: { minWidth: '100%' }, className: props.className, pt: props.pt, ptOptions: props.ptOptions, unstyled: props.unstyled, children: props.children }) }), result.paging.totalItems > 0 && (jsx("div", { style: { borderTop: '1px solid var(--cratis-surface-border)', flexShrink: 0 }, children: jsx(Paginator, { first: result.paging.page * paging.pageSize, rows: paging.pageSize, totalRecords: result.paging.totalItems, onPageChange: (e) => setPage(e.page), pt: props.paginatorPt, ptOptions: props.paginatorPtOptions, unstyled: props.paginatorUnstyled }) }))] }));
63
+ }, children: [jsx("div", { style: { flex: 1, minHeight: 0, overflow: 'auto' }, children: jsx(DataTableCore, { data: result.data, dataKey: props.dataKey, emptyMessage: props.emptyMessage, selectionMode: 'single', selection: props.selection, onSelectionChange: props.onSelectionChange, globalFilterFields: props.globalFilterFields, defaultFilters: props.defaultFilters, className: props.className, style: { minWidth: '100%' }, pt: props.pt, ptOptions: props.ptOptions, unstyled: props.unstyled, children: props.children }) }), totalItems > 0 && pageCount > 1 && (jsx("div", { style: { borderTop: '1px solid var(--cratis-surface-border)', flexShrink: 0 }, children: jsx(TablePaginator, { page: result.paging.page, pageCount: pageCount, onPageChange: setPage, totalItems: totalItems, pageSize: paging.pageSize, className: props.paginatorClassName, ariaLabels: props.paginatorAriaLabels }) }))] }));
91
64
  };
92
65
 
93
66
  export { DataTableForQuery };
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableForQuery.js","sources":["../../../DataTables/DataTableForQuery.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"DataTableForQuery.js","sources":["../../../DataTables/DataTableForQuery.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;AA+FA,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CG;AACI,MAAM,iBAAiB,GAAG,CAAuG,KAA4D,KAAI;IACpM,MAAM,CAAC,MAAM,MAAM,OAAO,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC;AAC3F,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU;AAC3C,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU;IAE1C,QACIA,IAAA,CAAA,KAAA,EAAA,EACI,KAAK,EAAE;AACH,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,MAAM,EAAE,wCAAwC;AAChD,YAAA,YAAY,EAAE,6BAA6B;AAC3C,YAAA,QAAQ,EAAE;AACb,SAAA,EAAA,QAAA,EAAA,CACDC,aAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YACnDA,GAAA,CAAC,aAAa,EAAA,EACV,IAAI,EAAE,MAAM,CAAC,IAA8B,EAC3C,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC3B,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAA,QAAA,EACvB,KAAK,CAAC,QAAQ,GACH,EAAA,CACd,EAEL,UAAU,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,KAC5BA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,SAAS,EAAE,wCAAwC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAA,QAAA,EAC9EA,IAAC,cAAc,EAAA,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EACxB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,SAAS,EAAE,KAAK,CAAC,kBAAkB,EACnC,UAAU,EAAE,KAAK,CAAC,mBAAmB,EAAA,CACvC,GACA,CACT,CAAA,EAAA,CACC;AAEd;;;;"}
@@ -0,0 +1,6 @@
1
+ import type { SyntheticEvent } from 'react';
2
+ export interface DataTableSelectionChangeEvent<TData> {
3
+ value: TData | null;
4
+ originalEvent?: SyntheticEvent;
5
+ }
6
+ //# sourceMappingURL=DataTableSelectionChangeEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableSelectionChangeEvent.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableSelectionChangeEvent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAW5C,MAAM,WAAW,6BAA6B,CAAC,KAAK;IAEhD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,aAAa,CAAC,EAAE,cAAc,CAAC;CAClC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DataTableSelectionChangeEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableSelectionChangeEvent.js","sourceRoot":"","sources":["../../../DataTables/DataTableSelectionChangeEvent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ export interface TablePaginatorProps {
2
+ page: number;
3
+ pageCount: number;
4
+ onPageChange: (page: number) => void;
5
+ totalItems?: number;
6
+ pageSize?: number;
7
+ ariaLabels?: {
8
+ navigation?: string;
9
+ first?: string;
10
+ previous?: string;
11
+ next?: string;
12
+ last?: string;
13
+ };
14
+ className?: string;
15
+ }
16
+ export declare const TablePaginator: ({ page, pageCount, onPageChange, totalItems, pageSize, ariaLabels, className }: TablePaginatorProps) => import("react").JSX.Element;
17
+ //# sourceMappingURL=TablePaginator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TablePaginator.d.ts","sourceRoot":"","sources":["../../../DataTables/TablePaginator.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,mBAAmB;IAEhC,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,MAAM,CAAC;IAElB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,UAAU,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AASD,eAAO,MAAM,cAAc,GAAI,gFAAgF,mBAAmB,gCA4BjI,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { Button } from 'primereact/button';
3
+ import { paginatorRange } from './paginatorRange.js';
4
+
5
+ /**
6
+ * A minimal first/previous/next/last paginator. PrimeReact 11's `Paginator`
7
+ * is a headless compositional slot rather than a ready-made control, and the
8
+ * Cratis data tables drive paging through Arc's paging hook rather than the
9
+ * table's internal pagination — so this renders the page controls wired to a
10
+ * simple `onPageChange(pageIndex)` callback.
11
+ */
12
+ const TablePaginator = ({ page, pageCount, onPageChange, totalItems, pageSize, ariaLabels, className }) => {
13
+ const isFirst = page <= 0;
14
+ const isLast = page >= pageCount - 1;
15
+ const rangeReport = paginatorRange(page, pageSize, totalItems);
16
+ // English defaults; a consumer overrides any of these to localize.
17
+ const labels = { navigation: 'Pagination', first: 'First page', previous: 'Previous page', next: 'Next page', last: 'Last page', ...ariaLabels };
18
+ return (jsxs("div", { role: "navigation", "aria-label": labels.navigation, className: className ? `cratis-table-paginator ${className}` : 'cratis-table-paginator', children: [rangeReport && jsx("span", { className: "cratis-table-paginator-range", children: rangeReport }), jsx(Button, { variant: "text", disabled: isFirst, onClick: () => onPageChange(0), "aria-label": labels.first, children: jsx("i", { className: "pi pi-angle-double-left" }) }), jsx(Button, { variant: "text", disabled: isFirst, onClick: () => onPageChange(page - 1), "aria-label": labels.previous, children: jsx("i", { className: "pi pi-angle-left" }) }), jsxs("span", { className: "cratis-table-paginator-info", children: [page + 1, " / ", Math.max(pageCount, 1)] }), jsx(Button, { variant: "text", disabled: isLast, onClick: () => onPageChange(page + 1), "aria-label": labels.next, children: jsx("i", { className: "pi pi-angle-right" }) }), jsx(Button, { variant: "text", disabled: isLast, onClick: () => onPageChange(pageCount - 1), "aria-label": labels.last, children: jsx("i", { className: "pi pi-angle-double-right" }) })] }));
19
+ };
20
+
21
+ export { TablePaginator };
22
+ //# sourceMappingURL=TablePaginator.js.map