@open-mercato/core 0.6.8-develop.7029.1.a1bb3363af → 0.6.8-develop.7031.1.005201cd70

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 (236) hide show
  1. package/dist/modules/api_keys/backend/api-keys/page.js +3 -1
  2. package/dist/modules/api_keys/backend/api-keys/page.js.map +2 -2
  3. package/dist/modules/attachments/components/AttachmentLibrary.js +2 -0
  4. package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
  5. package/dist/modules/audit_logs/backend/audit-logs/page.js +6 -0
  6. package/dist/modules/audit_logs/backend/audit-logs/page.js.map +2 -2
  7. package/dist/modules/auth/backend/roles/page.js +3 -1
  8. package/dist/modules/auth/backend/roles/page.js.map +2 -2
  9. package/dist/modules/auth/backend/users/page.js +2 -1
  10. package/dist/modules/auth/backend/users/page.js.map +2 -2
  11. package/dist/modules/business_rules/backend/logs/page.js +3 -1
  12. package/dist/modules/business_rules/backend/logs/page.js.map +2 -2
  13. package/dist/modules/business_rules/backend/rules/page.js +3 -1
  14. package/dist/modules/business_rules/backend/rules/page.js.map +2 -2
  15. package/dist/modules/business_rules/backend/sets/page.js +3 -1
  16. package/dist/modules/business_rules/backend/sets/page.js.map +2 -2
  17. package/dist/modules/catalog/ai-agents.js +1 -1
  18. package/dist/modules/catalog/ai-agents.js.map +1 -1
  19. package/dist/modules/catalog/ai-tools/merchandising-pack.js +2 -2
  20. package/dist/modules/catalog/ai-tools/merchandising-pack.js.map +2 -2
  21. package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js +5 -2
  22. package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js.map +2 -2
  23. package/dist/modules/catalog/components/categories/CategoriesDataTable.js +2 -0
  24. package/dist/modules/catalog/components/categories/CategoriesDataTable.js.map +2 -2
  25. package/dist/modules/catalog/components/products/ProductsDataTable.js +7 -1
  26. package/dist/modules/catalog/components/products/ProductsDataTable.js.map +2 -2
  27. package/dist/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.js +2 -0
  28. package/dist/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.js.map +2 -2
  29. package/dist/modules/communication_channels/backend/communication_channels/channels/page.js +3 -0
  30. package/dist/modules/communication_channels/backend/communication_channels/channels/page.js.map +2 -2
  31. package/dist/modules/configs/lib/system-status.js +9 -0
  32. package/dist/modules/configs/lib/system-status.js.map +2 -2
  33. package/dist/modules/currencies/backend/currencies/page.js +3 -1
  34. package/dist/modules/currencies/backend/currencies/page.js.map +2 -2
  35. package/dist/modules/currencies/backend/exchange-rates/page.js +3 -1
  36. package/dist/modules/currencies/backend/exchange-rates/page.js.map +2 -2
  37. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js +3 -1
  38. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js.map +2 -2
  39. package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js +3 -1
  40. package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js.map +2 -2
  41. package/dist/modules/customers/ai-tools/companies-pack.js +4 -1
  42. package/dist/modules/customers/ai-tools/companies-pack.js.map +2 -2
  43. package/dist/modules/customers/ai-tools/deals-pack.js +4 -1
  44. package/dist/modules/customers/ai-tools/deals-pack.js.map +2 -2
  45. package/dist/modules/customers/ai-tools/people-pack.js +4 -1
  46. package/dist/modules/customers/ai-tools/people-pack.js.map +2 -2
  47. package/dist/modules/customers/api/deals/map/route.js +2 -1
  48. package/dist/modules/customers/api/deals/map/route.js.map +2 -2
  49. package/dist/modules/customers/backend/customers/companies/page.js +3 -1
  50. package/dist/modules/customers/backend/customers/companies/page.js.map +2 -2
  51. package/dist/modules/customers/backend/customers/deals/page.js +5 -2
  52. package/dist/modules/customers/backend/customers/deals/page.js.map +2 -2
  53. package/dist/modules/customers/backend/customers/people/page.js +3 -1
  54. package/dist/modules/customers/backend/customers/people/page.js.map +2 -2
  55. package/dist/modules/customers/components/CustomerTodosTable.js +1 -0
  56. package/dist/modules/customers/components/CustomerTodosTable.js.map +2 -2
  57. package/dist/modules/data_sync/backend/data-sync/page.js +3 -1
  58. package/dist/modules/data_sync/backend/data-sync/page.js.map +2 -2
  59. package/dist/modules/devices/backend/devices/page.js +3 -1
  60. package/dist/modules/devices/backend/devices/page.js.map +2 -2
  61. package/dist/modules/directory/backend/directory/organizations/page.js +2 -1
  62. package/dist/modules/directory/backend/directory/organizations/page.js.map +2 -2
  63. package/dist/modules/directory/backend/directory/tenants/page.js +2 -1
  64. package/dist/modules/directory/backend/directory/tenants/page.js.map +2 -2
  65. package/dist/modules/entities/api/records.js +4 -2
  66. package/dist/modules/entities/api/records.js.map +2 -2
  67. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js +3 -1
  68. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js.map +2 -2
  69. package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js +3 -0
  70. package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js.map +2 -2
  71. package/dist/modules/eudr/backend/eudr/plots/page.js +3 -0
  72. package/dist/modules/eudr/backend/eudr/plots/page.js.map +2 -2
  73. package/dist/modules/eudr/backend/eudr/product-mappings/page.js +3 -0
  74. package/dist/modules/eudr/backend/eudr/product-mappings/page.js.map +2 -2
  75. package/dist/modules/eudr/backend/eudr/risk-assessments/page.js +3 -0
  76. package/dist/modules/eudr/backend/eudr/risk-assessments/page.js.map +2 -2
  77. package/dist/modules/eudr/backend/eudr/statements/page.js +3 -0
  78. package/dist/modules/eudr/backend/eudr/statements/page.js.map +2 -2
  79. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js +1 -0
  80. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js.map +2 -2
  81. package/dist/modules/feature_toggles/components/OverridesTable.js +1 -0
  82. package/dist/modules/feature_toggles/components/OverridesTable.js.map +2 -2
  83. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js +3 -0
  84. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js.map +2 -2
  85. package/dist/modules/inbox_ops/backend/inbox-ops/page.js +3 -0
  86. package/dist/modules/inbox_ops/backend/inbox-ops/page.js.map +2 -2
  87. package/dist/modules/messages/components/MessagesInboxPageClient.js +4 -1
  88. package/dist/modules/messages/components/MessagesInboxPageClient.js.map +2 -2
  89. package/dist/modules/payment_gateways/backend/payment-gateways/page.js +3 -1
  90. package/dist/modules/payment_gateways/backend/payment-gateways/page.js.map +2 -2
  91. package/dist/modules/planner/backend/planner/availability-rulesets/page.js +3 -0
  92. package/dist/modules/planner/backend/planner/availability-rulesets/page.js.map +2 -2
  93. package/dist/modules/push_notifications/backend/push_notifications/page.js +3 -1
  94. package/dist/modules/push_notifications/backend/push_notifications/page.js.map +2 -2
  95. package/dist/modules/query_index/lib/engine.js +108 -48
  96. package/dist/modules/query_index/lib/engine.js.map +2 -2
  97. package/dist/modules/resources/backend/resources/resource-types/page.js +3 -1
  98. package/dist/modules/resources/backend/resources/resource-types/page.js.map +2 -2
  99. package/dist/modules/resources/backend/resources/resources/page.js +3 -1
  100. package/dist/modules/resources/backend/resources/resources/page.js.map +2 -2
  101. package/dist/modules/sales/backend/sales/channels/offers/page.js +3 -0
  102. package/dist/modules/sales/backend/sales/channels/offers/page.js.map +2 -2
  103. package/dist/modules/sales/backend/sales/channels/page.js +3 -0
  104. package/dist/modules/sales/backend/sales/channels/page.js.map +2 -2
  105. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js +3 -0
  106. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js.map +2 -2
  107. package/dist/modules/sales/components/documents/SalesDocumentsTable.js +4 -0
  108. package/dist/modules/sales/components/documents/SalesDocumentsTable.js.map +2 -2
  109. package/dist/modules/staff/backend/staff/leave-requests/page.js +3 -0
  110. package/dist/modules/staff/backend/staff/leave-requests/page.js.map +2 -2
  111. package/dist/modules/staff/backend/staff/my-leave-requests/page.js +3 -0
  112. package/dist/modules/staff/backend/staff/my-leave-requests/page.js.map +2 -2
  113. package/dist/modules/staff/backend/staff/team-members/page.js +3 -0
  114. package/dist/modules/staff/backend/staff/team-members/page.js.map +2 -2
  115. package/dist/modules/staff/backend/staff/team-roles/page.js +3 -0
  116. package/dist/modules/staff/backend/staff/team-roles/page.js.map +2 -2
  117. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js +3 -0
  118. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js.map +2 -2
  119. package/dist/modules/staff/backend/staff/teams/page.js +3 -0
  120. package/dist/modules/staff/backend/staff/teams/page.js.map +2 -2
  121. package/dist/modules/staff/backend/staff/timesheets/projects/page.js +3 -0
  122. package/dist/modules/staff/backend/staff/timesheets/projects/page.js.map +2 -2
  123. package/dist/modules/warranty_claims/backend/page.js +3 -0
  124. package/dist/modules/warranty_claims/backend/page.js.map +2 -2
  125. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js +3 -0
  126. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js.map +2 -2
  127. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js +3 -0
  128. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js.map +2 -2
  129. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js +3 -0
  130. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js.map +2 -2
  131. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js +3 -0
  132. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js.map +2 -2
  133. package/dist/modules/wms/commands/inventory-actions.js +3 -0
  134. package/dist/modules/wms/commands/inventory-actions.js.map +2 -2
  135. package/dist/modules/wms/components/backend/WmsConfigurationPage.js +4 -0
  136. package/dist/modules/wms/components/backend/WmsConfigurationPage.js.map +2 -2
  137. package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js +1 -0
  138. package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js.map +2 -2
  139. package/dist/modules/wms/components/backend/WmsLotsListPage.js +1 -0
  140. package/dist/modules/wms/components/backend/WmsLotsListPage.js.map +2 -2
  141. package/dist/modules/wms/components/backend/inventoryMutationLoaders.js +27 -20
  142. package/dist/modules/wms/components/backend/inventoryMutationLoaders.js.map +2 -2
  143. package/dist/modules/workflows/backend/definitions/page.js +3 -1
  144. package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
  145. package/dist/modules/workflows/backend/events/page.js +3 -1
  146. package/dist/modules/workflows/backend/events/page.js.map +2 -2
  147. package/dist/modules/workflows/backend/instances/page.js +3 -1
  148. package/dist/modules/workflows/backend/instances/page.js.map +2 -2
  149. package/dist/modules/workflows/backend/tasks/page.js +3 -1
  150. package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
  151. package/package.json +7 -7
  152. package/src/modules/api_keys/backend/api-keys/page.tsx +4 -1
  153. package/src/modules/attachments/components/AttachmentLibrary.tsx +3 -0
  154. package/src/modules/audit_logs/backend/audit-logs/page.tsx +8 -0
  155. package/src/modules/auth/backend/roles/page.tsx +4 -2
  156. package/src/modules/auth/backend/users/page.tsx +3 -2
  157. package/src/modules/business_rules/backend/logs/page.tsx +4 -1
  158. package/src/modules/business_rules/backend/rules/page.tsx +4 -1
  159. package/src/modules/business_rules/backend/sets/page.tsx +4 -1
  160. package/src/modules/catalog/ai-agents.ts +1 -1
  161. package/src/modules/catalog/ai-tools/merchandising-pack.ts +2 -2
  162. package/src/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.tsx +12 -5
  163. package/src/modules/catalog/components/categories/CategoriesDataTable.tsx +3 -0
  164. package/src/modules/catalog/components/products/ProductsDataTable.tsx +7 -0
  165. package/src/modules/catalog/i18n/de.json +1 -0
  166. package/src/modules/catalog/i18n/en.json +1 -0
  167. package/src/modules/catalog/i18n/es.json +1 -0
  168. package/src/modules/catalog/i18n/ko.json +1 -0
  169. package/src/modules/catalog/i18n/pl.json +1 -0
  170. package/src/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.tsx +4 -0
  171. package/src/modules/communication_channels/backend/communication_channels/channels/page.tsx +4 -0
  172. package/src/modules/configs/i18n/de.json +2 -0
  173. package/src/modules/configs/i18n/en.json +2 -0
  174. package/src/modules/configs/i18n/es.json +2 -0
  175. package/src/modules/configs/i18n/ko.json +2 -0
  176. package/src/modules/configs/i18n/pl.json +2 -0
  177. package/src/modules/configs/lib/system-status.ts +9 -0
  178. package/src/modules/currencies/backend/currencies/page.tsx +4 -1
  179. package/src/modules/currencies/backend/exchange-rates/page.tsx +4 -1
  180. package/src/modules/customer_accounts/backend/customer_accounts/roles/page.tsx +4 -1
  181. package/src/modules/customer_accounts/backend/customer_accounts/users/page.tsx +4 -1
  182. package/src/modules/customers/ai-tools/companies-pack.ts +4 -1
  183. package/src/modules/customers/ai-tools/deals-pack.ts +4 -1
  184. package/src/modules/customers/ai-tools/people-pack.ts +4 -1
  185. package/src/modules/customers/api/deals/map/route.ts +1 -0
  186. package/src/modules/customers/backend/customers/companies/page.tsx +4 -1
  187. package/src/modules/customers/backend/customers/deals/page.tsx +8 -2
  188. package/src/modules/customers/backend/customers/people/page.tsx +4 -1
  189. package/src/modules/customers/components/CustomerTodosTable.tsx +2 -0
  190. package/src/modules/data_sync/backend/data-sync/page.tsx +4 -1
  191. package/src/modules/devices/backend/devices/page.tsx +4 -1
  192. package/src/modules/directory/backend/directory/organizations/page.tsx +3 -1
  193. package/src/modules/directory/backend/directory/tenants/page.tsx +3 -1
  194. package/src/modules/entities/api/records.ts +2 -0
  195. package/src/modules/entities/backend/entities/user/[entityId]/records/page.tsx +4 -1
  196. package/src/modules/eudr/backend/eudr/evidence-submissions/page.tsx +4 -0
  197. package/src/modules/eudr/backend/eudr/plots/page.tsx +4 -0
  198. package/src/modules/eudr/backend/eudr/product-mappings/page.tsx +4 -0
  199. package/src/modules/eudr/backend/eudr/risk-assessments/page.tsx +4 -0
  200. package/src/modules/eudr/backend/eudr/statements/page.tsx +4 -0
  201. package/src/modules/feature_toggles/components/FeatureTogglesTable.tsx +2 -1
  202. package/src/modules/feature_toggles/components/OverridesTable.tsx +2 -1
  203. package/src/modules/inbox_ops/backend/inbox-ops/log/page.tsx +4 -0
  204. package/src/modules/inbox_ops/backend/inbox-ops/page.tsx +4 -0
  205. package/src/modules/messages/components/MessagesInboxPageClient.tsx +4 -0
  206. package/src/modules/payment_gateways/backend/payment-gateways/page.tsx +4 -1
  207. package/src/modules/planner/backend/planner/availability-rulesets/page.tsx +4 -0
  208. package/src/modules/push_notifications/backend/push_notifications/page.tsx +4 -1
  209. package/src/modules/query_index/lib/engine.ts +156 -53
  210. package/src/modules/resources/backend/resources/resource-types/page.tsx +4 -1
  211. package/src/modules/resources/backend/resources/resources/page.tsx +4 -1
  212. package/src/modules/sales/backend/sales/channels/offers/page.tsx +4 -0
  213. package/src/modules/sales/backend/sales/channels/page.tsx +4 -0
  214. package/src/modules/sales/components/channels/SalesChannelOffersPanel.tsx +4 -0
  215. package/src/modules/sales/components/documents/SalesDocumentsTable.tsx +5 -0
  216. package/src/modules/staff/backend/staff/leave-requests/page.tsx +4 -0
  217. package/src/modules/staff/backend/staff/my-leave-requests/page.tsx +4 -0
  218. package/src/modules/staff/backend/staff/team-members/page.tsx +6 -0
  219. package/src/modules/staff/backend/staff/team-roles/page.tsx +4 -0
  220. package/src/modules/staff/backend/staff/teams/[id]/edit/page.tsx +4 -0
  221. package/src/modules/staff/backend/staff/teams/page.tsx +4 -0
  222. package/src/modules/staff/backend/staff/timesheets/projects/page.tsx +4 -0
  223. package/src/modules/warranty_claims/backend/page.tsx +4 -0
  224. package/src/modules/warranty_claims/backend/warranty_claims/registrations/page.tsx +4 -0
  225. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.tsx +4 -0
  226. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.tsx +4 -0
  227. package/src/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.tsx +4 -0
  228. package/src/modules/wms/commands/inventory-actions.ts +3 -0
  229. package/src/modules/wms/components/backend/WmsConfigurationPage.tsx +5 -0
  230. package/src/modules/wms/components/backend/WmsInventoryConsolePage.tsx +2 -0
  231. package/src/modules/wms/components/backend/WmsLotsListPage.tsx +2 -0
  232. package/src/modules/wms/components/backend/inventoryMutationLoaders.ts +36 -20
  233. package/src/modules/workflows/backend/definitions/page.tsx +4 -1
  234. package/src/modules/workflows/backend/events/page.tsx +4 -1
  235. package/src/modules/workflows/backend/instances/page.tsx +4 -1
  236. package/src/modules/workflows/backend/tasks/page.tsx +4 -1
