@plumile/backoffice-react 0.1.105 → 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 (633) 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-VaWXQPHp.js → auth/pages/AcceptInvitationScreen.js} +11 -11
  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/{BackofficeEntityActionFormDialog-DrZxuytz.js → components/backoffice/actions/BackofficeEntityActionFormDialog.js} +123 -121
  37. package/lib/esm/{BackofficeEntityActionFormDialog-DrZxuytz.js.map → components/backoffice/actions/BackofficeEntityActionFormDialog.js.map} +1 -1
  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/{backofficeEntityActionFormDialog.css-DJgEKwaA.js → components/backoffice/actions/backofficeEntityActionFormDialog.css.js} +3 -2
  41. package/lib/esm/{backofficeEntityActionFormDialog.css-DJgEKwaA.js.map → components/backoffice/actions/backofficeEntityActionFormDialog.css.js.map} +1 -1
  42. package/lib/esm/{toastViewAction-DQYlcGOL.js → components/backoffice/actions/toastViewAction.js} +2 -2
  43. package/lib/esm/{toastViewAction-DQYlcGOL.js.map → components/backoffice/actions/toastViewAction.js.map} +1 -1
  44. package/lib/esm/{buildDataTableColumns-DdmF-EYq.js → components/backoffice/columns/buildDataTableColumns.js} +18 -18
  45. package/lib/esm/{buildDataTableColumns-DdmF-EYq.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-C2bdxy2z.js → components/backoffice/layout/BackofficePermissionsContext.js} +2 -2
  157. package/lib/esm/{BackofficePermissionsContext-C2bdxy2z.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-Da5XFatM.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-C5St167Y.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/{sidebarUtils-BgCBLJLv.js → components/backoffice/layout/sidebarUtils.js} +32 -22
  180. package/lib/esm/{sidebarUtils-BgCBLJLv.js.map → components/backoffice/layout/sidebarUtils.js.map} +1 -1
  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-Ca6d7uIN.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-Iu4R3WvX.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/{BackofficeHubPage-DOePQ8Fc.js → pages/BackofficeHubPage.js} +29 -28
  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-Cit5sdDm.js → pages/BackofficePasswordResetCompletePage.js} +16 -15
  397. package/lib/esm/pages/BackofficePasswordResetCompletePage.js.map +1 -0
  398. package/lib/esm/{BackofficePasswordResetRequestPage-B_TurHev.js → pages/BackofficePasswordResetRequestPage.js} +12 -12
  399. package/lib/esm/pages/BackofficePasswordResetRequestPage.js.map +1 -0
  400. package/lib/esm/{BackofficeVerifyEmailPage-DQbFIob1.js → pages/BackofficeVerifyEmailPage.js} +16 -15
  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-C5G-PH28.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-CUaTq4Ql.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-CW9xfRzQ.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-C2Vb_vPt.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-2hHNn8D3.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/components/backoffice/detail/BackofficeAuditMetadataPanel.d.ts +19 -0
  482. package/lib/types/components/backoffice/detail/BackofficeAuditMetadataPanel.d.ts.map +1 -0
  483. package/lib/types/components/backoffice/detail/BackofficeEntityRefLink.d.ts +15 -0
  484. package/lib/types/components/backoffice/detail/BackofficeEntityRefLink.d.ts.map +1 -0
  485. package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts +34 -0
  486. package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts.map +1 -0
  487. package/lib/types/components/backoffice/detail/BackofficeEnumLabel.d.ts +9 -0
  488. package/lib/types/components/backoffice/detail/BackofficeEnumLabel.d.ts.map +1 -0
  489. package/lib/types/components/backoffice/detail/BackofficeKpiStrip.d.ts +17 -0
  490. package/lib/types/components/backoffice/detail/BackofficeKpiStrip.d.ts.map +1 -0
  491. package/lib/types/components/backoffice/detail/BackofficeLifecycleTimelineSection.d.ts +20 -0
  492. package/lib/types/components/backoffice/detail/BackofficeLifecycleTimelineSection.d.ts.map +1 -0
  493. package/lib/types/components/backoffice/detail/BackofficePayloadInspectorSection.d.ts +15 -0
  494. package/lib/types/components/backoffice/detail/BackofficePayloadInspectorSection.d.ts.map +1 -0
  495. package/lib/types/components/backoffice/detail/BackofficeReferenceValue.d.ts +9 -0
  496. package/lib/types/components/backoffice/detail/BackofficeReferenceValue.d.ts.map +1 -0
  497. package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts +17 -0
  498. package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts.map +1 -0
  499. package/lib/types/components/backoffice/detail/BackofficeScopeStack.d.ts +13 -0
  500. package/lib/types/components/backoffice/detail/BackofficeScopeStack.d.ts.map +1 -0
  501. package/lib/types/components/backoffice/detail/BackofficeStatusMetaBadge.d.ts +13 -0
  502. package/lib/types/components/backoffice/detail/BackofficeStatusMetaBadge.d.ts.map +1 -0
  503. package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts +18 -0
  504. package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts.map +1 -0
  505. package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts +31 -0
  506. package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts.map +1 -0
  507. package/lib/types/components/backoffice/detail/backofficeAuditMetadataPanel.css.d.ts +5 -0
  508. package/lib/types/components/backoffice/detail/backofficeAuditMetadataPanel.css.d.ts.map +1 -0
  509. package/lib/types/components/backoffice/detail/backofficeEntitySummaryHeader.css.d.ts +12 -0
  510. package/lib/types/components/backoffice/detail/backofficeEntitySummaryHeader.css.d.ts.map +1 -0
  511. package/lib/types/components/backoffice/detail/backofficeKpiStrip.css.d.ts +5 -0
  512. package/lib/types/components/backoffice/detail/backofficeKpiStrip.css.d.ts.map +1 -0
  513. package/lib/types/components/backoffice/detail/backofficeLifecycleTimelineSection.css.d.ts +3 -0
  514. package/lib/types/components/backoffice/detail/backofficeLifecycleTimelineSection.css.d.ts.map +1 -0
  515. package/lib/types/components/backoffice/detail/backofficePayloadInspectorSection.css.d.ts +4 -0
  516. package/lib/types/components/backoffice/detail/backofficePayloadInspectorSection.css.d.ts.map +1 -0
  517. package/lib/types/components/backoffice/detail/backofficeReferenceValue.css.d.ts +3 -0
  518. package/lib/types/components/backoffice/detail/backofficeReferenceValue.css.d.ts.map +1 -0
  519. package/lib/types/components/backoffice/detail/backofficeRelationsSummaryGrid.css.d.ts +6 -0
  520. package/lib/types/components/backoffice/detail/backofficeRelationsSummaryGrid.css.d.ts.map +1 -0
  521. package/lib/types/components/backoffice/detail/backofficeScopeStack.css.d.ts +5 -0
  522. package/lib/types/components/backoffice/detail/backofficeScopeStack.css.d.ts.map +1 -0
  523. package/lib/types/components/backoffice/detail/backofficeStatusMetaBadge.css.d.ts +2 -0
  524. package/lib/types/components/backoffice/detail/backofficeStatusMetaBadge.css.d.ts.map +1 -0
  525. package/lib/types/components/backoffice/detail/backofficeUsageCostBreakdown.css.d.ts +7 -0
  526. package/lib/types/components/backoffice/detail/backofficeUsageCostBreakdown.css.d.ts.map +1 -0
  527. package/lib/types/components/backoffice/detail/createBackofficeEntityLinkProps.d.ts +30 -0
  528. package/lib/types/components/backoffice/detail/createBackofficeEntityLinkProps.d.ts.map +1 -0
  529. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.stories.d.ts +12 -0
  530. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.stories.d.ts.map +1 -0
  531. package/lib/types/components/backoffice/filters/EntityIdFilterField.stories.d.ts +12 -0
  532. package/lib/types/components/backoffice/filters/EntityIdFilterField.stories.d.ts.map +1 -0
  533. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.stories.d.ts +11 -0
  534. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.stories.d.ts.map +1 -0
  535. package/lib/types/components/backoffice/refs/BackofficeEntityLink.d.ts +15 -0
  536. package/lib/types/components/backoffice/refs/BackofficeEntityLink.d.ts.map +1 -0
  537. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.stories.d.ts +11 -0
  538. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.stories.d.ts.map +1 -0
  539. package/lib/types/components/backoffice/shared/BackofficeFormattedCurrency.d.ts +9 -0
  540. package/lib/types/components/backoffice/shared/BackofficeFormattedCurrency.d.ts.map +1 -0
  541. package/lib/types/components/backoffice/shared/BackofficeFormattedNumber.d.ts +9 -0
  542. package/lib/types/components/backoffice/shared/BackofficeFormattedNumber.d.ts.map +1 -0
  543. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts +11 -0
  544. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts.map +1 -0
  545. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts +8 -0
  546. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +1 -0
  547. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts +15 -0
  548. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +1 -0
  549. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts +7 -0
  550. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts.map +1 -0
  551. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts +8 -0
  552. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +1 -0
  553. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts +7 -0
  554. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts.map +1 -0
  555. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts +4 -0
  556. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts.map +1 -0
  557. package/lib/types/components/backoffice/tools/parseToolJson.d.ts +2 -0
  558. package/lib/types/components/backoffice/tools/parseToolJson.d.ts.map +1 -0
  559. package/lib/types/hooks/useInfiniteConnection.d.ts +37 -0
  560. package/lib/types/hooks/useInfiniteConnection.d.ts.map +1 -0
  561. package/lib/types/i18n/resources.d.ts +54 -0
  562. package/lib/types/i18n/resources.d.ts.map +1 -1
  563. package/lib/types/index.d.ts +28 -0
  564. package/lib/types/index.d.ts.map +1 -1
  565. package/lib/types/relay/connectionUtils.d.ts +10 -0
  566. package/lib/types/relay/connectionUtils.d.ts.map +1 -0
  567. package/lib/types/storybook/relay/RelayStory.css.d.ts +5 -0
  568. package/lib/types/storybook/relay/RelayStory.css.d.ts.map +1 -0
  569. package/lib/types/storybook/relay/RelayStory.d.ts +35 -0
  570. package/lib/types/storybook/relay/RelayStory.d.ts.map +1 -0
  571. package/lib/types/storybook/relay/mockResolvers.d.ts +3 -0
  572. package/lib/types/storybook/relay/mockResolvers.d.ts.map +1 -0
  573. package/lib/types/subscriptions/useCursorResumableSubscription.d.ts +16 -0
  574. package/lib/types/subscriptions/useCursorResumableSubscription.d.ts.map +1 -0
  575. package/package.json +24 -9
  576. package/lib/esm/AcceptInvitationScreen-VaWXQPHp.js.map +0 -1
  577. package/lib/esm/AuthPanel-BaIRFGbX.js.map +0 -1
  578. package/lib/esm/BackofficeAcceptInvitationPage-tpfBfhT9.js +0 -24
  579. package/lib/esm/BackofficeAcceptInvitationPage-tpfBfhT9.js.map +0 -1
  580. package/lib/esm/BackofficeDashboardPage-D5W36DY-.js +0 -329
  581. package/lib/esm/BackofficeDashboardPage-D5W36DY-.js.map +0 -1
  582. package/lib/esm/BackofficeDetailPayload-CZcsDv2w.js +0 -98
  583. package/lib/esm/BackofficeDetailPayload-CZcsDv2w.js.map +0 -1
  584. package/lib/esm/BackofficeEntityDetailLayoutContext-C5G-PH28.js.map +0 -1
  585. package/lib/esm/BackofficeEntityDetailLayoutPage-BSgGBzSL.js +0 -18
  586. package/lib/esm/BackofficeEntityDetailLayoutPage-BSgGBzSL.js.map +0 -1
  587. package/lib/esm/BackofficeEntityDetailPage-LB1uEJVM.js +0 -1061
  588. package/lib/esm/BackofficeEntityDetailPage-LB1uEJVM.js.map +0 -1
  589. package/lib/esm/BackofficeEntityDetailUnknownPageRedirect-Iu4R3WvX.js.map +0 -1
  590. package/lib/esm/BackofficeEntityListPage-D_zL-qRb.js +0 -432
  591. package/lib/esm/BackofficeEntityListPage-D_zL-qRb.js.map +0 -1
  592. package/lib/esm/BackofficeHubPage-DOePQ8Fc.js.map +0 -1
  593. package/lib/esm/BackofficeHubTemplate-C6K55egX.js +0 -82
  594. package/lib/esm/BackofficeHubTemplate-C6K55egX.js.map +0 -1
  595. package/lib/esm/BackofficeLayoutPage-Bq2bKkYF.js +0 -783
  596. package/lib/esm/BackofficeLayoutPage-Bq2bKkYF.js.map +0 -1
  597. package/lib/esm/BackofficeListToolbar-loFfIPtP.js +0 -109
  598. package/lib/esm/BackofficeListToolbar-loFfIPtP.js.map +0 -1
  599. package/lib/esm/BackofficeLoginPage-DIlcOueK.js +0 -46
  600. package/lib/esm/BackofficeLoginPage-DIlcOueK.js.map +0 -1
  601. package/lib/esm/BackofficePasswordResetCompletePage-Cit5sdDm.js.map +0 -1
  602. package/lib/esm/BackofficePasswordResetRequestPage-B_TurHev.js.map +0 -1
  603. package/lib/esm/BackofficeRightPageLayout-CfNkrMvH.js +0 -83
  604. package/lib/esm/BackofficeRightPageLayout-CfNkrMvH.js.map +0 -1
  605. package/lib/esm/BackofficeTopbarPortalContext-Da5XFatM.js.map +0 -1
  606. package/lib/esm/BackofficeVerifyEmailPage-DQbFIob1.js.map +0 -1
  607. package/lib/esm/EntityIdPickerDialog-BSn0v3bv.js +0 -340
  608. package/lib/esm/EntityIdPickerDialog-BSn0v3bv.js.map +0 -1
  609. package/lib/esm/LazyBackofficeEntityActionFormDialog-oRd_WHAK.js +0 -670
  610. package/lib/esm/LazyBackofficeEntityActionFormDialog-oRd_WHAK.js.map +0 -1
  611. package/lib/esm/PasswordResetCompleteScreen-Cgg96DPo.js.map +0 -1
  612. package/lib/esm/PasswordResetRequestScreen-I1nFvGLd.js.map +0 -1
  613. package/lib/esm/VerifyEmailScreen-Br5KyHjg.js.map +0 -1
  614. package/lib/esm/backoffice-react.js +0 -1925
  615. package/lib/esm/backoffice-react.js.map +0 -1
  616. package/lib/esm/backofficeAuthPaths-2hHNn8D3.js.map +0 -1
  617. package/lib/esm/buildBreadcrumbs-C5St167Y.js.map +0 -1
  618. package/lib/esm/environment-DQfVyWHJ.js.map +0 -1
  619. package/lib/esm/loginPage.css-B7Io_DuU.js +0 -6
  620. package/lib/esm/loginPage.css-B7Io_DuU.js.map +0 -1
  621. package/lib/esm/mutationResult-C2Vb_vPt.js.map +0 -1
  622. package/lib/esm/pageResolution-CUaTq4Ql.js.map +0 -1
  623. package/lib/esm/synchronizeAuthStatusQuery-DNJR5MfH.js +0 -323
  624. package/lib/esm/synchronizeAuthStatusQuery-DNJR5MfH.js.map +0 -1
  625. package/lib/esm/useAuth-CWf8ZspF.js +0 -548
  626. package/lib/esm/useAuth-CWf8ZspF.js.map +0 -1
  627. package/lib/esm/useBackofficeAuth-Da7FPNys.js +0 -89
  628. package/lib/esm/useBackofficeAuth-Da7FPNys.js.map +0 -1
  629. package/lib/esm/useBackofficeLazyValue-CW9xfRzQ.js.map +0 -1
  630. package/lib/esm/useBackofficeListUrlState-Ca6d7uIN.js.map +0 -1
  631. package/lib/esm/useBackofficeReactTranslation-Btt58EIo.js +0 -18
  632. package/lib/esm/useBackofficeReactTranslation-Btt58EIo.js.map +0 -1
  633. package/lib/esm/useRelayEnvironment-vQ86aW-n.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backofficeEntityListPage.css.js","names":[],"sources":["../../../src/pages/backofficeEntityListPage.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles } from '@plumile/ui';\n\nexport const headerActions = sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n flexWrap: 'wrap',\n});\n\nexport const actionsColumnCell = style({\n justifyContent: 'flex-end',\n});\n\nexport const actionTrigger = style({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '2rem',\n height: '2rem',\n flexShrink: 0,\n});\n"],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { card as e, group as t, link as n } from "./dashboardMetricGroup.css.js";
