@plumile/backoffice-react 0.1.104 → 0.1.106

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 (757) hide show
  1. package/lib/esm/_virtual/_rolldown/runtime.js +7 -0
  2. package/lib/esm/auth/AuthRefreshNotice.js +38 -0
  3. package/lib/esm/auth/AuthRefreshNotice.js.map +1 -0
  4. package/lib/esm/auth/TotpQrCode.js +28 -0
  5. package/lib/esm/auth/TotpQrCode.js.map +1 -0
  6. package/lib/esm/auth/authRefreshNotice.css.js +7 -0
  7. package/lib/esm/auth/authRefreshNotice.css.js.map +1 -0
  8. package/lib/esm/{AuthPanel-BaIRFGbX.js → auth/login/AuthPanel.js} +7 -7
  9. package/lib/esm/auth/login/AuthPanel.js.map +1 -0
  10. package/lib/esm/auth/login/EmailCapturePanel.js +50 -0
  11. package/lib/esm/auth/login/EmailCapturePanel.js.map +1 -0
  12. package/lib/esm/auth/login/LoginFlow.js +130 -0
  13. package/lib/esm/auth/login/LoginFlow.js.map +1 -0
  14. package/lib/esm/auth/login/MethodChooser.js +49 -0
  15. package/lib/esm/auth/login/MethodChooser.js.map +1 -0
  16. package/lib/esm/auth/login/MfaChallengeForm.js +80 -0
  17. package/lib/esm/auth/login/MfaChallengeForm.js.map +1 -0
  18. package/lib/esm/auth/login/OidcButtons.js +29 -0
  19. package/lib/esm/auth/login/OidcButtons.js.map +1 -0
  20. package/lib/esm/auth/login/PasskeyLoginForm.js +81 -0
  21. package/lib/esm/auth/login/PasskeyLoginForm.js.map +1 -0
  22. package/lib/esm/auth/login/PasswordLoginPanel.js +37 -0
  23. package/lib/esm/auth/login/PasswordLoginPanel.js.map +1 -0
  24. package/lib/esm/auth/login/loginPage.css.js +7 -0
  25. package/lib/esm/auth/login/loginPage.css.js.map +1 -0
  26. package/lib/esm/auth/login/synchronizeAuthStatusQuery.js +10 -0
  27. package/lib/esm/auth/login/synchronizeAuthStatusQuery.js.map +1 -0
  28. package/lib/esm/{AcceptInvitationScreen-B1IPafwD.js → auth/pages/AcceptInvitationScreen.js} +13 -13
  29. package/lib/esm/auth/pages/AcceptInvitationScreen.js.map +1 -0
  30. package/lib/esm/{PasswordResetCompleteScreen-Cgg96DPo.js → auth/pages/PasswordResetCompleteScreen.js} +10 -10
  31. package/lib/esm/auth/pages/PasswordResetCompleteScreen.js.map +1 -0
  32. package/lib/esm/{PasswordResetRequestScreen-I1nFvGLd.js → auth/pages/PasswordResetRequestScreen.js} +10 -10
  33. package/lib/esm/auth/pages/PasswordResetRequestScreen.js.map +1 -0
  34. package/lib/esm/{VerifyEmailScreen-Br5KyHjg.js → auth/pages/VerifyEmailScreen.js} +7 -7
  35. package/lib/esm/auth/pages/VerifyEmailScreen.js.map +1 -0
  36. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js +591 -0
  37. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js.map +1 -0
  38. package/lib/esm/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js +26 -0
  39. package/lib/esm/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js.map +1 -0
  40. package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js +7 -0
  41. package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js.map +1 -0
  42. package/lib/esm/{toastViewAction-DJkv_4p9.js → components/backoffice/actions/toastViewAction.js} +2 -2
  43. package/lib/esm/{toastViewAction-DJkv_4p9.js.map → components/backoffice/actions/toastViewAction.js.map} +1 -1
  44. package/lib/esm/{buildDataTableColumns-DGPjPK4N.js → components/backoffice/columns/buildDataTableColumns.js} +18 -18
  45. package/lib/esm/{buildDataTableColumns-DGPjPK4N.js.map → components/backoffice/columns/buildDataTableColumns.js.map} +1 -1
  46. package/lib/esm/components/backoffice/detail/BackofficeAuditMetadataPanel.js +31 -0
  47. package/lib/esm/components/backoffice/detail/BackofficeAuditMetadataPanel.js.map +1 -0
  48. package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js +22 -0
  49. package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js.map +1 -0
  50. package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js +40 -0
  51. package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js.map +1 -0
  52. package/lib/esm/components/backoffice/detail/BackofficeDetailField.js +30 -0
  53. package/lib/esm/components/backoffice/detail/BackofficeDetailField.js.map +1 -0
  54. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.css.js +7 -0
  55. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.css.js.map +1 -0
  56. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.js +24 -0
  57. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.js.map +1 -0
  58. package/lib/esm/components/backoffice/detail/BackofficeDetailLayout.js +20 -0
  59. package/lib/esm/components/backoffice/detail/BackofficeDetailLayout.js.map +1 -0
  60. package/lib/esm/components/backoffice/detail/BackofficeDetailPayload.js +18 -0
  61. package/lib/esm/components/backoffice/detail/BackofficeDetailPayload.js.map +1 -0
  62. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationLink.js +56 -0
  63. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationLink.js.map +1 -0
  64. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationList.js +11 -0
  65. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationList.js.map +1 -0
  66. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationListBlock.js +123 -0
  67. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationListBlock.js.map +1 -0
  68. package/lib/esm/components/backoffice/detail/BackofficeDetailSection.js +36 -0
  69. package/lib/esm/components/backoffice/detail/BackofficeDetailSection.js.map +1 -0
  70. package/lib/esm/components/backoffice/detail/BackofficeDetailTaggedValue.js +18 -0
  71. package/lib/esm/components/backoffice/detail/BackofficeDetailTaggedValue.js.map +1 -0
  72. package/lib/esm/components/backoffice/detail/BackofficeEntityRefLink.js +17 -0
  73. package/lib/esm/components/backoffice/detail/BackofficeEntityRefLink.js.map +1 -0
  74. package/lib/esm/components/backoffice/detail/BackofficeEntitySummaryHeader.js +72 -0
  75. package/lib/esm/components/backoffice/detail/BackofficeEntitySummaryHeader.js.map +1 -0
  76. package/lib/esm/components/backoffice/detail/BackofficeEnumLabel.js +11 -0
  77. package/lib/esm/components/backoffice/detail/BackofficeEnumLabel.js.map +1 -0
  78. package/lib/esm/components/backoffice/detail/BackofficeKpiStrip.js +35 -0
  79. package/lib/esm/components/backoffice/detail/BackofficeKpiStrip.js.map +1 -0
  80. package/lib/esm/components/backoffice/detail/BackofficeLifecycleTimelineSection.js +37 -0
  81. package/lib/esm/components/backoffice/detail/BackofficeLifecycleTimelineSection.js.map +1 -0
  82. package/lib/esm/components/backoffice/detail/BackofficePayloadInspectorSection.js +36 -0
  83. package/lib/esm/components/backoffice/detail/BackofficePayloadInspectorSection.js.map +1 -0
  84. package/lib/esm/components/backoffice/detail/BackofficeReferenceValue.js +22 -0
  85. package/lib/esm/components/backoffice/detail/BackofficeReferenceValue.js.map +1 -0
  86. package/lib/esm/components/backoffice/detail/BackofficeRelationsSummaryGrid.js +43 -0
  87. package/lib/esm/components/backoffice/detail/BackofficeRelationsSummaryGrid.js.map +1 -0
  88. package/lib/esm/components/backoffice/detail/BackofficeScopeStack.js +28 -0
  89. package/lib/esm/components/backoffice/detail/BackofficeScopeStack.js.map +1 -0
  90. package/lib/esm/components/backoffice/detail/BackofficeStatusMetaBadge.js +27 -0
  91. package/lib/esm/components/backoffice/detail/BackofficeStatusMetaBadge.js.map +1 -0
  92. package/lib/esm/components/backoffice/detail/BackofficeTokenUsageBreakdown.js +37 -0
  93. package/lib/esm/components/backoffice/detail/BackofficeTokenUsageBreakdown.js.map +1 -0
  94. package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js +84 -0
  95. package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js.map +1 -0
  96. package/lib/esm/components/backoffice/detail/backofficeAuditMetadataPanel.css.js +7 -0
  97. package/lib/esm/components/backoffice/detail/backofficeAuditMetadataPanel.css.js.map +1 -0
  98. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js +7 -0
  99. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js.map +1 -0
  100. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js +7 -0
  101. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js.map +1 -0
  102. package/lib/esm/components/backoffice/detail/backofficeDetailField.css.js +15 -0
  103. package/lib/esm/components/backoffice/detail/backofficeDetailField.css.js.map +1 -0
  104. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js +7 -0
  105. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js.map +1 -0
  106. package/lib/esm/components/backoffice/detail/backofficeDetailRelationLink.css.js +7 -0
  107. package/lib/esm/components/backoffice/detail/backofficeDetailRelationLink.css.js.map +1 -0
  108. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js +7 -0
  109. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js.map +1 -0
  110. package/lib/esm/components/backoffice/detail/backofficeDetailSection.css.js +7 -0
  111. package/lib/esm/components/backoffice/detail/backofficeDetailSection.css.js.map +1 -0
  112. package/lib/esm/components/backoffice/detail/backofficeDetailTaggedValue.css.js +7 -0
  113. package/lib/esm/components/backoffice/detail/backofficeDetailTaggedValue.css.js.map +1 -0
  114. package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js +7 -0
  115. package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js.map +1 -0
  116. package/lib/esm/components/backoffice/detail/backofficeKpiStrip.css.js +7 -0
  117. package/lib/esm/components/backoffice/detail/backofficeKpiStrip.css.js.map +1 -0
  118. package/lib/esm/components/backoffice/detail/backofficeLifecycleTimelineSection.css.js +7 -0
  119. package/lib/esm/components/backoffice/detail/backofficeLifecycleTimelineSection.css.js.map +1 -0
  120. package/lib/esm/components/backoffice/detail/backofficePayloadInspectorSection.css.js +7 -0
  121. package/lib/esm/components/backoffice/detail/backofficePayloadInspectorSection.css.js.map +1 -0
  122. package/lib/esm/components/backoffice/detail/backofficeReferenceValue.css.js +7 -0
  123. package/lib/esm/components/backoffice/detail/backofficeReferenceValue.css.js.map +1 -0
  124. package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js +7 -0
  125. package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js.map +1 -0
  126. package/lib/esm/components/backoffice/detail/backofficeScopeStack.css.js +7 -0
  127. package/lib/esm/components/backoffice/detail/backofficeScopeStack.css.js.map +1 -0
  128. package/lib/esm/components/backoffice/detail/backofficeStatusMetaBadge.css.js +7 -0
  129. package/lib/esm/components/backoffice/detail/backofficeStatusMetaBadge.css.js.map +1 -0
  130. package/lib/esm/components/backoffice/detail/backofficeUsageCostBreakdown.css.js +7 -0
  131. package/lib/esm/components/backoffice/detail/backofficeUsageCostBreakdown.css.js.map +1 -0
  132. package/lib/esm/components/backoffice/detail/createBackofficeEntityLinkProps.js +21 -0
  133. package/lib/esm/components/backoffice/detail/createBackofficeEntityLinkProps.js.map +1 -0
  134. package/lib/esm/components/backoffice/detail/detailPayloadUtils.js +17 -0
  135. package/lib/esm/components/backoffice/detail/detailPayloadUtils.js.map +1 -0
  136. package/lib/esm/{BackofficeErrorBoundary-BwRVSDHU.js → components/backoffice/errors/BackofficeErrorBoundary.js} +2 -2
  137. package/lib/esm/{BackofficeErrorBoundary-BwRVSDHU.js.map → components/backoffice/errors/BackofficeErrorBoundary.js.map} +1 -1
  138. package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js +46 -0
  139. package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js.map +1 -0
  140. package/lib/esm/components/backoffice/filters/DeferredFilterSearchInput.js +67 -0
  141. package/lib/esm/components/backoffice/filters/DeferredFilterSearchInput.js.map +1 -0
  142. package/lib/esm/components/backoffice/filters/EntityFilterValue.js +46 -0
  143. package/lib/esm/components/backoffice/filters/EntityFilterValue.js.map +1 -0
  144. package/lib/esm/components/backoffice/filters/EntityIdFilterField.js +65 -0
  145. package/lib/esm/components/backoffice/filters/EntityIdFilterField.js.map +1 -0
  146. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js +7 -0
  147. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js.map +1 -0
  148. package/lib/esm/components/backoffice/filters/deferredFilterSearchInput.css.js +7 -0
  149. package/lib/esm/components/backoffice/filters/deferredFilterSearchInput.css.js.map +1 -0
  150. package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js +7 -0
  151. package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js.map +1 -0
  152. package/lib/esm/components/backoffice/hub/BackofficeHubTemplate.js +83 -0
  153. package/lib/esm/components/backoffice/hub/BackofficeHubTemplate.js.map +1 -0
  154. package/lib/esm/components/backoffice/hub/backofficeHubTemplate.css.js +7 -0
  155. package/lib/esm/components/backoffice/hub/backofficeHubTemplate.css.js.map +1 -0
  156. package/lib/esm/{BackofficePermissionsContext-CmWwudBU.js → components/backoffice/layout/BackofficePermissionsContext.js} +2 -2
  157. package/lib/esm/{BackofficePermissionsContext-CmWwudBU.js.map → components/backoffice/layout/BackofficePermissionsContext.js.map} +1 -1
  158. package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js +7 -0
  159. package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js.map +1 -0
  160. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js +10 -0
  161. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js.map +1 -0
  162. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js +69 -0
  163. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js.map +1 -0
  164. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.js +12 -0
  165. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.js.map +1 -0
  166. package/lib/esm/{BackofficeTopbarPortalContext-CphoSrZD.js → components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.js} +2 -2
  167. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.js.map +1 -0
  168. package/lib/esm/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.js +16 -0
  169. package/lib/esm/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.js.map +1 -0
  170. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js +7 -0
  171. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js.map +1 -0
  172. package/lib/esm/{buildBreadcrumbs-C9cyiXb7.js → components/backoffice/layout/breadcrumb/buildBreadcrumbs.js} +7 -3
  173. package/lib/esm/components/backoffice/layout/breadcrumb/buildBreadcrumbs.js.map +1 -0
  174. package/lib/esm/components/backoffice/layout/breadcrumb/types.js +0 -0
  175. package/lib/esm/components/backoffice/layout/buildSidebarSections.js +301 -0
  176. package/lib/esm/components/backoffice/layout/buildSidebarSections.js.map +1 -0
  177. package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js +18 -0
  178. package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js.map +1 -0
  179. package/lib/esm/components/backoffice/layout/sidebarUtils.js +98 -0
  180. package/lib/esm/components/backoffice/layout/sidebarUtils.js.map +1 -0
  181. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js +7 -0
  182. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js.map +1 -0
  183. package/lib/esm/components/backoffice/list/RowFlagsCell.js +37 -0
  184. package/lib/esm/components/backoffice/list/RowFlagsCell.js.map +1 -0
  185. package/lib/esm/components/backoffice/lists/BackofficeListToolbar.js +33 -0
  186. package/lib/esm/components/backoffice/lists/BackofficeListToolbar.js.map +1 -0
  187. package/lib/esm/components/backoffice/lists/backofficeListToolbar.css.js +13 -0
  188. package/lib/esm/components/backoffice/lists/backofficeListToolbar.css.js.map +1 -0
  189. package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js +31 -0
  190. package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js.map +1 -0
  191. package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js +7 -0
  192. package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js.map +1 -0
  193. package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js +117 -0
  194. package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js.map +1 -0
  195. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js +7 -0
  196. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js.map +1 -0
  197. package/lib/esm/components/backoffice/pickers/shared/EntityPickerList.js +27 -0
  198. package/lib/esm/components/backoffice/pickers/shared/EntityPickerList.js.map +1 -0
  199. package/lib/esm/components/backoffice/pickers/shared/EntityPickerRowBase.js +23 -0
  200. package/lib/esm/components/backoffice/pickers/shared/EntityPickerRowBase.js.map +1 -0
  201. package/lib/esm/components/backoffice/pickers/shared/EntityPickerShell.js +28 -0
  202. package/lib/esm/components/backoffice/pickers/shared/EntityPickerShell.js.map +1 -0
  203. package/lib/esm/components/backoffice/pickers/types.js +0 -0
  204. package/lib/esm/components/backoffice/refs/BackofficeEntityIdRef.js +35 -0
  205. package/lib/esm/components/backoffice/refs/BackofficeEntityIdRef.js.map +1 -0
  206. package/lib/esm/components/backoffice/refs/BackofficeEntityLink.js +30 -0
  207. package/lib/esm/components/backoffice/refs/BackofficeEntityLink.js.map +1 -0
  208. package/lib/esm/components/backoffice/refs/BackofficeRelatedCountLink.js +65 -0
  209. package/lib/esm/components/backoffice/refs/BackofficeRelatedCountLink.js.map +1 -0
  210. package/lib/esm/components/backoffice/refs/backofficeEntityIdRef.css.js +7 -0
  211. package/lib/esm/components/backoffice/refs/backofficeEntityIdRef.css.js.map +1 -0
  212. package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js +7 -0
  213. package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js.map +1 -0
  214. package/lib/esm/components/backoffice/routing/BackofficeContentBoundary.js +24 -0
  215. package/lib/esm/components/backoffice/routing/BackofficeContentBoundary.js.map +1 -0
  216. package/lib/esm/components/backoffice/routing/BackofficeContentError.js +27 -0
  217. package/lib/esm/components/backoffice/routing/BackofficeContentError.js.map +1 -0
  218. package/lib/esm/components/backoffice/routing/BackofficeContentFallback.js +47 -0
  219. package/lib/esm/components/backoffice/routing/BackofficeContentFallback.js.map +1 -0
  220. package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js +25 -0
  221. package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js.map +1 -0
  222. package/lib/esm/components/backoffice/routing/BackofficeRoutePendingBar.js +12 -0
  223. package/lib/esm/components/backoffice/routing/BackofficeRoutePendingBar.js.map +1 -0
  224. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js +7 -0
  225. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js.map +1 -0
  226. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js +7 -0
  227. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js.map +1 -0
  228. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js +7 -0
  229. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js.map +1 -0
  230. package/lib/esm/components/backoffice/routing/backofficeRouteFallback.css.js +7 -0
  231. package/lib/esm/components/backoffice/routing/backofficeRouteFallback.css.js.map +1 -0
  232. package/lib/esm/components/backoffice/routing/backofficeRoutePendingBar.css.js +7 -0
  233. package/lib/esm/components/backoffice/routing/backofficeRoutePendingBar.css.js.map +1 -0
  234. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.js +12 -0
  235. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.js.map +1 -0
  236. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js +506 -0
  237. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js.map +1 -0
  238. package/lib/esm/components/backoffice/scaffolds/BackofficeListFilterContext.js +40 -0
  239. package/lib/esm/components/backoffice/scaffolds/BackofficeListFilterContext.js.map +1 -0
  240. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js +24 -0
  241. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js.map +1 -0
  242. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js +7 -0
  243. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js.map +1 -0
  244. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js +7 -0
  245. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js.map +1 -0
  246. package/lib/esm/components/backoffice/shared/BackofficeFilterableCell.js +41 -0
  247. package/lib/esm/components/backoffice/shared/BackofficeFilterableCell.js.map +1 -0
  248. package/lib/esm/components/backoffice/shared/BackofficeFormattedCurrency.js +17 -0
  249. package/lib/esm/components/backoffice/shared/BackofficeFormattedCurrency.js.map +1 -0
  250. package/lib/esm/components/backoffice/shared/BackofficeFormattedNumber.js +17 -0
  251. package/lib/esm/components/backoffice/shared/BackofficeFormattedNumber.js.map +1 -0
  252. package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js +12 -0
  253. package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js.map +1 -0
  254. package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js +16 -0
  255. package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js.map +1 -0
  256. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js +7 -0
  257. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js.map +1 -0
  258. package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js +41 -0
  259. package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js.map +1 -0
  260. package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js +48 -0
  261. package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js.map +1 -0
  262. package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js +63 -0
  263. package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js.map +1 -0
  264. package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js +35 -0
  265. package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js.map +1 -0
  266. package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js +7 -0
  267. package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js.map +1 -0
  268. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +7 -0
  269. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js.map +1 -0
  270. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +7 -0
  271. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js.map +1 -0
  272. package/lib/esm/components/backoffice/tools/parseToolJson.js +13 -0
  273. package/lib/esm/components/backoffice/tools/parseToolJson.js.map +1 -0
  274. package/lib/esm/filters/filterHelpers.js +26 -0
  275. package/lib/esm/filters/filterHelpers.js.map +1 -0
  276. package/lib/esm/hooks/useAuth.js +444 -0
  277. package/lib/esm/hooks/useAuth.js.map +1 -0
  278. package/lib/esm/hooks/useBackofficeAuth.js +89 -0
  279. package/lib/esm/hooks/useBackofficeAuth.js.map +1 -0
  280. package/lib/esm/hooks/useBackofficeInfiniteScrollSentinel.js +39 -0
  281. package/lib/esm/hooks/useBackofficeInfiniteScrollSentinel.js.map +1 -0
  282. package/lib/esm/hooks/useBackofficeListRefetch.js +50 -0
  283. package/lib/esm/hooks/useBackofficeListRefetch.js.map +1 -0
  284. package/lib/esm/{useBackofficeListUrlState-D4fx5O7u.js → hooks/useBackofficeListUrlState.js} +2 -2
  285. package/lib/esm/hooks/useBackofficeListUrlState.js.map +1 -0
  286. package/lib/esm/hooks/useBackofficeLoadMore.js +18 -0
  287. package/lib/esm/hooks/useBackofficeLoadMore.js.map +1 -0
  288. package/lib/esm/hooks/useBackofficeSessionAuth.js +33 -0
  289. package/lib/esm/hooks/useBackofficeSessionAuth.js.map +1 -0
  290. package/lib/esm/hooks/useBackofficeSidebarPins.js +89 -0
  291. package/lib/esm/hooks/useBackofficeSidebarPins.js.map +1 -0
  292. package/lib/esm/hooks/useConditionalSubscription.js +63 -0
  293. package/lib/esm/hooks/useConditionalSubscription.js.map +1 -0
  294. package/lib/esm/hooks/useCopyToClipboard.js +31 -0
  295. package/lib/esm/hooks/useCopyToClipboard.js.map +1 -0
  296. package/lib/esm/hooks/useInfiniteConnection.js +95 -0
  297. package/lib/esm/hooks/useInfiniteConnection.js.map +1 -0
  298. package/lib/esm/hooks/useRefetchNeededReload.js +23 -0
  299. package/lib/esm/hooks/useRefetchNeededReload.js.map +1 -0
  300. package/lib/esm/hooks/useSidebarGroupCollapse.js +70 -0
  301. package/lib/esm/hooks/useSidebarGroupCollapse.js.map +1 -0
  302. package/lib/esm/i18n/createI18nInstance.js +68 -0
  303. package/lib/esm/i18n/createI18nInstance.js.map +1 -0
  304. package/lib/esm/i18n/locales/en/backofficeReact.js +436 -0
  305. package/lib/esm/i18n/locales/en/backofficeReact.js.map +1 -0
  306. package/lib/esm/i18n/locales/fr/backofficeReact.js +439 -0
  307. package/lib/esm/i18n/locales/fr/backofficeReact.js.map +1 -0
  308. package/lib/esm/i18n/mergeResourceLanguages.js +22 -0
  309. package/lib/esm/i18n/mergeResourceLanguages.js.map +1 -0
  310. package/lib/esm/i18n/resources.js +23 -0
  311. package/lib/esm/i18n/resources.js.map +1 -0
  312. package/lib/esm/i18n/useBackofficeFormats.js +23 -0
  313. package/lib/esm/i18n/useBackofficeFormats.js.map +1 -0
  314. package/lib/esm/i18n/useBackofficeReactTranslation.js +9 -0
  315. package/lib/esm/i18n/useBackofficeReactTranslation.js.map +1 -0
  316. package/lib/esm/i18n/useReviewStatusLabel.js +19 -0
  317. package/lib/esm/i18n/useReviewStatusLabel.js.map +1 -0
  318. package/lib/esm/index.js +73 -0
  319. package/lib/esm/modules/base64.js +21 -0
  320. package/lib/esm/modules/base64.js.map +1 -0
  321. package/lib/esm/modules/formatFileSize.js +28 -0
  322. package/lib/esm/modules/formatFileSize.js.map +1 -0
  323. package/lib/esm/modules/sharedSchemaTypes.js +0 -0
  324. package/lib/esm/modules/webauthn.js +33 -0
  325. package/lib/esm/modules/webauthn.js.map +1 -0
  326. package/lib/esm/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +15 -0
  327. package/lib/esm/node_modules/@babel/runtime/helpers/arrayLikeToArray.js.map +1 -0
  328. package/lib/esm/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +15 -0
  329. package/lib/esm/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js.map +1 -0
  330. package/lib/esm/node_modules/@babel/runtime/helpers/defineProperty.js +20 -0
  331. package/lib/esm/node_modules/@babel/runtime/helpers/defineProperty.js.map +1 -0
  332. package/lib/esm/node_modules/@babel/runtime/helpers/interopRequireDefault.js +13 -0
  333. package/lib/esm/node_modules/@babel/runtime/helpers/interopRequireDefault.js.map +1 -0
  334. package/lib/esm/node_modules/@babel/runtime/helpers/iterableToArray.js +13 -0
  335. package/lib/esm/node_modules/@babel/runtime/helpers/iterableToArray.js.map +1 -0
  336. package/lib/esm/node_modules/@babel/runtime/helpers/nonIterableSpread.js +13 -0
  337. package/lib/esm/node_modules/@babel/runtime/helpers/nonIterableSpread.js.map +1 -0
  338. package/lib/esm/node_modules/@babel/runtime/helpers/objectSpread2.js +33 -0
  339. package/lib/esm/node_modules/@babel/runtime/helpers/objectSpread2.js.map +1 -0
  340. package/lib/esm/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +19 -0
  341. package/lib/esm/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js.map +1 -0
  342. package/lib/esm/node_modules/@babel/runtime/helpers/toConsumableArray.js +18 -0
  343. package/lib/esm/node_modules/@babel/runtime/helpers/toConsumableArray.js.map +1 -0
  344. package/lib/esm/node_modules/@babel/runtime/helpers/toPrimitive.js +22 -0
  345. package/lib/esm/node_modules/@babel/runtime/helpers/toPrimitive.js.map +1 -0
  346. package/lib/esm/node_modules/@babel/runtime/helpers/toPropertyKey.js +17 -0
  347. package/lib/esm/node_modules/@babel/runtime/helpers/toPropertyKey.js.map +1 -0
  348. package/lib/esm/node_modules/@babel/runtime/helpers/typeof.js +18 -0
  349. package/lib/esm/node_modules/@babel/runtime/helpers/typeof.js.map +1 -0
  350. package/lib/esm/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +19 -0
  351. package/lib/esm/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js.map +1 -0
  352. package/lib/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js +80 -0
  353. package/lib/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js.map +1 -0
  354. package/lib/esm/node_modules/fbjs/lib/areEqual.js +42 -0
  355. package/lib/esm/node_modules/fbjs/lib/areEqual.js.map +1 -0
  356. package/lib/esm/node_modules/invariant/browser.js +30 -0
  357. package/lib/esm/node_modules/invariant/browser.js.map +1 -0
  358. package/lib/esm/node_modules/relay-test-utils/index.js +11 -0
  359. package/lib/esm/node_modules/relay-test-utils/index.js.map +1 -0
  360. package/lib/esm/node_modules/relay-test-utils/lib/RelayMockPayloadGenerator.js +288 -0
  361. package/lib/esm/node_modules/relay-test-utils/lib/RelayMockPayloadGenerator.js.map +1 -0
  362. package/lib/esm/node_modules/relay-test-utils/lib/RelayModernMockEnvironment.js +183 -0
  363. package/lib/esm/node_modules/relay-test-utils/lib/RelayModernMockEnvironment.js.map +1 -0
  364. package/lib/esm/node_modules/relay-test-utils/lib/RelayResolverTestUtils.js +19 -0
  365. package/lib/esm/node_modules/relay-test-utils/lib/RelayResolverTestUtils.js.map +1 -0
  366. package/lib/esm/node_modules/relay-test-utils/lib/index.js +21 -0
  367. package/lib/esm/node_modules/relay-test-utils/lib/index.js.map +1 -0
  368. package/lib/esm/node_modules/relay-test-utils/lib/unwrapContainer.js +16 -0
  369. package/lib/esm/node_modules/relay-test-utils/lib/unwrapContainer.js.map +1 -0
  370. package/lib/esm/pages/BackofficeAcceptInvitationPage.js +24 -0
  371. package/lib/esm/pages/BackofficeAcceptInvitationPage.js.map +1 -0
  372. package/lib/esm/pages/BackofficeDashboardPage.helpers.js +18 -0
  373. package/lib/esm/pages/BackofficeDashboardPage.helpers.js.map +1 -0
  374. package/lib/esm/pages/BackofficeDashboardPage.js +266 -0
  375. package/lib/esm/pages/BackofficeDashboardPage.js.map +1 -0
  376. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js +18 -0
  377. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js.map +1 -0
  378. package/lib/esm/pages/BackofficeEntityDetailPage.helpers.js +14 -0
  379. package/lib/esm/pages/BackofficeEntityDetailPage.helpers.js.map +1 -0
  380. package/lib/esm/pages/BackofficeEntityDetailPage.js +474 -0
  381. package/lib/esm/pages/BackofficeEntityDetailPage.js.map +1 -0
  382. package/lib/esm/pages/BackofficeEntityDetailPage.view-helpers.js +414 -0
  383. package/lib/esm/pages/BackofficeEntityDetailPage.view-helpers.js.map +1 -0
  384. package/lib/esm/{BackofficeEntityDetailUnknownPageRedirect-xupMeril.js → pages/BackofficeEntityDetailUnknownPageRedirect.js} +3 -3
  385. package/lib/esm/pages/BackofficeEntityDetailUnknownPageRedirect.js.map +1 -0
  386. package/lib/esm/pages/BackofficeEntityListPage.helpers.js +37 -0
  387. package/lib/esm/pages/BackofficeEntityListPage.helpers.js.map +1 -0
  388. package/lib/esm/pages/BackofficeEntityListPage.js +381 -0
  389. package/lib/esm/pages/BackofficeEntityListPage.js.map +1 -0
  390. package/lib/esm/pages/BackofficeHubPage.js +122 -0
  391. package/lib/esm/pages/BackofficeHubPage.js.map +1 -0
  392. package/lib/esm/pages/BackofficeLayoutPage.js +273 -0
  393. package/lib/esm/pages/BackofficeLayoutPage.js.map +1 -0
  394. package/lib/esm/pages/BackofficeLoginPage.js +47 -0
  395. package/lib/esm/pages/BackofficeLoginPage.js.map +1 -0
  396. package/lib/esm/{BackofficePasswordResetCompletePage-OApMUiOi.js → pages/BackofficePasswordResetCompletePage.js} +17 -17
  397. package/lib/esm/pages/BackofficePasswordResetCompletePage.js.map +1 -0
  398. package/lib/esm/{BackofficePasswordResetRequestPage-DPDImb37.js → pages/BackofficePasswordResetRequestPage.js} +14 -15
  399. package/lib/esm/pages/BackofficePasswordResetRequestPage.js.map +1 -0
  400. package/lib/esm/{BackofficeVerifyEmailPage-DHuSOxDf.js → pages/BackofficeVerifyEmailPage.js} +17 -17
  401. package/lib/esm/pages/BackofficeVerifyEmailPage.js.map +1 -0
  402. package/lib/esm/pages/backofficeDashboardPage.css.js +7 -0
  403. package/lib/esm/pages/backofficeDashboardPage.css.js.map +1 -0
  404. package/lib/esm/pages/backofficeEntityDetailPage.css.js +7 -0
  405. package/lib/esm/pages/backofficeEntityDetailPage.css.js.map +1 -0
  406. package/lib/esm/pages/backofficeEntityListPage.css.js +7 -0
  407. package/lib/esm/pages/backofficeEntityListPage.css.js.map +1 -0
  408. package/lib/esm/pages/dashboard/DashboardMetricGroup.js +25 -0
  409. package/lib/esm/pages/dashboard/DashboardMetricGroup.js.map +1 -0
  410. package/lib/esm/pages/dashboard/DashboardPanel.js +15 -0
  411. package/lib/esm/pages/dashboard/DashboardPanel.js.map +1 -0
  412. package/lib/esm/pages/dashboard/DashboardQuickActions.js +27 -0
  413. package/lib/esm/pages/dashboard/DashboardQuickActions.js.map +1 -0
  414. package/lib/esm/pages/dashboard/DashboardStatusList.js +28 -0
  415. package/lib/esm/pages/dashboard/DashboardStatusList.js.map +1 -0
  416. package/lib/esm/pages/dashboard/dashboardMetricGroup.css.js +8 -0
  417. package/lib/esm/pages/dashboard/dashboardMetricGroup.css.js.map +1 -0
  418. package/lib/esm/pages/dashboard/dashboardPanel.css.js +7 -0
  419. package/lib/esm/pages/dashboard/dashboardPanel.css.js.map +1 -0
  420. package/lib/esm/pages/dashboard/dashboardQuickActions.css.js +7 -0
  421. package/lib/esm/pages/dashboard/dashboardQuickActions.css.js.map +1 -0
  422. package/lib/esm/pages/dashboard/dashboardStatusList.css.js +7 -0
  423. package/lib/esm/pages/dashboard/dashboardStatusList.css.js.map +1 -0
  424. package/lib/esm/{BackofficeEntityDetailLayoutContext-DeuH5PCW.js → pages/detail/BackofficeEntityDetailLayoutContext.js} +2 -2
  425. package/lib/esm/pages/detail/BackofficeEntityDetailLayoutContext.js.map +1 -0
  426. package/lib/esm/pages/detail/buildTabsItems.js +10 -0
  427. package/lib/esm/pages/detail/buildTabsItems.js.map +1 -0
  428. package/lib/esm/{pageResolution-hAQA5C6S.js → pages/detail/pageResolution.js} +2 -2
  429. package/lib/esm/pages/detail/pageResolution.js.map +1 -0
  430. package/lib/esm/provider/BackofficeConfigContext.js +12 -0
  431. package/lib/esm/provider/BackofficeConfigContext.js.map +1 -0
  432. package/lib/esm/provider/BackofficeProvider.js +171 -0
  433. package/lib/esm/provider/BackofficeProvider.js.map +1 -0
  434. package/lib/esm/provider/entityRegistry.js +95 -0
  435. package/lib/esm/provider/entityRegistry.js.map +1 -0
  436. package/lib/esm/provider/lazyValue.js +14 -0
  437. package/lib/esm/provider/lazyValue.js.map +1 -0
  438. package/lib/esm/provider/types.js +0 -0
  439. package/lib/esm/provider/useBackofficeEntityLoader.js +141 -0
  440. package/lib/esm/provider/useBackofficeEntityLoader.js.map +1 -0
  441. package/lib/esm/{useBackofficeLazyValue-CoIAK-5N.js → provider/useBackofficeLazyValue.js} +15 -7
  442. package/lib/esm/provider/useBackofficeLazyValue.js.map +1 -0
  443. package/lib/esm/relay/RelayProvider.js +13 -0
  444. package/lib/esm/relay/RelayProvider.js.map +1 -0
  445. package/lib/esm/relay/connectionUtils.js +19 -0
  446. package/lib/esm/relay/connectionUtils.js.map +1 -0
  447. package/lib/esm/relay/createInlineDataReader.js +2 -0
  448. package/lib/esm/relay/createInlineReader.js +7 -0
  449. package/lib/esm/relay/createInlineReader.js.map +1 -0
  450. package/lib/esm/relay/envHelpers.js +55 -0
  451. package/lib/esm/relay/envHelpers.js.map +1 -0
  452. package/lib/esm/{environment-DQfVyWHJ.js → relay/environment.js} +90 -100
  453. package/lib/esm/relay/environment.js.map +1 -0
  454. package/lib/esm/relay/identityView.js +6 -0
  455. package/lib/esm/relay/identityView.js.map +1 -0
  456. package/lib/esm/{mutationResult-CcQMY13J.js → relay/mutationResult.js} +2 -2
  457. package/lib/esm/relay/mutationResult.js.map +1 -0
  458. package/lib/esm/{useRelayEnvironment-vQ86aW-n.js → relay/useRelayEnvironment.js} +2 -2
  459. package/lib/esm/relay/useRelayEnvironment.js.map +1 -0
  460. package/lib/esm/{backofficeAuthPaths-2KMmkBLv.js → router/backofficeAuthPaths.js} +2 -2
  461. package/lib/esm/router/backofficeAuthPaths.js.map +1 -0
  462. package/lib/esm/router/createBackofficeRoutes.js +322 -0
  463. package/lib/esm/router/createBackofficeRoutes.js.map +1 -0
  464. package/lib/esm/storybook/relay/RelayStory.css.js +7 -0
  465. package/lib/esm/storybook/relay/RelayStory.css.js.map +1 -0
  466. package/lib/esm/storybook/relay/RelayStory.js +86 -0
  467. package/lib/esm/storybook/relay/RelayStory.js.map +1 -0
  468. package/lib/esm/storybook/relay/mockResolvers.js +99 -0
  469. package/lib/esm/storybook/relay/mockResolvers.js.map +1 -0
  470. package/lib/esm/storybook/relay/relay-test-utils.d.js +0 -0
  471. package/lib/esm/style.css +1 -1
  472. package/lib/esm/style.js +1 -0
  473. package/lib/esm/subscriptions/useCursorResumableSubscription.js +29 -0
  474. package/lib/esm/subscriptions/useCursorResumableSubscription.js.map +1 -0
  475. package/lib/types/auth/AuthRefreshNotice.d.ts +14 -0
  476. package/lib/types/auth/AuthRefreshNotice.d.ts.map +1 -0
  477. package/lib/types/auth/TotpQrCode.d.ts +17 -0
  478. package/lib/types/auth/TotpQrCode.d.ts.map +1 -0
  479. package/lib/types/auth/authRefreshNotice.css.d.ts +4 -0
  480. package/lib/types/auth/authRefreshNotice.css.d.ts.map +1 -0
  481. package/lib/types/auth/login/LoginFlow.d.ts.map +1 -1
  482. package/lib/types/auth/login/MfaChallengeForm.d.ts.map +1 -1
  483. package/lib/types/auth/login/PasskeyLoginForm.d.ts.map +1 -1
  484. package/lib/types/auth/pages/AcceptInvitationScreen.d.ts.map +1 -1
  485. package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts.map +1 -1
  486. package/lib/types/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.d.ts.map +1 -1
  487. package/lib/types/components/backoffice/actions/backofficeEntityActionFormDialog.css.d.ts +4 -0
  488. package/lib/types/components/backoffice/actions/backofficeEntityActionFormDialog.css.d.ts.map +1 -1
  489. package/lib/types/components/backoffice/detail/BackofficeAuditMetadataPanel.d.ts +19 -0
  490. package/lib/types/components/backoffice/detail/BackofficeAuditMetadataPanel.d.ts.map +1 -0
  491. package/lib/types/components/backoffice/detail/BackofficeDetailRelationLink.d.ts +3 -5
  492. package/lib/types/components/backoffice/detail/BackofficeDetailRelationLink.d.ts.map +1 -1
  493. package/lib/types/components/backoffice/detail/BackofficeDetailRelationListBlock.d.ts +3 -4
  494. package/lib/types/components/backoffice/detail/BackofficeDetailRelationListBlock.d.ts.map +1 -1
  495. package/lib/types/components/backoffice/detail/BackofficeDetailSection.d.ts.map +1 -1
  496. package/lib/types/components/backoffice/detail/BackofficeEntityRefLink.d.ts +15 -0
  497. package/lib/types/components/backoffice/detail/BackofficeEntityRefLink.d.ts.map +1 -0
  498. package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts +34 -0
  499. package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts.map +1 -0
  500. package/lib/types/components/backoffice/detail/BackofficeEnumLabel.d.ts +9 -0
  501. package/lib/types/components/backoffice/detail/BackofficeEnumLabel.d.ts.map +1 -0
  502. package/lib/types/components/backoffice/detail/BackofficeKpiStrip.d.ts +17 -0
  503. package/lib/types/components/backoffice/detail/BackofficeKpiStrip.d.ts.map +1 -0
  504. package/lib/types/components/backoffice/detail/BackofficeLifecycleTimelineSection.d.ts +20 -0
  505. package/lib/types/components/backoffice/detail/BackofficeLifecycleTimelineSection.d.ts.map +1 -0
  506. package/lib/types/components/backoffice/detail/BackofficePayloadInspectorSection.d.ts +15 -0
  507. package/lib/types/components/backoffice/detail/BackofficePayloadInspectorSection.d.ts.map +1 -0
  508. package/lib/types/components/backoffice/detail/BackofficeReferenceValue.d.ts +9 -0
  509. package/lib/types/components/backoffice/detail/BackofficeReferenceValue.d.ts.map +1 -0
  510. package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts +17 -0
  511. package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts.map +1 -0
  512. package/lib/types/components/backoffice/detail/BackofficeScopeStack.d.ts +13 -0
  513. package/lib/types/components/backoffice/detail/BackofficeScopeStack.d.ts.map +1 -0
  514. package/lib/types/components/backoffice/detail/BackofficeStatusMetaBadge.d.ts +13 -0
  515. package/lib/types/components/backoffice/detail/BackofficeStatusMetaBadge.d.ts.map +1 -0
  516. package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts +18 -0
  517. package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts.map +1 -0
  518. package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts +31 -0
  519. package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts.map +1 -0
  520. package/lib/types/components/backoffice/detail/backofficeAuditMetadataPanel.css.d.ts +5 -0
  521. package/lib/types/components/backoffice/detail/backofficeAuditMetadataPanel.css.d.ts.map +1 -0
  522. package/lib/types/components/backoffice/detail/backofficeDetailField.css.d.ts +1 -0
  523. package/lib/types/components/backoffice/detail/backofficeDetailField.css.d.ts.map +1 -1
  524. package/lib/types/components/backoffice/detail/backofficeDetailLayout.css.d.ts.map +1 -1
  525. package/lib/types/components/backoffice/detail/backofficeDetailRelationLink.css.d.ts +2 -0
  526. package/lib/types/components/backoffice/detail/backofficeDetailRelationLink.css.d.ts.map +1 -1
  527. package/lib/types/components/backoffice/detail/backofficeEntitySummaryHeader.css.d.ts +12 -0
  528. package/lib/types/components/backoffice/detail/backofficeEntitySummaryHeader.css.d.ts.map +1 -0
  529. package/lib/types/components/backoffice/detail/backofficeKpiStrip.css.d.ts +5 -0
  530. package/lib/types/components/backoffice/detail/backofficeKpiStrip.css.d.ts.map +1 -0
  531. package/lib/types/components/backoffice/detail/backofficeLifecycleTimelineSection.css.d.ts +3 -0
  532. package/lib/types/components/backoffice/detail/backofficeLifecycleTimelineSection.css.d.ts.map +1 -0
  533. package/lib/types/components/backoffice/detail/backofficePayloadInspectorSection.css.d.ts +4 -0
  534. package/lib/types/components/backoffice/detail/backofficePayloadInspectorSection.css.d.ts.map +1 -0
  535. package/lib/types/components/backoffice/detail/backofficeReferenceValue.css.d.ts +3 -0
  536. package/lib/types/components/backoffice/detail/backofficeReferenceValue.css.d.ts.map +1 -0
  537. package/lib/types/components/backoffice/detail/backofficeRelationsSummaryGrid.css.d.ts +6 -0
  538. package/lib/types/components/backoffice/detail/backofficeRelationsSummaryGrid.css.d.ts.map +1 -0
  539. package/lib/types/components/backoffice/detail/backofficeScopeStack.css.d.ts +5 -0
  540. package/lib/types/components/backoffice/detail/backofficeScopeStack.css.d.ts.map +1 -0
  541. package/lib/types/components/backoffice/detail/backofficeStatusMetaBadge.css.d.ts +2 -0
  542. package/lib/types/components/backoffice/detail/backofficeStatusMetaBadge.css.d.ts.map +1 -0
  543. package/lib/types/components/backoffice/detail/backofficeUsageCostBreakdown.css.d.ts +7 -0
  544. package/lib/types/components/backoffice/detail/backofficeUsageCostBreakdown.css.d.ts.map +1 -0
  545. package/lib/types/components/backoffice/detail/createBackofficeEntityLinkProps.d.ts +30 -0
  546. package/lib/types/components/backoffice/detail/createBackofficeEntityLinkProps.d.ts.map +1 -0
  547. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.stories.d.ts +12 -0
  548. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.stories.d.ts.map +1 -0
  549. package/lib/types/components/backoffice/filters/BackofficeFilterAction.d.ts +4 -4
  550. package/lib/types/components/backoffice/filters/BackofficeFilterAction.d.ts.map +1 -1
  551. package/lib/types/components/backoffice/filters/DeferredFilterSearchInput.d.ts +13 -0
  552. package/lib/types/components/backoffice/filters/DeferredFilterSearchInput.d.ts.map +1 -0
  553. package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts +4 -0
  554. package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts.map +1 -1
  555. package/lib/types/components/backoffice/filters/EntityIdFilterField.stories.d.ts +12 -0
  556. package/lib/types/components/backoffice/filters/EntityIdFilterField.stories.d.ts.map +1 -0
  557. package/lib/types/components/backoffice/filters/deferredFilterSearchInput.css.d.ts +3 -0
  558. package/lib/types/components/backoffice/filters/deferredFilterSearchInput.css.d.ts.map +1 -0
  559. package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts +3 -0
  560. package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts.map +1 -1
  561. package/lib/types/components/backoffice/hub/BackofficeHubTemplate.d.ts +36 -0
  562. package/lib/types/components/backoffice/hub/BackofficeHubTemplate.d.ts.map +1 -0
  563. package/lib/types/{pages/backofficeHubPage.css.d.ts → components/backoffice/hub/backofficeHubTemplate.css.d.ts} +5 -3
  564. package/lib/types/components/backoffice/hub/backofficeHubTemplate.css.d.ts.map +1 -0
  565. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.d.ts.map +1 -1
  566. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.d.ts +2 -0
  567. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.d.ts.map +1 -1
  568. package/lib/types/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.d.ts +3 -0
  569. package/lib/types/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.d.ts.map +1 -1
  570. package/lib/types/components/backoffice/layout/breadcrumb/buildBreadcrumbs.d.ts +2 -2
  571. package/lib/types/components/backoffice/layout/breadcrumb/buildBreadcrumbs.d.ts.map +1 -1
  572. package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts +1 -0
  573. package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts.map +1 -1
  574. package/lib/types/components/backoffice/layout/sidebarUtils.d.ts +2 -1
  575. package/lib/types/components/backoffice/layout/sidebarUtils.d.ts.map +1 -1
  576. package/lib/types/components/backoffice/lists/BackofficeListToolbar.d.ts +16 -0
  577. package/lib/types/components/backoffice/lists/BackofficeListToolbar.d.ts.map +1 -0
  578. package/lib/types/components/backoffice/lists/backofficeListToolbar.css.d.ts +16 -0
  579. package/lib/types/components/backoffice/lists/backofficeListToolbar.css.d.ts.map +1 -0
  580. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.stories.d.ts +11 -0
  581. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.stories.d.ts.map +1 -0
  582. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts +1 -1
  583. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts.map +1 -1
  584. package/lib/types/components/backoffice/pickers/entityIdPickerDialog.css.d.ts +2 -0
  585. package/lib/types/components/backoffice/pickers/entityIdPickerDialog.css.d.ts.map +1 -1
  586. package/lib/types/components/backoffice/pickers/shared/EntityPickerList.d.ts.map +1 -1
  587. package/lib/types/components/backoffice/pickers/shared/EntityPickerShell.d.ts.map +1 -1
  588. package/lib/types/components/backoffice/pickers/types.d.ts +1 -1
  589. package/lib/types/components/backoffice/pickers/types.d.ts.map +1 -1
  590. package/lib/types/components/backoffice/refs/BackofficeEntityIdRef.d.ts +4 -4
  591. package/lib/types/components/backoffice/refs/BackofficeEntityIdRef.d.ts.map +1 -1
  592. package/lib/types/components/backoffice/refs/BackofficeEntityLink.d.ts +15 -0
  593. package/lib/types/components/backoffice/refs/BackofficeEntityLink.d.ts.map +1 -0
  594. package/lib/types/components/backoffice/refs/BackofficeRelatedCountLink.d.ts.map +1 -1
  595. package/lib/types/components/backoffice/refs/backofficeRelatedCountLink.css.d.ts +2 -0
  596. package/lib/types/components/backoffice/refs/backofficeRelatedCountLink.css.d.ts.map +1 -1
  597. package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts +1 -1
  598. package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts.map +1 -1
  599. package/lib/types/components/backoffice/routing/BackofficeRouteFallback.d.ts +4 -0
  600. package/lib/types/components/backoffice/routing/BackofficeRouteFallback.d.ts.map +1 -1
  601. package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.d.ts.map +1 -1
  602. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts +10 -6
  603. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts.map +1 -1
  604. package/lib/types/components/backoffice/scaffolds/BackofficeListFilterContext.d.ts +3 -3
  605. package/lib/types/components/backoffice/scaffolds/BackofficeListFilterContext.d.ts.map +1 -1
  606. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.stories.d.ts +11 -0
  607. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.stories.d.ts.map +1 -0
  608. package/lib/types/components/backoffice/scaffolds/backofficeEntityListScaffold.css.d.ts.map +1 -1
  609. package/lib/types/components/backoffice/shared/BackofficeFilterableCell.d.ts +13 -0
  610. package/lib/types/components/backoffice/shared/BackofficeFilterableCell.d.ts.map +1 -0
  611. package/lib/types/components/backoffice/shared/BackofficeFormattedCurrency.d.ts +9 -0
  612. package/lib/types/components/backoffice/shared/BackofficeFormattedCurrency.d.ts.map +1 -0
  613. package/lib/types/components/backoffice/shared/BackofficeFormattedNumber.d.ts +9 -0
  614. package/lib/types/components/backoffice/shared/BackofficeFormattedNumber.d.ts.map +1 -0
  615. package/lib/types/components/backoffice/shared/backofficeFilterableCell.css.d.ts +12 -0
  616. package/lib/types/components/backoffice/shared/backofficeFilterableCell.css.d.ts.map +1 -0
  617. package/lib/types/components/backoffice/shared/backofficeInlineFilterRow.css.d.ts.map +1 -1
  618. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts +11 -0
  619. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts.map +1 -0
  620. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts +8 -0
  621. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +1 -0
  622. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts +15 -0
  623. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +1 -0
  624. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts +7 -0
  625. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts.map +1 -0
  626. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts +8 -0
  627. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +1 -0
  628. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts +7 -0
  629. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts.map +1 -0
  630. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts +4 -0
  631. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts.map +1 -0
  632. package/lib/types/components/backoffice/tools/parseToolJson.d.ts +2 -0
  633. package/lib/types/components/backoffice/tools/parseToolJson.d.ts.map +1 -0
  634. package/lib/types/filters/filterHelpers.d.ts +3 -3
  635. package/lib/types/filters/filterHelpers.d.ts.map +1 -1
  636. package/lib/types/hooks/useAuth.d.ts.map +1 -1
  637. package/lib/types/hooks/useBackofficeInfiniteScrollSentinel.d.ts.map +1 -1
  638. package/lib/types/hooks/useBackofficeListRefetch.d.ts +7 -3
  639. package/lib/types/hooks/useBackofficeListRefetch.d.ts.map +1 -1
  640. package/lib/types/hooks/useBackofficeListUrlState.d.ts +2 -2
  641. package/lib/types/hooks/useBackofficeListUrlState.d.ts.map +1 -1
  642. package/lib/types/hooks/useInfiniteConnection.d.ts +37 -0
  643. package/lib/types/hooks/useInfiniteConnection.d.ts.map +1 -0
  644. package/lib/types/i18n/resources.d.ts +138 -7
  645. package/lib/types/i18n/resources.d.ts.map +1 -1
  646. package/lib/types/index.d.ts +31 -0
  647. package/lib/types/index.d.ts.map +1 -1
  648. package/lib/types/pages/BackofficeDashboardPage.d.ts.map +1 -1
  649. package/lib/types/pages/BackofficeEntityDetailPage.d.ts.map +1 -1
  650. package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts +3 -8
  651. package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts.map +1 -1
  652. package/lib/types/pages/BackofficeEntityListPage.d.ts +2 -2
  653. package/lib/types/pages/BackofficeEntityListPage.d.ts.map +1 -1
  654. package/lib/types/pages/BackofficeEntityListPage.helpers.d.ts +8 -4
  655. package/lib/types/pages/BackofficeEntityListPage.helpers.d.ts.map +1 -1
  656. package/lib/types/pages/BackofficeHubPage.d.ts.map +1 -1
  657. package/lib/types/pages/BackofficeLayoutPage.d.ts.map +1 -1
  658. package/lib/types/pages/BackofficePasswordResetCompletePage.d.ts.map +1 -1
  659. package/lib/types/pages/BackofficePasswordResetRequestPage.d.ts.map +1 -1
  660. package/lib/types/pages/BackofficeVerifyEmailPage.d.ts.map +1 -1
  661. package/lib/types/pages/backofficeDashboardPage.css.d.ts +1 -14
  662. package/lib/types/pages/backofficeDashboardPage.css.d.ts.map +1 -1
  663. package/lib/types/pages/backofficeEntityDetailPage.css.d.ts +2 -0
  664. package/lib/types/pages/backofficeEntityDetailPage.css.d.ts.map +1 -1
  665. package/lib/types/pages/dashboard/DashboardMetricGroup.d.ts +14 -0
  666. package/lib/types/pages/dashboard/DashboardMetricGroup.d.ts.map +1 -0
  667. package/lib/types/pages/dashboard/DashboardPanel.d.ts +9 -0
  668. package/lib/types/pages/dashboard/DashboardPanel.d.ts.map +1 -0
  669. package/lib/types/pages/dashboard/DashboardQuickActions.d.ts +13 -0
  670. package/lib/types/pages/dashboard/DashboardQuickActions.d.ts.map +1 -0
  671. package/lib/types/pages/dashboard/DashboardStatusList.d.ts +13 -0
  672. package/lib/types/pages/dashboard/DashboardStatusList.d.ts.map +1 -0
  673. package/lib/types/pages/dashboard/dashboardMetricGroup.css.d.ts +4 -0
  674. package/lib/types/pages/dashboard/dashboardMetricGroup.css.d.ts.map +1 -0
  675. package/lib/types/pages/dashboard/dashboardPanel.css.d.ts +2 -0
  676. package/lib/types/pages/dashboard/dashboardPanel.css.d.ts.map +1 -0
  677. package/lib/types/pages/dashboard/dashboardQuickActions.css.d.ts +5 -0
  678. package/lib/types/pages/dashboard/dashboardQuickActions.css.d.ts.map +1 -0
  679. package/lib/types/pages/dashboard/dashboardStatusList.css.d.ts +6 -0
  680. package/lib/types/pages/dashboard/dashboardStatusList.css.d.ts.map +1 -0
  681. package/lib/types/provider/BackofficeProvider.d.ts.map +1 -1
  682. package/lib/types/provider/types.d.ts +5 -1
  683. package/lib/types/provider/types.d.ts.map +1 -1
  684. package/lib/types/relay/connectionUtils.d.ts +10 -0
  685. package/lib/types/relay/connectionUtils.d.ts.map +1 -0
  686. package/lib/types/router/createBackofficeRoutes.d.ts.map +1 -1
  687. package/lib/types/storybook/relay/RelayStory.css.d.ts +5 -0
  688. package/lib/types/storybook/relay/RelayStory.css.d.ts.map +1 -0
  689. package/lib/types/storybook/relay/RelayStory.d.ts +35 -0
  690. package/lib/types/storybook/relay/RelayStory.d.ts.map +1 -0
  691. package/lib/types/storybook/relay/mockResolvers.d.ts +3 -0
  692. package/lib/types/storybook/relay/mockResolvers.d.ts.map +1 -0
  693. package/lib/types/subscriptions/useCursorResumableSubscription.d.ts +16 -0
  694. package/lib/types/subscriptions/useCursorResumableSubscription.d.ts.map +1 -0
  695. package/package.json +24 -9
  696. package/lib/esm/AcceptInvitationScreen-B1IPafwD.js.map +0 -1
  697. package/lib/esm/AuthPanel-BaIRFGbX.js.map +0 -1
  698. package/lib/esm/BackofficeAcceptInvitationPage-BfRsORii.js +0 -24
  699. package/lib/esm/BackofficeAcceptInvitationPage-BfRsORii.js.map +0 -1
  700. package/lib/esm/BackofficeDashboardPage-CZAcZwRc.js +0 -344
  701. package/lib/esm/BackofficeDashboardPage-CZAcZwRc.js.map +0 -1
  702. package/lib/esm/BackofficeDetailPayload-P61MDRLE.js +0 -94
  703. package/lib/esm/BackofficeDetailPayload-P61MDRLE.js.map +0 -1
  704. package/lib/esm/BackofficeEntityActionFormDialog-BgMuhyU8.js +0 -512
  705. package/lib/esm/BackofficeEntityActionFormDialog-BgMuhyU8.js.map +0 -1
  706. package/lib/esm/BackofficeEntityDetailLayoutContext-DeuH5PCW.js.map +0 -1
  707. package/lib/esm/BackofficeEntityDetailLayoutPage-Duc_DcIV.js +0 -18
  708. package/lib/esm/BackofficeEntityDetailLayoutPage-Duc_DcIV.js.map +0 -1
  709. package/lib/esm/BackofficeEntityDetailPage-ChxBrqz8.js +0 -1053
  710. package/lib/esm/BackofficeEntityDetailPage-ChxBrqz8.js.map +0 -1
  711. package/lib/esm/BackofficeEntityDetailUnknownPageRedirect-xupMeril.js.map +0 -1
  712. package/lib/esm/BackofficeEntityListPage-BACvfX6c.js +0 -404
  713. package/lib/esm/BackofficeEntityListPage-BACvfX6c.js.map +0 -1
  714. package/lib/esm/BackofficeHubPage-BsUXulN0.js +0 -136
  715. package/lib/esm/BackofficeHubPage-BsUXulN0.js.map +0 -1
  716. package/lib/esm/BackofficeLayoutPage-r6dXo9SI.js +0 -699
  717. package/lib/esm/BackofficeLayoutPage-r6dXo9SI.js.map +0 -1
  718. package/lib/esm/BackofficeLoginPage-BMPhO1cr.js +0 -46
  719. package/lib/esm/BackofficeLoginPage-BMPhO1cr.js.map +0 -1
  720. package/lib/esm/BackofficePasswordResetCompletePage-OApMUiOi.js.map +0 -1
  721. package/lib/esm/BackofficePasswordResetRequestPage-DPDImb37.js.map +0 -1
  722. package/lib/esm/BackofficeRightPageLayout-BZb7LhT-.js +0 -53
  723. package/lib/esm/BackofficeRightPageLayout-BZb7LhT-.js.map +0 -1
  724. package/lib/esm/BackofficeTopbarPortalContext-CphoSrZD.js.map +0 -1
  725. package/lib/esm/BackofficeVerifyEmailPage-DHuSOxDf.js.map +0 -1
  726. package/lib/esm/EntityFilterValue-BWUdPBwp.js +0 -78
  727. package/lib/esm/EntityFilterValue-BWUdPBwp.js.map +0 -1
  728. package/lib/esm/EntityIdPickerDialog-Yhmr-WsV.js +0 -308
  729. package/lib/esm/EntityIdPickerDialog-Yhmr-WsV.js.map +0 -1
  730. package/lib/esm/LazyBackofficeEntityActionFormDialog-uyYFFJGM.js +0 -522
  731. package/lib/esm/LazyBackofficeEntityActionFormDialog-uyYFFJGM.js.map +0 -1
  732. package/lib/esm/PasswordResetCompleteScreen-Cgg96DPo.js.map +0 -1
  733. package/lib/esm/PasswordResetRequestScreen-I1nFvGLd.js.map +0 -1
  734. package/lib/esm/VerifyEmailScreen-Br5KyHjg.js.map +0 -1
  735. package/lib/esm/backoffice-react.js +0 -1687
  736. package/lib/esm/backoffice-react.js.map +0 -1
  737. package/lib/esm/backofficeAuthPaths-2KMmkBLv.js.map +0 -1
  738. package/lib/esm/buildBreadcrumbs-C9cyiXb7.js.map +0 -1
  739. package/lib/esm/environment-DQfVyWHJ.js.map +0 -1
  740. package/lib/esm/loginPage.css-B7Io_DuU.js +0 -6
  741. package/lib/esm/loginPage.css-B7Io_DuU.js.map +0 -1
  742. package/lib/esm/mutationResult-CcQMY13J.js.map +0 -1
  743. package/lib/esm/pageResolution-hAQA5C6S.js.map +0 -1
  744. package/lib/esm/sidebarUtils-BZETlHea.js +0 -74
  745. package/lib/esm/sidebarUtils-BZETlHea.js.map +0 -1
  746. package/lib/esm/synchronizeAuthStatusQuery-BoPKMrP1.js +0 -324
  747. package/lib/esm/synchronizeAuthStatusQuery-BoPKMrP1.js.map +0 -1
  748. package/lib/esm/useAuth-CheTnq60.js +0 -544
  749. package/lib/esm/useAuth-CheTnq60.js.map +0 -1
  750. package/lib/esm/useBackofficeAuth-DVAXNAjP.js +0 -89
  751. package/lib/esm/useBackofficeAuth-DVAXNAjP.js.map +0 -1
  752. package/lib/esm/useBackofficeLazyValue-CoIAK-5N.js.map +0 -1
  753. package/lib/esm/useBackofficeListUrlState-D4fx5O7u.js.map +0 -1
  754. package/lib/esm/useBackofficeReactTranslation-Btt58EIo.js +0 -18
  755. package/lib/esm/useBackofficeReactTranslation-Btt58EIo.js.map +0 -1
  756. package/lib/esm/useRelayEnvironment-vQ86aW-n.js.map +0 -1
  757. package/lib/types/pages/backofficeHubPage.css.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeEntityListPage.helpers.js","names":[],"sources":["../../../src/pages/BackofficeEntityListPage.helpers.tsx"],"sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport type {\n BackofficeEntityFormMutationActionSpec,\n BackofficeEntityRouteActionSpec,\n BackofficeListActionSpec,\n BackofficeRuntimeConnectionListConfig,\n BackofficeRuntimeRecordListConfig,\n BackofficeRuntimeResolvedListFacetConfig,\n I18nLabel,\n} from '@plumile/backoffice-core/types.js';\nimport type { Button, DataTableColumn } from '@plumile/ui';\nimport type { TFunction } from 'i18next';\n\nimport type { BackofficeSizedDataTableColumn } from '../components/backoffice/columns/buildDataTableColumns.js';\n\ntype ButtonVariant = ComponentProps<typeof Button>['variant'];\n\nconst ROW_FLAGS_SLOT_PX = 24;\nconst ROW_FLAGS_GAP_PX = 6;\nconst ROW_FLAGS_PADDING_X_PX = 4;\n\nconst ACTIONS_SLOT_PX = 32;\nconst ACTIONS_GAP_PX = 8;\nconst ACTIONS_PADDING_X_PX = 12;\nconst ACTIONS_SAFETY_PX = 4;\n\nconst listColumnTrackBySize: Record<\n BackofficeSizedDataTableColumn<unknown>['size'],\n string\n> = {\n xs: 'minmax(72px, 92px)',\n s: 'minmax(104px, 136px)',\n statusAction: 'minmax(136px, 168px)',\n m: 'minmax(136px, 184px)',\n l: 'minmax(160px, 220px)',\n xl: 'minmax(220px, 300px)',\n fluid: 'minmax(0, 1fr)',\n};\n\nexport const computeRowFlagsColumnWidthPx = (flagCount: number): number => {\n if (flagCount <= 0) {\n return 0;\n }\n return (\n ROW_FLAGS_PADDING_X_PX * 2 +\n ROW_FLAGS_SLOT_PX * flagCount +\n ROW_FLAGS_GAP_PX * Math.max(0, flagCount - 1)\n );\n};\n\nexport const computeActionsColumnWidthPx = (actionCount: number): number => {\n if (actionCount <= 0) {\n return 0;\n }\n return (\n ACTIONS_SAFETY_PX +\n ACTIONS_PADDING_X_PX * 2 +\n ACTIONS_SLOT_PX * actionCount +\n ACTIONS_GAP_PX * Math.max(0, actionCount - 1)\n );\n};\n\nexport const resolveTrackBySize = (\n column: DataTableColumn<unknown>,\n fallback: string,\n): string => {\n if (column.mobileRole === 'action') {\n return '60px';\n }\n if (column.isPrimary === true) {\n return 'minmax(0, 1fr)';\n }\n if ('size' in column && typeof column.size === 'string') {\n return listColumnTrackBySize[\n column.size as BackofficeSizedDataTableColumn<unknown>['size']\n ];\n }\n return fallback;\n};\n\nexport const isRouteAction = (\n action: BackofficeListActionSpec,\n): action is BackofficeEntityRouteActionSpec<null> => {\n return action.kind === 'route';\n};\n\nexport const isFormMutationAction = (\n action: BackofficeListActionSpec,\n): action is BackofficeEntityFormMutationActionSpec<null> => {\n return action.kind === 'formMutation';\n};\n\nexport const resolveActionVariant = (\n actionVariant: ButtonVariant | undefined,\n index: number,\n): Exclude<ButtonVariant, undefined> => {\n if (actionVariant != null) {\n return actionVariant;\n }\n if (index === 0) {\n return 'primary';\n }\n return 'secondary';\n};\n\nexport const resolveRowId = (row: unknown): string | null => {\n if (row == null || typeof row !== 'object') {\n return null;\n }\n if (!('id' in row)) {\n return null;\n }\n const value = (row as { id?: unknown }).id;\n if (typeof value !== 'string') {\n return null;\n }\n const trimmed = value.trim();\n if (trimmed === '') {\n return null;\n }\n return trimmed;\n};\n\nexport type RecordListConfig = BackofficeRuntimeResolvedListFacetConfig & {\n list: BackofficeRuntimeRecordListConfig;\n};\n\nexport type ConnectionListConfig = BackofficeRuntimeResolvedListFacetConfig & {\n list: BackofficeRuntimeConnectionListConfig;\n};\n\nexport const isRecordListConfig = (\n config: BackofficeRuntimeResolvedListFacetConfig,\n): config is RecordListConfig => {\n return config.list.kind === 'records';\n};\n\nexport const isConnectionListConfig = (\n config: BackofficeRuntimeResolvedListFacetConfig,\n): config is ConnectionListConfig => {\n return config.list.kind !== 'records';\n};\n\nexport const resolveLabel = (label: I18nLabel, tApp: TFunction): string => {\n return label(tApp);\n};\n\nexport const buildActionsColumn = (options: {\n ariaLabel: string;\n fallback: string;\n resolveDetailHref: (id: string) => string | null;\n className?: string;\n renderAction: (input: { href: string; ariaLabel: string }) => JSX.Element;\n}): DataTableColumn<unknown> => {\n const { ariaLabel, fallback, resolveDetailHref, className, renderAction } =\n options;\n\n return {\n id: 'actions',\n header: '',\n className,\n mobileRole: 'action',\n cell: (row) => {\n const id = resolveRowId(row);\n if (id == null) {\n return fallback;\n }\n const href = resolveDetailHref(id);\n if (href == null) {\n return fallback;\n }\n return renderAction({ href, ariaLabel });\n },\n };\n};\n"],"mappings":";AAkBA,IAAM,IAAoB,IACpB,IAAmB,GACnB,IAAyB,GAEzB,IAAkB,IAClB,IAAiB,GACjB,IAAuB,IACvB,IAAoB,GAEpB,IAGF;CACF,IAAI;CACJ,GAAG;CACH,cAAc;CACd,GAAG;CACH,GAAG;CACH,IAAI;CACJ,OAAO;CACR,EAEY,KAAgC,MACvC,KAAa,IACR,IAGP,IAAyB,IACzB,IAAoB,IACpB,IAAmB,KAAK,IAAI,GAAG,IAAY,EAAE,EAIpC,KAA+B,MACtC,KAAe,IACV,IAGP,IACA,IAAuB,IACvB,IAAkB,IAClB,IAAiB,KAAK,IAAI,GAAG,IAAc,EAAE,EAIpC,KACX,GACA,MAEI,EAAO,eAAe,WACjB,SAEL,EAAO,cAAc,KAChB,mBAEL,UAAU,KAAU,OAAO,EAAO,QAAS,WACtC,EACL,EAAO,QAGJ,GAGI,KACX,MAEO,EAAO,SAAS,SAGZ,KACX,MAEO,EAAO,SAAS,gBAGZ,KACX,GACA,MAEI,MAGA,MAAU,IACL,YAEF,cAGI,KAAgB,MAAgC;CAI3D,IAHmB,OAAO,KAAQ,aAA9B,KAGA,EAAE,QAAQ,IACZ,OAAO;CAET,IAAM,IAAS,EAAyB;CACxC,IAAI,OAAO,KAAU,UACnB,OAAO;CAET,IAAM,IAAU,EAAM,MAAM;CAI5B,OAHI,MAAY,KACP,OAEF;GAWI,KACX,MAEO,EAAO,KAAK,SAAS,WAGjB,KACX,MAEO,EAAO,KAAK,SAAS,WAGjB,KAAgB,GAAkB,MACtC,EAAM,EAAK,EAGP,KAAsB,MAMH;CAC9B,IAAM,EAAE,cAAW,aAAU,sBAAmB,cAAW,oBACzD;CAEF,OAAO;EACL,IAAI;EACJ,QAAQ;EACR;EACA,YAAY;EACZ,OAAO,MAAQ;GACb,IAAM,IAAK,EAAa,EAAI;GAC5B,IAAI,KAAM,MACR,OAAO;GAET,IAAM,IAAO,EAAkB,EAAG;GAIlC,OAHI,KAAQ,OACH,IAEF,EAAa;IAAE;IAAM;IAAW,CAAC;;EAE3C"}