@@ -46,6 +46,7 @@ type OrganizationsResponse = {
46
46
  page: number
47
47
  pageSize: number
48
48
  totalPages: number
49
+ totalIsCapped?: boolean
49
50
  isSuperAdmin?: boolean
50
51
  }
51
52
 
@@ -179,6 +180,7 @@ export default function DirectoryOrganizationsPage() {
179
180
  }, [isSuperAdmin, t])
180
181
  const total = data?.total ?? 0
181
182
  const totalPages = data?.totalPages ?? 0
183
+ const totalIsCapped = data?.totalIsCapped === true
182
184
 
183
185
  const deleteMutationContextId = 'directory-organizations-list:single-delete'
184
186
  const { runMutation: runDeleteMutation, retryLastMutation: retryDeleteMutation } = useGuardedMutation<{
@@ -290,7 +292,7 @@ export default function DirectoryOrganizationsPage() {
290
292
  createLabel={t('directory.organizations.list.actions.create', 'Create')}
291
293
  />
292
294
  )}
293
- pagination={{ page, pageSize: 50, total, totalPages, onPageChange: setPage }}
295
+ pagination={{ page, pageSize: 50, total, totalPages, totalIsCapped, onPageChange: setPage }}
294
296
  isLoading={isLoading}
295
297
  />