2
+ import { MetricCard as r, MetricTileGroup as i } from "@plumile/ui";
3
+ import { Fragment as a, jsx as o } from "react/jsx-runtime";
4
+ import { Link as s } from "@plumile/router";
5
+ //#region src/pages/dashboard/DashboardMetricGroup.tsx
6
+ var c = ({ metrics: c, emptyState: l = null }) => c.length === 0 ? /* @__PURE__ */ o(a, { children: l }) : /* @__PURE__ */ o(i, {
7
+ className: t,
8
+ children: c.map((t, i) => {
9
+ let a = `${t.id}-${i}`, c = /* @__PURE__ */ o(r, {
10
+ className: e,
11
+ label: t.label,
12
+ value: t.value,
13
+ hint: t.hint
14
+ }, a);
15
+ return t.href == null ? c : /* @__PURE__ */ o(s, {
16
+ to: t.href,
17
+ className: n,
18
+ children: c
19
+ }, a);
20
+ })
21
+ });
22
+ //#endregion
23
+ export { c as DashboardMetricGroup };
24
+
25
+ //# sourceMappingURL=DashboardMetricGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardMetricGroup.js","names":[],"sources":["../../../../src/pages/dashboard/DashboardMetricGroup.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport { Link } from '@plumile/router';\nimport { MetricCard, MetricTileGroup } from '@plumile/ui';\n\nimport * as styles from './dashboardMetricGroup.css.js';\n\nexport type DashboardMetricItem = {\n id: string;\n label: ReactNode;\n value: ReactNode;\n hint?: ReactNode;\n href?: string;\n};\n\nexport type DashboardMetricGroupProps = {\n metrics: readonly DashboardMetricItem[];\n emptyState?: ReactNode;\n};\n\nexport const DashboardMetricGroup = ({\n metrics,\n emptyState = null,\n}: DashboardMetricGroupProps): JSX.Element => {\n if (metrics.length === 0) {\n return <>{emptyState}</>;\n }\n\n return (\n <MetricTileGroup className={styles.group}>\n {metrics.map((metric, index) => {\n const key = `${metric.id}-${index}`;\n const card = (\n <MetricCard\n key={key}\n className={styles.card}\n label={metric.label}\n value={metric.value}\n hint={metric.hint}\n />\n );\n\n if (metric.href == null) {\n return card;\n }\n\n return (\n <Link key={key} to={metric.href} className={styles.link}>\n {card}\n </Link>\n );\n })}\n </MetricTileGroup>\n );\n};\n"],"mappings":";;;;;AAmBA,IAAa,KAAwB,EACnC,YACA,gBAAa,WAET,EAAQ,WAAW,IACd,kBAAA,GAAA,EAAA,UAAG,GAAc,CAAA,GAIxB,kBAAC,GAAD;CAAiB,WAAW;WACzB,EAAQ,KAAK,GAAQ,MAAU;EAC9B,IAAM,IAAM,GAAG,EAAO,GAAG,GAAG,KACtB,IACJ,kBAAC,GAAD;GAEE,WAAW;GACX,OAAO,EAAO;GACd,OAAO,EAAO;GACd,MAAM,EAAO;GACb,EALK,EAKL;EAOJ,OAJI,EAAO,QAAQ,OACV,IAIP,kBAAC,GAAD;GAAgB,IAAI,EAAO;GAAM,WAAW;aACzC;GACI,EAFI,EAEJ;GAET;CACc,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { panel as e } from "./dashboardPanel.css.js";
2
+ import { InfoTile as t } from "@plumile/ui";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ //#region src/pages/dashboard/DashboardPanel.tsx
5
+ var r = ({ actions: r, children: i, subtitle: a, title: o }) => /* @__PURE__ */ n(t, {
6
+ title: o,
7
+ subtitle: a,
8
+ actions: r,
9
+ className: e,
10
+ children: i
11
+ });
12
+ //#endregion
13
+ export { r as DashboardPanel };
14
+
15
+ //# sourceMappingURL=DashboardPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardPanel.js","names":[],"sources":["../../../../src/pages/dashboard/DashboardPanel.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport { InfoTile } from '@plumile/ui';\n\nimport * as styles from './dashboardPanel.css.js';\n\nexport type DashboardPanelProps = {\n title?: ReactNode;\n subtitle?: ReactNode;\n actions?: ReactNode;\n children?: ReactNode;\n};\n\nexport const DashboardPanel = ({\n actions,\n children,\n subtitle,\n title,\n}: DashboardPanelProps): JSX.Element => {\n return (\n <InfoTile\n title={title}\n subtitle={subtitle}\n actions={actions}\n className={styles.panel}\n >\n {children}\n </InfoTile>\n );\n};\n"],"mappings":";;;;AAYA,IAAa,KAAkB,EAC7B,YACA,aACA,aACA,eAGE,kBAAC,GAAD;CACS;CACG;CACD;CACT,WAAW;CAEV;CACQ,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { action as e, grid as t, gridSingle as n, gridStack as r } from "./dashboardQuickActions.css.js";
2
+ import { cx as i } from "@plumile/ui";
3
+ import { Fragment as a, jsx as o } from "react/jsx-runtime";
4
+ import { Link as s } from "@plumile/router";
5
+ //#region src/pages/dashboard/DashboardQuickActions.tsx
6
+ var c = ({ actions: c, emptyState: l = null, layout: u = "grid" }) => {
7
+ if (c.length === 0) return /* @__PURE__ */ o(a, { children: l });
8
+ let d = c.length === 1;
9
+ return /* @__PURE__ */ o("div", {
10
+ className: i(t, {
11
+ [r]: u === "stack",
12
+ [n]: d
13
+ }),
14
+ children: c.map((t, n) => {
15
+ let r = `${t.id}-${n}`;
16
+ return /* @__PURE__ */ o(s, {
17
+ to: t.href,
18
+ className: e,
19
+ children: t.label
20
+ }, r);
21
+ })
22
+ });
23
+ };
24
+ //#endregion
25
+ export { c as DashboardQuickActions };
26
+
27
+ //# sourceMappingURL=DashboardQuickActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardQuickActions.js","names":[],"sources":["../../../../src/pages/dashboard/DashboardQuickActions.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport { Link } from '@plumile/router';\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './dashboardQuickActions.css.js';\n\nexport type DashboardQuickAction = {\n id: string;\n label: ReactNode;\n href: string;\n};\n\nexport type DashboardQuickActionsProps = {\n actions: readonly DashboardQuickAction[];\n emptyState?: ReactNode;\n layout?: 'grid' | 'stack';\n};\n\nexport const DashboardQuickActions = ({\n actions,\n emptyState = null,\n layout = 'grid',\n}: DashboardQuickActionsProps): JSX.Element => {\n if (actions.length === 0) {\n return <>{emptyState}</>;\n }\n\n const isSingleAction = actions.length === 1;\n\n return (\n <div\n className={cx(styles.grid, {\n [styles.gridStack]: layout === 'stack',\n [styles.gridSingle]: isSingleAction,\n })}\n >\n {actions.map((action, index) => {\n const key = `${action.id}-${index}`;\n return (\n <Link key={key} to={action.href} className={styles.action}>\n {action.label}\n </Link>\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;AAkBA,IAAa,KAAyB,EACpC,YACA,gBAAa,MACb,YAAS,aACoC;CAC7C,IAAI,EAAQ,WAAW,GACrB,OAAO,kBAAA,GAAA,EAAA,UAAG,GAAc,CAAA;CAG1B,IAAM,IAAiB,EAAQ,WAAW;CAE1C,OACE,kBAAC,OAAD;EACE,WAAW,EAAG,GAAa;IACxB,IAAmB,MAAW;IAC9B,IAAoB;GACtB,CAAC;YAED,EAAQ,KAAK,GAAQ,MAAU;GAC9B,IAAM,IAAM,GAAG,EAAO,GAAG,GAAG;GAC5B,OACE,kBAAC,GAAD;IAAgB,IAAI,EAAO;IAAM,WAAW;cACzC,EAAO;IACH,EAFI,EAEJ;IAET;EACE,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { item as e, itemLink as t, label as n, list as r, value as i } from "./dashboardStatusList.css.js";
2
+ import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
3
+ import { Link as c } from "@plumile/router";
4
+ //#region src/pages/dashboard/DashboardStatusList.tsx
5
+ var l = ({ items: l, emptyState: u = null }) => l.length === 0 ? /* @__PURE__ */ o(a, { children: u }) : /* @__PURE__ */ o("div", {
6
+ className: r,
7
+ children: l.map((r, l) => {
8
+ let u = `${r.id}-${l}`, d = /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o("span", {
9
+ className: n,
10
+ children: r.label
11
+ }), /* @__PURE__ */ o("span", {
12
+ className: i,
13
+ children: r.value
14
+ })] });
15
+ return r.href == null ? /* @__PURE__ */ o("div", {
16
+ className: e,
17
+ children: d
18
+ }, u) : /* @__PURE__ */ o(c, {
19
+ to: r.href,
20
+ className: t,
21
+ children: d
22
+ }, u);
23
+ })
24
+ });
25
+ //#endregion
26
+ export { l as DashboardStatusList };
27
+
28
+ //# sourceMappingURL=DashboardStatusList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardStatusList.js","names":[],"sources":["../../../../src/pages/dashboard/DashboardStatusList.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport { Link } from '@plumile/router';\n\nimport * as styles from './dashboardStatusList.css.js';\n\nexport type DashboardStatusItem = {\n id: string;\n label: ReactNode;\n value: ReactNode;\n href?: string;\n};\n\nexport type DashboardStatusListProps = {\n items: readonly DashboardStatusItem[];\n emptyState?: ReactNode;\n};\n\nexport const DashboardStatusList = ({\n items,\n emptyState = null,\n}: DashboardStatusListProps): JSX.Element => {\n if (items.length === 0) {\n return <>{emptyState}</>;\n }\n\n return (\n <div className={styles.list}>\n {items.map((item, index) => {\n const key = `${item.id}-${index}`;\n const content = (\n <>\n <span className={styles.label}>{item.label}</span>\n <span className={styles.value}>{item.value}</span>\n </>\n );\n\n if (item.href == null) {\n return (\n <div key={key} className={styles.item}>\n {content}\n </div>\n );\n }\n\n return (\n <Link key={key} to={item.href} className={styles.itemLink}>\n {content}\n </Link>\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;AAiBA,IAAa,KAAuB,EAClC,UACA,gBAAa,WAET,EAAM,WAAW,IACZ,kBAAA,GAAA,EAAA,UAAG,GAAc,CAAA,GAIxB,kBAAC,OAAD;CAAK,WAAW;WACb,EAAM,KAAK,GAAM,MAAU;EAC1B,IAAM,IAAM,GAAG,EAAK,GAAG,GAAG,KACpB,IACJ,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,QAAD;GAAM,WAAW;aAAe,EAAK;GAAa,CAAA,EAClD,kBAAC,QAAD;GAAM,WAAW;aAAe,EAAK;GAAa,CAAA,CACjD,EAAA,CAAA;EAWL,OARI,EAAK,QAAQ,OAEb,kBAAC,OAAD;GAAe,WAAW;aACvB;GACG,EAFI,EAEJ,GAKR,kBAAC,GAAD;GAAgB,IAAI,EAAK;GAAM,WAAW;aACvC;GACI,EAFI,EAEJ;GAET;CACE,CAAA"}
@@ -0,0 +1,8 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ //#region src/pages/dashboard/dashboardMetricGroup.css.ts
4
+ var e = "_9npmwz0 txvbqbcgg", t = "_9npmwz1 _1v9etop0 txvbqbv41 txvbqbwp txvbqb1rp txvbqb1qg txvbqb1cp", n = "_9npmwz2 txvbqbv67 txvbqb9ip txvbqb3b txvbqbu7g";
5
+ //#endregion
6
+ export { t as card, e as group, n as link };
7
+
8
+ //# sourceMappingURL=dashboardMetricGroup.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboardMetricGroup.css.js","names":[],"sources":["../../../../src/pages/dashboard/dashboardMetricGroup.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, vars } from '@plumile/ui';\n\nimport { panel } from './dashboardPanel.css.js';\n\nexport const group = style([\n sprinkles({\n height: 'full',\n }),\n {\n alignItems: 'stretch',\n },\n]);\n\nexport const card = style([\n panel,\n {\n height: '100%',\n transitionProperty: 'border-color, box-shadow, transform',\n transitionDuration: vars.transitionDuration[150],\n transitionTimingFunction: vars.transitionTimingFunction.ease,\n },\n]);\n\nexport const link = style([\n sprinkles({\n color: 'inherit',\n display: 'flex',\n textDecoration: 'none',\n width: 'full',\n }),\n {\n transitionProperty: 'transform',\n transitionDuration: vars.transitionDuration[150],\n transitionTimingFunction: vars.transitionTimingFunction.ease,\n selectors: {\n '&:hover': {\n transform: 'translateY(-1px)',\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '3px',\n borderRadius: vars.borderRadius.lg,\n },\n },\n },\n]);\n"],"mappings":""}
@@ -0,0 +1,7 @@
1
+ /* empty css */
2
+ //#region src/pages/dashboard/dashboardPanel.css.ts
3
+ var e = "_1v9etop0 txvbqbv41 txvbqbwp txvbqb1rp txvbqb1qg txvbqb1cp";
4
+ //#endregion
5
+ export { e as panel };
6
+
7
+ //# sourceMappingURL=dashboardPanel.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboardPanel.css.js","names":[],"sources":["../../../../src/pages/dashboard/dashboardPanel.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, vars } from '@plumile/ui';\n\nexport const panel = style([\n sprinkles({\n backgroundColor: 'surface',\n borderColor: 'borderSubtle',\n borderRadius: 'lg',\n borderStyle: 'solid',\n borderWidth: 'default',\n }),\n {\n minHeight: '100%',\n boxShadow: `0 1px 0 ${vars.colors.borderLight}`,\n selectors: {\n '&&': {\n backgroundColor: vars.colors.surface,\n },\n },\n },\n]);\n"],"mappings":""}
@@ -0,0 +1,7 @@
1
+ /* empty css */
2
+ //#region src/pages/dashboard/dashboardQuickActions.css.ts
3
+ var e = "txvbqb9iy txvbqbao7 txvbqbbtp txvbqbbth", t = "txvbqbbtg", n = "txvbqbbtg", r = "_3w0i4k0 txvbqbnw7 txvbqbojg txvbqbp6g txvbqbly7 txvbqb9ip txvbqbcp txvbqbdoy txvbqbjjp txvbqb1rg txvbqb1cp txvbqb1qg txvbqbwp txvbqbv43 txvbqbv99 txvbqbamp txvbqb3b";
4
+ //#endregion
5
+ export { r as action, e as grid, t as gridSingle, n as gridStack };
6
+
7
+ //# sourceMappingURL=dashboardQuickActions.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboardQuickActions.css.js","names":[],"sources":["../../../../src/pages/dashboard/dashboardQuickActions.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, vars } from '@plumile/ui';\n\nexport const grid = sprinkles({\n display: 'grid',\n gap: 2,\n gridTemplateColumns: {\n base: 2,\n sm: 1,\n },\n});\n\nexport const gridSingle = sprinkles({\n gridTemplateColumns: 1,\n});\n\nexport const gridStack = sprinkles({\n gridTemplateColumns: 1,\n});\n\nexport const action = style([\n sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: 10,\n paddingX: 3,\n paddingY: 2,\n borderRadius: 'md',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n backgroundColor: 'surfaceSecondary',\n color: 'primary',\n fontWeight: 'semibold',\n textDecoration: 'none',\n }),\n {\n transitionProperty: 'background-color, border-color, box-shadow',\n transitionDuration: vars.transitionDuration[150],\n transitionTimingFunction: vars.transitionTimingFunction.ease,\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.primaryLight,\n borderColor: vars.colors.primary,\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n },\n },\n]);\n"],"mappings":""}
@@ -0,0 +1,7 @@
1
+ /* empty css */
2
+ //#region src/pages/dashboard/dashboardStatusList.css.ts
3
+ var e = "txvbqb9ip txvbqbai7 txvbqbany", t = "s560xy1 s560xy0 txvbqbnvy txvbqboj7 txvbqbp6g txvbqbly7 txvbqb9ip txvbqbcp txvbqbdpp txvbqbaog txvbqb1rg txvbqbv9z", n = "s560xy2 s560xy0 txvbqbnvy txvbqboj7 txvbqbp6g txvbqbly7 txvbqb9ip txvbqbcp txvbqbdpp txvbqbaog txvbqb1rg txvbqbv9z txvbqb3b", r = "txvbqbk5y txvbqbva1 txvbqbl87", i = "txvbqbaj7 txvbqbamp txvbqbv9z txvbqbakg txvbqbuxg";
4
+ //#endregion
5
+ export { t as item, n as itemLink, r as label, e as list, i as value };
6
+
7
+ //# sourceMappingURL=dashboardStatusList.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboardStatusList.css.js","names":[],"sources":["../../../../src/pages/dashboard/dashboardStatusList.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, vars } from '@plumile/ui';\n\nexport const list = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n});\n\nconst rowBase = style([\n sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 3,\n paddingY: 2,\n paddingX: 2,\n borderRadius: 'md',\n color: 'text',\n }),\n]);\n\nexport const item = style([rowBase]);\n\nexport const itemLink = style([\n rowBase,\n sprinkles({\n textDecoration: 'none',\n }),\n {\n transitionProperty: 'background-color, color',\n transitionDuration: vars.transitionDuration[150],\n transitionTimingFunction: vars.transitionTimingFunction.ease,\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.surfaceMuted,\n color: vars.colors.primary,\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n },\n },\n]);\n\nexport const label = sprinkles({\n minWidth: 0,\n color: 'textSecondary',\n overflowWrap: 'anywhere',\n});\n\nexport const value = sprinkles({\n flexShrink: 0,\n fontWeight: 'semibold',\n color: 'text',\n fontVariantNumeric: 'tabular-nums',\n whiteSpace: 'nowrap',\n});\n"],"mappings":""}
@@ -6,6 +6,6 @@ var n = e(null), r = n.Provider, i = () => {
6
6
  return e;
7
7
  };