@@ -0,0 +1,381 @@
1
+ import { useBackofficeReactTranslation as e } from "../i18n/useBackofficeReactTranslation.js";
2
+ import { useBackofficeConfig as t } from "../provider/BackofficeConfigContext.js";
3
+ import { LazyBackofficeEntityActionFormDialog as n } from "../components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js";
4
+ import { buildDataTableColumns as r } from "../components/backoffice/columns/buildDataTableColumns.js";
5
+ import { useBackofficeLoadMore as i } from "../hooks/useBackofficeLoadMore.js";
6
+ import { useBackofficeListRefetch as a } from "../hooks/useBackofficeListRefetch.js";
7
+ import { BackofficeEntityListScaffold as o } from "../components/backoffice/scaffolds/BackofficeEntityListScaffold.js";
8
+ import { BackofficeRightPageLayout as s } from "../components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js";
9
+ import { buildEntityListBreadcrumb as c } from "../components/backoffice/layout/breadcrumb/buildBreadcrumbs.js";
10
+ import { rowFlagsColumnCell as l } from "../components/backoffice/list/RowFlagsCell.css.js";
11
+ import { RowFlagsCell as u } from "../components/backoffice/list/RowFlagsCell.js";
12
+ import { useBackofficeListUrlState as d } from "../hooks/useBackofficeListUrlState.js";
13
+ import { buildActionsColumn as f, computeActionsColumnWidthPx as p, computeRowFlagsColumnWidthPx as m, isConnectionListConfig as h, isFormMutationAction as g, isRecordListConfig as _, isRouteAction as ee, resolveActionVariant as te, resolveLabel as v, resolveTrackBySize as y } from "./BackofficeEntityListPage.helpers.js";
14
+ import { actionTrigger as ne, actionsColumnCell as re, headerActions as ie } from "./backofficeEntityListPage.css.js";
15
+ import { useCallback as b, useEffect as x, useMemo as S, useRef as C, useState as w } from "react";
16
+ import { Button as T, EyeSvg as ae, InlineBanner as oe, LinkButton as E, TableCell as se } from "@plumile/ui";
17
+ import { Fragment as ce, jsx as D, jsxs as le } from "react/jsx-runtime";
18
+ import { useTranslation as O } from "react-i18next";
19
+ import { fetchQuery as k } from "relay-runtime";
20
+ import { useFragment as A, usePaginationFragment as j, usePreloadedQuery as ue, useRelayEnvironment as de } from "react-relay";
21
+ import { BACKOFFICE_LIST_DEFAULTS as fe, BACKOFFICE_LIST_REFETCH_POLICY as M } from "@plumile/backoffice-core/constants.js";
22
+ import { stableListVariablesKey as N } from "@plumile/backoffice-core/state/stableKey.js";
23
+ //#region src/pages/BackofficeEntityListPage.tsx
24
+ var pe = "store-or-network", me = (e, t, n, r) => {
25
+ let i = t != null && t.length > 0, a = e;
26
+ if (i) {
27
+ let n = [{
28
+ id: "__rowFlags",
29
+ header: "",
30
+ className: l,
31
+ mobileRole: "badge",
32
+ cell: (e) => /* @__PURE__ */ D(u, {
33
+ row: e,
34
+ flags: t,
35
+ tApp: r
36
+ })
37
+ }, ...e], i = n.some((e) => e.isPrimary === !0);
38
+ a = n, i || (a = n.map((e, t) => t === 1 ? {
39
+ ...e,
40
+ isPrimary: !0
41
+ } : e));
42
+ }
43
+ let o = 0;
44
+ i && (o = t.length);
45
+ let s = m(o), c = p(n), d = 0;
46
+ i && (d = 1);
47
+ let f = a.length - d - 1, h = a.slice(d, d + Math.max(0, f)).map((e) => y(e, "1fr")).join(" "), g = "";
48
+ return g = i ? `${s}px ${h} ${c}px` : `${h} ${c}px`, {
49
+ columns: a,
50
+ gridTemplateColumns: g
51
+ };
52
+ }, P = ({ config: a, prepared: s }) => {
53
+ let { t: c } = O(), { t: l } = e(), { entities: u } = t(), [p, m] = w(null), h = de(), _ = a.list, y = a.listDefaults ?? _.defaultState ?? {
54
+ where: null,
55
+ sort: null
56
+ }, j = ue(_.query, s.query), M = A(_.fragment, j), P = S(() => _.getRows(M).map((e) => _.toRow(e)), [M, _]), F = S(() => _.getNextCursor?.(j) ?? null, [_, j]), [I, L] = w(P), [R, z] = w(F), [B, V] = w(!1), [H, U] = w(!1), [he, W] = w(!1);
57
+ x(() => {
58
+ L(P), z(F);
59
+ }, [F, P]);
60
+ let { columns: G, gridTemplateColumns: ge } = S(() => {
61
+ let e = r(_.columns, {
62
+ tApp: c,
63
+ t: l,
64
+ resolveEntityHref: (e, t) => {
65
+ let n = u[e];
66
+ return n == null ? null : n.routes.detail(t);
67
+ }
68
+ }), t = f({
69
+ ariaLabel: l("actions.view"),
70
+ fallback: l("common.notAvailable"),
71
+ className: re,
72
+ resolveDetailHref: (e) => a.routes.detail(e),
73
+ renderAction: ({ href: e, ariaLabel: t }) => /* @__PURE__ */ D(se.Actions, { children: /* @__PURE__ */ D("span", {
74
+ className: ne,
75
+ title: t,
76
+ children: /* @__PURE__ */ D(E, {
77
+ to: e,
78
+ variant: "icon",
79
+ size: "small",
80
+ "aria-label": t,
81
+ children: /* @__PURE__ */ D(ae, {
82
+ width: 16,
83
+ height: 16
84
+ })
85
+ })
86
+ }) })
87
+ });
88
+ return me([...e, t], _.rowFlags, 1, c);
89
+ }, [
90
+ a.routes,
91
+ _.columns,
92
+ _.rowFlags,
93
+ u,
94
+ l,
95
+ c
96
+ ]), K = b((e) => _.getRowId(e), [_]), { state: q, pushState: _e } = d(a), J = q.sort ?? y.sort, { pageSize: Y } = fe, ve = b((e) => _.buildQueryVariables(e), [_]), X = C(0), ye = C(N({
97
+ where: y.where,
98
+ sort: y.sort,
99
+ count: Y
100
+ })), Z = b(async (e) => {
101
+ let t = X.current + 1;
102
+ X.current = t, e.mode === "append" ? V(!0) : U(!0), W(!1);
103
+ try {
104
+ let n = ve({
105
+ where: e.where,
106
+ sort: e.sort,
107
+ count: e.count,
108
+ cursor: e.cursor
109
+ }), r = await k(h, _.query, n, { fetchPolicy: pe }).toPromise();
110
+ if (r == null || X.current !== t) return;
111
+ let i = _.getRows(r).map((e) => _.toRow(e));
112
+ L((t) => e.mode === "append" ? [...t, ...i] : i), z(_.getNextCursor?.(r) ?? null);
113
+ } catch {
114
+ X.current === t && W(!0);
115
+ } finally {
116
+ e.mode === "append" ? V(!1) : U(!1);
117
+ }
118
+ }, [
119
+ ve,
120
+ h,
121
+ _
122
+ ]);
123
+ x(() => {
124
+ let e = N({
125
+ where: q.where,
126
+ sort: J,
127
+ count: Y
128
+ });
129
+ ye.current !== e && (ye.current = e, Z({
130
+ where: q.where,
131
+ sort: J,
132
+ count: Y,
133
+ cursor: null,
134
+ mode: "reset"
135
+ }).catch(() => {
136
+ W(!0);
137
+ }));
138
+ }, [
139
+ Y,
140
+ J,
141
+ Z,
142
+ q.where
143
+ ]);
144
+ let Q = b(() => {
145
+ H || Z({
146
+ where: q.where,
147
+ sort: J,
148
+ count: Y,
149
+ cursor: null,
150
+ mode: "reset"
151
+ }).catch(() => {
152
+ W(!0);
153
+ });
154
+ }, [
155
+ H,
156
+ Y,
157
+ J,
158
+ Z,
159
+ q.where
160
+ ]), be = i({
161
+ hasNext: R != null,
162
+ isLoadingNext: B,
163
+ loadNext: (e) => {
164
+ R != null && Z({
165
+ where: q.where,
166
+ sort: J,
167
+ count: e,
168
+ cursor: R,
169
+ mode: "append"
170
+ }).catch(() => {
171
+ W(!0);
172
+ });
173
+ },
174
+ count: Y
175
+ }), $ = S(() => a.listActions ?? [], [a.listActions]), xe = S(() => $.filter((e) => e.isVisible == null ? !0 : e.isVisible(null)), [$]), Se = S(() => {
176
+ if (xe.length !== 0) return /* @__PURE__ */ D("div", {
177
+ className: ie,
178
+ children: xe.map((e, t) => {
179
+ let { variant: n } = e, r = v(e.label, c), i = r;
180
+ e.ariaLabel != null && (i = v(e.ariaLabel, c));
181
+ let a = te(n, t), o = e.size ?? "small", s = e.isDisabled?.(null) === !0;
182
+ return ee(e) ? /* @__PURE__ */ D(E, {
183
+ to: e.to(null),
184
+ variant: a,
185
+ size: o,
186
+ isDisabled: s,
187
+ "aria-label": i,
188
+ children: r
189
+ }, e.id) : g(e) ? /* @__PURE__ */ D(T, {
190
+ type: "button",
191
+ variant: a,
192
+ size: o,
193
+ disabled: s,
194
+ onClick: () => {
195
+ m(e.id);
196
+ },
197
+ "aria-label": i,
198
+ children: r
199
+ }, e.id) : null;
200
+ })
201
+ });
202
+ }, [c, xe]), Ce = $.find((e) => e.id === p), we = null;
203
+ return he && (we = /* @__PURE__ */ D(oe, {
204
+ tone: "danger",
205
+ title: l("list.errors.title"),
206
+ actions: /* @__PURE__ */ D(T, {
207
+ type: "button",
208
+ variant: "secondary",
209
+ size: "small",
210
+ onClick: Q,
211
+ children: l("list.actions.retry")
212
+ }),
213
+ onDismiss: () => {
214
+ W(!1);
215
+ },
216
+ children: l("list.errors.fetchFailed")
217
+ })), /* @__PURE__ */ le(ce, { children: [/* @__PURE__ */ D(o, {
218
+ config: a,
219
+ state: q,
220
+ pushState: _e,
221
+ headerActions: Se,
222
+ rows: I,
223
+ columns: G,
224
+ gridTemplateColumns: ge,
225
+ getRowId: K,
226
+ hasNextPage: R != null,
227
+ isLoadingMore: B,
228
+ isRefreshing: H,
229
+ onLoadMore: be,
230
+ onRefresh: Q,
231
+ totalCount: null,
232
+ statusBanner: we
233
+ }), Ce != null && g(Ce) && /* @__PURE__ */ D(n, {
234
+ isOpen: !0,
235
+ action: Ce,
236
+ node: null,
237
+ onClose: () => {
238
+ m(null);
239
+ },
240
+ onSuccess: Q
241
+ })] });
242
+ }, F = ({ config: c, prepared: l, breadcrumb: u }) => {
243
+ let p = c.list, { t: m } = O(), { t: h } = e(), { entities: _ } = t(), [y, x] = w(null), C = ue(p.query, l.query), { data: oe, loadNext: ce, hasNext: k, isLoadingNext: A, refetch: de } = j(p.fragment, C), N = p.getConnection(oe), pe = S(() => N.edges.map((e) => p.toRow(e.node)), [N.edges, p]), { columns: P, gridTemplateColumns: F } = S(() => {
244
+ let e = r(p.columns, {
245
+ tApp: m,
246
+ t: h,
247
+ resolveEntityHref: (e, t) => {
248
+ let n = _[e];
249
+ return n == null ? null : n.routes.detail(t);
250
+ }
251
+ }), t = f({
252
+ ariaLabel: h("actions.view"),
253
+ fallback: h("common.notAvailable"),
254
+ className: re,
255
+ resolveDetailHref: (e) => c.routes.detail(e),
256
+ renderAction: ({ href: e, ariaLabel: t }) => /* @__PURE__ */ D(se.Actions, { children: /* @__PURE__ */ D("span", {
257
+ className: ne,
258
+ title: t,
259
+ children: /* @__PURE__ */ D(E, {
260
+ to: e,
261
+ variant: "icon",
262
+ size: "small",
263
+ "aria-label": t,
264
+ children: /* @__PURE__ */ D(ae, {
265
+ width: 16,
266
+ height: 16
267
+ })
268
+ })
269
+ }) })
270
+ });
271
+ return me([...e, t], p.rowFlags, 1, m);
272
+ }, [
273
+ c.routes,
274
+ p.columns,
275
+ p.rowFlags,
276
+ _,
277
+ h,
278
+ m
279
+ ]), I = b((e) => p.getRowId(e), [p]), { state: L, pushState: R } = d(c), z = c.listDefaults ?? p.defaultState ?? {
280
+ where: null,
281
+ sort: null
282
+ }, B = L.sort ?? z.sort, { pageSize: V } = fe, { isRefreshing: H, onRefresh: U } = a({
283
+ refetch: de,
284
+ variables: S(() => ({
285
+ where: L.where,
286
+ sort: B,
287
+ count: V,
288
+ cursor: null
289
+ }), [
290
+ V,
291
+ B,
292
+ L.where
293
+ ]),
294
+ defaults: {
295
+ where: z.where,
296
+ sort: z.sort,
297
+ count: V,
298
+ cursor: null
299
+ },
300
+ fetchPolicy: M,
301
+ buildQueryVariables: p.buildQueryVariables
302
+ }), he = i({
303
+ hasNext: k,
304
+ isLoadingNext: A,
305
+ loadNext: ce,
306
+ count: V
307
+ }), W = S(() => c.listActions ?? [], [c.listActions]), G = S(() => W.filter((e) => e.isVisible == null ? !0 : e.isVisible(null)), [W]), ge = S(() => {
308
+ if (G.length !== 0) return /* @__PURE__ */ D("div", {
309
+ className: ie,
310
+ children: G.map((e, t) => {
311
+ let { variant: n } = e, r = v(e.label, m), i = r;
312
+ e.ariaLabel != null && (i = v(e.ariaLabel, m));
313
+ let a = te(n, t), o = e.size ?? "small", s = e.isDisabled?.(null) === !0;
314
+ return ee(e) ? /* @__PURE__ */ D(E, {
315
+ to: e.to(null),
316
+ variant: a,
317
+ size: o,
318
+ isDisabled: s,
319
+ "aria-label": i,
320
+ children: r
321
+ }, e.id) : g(e) ? /* @__PURE__ */ D(T, {
322
+ type: "button",
323
+ variant: a,
324
+ size: o,
325
+ disabled: s,
326
+ onClick: () => {
327
+ x(e.id);
328
+ },
329
+ "aria-label": i,
330
+ children: r
331
+ }, e.id) : null;
332
+ })
333
+ });
334
+ }, [m, G]), K = W.find((e) => e.id === y);
335
+ return /* @__PURE__ */ le(s, {
336
+ breadcrumb: u,
337
+ children: [/* @__PURE__ */ D(o, {
338
+ config: c,
339
+ state: L,
340
+ pushState: R,
341
+ headerActions: ge,
342
+ rows: pe,
343
+ columns: P,
344
+ gridTemplateColumns: F,
345
+ getRowId: I,
346
+ hasNextPage: k,
347
+ isLoadingMore: A,
348
+ isRefreshing: H,
349
+ onLoadMore: he,
350
+ onRefresh: U,
351
+ totalCount: N.totalCount ?? null
352
+ }), K != null && g(K) && /* @__PURE__ */ D(n, {
353
+ isOpen: !0,
354
+ action: K,
355
+ node: null,
356
+ onClose: () => {
357
+ x(null);
358
+ },
359
+ onSuccess: U
360
+ })]
361
+ });
362
+ }, I = ({ entityManifest: e, config: t, prepared: n }) => {
363
+ let { t: r } = O(), i = c(t, r);
364
+ return _(t) ? /* @__PURE__ */ D(s, {
365
+ breadcrumb: i,
366
+ children: /* @__PURE__ */ D(P, {
367
+ entityManifest: e,
368
+ config: t,
369
+ prepared: n
370
+ })
371
+ }) : h(t) ? /* @__PURE__ */ D(F, {
372
+ entityManifest: e,
373
+ config: t,
374
+ prepared: n,
375
+ breadcrumb: i
376
+ }) : null;
377
+ };
378
+ //#endregion
379
+ export { I as BackofficeEntityListPage, I as default };
380
+
381
+ //# sourceMappingURL=BackofficeEntityListPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeEntityListPage.js","names":[],"sources":["../../../src/pages/BackofficeEntityListPage.tsx"],"sourcesContent":["import {\n type JSX,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { TFunction } from 'i18next';\nimport { useTranslation } from 'react-i18next';\nimport {\n useFragment,\n usePaginationFragment,\n usePreloadedQuery,\n useRelayEnvironment,\n} from 'react-relay';\nimport { fetchQuery } from 'relay-runtime';\nimport {\n BACKOFFICE_LIST_DEFAULTS,\n BACKOFFICE_LIST_REFETCH_POLICY,\n} from '@plumile/backoffice-core/constants.js';\nimport { stableListVariablesKey } from '@plumile/backoffice-core/state/stableKey.js';\nimport type {\n BackofficeEntityManifestItem,\n BackofficePreparedListRoute,\n BackofficeRuntimeResolvedListFacetConfig,\n BackofficeRowFlagSpec,\n} from '@plumile/backoffice-core/types.js';\nimport {\n Button,\n EyeSvg,\n InlineBanner,\n LinkButton,\n TableCell,\n type DataTableColumn,\n type GetRowId,\n} from '@plumile/ui';\nimport { BackofficeEntityListScaffold } from '../components/backoffice/scaffolds/BackofficeEntityListScaffold.js';\nimport { LazyBackofficeEntityActionFormDialog } from '../components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js';\nimport { buildDataTableColumns } from '../components/backoffice/columns/buildDataTableColumns.js';\nimport { RowFlagsCell } from '../components/backoffice/list/RowFlagsCell.js';\nimport { useBackofficeListUrlState } from '../hooks/useBackofficeListUrlState.js';\nimport { useBackofficeLoadMore } from '../hooks/useBackofficeLoadMore.js';\nimport { useBackofficeListRefetch } from '../hooks/useBackofficeListRefetch.js';\nimport { useBackofficeReactTranslation } from '../i18n/useBackofficeReactTranslation.js';\nimport { useBackofficeConfig } from '../provider/BackofficeConfigContext.js';\nimport * as pageStyles from './backofficeEntityListPage.css.js';\nimport { rowFlagsColumnCell } from '../components/backoffice/list/RowFlagsCell.css.js';\nimport { BackofficeRightPageLayout } from '../components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js';\nimport { buildEntityListBreadcrumb } from '../components/backoffice/layout/breadcrumb/buildBreadcrumbs.js';\nimport {\n buildActionsColumn,\n computeActionsColumnWidthPx,\n computeRowFlagsColumnWidthPx,\n isFormMutationAction,\n isConnectionListConfig,\n isRecordListConfig,\n isRouteAction,\n resolveLabel,\n resolveActionVariant,\n resolveTrackBySize,\n type ConnectionListConfig,\n type RecordListConfig,\n} from './BackofficeEntityListPage.helpers.js';\n\nexport type BackofficeEntityListPageProps = {\n entityManifest: BackofficeEntityManifestItem;\n config: BackofficeRuntimeResolvedListFacetConfig;\n prepared: BackofficePreparedListRoute;\n};\n\ntype RecordFetchMode = 'append' | 'reset';\ntype RecordFetchInput = {\n where: Record<string, unknown> | null;\n sort: string | null;\n count: number;\n cursor: string | null;\n mode: RecordFetchMode;\n};\n\nconst RECORD_FETCH_POLICY = 'store-or-network' as const;\n\nconst applyListEdgeColumns = <Row,>(\n inputColumns: readonly DataTableColumn<Row>[],\n rowFlags: readonly BackofficeRowFlagSpec<Row>[] | undefined,\n actionCount: number,\n tApp: TFunction,\n): {\n columns: readonly DataTableColumn<Row>[];\n gridTemplateColumns?: string;\n} => {\n const hasFlags = rowFlags != null && rowFlags.length > 0;\n\n let columns = inputColumns;\n if (hasFlags) {\n const flagsColumn: DataTableColumn<Row> = {\n id: '__rowFlags',\n header: '',\n className: rowFlagsColumnCell,\n mobileRole: 'badge',\n cell: (row) => {\n return <RowFlagsCell row={row} flags={rowFlags} tApp={tApp} />;\n },\n };\n\n // Ensure we never pick the flags column as \"primary\".\n const withFlags = [flagsColumn, ...inputColumns];\n const hasPrimary = withFlags.some((col) => {\n return col.isPrimary === true;\n });\n\n columns = withFlags;\n if (!hasPrimary) {\n columns = withFlags.map((col, index) => {\n if (index === 1) {\n return { ...col, isPrimary: true };\n }\n return col;\n });\n }\n }\n\n let flagCount = 0;\n if (hasFlags) {\n flagCount = rowFlags.length;\n }\n const flagsWidthPx = computeRowFlagsColumnWidthPx(flagCount);\n const actionsWidthPx = computeActionsColumnWidthPx(actionCount);\n\n // We always include the right-side \"actions\" column in list pages.\n let leftColumnCount = 0;\n if (hasFlags) {\n leftColumnCount = 1;\n }\n const middleCount = columns.length - leftColumnCount - 1;\n\n const middleTracks = columns\n .slice(leftColumnCount, leftColumnCount + Math.max(0, middleCount))\n .map((column) => {\n return resolveTrackBySize(column as DataTableColumn<unknown>, '1fr');\n })\n .join(' ');\n\n let gridTemplateColumns = '';\n if (hasFlags) {\n gridTemplateColumns = `${flagsWidthPx}px ${middleTracks} ${actionsWidthPx}px`;\n } else {\n gridTemplateColumns = `${middleTracks} ${actionsWidthPx}px`;\n }\n\n return { columns, gridTemplateColumns };\n};\n\nconst BackofficeEntityRecordListPage = ({\n config,\n prepared,\n}: Omit<BackofficeEntityListPageProps, 'config'> & {\n config: RecordListConfig;\n}): JSX.Element | null => {\n const { t: tApp } = useTranslation();\n const { t } = useBackofficeReactTranslation();\n const { entities } = useBackofficeConfig();\n const [activeFormActionId, setActiveFormActionId] = useState<string | null>(\n null,\n );\n const environment = useRelayEnvironment();\n\n const listConfig = config.list;\n const listDefaults = config.listDefaults ??\n listConfig.defaultState ?? { where: null, sort: null };\n const queryData = usePreloadedQuery(listConfig.query, prepared.query);\n const fragmentData = useFragment(listConfig.fragment, queryData as never);\n\n const initialRows = useMemo(() => {\n return listConfig.getRows(fragmentData).map((row) => {\n return listConfig.toRow(row);\n });\n }, [fragmentData, listConfig]);\n\n const initialCursor = useMemo(() => {\n return listConfig.getNextCursor?.(queryData) ?? null;\n }, [listConfig, queryData]);\n\n const [rows, setRows] = useState(initialRows);\n const [nextCursor, setNextCursor] = useState(initialCursor);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n const [isRefreshing, setIsRefreshing] = useState(false);\n const [fetchError, setFetchError] = useState(false);\n\n useEffect(() => {\n setRows(initialRows);\n setNextCursor(initialCursor);\n }, [initialCursor, initialRows]);\n\n const { columns, gridTemplateColumns } = useMemo((): {\n columns: readonly DataTableColumn<unknown>[];\n gridTemplateColumns?: string;\n } => {\n const baseColumns = buildDataTableColumns(listConfig.columns, {\n tApp,\n t,\n resolveEntityHref: (entityId, refId) => {\n const entityManifest = entities[entityId];\n if (entityManifest == null) {\n return null;\n }\n return entityManifest.routes.detail(refId);\n },\n });\n const actionsColumn = buildActionsColumn({\n ariaLabel: t('actions.view'),\n fallback: t('common.notAvailable'),\n className: pageStyles.actionsColumnCell,\n resolveDetailHref: (id) => {\n return config.routes.detail(id);\n },\n renderAction: ({ href, ariaLabel }) => {\n return (\n <TableCell.Actions>\n <span className={pageStyles.actionTrigger} title={ariaLabel}>\n <LinkButton\n to={href}\n variant=\"icon\"\n size=\"small\"\n aria-label={ariaLabel}\n >\n <EyeSvg width={16} height={16} />\n </LinkButton>\n </span>\n </TableCell.Actions>\n );\n },\n });\n const allColumns = [...baseColumns, actionsColumn];\n return applyListEdgeColumns(allColumns, listConfig.rowFlags, 1, tApp);\n }, [\n config.routes,\n listConfig.columns,\n listConfig.rowFlags,\n entities,\n t,\n tApp,\n ]);\n\n const getRowId = useCallback<GetRowId<unknown>>(\n (row) => {\n return listConfig.getRowId(row);\n },\n [listConfig],\n );\n\n const { state, pushState } = useBackofficeListUrlState(config);\n const resolvedSort = state.sort ?? listDefaults.sort;\n const { pageSize } = BACKOFFICE_LIST_DEFAULTS;\n\n const buildVariables = useCallback(\n (input: {\n where: Record<string, unknown> | null;\n sort: string | null;\n count: number;\n cursor: string | null;\n }) => {\n return listConfig.buildQueryVariables(input);\n },\n [listConfig],\n );\n\n const requestIdRef = useRef(0);\n const lastRefetchKeyRef = useRef(\n stableListVariablesKey({\n where: listDefaults.where,\n sort: listDefaults.sort,\n count: pageSize,\n }),\n );\n\n const runFetch = useCallback(\n async (input: RecordFetchInput) => {\n const requestId = requestIdRef.current + 1;\n requestIdRef.current = requestId;\n\n if (input.mode === 'append') {\n setIsLoadingMore(true);\n } else {\n setIsRefreshing(true);\n }\n setFetchError(false);\n\n try {\n const variables = buildVariables({\n where: input.where,\n sort: input.sort,\n count: input.count,\n cursor: input.cursor,\n });\n\n const response = await fetchQuery(\n environment,\n listConfig.query,\n variables as never,\n { fetchPolicy: RECORD_FETCH_POLICY },\n ).toPromise();\n\n if (response == null || requestIdRef.current !== requestId) {\n return;\n }\n\n const nextRows = listConfig.getRows(response as never).map((row) => {\n return listConfig.toRow(row);\n });\n setRows((prev) => {\n if (input.mode === 'append') {\n return [...prev, ...nextRows];\n }\n return nextRows;\n });\n const cursor = listConfig.getNextCursor?.(response) ?? null;\n setNextCursor(cursor);\n } catch {\n if (requestIdRef.current === requestId) {\n setFetchError(true);\n }\n } finally {\n if (input.mode === 'append') {\n setIsLoadingMore(false);\n } else {\n setIsRefreshing(false);\n }\n }\n },\n [buildVariables, environment, listConfig],\n );\n\n useEffect(() => {\n const key = stableListVariablesKey({\n where: state.where,\n sort: resolvedSort,\n count: pageSize,\n });\n if (lastRefetchKeyRef.current === key) {\n return;\n }\n lastRefetchKeyRef.current = key;\n runFetch({\n where: state.where,\n sort: resolvedSort,\n count: pageSize,\n cursor: null,\n mode: 'reset',\n }).catch(() => {\n setFetchError(true);\n });\n }, [pageSize, resolvedSort, runFetch, state.where]);\n\n const handleRefresh = useCallback(() => {\n if (isRefreshing) {\n return;\n }\n runFetch({\n where: state.where,\n sort: resolvedSort,\n count: pageSize,\n cursor: null,\n mode: 'reset',\n }).catch(() => {\n setFetchError(true);\n });\n }, [isRefreshing, pageSize, resolvedSort, runFetch, state.where]);\n\n const handleLoadMore = useBackofficeLoadMore({\n hasNext: nextCursor != null,\n isLoadingNext: isLoadingMore,\n loadNext: (count) => {\n if (nextCursor == null) {\n return;\n }\n runFetch({\n where: state.where,\n sort: resolvedSort,\n count,\n cursor: nextCursor,\n mode: 'append',\n }).catch(() => {\n setFetchError(true);\n });\n },\n count: pageSize,\n });\n\n const listActions = useMemo(() => {\n return config.listActions ?? [];\n }, [config.listActions]);\n const visibleActions = useMemo(() => {\n return listActions.filter((action) => {\n if (action.isVisible == null) {\n return true;\n }\n return action.isVisible(null);\n });\n }, [listActions]);\n\n const headerActions = useMemo(() => {\n if (visibleActions.length === 0) {\n return undefined;\n }\n return (\n <div className={pageStyles.headerActions}>\n {visibleActions.map((action, index) => {\n const { variant: actionVariant } = action;\n const label = resolveLabel(action.label, tApp);\n let ariaLabel = label;\n if (action.ariaLabel != null) {\n ariaLabel = resolveLabel(action.ariaLabel, tApp);\n }\n const variant = resolveActionVariant(actionVariant, index);\n const size = action.size ?? 'small';\n const isDisabled = action.isDisabled?.(null) === true;\n\n if (isRouteAction(action)) {\n const href = action.to(null);\n return (\n <LinkButton\n key={action.id}\n to={href}\n variant={variant}\n size={size}\n isDisabled={isDisabled}\n aria-label={ariaLabel}\n >\n {label}\n </LinkButton>\n );\n }\n\n if (isFormMutationAction(action)) {\n return (\n <Button\n key={action.id}\n type=\"button\"\n variant={variant}\n size={size}\n disabled={isDisabled}\n onClick={() => {\n setActiveFormActionId(action.id);\n }}\n aria-label={ariaLabel}\n >\n {label}\n </Button>\n );\n }\n\n return null;\n })}\n </div>\n );\n }, [tApp, visibleActions]);\n\n const activeFormAction = listActions.find((action) => {\n return action.id === activeFormActionId;\n });\n\n let statusBanner: JSX.Element | null = null;\n if (fetchError) {\n statusBanner = (\n <InlineBanner\n tone=\"danger\"\n title={t('list.errors.title')}\n actions={\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"small\"\n onClick={handleRefresh}\n >\n {t('list.actions.retry')}\n </Button>\n }\n onDismiss={() => {\n setFetchError(false);\n }}\n >\n {t('list.errors.fetchFailed')}\n </InlineBanner>\n );\n }\n\n return (\n <>\n <BackofficeEntityListScaffold\n config={config}\n state={state}\n pushState={pushState}\n headerActions={headerActions}\n rows={rows}\n columns={columns}\n gridTemplateColumns={gridTemplateColumns}\n getRowId={getRowId}\n hasNextPage={nextCursor != null}\n isLoadingMore={isLoadingMore}\n isRefreshing={isRefreshing}\n onLoadMore={handleLoadMore}\n onRefresh={handleRefresh}\n totalCount={null}\n statusBanner={statusBanner}\n />\n {activeFormAction != null && isFormMutationAction(activeFormAction) && (\n <LazyBackofficeEntityActionFormDialog\n isOpen\n action={activeFormAction}\n node={null}\n onClose={() => {\n setActiveFormActionId(null);\n }}\n onSuccess={handleRefresh}\n />\n )}\n </>\n );\n};\n\nconst BackofficeEntityConnectionListPage = ({\n config,\n prepared,\n breadcrumb,\n}: Omit<BackofficeEntityListPageProps, 'config'> & {\n config: ConnectionListConfig;\n breadcrumb: ReturnType<typeof buildEntityListBreadcrumb>;\n}): JSX.Element | null => {\n const listConfig = config.list;\n\n const { t: tApp } = useTranslation();\n const { t } = useBackofficeReactTranslation();\n const { entities } = useBackofficeConfig();\n const [activeFormActionId, setActiveFormActionId] = useState<string | null>(\n null,\n );\n\n const queryData = usePreloadedQuery(listConfig.query, prepared.query);\n const {\n data: fragmentData,\n loadNext,\n hasNext,\n isLoadingNext,\n refetch,\n } = usePaginationFragment(listConfig.fragment, queryData as never);\n\n const connection = listConfig.getConnection(fragmentData);\n\n const rows = useMemo(() => {\n return connection.edges.map((edge) => {\n return listConfig.toRow(edge.node);\n });\n }, [connection.edges, listConfig]);\n\n const { columns, gridTemplateColumns } = useMemo((): {\n columns: readonly DataTableColumn<unknown>[];\n gridTemplateColumns?: string;\n } => {\n const baseColumns = buildDataTableColumns(listConfig.columns, {\n tApp,\n t,\n resolveEntityHref: (entityId, refId) => {\n const entityManifest = entities[entityId];\n if (entityManifest == null) {\n return null;\n }\n return entityManifest.routes.detail(refId);\n },\n });\n const actionsColumn = buildActionsColumn({\n ariaLabel: t('actions.view'),\n fallback: t('common.notAvailable'),\n className: pageStyles.actionsColumnCell,\n resolveDetailHref: (id) => {\n return config.routes.detail(id);\n },\n renderAction: ({ href, ariaLabel }) => {\n return (\n <TableCell.Actions>\n <span className={pageStyles.actionTrigger} title={ariaLabel}>\n <LinkButton\n to={href}\n variant=\"icon\"\n size=\"small\"\n aria-label={ariaLabel}\n >\n <EyeSvg width={16} height={16} />\n </LinkButton>\n </span>\n </TableCell.Actions>\n );\n },\n });\n const allColumns = [...baseColumns, actionsColumn];\n return applyListEdgeColumns(allColumns, listConfig.rowFlags, 1, tApp);\n }, [\n config.routes,\n listConfig.columns,\n listConfig.rowFlags,\n entities,\n t,\n tApp,\n ]);\n\n const getRowId = useCallback<GetRowId<unknown>>(\n (row) => {\n return listConfig.getRowId(row);\n },\n [listConfig],\n );\n\n const { state, pushState } = useBackofficeListUrlState(config);\n const listDefaults = config.listDefaults ??\n listConfig.defaultState ?? { where: null, sort: null };\n const resolvedSort = state.sort ?? listDefaults.sort;\n const { pageSize } = BACKOFFICE_LIST_DEFAULTS;\n\n const baseVariables = useMemo(() => {\n return {\n where: state.where,\n sort: resolvedSort,\n count: pageSize,\n cursor: null,\n };\n }, [pageSize, resolvedSort, state.where]);\n\n const { isRefreshing, onRefresh } = useBackofficeListRefetch({\n refetch,\n variables: baseVariables,\n defaults: {\n where: listDefaults.where,\n sort: listDefaults.sort,\n count: pageSize,\n cursor: null,\n },\n fetchPolicy: BACKOFFICE_LIST_REFETCH_POLICY,\n buildQueryVariables: listConfig.buildQueryVariables,\n });\n\n const handleLoadMore = useBackofficeLoadMore({\n hasNext,\n isLoadingNext,\n loadNext,\n count: pageSize,\n });\n\n const listActions = useMemo(() => {\n return config.listActions ?? [];\n }, [config.listActions]);\n const visibleActions = useMemo(() => {\n return listActions.filter((action) => {\n if (action.isVisible == null) {\n return true;\n }\n return action.isVisible(null);\n });\n }, [listActions]);\n\n const headerActions = useMemo(() => {\n if (visibleActions.length === 0) {\n return undefined;\n }\n return (\n <div className={pageStyles.headerActions}>\n {visibleActions.map((action, index) => {\n const { variant: actionVariant } = action;\n const label = resolveLabel(action.label, tApp);\n let ariaLabel = label;\n if (action.ariaLabel != null) {\n ariaLabel = resolveLabel(action.ariaLabel, tApp);\n }\n const variant = resolveActionVariant(actionVariant, index);\n const size = action.size ?? 'small';\n const isDisabled = action.isDisabled?.(null) === true;\n\n if (isRouteAction(action)) {\n const href = action.to(null);\n return (\n <LinkButton\n key={action.id}\n to={href}\n variant={variant}\n size={size}\n isDisabled={isDisabled}\n aria-label={ariaLabel}\n >\n {label}\n </LinkButton>\n );\n }\n\n if (isFormMutationAction(action)) {\n return (\n <Button\n key={action.id}\n type=\"button\"\n variant={variant}\n size={size}\n disabled={isDisabled}\n onClick={() => {\n setActiveFormActionId(action.id);\n }}\n aria-label={ariaLabel}\n >\n {label}\n </Button>\n );\n }\n\n return null;\n })}\n </div>\n );\n }, [tApp, visibleActions]);\n\n const activeFormAction = listActions.find((action) => {\n return action.id === activeFormActionId;\n });\n\n return (\n <BackofficeRightPageLayout breadcrumb={breadcrumb}>\n <BackofficeEntityListScaffold\n config={config}\n state={state}\n pushState={pushState}\n headerActions={headerActions}\n rows={rows}\n columns={columns}\n gridTemplateColumns={gridTemplateColumns}\n getRowId={getRowId}\n hasNextPage={hasNext}\n isLoadingMore={isLoadingNext}\n isRefreshing={isRefreshing}\n onLoadMore={handleLoadMore}\n onRefresh={onRefresh}\n totalCount={connection.totalCount ?? null}\n />\n {activeFormAction != null && isFormMutationAction(activeFormAction) && (\n <LazyBackofficeEntityActionFormDialog\n isOpen\n action={activeFormAction}\n node={null}\n onClose={() => {\n setActiveFormActionId(null);\n }}\n onSuccess={onRefresh}\n />\n )}\n </BackofficeRightPageLayout>\n );\n};\n\nexport const BackofficeEntityListPage = ({\n entityManifest,\n config,\n prepared,\n}: BackofficeEntityListPageProps): JSX.Element | null => {\n const { t: tApp } = useTranslation();\n const breadcrumb = buildEntityListBreadcrumb(config, tApp);\n\n if (isRecordListConfig(config)) {\n return (\n <BackofficeRightPageLayout breadcrumb={breadcrumb}>\n <BackofficeEntityRecordListPage\n entityManifest={entityManifest}\n config={config}\n prepared={prepared}\n />\n </BackofficeRightPageLayout>\n );\n }\n if (!isConnectionListConfig(config)) {\n return null;\n }\n return (\n <BackofficeEntityConnectionListPage\n entityManifest={entityManifest}\n config={config}\n prepared={prepared}\n breadcrumb={breadcrumb}\n />\n );\n};\n\nexport default BackofficeEntityListPage;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgFA,IAAM,KAAsB,oBAEtB,MACJ,GACA,GACA,GACA,MAIG;CACH,IAAM,IAAW,KAAY,QAAQ,EAAS,SAAS,GAEnD,IAAU;CACd,IAAI,GAAU;EAYZ,IAAM,IAAY,CAAC;GAVjB,IAAI;GACJ,QAAQ;GACR,WAAW;GACX,YAAY;GACZ,OAAO,MACE,kBAAC,GAAD;IAAmB;IAAK,OAAO;IAAgB;IAAQ,CAAA;GAK/C,EAAa,GAAG,EAAa,EAC1C,IAAa,EAAU,MAAM,MAC1B,EAAI,cAAc,GACzB;EAGF,AADA,IAAU,GACL,MACH,IAAU,EAAU,KAAK,GAAK,MACxB,MAAU,IACL;GAAE,GAAG;GAAK,WAAW;GAAM,GAE7B,EACP;;CAIN,IAAI,IAAY;CAChB,AAAI,MACF,IAAY,EAAS;CAEvB,IAAM,IAAe,EAA6B,EAAU,EACtD,IAAiB,EAA4B,EAAY,EAG3D,IAAkB;CACtB,AAAI,MACF,IAAkB;CAEpB,IAAM,IAAc,EAAQ,SAAS,IAAkB,GAEjD,IAAe,EAClB,MAAM,GAAiB,IAAkB,KAAK,IAAI,GAAG,EAAY,CAAC,CAClE,KAAK,MACG,EAAmB,GAAoC,MAAM,CACpE,CACD,KAAK,IAAI,EAER,IAAsB;CAO1B,OANA,AAGE,IAHE,IACoB,GAAG,EAAa,KAAK,EAAa,GAAG,EAAe,MAEpD,GAAG,EAAa,GAAG,EAAe,KAGnD;EAAE;EAAS;EAAqB;GAGnC,KAAkC,EACtC,WACA,kBAGwB;CACxB,IAAM,EAAE,GAAG,MAAS,GAAgB,EAC9B,EAAE,SAAM,GAA+B,EACvC,EAAE,gBAAa,GAAqB,EACpC,CAAC,GAAoB,KAAyB,EAClD,KACD,EACK,IAAc,IAAqB,EAEnC,IAAa,EAAO,MACpB,IAAe,EAAO,gBAC1B,EAAW,gBAAgB;EAAE,OAAO;EAAM,MAAM;EAAM,EAClD,IAAY,GAAkB,EAAW,OAAO,EAAS,MAAM,EAC/D,IAAe,EAAY,EAAW,UAAU,EAAmB,EAEnE,IAAc,QACX,EAAW,QAAQ,EAAa,CAAC,KAAK,MACpC,EAAW,MAAM,EAAI,CAC5B,EACD,CAAC,GAAc,EAAW,CAAC,EAExB,IAAgB,QACb,EAAW,gBAAgB,EAAU,IAAI,MAC/C,CAAC,GAAY,EAAU,CAAC,EAErB,CAAC,GAAM,KAAW,EAAS,EAAY,EACvC,CAAC,GAAY,KAAiB,EAAS,EAAc,EACrD,CAAC,GAAe,KAAoB,EAAS,GAAM,EACnD,CAAC,GAAc,KAAmB,EAAS,GAAM,EACjD,CAAC,IAAY,KAAiB,EAAS,GAAM;CAEnD,QAAgB;EAEd,AADA,EAAQ,EAAY,EACpB,EAAc,EAAc;IAC3B,CAAC,GAAe,EAAY,CAAC;CAEhC,IAAM,EAAE,YAAS,4BAAwB,QAGpC;EACH,IAAM,IAAc,EAAsB,EAAW,SAAS;GAC5D;GACA;GACA,oBAAoB,GAAU,MAAU;IACtC,IAAM,IAAiB,EAAS;IAIhC,OAHI,KAAkB,OACb,OAEF,EAAe,OAAO,OAAO,EAAM;;GAE7C,CAAC,EACI,IAAgB,EAAmB;GACvC,WAAW,EAAE,eAAe;GAC5B,UAAU,EAAE,sBAAsB;GAClC,WAAW;GACX,oBAAoB,MACX,EAAO,OAAO,OAAO,EAAG;GAEjC,eAAe,EAAE,SAAM,mBAEnB,kBAAC,GAAU,SAAX,EAAA,UACE,kBAAC,QAAD;IAAM,WAAW;IAA0B,OAAO;cAChD,kBAAC,GAAD;KACE,IAAI;KACJ,SAAQ;KACR,MAAK;KACL,cAAY;eAEZ,kBAAC,IAAD;MAAQ,OAAO;MAAI,QAAQ;MAAM,CAAA;KACtB,CAAA;IACR,CAAA,EACW,CAAA;GAGzB,CAAC;EAEF,OAAO,GAAqB,CADR,GAAG,GAAa,EACR,EAAY,EAAW,UAAU,GAAG,EAAK;IACpE;EACD,EAAO;EACP,EAAW;EACX,EAAW;EACX;EACA;EACA;EACD,CAAC,EAEI,IAAW,GACd,MACQ,EAAW,SAAS,EAAI,EAEjC,CAAC,EAAW,CACb,EAEK,EAAE,UAAO,kBAAc,EAA0B,EAAO,EACxD,IAAe,EAAM,QAAQ,EAAa,MAC1C,EAAE,gBAAa,IAEf,KAAiB,GACpB,MAMQ,EAAW,oBAAoB,EAAM,EAE9C,CAAC,EAAW,CACb,EAEK,IAAe,EAAO,EAAE,EACxB,KAAoB,EACxB,EAAuB;EACrB,OAAO,EAAa;EACpB,MAAM,EAAa;EACnB,OAAO;EACR,CAAC,CACH,EAEK,IAAW,EACf,OAAO,MAA4B;EACjC,IAAM,IAAY,EAAa,UAAU;EAQzC,AAPA,EAAa,UAAU,GAEnB,EAAM,SAAS,WACjB,EAAiB,GAAK,GAEtB,EAAgB,GAAK,EAEvB,EAAc,GAAM;EAEpB,IAAI;GACF,IAAM,IAAY,GAAe;IAC/B,OAAO,EAAM;IACb,MAAM,EAAM;IACZ,OAAO,EAAM;IACb,QAAQ,EAAM;IACf,CAAC,EAEI,IAAW,MAAM,EACrB,GACA,EAAW,OACX,GACA,EAAE,aAAa,IAAqB,CACrC,CAAC,WAAW;GAEb,IAAI,KAAY,QAAQ,EAAa,YAAY,GAC/C;GAGF,IAAM,IAAW,EAAW,QAAQ,EAAkB,CAAC,KAAK,MACnD,EAAW,MAAM,EAAI,CAC5B;GAQF,AAPA,GAAS,MACH,EAAM,SAAS,WACV,CAAC,GAAG,GAAM,GAAG,EAAS,GAExB,EACP,EAEF,EADe,EAAW,gBAAgB,EAAS,IAAI,KAClC;UACf;GACN,AAAI,EAAa,YAAY,KAC3B,EAAc,GAAK;YAEb;GACR,AAAI,EAAM,SAAS,WACjB,EAAiB,GAAM,GAEvB,EAAgB,GAAM;;IAI5B;EAAC;EAAgB;EAAa;EAAW,CAC1C;CAED,QAAgB;EACd,IAAM,IAAM,EAAuB;GACjC,OAAO,EAAM;GACb,MAAM;GACN,OAAO;GACR,CAAC;EACE,GAAkB,YAAY,MAGlC,GAAkB,UAAU,GAC5B,EAAS;GACP,OAAO,EAAM;GACb,MAAM;GACN,OAAO;GACP,QAAQ;GACR,MAAM;GACP,CAAC,CAAC,YAAY;GACb,EAAc,GAAK;IACnB;IACD;EAAC;EAAU;EAAc;EAAU,EAAM;EAAM,CAAC;CAEnD,IAAM,IAAgB,QAAkB;EAClC,KAGJ,EAAS;GACP,OAAO,EAAM;GACb,MAAM;GACN,OAAO;GACP,QAAQ;GACR,MAAM;GACP,CAAC,CAAC,YAAY;GACb,EAAc,GAAK;IACnB;IACD;EAAC;EAAc;EAAU;EAAc;EAAU,EAAM;EAAM,CAAC,EAE3D,KAAiB,EAAsB;EAC3C,SAAS,KAAc;EACvB,eAAe;EACf,WAAW,MAAU;GACf,KAAc,QAGlB,EAAS;IACP,OAAO,EAAM;IACb,MAAM;IACN;IACA,QAAQ;IACR,MAAM;IACP,CAAC,CAAC,YAAY;IACb,EAAc,GAAK;KACnB;;EAEJ,OAAO;EACR,CAAC,EAEI,IAAc,QACX,EAAO,eAAe,EAAE,EAC9B,CAAC,EAAO,YAAY,CAAC,EAClB,KAAiB,QACd,EAAY,QAAQ,MACrB,EAAO,aAAa,OACf,KAEF,EAAO,UAAU,KAAK,CAC7B,EACD,CAAC,EAAY,CAAC,EAEX,KAAgB,QAAc;EAC9B,OAAe,WAAW,GAG9B,OACE,kBAAC,OAAD;GAAK,WAAW;aACb,GAAe,KAAK,GAAQ,MAAU;IACrC,IAAM,EAAE,SAAS,MAAkB,GAC7B,IAAQ,EAAa,EAAO,OAAO,EAAK,EAC1C,IAAY;IAChB,AAAI,EAAO,aAAa,SACtB,IAAY,EAAa,EAAO,WAAW,EAAK;IAElD,IAAM,IAAU,GAAqB,GAAe,EAAM,EACpD,IAAO,EAAO,QAAQ,SACtB,IAAa,EAAO,aAAa,KAAK,KAAK;IAoCjD,OAlCI,GAAc,EAAO,GAGrB,kBAAC,GAAD;KAEE,IAJS,EAAO,GAAG,KAIf;KACK;KACH;KACM;KACZ,cAAY;eAEX;KACU,EARN,EAAO,GAQD,GAIb,EAAqB,EAAO,GAE5B,kBAAC,GAAD;KAEE,MAAK;KACI;KACH;KACN,UAAU;KACV,eAAe;MACb,EAAsB,EAAO,GAAG;;KAElC,cAAY;eAEX;KACM,EAXF,EAAO,GAWL,GAIN;KACP;GACE,CAAA;IAEP,CAAC,GAAM,GAAe,CAAC,EAEpB,KAAmB,EAAY,MAAM,MAClC,EAAO,OAAO,EACrB,EAEE,KAAmC;CAyBvC,OAxBI,OACF,KACE,kBAAC,IAAD;EACE,MAAK;EACL,OAAO,EAAE,oBAAoB;EAC7B,SACE,kBAAC,GAAD;GACE,MAAK;GACL,SAAQ;GACR,MAAK;GACL,SAAS;aAER,EAAE,qBAAqB;GACjB,CAAA;EAEX,iBAAiB;GACf,EAAc,GAAM;;YAGrB,EAAE,0BAA0B;EAChB,CAAA,GAKjB,mBAAA,IAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACU;EACD;EACI;EACI,eAAA;EACT;EACG;EACY;EACX;EACV,aAAa,KAAc;EACZ;EACD;EACd,YAAY;EACZ,WAAW;EACX,YAAY;EACE;EACd,CAAA,EACD,MAAoB,QAAQ,EAAqB,GAAiB,IACjE,kBAAC,GAAD;EACE,QAAA;EACA,QAAQ;EACR,MAAM;EACN,eAAe;GACb,EAAsB,KAAK;;EAE7B,WAAW;EACX,CAAA,CAEH,EAAA,CAAA;GAID,KAAsC,EAC1C,WACA,aACA,oBAIwB;CACxB,IAAM,IAAa,EAAO,MAEpB,EAAE,GAAG,MAAS,GAAgB,EAC9B,EAAE,SAAM,GAA+B,EACvC,EAAE,gBAAa,GAAqB,EACpC,CAAC,GAAoB,KAAyB,EAClD,KACD,EAEK,IAAY,GAAkB,EAAW,OAAO,EAAS,MAAM,EAC/D,EACJ,MAAM,IACN,cACA,YACA,kBACA,gBACE,EAAsB,EAAW,UAAU,EAAmB,EAE5D,IAAa,EAAW,cAAc,GAAa,EAEnD,KAAO,QACJ,EAAW,MAAM,KAAK,MACpB,EAAW,MAAM,EAAK,KAAK,CAClC,EACD,CAAC,EAAW,OAAO,EAAW,CAAC,EAE5B,EAAE,YAAS,2BAAwB,QAGpC;EACH,IAAM,IAAc,EAAsB,EAAW,SAAS;GAC5D;GACA;GACA,oBAAoB,GAAU,MAAU;IACtC,IAAM,IAAiB,EAAS;IAIhC,OAHI,KAAkB,OACb,OAEF,EAAe,OAAO,OAAO,EAAM;;GAE7C,CAAC,EACI,IAAgB,EAAmB;GACvC,WAAW,EAAE,eAAe;GAC5B,UAAU,EAAE,sBAAsB;GAClC,WAAW;GACX,oBAAoB,MACX,EAAO,OAAO,OAAO,EAAG;GAEjC,eAAe,EAAE,SAAM,mBAEnB,kBAAC,GAAU,SAAX,EAAA,UACE,kBAAC,QAAD;IAAM,WAAW;IAA0B,OAAO;cAChD,kBAAC,GAAD;KACE,IAAI;KACJ,SAAQ;KACR,MAAK;KACL,cAAY;eAEZ,kBAAC,IAAD;MAAQ,OAAO;MAAI,QAAQ;MAAM,CAAA;KACtB,CAAA;IACR,CAAA,EACW,CAAA;GAGzB,CAAC;EAEF,OAAO,GAAqB,CADR,GAAG,GAAa,EACR,EAAY,EAAW,UAAU,GAAG,EAAK;IACpE;EACD,EAAO;EACP,EAAW;EACX,EAAW;EACX;EACA;EACA;EACD,CAAC,EAEI,IAAW,GACd,MACQ,EAAW,SAAS,EAAI,EAEjC,CAAC,EAAW,CACb,EAEK,EAAE,UAAO,iBAAc,EAA0B,EAAO,EACxD,IAAe,EAAO,gBAC1B,EAAW,gBAAgB;EAAE,OAAO;EAAM,MAAM;EAAM,EAClD,IAAe,EAAM,QAAQ,EAAa,MAC1C,EAAE,gBAAa,IAWf,EAAE,iBAAc,iBAAc,EAAyB;EAC3D;EACA,WAXoB,SACb;GACL,OAAO,EAAM;GACb,MAAM;GACN,OAAO;GACP,QAAQ;GACT,GACA;GAAC;GAAU;GAAc,EAAM;GAAM,CAI3B;EACX,UAAU;GACR,OAAO,EAAa;GACpB,MAAM,EAAa;GACnB,OAAO;GACP,QAAQ;GACT;EACD,aAAa;EACb,qBAAqB,EAAW;EACjC,CAAC,EAEI,KAAiB,EAAsB;EAC3C;EACA;EACA;EACA,OAAO;EACR,CAAC,EAEI,IAAc,QACX,EAAO,eAAe,EAAE,EAC9B,CAAC,EAAO,YAAY,CAAC,EAClB,IAAiB,QACd,EAAY,QAAQ,MACrB,EAAO,aAAa,OACf,KAEF,EAAO,UAAU,KAAK,CAC7B,EACD,CAAC,EAAY,CAAC,EAEX,KAAgB,QAAc;EAC9B,MAAe,WAAW,GAG9B,OACE,kBAAC,OAAD;GAAK,WAAW;aACb,EAAe,KAAK,GAAQ,MAAU;IACrC,IAAM,EAAE,SAAS,MAAkB,GAC7B,IAAQ,EAAa,EAAO,OAAO,EAAK,EAC1C,IAAY;IAChB,AAAI,EAAO,aAAa,SACtB,IAAY,EAAa,EAAO,WAAW,EAAK;IAElD,IAAM,IAAU,GAAqB,GAAe,EAAM,EACpD,IAAO,EAAO,QAAQ,SACtB,IAAa,EAAO,aAAa,KAAK,KAAK;IAoCjD,OAlCI,GAAc,EAAO,GAGrB,kBAAC,GAAD;KAEE,IAJS,EAAO,GAAG,KAIf;KACK;KACH;KACM;KACZ,cAAY;eAEX;KACU,EARN,EAAO,GAQD,GAIb,EAAqB,EAAO,GAE5B,kBAAC,GAAD;KAEE,MAAK;KACI;KACH;KACN,UAAU;KACV,eAAe;MACb,EAAsB,EAAO,GAAG;;KAElC,cAAY;eAEX;KACM,EAXF,EAAO,GAWL,GAIN;KACP;GACE,CAAA;IAEP,CAAC,GAAM,EAAe,CAAC,EAEpB,IAAmB,EAAY,MAAM,MAClC,EAAO,OAAO,EACrB;CAEF,OACE,mBAAC,GAAD;EAAuC;YAAvC,CACE,kBAAC,GAAD;GACU;GACD;GACI;GACI,eAAA;GACT;GACG;GACY;GACX;GACV,aAAa;GACb,eAAe;GACD;GACd,YAAY;GACD;GACX,YAAY,EAAW,cAAc;GACrC,CAAA,EACD,KAAoB,QAAQ,EAAqB,EAAiB,IACjE,kBAAC,GAAD;GACE,QAAA;GACA,QAAQ;GACR,MAAM;GACN,eAAe;IACb,EAAsB,KAAK;;GAE7B,WAAW;GACX,CAAA,CAEsB;;GAInB,KAA4B,EACvC,mBACA,WACA,kBACuD;CACvD,IAAM,EAAE,GAAG,MAAS,GAAgB,EAC9B,IAAa,EAA0B,GAAQ,EAAK;CAgB1D,OAdI,EAAmB,EAAO,GAE1B,kBAAC,GAAD;EAAuC;YACrC,kBAAC,GAAD;GACkB;GACR;GACE;GACV,CAAA;EACwB,CAAA,GAG3B,EAAuB,EAAO,GAIjC,kBAAC,GAAD;EACkB;EACR;EACE;EACE;EACZ,CAAA,GARK"}
@@ -0,0 +1,122 @@
1
+ import { useBackofficeReactTranslation as e } from "../i18n/useBackofficeReactTranslation.js";
2
+ import { useBackofficeConfig as t } from "../provider/BackofficeConfigContext.js";
3
+ import { BackofficeHubTemplate as n } from "../components/backoffice/hub/BackofficeHubTemplate.js";
4
+ import { useBackofficePermissions as r } from "../components/backoffice/layout/BackofficePermissionsContext.js";
5
+ import { BackofficeRightPageLayout as i } from "../components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js";
6
+ import { buildHubBreadcrumb as a } from "../components/backoffice/layout/breadcrumb/buildBreadcrumbs.js";
7
+ import { resolveLabel as o } from "../components/backoffice/layout/sidebarUtils.js";
8
+ import { useMemo as s, useState as c } from "react";
9
+ import { DetailPageTemplate as l, SidebarTasksSvg as u } from "@plumile/ui";
10
+ import { jsx as d } from "react/jsx-runtime";
11
+ import { useTranslation as f } from "react-i18next";
12
+ //#region src/pages/BackofficeHubPage.tsx
13
+ var p = (e, t) => {
14
+ if (e != null) return /* @__PURE__ */ d(e, {
15
+ width: t,
16
+ height: t,
17
+ "aria-hidden": "true"
18
+ });
19
+ }, m = (e) => {
20
+ let { entity: t, kind: n, permissions: r, sidebar: i } = e;
21
+ return t == null || n === "entity" && t.kind !== "tool" && !t.hasList ? !1 : i?.isItemVisible?.({
22
+ kind: n,
23
+ id: t.id
24
+ }, r) !== !1;
25
+ }, h = ({ prepared: h }) => {
26
+ let { t: g } = f(), { t: _ } = e(), { entities: v, sidebar: y } = t(), b = r(), [x, S] = c(""), { hub: C } = h, w = o(C.title, g), T;
27
+ C.description != null && (T = o(C.description, g));
28
+ let E = a({
29
+ id: C.id,
30
+ title: w
31
+ }), D = x.trim().toLowerCase(), O = C.search?.enabled !== !1, k = _("hub.search.placeholder");
32
+ C.search?.placeholder != null && (k = o(C.search.placeholder, g));
33
+ let A = s(() => C.groups.map((e) => {
34
+ let t = e.items.map((e) => {
35
+ let t = v[e.id];
36
+ if (t == null || !m({
37
+ entity: t,
38
+ kind: e.kind,
39
+ permissions: b,
40
+ sidebar: y
41
+ })) return null;
42
+ let n = t, r = o(n.label, g);
43
+ return D !== "" && !r.toLowerCase().includes(D) ? null : {
44
+ id: e.id,
45
+ kind: e.kind,
46
+ label: r,
47
+ href: n.routes.list,
48
+ icon: p(e.icon, 20)
49
+ };
50
+ }).filter((e) => e != null), n = null;
51
+ return e.description != null && (n = o(e.description, g)), {
52
+ id: e.id,
53
+ title: o(e.title, g),
54
+ description: n,
55
+ icon: p(e.icon, 18),
56
+ items: t
57
+ };
58
+ }).filter((e) => e.items.length > 0), [
59
+ v,
60
+ C.groups,
61
+ D,
62
+ b,
63
+ y,
64
+ g
65
+ ]), j = _("hub.empty.title");
66
+ C.emptyState?.title != null && (j = o(C.emptyState.title, g));
67
+ let M = _("hub.empty.description");
68
+ C.emptyState?.description != null && (M = o(C.emptyState.description, g));
69
+ let N = _("hub.subtitle");
70
+ T != null && (N = T);
71
+ let P = A.some((e) => new Set(e.items.map((e) => e.kind)).size > 1), F = s(() => A.map((e) => ({
72
+ id: e.id,
73
+ title: e.title,
74
+ description: e.description,
75
+ icon: e.icon,
76
+ items: e.items.map((e) => {
77
+ let t = null;
78
+ return P && (t = _("hub.itemKinds.entity"), e.kind === "tool" && (t = _("hub.itemKinds.tool"))), {
79
+ id: e.id,
80
+ kind: e.kind,
81
+ label: e.label,
82
+ href: e.href,
83
+ icon: e.icon,
84
+ metaLabel: t
85
+ };
86
+ })
87
+ })), [
88
+ A,
89
+ P,
90
+ _
91
+ ]), I;
92
+ return O && (I = {
93
+ value: x,
94
+ onChange: S,
95
+ placeholder: k
96
+ }), /* @__PURE__ */ d(i, {
97
+ breadcrumb: E,
98
+ children: /* @__PURE__ */ d(l, {
99
+ header: {
100
+ title: w,
101
+ subtitle: N
102
+ },
103
+ children: /* @__PURE__ */ d(n, {
104
+ groups: F,
105
+ search: I,
106
+ emptyState: {
107
+ title: j,
108
+ description: M,
109
+ icon: /* @__PURE__ */ d(u, {
110
+ width: 28,
111
+ height: 28,
112
+ "aria-hidden": "true"
113
+ })
114
+ }
115
+ })
116
+ })
117
+ });
118
+ };
119
+ //#endregion
120
+ export { h as BackofficeHubPage, h as default };
121
+
122
+ //# sourceMappingURL=BackofficeHubPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeHubPage.js","names":[],"sources":["../../../src/pages/BackofficeHubPage.tsx"],"sourcesContent":["import { useMemo, useState, type JSX, type ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { DetailPageTemplate, SidebarTasksSvg } from '@plumile/ui';\nimport type { BackofficeEntityManifestMap } from '@plumile/backoffice-core/types.js';\n\nimport { useBackofficeReactTranslation } from '../i18n/useBackofficeReactTranslation.js';\nimport { useBackofficeConfig } from '../provider/BackofficeConfigContext.js';\nimport type { BackofficeIconComponent } from '../provider/types.js';\nimport type { BackofficePreparedHubRoute } from '../router/createBackofficeRoutes.js';\nimport {\n BackofficeHubTemplate,\n type BackofficeHubTemplateGroup,\n type BackofficeHubTemplateSearch,\n} from '../components/backoffice/hub/BackofficeHubTemplate.js';\nimport { BackofficeRightPageLayout } from '../components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js';\nimport { buildHubBreadcrumb } from '../components/backoffice/layout/breadcrumb/buildBreadcrumbs.js';\nimport { useBackofficePermissions } from '../components/backoffice/layout/BackofficePermissionsContext.js';\nimport { resolveLabel } from '../components/backoffice/layout/sidebarUtils.js';\n\nexport type BackofficeHubPageProps = {\n prepared: BackofficePreparedHubRoute;\n};\n\ntype HubPageItemView = {\n id: string;\n kind: 'entity' | 'tool';\n label: string;\n href: string;\n icon: ReactNode;\n};\n\ntype HubPageGroupView = {\n id: string;\n title: string;\n description: string | null;\n icon: ReactNode | undefined;\n items: readonly HubPageItemView[];\n};\n\nconst renderIcon = (\n Icon: BackofficeIconComponent | undefined,\n size: number,\n): ReactNode | undefined => {\n if (Icon == null) {\n return undefined;\n }\n return <Icon width={size} height={size} aria-hidden=\"true\" />;\n};\n\nconst isItemVisible = (input: {\n entity: BackofficeEntityManifestMap[string] | null | undefined;\n kind: 'entity' | 'tool';\n permissions: unknown;\n sidebar: ReturnType<typeof useBackofficeConfig>['sidebar'];\n}): boolean => {\n const { entity, kind, permissions, sidebar } = input;\n if (entity == null) {\n return false;\n }\n if (kind === 'entity' && entity.kind !== 'tool' && !entity.hasList) {\n return false;\n }\n const isVisible = sidebar?.isItemVisible?.(\n {\n kind,\n id: entity.id,\n },\n permissions,\n );\n return isVisible !== false;\n};\n\nexport const BackofficeHubPage = ({\n prepared,\n}: BackofficeHubPageProps): JSX.Element => {\n const { t: tApp } = useTranslation();\n const { t } = useBackofficeReactTranslation();\n const { entities, sidebar } = useBackofficeConfig();\n const permissions = useBackofficePermissions();\n const [search, setSearch] = useState('');\n const { hub } = prepared;\n const title = resolveLabel(hub.title, tApp);\n let description: string | undefined;\n if (hub.description != null) {\n description = resolveLabel(hub.description, tApp);\n }\n const breadcrumb = buildHubBreadcrumb({ id: hub.id, title });\n const normalizedSearch = search.trim().toLowerCase();\n const searchEnabled = hub.search?.enabled !== false;\n let searchPlaceholder = t('hub.search.placeholder');\n if (hub.search?.placeholder != null) {\n searchPlaceholder = resolveLabel(hub.search.placeholder, tApp);\n }\n\n const groups = useMemo<readonly HubPageGroupView[]>(() => {\n return hub.groups\n .map((group) => {\n const items = group.items\n .map((item): HubPageItemView | null => {\n const entity = entities[item.id];\n if (entity == null) {\n return null;\n }\n if (\n !isItemVisible({\n entity,\n kind: item.kind,\n permissions,\n sidebar,\n })\n ) {\n return null;\n }\n const entityConfig = entity;\n const label = resolveLabel(entityConfig.label, tApp);\n if (\n normalizedSearch !== '' &&\n !label.toLowerCase().includes(normalizedSearch)\n ) {\n return null;\n }\n return {\n id: item.id,\n kind: item.kind,\n label,\n href: entityConfig.routes.list,\n icon: renderIcon(item.icon, 20),\n };\n })\n .filter((item): item is HubPageItemView => {\n return item != null;\n });\n let groupDescription: string | null = null;\n if (group.description != null) {\n groupDescription = resolveLabel(group.description, tApp);\n }\n return {\n id: group.id,\n title: resolveLabel(group.title, tApp),\n description: groupDescription,\n icon: renderIcon(group.icon, 18),\n items,\n };\n })\n .filter((group) => {\n return group.items.length > 0;\n });\n }, [entities, hub.groups, normalizedSearch, permissions, sidebar, tApp]);\n\n let emptyTitle = t('hub.empty.title');\n if (hub.emptyState?.title != null) {\n emptyTitle = resolveLabel(hub.emptyState.title, tApp);\n }\n let emptyDescription = t('hub.empty.description');\n if (hub.emptyState?.description != null) {\n emptyDescription = resolveLabel(hub.emptyState.description, tApp);\n }\n let subtitle = t('hub.subtitle');\n if (description != null) {\n subtitle = description;\n }\n const hasMixedKinds = groups.some((group) => {\n const kinds = new Set(\n group.items.map((item) => {\n return item.kind;\n }),\n );\n return kinds.size > 1;\n });\n\n const templateGroups = useMemo<readonly BackofficeHubTemplateGroup[]>(() => {\n return groups.map((group) => {\n return {\n id: group.id,\n title: group.title,\n description: group.description,\n icon: group.icon,\n items: group.items.map((item) => {\n let metaLabel: string | null = null;\n if (hasMixedKinds) {\n metaLabel = t('hub.itemKinds.entity');\n if (item.kind === 'tool') {\n metaLabel = t('hub.itemKinds.tool');\n }\n }\n return {\n id: item.id,\n kind: item.kind,\n label: item.label,\n href: item.href,\n icon: item.icon,\n metaLabel,\n };\n }),\n };\n });\n }, [groups, hasMixedKinds, t]);\n\n let searchConfig: BackofficeHubTemplateSearch | undefined;\n if (searchEnabled) {\n searchConfig = {\n value: search,\n onChange: setSearch,\n placeholder: searchPlaceholder,\n };\n }\n\n return (\n <BackofficeRightPageLayout breadcrumb={breadcrumb}>\n <DetailPageTemplate\n header={{\n title,\n subtitle,\n }}\n >\n <BackofficeHubTemplate\n groups={templateGroups}\n search={searchConfig}\n emptyState={{\n title: emptyTitle,\n description: emptyDescription,\n icon: <SidebarTasksSvg width={28} height={28} aria-hidden=\"true\" />,\n }}\n />\n </DetailPageTemplate>\n </BackofficeRightPageLayout>\n );\n};\n\nexport default BackofficeHubPage;\n"],"mappings":";;;;;;;;;;;;AAwCA,IAAM,KACJ,GACA,MAC0B;CACtB,SAAQ,MAGZ,OAAO,kBAAC,GAAD;EAAM,OAAO;EAAM,QAAQ;EAAM,eAAY;EAAS,CAAA;GAGzD,KAAiB,MAKR;CACb,IAAM,EAAE,WAAQ,SAAM,gBAAa,eAAY;CAc/C,OAbI,KAAU,QAGV,MAAS,YAAY,EAAO,SAAS,UAAU,CAAC,EAAO,UAClD,KAES,GAAS,gBACzB;EACE;EACA,IAAI,EAAO;EACZ,EACD,EACD,KACoB;GAGV,KAAqB,EAChC,kBACyC;CACzC,IAAM,EAAE,GAAG,MAAS,GAAgB,EAC9B,EAAE,SAAM,GAA+B,EACvC,EAAE,aAAU,eAAY,GAAqB,EAC7C,IAAc,GAA0B,EACxC,CAAC,GAAQ,KAAa,EAAS,GAAG,EAClC,EAAE,WAAQ,GACV,IAAQ,EAAa,EAAI,OAAO,EAAK,EACvC;CACJ,AAAI,EAAI,eAAe,SACrB,IAAc,EAAa,EAAI,aAAa,EAAK;CAEnD,IAAM,IAAa,EAAmB;EAAE,IAAI,EAAI;EAAI;EAAO,CAAC,EACtD,IAAmB,EAAO,MAAM,CAAC,aAAa,EAC9C,IAAgB,EAAI,QAAQ,YAAY,IAC1C,IAAoB,EAAE,yBAAyB;CACnD,AAAI,EAAI,QAAQ,eAAe,SAC7B,IAAoB,EAAa,EAAI,OAAO,aAAa,EAAK;CAGhE,IAAM,IAAS,QACN,EAAI,OACR,KAAK,MAAU;EACd,IAAM,IAAQ,EAAM,MACjB,KAAK,MAAiC;GACrC,IAAM,IAAS,EAAS,EAAK;GAI7B,IAHI,KAAU,QAIZ,CAAC,EAAc;IACb;IACA,MAAM,EAAK;IACX;IACA;IACD,CAAC,EAEF,OAAO;GAET,IAAM,IAAe,GACf,IAAQ,EAAa,EAAa,OAAO,EAAK;GAOpD,OALE,MAAqB,MACrB,CAAC,EAAM,aAAa,CAAC,SAAS,EAAiB,GAExC,OAEF;IACL,IAAI,EAAK;IACT,MAAM,EAAK;IACX;IACA,MAAM,EAAa,OAAO;IAC1B,MAAM,EAAW,EAAK,MAAM,GAAG;IAChC;IACD,CACD,QAAQ,MACA,KAAQ,KACf,EACA,IAAkC;EAItC,OAHI,EAAM,eAAe,SACvB,IAAmB,EAAa,EAAM,aAAa,EAAK,GAEnD;GACL,IAAI,EAAM;GACV,OAAO,EAAa,EAAM,OAAO,EAAK;GACtC,aAAa;GACb,MAAM,EAAW,EAAM,MAAM,GAAG;GAChC;GACD;GACD,CACD,QAAQ,MACA,EAAM,MAAM,SAAS,EAC5B,EACH;EAAC;EAAU,EAAI;EAAQ;EAAkB;EAAa;EAAS;EAAK,CAAC,EAEpE,IAAa,EAAE,kBAAkB;CACrC,AAAI,EAAI,YAAY,SAAS,SAC3B,IAAa,EAAa,EAAI,WAAW,OAAO,EAAK;CAEvD,IAAI,IAAmB,EAAE,wBAAwB;CACjD,AAAI,EAAI,YAAY,eAAe,SACjC,IAAmB,EAAa,EAAI,WAAW,aAAa,EAAK;CAEnE,IAAI,IAAW,EAAE,eAAe;CAChC,AAAI,KAAe,SACjB,IAAW;CAEb,IAAM,IAAgB,EAAO,MAAM,MAM1B,IALW,IAChB,EAAM,MAAM,KAAK,MACR,EAAK,KACZ,CAEG,CAAM,OAAO,EACpB,EAEI,IAAiB,QACd,EAAO,KAAK,OACV;EACL,IAAI,EAAM;EACV,OAAO,EAAM;EACb,aAAa,EAAM;EACnB,MAAM,EAAM;EACZ,OAAO,EAAM,MAAM,KAAK,MAAS;GAC/B,IAAI,IAA2B;GAO/B,OANI,MACF,IAAY,EAAE,uBAAuB,EACjC,EAAK,SAAS,WAChB,IAAY,EAAE,qBAAqB,IAGhC;IACL,IAAI,EAAK;IACT,MAAM,EAAK;IACX,OAAO,EAAK;IACZ,MAAM,EAAK;IACX,MAAM,EAAK;IACX;IACD;IACD;EACH,EACD,EACD;EAAC;EAAQ;EAAe;EAAE,CAAC,EAE1B;CASJ,OARI,MACF,IAAe;EACb,OAAO;EACP,UAAU;EACV,aAAa;EACd,GAID,kBAAC,GAAD;EAAuC;YACrC,kBAAC,GAAD;GACE,QAAQ;IACN;IACA;IACD;aAED,kBAAC,GAAD;IACE,QAAQ;IACR,QAAQ;IACR,YAAY;KACV,OAAO;KACP,aAAa;KACb,MAAM,kBAAC,GAAD;MAAiB,OAAO;MAAI,QAAQ;MAAI,eAAY;MAAS,CAAA;KACpE;IACD,CAAA;GACiB,CAAA;EACK,CAAA"}