296
298
  </PageBody>
@@ -35,6 +35,7 @@ type TenantsResponse = {
35
35
  page: number
36
36
  pageSize: number
37
37
  totalPages: number
38
+ totalIsCapped?: boolean
38
39
  }
39
40
 
40
41
 
@@ -119,6 +120,7 @@ export default function DirectoryTenantsPage() {
119
120
  const rows = data?.items ?? []
120
121
  const total = data?.total ?? 0
121
122
  const totalPages = data?.totalPages ?? 0
123
+ const totalIsCapped = data?.totalIsCapped === true
122
124
 
123
125
  const deleteMutationContextId = 'directory-tenants-list:single-delete'
124
126
  const { runMutation: runDeleteMutation, retryLastMutation: retryDeleteMutation } = useGuardedMutation<{
@@ -213,7 +215,7 @@ export default function DirectoryTenantsPage() {
213
215
  createLabel={t('directory.tenants.list.actions.create', 'Create')}
214
216
  />
215
217
  )}
216
- pagination={{ page, pageSize: 20, total, totalPages, onPageChange: setPage }}
218
+ pagination={{ page, pageSize: 20, total, totalPages, totalIsCapped, onPageChange: setPage }}
217
219
  isLoading={isLoading}
218
220
  />
219
221
  </PageBody>
@@ -148,6 +148,7 @@ const listRecordsResponseSchema = z.object({
148
148
  page: z.number(),
149
149
  pageSize: z.number(),
150
150
  totalPages: z.number(),
151
+ totalIsCapped: z.boolean().optional(),
151
152
  })
152
153
 
153
154
  export async function GET(req: Request) {
@@ -328,6 +329,7 @@ export async function GET(req: Request) {
328
329
  page: res.page || page,
329
330
  pageSize: effectivePageSize,
330
331
  totalPages: Math.ceil(total / (effectivePageSize || 1)),
332
+ ...(res.meta?.listCountCapWarning ? { totalIsCapped: true } : {}),
331
333
  }
332
334
 
333
335
  if (requestedExport) {
@@ -36,6 +36,7 @@ type RecordsResponse = {
36
36
  page: number
37
37
  pageSize: number
38
38
  totalPages: number
39
+ totalIsCapped?: boolean
39
40
  }
40
41
 
41
42
  function toCsvUrl(base: string, params: URLSearchParams) {
@@ -87,6 +88,7 @@ function RecordsPageInner({ params }: { params: { entityId?: string } }) {
87
88
  const [rawData, setRawData] = React.useState<any[]>([])
88
89
  const [total, setTotal] = React.useState(0)
89
90
  const [totalPages, setTotalPages] = React.useState(1)
91
+ const [totalIsCapped, setTotalIsCapped] = React.useState(false)
90
92
  const [loading, setLoading] = React.useState(false)
91
93
  const scopeVersion = useOrganizationScopeVersion()
92
94
  const { confirm, ConfirmDialogElement } = useConfirmDialog()
@@ -170,6 +172,7 @@ function RecordsPageInner({ params }: { params: { entityId?: string } }) {
170
172
  setRawData(j.items || [])
171
173
  setTotal(j.total)
172
174
  setTotalPages(j.totalPages)
175
+ setTotalIsCapped(j?.totalIsCapped === true)
173
176
  }
174
177
  } catch (e) {
175
178
  if (!cancelled) {
@@ -467,7 +470,7 @@ export RECORD_ID="<record uuid>"`}</code></pre>
467
470
  onSearchChange={(v) => { setSearch(v); setPage(1) }}
468
471
  onFiltersApply={(vals) => { setFilterValues(vals); setPage(1) }}
469
472
  onFiltersClear={() => { setFilterValues({}); setPage(1) }}
470
- pagination={{ page, pageSize, total, totalPages, onPageChange: setPage }}
473
+ pagination={{ page, pageSize, total, totalPages, totalIsCapped, onPageChange: setPage }}
471
474
  isLoading={loading}
472
475
  />
473
476
  </RelationDisplaysProvider>
@@ -54,6 +54,7 @@ type EvidenceSubmissionsResponse = {
54
54
  items: EvidenceSubmissionRow[]
55
55
  total: number
56
56
  totalPages: number
57
+ totalIsCapped?: boolean
57
58
  }
58
59
 
59
60
  function formatDateTime(value: string | null | undefined, emptyLabel: string, locale: string): string {
@@ -92,6 +93,7 @@ export default function EudrEvidenceSubmissionsPage() {
92
93
  const [pageSize, setPageSize] = React.useState(20)
93
94
  const [total, setTotal] = React.useState(0)
94
95
  const [totalPages, setTotalPages] = React.useState(1)
96
+ const [totalIsCapped, setTotalIsCapped] = React.useState(false)
95
97
  const [search, setSearch] = React.useState('')
96
98
  const [sorting, setSorting] = React.useState<SortingState>([])
97
99
  const [filters, setFilters] = React.useState<FilterValues>({})
@@ -147,6 +149,7 @@ export default function EudrEvidenceSubmissionsPage() {
147
149
  setRows(Array.isArray(payload.items) ? payload.items : [])
148
150
  setTotal(typeof payload.total === 'number' ? payload.total : 0)
149
151
  setTotalPages(typeof payload.totalPages === 'number' ? payload.totalPages : 1)
152
+ setTotalIsCapped(payload?.totalIsCapped === true)
150
153
  } catch {
151
154
  if (!cancelled) flash(translate('eudr.evidenceSubmissions.list.loadError'), 'error')
152
155
  } finally {
@@ -361,6 +364,7 @@ export default function EudrEvidenceSubmissionsPage() {
361
364
  pageSize,
362
365
  total,
363
366
  totalPages,
367
+ totalIsCapped,
364
368
  onPageChange: setPage,
365
369
  pageSizeOptions: [20, 50, 100],
366
370
  onPageSizeChange: (nextPageSize) => {
@@ -44,6 +44,7 @@ type PlotListResponse = {
44
44
  items: PlotRow[]
45
45
  total: number
46
46
  totalPages: number
47
+ totalIsCapped?: boolean
47
48
  }
48
49
 
49
50
  type CompanyOptionResponse = {
@@ -102,6 +103,7 @@ export default function EudrPlotsPage() {
102
103
  const [pageSize, setPageSize] = React.useState(20)
103
104
  const [total, setTotal] = React.useState(0)
104
105
  const [totalPages, setTotalPages] = React.useState(1)
106
+ const [totalIsCapped, setTotalIsCapped] = React.useState(false)
105
107
  const [search, setSearch] = React.useState('')
106
108
  const [sorting, setSorting] = React.useState<SortingState>([])
107
109
  const [filters, setFilters] = React.useState<FilterValues>({})
@@ -164,6 +166,7 @@ export default function EudrPlotsPage() {
164
166
  setRows(Array.isArray(payload.items) ? payload.items : [])
165
167
  setTotal(typeof payload.total === 'number' ? payload.total : 0)
166
168
  setTotalPages(typeof payload.totalPages === 'number' ? payload.totalPages : 1)
169
+ setTotalIsCapped(payload?.totalIsCapped === true)
167
170
  } catch {
168
171
  if (!cancelled) flash(translate('eudr.plots.list.loadError'), 'error')
169
172
  } finally {
@@ -419,6 +422,7 @@ export default function EudrPlotsPage() {
419
422
  pageSize,
420
423
  total,
421
424
  totalPages,
425
+ totalIsCapped,
422
426
  onPageChange: setPage,
423
427
  pageSizeOptions: [20, 50, 100],
424
428
  onPageSizeChange: (nextPageSize) => {
@@ -40,6 +40,7 @@ type ProductMappingsResponse = {
40
40
  items: ProductMappingRow[]
41
41
  total: number
42
42
  totalPages: number
43
+ totalIsCapped?: boolean
43
44
  }
44
45
 
45
46
  function formatDateTime(value: string | null | undefined, emptyLabel: string, locale: string): string {
@@ -71,6 +72,7 @@ export default function EudrProductMappingsPage() {
71
72
  const [pageSize, setPageSize] = React.useState(20)
72
73
  const [total, setTotal] = React.useState(0)
73
74
  const [totalPages, setTotalPages] = React.useState(1)
75
+ const [totalIsCapped, setTotalIsCapped] = React.useState(false)
74
76
  const [search, setSearch] = React.useState('')
75
77
  const [sorting, setSorting] = React.useState<SortingState>([])
76
78
  const [filters, setFilters] = React.useState<FilterValues>({})
@@ -127,6 +129,7 @@ export default function EudrProductMappingsPage() {
127
129
  setRows(Array.isArray(payload.items) ? payload.items : [])
128
130
  setTotal(typeof payload.total === 'number' ? payload.total : 0)
129
131
  setTotalPages(typeof payload.totalPages === 'number' ? payload.totalPages : 1)
132
+ setTotalIsCapped(payload?.totalIsCapped === true)
130
133
  } catch {
131
134
  if (!cancelled) flash(translate('eudr.productMappings.list.loadError'), 'error')
132
135
  } finally {
@@ -321,6 +324,7 @@ export default function EudrProductMappingsPage() {
321
324
  pageSize,
322
325
  total,
323
326
  totalPages,
327
+ totalIsCapped,
324
328
  onPageChange: setPage,
325
329
  pageSizeOptions: [20, 50, 100],
326
330
  onPageSizeChange: (nextPageSize) => {
@@ -47,6 +47,7 @@ type RiskAssessmentsResponse = {
47
47
  items: RiskAssessmentRow[]
48
48
  total: number
49
49
  totalPages: number
50
+ totalIsCapped?: boolean
50
51
  }
51
52
 
52
53
  type MutationContext = {
@@ -105,6 +106,7 @@ export default function EudrRiskAssessmentsPage() {
105
106
  const [pageSize, setPageSize] = React.useState(20)
106
107
  const [total, setTotal] = React.useState(0)
107
108
  const [totalPages, setTotalPages] = React.useState(1)
109
+ const [totalIsCapped, setTotalIsCapped] = React.useState(false)
108
110
  const [sorting, setSorting] = React.useState<SortingState>([{ id: 'assessedAt', desc: true }])
109
111
  const [filters, setFilters] = React.useState<FilterValues>({})
110
112
  const [search, setSearch] = React.useState('')
@@ -158,6 +160,7 @@ export default function EudrRiskAssessmentsPage() {
158
160
  setRows(Array.isArray(payload.items) ? payload.items : [])
159
161
  setTotal(typeof payload.total === 'number' ? payload.total : 0)
160
162
  setTotalPages(typeof payload.totalPages === 'number' ? payload.totalPages : 1)
163
+ setTotalIsCapped(payload?.totalIsCapped === true)
161
164
  } catch {
162
165
  if (!cancelled) flash(translate('eudr.riskAssessments.list.loadError'), 'error')
163
166
  } finally {
@@ -365,6 +368,7 @@ export default function EudrRiskAssessmentsPage() {
365
368
  pageSize,
366
369
  total,
367
370
  totalPages,
371
+ totalIsCapped,
368
372
  onPageChange: setPage,
369
373
  pageSizeOptions: [20, 50, 100],
370
374
  onPageSizeChange: (nextPageSize) => {
@@ -52,6 +52,7 @@ type StatementsResponse = {
52
52
  items: StatementRow[]
53
53
  total: number
54
54
  totalPages: number
55
+ totalIsCapped?: boolean
55
56
  }
56
57
 
57
58
  function formatDateTime(value: string | null | undefined, emptyLabel: string, locale: string): string {
@@ -78,6 +79,7 @@ export default function EudrStatementsPage() {
78
79
  const [pageSize, setPageSize] = React.useState(20)
79
80
  const [total, setTotal] = React.useState(0)
80
81
  const [totalPages, setTotalPages] = React.useState(1)
82
+ const [totalIsCapped, setTotalIsCapped] = React.useState(false)
81
83
  const [search, setSearch] = React.useState('')
82
84
  const [sorting, setSorting] = React.useState<SortingState>([])
83
85
  const [filters, setFilters] = React.useState<FilterValues>({})
@@ -133,6 +135,7 @@ export default function EudrStatementsPage() {
133
135
  setRows(Array.isArray(payload.items) ? payload.items : [])
134
136
  setTotal(typeof payload.total === 'number' ? payload.total : 0)
135
137
  setTotalPages(typeof payload.totalPages === 'number' ? payload.totalPages : 1)
138
+ setTotalIsCapped(payload?.totalIsCapped === true)
136
139
  } catch {
137
140
  if (!cancelled) flash(translate('eudr.statements.list.loadError'), 'error')
138
141
  } finally {
@@ -354,6 +357,7 @@ export default function EudrStatementsPage() {
354
357
  pageSize,
355
358
  total,
356
359
  totalPages,
360
+ totalIsCapped,
357
361
  onPageChange: setPage,
358
362
  pageSizeOptions: [20, 50, 100],
359
363
  onPageSizeChange: (nextPageSize) => {
@@ -81,7 +81,7 @@ export function FeatureTogglesTable() {
81
81
  const { data: featureTogglesData, isLoading } = useQuery({
82
82
  queryKey: ['feature_toggles', queryParams],
83
83
  queryFn: async () => {
84
- const call = await apiCall<{ items: Row[]; total: number; totalPages: number; page: number; pageSize: number; isSuperAdmin?: boolean }>(
84
+ const call = await apiCall<{ items: Row[]; total: number; totalPages: number; totalIsCapped?: boolean; page: number; pageSize: number; isSuperAdmin?: boolean }>(
85
85
  `/api/feature_toggles/global${queryParams ? `?${queryParams}` : ''}`,
86
86
  )
87
87
  if (!call.ok) {
@@ -222,6 +222,7 @@ export function FeatureTogglesTable() {
222
222
  pageSize: featureTogglesData?.pageSize ?? 25,
223
223
  total: featureTogglesData?.total ?? 0,
224
224
  totalPages: featureTogglesData?.totalPages ?? 0,
225
+ totalIsCapped: featureTogglesData?.totalIsCapped === true,
225
226
  onPageChange: handlePageChange,
226
227
  }}
227
228
  rowActions={(row) => (
@@ -45,7 +45,7 @@ export default function OverridesTable() {
45
45
  const call = await apiCall<{
46
46
  items: OverrideListResponse[];
47
47
  total: number;
48
- totalPages: number;
48
+ totalPages: number; totalIsCapped?: boolean;
49
49
  page: number;
50
50
  pageSize: number;
51
51
  isSuperAdmin?: boolean
@@ -153,6 +153,7 @@ export default function OverridesTable() {
153
153
  pageSize: featureTogglesData?.pageSize ?? 25,
154
154
  total: featureTogglesData?.total ?? 0,
155
155
  totalPages: featureTogglesData?.totalPages ?? 0,
156
+ totalIsCapped: featureTogglesData?.totalIsCapped === true,
156
157
  onPageChange: handlePageChange,
157
158
  }}
158
159
  refreshButton={{
@@ -28,6 +28,7 @@ type EmailListResponse = {
28
28
  total?: number
29
29
  page?: number
30
30
  totalPages?: number
31
+ totalIsCapped?: boolean
31
32
  }
32
33
 
33
34
  const STATUS_COLORS: Record<string, string> = {
@@ -42,6 +43,7 @@ export default function ProcessingLogPage() {
42
43
  const t = useT()
43
44
  const [items, setItems] = React.useState<EmailRow[]>([])
44
45
  const [total, setTotal] = React.useState(0)
46
+ const [totalIsCapped, setTotalIsCapped] = React.useState(false)
45
47
  const [page, setPage] = React.useState(1)
46
48
  const [pageSize] = React.useState(25)
47
49
  const [statusFilter, setStatusFilter] = React.useState<string | undefined>()
@@ -65,6 +67,7 @@ export default function ProcessingLogPage() {
65
67
  if (result?.ok && result.result?.items) {
66
68
  setItems(result.result.items)
67
69
  setTotal(result.result.total || 0)
70
+ setTotalIsCapped(result.result.totalIsCapped === true)
68
71
  } else {
69
72
  setError(t('inbox_ops.log.load_failed', 'Failed to load processing log'))
70
73
  }
@@ -220,6 +223,7 @@ export default function ProcessingLogPage() {
220
223
  pageSize,
221
224
  total,
222
225
  totalPages: Math.ceil(total / pageSize),
226
+ totalIsCapped,
223
227
  onPageChange: setPage,
224
228
  }}
225
229
  />
@@ -41,6 +41,7 @@ type ProposalListResponse = {
41
41
  total?: number
42
42
  page?: number
43
43
  totalPages?: number
44
+ totalIsCapped?: boolean
44
45
  }
45
46
 
46
47
  type StatusCounts = {
@@ -90,6 +91,7 @@ export default function InboxOpsProposalsPage() {
90
91
 
91
92
  const [items, setItems] = React.useState<ProposalRow[]>([])
92
93
  const [total, setTotal] = React.useState(0)
94
+ const [totalIsCapped, setTotalIsCapped] = React.useState(false)
93
95
  const [page, setPage] = React.useState(1)
94
96
  const [pageSize] = React.useState(25)
95
97
  const [filterValues, setFilterValues] = React.useState<FilterValues>({})
@@ -119,6 +121,7 @@ export default function InboxOpsProposalsPage() {
119
121
  if (result?.ok && result.result?.items) {
120
122
  setItems(result.result.items)
121
123
  setTotal(result.result.total || 0)
124
+ setTotalIsCapped(result.result.totalIsCapped === true)
122
125
  } else {
123
126
  setError(t('inbox_ops.flash.load_failed', 'Failed to load proposals'))
124
127
  }
@@ -384,6 +387,7 @@ export default function InboxOpsProposalsPage() {
384
387
  pageSize,
385
388
  total,
386
389
  totalPages: Math.ceil(total / pageSize),
390
+ totalIsCapped,
387
391
  onPageChange: setPage,
388
392
  }}
389
393
  isLoading={isLoading}
@@ -62,6 +62,7 @@ type MessageListResponse = {
62
62
  page?: number
63
63
  pageSize?: number
64
64
  totalPages?: number
65
+ totalIsCapped?: boolean
65
66
  }
66
67
 
67
68
  type MessageTypeItem = {
@@ -142,6 +143,7 @@ export function MessagesInboxPageClient() {
142
143
  page: Number(call.result?.page ?? page),
143
144
  pageSize: Number(call.result?.pageSize ?? pageSize),
144
145
  totalPages: Number(call.result?.totalPages ?? 0),
146
+ totalIsCapped: call.result?.totalIsCapped === true,
145
147
  }
146
148
  },
147
149
  })
@@ -350,6 +352,7 @@ export function MessagesInboxPageClient() {
350
352
 
351
353
  const rows = listQuery.data?.items ?? []
352
354
  const total = listQuery.data?.total ?? 0
355
+ const totalIsCapped = listQuery.data?.totalIsCapped === true
353
356
  const totalPages = listQuery.data?.totalPages ?? 0
354
357
 
355
358
  return (
@@ -387,6 +390,7 @@ export function MessagesInboxPageClient() {
387
390
  pageSize,
388
391
  total,
389
392
  totalPages,
393
+ totalIsCapped,
390
394
  onPageChange: setPage,
391
395
  }}
392
396
  actions={
@@ -89,6 +89,7 @@ type TransactionsResponse = {
89
89
  page: number
90
90
  pageSize: number
91
91
  totalPages: number
92
+ totalIsCapped?: boolean
92
93
  }
93
94
 
94
95
  const STATUS_STYLES: Record<string, string> = {
@@ -183,6 +184,7 @@ export default function PaymentTransactionsPage() {
183
184
  const [page, setPage] = React.useState(1)
184
185
  const [total, setTotal] = React.useState(0)
185
186
  const [totalPages, setTotalPages] = React.useState(1)
187
+ const [totalIsCapped, setTotalIsCapped] = React.useState(false)
186
188
  const [search, setSearch] = React.useState('')
187
189
  const [filterValues, setFilterValues] = React.useState<FilterValues>({})
188
190
  const [isLoading, setIsLoading] = React.useState(true)
@@ -229,6 +231,7 @@ export default function PaymentTransactionsPage() {
229
231
  setRows(Array.isArray(call.result.items) ? call.result.items : [])
230
232
  setTotal(call.result.total ?? 0)
231
233
  setTotalPages(call.result.totalPages ?? 1)
234
+ setTotalIsCapped(call.result?.totalIsCapped === true)
232
235
  } else {
233
236
  flash(t('payment_gateways.transactions.error.load', 'Failed to load payment transactions'), 'error')
234
237
  setRows([])
@@ -474,7 +477,7 @@ export default function PaymentTransactionsPage() {
474
477
  onSearchChange={(value) => { setSearch(value); setPage(1) }}
475
478
  searchPlaceholder={t('payment_gateways.transactions.searchPlaceholder', 'Search by payment, transaction, session, or gateway id')}
476
479
  perspective={{ tableId: extensionPoints.hosts.transactionsTable.tableId }}
477
- pagination={{ page, pageSize: 20, total, totalPages, onPageChange: setPage }}
480
+ pagination={{ page, pageSize: 20, total, totalPages, totalIsCapped, onPageChange: setPage }}
478
481
  isLoading={isLoading}
479
482
  onRowClick={(row) => setSelectedId((current) => current === row.id ? null : row.id)}
480
483
  rowActions={(row) => (
@@ -39,6 +39,7 @@ type RuleSetResponse = {
39
39
  items?: Array<Record<string, unknown>>
40
40
  total?: number
41
41
  totalPages?: number
42
+ totalIsCapped?: boolean
42
43
  }
43
44
 
44
45
  export default function PlannerAvailabilityRuleSetsPage() {
@@ -67,6 +68,7 @@ export default function PlannerAvailabilityRuleSetsPage() {
67
68
  const [page, setPage] = React.useState(1)
68
69
  const [total, setTotal] = React.useState(0)
69
70
  const [totalPages, setTotalPages] = React.useState(1)
71
+ const [totalIsCapped, setTotalIsCapped] = React.useState(false)
70
72
  const [sorting, setSorting] = React.useState<SortingState>([{ id: 'name', desc: false }])
71
73
  const [search, setSearch] = React.useState('')
72
74
  const [isLoading, setIsLoading] = React.useState(true)
@@ -120,6 +122,7 @@ export default function PlannerAvailabilityRuleSetsPage() {
120
122
  setRows(items.map(mapRuleSet))
121
123
  setTotal(typeof payload.total === 'number' ? payload.total : items.length)
122
124
  setTotalPages(typeof payload.totalPages === 'number' ? payload.totalPages : Math.max(1, Math.ceil(items.length / PAGE_SIZE)))
125
+ setTotalIsCapped(payload?.totalIsCapped === true)
123
126
  } catch (error) {
124
127
  logger.error('Failed to list availability rule sets', { err: error })
125
128
  flash(labels.errors.load, 'error')
@@ -229,6 +232,7 @@ export default function PlannerAvailabilityRuleSetsPage() {
229
232
  pageSize: PAGE_SIZE,
230
233
  total,
231
234
  totalPages,
235
+ totalIsCapped,
232
236
  onPageChange: setPage,
233
237
  }}
234
238
  rowActions={(row) => (
@@ -32,6 +32,7 @@ type ResponsePayload = {
32
32
  page?: number
33
33
  pageSize?: number
34
34
  totalPages: number
35
+ totalIsCapped?: boolean
35
36
  }
36
37
 
37
38
  const statusVariant: StatusMap<PushDeliveryStatus> = {
@@ -59,6 +60,7 @@ export default function PushDeliveriesListPage() {
59
60
  const [page, setPage] = React.useState(1)
60
61
  const [total, setTotal] = React.useState(0)
61
62
  const [totalPages, setTotalPages] = React.useState(1)
63
+ const [totalIsCapped, setTotalIsCapped] = React.useState(false)
62
64
  const [isLoading, setIsLoading] = React.useState(true)
63
65
  const scopeVersion = useOrganizationScopeVersion()
64
66
  const t = useT()
@@ -156,6 +158,7 @@ export default function PushDeliveriesListPage() {
156
158
  setRows(Array.isArray(payload.items) ? payload.items : [])
157
159
  setTotal(payload.total || 0)
158
160
  setTotalPages(payload.totalPages || 1)
161
+ setTotalIsCapped(payload?.totalIsCapped === true)
159
162
  }
160
163
  } catch (error) {
161
164
  if (!cancelled) {
@@ -229,7 +232,7 @@ export default function PushDeliveriesListPage() {
229
232
  onFiltersClear={() => { setFilterValues({}); setPage(1) }}
230
233
  perspective={{ tableId: 'push_notifications.deliveries' }}
231
234
  onRowClick={(row) => { window.location.href = `/backend/push_notifications/${row.id}` }}
232
- pagination={{ page, pageSize: 50, total, totalPages, onPageChange: setPage }}
235
+ pagination={{ page, pageSize: 50, total, totalPages, totalIsCapped, onPageChange: setPage }}
233
236
  isLoading={isLoading}
234
237
  emptyState={t('push_notifications.deliveries.empty')}
235
238
  />