8
8
  //#endregion
9
- export { i as n, r as t };
9
+ export { r as BackofficeEntityDetailLayoutContextProvider, i as useBackofficeEntityDetailLayoutContext };
10
10
 
11
- //# sourceMappingURL=BackofficeEntityDetailLayoutContext-C5G-PH28.js.map
11
+ //# sourceMappingURL=BackofficeEntityDetailLayoutContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeEntityDetailLayoutContext.js","names":[],"sources":["../../../../src/pages/detail/BackofficeEntityDetailLayoutContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport type BackofficeEntityDetailLayoutContextValue = {\n layoutView: unknown;\n};\n\nconst BackofficeEntityDetailLayoutContext =\n createContext<BackofficeEntityDetailLayoutContextValue | null>(null);\n\nexport const BackofficeEntityDetailLayoutContextProvider =\n BackofficeEntityDetailLayoutContext.Provider;\n\nexport const useBackofficeEntityDetailLayoutContext =\n (): BackofficeEntityDetailLayoutContextValue => {\n const context = useContext(BackofficeEntityDetailLayoutContext);\n if (context == null) {\n throw new Error(\n 'BackofficeEntityDetailLayoutContext is missing. Ensure detail pages are rendered under the entity layout route.',\n );\n }\n return context;\n };\n"],"mappings":";;AAMA,IAAM,IACJ,EAA+D,KAAK,EAEzD,IACX,EAAoC,UAEzB,UACqC;CAC9C,IAAM,IAAU,EAAW,EAAoC;CAC/D,IAAI,KAAW,MACb,MAAU,MACR,kHACD;CAEH,OAAO"}
@@ -0,0 +1,10 @@
1
+ //#region src/pages/detail/buildTabsItems.ts
2
+ var e = (e) => e.pages.map((t) => ({
3
+ id: t.id,
4
+ label: t.label(e.tApp),
5
+ to: e.detailPageHref(e.id, t.id)
6
+ }));
7
+ //#endregion
8
+ export { e as buildTabsItems };
9
+
10
+ //# sourceMappingURL=buildTabsItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTabsItems.js","names":[],"sources":["../../../../src/pages/detail/buildTabsItems.ts"],"sourcesContent":["import type { BackofficeDetailPageRouteSpec } from '@plumile/backoffice-core/types.js';\nimport type { BackofficeTabItem } from '@plumile/ui';\nimport type { TFunction } from 'i18next';\n\ntype DetailPage<Node> = BackofficeDetailPageRouteSpec<Node>;\n\nexport const buildTabsItems = <Node>(input: {\n pages: readonly DetailPage<Node>[];\n id: string;\n tApp: TFunction;\n detailPageHref: (id: string, pageId: string) => string;\n}): readonly BackofficeTabItem[] => {\n return input.pages.map((page) => {\n return {\n id: page.id,\n label: page.label(input.tApp),\n to: input.detailPageHref(input.id, page.id),\n };\n });\n};\n"],"mappings":";AAMA,IAAa,KAAwB,MAM5B,EAAM,MAAM,KAAK,OACf;CACL,IAAI,EAAK;CACT,OAAO,EAAK,MAAM,EAAM,KAAK;CAC7B,IAAI,EAAM,eAAe,EAAM,IAAI,EAAK,GAAG;CAC5C,EACD"}
@@ -23,6 +23,6 @@ var e = (e) => e.trim().replace(/^\/+|\/+$/g, ""), t = (t) => {
23
23
  };
24
24
  };
25
25
  //#endregion
26
- export { t };
26
+ export { t as resolveVisibleDetailPages };
27
27
 
28
- //# sourceMappingURL=pageResolution-CUaTq4Ql.js.map
28
+ //# sourceMappingURL=pageResolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageResolution.js","names":[],"sources":["../../../../src/pages/detail/pageResolution.ts"],"sourcesContent":["type DetailPageBase<ShellView> = {\n id: string;\n path: string;\n isVisible?: (layout: ShellView) => boolean;\n};\n\ntype PageResolutionInput<\n ShellView,\n MainPage extends DetailPageBase<ShellView>,\n SubPage extends DetailPageBase<ShellView> = MainPage,\n> = {\n mainPage: MainPage;\n subPages?: readonly SubPage[];\n activePagePath?: string;\n node: ShellView;\n};\n\nexport type ResolvedDetailPages<Page> = {\n pages: readonly Page[];\n activePage: Page | null;\n hasVisiblePages: boolean;\n hasMultiplePages: boolean;\n};\n\nconst normalizePath = (value: string): string => {\n return value.trim().replace(/^\\/+|\\/+$/g, '');\n};\n\nexport const resolveVisibleDetailPages = <\n ShellView,\n MainPage extends DetailPageBase<ShellView>,\n SubPage extends DetailPageBase<ShellView> = MainPage,\n>(\n input: PageResolutionInput<ShellView, MainPage, SubPage>,\n): ResolvedDetailPages<MainPage | SubPage> => {\n const allPages = [input.mainPage, ...(input.subPages ?? [])] as readonly (\n | MainPage\n | SubPage\n )[];\n const visiblePages = allPages.filter((page) => {\n if (page.isVisible == null) {\n return true;\n }\n return page.isVisible(input.node);\n });\n\n if (visiblePages.length === 0) {\n return {\n pages: [],\n activePage: null,\n hasVisiblePages: false,\n hasMultiplePages: false,\n };\n }\n\n const activePath = normalizePath(input.activePagePath ?? '');\n let activeByPath: MainPage | SubPage | null = null;\n if (activePath !== '') {\n activeByPath =\n visiblePages.find((page) => {\n return normalizePath(page.path) === activePath;\n }) ?? null;\n }\n\n const defaultPage =\n visiblePages.find((page) => {\n return page.id === input.mainPage.id;\n }) ?? visiblePages[0];\n if (defaultPage == null) {\n return {\n pages: [],\n activePage: null,\n hasVisiblePages: false,\n hasMultiplePages: false,\n };\n }\n\n const activePage = activeByPath ?? defaultPage;\n\n return {\n pages: visiblePages,\n activePage,\n hasVisiblePages: true,\n hasMultiplePages: visiblePages.length > 1,\n };\n};\n"],"mappings":";AAwBA,IAAM,KAAiB,MACd,EAAM,MAAM,CAAC,QAAQ,cAAc,GAAG,EAGlC,KAKX,MAC4C;CAK5C,IAAM,IAAe,CAJH,EAAM,UAAU,GAAI,EAAM,YAAY,EAAE,CAIrC,CAAS,QAAQ,MAChC,EAAK,aAAa,OACb,KAEF,EAAK,UAAU,EAAM,KAAK,CACjC;CAEF,IAAI,EAAa,WAAW,GAC1B,OAAO;EACL,OAAO,EAAE;EACT,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EACnB;CAGH,IAAM,IAAa,EAAc,EAAM,kBAAkB,GAAG,EACxD,IAA0C;CAC9C,AAAI,MAAe,OACjB,IACE,EAAa,MAAM,MACV,EAAc,EAAK,KAAK,KAAK,EACpC,IAAI;CAGV,IAAM,IACJ,EAAa,MAAM,MACV,EAAK,OAAO,EAAM,SAAS,GAClC,IAAI,EAAa;CAYrB,OAXI,KAAe,OACV;EACL,OAAO,EAAE;EACT,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EACnB,GAKI;EACL,OAAO;EACP,YAJiB,KAAgB;EAKjC,iBAAiB;EACjB,kBAAkB,EAAa,SAAS;EACzC"}
@@ -0,0 +1,12 @@
1
+ import { createContext as e, useContext as t } from "react";
2
+ //#region src/provider/BackofficeConfigContext.tsx
3
+ var n = e(null), r = n.Provider;
4
+ function i() {
5
+ let e = t(n);
6
+ if (e == null) throw Error("BackofficeProvider is missing in the component tree.");
7
+ return e;
8
+ }
9
+ //#endregion
10
+ export { r as BackofficeConfigProvider, n as default, i as useBackofficeConfig };
11
+
12
+ //# sourceMappingURL=BackofficeConfigContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeConfigContext.js","names":[],"sources":["../../../src/provider/BackofficeConfigContext.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nimport type { BackofficeEntityManifestMap } from '@plumile/backoffice-core/types.js';\n\nimport type {\n BackofficeAuthConfig,\n BackofficeDashboardModule,\n BackofficeGraphQLConfig,\n BackofficeSidebarConfig,\n} from './types.js';\nimport type { BackofficeEntityRegistry } from './entityRegistry.js';\n\nexport type BackofficeConfigContextValue = {\n basePath: string;\n entities: BackofficeEntityManifestMap;\n entityManifest: BackofficeEntityManifestMap;\n entityRegistry: BackofficeEntityRegistry;\n filterColumnAliases?: Record<string, string>;\n sidebar?: BackofficeSidebarConfig;\n dashboard?: BackofficeDashboardModule;\n auth: BackofficeAuthConfig;\n graphql: BackofficeGraphQLConfig;\n};\n\nconst BackofficeConfigContext =\n createContext<BackofficeConfigContextValue | null>(null);\n\nexport const BackofficeConfigProvider = BackofficeConfigContext.Provider;\n\n/**\n * Hook to access the Backoffice configuration context\n */\nexport function useBackofficeConfig(): BackofficeConfigContextValue {\n const context = useContext(BackofficeConfigContext);\n if (context == null) {\n throw new Error('BackofficeProvider is missing in the component tree.');\n }\n return context;\n}\n\nexport default BackofficeConfigContext;\n"],"mappings":";;AAwBA,IAAM,IACJ,EAAmD,KAAK,EAE7C,IAA2B,EAAwB;AAKhE,SAAgB,IAAoD;CAClE,IAAM,IAAU,EAAW,EAAwB;CACnD,IAAI,KAAW,MACb,MAAU,MAAM,uDAAuD;CAEzE,OAAO"}
@@ -0,0 +1,171 @@
1
+ import { BackofficeConfigProvider as e } from "./BackofficeConfigContext.js";
2
+ import { BackofficeRouteFallback as t, BackofficeStaticRouteFallback as n } from "../components/backoffice/routing/BackofficeRouteFallback.js";
3
+ import { BackofficeRoutePendingBar as r } from "../components/backoffice/routing/BackofficeRoutePendingBar.js";
4
+ import { configureRelayEnvironment as i } from "../relay/environment.js";
5
+ import { useRelayEnvironment as a } from "../relay/useRelayEnvironment.js";
6
+ import { createI18nInstance as o } from "../i18n/createI18nInstance.js";
7
+ import { withBackofficeReactI18nResources as s } from "../i18n/resources.js";
8
+ import { RelayProvider as c } from "../relay/RelayProvider.js";
9
+ import { createBackofficeRoutes as l } from "../router/createBackofficeRoutes.js";
10
+ import { createBackofficeEntityRegistry as u } from "./entityRegistry.js";
11
+ import { StrictMode as d, useEffect as f, useMemo as p, useState as m } from "react";
12
+ import { ThemeProvider as h } from "@plumile/ui";
13
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
14
+ import { I18nextProvider as v } from "react-i18next";
15
+ import { RouterRenderer as y, RoutingContext as b, createRouter as x } from "@plumile/router";
16
+ import { createInstance as S } from "i18next";
17
+ //#region src/provider/BackofficeProvider.tsx
18
+ var C = (e) => e.trim() === "" || e === "/" ? "/" : e.startsWith("/") ? e.endsWith("/") ? e.slice(0, -1) : e : `/${e}`, w = (e, t) => {
19
+ let n = C(t), r = C(e);
20
+ return r === "/" || n === r || n.startsWith(`${r}/`) ? n : n === "/" ? r : `${r}${n}`;
21
+ }, T = (e, t) => Object.fromEntries(Object.entries(e).map(([e, n]) => [e, {
22
+ ...n,
23
+ routes: {
24
+ list: w(t, n.routes.list),
25
+ detail: (e) => w(t, n.routes.detail(e)),
26
+ detailPage: (e, r) => w(t, n.routes.detailPage(e, r))
27
+ }
28
+ }])), E = ({ routes: e, context: t, instrumentations: n }) => {
29
+ let [r, i] = m(null);
30
+ return f(() => {
31
+ let r = x(e, {
32
+ context: t,
33
+ instrumentations: n
34
+ });
35
+ return i(r), () => {
36
+ r.cleanup();
37
+ };
38
+ }, [
39
+ t,
40
+ n,
41
+ e
42
+ ]), r;
43
+ }, D = ({ routes: e, instrumentations: n }) => {
44
+ let i = a(), o = E({
45
+ routes: e,
46
+ context: p(() => ({ relayEnvironment: i }), [i]),
47
+ instrumentations: n
48
+ });
49
+ return o == null ? /* @__PURE__ */ g(t, {}) : /* @__PURE__ */ g(b.Provider, {
50
+ value: o.context,
51
+ children: /* @__PURE__ */ g(y, {
52
+ enableTransition: !0,
53
+ fallback: /* @__PURE__ */ g(t, {}),
54
+ pending: /* @__PURE__ */ g(r, {})
55
+ })
56
+ });
57
+ }, O = (t) => {
58
+ let r = C(t.basePath ?? "/"), a = p(() => T(t.entityManifest, r), [r, t.entityManifest]), y = p(() => u(a, { basePath: r }), [r, a]), b = t.graphql;
59
+ f(() => {
60
+ i({
61
+ httpUrl: b.httpUrl ?? b.endpoint,
62
+ wsUrl: b.wsUrl ?? b.wsEndpoint,
63
+ getDataId: b.getDataId,
64
+ logEvents: b.logEvents,
65
+ getAuthHeaders: b.getAuthHeaders
66
+ });
67
+ }, [
68
+ b.endpoint,
69
+ b.getAuthHeaders,
70
+ b.getDataId,
71
+ b.httpUrl,
72
+ b.logEvents,
73
+ b.wsEndpoint,
74
+ b.wsUrl
75
+ ]);
76
+ let x = p(() => s(t.i18n?.resources ?? {}), [t.i18n?.resources]), w = p(() => t.i18n?.instance ?? S(), [t.i18n?.instance]), [E, O] = m(w.isInitialized);
77
+ f(() => {
78
+ let e = !0, n = () => {
79
+ e && O(!0);
80
+ };
81
+ if (w.on("initialized", n), w.isInitialized) return n(), () => {
82
+ e = !1, w.off("initialized", n);
83
+ };
84
+ let r = globalThis.setTimeout(() => {
85
+ w.isInitialized && n();
86
+ }, 0), i = t.i18n?.initOptions ?? {}, a = i.defaultNS ?? "translations", s = i.ns ?? [
87
+ "backofficeReact",
88
+ "translations",
89
+ "ui"
90
+ ];
91
+ return o({
92
+ resources: x,
93
+ lng: t.i18n?.lng,
94
+ fallbackLng: t.i18n?.fallbackLng,
95
+ initOptions: {
96
+ ...i,
97
+ defaultNS: a,
98
+ ns: s,
99
+ react: {
100
+ useSuspense: !1,
101
+ ...i.react
102
+ }
103
+ },
104
+ instance: w,
105
+ useLanguageDetector: t.i18n?.useLanguageDetector,
106
+ detection: t.i18n?.detection
107
+ }).then(n).catch((e) => {
108
+ n(), console.error(e);
109
+ }), () => {
110
+ e = !1, globalThis.clearTimeout(r), w.off("initialized", n);
111
+ };
112
+ }, [
113
+ w,
114
+ x,
115
+ t.i18n?.initOptions,
116
+ t.i18n?.detection,
117
+ t.i18n?.fallbackLng,
118
+ t.i18n?.lng,
119
+ t.i18n?.useLanguageDetector
120
+ ]);
121
+ let k = p(() => ({
122
+ basePath: r,
123
+ entities: a,
124
+ entityManifest: a,
125
+ entityRegistry: y,
126
+ filterColumnAliases: t.filterColumnAliases,
127
+ sidebar: t.sidebar,
128
+ dashboard: t.dashboard,
129
+ auth: t.auth,
130
+ graphql: t.graphql
131
+ }), [
132
+ r,
133
+ t.auth,
134
+ t.dashboard,
135
+ a,
136
+ y,
137
+ t.filterColumnAliases,
138
+ t.graphql,
139
+ t.sidebar
140
+ ]), A = p(() => l({
141
+ basePath: r,
142
+ entityManifest: a,
143
+ entityRegistry: y,
144
+ sidebar: t.sidebar,
145
+ auth: t.auth,
146
+ dashboard: t.dashboard,
147
+ toolsOperationPage: t.toolsOperationPage
148
+ }), [
149
+ r,
150
+ a,
151
+ y,
152
+ t.auth,
153
+ t.dashboard,
154
+ t.toolsOperationPage,
155
+ t.sidebar
156
+ ]), j = /* @__PURE__ */ g(n, { label: "Loading..." });
157
+ return E && (j = /* @__PURE__ */ g(h, { children: /* @__PURE__ */ g(c, { children: /* @__PURE__ */ _(e, {
158
+ value: k,
159
+ children: [t.overlay, /* @__PURE__ */ g(D, {
160
+ routes: A,
161
+ instrumentations: t.instrumentations
162
+ })]
163
+ }) }) })), /* @__PURE__ */ g(d, { children: /* @__PURE__ */ g(v, {
164
+ i18n: w,
165
+ children: j
166
+ }) });
167
+ };
168
+ //#endregion
169
+ export { O as BackofficeProvider, O as default };
170
+
171
+ //# sourceMappingURL=BackofficeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeProvider.js","names":[],"sources":["../../../src/provider/BackofficeProvider.tsx"],"sourcesContent":["import {\n StrictMode,\n useEffect,\n useMemo,\n useState,\n type ContextType,\n type JSX,\n} from 'react';\nimport { createInstance } from 'i18next';\nimport { I18nextProvider } from 'react-i18next';\nimport { createRouter, RouterRenderer, RoutingContext } from '@plumile/router';\nimport { ThemeProvider } from '@plumile/ui';\n\nimport { type BackofficeEntityManifestMap } from '@plumile/backoffice-core/types.js';\n\nimport { createI18nInstance } from '../i18n/createI18nInstance.js';\nimport { withBackofficeReactI18nResources } from '../i18n/resources.js';\nimport { RelayProvider } from '../relay/RelayProvider.js';\nimport { useRelayEnvironment } from '../relay/useRelayEnvironment.js';\nimport { configureRelayEnvironment } from '../relay/environment.js';\nimport { BackofficeConfigProvider } from './BackofficeConfigContext.js';\nimport {\n createBackofficeRoutes,\n type BackofficeRouterContext,\n} from '../router/createBackofficeRoutes.js';\nimport type { BackofficeProviderProps } from './types.js';\nimport {\n BackofficeRouteFallback,\n BackofficeStaticRouteFallback,\n} from '../components/backoffice/routing/BackofficeRouteFallback.js';\nimport { BackofficeRoutePendingBar } from '../components/backoffice/routing/BackofficeRoutePendingBar.js';\nimport { createBackofficeEntityRegistry } from './entityRegistry.js';\n\nconst normalizeAbsolutePath = (value: string): string => {\n if (value.trim() === '' || value === '/') {\n return '/';\n }\n if (!value.startsWith('/')) {\n return `/${value}`;\n }\n if (value.endsWith('/')) {\n return value.slice(0, -1);\n }\n return value;\n};\n\nconst prefixRoutePath = (basePath: string, value: string): string => {\n const normalizedPath = normalizeAbsolutePath(value);\n const normalizedBasePath = normalizeAbsolutePath(basePath);\n if (normalizedBasePath === '/') {\n return normalizedPath;\n }\n if (\n normalizedPath === normalizedBasePath ||\n normalizedPath.startsWith(`${normalizedBasePath}/`)\n ) {\n return normalizedPath;\n }\n if (normalizedPath === '/') {\n return normalizedBasePath;\n }\n return `${normalizedBasePath}${normalizedPath}`;\n};\n\nconst resolveEntityManifest = (\n manifest: BackofficeEntityManifestMap,\n basePath: string,\n): BackofficeEntityManifestMap => {\n return Object.fromEntries(\n Object.entries(manifest).map(([entityId, item]) => {\n return [\n entityId,\n {\n ...item,\n routes: {\n list: prefixRoutePath(basePath, item.routes.list),\n detail: (id: string) => {\n return prefixRoutePath(basePath, item.routes.detail(id));\n },\n detailPage: (id: string, pageId: string) => {\n return prefixRoutePath(\n basePath,\n item.routes.detailPage(id, pageId),\n );\n },\n },\n } satisfies BackofficeEntityManifestMap[string],\n ] as const;\n }),\n );\n};\n\ntype RouterShellProps = {\n routes: ReturnType<typeof createBackofficeRoutes>;\n instrumentations?: BackofficeProviderProps['instrumentations'];\n};\n\ntype BackofficeRouterInstance = {\n context: NonNullable<ContextType<typeof RoutingContext>>;\n cleanup: () => void;\n};\n\nconst useBackofficeRouterInstance = ({\n routes,\n context,\n instrumentations,\n}: {\n routes: ReturnType<typeof createBackofficeRoutes>;\n context: BackofficeRouterContext;\n instrumentations?: BackofficeProviderProps['instrumentations'];\n}): BackofficeRouterInstance | null => {\n const [router, setRouter] = useState<BackofficeRouterInstance | null>(null);\n\n useEffect(() => {\n const nextRouter = createRouter(routes, {\n context,\n instrumentations,\n });\n setRouter(nextRouter);\n\n return () => {\n nextRouter.cleanup();\n };\n }, [context, instrumentations, routes]);\n\n return router;\n};\n\nconst RouterShell = ({\n routes,\n instrumentations,\n}: RouterShellProps): JSX.Element => {\n const relayEnvironment = useRelayEnvironment();\n\n const routerContext = useMemo(() => {\n return { relayEnvironment };\n }, [relayEnvironment]);\n\n const router = useBackofficeRouterInstance({\n routes,\n context: routerContext,\n instrumentations,\n });\n\n if (router == null) {\n return <BackofficeRouteFallback />;\n }\n\n return (\n <RoutingContext.Provider value={router.context}>\n <RouterRenderer\n enableTransition\n fallback={<BackofficeRouteFallback />}\n pending={<BackofficeRoutePendingBar />}\n />\n </RoutingContext.Provider>\n );\n};\n\nexport const BackofficeProvider = (\n props: BackofficeProviderProps,\n): JSX.Element => {\n const basePath = normalizeAbsolutePath(props.basePath ?? '/');\n\n const entityManifest = useMemo(() => {\n return resolveEntityManifest(props.entityManifest, basePath);\n }, [basePath, props.entityManifest]);\n const entityRegistry = useMemo(() => {\n return createBackofficeEntityRegistry(entityManifest, { basePath });\n }, [basePath, entityManifest]);\n\n const graphQLConfig = props.graphql;\n\n useEffect(() => {\n const httpUrl = graphQLConfig.httpUrl ?? graphQLConfig.endpoint;\n const wsUrl = graphQLConfig.wsUrl ?? graphQLConfig.wsEndpoint;\n configureRelayEnvironment({\n httpUrl,\n wsUrl,\n getDataId: graphQLConfig.getDataId,\n logEvents: graphQLConfig.logEvents,\n getAuthHeaders: graphQLConfig.getAuthHeaders,\n });\n }, [\n graphQLConfig.endpoint,\n graphQLConfig.getAuthHeaders,\n graphQLConfig.getDataId,\n graphQLConfig.httpUrl,\n graphQLConfig.logEvents,\n graphQLConfig.wsEndpoint,\n graphQLConfig.wsUrl,\n ]);\n\n const mergedResources = useMemo(() => {\n return withBackofficeReactI18nResources(props.i18n?.resources ?? {});\n }, [props.i18n?.resources]);\n\n const i18nInstance = useMemo(() => {\n return props.i18n?.instance ?? createInstance();\n }, [props.i18n?.instance]);\n const [isI18nReady, setIsI18nReady] = useState(i18nInstance.isInitialized);\n\n useEffect(() => {\n let isCurrent = true;\n const markI18nReady = (): void => {\n if (isCurrent) {\n setIsI18nReady(true);\n }\n };\n\n i18nInstance.on('initialized', markI18nReady);\n if (i18nInstance.isInitialized) {\n markI18nReady();\n return () => {\n isCurrent = false;\n i18nInstance.off('initialized', markI18nReady);\n };\n }\n\n const readyCheck = globalThis.setTimeout(() => {\n if (i18nInstance.isInitialized) {\n markI18nReady();\n }\n }, 0);\n\n const initOptions = props.i18n?.initOptions ?? {};\n const defaultNs = initOptions.defaultNS ?? 'translations';\n const ns = initOptions.ns ?? ['backofficeReact', 'translations', 'ui'];\n createI18nInstance({\n resources: mergedResources,\n lng: props.i18n?.lng,\n fallbackLng: props.i18n?.fallbackLng,\n initOptions: {\n ...initOptions,\n defaultNS: defaultNs,\n ns,\n react: {\n useSuspense: false,\n ...initOptions.react,\n },\n },\n instance: i18nInstance,\n useLanguageDetector: props.i18n?.useLanguageDetector,\n detection: props.i18n?.detection,\n })\n .then(markI18nReady)\n .catch((error: unknown) => {\n markI18nReady();\n // eslint-disable-next-line no-console\n console.error(error);\n });\n\n return () => {\n isCurrent = false;\n globalThis.clearTimeout(readyCheck);\n i18nInstance.off('initialized', markI18nReady);\n };\n }, [\n i18nInstance,\n mergedResources,\n props.i18n?.initOptions,\n props.i18n?.detection,\n props.i18n?.fallbackLng,\n props.i18n?.lng,\n props.i18n?.useLanguageDetector,\n ]);\n\n const configValue = useMemo(() => {\n return {\n basePath,\n entities: entityManifest,\n entityManifest,\n entityRegistry,\n filterColumnAliases: props.filterColumnAliases,\n sidebar: props.sidebar,\n dashboard: props.dashboard,\n auth: props.auth,\n graphql: props.graphql,\n };\n }, [\n basePath,\n props.auth,\n props.dashboard,\n entityManifest,\n entityRegistry,\n props.filterColumnAliases,\n props.graphql,\n props.sidebar,\n ]);\n\n const routes = useMemo(() => {\n return createBackofficeRoutes({\n basePath,\n entityManifest,\n entityRegistry,\n sidebar: props.sidebar,\n auth: props.auth,\n dashboard: props.dashboard,\n toolsOperationPage: props.toolsOperationPage,\n });\n }, [\n basePath,\n entityManifest,\n entityRegistry,\n props.auth,\n props.dashboard,\n props.toolsOperationPage,\n props.sidebar,\n ]);\n\n let contentNode = <BackofficeStaticRouteFallback label=\"Loading...\" />;\n if (isI18nReady) {\n contentNode = (\n <ThemeProvider>\n <RelayProvider>\n <BackofficeConfigProvider value={configValue}>\n {props.overlay}\n <RouterShell\n routes={routes}\n instrumentations={props.instrumentations}\n />\n </BackofficeConfigProvider>\n </RelayProvider>\n </ThemeProvider>\n );\n }\n\n return (\n <StrictMode>\n <I18nextProvider i18n={i18nInstance}>{contentNode}</I18nextProvider>\n </StrictMode>\n );\n};\n\nexport default BackofficeProvider;\n"],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { resolveBackofficeLoadedFacetModule as e } from "@plumile/backoffice-core/resolve.js";
2
+ //#region src/provider/entityRegistry.ts
3
+ var t = "cache-first", n = "detail-page", r = "detail-layout", i = "list", a = "picker", o = "tool", s = (e) => e.kind === "list-detail", c = (e) => e.kind === "tool", l = (e, t, r) => t === n ? `${e}:${t}:${r ?? ""}` : `${e}:${t}`, u = (e) => e instanceof Error ? e : Error(String(e)), d = (e) => e?.status !== "loaded" || e.module == null ? null : e.module, f = (e, t) => {
4
+ let n = e[t];
5
+ if (n == null) throw Error(`Unknown backoffice entity: ${t}`);
6
+ return n;
7
+ }, p = (p, m) => {
8
+ let h = /* @__PURE__ */ new Map(), g = (e) => p[e] ?? null, _ = async (e, n, r) => {
9
+ if ((n?.mode ?? t) === "cache-first") {
10
+ let t = d(h.get(e));
11
+ if (t != null) return t;
12
+ let n = h.get(e);
13
+ if (n?.status === "loading" && n.promise != null) return n.promise;
14
+ }
15
+ let i = r().then((t) => (h.set(e, {
16
+ status: "loaded",
17
+ module: t
18
+ }), t)).catch((t) => {
19
+ let n = u(t);
20
+ throw h.set(e, {
21
+ status: "error",
22
+ error: n
23
+ }), n;
24
+ });
25
+ return h.set(e, {
26
+ status: "loading",
27
+ promise: i
28
+ }), i;
29
+ };
30
+ return {
31
+ getManifest: g,
32
+ getLoadedListEntity: (e) => d(h.get(l(e, i))),
33
+ getLoadedPickerEntity: (e) => d(h.get(l(e, a))),
34
+ getLoadedDetailLayoutEntity: (e) => d(h.get(l(e, r))),
35
+ getLoadedDetailPageEntity: (e, t) => d(h.get(l(e, n, t))),
36
+ getLoadedToolEntity: (e) => d(h.get(l(e, o))),
37
+ loadListEntity: async (t, n) => {
38
+ let r = f(p, t);
39
+ if (!s(r)) throw Error(`Backoffice entity ${t} does not expose a list facet.`);
40
+ let a = r.facets.list;
41
+ if (a == null) throw Error(`Backoffice entity ${t} does not expose a list facet.`);
42
+ return _(l(t, i), n, async () => {
43
+ let n = e(r, await a(), m);
44
+ if (n.kind !== i) throw Error(`Backoffice entity ${t} did not resolve to a list facet.`);
45
+ return n;
46
+ });
47
+ },
48
+ loadPickerEntity: async (t, n) => {
49
+ let r = f(p, t);
50
+ if (!s(r)) throw Error(`Backoffice entity ${t} does not expose a picker facet.`);
51
+ let i = r.facets.picker;
52
+ if (i == null) throw Error(`Backoffice entity ${t} does not expose a picker facet.`);
53
+ return _(l(t, a), n, async () => {
54
+ let n = e(r, await i(), m);
55
+ if (n.kind !== a) throw Error(`Backoffice entity ${t} did not resolve to a picker facet.`);
56
+ return n;
57
+ });
58
+ },
59
+ loadDetailLayoutEntity: async (t, n) => {
60
+ let i = f(p, t);
61
+ if (!s(i)) throw Error(`Backoffice entity ${t} does not expose a detail-layout facet.`);
62
+ return _(l(t, r), n, async () => {
63
+ let n = e(i, await i.facets.detailLayout(), m);
64
+ if (n.kind !== r) throw Error(`Backoffice entity ${t} did not resolve to a detail-layout facet.`);
65
+ return n;
66
+ });
67
+ },
68
+ loadDetailPageEntity: async (t, r, i) => {
69
+ let a = f(p, t);
70
+ if (!s(a)) throw Error(`Backoffice entity ${t} does not expose a detail-page facet.`);
71
+ return _(l(t, n, r), i, async () => {
72
+ let i = e(a, await a.facets.detailPage(r), m);
73
+ if (i.kind !== n) throw Error(`Backoffice entity ${t} did not resolve to a detail-page facet.`);
74
+ return i;
75
+ });
76
+ },
77
+ loadToolEntity: async (t, n) => {
78
+ let r = f(p, t);
79
+ if (!c(r)) throw Error(`Backoffice entity ${t} does not expose a tool facet.`);
80
+ return _(l(t, o), n, async () => {
81
+ let n = e(r, await r.facets.tool(), m);
82
+ if (n.kind !== o) throw Error(`Backoffice entity ${t} did not resolve to a tool facet.`);
83
+ return n;
84
+ });
85
+ }
86
+ };
87
+ }, m = {
88
+ buildFacetCacheKey: l,
89
+ resolveManifest: f,
90
+ toError: u
91
+ };
92
+ //#endregion
93
+ export { m as __test, p as createBackofficeEntityRegistry, p as default };
94
+
95
+ //# sourceMappingURL=entityRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityRegistry.js","names":[],"sources":["../../../src/provider/entityRegistry.ts"],"sourcesContent":["import {\n resolveBackofficeLoadedFacetModule,\n type ResolveBackofficeEntityOptions,\n} from '@plumile/backoffice-core/resolve.js';\nimport type {\n BackofficeEntityFacetModuleCacheEntry,\n BackofficeEntityLoadMode,\n BackofficeEntityManifestMap,\n BackofficeListDetailFacetLoaderMap,\n BackofficeToolFacetLoaderMap,\n BackofficeResolvedDetailLayoutFacetModule,\n BackofficeResolvedDetailPageFacetModule,\n BackofficeResolvedListFacetModule,\n BackofficeResolvedPickerFacetModule,\n BackofficeResolvedToolFacetModule,\n} from '@plumile/backoffice-core/types.js';\n\nexport type BackofficeEntityRegistry = {\n getManifest: (entityId: string) => BackofficeEntityManifestMap[string] | null;\n getLoadedListEntity: (\n entityId: string,\n ) => BackofficeResolvedListFacetModule | null;\n getLoadedPickerEntity: (\n entityId: string,\n ) => BackofficeResolvedPickerFacetModule | null;\n getLoadedDetailLayoutEntity: (\n entityId: string,\n ) => BackofficeResolvedDetailLayoutFacetModule | null;\n getLoadedDetailPageEntity: (\n entityId: string,\n pageId: string,\n ) => BackofficeResolvedDetailPageFacetModule | null;\n getLoadedToolEntity: (\n entityId: string,\n ) => BackofficeResolvedToolFacetModule | null;\n loadListEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedListFacetModule>;\n loadPickerEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedPickerFacetModule>;\n loadDetailLayoutEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedDetailLayoutFacetModule>;\n loadDetailPageEntity: (\n entityId: string,\n pageId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedDetailPageFacetModule>;\n loadToolEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedToolFacetModule>;\n};\n\nconst DEFAULT_LOAD_MODE: BackofficeEntityLoadMode = 'cache-first';\nconst DETAIL_PAGE_FACET_KIND = 'detail-page';\nconst DETAIL_LAYOUT_FACET_KIND = 'detail-layout';\nconst LIST_FACET_KIND = 'list';\nconst PICKER_FACET_KIND = 'picker';\nconst TOOL_FACET_KIND = 'tool';\n\nconst hasListFacets = (\n manifestItem: BackofficeEntityManifestMap[string],\n): manifestItem is BackofficeEntityManifestMap[string] & {\n facets: BackofficeListDetailFacetLoaderMap;\n} => {\n return manifestItem.kind === 'list-detail';\n};\n\nconst hasToolFacet = (\n manifestItem: BackofficeEntityManifestMap[string],\n): manifestItem is BackofficeEntityManifestMap[string] & {\n facets: BackofficeToolFacetLoaderMap;\n} => {\n return manifestItem.kind === 'tool';\n};\n\nconst buildFacetCacheKey = (\n entityId: string,\n kind: 'list' | 'picker' | 'detail-layout' | 'detail-page' | 'tool',\n pageId?: string,\n): string => {\n if (kind === DETAIL_PAGE_FACET_KIND) {\n return `${entityId}:${kind}:${pageId ?? ''}`;\n }\n return `${entityId}:${kind}`;\n};\n\nconst toError = (error: unknown): Error => {\n if (error instanceof Error) {\n return error;\n }\n return new Error(String(error));\n};\n\nconst getLoadedModule = <TModule>(\n entry: BackofficeEntityFacetModuleCacheEntry | undefined,\n): TModule | null => {\n if (entry?.status !== 'loaded' || entry.module == null) {\n return null;\n }\n return entry.module as TModule;\n};\n\nconst resolveManifest = (\n manifest: BackofficeEntityManifestMap,\n entityId: string,\n): BackofficeEntityManifestMap[string] => {\n const manifestItem = manifest[entityId];\n if (manifestItem == null) {\n throw new Error(`Unknown backoffice entity: ${entityId}`);\n }\n return manifestItem;\n};\n\nexport const createBackofficeEntityRegistry = (\n manifest: BackofficeEntityManifestMap,\n options: ResolveBackofficeEntityOptions,\n): BackofficeEntityRegistry => {\n const cache = new Map<string, BackofficeEntityFacetModuleCacheEntry>();\n\n const getManifest: BackofficeEntityRegistry['getManifest'] = (entityId) => {\n return manifest[entityId] ?? null;\n };\n\n const loadFacet = async <TModule>(\n cacheKey: string,\n loadOptions: { mode?: BackofficeEntityLoadMode } | undefined,\n loader: () => Promise<TModule>,\n ): Promise<TModule> => {\n const resolvedMode = loadOptions?.mode ?? DEFAULT_LOAD_MODE;\n\n if (resolvedMode === 'cache-first') {\n const loadedModule = getLoadedModule<TModule>(cache.get(cacheKey));\n if (loadedModule != null) {\n return loadedModule;\n }\n\n const existing = cache.get(cacheKey);\n if (existing?.status === 'loading' && existing.promise != null) {\n return existing.promise as Promise<TModule>;\n }\n }\n\n const promise = loader()\n .then((module) => {\n cache.set(cacheKey, {\n status: 'loaded',\n module: module as never,\n });\n return module;\n })\n .catch((error: unknown) => {\n const resolvedError = toError(error);\n cache.set(cacheKey, {\n status: 'error',\n error: resolvedError,\n });\n throw resolvedError;\n });\n\n cache.set(cacheKey, {\n status: 'loading',\n promise: promise as never,\n });\n\n return promise;\n };\n\n const getLoadedListEntity: BackofficeEntityRegistry['getLoadedListEntity'] = (\n entityId,\n ) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, LIST_FACET_KIND)),\n );\n };\n\n const getLoadedPickerEntity: BackofficeEntityRegistry['getLoadedPickerEntity'] =\n (entityId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, PICKER_FACET_KIND)),\n );\n };\n\n const getLoadedDetailLayoutEntity: BackofficeEntityRegistry['getLoadedDetailLayoutEntity'] =\n (entityId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, DETAIL_LAYOUT_FACET_KIND)),\n );\n };\n\n const getLoadedDetailPageEntity: BackofficeEntityRegistry['getLoadedDetailPageEntity'] =\n (entityId, pageId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, DETAIL_PAGE_FACET_KIND, pageId)),\n );\n };\n\n const getLoadedToolEntity: BackofficeEntityRegistry['getLoadedToolEntity'] = (\n entityId,\n ) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, TOOL_FACET_KIND)),\n );\n };\n\n const loadListEntity: BackofficeEntityRegistry['loadListEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a list facet.`,\n );\n }\n const facetLoader = manifestItem.facets.list;\n if (facetLoader == null) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a list facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, LIST_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await facetLoader();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== LIST_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a list facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadPickerEntity: BackofficeEntityRegistry['loadPickerEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a picker facet.`,\n );\n }\n const facetLoader = manifestItem.facets.picker;\n if (facetLoader == null) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a picker facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, PICKER_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await facetLoader();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== PICKER_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a picker facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadDetailLayoutEntity: BackofficeEntityRegistry['loadDetailLayoutEntity'] =\n async (entityId, loadOptions) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a detail-layout facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, DETAIL_LAYOUT_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.detailLayout();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== DETAIL_LAYOUT_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a detail-layout facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadDetailPageEntity: BackofficeEntityRegistry['loadDetailPageEntity'] =\n async (entityId, pageId, loadOptions) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a detail-page facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, DETAIL_PAGE_FACET_KIND, pageId),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.detailPage(pageId);\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== DETAIL_PAGE_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a detail-page facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadToolEntity: BackofficeEntityRegistry['loadToolEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasToolFacet(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a tool facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, TOOL_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.tool();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== TOOL_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a tool facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n return {\n getManifest,\n getLoadedListEntity,\n getLoadedPickerEntity,\n getLoadedDetailLayoutEntity,\n getLoadedDetailPageEntity,\n getLoadedToolEntity,\n loadListEntity,\n loadPickerEntity,\n loadDetailLayoutEntity,\n loadDetailPageEntity,\n loadToolEntity,\n };\n};\n\nexport const __test = {\n buildFacetCacheKey,\n resolveManifest,\n toError,\n};\n\nexport default createBackofficeEntityRegistry;\n"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ //#region src/provider/lazyValue.ts
2
+ var e = (e) => {
3
+ let t = null, n = null;
4
+ return {
5
+ get: () => t,
6
+ load: async () => t ?? (n ??= e().then((e) => (t = e, e)).finally(() => {
7
+ n = null;
8
+ }), n)
9
+ };
10
+ };
11
+ //#endregion
12
+ export { e as createBackofficeLazyValue, e as default };
13
+
14
+ //# sourceMappingURL=lazyValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazyValue.js","names":[],"sources":["../../../src/provider/lazyValue.ts"],"sourcesContent":["export type BackofficeLazyValue<TValue> = {\n get: () => TValue | null;\n load: () => Promise<TValue>;\n};\n\nexport const createBackofficeLazyValue = <TValue>(\n loader: () => Promise<TValue>,\n): BackofficeLazyValue<TValue> => {\n let loadedValue: TValue | null = null;\n let inFlightPromise: Promise<TValue> | null = null;\n\n return {\n get: () => {\n return loadedValue;\n },\n load: async () => {\n if (loadedValue != null) {\n return loadedValue;\n }\n if (inFlightPromise != null) {\n return inFlightPromise;\n }\n\n inFlightPromise = loader()\n .then((value) => {\n loadedValue = value;\n return value;\n })\n .finally(() => {\n inFlightPromise = null;\n });\n\n return inFlightPromise;\n },\n };\n};\n\nexport default createBackofficeLazyValue;\n"],"mappings":";AAKA,IAAa,KACX,MACgC;CAChC,IAAI,IAA6B,MAC7B,IAA0C;CAE9C,OAAO;EACL,WACS;EAET,MAAM,YACA,MAGA,AAIJ,MAAkB,GAAQ,CACvB,MAAM,OACL,IAAc,GACP,GACP,CACD,cAAc;GACb,IAAkB;IAClB,EAVK;EAcZ"}
File without changes