@plumile/backoffice-react 0.1.59

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 (639) hide show
  1. package/LICENSE +21 -0
  2. package/lib/esm/auth/login/AuthPanel.js +28 -0
  3. package/lib/esm/auth/login/AuthPanel.js.map +1 -0
  4. package/lib/esm/auth/login/EmailCapturePanel.js +52 -0
  5. package/lib/esm/auth/login/EmailCapturePanel.js.map +1 -0
  6. package/lib/esm/auth/login/LoginFlow.js +130 -0
  7. package/lib/esm/auth/login/LoginFlow.js.map +1 -0
  8. package/lib/esm/auth/login/MethodChooser.js +51 -0
  9. package/lib/esm/auth/login/MethodChooser.js.map +1 -0
  10. package/lib/esm/auth/login/MfaChallengeForm.js +83 -0
  11. package/lib/esm/auth/login/MfaChallengeForm.js.map +1 -0
  12. package/lib/esm/auth/login/OidcButtons.js +29 -0
  13. package/lib/esm/auth/login/OidcButtons.js.map +1 -0
  14. package/lib/esm/auth/login/PasskeyLoginForm.js +84 -0
  15. package/lib/esm/auth/login/PasskeyLoginForm.js.map +1 -0
  16. package/lib/esm/auth/login/PasswordLoginPanel.js +37 -0
  17. package/lib/esm/auth/login/PasswordLoginPanel.js.map +1 -0
  18. package/lib/esm/auth/login/loginPage.css.js +8 -0
  19. package/lib/esm/auth/login/loginPage.css.js.map +1 -0
  20. package/lib/esm/auth/login/synchronizeAuthStatusQuery.js +9 -0
  21. package/lib/esm/auth/login/synchronizeAuthStatusQuery.js.map +1 -0
  22. package/lib/esm/auth/pages/AcceptInvitationScreen.js +120 -0
  23. package/lib/esm/auth/pages/AcceptInvitationScreen.js.map +1 -0
  24. package/lib/esm/auth/pages/PasswordResetCompleteScreen.js +105 -0
  25. package/lib/esm/auth/pages/PasswordResetCompleteScreen.js.map +1 -0
  26. package/lib/esm/auth/pages/PasswordResetRequestScreen.js +88 -0
  27. package/lib/esm/auth/pages/PasswordResetRequestScreen.js.map +1 -0
  28. package/lib/esm/auth/pages/VerifyEmailScreen.js +65 -0
  29. package/lib/esm/auth/pages/VerifyEmailScreen.js.map +1 -0
  30. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js +525 -0
  31. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js.map +1 -0
  32. package/lib/esm/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js +11 -0
  33. package/lib/esm/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js.map +1 -0
  34. package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js +8 -0
  35. package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js.map +1 -0
  36. package/lib/esm/components/backoffice/actions/toastViewAction.js +27 -0
  37. package/lib/esm/components/backoffice/actions/toastViewAction.js.map +1 -0
  38. package/lib/esm/components/backoffice/columns/buildDataTableColumns.js +60 -0
  39. package/lib/esm/components/backoffice/columns/buildDataTableColumns.js.map +1 -0
  40. package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js +22 -0
  41. package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js.map +1 -0
  42. package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js +41 -0
  43. package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js.map +1 -0
  44. package/lib/esm/components/backoffice/detail/BackofficeDetailField.js +31 -0
  45. package/lib/esm/components/backoffice/detail/BackofficeDetailField.js.map +1 -0
  46. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.css.js +8 -0
  47. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.css.js.map +1 -0
  48. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.js +24 -0
  49. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.js.map +1 -0
  50. package/lib/esm/components/backoffice/detail/BackofficeDetailLayout.js +20 -0
  51. package/lib/esm/components/backoffice/detail/BackofficeDetailLayout.js.map +1 -0
  52. package/lib/esm/components/backoffice/detail/BackofficeDetailPayload.js +18 -0
  53. package/lib/esm/components/backoffice/detail/BackofficeDetailPayload.js.map +1 -0
  54. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationLink.js +49 -0
  55. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationLink.js.map +1 -0
  56. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationList.js +11 -0
  57. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationList.js.map +1 -0
  58. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationListBlock.js +115 -0
  59. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationListBlock.js.map +1 -0
  60. package/lib/esm/components/backoffice/detail/BackofficeDetailSection.js +33 -0
  61. package/lib/esm/components/backoffice/detail/BackofficeDetailSection.js.map +1 -0
  62. package/lib/esm/components/backoffice/detail/BackofficeDetailTaggedValue.js +18 -0
  63. package/lib/esm/components/backoffice/detail/BackofficeDetailTaggedValue.js.map +1 -0
  64. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js +8 -0
  65. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js.map +1 -0
  66. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js +8 -0
  67. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js.map +1 -0
  68. package/lib/esm/components/backoffice/detail/backofficeDetailField.css.js +15 -0
  69. package/lib/esm/components/backoffice/detail/backofficeDetailField.css.js.map +1 -0
  70. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js +8 -0
  71. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js.map +1 -0
  72. package/lib/esm/components/backoffice/detail/backofficeDetailRelationLink.css.js +8 -0
  73. package/lib/esm/components/backoffice/detail/backofficeDetailRelationLink.css.js.map +1 -0
  74. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js +8 -0
  75. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js.map +1 -0
  76. package/lib/esm/components/backoffice/detail/backofficeDetailSection.css.js +8 -0
  77. package/lib/esm/components/backoffice/detail/backofficeDetailSection.css.js.map +1 -0
  78. package/lib/esm/components/backoffice/detail/backofficeDetailTaggedValue.css.js +8 -0
  79. package/lib/esm/components/backoffice/detail/backofficeDetailTaggedValue.css.js.map +1 -0
  80. package/lib/esm/components/backoffice/detail/detailPayloadUtils.js +17 -0
  81. package/lib/esm/components/backoffice/detail/detailPayloadUtils.js.map +1 -0
  82. package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js +21 -0
  83. package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js.map +1 -0
  84. package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js +43 -0
  85. package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js.map +1 -0
  86. package/lib/esm/components/backoffice/filters/EntityFilterValue.js +46 -0
  87. package/lib/esm/components/backoffice/filters/EntityFilterValue.js.map +1 -0
  88. package/lib/esm/components/backoffice/filters/EntityIdFilterField.js +51 -0
  89. package/lib/esm/components/backoffice/filters/EntityIdFilterField.js.map +1 -0
  90. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js +8 -0
  91. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js.map +1 -0
  92. package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js +8 -0
  93. package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js.map +1 -0
  94. package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js +8 -0
  95. package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js.map +1 -0
  96. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js +10 -0
  97. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js.map +1 -0
  98. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js +38 -0
  99. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js.map +1 -0
  100. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.js +12 -0
  101. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.js.map +1 -0
  102. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.js +11 -0
  103. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.js.map +1 -0
  104. package/lib/esm/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.js +16 -0
  105. package/lib/esm/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.js.map +1 -0
  106. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js +8 -0
  107. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js.map +1 -0
  108. package/lib/esm/components/backoffice/layout/breadcrumb/buildBreadcrumbs.js +48 -0
  109. package/lib/esm/components/backoffice/layout/breadcrumb/buildBreadcrumbs.js.map +1 -0
  110. package/lib/esm/components/backoffice/layout/breadcrumb/types.js +0 -0
  111. package/lib/esm/components/backoffice/layout/buildSidebarSections.js +183 -0
  112. package/lib/esm/components/backoffice/layout/buildSidebarSections.js.map +1 -0
  113. package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js +18 -0
  114. package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js.map +1 -0
  115. package/lib/esm/components/backoffice/layout/sidebarUtils.js +44 -0
  116. package/lib/esm/components/backoffice/layout/sidebarUtils.js.map +1 -0
  117. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js +7 -0
  118. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js.map +1 -0
  119. package/lib/esm/components/backoffice/list/RowFlagsCell.js +37 -0
  120. package/lib/esm/components/backoffice/list/RowFlagsCell.js.map +1 -0
  121. package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js +31 -0
  122. package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js.map +1 -0
  123. package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js +8 -0
  124. package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js.map +1 -0
  125. package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js +107 -0
  126. package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js.map +1 -0
  127. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js +8 -0
  128. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js.map +1 -0
  129. package/lib/esm/components/backoffice/pickers/shared/EntityPickerList.js +24 -0
  130. package/lib/esm/components/backoffice/pickers/shared/EntityPickerList.js.map +1 -0
  131. package/lib/esm/components/backoffice/pickers/shared/EntityPickerRowBase.js +23 -0
  132. package/lib/esm/components/backoffice/pickers/shared/EntityPickerRowBase.js.map +1 -0
  133. package/lib/esm/components/backoffice/pickers/shared/EntityPickerShell.js +24 -0
  134. package/lib/esm/components/backoffice/pickers/shared/EntityPickerShell.js.map +1 -0
  135. package/lib/esm/components/backoffice/pickers/types.js +0 -0
  136. package/lib/esm/components/backoffice/refs/BackofficeEntityIdRef.js +35 -0
  137. package/lib/esm/components/backoffice/refs/BackofficeEntityIdRef.js.map +1 -0
  138. package/lib/esm/components/backoffice/refs/BackofficeRelatedCountLink.js +54 -0
  139. package/lib/esm/components/backoffice/refs/BackofficeRelatedCountLink.js.map +1 -0
  140. package/lib/esm/components/backoffice/refs/backofficeEntityIdRef.css.js +8 -0
  141. package/lib/esm/components/backoffice/refs/backofficeEntityIdRef.css.js.map +1 -0
  142. package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js +8 -0
  143. package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js.map +1 -0
  144. package/lib/esm/components/backoffice/routing/BackofficeContentBoundary.js +24 -0
  145. package/lib/esm/components/backoffice/routing/BackofficeContentBoundary.js.map +1 -0
  146. package/lib/esm/components/backoffice/routing/BackofficeContentError.js +39 -0
  147. package/lib/esm/components/backoffice/routing/BackofficeContentError.js.map +1 -0
  148. package/lib/esm/components/backoffice/routing/BackofficeContentFallback.js +47 -0
  149. package/lib/esm/components/backoffice/routing/BackofficeContentFallback.js.map +1 -0
  150. package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js +22 -0
  151. package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js.map +1 -0
  152. package/lib/esm/components/backoffice/routing/BackofficeRoutePendingBar.js +12 -0
  153. package/lib/esm/components/backoffice/routing/BackofficeRoutePendingBar.js.map +1 -0
  154. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js +8 -0
  155. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js.map +1 -0
  156. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js +8 -0
  157. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js.map +1 -0
  158. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js +8 -0
  159. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js.map +1 -0
  160. package/lib/esm/components/backoffice/routing/backofficeRouteFallback.css.js +8 -0
  161. package/lib/esm/components/backoffice/routing/backofficeRouteFallback.css.js.map +1 -0
  162. package/lib/esm/components/backoffice/routing/backofficeRoutePendingBar.css.js +8 -0
  163. package/lib/esm/components/backoffice/routing/backofficeRoutePendingBar.css.js.map +1 -0
  164. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.js +11 -0
  165. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.js.map +1 -0
  166. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js +446 -0
  167. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js.map +1 -0
  168. package/lib/esm/components/backoffice/scaffolds/BackofficeListFilterContext.js +40 -0
  169. package/lib/esm/components/backoffice/scaffolds/BackofficeListFilterContext.js.map +1 -0
  170. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js +25 -0
  171. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js.map +1 -0
  172. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js +8 -0
  173. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js.map +1 -0
  174. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js +8 -0
  175. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js.map +1 -0
  176. package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js +12 -0
  177. package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js.map +1 -0
  178. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js +8 -0
  179. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js.map +1 -0
  180. package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js +40 -0
  181. package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js.map +1 -0
  182. package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js +48 -0
  183. package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js.map +1 -0
  184. package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js +58 -0
  185. package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js.map +1 -0
  186. package/lib/esm/components/backoffice/tools/BackofficeToolsPageLayout.js +81 -0
  187. package/lib/esm/components/backoffice/tools/BackofficeToolsPageLayout.js.map +1 -0
  188. package/lib/esm/components/backoffice/tools/BackofficeToolsParamsContext.js +16 -0
  189. package/lib/esm/components/backoffice/tools/BackofficeToolsParamsContext.js.map +1 -0
  190. package/lib/esm/components/backoffice/tools/BackofficeToolsProjectPicker.js +56 -0
  191. package/lib/esm/components/backoffice/tools/BackofficeToolsProjectPicker.js.map +1 -0
  192. package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js +20 -0
  193. package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js.map +1 -0
  194. package/lib/esm/components/backoffice/tools/BackofficeToolsScopePicker.js +56 -0
  195. package/lib/esm/components/backoffice/tools/BackofficeToolsScopePicker.js.map +1 -0
  196. package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js +8 -0
  197. package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js.map +1 -0
  198. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +8 -0
  199. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js.map +1 -0
  200. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +8 -0
  201. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js.map +1 -0
  202. package/lib/esm/components/backoffice/tools/backofficeToolsPageLayout.css.js +8 -0
  203. package/lib/esm/components/backoffice/tools/backofficeToolsPageLayout.css.js.map +1 -0
  204. package/lib/esm/components/backoffice/tools/backofficeToolsProjectPicker.css.js +8 -0
  205. package/lib/esm/components/backoffice/tools/backofficeToolsProjectPicker.css.js.map +1 -0
  206. package/lib/esm/components/backoffice/tools/backofficeToolsScopePicker.css.js +8 -0
  207. package/lib/esm/components/backoffice/tools/backofficeToolsScopePicker.css.js.map +1 -0
  208. package/lib/esm/filters/filterHelpers.js +36 -0
  209. package/lib/esm/filters/filterHelpers.js.map +1 -0
  210. package/lib/esm/hooks/useAuth.js +439 -0
  211. package/lib/esm/hooks/useAuth.js.map +1 -0
  212. package/lib/esm/hooks/useBackofficeAuth.js +89 -0
  213. package/lib/esm/hooks/useBackofficeAuth.js.map +1 -0
  214. package/lib/esm/hooks/useBackofficeListRefetch.js +40 -0
  215. package/lib/esm/hooks/useBackofficeListRefetch.js.map +1 -0
  216. package/lib/esm/hooks/useBackofficeListUrlState.js +37 -0
  217. package/lib/esm/hooks/useBackofficeListUrlState.js.map +1 -0
  218. package/lib/esm/hooks/useBackofficeLoadMore.js +18 -0
  219. package/lib/esm/hooks/useBackofficeLoadMore.js.map +1 -0
  220. package/lib/esm/hooks/useBackofficeSessionAuth.js +28 -0
  221. package/lib/esm/hooks/useBackofficeSessionAuth.js.map +1 -0
  222. package/lib/esm/hooks/useBackofficeSidebarPins.js +70 -0
  223. package/lib/esm/hooks/useBackofficeSidebarPins.js.map +1 -0
  224. package/lib/esm/hooks/useBackofficeToolsUrlParams.js +15 -0
  225. package/lib/esm/hooks/useBackofficeToolsUrlParams.js.map +1 -0
  226. package/lib/esm/hooks/useSidebarGroupCollapse.js +35 -0
  227. package/lib/esm/hooks/useSidebarGroupCollapse.js.map +1 -0
  228. package/lib/esm/i18n/createI18nInstance.js +62 -0
  229. package/lib/esm/i18n/createI18nInstance.js.map +1 -0
  230. package/lib/esm/i18n/locales/en/backofficeReact.js +249 -0
  231. package/lib/esm/i18n/locales/en/backofficeReact.js.map +1 -0
  232. package/lib/esm/i18n/locales/en/shared.js +207 -0
  233. package/lib/esm/i18n/locales/en/shared.js.map +1 -0
  234. package/lib/esm/i18n/locales/fr/backofficeReact.js +251 -0
  235. package/lib/esm/i18n/locales/fr/backofficeReact.js.map +1 -0
  236. package/lib/esm/i18n/locales/fr/shared.js +207 -0
  237. package/lib/esm/i18n/locales/fr/shared.js.map +1 -0
  238. package/lib/esm/i18n/mergeResourceLanguages.js +19 -0
  239. package/lib/esm/i18n/mergeResourceLanguages.js.map +1 -0
  240. package/lib/esm/i18n/resources.js +19 -0
  241. package/lib/esm/i18n/resources.js.map +1 -0
  242. package/lib/esm/i18n/useBackofficeFormats.js +23 -0
  243. package/lib/esm/i18n/useBackofficeFormats.js.map +1 -0
  244. package/lib/esm/i18n/useBackofficeReactTranslation.js +9 -0
  245. package/lib/esm/i18n/useBackofficeReactTranslation.js.map +1 -0
  246. package/lib/esm/i18n/useSharedTranslation.js +9 -0
  247. package/lib/esm/i18n/useSharedTranslation.js.map +1 -0
  248. package/lib/esm/index.js +2 -0
  249. package/lib/esm/modules/sharedSchemaTypes.js +0 -0
  250. package/lib/esm/modules/webauthn.js +33 -0
  251. package/lib/esm/modules/webauthn.js.map +1 -0
  252. package/lib/esm/pages/BackofficeAcceptInvitationPage.js +24 -0
  253. package/lib/esm/pages/BackofficeAcceptInvitationPage.js.map +1 -0
  254. package/lib/esm/pages/BackofficeDashboardPage.js +198 -0
  255. package/lib/esm/pages/BackofficeDashboardPage.js.map +1 -0
  256. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js +18 -0
  257. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js.map +1 -0
  258. package/lib/esm/pages/BackofficeEntityDetailPage.js +843 -0
  259. package/lib/esm/pages/BackofficeEntityDetailPage.js.map +1 -0
  260. package/lib/esm/pages/BackofficeEntityDetailUnknownPageRedirect.js +17 -0
  261. package/lib/esm/pages/BackofficeEntityDetailUnknownPageRedirect.js.map +1 -0
  262. package/lib/esm/pages/BackofficeEntityListPage.js +363 -0
  263. package/lib/esm/pages/BackofficeEntityListPage.js.map +1 -0
  264. package/lib/esm/pages/BackofficeLayoutPage.js +141 -0
  265. package/lib/esm/pages/BackofficeLayoutPage.js.map +1 -0
  266. package/lib/esm/pages/BackofficeLoginPage.js +46 -0
  267. package/lib/esm/pages/BackofficeLoginPage.js.map +1 -0
  268. package/lib/esm/pages/BackofficePasswordResetCompletePage.js +59 -0
  269. package/lib/esm/pages/BackofficePasswordResetCompletePage.js.map +1 -0
  270. package/lib/esm/pages/BackofficePasswordResetRequestPage.js +54 -0
  271. package/lib/esm/pages/BackofficePasswordResetRequestPage.js.map +1 -0
  272. package/lib/esm/pages/BackofficeToolsOperationPage.js +465 -0
  273. package/lib/esm/pages/BackofficeToolsOperationPage.js.map +1 -0
  274. package/lib/esm/pages/BackofficeVerifyEmailPage.js +59 -0
  275. package/lib/esm/pages/BackofficeVerifyEmailPage.js.map +1 -0
  276. package/lib/esm/pages/backofficeDashboardPage.css.js +8 -0
  277. package/lib/esm/pages/backofficeDashboardPage.css.js.map +1 -0
  278. package/lib/esm/pages/backofficeEntityDetailPage.css.js +8 -0
  279. package/lib/esm/pages/backofficeEntityDetailPage.css.js.map +1 -0
  280. package/lib/esm/pages/backofficeEntityListPage.css.js +8 -0
  281. package/lib/esm/pages/backofficeEntityListPage.css.js.map +1 -0
  282. package/lib/esm/pages/detail/BackofficeEntityDetailLayoutContext.js +11 -0
  283. package/lib/esm/pages/detail/BackofficeEntityDetailLayoutContext.js.map +1 -0
  284. package/lib/esm/pages/detail/buildTabsItems.js +10 -0
  285. package/lib/esm/pages/detail/buildTabsItems.js.map +1 -0
  286. package/lib/esm/pages/detail/pageResolution.js +28 -0
  287. package/lib/esm/pages/detail/pageResolution.js.map +1 -0
  288. package/lib/esm/provider/BackofficeConfigContext.js +12 -0
  289. package/lib/esm/provider/BackofficeConfigContext.js.map +1 -0
  290. package/lib/esm/provider/BackofficeProvider.js +142 -0
  291. package/lib/esm/provider/BackofficeProvider.js.map +1 -0
  292. package/lib/esm/provider/entityRegistry.js +91 -0
  293. package/lib/esm/provider/entityRegistry.js.map +1 -0
  294. package/lib/esm/provider/lazyValue.js +14 -0
  295. package/lib/esm/provider/lazyValue.js.map +1 -0
  296. package/lib/esm/provider/types.js +0 -0
  297. package/lib/esm/provider/useBackofficeEntityLoader.js +137 -0
  298. package/lib/esm/provider/useBackofficeEntityLoader.js.map +1 -0
  299. package/lib/esm/provider/useBackofficeLazyValue.js +39 -0
  300. package/lib/esm/provider/useBackofficeLazyValue.js.map +1 -0
  301. package/lib/esm/relay/RelayProvider.js +12 -0
  302. package/lib/esm/relay/RelayProvider.js.map +1 -0
  303. package/lib/esm/relay/createInlineDataReader.js +2 -0
  304. package/lib/esm/relay/createInlineReader.js +7 -0
  305. package/lib/esm/relay/createInlineReader.js.map +1 -0
  306. package/lib/esm/relay/envHelpers.js +46 -0
  307. package/lib/esm/relay/envHelpers.js.map +1 -0
  308. package/lib/esm/relay/environment.js +221 -0
  309. package/lib/esm/relay/environment.js.map +1 -0
  310. package/lib/esm/relay/identityView.js +6 -0
  311. package/lib/esm/relay/identityView.js.map +1 -0
  312. package/lib/esm/relay/mutationResult.js +47 -0
  313. package/lib/esm/relay/mutationResult.js.map +1 -0
  314. package/lib/esm/relay/useRelayEnvironment.js +2 -0
  315. package/lib/esm/router/backofficeAuthPaths.js +13 -0
  316. package/lib/esm/router/backofficeAuthPaths.js.map +1 -0
  317. package/lib/esm/router/createBackofficeRoutes.js +273 -0
  318. package/lib/esm/router/createBackofficeRoutes.js.map +1 -0
  319. package/lib/esm/style.css +2 -0
  320. package/lib/esm/style.js +1 -0
  321. package/lib/types/auth/login/AuthPanel.d.ts +10 -0
  322. package/lib/types/auth/login/AuthPanel.d.ts.map +1 -0
  323. package/lib/types/auth/login/EmailCapturePanel.d.ts +12 -0
  324. package/lib/types/auth/login/EmailCapturePanel.d.ts.map +1 -0
  325. package/lib/types/auth/login/LoginFlow.d.ts +11 -0
  326. package/lib/types/auth/login/LoginFlow.d.ts.map +1 -0
  327. package/lib/types/auth/login/MethodChooser.d.ts +12 -0
  328. package/lib/types/auth/login/MethodChooser.d.ts.map +1 -0
  329. package/lib/types/auth/login/MfaChallengeForm.d.ts +10 -0
  330. package/lib/types/auth/login/MfaChallengeForm.d.ts.map +1 -0
  331. package/lib/types/auth/login/OidcButtons.d.ts +8 -0
  332. package/lib/types/auth/login/OidcButtons.d.ts.map +1 -0
  333. package/lib/types/auth/login/PasskeyLoginForm.d.ts +12 -0
  334. package/lib/types/auth/login/PasskeyLoginForm.d.ts.map +1 -0
  335. package/lib/types/auth/login/PasswordLoginPanel.d.ts +13 -0
  336. package/lib/types/auth/login/PasswordLoginPanel.d.ts.map +1 -0
  337. package/lib/types/auth/login/loginPage.css.d.ts +14 -0
  338. package/lib/types/auth/login/loginPage.css.d.ts.map +1 -0
  339. package/lib/types/auth/login/synchronizeAuthStatusQuery.d.ts +3 -0
  340. package/lib/types/auth/login/synchronizeAuthStatusQuery.d.ts.map +1 -0
  341. package/lib/types/auth/pages/AcceptInvitationScreen.d.ts +11 -0
  342. package/lib/types/auth/pages/AcceptInvitationScreen.d.ts.map +1 -0
  343. package/lib/types/auth/pages/PasswordResetCompleteScreen.d.ts +12 -0
  344. package/lib/types/auth/pages/PasswordResetCompleteScreen.d.ts.map +1 -0
  345. package/lib/types/auth/pages/PasswordResetRequestScreen.d.ts +10 -0
  346. package/lib/types/auth/pages/PasswordResetRequestScreen.d.ts.map +1 -0
  347. package/lib/types/auth/pages/VerifyEmailScreen.d.ts +11 -0
  348. package/lib/types/auth/pages/VerifyEmailScreen.d.ts.map +1 -0
  349. package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts +12 -0
  350. package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts.map +1 -0
  351. package/lib/types/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.d.ts +5 -0
  352. package/lib/types/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.d.ts.map +1 -0
  353. package/lib/types/components/backoffice/actions/backofficeEntityActionFormDialog.css.d.ts +7 -0
  354. package/lib/types/components/backoffice/actions/backofficeEntityActionFormDialog.css.d.ts.map +1 -0
  355. package/lib/types/components/backoffice/actions/toastViewAction.d.ts +17 -0
  356. package/lib/types/components/backoffice/actions/toastViewAction.d.ts.map +1 -0
  357. package/lib/types/components/backoffice/columns/buildDataTableColumns.d.ts +13 -0
  358. package/lib/types/components/backoffice/columns/buildDataTableColumns.d.ts.map +1 -0
  359. package/lib/types/components/backoffice/detail/BackofficeDetailBadgeRow.d.ts +8 -0
  360. package/lib/types/components/backoffice/detail/BackofficeDetailBadgeRow.d.ts.map +1 -0
  361. package/lib/types/components/backoffice/detail/BackofficeDetailErrorList.d.ts +14 -0
  362. package/lib/types/components/backoffice/detail/BackofficeDetailErrorList.d.ts.map +1 -0
  363. package/lib/types/components/backoffice/detail/BackofficeDetailField.d.ts +13 -0
  364. package/lib/types/components/backoffice/detail/BackofficeDetailField.d.ts.map +1 -0
  365. package/lib/types/components/backoffice/detail/BackofficeDetailFlagTag.css.d.ts +4 -0
  366. package/lib/types/components/backoffice/detail/BackofficeDetailFlagTag.css.d.ts.map +1 -0
  367. package/lib/types/components/backoffice/detail/BackofficeDetailFlagTag.d.ts +10 -0
  368. package/lib/types/components/backoffice/detail/BackofficeDetailFlagTag.d.ts.map +1 -0
  369. package/lib/types/components/backoffice/detail/BackofficeDetailLayout.d.ts +8 -0
  370. package/lib/types/components/backoffice/detail/BackofficeDetailLayout.d.ts.map +1 -0
  371. package/lib/types/components/backoffice/detail/BackofficeDetailPayload.d.ts +10 -0
  372. package/lib/types/components/backoffice/detail/BackofficeDetailPayload.d.ts.map +1 -0
  373. package/lib/types/components/backoffice/detail/BackofficeDetailRelationLink.d.ts +13 -0
  374. package/lib/types/components/backoffice/detail/BackofficeDetailRelationLink.d.ts.map +1 -0
  375. package/lib/types/components/backoffice/detail/BackofficeDetailRelationList.d.ts +7 -0
  376. package/lib/types/components/backoffice/detail/BackofficeDetailRelationList.d.ts.map +1 -0
  377. package/lib/types/components/backoffice/detail/BackofficeDetailRelationListBlock.d.ts +11 -0
  378. package/lib/types/components/backoffice/detail/BackofficeDetailRelationListBlock.d.ts.map +1 -0
  379. package/lib/types/components/backoffice/detail/BackofficeDetailSection.d.ts +11 -0
  380. package/lib/types/components/backoffice/detail/BackofficeDetailSection.d.ts.map +1 -0
  381. package/lib/types/components/backoffice/detail/BackofficeDetailTaggedValue.d.ts +12 -0
  382. package/lib/types/components/backoffice/detail/BackofficeDetailTaggedValue.d.ts.map +1 -0
  383. package/lib/types/components/backoffice/detail/backofficeDetailBadgeRow.css.d.ts +2 -0
  384. package/lib/types/components/backoffice/detail/backofficeDetailBadgeRow.css.d.ts.map +1 -0
  385. package/lib/types/components/backoffice/detail/backofficeDetailErrorList.css.d.ts +8 -0
  386. package/lib/types/components/backoffice/detail/backofficeDetailErrorList.css.d.ts.map +1 -0
  387. package/lib/types/components/backoffice/detail/backofficeDetailField.css.d.ts +13 -0
  388. package/lib/types/components/backoffice/detail/backofficeDetailField.css.d.ts.map +1 -0
  389. package/lib/types/components/backoffice/detail/backofficeDetailLayout.css.d.ts +5 -0
  390. package/lib/types/components/backoffice/detail/backofficeDetailLayout.css.d.ts.map +1 -0
  391. package/lib/types/components/backoffice/detail/backofficeDetailRelationLink.css.d.ts +4 -0
  392. package/lib/types/components/backoffice/detail/backofficeDetailRelationLink.css.d.ts.map +1 -0
  393. package/lib/types/components/backoffice/detail/backofficeDetailRelationList.css.d.ts +2 -0
  394. package/lib/types/components/backoffice/detail/backofficeDetailRelationList.css.d.ts.map +1 -0
  395. package/lib/types/components/backoffice/detail/backofficeDetailSection.css.d.ts +6 -0
  396. package/lib/types/components/backoffice/detail/backofficeDetailSection.css.d.ts.map +1 -0
  397. package/lib/types/components/backoffice/detail/backofficeDetailTaggedValue.css.d.ts +3 -0
  398. package/lib/types/components/backoffice/detail/backofficeDetailTaggedValue.css.d.ts.map +1 -0
  399. package/lib/types/components/backoffice/detail/detailPayloadUtils.d.ts +3 -0
  400. package/lib/types/components/backoffice/detail/detailPayloadUtils.d.ts.map +1 -0
  401. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts +19 -0
  402. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts.map +1 -0
  403. package/lib/types/components/backoffice/filters/BackofficeFilterAction.d.ts +12 -0
  404. package/lib/types/components/backoffice/filters/BackofficeFilterAction.d.ts.map +1 -0
  405. package/lib/types/components/backoffice/filters/EntityFilterValue.d.ts +14 -0
  406. package/lib/types/components/backoffice/filters/EntityFilterValue.d.ts.map +1 -0
  407. package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts +12 -0
  408. package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts.map +1 -0
  409. package/lib/types/components/backoffice/filters/backofficeFilterAction.css.d.ts +3 -0
  410. package/lib/types/components/backoffice/filters/backofficeFilterAction.css.d.ts.map +1 -0
  411. package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts +6 -0
  412. package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts.map +1 -0
  413. package/lib/types/components/backoffice/layout/backofficeSidebarActions.css.d.ts +2 -0
  414. package/lib/types/components/backoffice/layout/backofficeSidebarActions.css.d.ts.map +1 -0
  415. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.d.ts +9 -0
  416. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.d.ts.map +1 -0
  417. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.d.ts +8 -0
  418. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.d.ts.map +1 -0
  419. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.d.ts +7 -0
  420. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.d.ts.map +1 -0
  421. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.d.ts +6 -0
  422. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.d.ts.map +1 -0
  423. package/lib/types/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.d.ts +3 -0
  424. package/lib/types/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.d.ts.map +1 -0
  425. package/lib/types/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.d.ts +7 -0
  426. package/lib/types/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.d.ts.map +1 -0
  427. package/lib/types/components/backoffice/layout/breadcrumb/buildBreadcrumbs.d.ts +21 -0
  428. package/lib/types/components/backoffice/layout/breadcrumb/buildBreadcrumbs.d.ts.map +1 -0
  429. package/lib/types/components/backoffice/layout/breadcrumb/types.d.ts +9 -0
  430. package/lib/types/components/backoffice/layout/breadcrumb/types.d.ts.map +1 -0
  431. package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts +22 -0
  432. package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts.map +1 -0
  433. package/lib/types/components/backoffice/layout/mapViewerToSidebarProfileView.d.ts +15 -0
  434. package/lib/types/components/backoffice/layout/mapViewerToSidebarProfileView.d.ts.map +1 -0
  435. package/lib/types/components/backoffice/layout/sidebarUtils.d.ts +16 -0
  436. package/lib/types/components/backoffice/layout/sidebarUtils.d.ts.map +1 -0
  437. package/lib/types/components/backoffice/list/RowFlagsCell.css.d.ts +4 -0
  438. package/lib/types/components/backoffice/list/RowFlagsCell.css.d.ts.map +1 -0
  439. package/lib/types/components/backoffice/list/RowFlagsCell.d.ts +10 -0
  440. package/lib/types/components/backoffice/list/RowFlagsCell.d.ts.map +1 -0
  441. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.d.ts +10 -0
  442. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.d.ts.map +1 -0
  443. package/lib/types/components/backoffice/overview/backofficeOverviewLayout.css.d.ts +6 -0
  444. package/lib/types/components/backoffice/overview/backofficeOverviewLayout.css.d.ts.map +1 -0
  445. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts +14 -0
  446. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts.map +1 -0
  447. package/lib/types/components/backoffice/pickers/entityIdPickerDialog.css.d.ts +8 -0
  448. package/lib/types/components/backoffice/pickers/entityIdPickerDialog.css.d.ts.map +1 -0
  449. package/lib/types/components/backoffice/pickers/shared/EntityPickerList.d.ts +10 -0
  450. package/lib/types/components/backoffice/pickers/shared/EntityPickerList.d.ts.map +1 -0
  451. package/lib/types/components/backoffice/pickers/shared/EntityPickerRowBase.d.ts +8 -0
  452. package/lib/types/components/backoffice/pickers/shared/EntityPickerRowBase.d.ts.map +1 -0
  453. package/lib/types/components/backoffice/pickers/shared/EntityPickerShell.d.ts +11 -0
  454. package/lib/types/components/backoffice/pickers/shared/EntityPickerShell.d.ts.map +1 -0
  455. package/lib/types/components/backoffice/pickers/types.d.ts +14 -0
  456. package/lib/types/components/backoffice/pickers/types.d.ts.map +1 -0
  457. package/lib/types/components/backoffice/refs/BackofficeEntityIdRef.d.ts +13 -0
  458. package/lib/types/components/backoffice/refs/BackofficeEntityIdRef.d.ts.map +1 -0
  459. package/lib/types/components/backoffice/refs/BackofficeRelatedCountLink.d.ts +9 -0
  460. package/lib/types/components/backoffice/refs/BackofficeRelatedCountLink.d.ts.map +1 -0
  461. package/lib/types/components/backoffice/refs/backofficeEntityIdRef.css.d.ts +2 -0
  462. package/lib/types/components/backoffice/refs/backofficeEntityIdRef.css.d.ts.map +1 -0
  463. package/lib/types/components/backoffice/refs/backofficeRelatedCountLink.css.d.ts +2 -0
  464. package/lib/types/components/backoffice/refs/backofficeRelatedCountLink.css.d.ts.map +1 -0
  465. package/lib/types/components/backoffice/routing/BackofficeContentBoundary.d.ts +7 -0
  466. package/lib/types/components/backoffice/routing/BackofficeContentBoundary.d.ts.map +1 -0
  467. package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts +8 -0
  468. package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts.map +1 -0
  469. package/lib/types/components/backoffice/routing/BackofficeContentFallback.d.ts +4 -0
  470. package/lib/types/components/backoffice/routing/BackofficeContentFallback.d.ts.map +1 -0
  471. package/lib/types/components/backoffice/routing/BackofficeRouteFallback.d.ts +4 -0
  472. package/lib/types/components/backoffice/routing/BackofficeRouteFallback.d.ts.map +1 -0
  473. package/lib/types/components/backoffice/routing/BackofficeRoutePendingBar.d.ts +4 -0
  474. package/lib/types/components/backoffice/routing/BackofficeRoutePendingBar.d.ts.map +1 -0
  475. package/lib/types/components/backoffice/routing/backofficeContentBoundary.css.d.ts +2 -0
  476. package/lib/types/components/backoffice/routing/backofficeContentBoundary.css.d.ts.map +1 -0
  477. package/lib/types/components/backoffice/routing/backofficeContentError.css.d.ts +3 -0
  478. package/lib/types/components/backoffice/routing/backofficeContentError.css.d.ts.map +1 -0
  479. package/lib/types/components/backoffice/routing/backofficeContentFallback.css.d.ts +5 -0
  480. package/lib/types/components/backoffice/routing/backofficeContentFallback.css.d.ts.map +1 -0
  481. package/lib/types/components/backoffice/routing/backofficeRouteFallback.css.d.ts +3 -0
  482. package/lib/types/components/backoffice/routing/backofficeRouteFallback.css.d.ts.map +1 -0
  483. package/lib/types/components/backoffice/routing/backofficeRoutePendingBar.css.d.ts +3 -0
  484. package/lib/types/components/backoffice/routing/backofficeRoutePendingBar.css.d.ts.map +1 -0
  485. package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.d.ts +13 -0
  486. package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.d.ts.map +1 -0
  487. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts +30 -0
  488. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts.map +1 -0
  489. package/lib/types/components/backoffice/scaffolds/BackofficeListFilterContext.d.ts +23 -0
  490. package/lib/types/components/backoffice/scaffolds/BackofficeListFilterContext.d.ts.map +1 -0
  491. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts +11 -0
  492. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts.map +1 -0
  493. package/lib/types/components/backoffice/scaffolds/backofficeEntityListScaffold.css.d.ts +5 -0
  494. package/lib/types/components/backoffice/scaffolds/backofficeEntityListScaffold.css.d.ts.map +1 -0
  495. package/lib/types/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.d.ts +3 -0
  496. package/lib/types/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.d.ts.map +1 -0
  497. package/lib/types/components/backoffice/shared/BackofficeInlineFilterRow.d.ts +8 -0
  498. package/lib/types/components/backoffice/shared/BackofficeInlineFilterRow.d.ts.map +1 -0
  499. package/lib/types/components/backoffice/shared/backofficeInlineFilterRow.css.d.ts +2 -0
  500. package/lib/types/components/backoffice/shared/backofficeInlineFilterRow.css.d.ts.map +1 -0
  501. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts +11 -0
  502. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts.map +1 -0
  503. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts +8 -0
  504. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +1 -0
  505. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts +15 -0
  506. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +1 -0
  507. package/lib/types/components/backoffice/tools/BackofficeToolsPageLayout.d.ts +13 -0
  508. package/lib/types/components/backoffice/tools/BackofficeToolsPageLayout.d.ts.map +1 -0
  509. package/lib/types/components/backoffice/tools/BackofficeToolsParamsContext.d.ts +14 -0
  510. package/lib/types/components/backoffice/tools/BackofficeToolsParamsContext.d.ts.map +1 -0
  511. package/lib/types/components/backoffice/tools/BackofficeToolsProjectPicker.d.ts +8 -0
  512. package/lib/types/components/backoffice/tools/BackofficeToolsProjectPicker.d.ts.map +1 -0
  513. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts +7 -0
  514. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts.map +1 -0
  515. package/lib/types/components/backoffice/tools/BackofficeToolsScopePicker.d.ts +8 -0
  516. package/lib/types/components/backoffice/tools/BackofficeToolsScopePicker.d.ts.map +1 -0
  517. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts +8 -0
  518. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +1 -0
  519. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts +6 -0
  520. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts.map +1 -0
  521. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts +4 -0
  522. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts.map +1 -0
  523. package/lib/types/components/backoffice/tools/backofficeToolsPageLayout.css.d.ts +13 -0
  524. package/lib/types/components/backoffice/tools/backofficeToolsPageLayout.css.d.ts.map +1 -0
  525. package/lib/types/components/backoffice/tools/backofficeToolsProjectPicker.css.d.ts +4 -0
  526. package/lib/types/components/backoffice/tools/backofficeToolsProjectPicker.css.d.ts.map +1 -0
  527. package/lib/types/components/backoffice/tools/backofficeToolsScopePicker.css.d.ts +4 -0
  528. package/lib/types/components/backoffice/tools/backofficeToolsScopePicker.css.d.ts.map +1 -0
  529. package/lib/types/filters/filterHelpers.d.ts +5 -0
  530. package/lib/types/filters/filterHelpers.d.ts.map +1 -0
  531. package/lib/types/hooks/useAuth.d.ts +170 -0
  532. package/lib/types/hooks/useAuth.d.ts.map +1 -0
  533. package/lib/types/hooks/useBackofficeAuth.d.ts +3 -0
  534. package/lib/types/hooks/useBackofficeAuth.d.ts.map +1 -0
  535. package/lib/types/hooks/useBackofficeListRefetch.d.ts +17 -0
  536. package/lib/types/hooks/useBackofficeListRefetch.d.ts.map +1 -0
  537. package/lib/types/hooks/useBackofficeListUrlState.d.ts +8 -0
  538. package/lib/types/hooks/useBackofficeListUrlState.d.ts.map +1 -0
  539. package/lib/types/hooks/useBackofficeLoadMore.d.ts +9 -0
  540. package/lib/types/hooks/useBackofficeLoadMore.d.ts.map +1 -0
  541. package/lib/types/hooks/useBackofficeSessionAuth.d.ts +7 -0
  542. package/lib/types/hooks/useBackofficeSessionAuth.d.ts.map +1 -0
  543. package/lib/types/hooks/useBackofficeSidebarPins.d.ts +15 -0
  544. package/lib/types/hooks/useBackofficeSidebarPins.d.ts.map +1 -0
  545. package/lib/types/hooks/useBackofficeToolsUrlParams.d.ts +8 -0
  546. package/lib/types/hooks/useBackofficeToolsUrlParams.d.ts.map +1 -0
  547. package/lib/types/hooks/useSidebarGroupCollapse.d.ts +11 -0
  548. package/lib/types/hooks/useSidebarGroupCollapse.d.ts.map +1 -0
  549. package/lib/types/i18n/createI18nInstance.d.ts +17 -0
  550. package/lib/types/i18n/createI18nInstance.d.ts.map +1 -0
  551. package/lib/types/i18n/mergeResourceLanguages.d.ts +3 -0
  552. package/lib/types/i18n/mergeResourceLanguages.d.ts.map +1 -0
  553. package/lib/types/i18n/resources.d.ts +1010 -0
  554. package/lib/types/i18n/resources.d.ts.map +1 -0
  555. package/lib/types/i18n/useBackofficeFormats.d.ts +7 -0
  556. package/lib/types/i18n/useBackofficeFormats.d.ts.map +1 -0
  557. package/lib/types/i18n/useBackofficeReactTranslation.d.ts +3 -0
  558. package/lib/types/i18n/useBackofficeReactTranslation.d.ts.map +1 -0
  559. package/lib/types/i18n/useSharedTranslation.d.ts +3 -0
  560. package/lib/types/i18n/useSharedTranslation.d.ts.map +1 -0
  561. package/lib/types/index.d.ts +3 -0
  562. package/lib/types/index.d.ts.map +1 -0
  563. package/lib/types/modules/sharedSchemaTypes.d.ts +7 -0
  564. package/lib/types/modules/sharedSchemaTypes.d.ts.map +1 -0
  565. package/lib/types/modules/webauthn.d.ts +6 -0
  566. package/lib/types/modules/webauthn.d.ts.map +1 -0
  567. package/lib/types/pages/BackofficeAcceptInvitationPage.d.ts +4 -0
  568. package/lib/types/pages/BackofficeAcceptInvitationPage.d.ts.map +1 -0
  569. package/lib/types/pages/BackofficeDashboardPage.d.ts +4 -0
  570. package/lib/types/pages/BackofficeDashboardPage.d.ts.map +1 -0
  571. package/lib/types/pages/BackofficeEntityDetailLayoutPage.d.ts +11 -0
  572. package/lib/types/pages/BackofficeEntityDetailLayoutPage.d.ts.map +1 -0
  573. package/lib/types/pages/BackofficeEntityDetailPage.d.ts +18 -0
  574. package/lib/types/pages/BackofficeEntityDetailPage.d.ts.map +1 -0
  575. package/lib/types/pages/BackofficeEntityDetailUnknownPageRedirect.d.ts +13 -0
  576. package/lib/types/pages/BackofficeEntityDetailUnknownPageRedirect.d.ts.map +1 -0
  577. package/lib/types/pages/BackofficeEntityListPage.d.ts +10 -0
  578. package/lib/types/pages/BackofficeEntityListPage.d.ts.map +1 -0
  579. package/lib/types/pages/BackofficeLayoutPage.d.ts +17 -0
  580. package/lib/types/pages/BackofficeLayoutPage.d.ts.map +1 -0
  581. package/lib/types/pages/BackofficeLoginPage.d.ts +11 -0
  582. package/lib/types/pages/BackofficeLoginPage.d.ts.map +1 -0
  583. package/lib/types/pages/BackofficePasswordResetCompletePage.d.ts +4 -0
  584. package/lib/types/pages/BackofficePasswordResetCompletePage.d.ts.map +1 -0
  585. package/lib/types/pages/BackofficePasswordResetRequestPage.d.ts +4 -0
  586. package/lib/types/pages/BackofficePasswordResetRequestPage.d.ts.map +1 -0
  587. package/lib/types/pages/BackofficeToolsOperationPage.d.ts +9 -0
  588. package/lib/types/pages/BackofficeToolsOperationPage.d.ts.map +1 -0
  589. package/lib/types/pages/BackofficeVerifyEmailPage.d.ts +4 -0
  590. package/lib/types/pages/BackofficeVerifyEmailPage.d.ts.map +1 -0
  591. package/lib/types/pages/backofficeDashboardPage.css.d.ts +5 -0
  592. package/lib/types/pages/backofficeDashboardPage.css.d.ts.map +1 -0
  593. package/lib/types/pages/backofficeEntityDetailPage.css.d.ts +5 -0
  594. package/lib/types/pages/backofficeEntityDetailPage.css.d.ts.map +1 -0
  595. package/lib/types/pages/backofficeEntityListPage.css.d.ts +4 -0
  596. package/lib/types/pages/backofficeEntityListPage.css.d.ts.map +1 -0
  597. package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts +6 -0
  598. package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts.map +1 -0
  599. package/lib/types/pages/detail/buildTabsItems.d.ts +12 -0
  600. package/lib/types/pages/detail/buildTabsItems.d.ts.map +1 -0
  601. package/lib/types/pages/detail/pageResolution.d.ts +20 -0
  602. package/lib/types/pages/detail/pageResolution.d.ts.map +1 -0
  603. package/lib/types/provider/BackofficeConfigContext.d.ts +18 -0
  604. package/lib/types/provider/BackofficeConfigContext.d.ts.map +1 -0
  605. package/lib/types/provider/BackofficeProvider.d.ts +7 -0
  606. package/lib/types/provider/BackofficeProvider.d.ts.map +1 -0
  607. package/lib/types/provider/entityRegistry.d.ts +28 -0
  608. package/lib/types/provider/entityRegistry.d.ts.map +1 -0
  609. package/lib/types/provider/lazyValue.d.ts +7 -0
  610. package/lib/types/provider/lazyValue.d.ts.map +1 -0
  611. package/lib/types/provider/types.d.ts +101 -0
  612. package/lib/types/provider/types.d.ts.map +1 -0
  613. package/lib/types/provider/useBackofficeEntityLoader.d.ts +39 -0
  614. package/lib/types/provider/useBackofficeEntityLoader.d.ts.map +1 -0
  615. package/lib/types/provider/useBackofficeLazyValue.d.ts +13 -0
  616. package/lib/types/provider/useBackofficeLazyValue.d.ts.map +1 -0
  617. package/lib/types/relay/RelayProvider.d.ts +7 -0
  618. package/lib/types/relay/RelayProvider.d.ts.map +1 -0
  619. package/lib/types/relay/createInlineDataReader.d.ts +2 -0
  620. package/lib/types/relay/createInlineDataReader.d.ts.map +1 -0
  621. package/lib/types/relay/createInlineReader.d.ts +4 -0
  622. package/lib/types/relay/createInlineReader.d.ts.map +1 -0
  623. package/lib/types/relay/envHelpers.d.ts +16 -0
  624. package/lib/types/relay/envHelpers.d.ts.map +1 -0
  625. package/lib/types/relay/environment.d.ts +12 -0
  626. package/lib/types/relay/environment.d.ts.map +1 -0
  627. package/lib/types/relay/identityView.d.ts +2 -0
  628. package/lib/types/relay/identityView.d.ts.map +1 -0
  629. package/lib/types/relay/mutationResult.d.ts +51 -0
  630. package/lib/types/relay/mutationResult.d.ts.map +1 -0
  631. package/lib/types/relay/useRelayEnvironment.d.ts +2 -0
  632. package/lib/types/relay/useRelayEnvironment.d.ts.map +1 -0
  633. package/lib/types/router/backofficeAuthPaths.d.ts +3 -0
  634. package/lib/types/router/backofficeAuthPaths.d.ts.map +1 -0
  635. package/lib/types/router/createBackofficeRoutes.d.ts +32 -0
  636. package/lib/types/router/createBackofficeRoutes.d.ts.map +1 -0
  637. package/lib/types/style.d.ts +2 -0
  638. package/lib/types/style.d.ts.map +1 -0
  639. package/package.json +138 -0
@@ -0,0 +1,446 @@
1
+ import { useBackofficeReactTranslation as e } from "../../../i18n/useBackofficeReactTranslation.js";
2
+ import { EntityIdFilterField as t } from "../filters/EntityIdFilterField.js";
3
+ import { BackofficeErrorBoundary as n } from "../errors/BackofficeErrorBoundary.js";
4
+ import { EntityIdPickerDialog as r } from "../pickers/EntityIdPickerDialog.js";
5
+ import { EntityFilterValue as i, EntityFilterValueText as a } from "../filters/EntityFilterValue.js";
6
+ import { BackofficeListFilterProvider as o } from "./BackofficeListFilterContext.js";
7
+ import { controlsRow as s, embeddedContainer as c, embeddedHeader as l, filterInput as ee } from "./backofficeEntityListScaffold.css.js";
8
+ import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
9
+ import { useTranslation as te } from "react-i18next";
10
+ import { Button as p, SimpleSelect as m } from "@plumile/ui";
11
+ import { useCallback as h, useMemo as g, useState as _ } from "react";
12
+ import { BackofficeEmptyState as v, BackofficeFilterDrawer as ne, BackofficeFilterField as re, BackofficePageHeader as ie, BackofficeTableToolbar as ae } from "@plumile/ui-backoffice";
13
+ import { readWhereValue as y, setWhereValue as b } from "@plumile/backoffice-core/filters/where.js";
14
+ import { BackofficeTableSkeleton as oe } from "@plumile/ui-backoffice/backoffice/molecules/backoffice_table_skeleton/BackofficeTableSkeleton.js";
15
+ import { BackofficeLoadMore as se } from "@plumile/ui-backoffice/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.js";
16
+ import { BackofficeVirtualizedConnectionTable as ce } from "@plumile/ui-backoffice/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.js";
17
+ import { FilterChipRow as le } from "@plumile/ui-backoffice/backoffice/molecules/filter_chip_row/FilterChipRow.js";
18
+ import { GlobalSearchInput as ue } from "@plumile/ui-backoffice/backoffice/molecules/global_search_input/GlobalSearchInput.js";
19
+ import { InlineBanner as de } from "@plumile/ui-backoffice/backoffice/molecules/inline_banner/InlineBanner.js";
20
+ import { ListPageTemplate as fe } from "@plumile/ui-backoffice/backoffice/templates/list_page_template/ListPageTemplate.js";
21
+ import { denseTableClass as pe } from "@plumile/ui-backoffice/shared/backofficeTableDensity.css.js";
22
+ //#region src/components/backoffice/scaffolds/BackofficeEntityListScaffold.tsx
23
+ var x = (e, t) => e(t), S = (e, t) => e.fromGraphQL != null && t != null ? e.fromGraphQL(t) : y(t, e.whereKey ?? e.id, e.path), me = (e, t, n) => {
24
+ if (t == null) return null;
25
+ if (Array.isArray(t)) {
26
+ let e = t.map((e) => {
27
+ if (e == null || typeof e != "string" && typeof e != "number" && typeof e != "boolean") return null;
28
+ let t = String(e).trim();
29
+ return t === "" ? null : t;
30
+ }).filter((e) => e != null);
31
+ return e.length === 0 ? null : e.join(", ");
32
+ }
33
+ if (typeof t == "boolean") return e.kind === "boolean" ? n.booleanLabel(t) : t ? n.fallbackBooleanLabels.yes : n.fallbackBooleanLabels.no;
34
+ if (typeof t != "string" && typeof t != "number") return null;
35
+ let r = String(t).trim();
36
+ return r === "" ? null : e.kind === "entityId" ? /* @__PURE__ */ d(i, {
37
+ entityId: e.entity,
38
+ id: r
39
+ }) : e.kind === "enum" ? n.enumLabel(r) : r;
40
+ }, C = (i) => {
41
+ let { t: y } = te(), { t: C } = e(), { config: w, state: T, pushState: E, rows: D, getRowId: he, columns: O, gridTemplateColumns: ge, hasNextPage: k, isLoadingMore: A, onLoadMore: _e, onRefresh: j, totalCount: M, emptyState: N, header: P, headerActions: ve, isLoadingInitial: F = !1, virtualize: I = !0, variant: ye = "page", showFilters: be = !0 } = i, L = w.list, R = w.listDefaults ?? L.defaultState ?? {
42
+ where: null,
43
+ sort: null
44
+ }, xe = g(() => O.some((e) => e.isPrimary === !0) || O.length === 0 ? O : O.map((e, t) => {
45
+ let { header: n } = e;
46
+ return t === 0 ? {
47
+ ...e,
48
+ isPrimary: !0,
49
+ header: n
50
+ } : {
51
+ ...e,
52
+ header: n
53
+ };
54
+ }), [O]), z = g(() => {
55
+ let e = [];
56
+ for (let t of L.filters) {
57
+ let n = S(t, T.where), r = me(t, n, {
58
+ enumLabel: (e) => {
59
+ if (t.kind !== "enum") return e;
60
+ let n = t.options.find((t) => t.value === e);
61
+ return n == null ? e : x(n.label, y);
62
+ },
63
+ booleanLabel: (e) => {
64
+ if (t.kind === "boolean") {
65
+ if (e && t.trueLabel != null) return x(t.trueLabel, y);
66
+ if (!e && t.falseLabel != null) return x(t.falseLabel, y);
67
+ }
68
+ return C(e ? "filters.boolean.yes" : "filters.boolean.no");
69
+ },
70
+ fallbackBooleanLabels: {
71
+ yes: C("filters.boolean.yes"),
72
+ no: C("filters.boolean.no")
73
+ }
74
+ });
75
+ if (r != null) {
76
+ let i = String(n);
77
+ Array.isArray(n) && (i = n.join(","));
78
+ let a = /* @__PURE__ */ f("span", { children: [
79
+ x(t.label, y),
80
+ ": ",
81
+ r
82
+ ] });
83
+ e.push({
84
+ id: `${t.id}:${i}`,
85
+ label: a,
86
+ onRemove: () => {
87
+ let e = t.whereKey ?? t.id, n = b(T.where, e, null, t.path);
88
+ E({
89
+ ...T,
90
+ where: n
91
+ });
92
+ }
93
+ });
94
+ }
95
+ }
96
+ return e;
97
+ }, [
98
+ L.filters,
99
+ E,
100
+ T,
101
+ C,
102
+ y
103
+ ]), B = h(() => {
104
+ E({ ...R });
105
+ }, [R, E]), [Se, V] = _(!1), [H, U] = _(""), [W, G] = _(null), K = h((e) => {
106
+ let n = e.whereKey ?? e.id, r = S(e, T.where), i = "";
107
+ typeof r == "string" && (i = r);
108
+ let o = x(e.label, y);
109
+ if (e.kind === "text") {
110
+ let t = C("filters.placeholders.search", { label: e.placeholderLabel == null ? o : x(e.placeholderLabel, y) });
111
+ return e.placeholderText != null && (t = x(e.placeholderText, y)), /* @__PURE__ */ d(ue, {
112
+ value: i,
113
+ onChange: (t) => {
114
+ let r = b(T.where, n, t, e.path);
115
+ E({
116
+ ...T,
117
+ where: r
118
+ });
119
+ },
120
+ placeholder: t,
121
+ className: ee
122
+ });
123
+ }
124
+ if (e.kind === "enum") return /* @__PURE__ */ d(m, {
125
+ options: [{
126
+ id: "any",
127
+ value: "",
128
+ label: C("filters.all", { label: o })
129
+ }, ...e.options.map((e) => ({
130
+ id: e.value,
131
+ value: e.value,
132
+ label: x(e.label, y)
133
+ }))],
134
+ value: i,
135
+ onChange: (t) => {
136
+ let r = b(T.where, n, t, e.path);
137
+ E({
138
+ ...T,
139
+ where: r
140
+ });
141
+ }
142
+ });
143
+ if (e.kind === "boolean") {
144
+ let t = null;
145
+ typeof r == "boolean" && (t = r);
146
+ let i = "";
147
+ t === !0 && (i = "true"), t === !1 && (i = "false");
148
+ let a = e.trueLabel == null ? C("filters.boolean.yes") : x(e.trueLabel, y), s = e.falseLabel == null ? C("filters.boolean.no") : x(e.falseLabel, y);
149
+ return /* @__PURE__ */ d(m, {
150
+ options: [
151
+ {
152
+ id: "any",
153
+ value: "",
154
+ label: C("filters.all", { label: o })
155
+ },
156
+ {
157
+ id: "true",
158
+ value: "true",
159
+ label: a
160
+ },
161
+ {
162
+ id: "false",
163
+ value: "false",
164
+ label: s
165
+ }
166
+ ],
167
+ value: i,
168
+ onChange: (t) => {
169
+ let r = null;
170
+ t === "true" && (r = !0), t === "false" && (r = !1);
171
+ let i = b(T.where, n, r, e.path);
172
+ E({
173
+ ...T,
174
+ where: i
175
+ });
176
+ }
177
+ });
178
+ }
179
+ let s = (() => {
180
+ if (e.pickerScope != null) return typeof e.pickerScope == "function" ? e.pickerScope(T.where) : e.pickerScope;
181
+ })(), c = null;
182
+ typeof r == "string" && (c = r);
183
+ let l = (r = null) => {
184
+ let i = r?.trim() ?? "";
185
+ return /* @__PURE__ */ d(t, {
186
+ label: o,
187
+ value: c,
188
+ displayValue: i,
189
+ onPick: () => {
190
+ G({
191
+ entity: e.entity,
192
+ whereKey: n,
193
+ label: o,
194
+ path: e.path,
195
+ scope: s
196
+ });
197
+ },
198
+ onClear: () => {
199
+ let t = b(T.where, n, null, e.path);
200
+ E({
201
+ ...T,
202
+ where: t
203
+ });
204
+ }
205
+ });
206
+ };
207
+ return c == null || c.trim() === "" ? l() : /* @__PURE__ */ d(a, {
208
+ entityId: e.entity,
209
+ id: c,
210
+ children: (e) => l(e)
211
+ });
212
+ }, [
213
+ E,
214
+ T,
215
+ C,
216
+ y
217
+ ]), q = g(() => L.filters.some((e) => e.placement != null), [L.filters]), J = g(() => L.filters.length === 0 ? [] : q ? L.filters.filter((e) => e.placement === "quick" || e.placement === "both") : L.filters.slice(0, 3), [L.filters, q]), Y = g(() => L.filters.filter((e) => e.placement == null ? !0 : e.placement === "drawer" || e.placement === "both"), [L.filters]), X = g(() => J.find((e) => e.kind === "text"), [J]), Ce = g(() => {
218
+ let e = J.filter((e) => e !== X);
219
+ return e.length === 0 ? null : /* @__PURE__ */ d("div", {
220
+ className: s,
221
+ children: e.map((e) => /* @__PURE__ */ d("span", { children: K(e) }, e.id))
222
+ });
223
+ }, [
224
+ J,
225
+ K,
226
+ X
227
+ ]), we = g(() => X == null ? null : K(X), [K, X]), Te = g(() => {
228
+ if (L.sorts.length === 0) return null;
229
+ let e = L.sorts[0];
230
+ return e == null ? null : /* @__PURE__ */ d(m, {
231
+ options: L.sorts.map((e) => ({
232
+ id: e.id,
233
+ value: e.id,
234
+ label: x(e.label, y)
235
+ })),
236
+ value: T.sort ?? e.id,
237
+ onChange: (e) => {
238
+ E({
239
+ ...T,
240
+ sort: e
241
+ });
242
+ }
243
+ });
244
+ }, [
245
+ L.sorts,
246
+ E,
247
+ T,
248
+ y
249
+ ]), Ee = g(() => /* @__PURE__ */ d(le, {
250
+ chips: z,
251
+ onClearAll: B
252
+ }), [z, B]), De = g(() => {
253
+ if (Y.length === 0) return [];
254
+ let e = H.trim().toLowerCase(), t = [];
255
+ for (let n of Y) {
256
+ let r = x(n.label, y);
257
+ (e === "" || r.toLowerCase().includes(e)) && t.push({
258
+ id: n.id,
259
+ node: /* @__PURE__ */ d(re, {
260
+ label: r,
261
+ children: K(n)
262
+ })
263
+ });
264
+ }
265
+ return t.length === 0 ? [] : [{
266
+ id: "backoffice.filters.sections.default",
267
+ title: C("filters.sections.default"),
268
+ items: t
269
+ }];
270
+ }, [
271
+ Y,
272
+ H,
273
+ K,
274
+ C,
275
+ y
276
+ ]), Oe = g(() => {
277
+ if (Y.length === 0) return null;
278
+ let e = z.length, t = C("filters.allFilters");
279
+ return e > 0 && (t = C("filters.allFiltersWithCount", { count: e })), /* @__PURE__ */ d(p, {
280
+ type: "button",
281
+ variant: "secondary",
282
+ size: "small",
283
+ onClick: () => {
284
+ V(!0);
285
+ },
286
+ children: t
287
+ });
288
+ }, [
289
+ z.length,
290
+ Y.length,
291
+ C
292
+ ]), ke = /* @__PURE__ */ d(ne, {
293
+ isOpen: Se,
294
+ onClose: () => {
295
+ V(!1), U("");
296
+ },
297
+ sections: De,
298
+ searchValue: H,
299
+ onSearchChange: (e) => {
300
+ U(e);
301
+ },
302
+ onReset: B
303
+ }), Ae = g(() => N ?? (F ? /* @__PURE__ */ d(oe, {}) : z.length > 0 ? /* @__PURE__ */ d(v, {
304
+ title: C("emptyState.listEmpty.title"),
305
+ description: C("emptyState.listEmptyFiltered.description"),
306
+ actions: /* @__PURE__ */ d(p, {
307
+ type: "button",
308
+ variant: "secondary",
309
+ size: "small",
310
+ onClick: B,
311
+ children: C("emptyState.listEmptyFiltered.actions.reset")
312
+ })
313
+ }) : /* @__PURE__ */ d(v, {
314
+ title: C("emptyState.listEmpty.title"),
315
+ description: C("emptyState.listEmpty.description")
316
+ })), [
317
+ z.length,
318
+ N,
319
+ B,
320
+ F,
321
+ C
322
+ ]), je = g(() => typeof M == "number" ? /* @__PURE__ */ d("span", { children: C("list.showing", {
323
+ shown: D.length,
324
+ total: M
325
+ }) }) : null, [
326
+ D.length,
327
+ C,
328
+ M
329
+ ]), Z = P?.title ?? x(L.title, y), Me = P?.subtitle, Ne = /* @__PURE__ */ d(n, {
330
+ fallback: (e) => {
331
+ let { reset: t } = e;
332
+ return /* @__PURE__ */ d(de, {
333
+ tone: "danger",
334
+ title: C("list.errors.title"),
335
+ actions: /* @__PURE__ */ d(p, {
336
+ type: "button",
337
+ variant: "secondary",
338
+ size: "small",
339
+ onClick: () => {
340
+ t(), j?.();
341
+ },
342
+ children: C("list.actions.retry")
343
+ }),
344
+ children: C("list.errors.tableFailed")
345
+ });
346
+ },
347
+ children: /* @__PURE__ */ d(ce, {
348
+ columns: xe,
349
+ rows: D,
350
+ getRowId: he,
351
+ emptyState: Ae,
352
+ className: pe,
353
+ gridTemplateColumns: ge,
354
+ virtualization: g(() => I ? {
355
+ enabled: !0,
356
+ rowHeightPx: 52,
357
+ overscan: 10
358
+ } : {
359
+ enabled: !1,
360
+ rowHeightPx: 0,
361
+ overscan: 0
362
+ }, [I]),
363
+ infiniteScroll: {
364
+ enabled: !0,
365
+ thresholdPx: 800,
366
+ autoLoad: !0
367
+ },
368
+ hasNextPage: k,
369
+ isLoadingMore: A,
370
+ onLoadMore: _e
371
+ })
372
+ }), Q = be ? /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ d(ae, {
373
+ searchSlot: we,
374
+ filtersSlot: /* @__PURE__ */ f(u, { children: [Ce, Oe] }),
375
+ sortSlot: Te,
376
+ refreshSlot: /* @__PURE__ */ d(p, {
377
+ type: "button",
378
+ variant: "text",
379
+ size: "small",
380
+ disabled: j == null,
381
+ onClick: () => {
382
+ j?.();
383
+ },
384
+ children: C("list.actions.refresh")
385
+ }),
386
+ chipsSlot: Ee
387
+ }), ke] }) : null, Pe = /* @__PURE__ */ f("div", { children: [Ne, /* @__PURE__ */ d(r, {
388
+ isOpen: W != null,
389
+ entity: W?.entity ?? w.id,
390
+ title: W?.label ?? C("picker.title"),
391
+ scope: W?.scope,
392
+ onClose: () => {
393
+ G(null);
394
+ },
395
+ onSelectId: (e) => {
396
+ if (W == null) return;
397
+ let t = b(T.where, W.whereKey, e, W.path);
398
+ E({
399
+ ...T,
400
+ where: t
401
+ });
402
+ }
403
+ })] }), $ = /* @__PURE__ */ d(se, {
404
+ hasNextPage: k,
405
+ isLoading: A,
406
+ meta: je,
407
+ loadMoreLabel: C("list.loadMore.more"),
408
+ endLabel: C("list.loadMore.end"),
409
+ loadingLabel: C("list.loadMore.loading")
410
+ });
411
+ return ye === "embedded" ? /* @__PURE__ */ d(o, {
412
+ config: w,
413
+ state: T,
414
+ pushState: E,
415
+ children: /* @__PURE__ */ f("div", {
416
+ className: c,
417
+ children: [
418
+ /* @__PURE__ */ d("div", {
419
+ className: l,
420
+ children: Z
421
+ }),
422
+ Q,
423
+ Pe,
424
+ $
425
+ ]
426
+ })
427
+ }) : /* @__PURE__ */ d(o, {
428
+ config: w,
429
+ state: T,
430
+ pushState: E,
431
+ children: /* @__PURE__ */ d(fe, {
432
+ headerNode: /* @__PURE__ */ d(ie, {
433
+ title: Z,
434
+ subtitle: Me,
435
+ actions: ve
436
+ }),
437
+ toolbarNode: Q,
438
+ tableNode: Pe,
439
+ tableFooterNode: $
440
+ })
441
+ });
442
+ };
443
+ //#endregion
444
+ export { C as BackofficeEntityListScaffold, C as default };
445
+
446
+ //# sourceMappingURL=BackofficeEntityListScaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeEntityListScaffold.js","names":[],"sources":["../../../../../src/components/backoffice/scaffolds/BackofficeEntityListScaffold.tsx"],"sourcesContent":["/* eslint-disable no-ternary */\nimport {\n type JSX,\n type ReactNode,\n useCallback,\n useMemo,\n useState,\n} from 'react';\nimport type { TFunction } from 'i18next';\nimport { useTranslation } from 'react-i18next';\nimport {\n Button,\n SimpleSelect,\n type DataTableColumn,\n type GetRowId,\n} from '@plumile/ui';\nimport { BackofficeLoadMore } from '@plumile/ui-backoffice/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.js';\nimport { BackofficeTableSkeleton } from '@plumile/ui-backoffice/backoffice/molecules/backoffice_table_skeleton/BackofficeTableSkeleton.js';\nimport { BackofficeVirtualizedConnectionTable } from '@plumile/ui-backoffice/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.js';\nimport {\n FilterChipRow,\n type FilterChip,\n} from '@plumile/ui-backoffice/backoffice/molecules/filter_chip_row/FilterChipRow.js';\nimport { GlobalSearchInput } from '@plumile/ui-backoffice/backoffice/molecules/global_search_input/GlobalSearchInput.js';\nimport { InlineBanner } from '@plumile/ui-backoffice/backoffice/molecules/inline_banner/InlineBanner.js';\nimport { ListPageTemplate } from '@plumile/ui-backoffice/backoffice/templates/list_page_template/ListPageTemplate.js';\n\nimport {\n readWhereValue,\n setWhereValue,\n} from '@plumile/backoffice-core/filters/where.js';\nimport type {\n BackofficeFilterSpec,\n BackofficeListState,\n BackofficePickerScope,\n BackofficeResolvedListFacetConfig,\n I18nLabel,\n} from '@plumile/backoffice-core/types.js';\n\nimport { BackofficeErrorBoundary } from '../errors/BackofficeErrorBoundary.js';\nimport {\n EntityFilterValue,\n EntityFilterValueText,\n} from '../filters/EntityFilterValue.js';\nimport { EntityIdPickerDialog } from '../pickers/EntityIdPickerDialog.js';\nimport { EntityIdFilterField } from '../filters/EntityIdFilterField.js';\nimport { BackofficeListFilterProvider } from './BackofficeListFilterContext.js';\nimport { useBackofficeReactTranslation } from '../../../i18n/useBackofficeReactTranslation.js';\nimport {\n BackofficeEmptyState,\n BackofficeFilterDrawer,\n BackofficeFilterField,\n BackofficePageHeader,\n BackofficeTableToolbar,\n} from '@plumile/ui-backoffice';\nimport { denseTableClass } from '@plumile/ui-backoffice/shared/backofficeTableDensity.css.js';\n\nimport * as styles from './backofficeEntityListScaffold.css.js';\n\nconst resolveLabel = (label: I18nLabel, tApp: TFunction): string => {\n return label(tApp);\n};\n\nconst getFilterValue = <Where extends Record<string, unknown>>(\n filter: BackofficeFilterSpec<Where>,\n where: Where | null,\n): unknown => {\n if (filter.fromGraphQL != null && where != null) {\n return filter.fromGraphQL(where);\n }\n\n const key = (filter.whereKey ?? filter.id) as keyof Where;\n return readWhereValue(where, key, filter.path);\n};\n\nconst getFilterDisplayValue = <Where extends Record<string, unknown>>(\n filter: BackofficeFilterSpec<Where>,\n raw: unknown,\n options: {\n enumLabel: (value: string) => string;\n booleanLabel: (value: boolean) => string;\n fallbackBooleanLabels: { yes: string; no: string };\n },\n): ReactNode | null => {\n if (raw == null) {\n return null;\n }\n\n if (Array.isArray(raw)) {\n const normalized = raw\n .map((entry) => {\n if (entry == null) {\n return null;\n }\n if (\n typeof entry !== 'string' &&\n typeof entry !== 'number' &&\n typeof entry !== 'boolean'\n ) {\n return null;\n }\n const value = String(entry).trim();\n if (value === '') {\n return null;\n }\n return value;\n })\n .filter((entry): entry is string => {\n return entry != null;\n });\n\n if (normalized.length === 0) {\n return null;\n }\n return normalized.join(', ');\n }\n\n if (typeof raw === 'boolean') {\n if (filter.kind === 'boolean') {\n return options.booleanLabel(raw);\n }\n if (raw) {\n return options.fallbackBooleanLabels.yes;\n }\n return options.fallbackBooleanLabels.no;\n }\n\n if (typeof raw !== 'string' && typeof raw !== 'number') {\n return null;\n }\n\n const rawString = String(raw).trim();\n if (rawString === '') {\n return null;\n }\n\n if (filter.kind === 'entityId') {\n return <EntityFilterValue entityId={filter.entity} id={rawString} />;\n }\n\n if (filter.kind === 'enum') {\n return options.enumLabel(rawString);\n }\n\n return rawString;\n};\n\ntype Props<\n RowView,\n Where extends Record<string, unknown>,\n Sort extends string,\n> = {\n config: BackofficeResolvedListFacetConfig<Where, Sort>;\n state: BackofficeListState<Where, Sort>;\n pushState: (next: BackofficeListState<Where, Sort>) => void;\n header?: {\n title?: string;\n subtitle?: string;\n };\n headerActions?: ReactNode;\n rows: readonly RowView[];\n getRowId: GetRowId<RowView>;\n columns: readonly DataTableColumn<RowView>[];\n gridTemplateColumns?: string;\n hasNextPage: boolean;\n isLoadingMore: boolean;\n onLoadMore: () => void;\n onRefresh?: () => void;\n totalCount?: number | null;\n emptyState?: JSX.Element;\n isLoadingInitial?: boolean;\n virtualize?: boolean;\n variant?: 'page' | 'embedded';\n showFilters?: boolean;\n};\n\nexport const BackofficeEntityListScaffold = <\n RowView,\n Where extends Record<string, unknown>,\n Sort extends string,\n>(\n props: Props<RowView, Where, Sort>,\n): JSX.Element | null => {\n const { t: tApp } = useTranslation();\n const { t } = useBackofficeReactTranslation();\n const {\n config,\n state,\n pushState,\n rows,\n getRowId,\n columns,\n gridTemplateColumns,\n hasNextPage,\n isLoadingMore,\n onLoadMore,\n onRefresh,\n totalCount,\n emptyState,\n header,\n headerActions,\n isLoadingInitial = false,\n virtualize = true,\n variant = 'page',\n showFilters = true,\n } = props;\n const listConfig = config.list;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const listDefaults = config.listDefaults ??\n listConfig.defaultState ?? { where: null, sort: null };\n\n const columnsWithPrimary = useMemo(() => {\n const hasPrimary = columns.some((col) => {\n return col.isPrimary === true;\n });\n if (hasPrimary || columns.length === 0) {\n return columns;\n }\n return columns.map((col, index) => {\n const { header } = col;\n if (index === 0) {\n return { ...col, isPrimary: true, header };\n }\n return { ...col, header };\n });\n }, [columns]);\n\n const chips = useMemo<readonly FilterChip[]>(() => {\n const out: FilterChip[] = [];\n for (const filter of listConfig.filters) {\n const raw = getFilterValue(filter, state.where);\n const displayValue = getFilterDisplayValue(filter, raw, {\n enumLabel: (value) => {\n if (filter.kind !== 'enum') {\n return value;\n }\n const match = filter.options.find((option) => {\n return option.value === value;\n });\n if (match != null) {\n return resolveLabel(match.label, tApp);\n }\n return value;\n },\n booleanLabel: (value) => {\n if (filter.kind === 'boolean') {\n if (value && filter.trueLabel != null) {\n return resolveLabel(filter.trueLabel, tApp);\n }\n if (!value && filter.falseLabel != null) {\n return resolveLabel(filter.falseLabel, tApp);\n }\n }\n if (value) {\n return t('filters.boolean.yes');\n }\n return t('filters.boolean.no');\n },\n fallbackBooleanLabels: {\n yes: t('filters.boolean.yes'),\n no: t('filters.boolean.no'),\n },\n });\n\n if (displayValue != null) {\n let idValue = String(raw);\n if (Array.isArray(raw)) {\n idValue = raw.join(',');\n }\n const label = (\n <span>\n {resolveLabel(filter.label, tApp)}: {displayValue}\n </span>\n );\n out.push({\n id: `${filter.id}:${idValue}`,\n label,\n onRemove: () => {\n const key = (filter.whereKey ?? filter.id) as keyof Where;\n const nextWhere = setWhereValue(\n state.where,\n key,\n null,\n filter.path,\n );\n pushState({ ...state, where: nextWhere });\n },\n });\n }\n }\n return out;\n }, [listConfig.filters, pushState, state, t, tApp]);\n\n const handleClearAll = useCallback(() => {\n pushState({\n ...listDefaults,\n });\n }, [listDefaults, pushState]);\n const [isFilterDrawerOpen, setIsFilterDrawerOpen] = useState(false);\n const [filterSearch, setFilterSearch] = useState('');\n\n const [pickerDialog, setPickerDialog] = useState<{\n entity: string;\n whereKey: keyof Where;\n label: string;\n path?: readonly string[];\n scope?: BackofficePickerScope;\n } | null>(null);\n\n const renderFilterControl = useCallback(\n (filter: BackofficeFilterSpec<Where>): JSX.Element => {\n const key = (filter.whereKey ?? filter.id) as keyof Where;\n const candidate = getFilterValue(filter, state.where);\n let value = '';\n if (typeof candidate === 'string') {\n value = candidate;\n }\n\n const filterLabelText = resolveLabel(filter.label, tApp);\n\n if (filter.kind === 'text') {\n const placeholderLabelText =\n filter.placeholderLabel != null\n ? resolveLabel(filter.placeholderLabel, tApp)\n : filterLabelText;\n let placeholder = t('filters.placeholders.search', {\n label: placeholderLabelText,\n });\n if (filter.placeholderText != null) {\n placeholder = resolveLabel(filter.placeholderText, tApp);\n }\n return (\n <GlobalSearchInput\n value={value}\n onChange={(next) => {\n const nextWhere = setWhereValue(\n state.where,\n key,\n next,\n filter.path,\n );\n pushState({ ...state, where: nextWhere });\n }}\n placeholder={placeholder}\n className={styles.filterInput}\n />\n );\n }\n\n if (filter.kind === 'enum') {\n const options = [\n {\n id: 'any',\n value: '',\n label: t('filters.all', {\n label: filterLabelText,\n }),\n },\n ...filter.options.map((option) => {\n return {\n id: option.value,\n value: option.value,\n label: resolveLabel(option.label, tApp),\n };\n }),\n ];\n\n return (\n <SimpleSelect\n options={options}\n value={value}\n onChange={(next) => {\n const nextWhere = setWhereValue(\n state.where,\n key,\n next,\n filter.path,\n );\n pushState({ ...state, where: nextWhere });\n }}\n />\n );\n }\n\n if (filter.kind === 'boolean') {\n let current: boolean | null = null;\n if (typeof candidate === 'boolean') {\n current = candidate;\n }\n\n let selectValue = '';\n if (current === true) {\n selectValue = 'true';\n }\n if (current === false) {\n selectValue = 'false';\n }\n\n const trueLabel =\n filter.trueLabel != null\n ? resolveLabel(filter.trueLabel, tApp)\n : t('filters.boolean.yes');\n const falseLabel =\n filter.falseLabel != null\n ? resolveLabel(filter.falseLabel, tApp)\n : t('filters.boolean.no');\n const options = [\n {\n id: 'any',\n value: '',\n label: t('filters.all', {\n label: filterLabelText,\n }),\n },\n {\n id: 'true',\n value: 'true',\n label: trueLabel,\n },\n {\n id: 'false',\n value: 'false',\n label: falseLabel,\n },\n ];\n\n return (\n <SimpleSelect\n options={options}\n value={selectValue}\n onChange={(next) => {\n let parsed: boolean | null = null;\n if (next === 'true') {\n parsed = true;\n }\n if (next === 'false') {\n parsed = false;\n }\n const nextWhere = setWhereValue(\n state.where,\n key,\n parsed,\n filter.path,\n );\n pushState({ ...state, where: nextWhere });\n }}\n />\n );\n }\n\n const pickerScope = (() => {\n if (filter.pickerScope == null) {\n return undefined;\n }\n if (typeof filter.pickerScope === 'function') {\n return filter.pickerScope(state.where);\n }\n return filter.pickerScope;\n })();\n let currentId: string | null = null;\n if (typeof candidate === 'string') {\n currentId = candidate;\n }\n\n const renderField = (displayValue: string | null = null) => {\n const normalizedDisplayValue = displayValue?.trim() ?? '';\n return (\n <EntityIdFilterField\n label={filterLabelText}\n value={currentId}\n displayValue={normalizedDisplayValue}\n onPick={() => {\n setPickerDialog({\n entity: filter.entity,\n whereKey: key,\n label: filterLabelText,\n path: filter.path,\n scope: pickerScope,\n });\n }}\n onClear={() => {\n const nextWhere = setWhereValue(\n state.where,\n key,\n null,\n filter.path,\n );\n pushState({ ...state, where: nextWhere });\n }}\n />\n );\n };\n\n if (currentId == null || currentId.trim() === '') {\n return renderField();\n }\n\n return (\n <EntityFilterValueText entityId={filter.entity} id={currentId}>\n {(label) => {\n return renderField(label);\n }}\n </EntityFilterValueText>\n );\n },\n [pushState, state, t, tApp],\n );\n\n const hasPlacementConfig = useMemo(() => {\n return listConfig.filters.some((filter) => {\n return filter.placement != null;\n });\n }, [listConfig.filters]);\n\n const quickFilters = useMemo(() => {\n if (listConfig.filters.length === 0) {\n return [];\n }\n if (hasPlacementConfig) {\n return listConfig.filters.filter((filter) => {\n return filter.placement === 'quick' || filter.placement === 'both';\n });\n }\n return listConfig.filters.slice(0, 3);\n }, [listConfig.filters, hasPlacementConfig]);\n\n const drawerFilters = useMemo(() => {\n return listConfig.filters.filter((filter) => {\n if (filter.placement == null) {\n return true;\n }\n return filter.placement === 'drawer' || filter.placement === 'both';\n });\n }, [listConfig.filters]);\n\n const searchFilter = useMemo(() => {\n return quickFilters.find((filter) => {\n return filter.kind === 'text';\n });\n }, [quickFilters]);\n\n const quickFiltersNode = useMemo(() => {\n const visibleQuickFilters = quickFilters.filter((filter) => {\n return filter !== searchFilter;\n });\n\n if (visibleQuickFilters.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.controlsRow}>\n {visibleQuickFilters.map((filter) => {\n return <span key={filter.id}>{renderFilterControl(filter)}</span>;\n })}\n </div>\n );\n }, [quickFilters, renderFilterControl, searchFilter]);\n\n const searchNode = useMemo(() => {\n if (searchFilter == null) {\n return null;\n }\n return renderFilterControl(searchFilter);\n }, [renderFilterControl, searchFilter]);\n\n const sortNode = useMemo(() => {\n if (listConfig.sorts.length === 0) {\n return null;\n }\n const firstSort = listConfig.sorts[0];\n if (firstSort == null) {\n return null;\n }\n const options = listConfig.sorts.map((s) => {\n return { id: s.id, value: s.id, label: resolveLabel(s.label, tApp) };\n });\n return (\n <SimpleSelect\n options={options}\n value={state.sort ?? firstSort.id}\n onChange={(next) => {\n pushState({\n ...state,\n sort: next as Sort,\n });\n }}\n />\n );\n }, [listConfig.sorts, pushState, state, tApp]);\n\n const chipsNode = useMemo(() => {\n return <FilterChipRow chips={chips} onClearAll={handleClearAll} />;\n }, [chips, handleClearAll]);\n\n const drawerSections = useMemo(() => {\n if (drawerFilters.length === 0) {\n return [];\n }\n\n const normalizedQuery = filterSearch.trim().toLowerCase();\n const items: { id: string; node: JSX.Element }[] = [];\n\n for (const filter of drawerFilters) {\n const resolvedLabel = resolveLabel(filter.label, tApp);\n const matchesQuery =\n normalizedQuery === '' ||\n resolvedLabel.toLowerCase().includes(normalizedQuery);\n\n if (matchesQuery) {\n items.push({\n id: filter.id,\n node: (\n <BackofficeFilterField label={resolvedLabel}>\n {renderFilterControl(filter)}\n </BackofficeFilterField>\n ),\n });\n }\n }\n\n if (items.length === 0) {\n return [];\n }\n\n return [\n {\n id: 'backoffice.filters.sections.default',\n title: t('filters.sections.default'),\n items,\n },\n ];\n }, [drawerFilters, filterSearch, renderFilterControl, t, tApp]);\n\n const allFiltersNode = useMemo(() => {\n if (drawerFilters.length === 0) {\n return null;\n }\n const activeCount = chips.length;\n let label = t('filters.allFilters');\n if (activeCount > 0) {\n label = t('filters.allFiltersWithCount', {\n count: activeCount,\n });\n }\n return (\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"small\"\n onClick={() => {\n setIsFilterDrawerOpen(true);\n }}\n >\n {label}\n </Button>\n );\n }, [chips.length, drawerFilters.length, t]);\n\n const filterDrawerNode = (\n <BackofficeFilterDrawer\n isOpen={isFilterDrawerOpen}\n onClose={() => {\n setIsFilterDrawerOpen(false);\n setFilterSearch('');\n }}\n sections={drawerSections}\n searchValue={filterSearch}\n onSearchChange={(next) => {\n setFilterSearch(next);\n }}\n onReset={handleClearAll}\n />\n );\n\n const resolvedEmptyState = useMemo((): JSX.Element => {\n if (emptyState != null) {\n return emptyState;\n }\n\n if (isLoadingInitial) {\n return <BackofficeTableSkeleton />;\n }\n\n if (chips.length > 0) {\n return (\n <BackofficeEmptyState\n title={t('emptyState.listEmpty.title')}\n description={t('emptyState.listEmptyFiltered.description')}\n actions={\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"small\"\n onClick={handleClearAll}\n >\n {t('emptyState.listEmptyFiltered.actions.reset')}\n </Button>\n }\n />\n );\n }\n\n return (\n <BackofficeEmptyState\n title={t('emptyState.listEmpty.title')}\n description={t('emptyState.listEmpty.description')}\n />\n );\n }, [chips.length, emptyState, handleClearAll, isLoadingInitial, t]);\n\n const tableFooterMeta = useMemo(() => {\n if (typeof totalCount !== 'number') {\n return null;\n }\n return (\n <span>\n {t('list.showing', {\n shown: rows.length,\n total: totalCount,\n })}\n </span>\n );\n }, [rows.length, t, totalCount]);\n\n const headerTitle = header?.title ?? resolveLabel(listConfig.title, tApp);\n const headerSubtitle = header?.subtitle;\n\n const virtualizationConfig = useMemo(() => {\n if (!virtualize) {\n return { enabled: false, rowHeightPx: 0, overscan: 0 };\n }\n\n return { enabled: true, rowHeightPx: 52, overscan: 10 };\n }, [virtualize]);\n\n const tableInnerNode = (\n <BackofficeVirtualizedConnectionTable\n columns={columnsWithPrimary}\n rows={rows}\n getRowId={getRowId}\n emptyState={resolvedEmptyState}\n className={denseTableClass}\n gridTemplateColumns={gridTemplateColumns}\n virtualization={virtualizationConfig}\n infiniteScroll={{\n enabled: true,\n thresholdPx: 800,\n autoLoad: true,\n }}\n hasNextPage={hasNextPage}\n isLoadingMore={isLoadingMore}\n onLoadMore={onLoadMore}\n />\n );\n\n const tableNodeWithErrorBoundary = (\n <BackofficeErrorBoundary\n fallback={(args: { error: unknown; reset: () => void }) => {\n const { reset } = args;\n\n const retry = (): void => {\n reset();\n if (onRefresh != null) {\n onRefresh();\n }\n };\n\n return (\n <InlineBanner\n tone=\"danger\"\n title={t('list.errors.title')}\n actions={\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"small\"\n onClick={retry}\n >\n {t('list.actions.retry')}\n </Button>\n }\n >\n {t('list.errors.tableFailed')}\n </InlineBanner>\n );\n }}\n >\n {tableInnerNode}\n </BackofficeErrorBoundary>\n );\n\n const filtersBarNode = showFilters ? (\n <>\n <BackofficeTableToolbar\n searchSlot={searchNode}\n filtersSlot={\n <>\n {quickFiltersNode}\n {allFiltersNode}\n </>\n }\n sortSlot={sortNode}\n refreshSlot={\n <Button\n type=\"button\"\n variant=\"text\"\n size=\"small\"\n disabled={onRefresh == null}\n onClick={() => {\n if (onRefresh != null) {\n onRefresh();\n }\n }}\n >\n {t('list.actions.refresh')}\n </Button>\n }\n chipsSlot={chipsNode}\n />\n {filterDrawerNode}\n </>\n ) : null;\n\n const tableNode = (\n <div>\n {tableNodeWithErrorBoundary}\n <EntityIdPickerDialog\n isOpen={pickerDialog != null}\n entity={pickerDialog?.entity ?? config.id}\n title={pickerDialog?.label ?? t('picker.title')}\n scope={pickerDialog?.scope}\n onClose={() => {\n setPickerDialog(null);\n }}\n onSelectId={(id) => {\n if (pickerDialog == null) {\n return;\n }\n const nextWhere = setWhereValue(\n state.where,\n pickerDialog.whereKey,\n id,\n pickerDialog.path,\n );\n pushState({ ...state, where: nextWhere });\n }}\n />\n </div>\n );\n\n const tableFooterNode = (\n <BackofficeLoadMore\n hasNextPage={hasNextPage}\n isLoading={isLoadingMore}\n meta={tableFooterMeta}\n loadMoreLabel={t('list.loadMore.more')}\n endLabel={t('list.loadMore.end')}\n loadingLabel={t('list.loadMore.loading')}\n />\n );\n\n if (variant === 'embedded') {\n return (\n <BackofficeListFilterProvider\n config={config}\n state={state}\n pushState={pushState}\n >\n <div className={styles.embeddedContainer}>\n <div className={styles.embeddedHeader}>{headerTitle}</div>\n {filtersBarNode}\n {tableNode}\n {tableFooterNode}\n </div>\n </BackofficeListFilterProvider>\n );\n }\n\n return (\n <BackofficeListFilterProvider\n config={config}\n state={state}\n pushState={pushState}\n >\n <ListPageTemplate\n headerNode={\n <BackofficePageHeader\n title={headerTitle}\n subtitle={headerSubtitle}\n actions={headerActions}\n />\n }\n toolbarNode={filtersBarNode}\n tableNode={tableNode}\n tableFooterNode={tableFooterNode}\n />\n </BackofficeListFilterProvider>\n );\n};\n\nexport default BackofficeEntityListScaffold;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA2DA,IAAM,KAAgB,GAAkB,MAC/B,EAAM,EAAK,EAGd,KACJ,GACA,MAEI,EAAO,eAAe,QAAQ,KAAS,OAClC,EAAO,YAAY,EAAM,GAI3B,EAAe,GADT,EAAO,YAAY,EAAO,IACL,EAAO,KAAK,EAG1C,MACJ,GACA,GACA,MAKqB;AACrB,KAAI,KAAO,KACT,QAAO;AAGT,KAAI,MAAM,QAAQ,EAAI,EAAE;EACtB,IAAM,IAAa,EAChB,KAAK,MAAU;AAId,OAHI,KAAS,QAIX,OAAO,KAAU,YACjB,OAAO,KAAU,YACjB,OAAO,KAAU,UAEjB,QAAO;GAET,IAAM,IAAQ,OAAO,EAAM,CAAC,MAAM;AAIlC,UAHI,MAAU,KACL,OAEF;IACP,CACD,QAAQ,MACA,KAAS,KAChB;AAKJ,SAHI,EAAW,WAAW,IACjB,OAEF,EAAW,KAAK,KAAK;;AAG9B,KAAI,OAAO,KAAQ,UAOjB,QANI,EAAO,SAAS,YACX,EAAQ,aAAa,EAAI,GAE9B,IACK,EAAQ,sBAAsB,MAEhC,EAAQ,sBAAsB;AAGvC,KAAI,OAAO,KAAQ,YAAY,OAAO,KAAQ,SAC5C,QAAO;CAGT,IAAM,IAAY,OAAO,EAAI,CAAC,MAAM;AAapC,QAZI,MAAc,KACT,OAGL,EAAO,SAAS,aACX,kBAAC,GAAD;EAAmB,UAAU,EAAO;EAAQ,IAAI;EAAa,CAAA,GAGlE,EAAO,SAAS,SACX,EAAQ,UAAU,EAAU,GAG9B;GAgCI,KAKX,MACuB;CACvB,IAAM,EAAE,GAAG,MAAS,IAAgB,EAC9B,EAAE,SAAM,GAA+B,EACvC,EACJ,WACA,UACA,cACA,SACA,cACA,YACA,yBACA,gBACA,kBACA,gBACA,cACA,eACA,eACA,WACA,mBACA,sBAAmB,IACnB,gBAAa,IACb,cAAU,QACV,kBAAc,OACZ,GACE,IAAa,EAAO,MAEpB,IAAe,EAAO,gBAC1B,EAAW,gBAAgB;EAAE,OAAO;EAAM,MAAM;EAAM,EAElD,KAAqB,QACN,EAAQ,MAAM,MACxB,EAAI,cAAc,GACzB,IACgB,EAAQ,WAAW,IAC5B,IAEF,EAAQ,KAAK,GAAK,MAAU;EACjC,IAAM,EAAE,cAAW;AAInB,SAHI,MAAU,IACL;GAAE,GAAG;GAAK,WAAW;GAAM;GAAQ,GAErC;GAAE,GAAG;GAAK;GAAQ;GACzB,EACD,CAAC,EAAQ,CAAC,EAEP,IAAQ,QAAqC;EACjD,IAAM,IAAoB,EAAE;AAC5B,OAAK,IAAM,KAAU,EAAW,SAAS;GACvC,IAAM,IAAM,EAAe,GAAQ,EAAM,MAAM,EACzC,IAAe,GAAsB,GAAQ,GAAK;IACtD,YAAY,MAAU;AACpB,SAAI,EAAO,SAAS,OAClB,QAAO;KAET,IAAM,IAAQ,EAAO,QAAQ,MAAM,MAC1B,EAAO,UAAU,EACxB;AAIF,YAHI,KAAS,OAGN,IAFE,EAAa,EAAM,OAAO,EAAK;;IAI1C,eAAe,MAAU;AACvB,SAAI,EAAO,SAAS,WAAW;AAC7B,UAAI,KAAS,EAAO,aAAa,KAC/B,QAAO,EAAa,EAAO,WAAW,EAAK;AAE7C,UAAI,CAAC,KAAS,EAAO,cAAc,KACjC,QAAO,EAAa,EAAO,YAAY,EAAK;;AAMhD,YAFS,EADL,IACO,wBAEF,qBAFwB;;IAInC,uBAAuB;KACrB,KAAK,EAAE,sBAAsB;KAC7B,IAAI,EAAE,qBAAqB;KAC5B;IACF,CAAC;AAEF,OAAI,KAAgB,MAAM;IACxB,IAAI,IAAU,OAAO,EAAI;AACzB,IAAI,MAAM,QAAQ,EAAI,KACpB,IAAU,EAAI,KAAK,IAAI;IAEzB,IAAM,IACJ,kBAAC,QAAD,EAAA,UAAA;KACG,EAAa,EAAO,OAAO,EAAK;KAAC;KAAG;KAChC,EAAA,CAAA;AAET,MAAI,KAAK;KACP,IAAI,GAAG,EAAO,GAAG,GAAG;KACpB;KACA,gBAAgB;MACd,IAAM,IAAO,EAAO,YAAY,EAAO,IACjC,IAAY,EAChB,EAAM,OACN,GACA,MACA,EAAO,KACR;AACD,QAAU;OAAE,GAAG;OAAO,OAAO;OAAW,CAAC;;KAE5C,CAAC;;;AAGN,SAAO;IACN;EAAC,EAAW;EAAS;EAAW;EAAO;EAAG;EAAK,CAAC,EAE7C,IAAiB,QAAkB;AACvC,IAAU,EACR,GAAG,GACJ,CAAC;IACD,CAAC,GAAc,EAAU,CAAC,EACvB,CAAC,IAAoB,KAAyB,EAAS,GAAM,EAC7D,CAAC,GAAc,KAAmB,EAAS,GAAG,EAE9C,CAAC,GAAc,KAAmB,EAM9B,KAAK,EAET,IAAsB,GACzB,MAAqD;EACpD,IAAM,IAAO,EAAO,YAAY,EAAO,IACjC,IAAY,EAAe,GAAQ,EAAM,MAAM,EACjD,IAAQ;AACZ,EAAI,OAAO,KAAc,aACvB,IAAQ;EAGV,IAAM,IAAkB,EAAa,EAAO,OAAO,EAAK;AAExD,MAAI,EAAO,SAAS,QAAQ;GAK1B,IAAI,IAAc,EAAE,+BAA+B,EACjD,OAJA,EAAO,oBAAoB,OAEvB,IADA,EAAa,EAAO,kBAAkB,EAAK,EAIhD,CAAC;AAIF,UAHI,EAAO,mBAAmB,SAC5B,IAAc,EAAa,EAAO,iBAAiB,EAAK,GAGxD,kBAAC,IAAD;IACS;IACP,WAAW,MAAS;KAClB,IAAM,IAAY,EAChB,EAAM,OACN,GACA,GACA,EAAO,KACR;AACD,OAAU;MAAE,GAAG;MAAO,OAAO;MAAW,CAAC;;IAE9B;IACb,WAAW;IACX,CAAA;;AAIN,MAAI,EAAO,SAAS,OAkBlB,QACE,kBAAC,GAAD;GACW,SAnBG,CACd;IACE,IAAI;IACJ,OAAO;IACP,OAAO,EAAE,eAAe,EACtB,OAAO,GACR,CAAC;IACH,EACD,GAAG,EAAO,QAAQ,KAAK,OACd;IACL,IAAI,EAAO;IACX,OAAO,EAAO;IACd,OAAO,EAAa,EAAO,OAAO,EAAK;IACxC,EACD,CACH;GAKU;GACP,WAAW,MAAS;IAClB,IAAM,IAAY,EAChB,EAAM,OACN,GACA,GACA,EAAO,KACR;AACD,MAAU;KAAE,GAAG;KAAO,OAAO;KAAW,CAAC;;GAE3C,CAAA;AAIN,MAAI,EAAO,SAAS,WAAW;GAC7B,IAAI,IAA0B;AAC9B,GAAI,OAAO,KAAc,cACvB,IAAU;GAGZ,IAAI,IAAc;AAIlB,GAHI,MAAY,OACd,IAAc,SAEZ,MAAY,OACd,IAAc;GAGhB,IAAM,IACJ,EAAO,aAAa,OAEhB,EAAE,sBAAsB,GADxB,EAAa,EAAO,WAAW,EAAK,EAEpC,IACJ,EAAO,cAAc,OAEjB,EAAE,qBAAqB,GADvB,EAAa,EAAO,YAAY,EAAK;AAsB3C,UACE,kBAAC,GAAD;IACW,SAtBG;KACd;MACE,IAAI;MACJ,OAAO;MACP,OAAO,EAAE,eAAe,EACtB,OAAO,GACR,CAAC;MACH;KACD;MACE,IAAI;MACJ,OAAO;MACP,OAAO;MACR;KACD;MACE,IAAI;MACJ,OAAO;MACP,OAAO;MACR;KACF;IAKG,OAAO;IACP,WAAW,MAAS;KAClB,IAAI,IAAyB;AAI7B,KAHI,MAAS,WACX,IAAS,KAEP,MAAS,YACX,IAAS;KAEX,IAAM,IAAY,EAChB,EAAM,OACN,GACA,GACA,EAAO,KACR;AACD,OAAU;MAAE,GAAG;MAAO,OAAO;MAAW,CAAC;;IAE3C,CAAA;;EAIN,IAAM,WAAqB;AACrB,SAAO,eAAe,KAM1B,QAHI,OAAO,EAAO,eAAgB,aACzB,EAAO,YAAY,EAAM,MAAM,GAEjC,EAAO;MACZ,EACA,IAA2B;AAC/B,EAAI,OAAO,KAAc,aACvB,IAAY;EAGd,IAAM,KAAe,IAA8B,SAAS;GAC1D,IAAM,IAAyB,GAAc,MAAM,IAAI;AACvD,UACE,kBAAC,GAAD;IACE,OAAO;IACP,OAAO;IACP,cAAc;IACd,cAAc;AACZ,OAAgB;MACd,QAAQ,EAAO;MACf,UAAU;MACV,OAAO;MACP,MAAM,EAAO;MACb,OAAO;MACR,CAAC;;IAEJ,eAAe;KACb,IAAM,IAAY,EAChB,EAAM,OACN,GACA,MACA,EAAO,KACR;AACD,OAAU;MAAE,GAAG;MAAO,OAAO;MAAW,CAAC;;IAE3C,CAAA;;AAQN,SAJI,KAAa,QAAQ,EAAU,MAAM,KAAK,KACrC,GAAa,GAIpB,kBAAC,GAAD;GAAuB,UAAU,EAAO;GAAQ,IAAI;cAChD,MACO,EAAY,EAAM;GAEL,CAAA;IAG5B;EAAC;EAAW;EAAO;EAAG;EAAK,CAC5B,EAEK,IAAqB,QAClB,EAAW,QAAQ,MAAM,MACvB,EAAO,aAAa,KAC3B,EACD,CAAC,EAAW,QAAQ,CAAC,EAElB,IAAe,QACf,EAAW,QAAQ,WAAW,IACzB,EAAE,GAEP,IACK,EAAW,QAAQ,QAAQ,MACzB,EAAO,cAAc,WAAW,EAAO,cAAc,OAC5D,GAEG,EAAW,QAAQ,MAAM,GAAG,EAAE,EACpC,CAAC,EAAW,SAAS,EAAmB,CAAC,EAEtC,IAAgB,QACb,EAAW,QAAQ,QAAQ,MAC5B,EAAO,aAAa,OACf,KAEF,EAAO,cAAc,YAAY,EAAO,cAAc,OAC7D,EACD,CAAC,EAAW,QAAQ,CAAC,EAElB,IAAe,QACZ,EAAa,MAAM,MACjB,EAAO,SAAS,OACvB,EACD,CAAC,EAAa,CAAC,EAEZ,KAAmB,QAAc;EACrC,IAAM,IAAsB,EAAa,QAAQ,MACxC,MAAW,EAClB;AAMF,SAJI,EAAoB,WAAW,IAC1B,OAIP,kBAAC,OAAD;GAAK,WAAW;aACb,EAAoB,KAAK,MACjB,kBAAC,QAAD,EAAA,UAAuB,EAAoB,EAAO,EAAQ,EAA/C,EAAO,GAAwC,CACjE;GACE,CAAA;IAEP;EAAC;EAAc;EAAqB;EAAa,CAAC,EAE/C,KAAa,QACb,KAAgB,OACX,OAEF,EAAoB,EAAa,EACvC,CAAC,GAAqB,EAAa,CAAC,EAEjC,KAAW,QAAc;AAC7B,MAAI,EAAW,MAAM,WAAW,EAC9B,QAAO;EAET,IAAM,IAAY,EAAW,MAAM;AAOnC,SANI,KAAa,OACR,OAMP,kBAAC,GAAD;GACW,SALG,EAAW,MAAM,KAAK,OAC7B;IAAE,IAAI,EAAE;IAAI,OAAO,EAAE;IAAI,OAAO,EAAa,EAAE,OAAO,EAAK;IAAE,EACpE;GAIE,OAAO,EAAM,QAAQ,EAAU;GAC/B,WAAW,MAAS;AAClB,MAAU;KACR,GAAG;KACH,MAAM;KACP,CAAC;;GAEJ,CAAA;IAEH;EAAC,EAAW;EAAO;EAAW;EAAO;EAAK,CAAC,EAExC,KAAY,QACT,kBAAC,IAAD;EAAsB;EAAO,YAAY;EAAkB,CAAA,EACjE,CAAC,GAAO,EAAe,CAAC,EAErB,KAAiB,QAAc;AACnC,MAAI,EAAc,WAAW,EAC3B,QAAO,EAAE;EAGX,IAAM,IAAkB,EAAa,MAAM,CAAC,aAAa,EACnD,IAA6C,EAAE;AAErD,OAAK,IAAM,KAAU,GAAe;GAClC,IAAM,IAAgB,EAAa,EAAO,OAAO,EAAK;AAKtD,IAHE,MAAoB,MACpB,EAAc,aAAa,CAAC,SAAS,EAAgB,KAGrD,EAAM,KAAK;IACT,IAAI,EAAO;IACX,MACE,kBAAC,IAAD;KAAuB,OAAO;eAC3B,EAAoB,EAAO;KACN,CAAA;IAE3B,CAAC;;AAQN,SAJI,EAAM,WAAW,IACZ,EAAE,GAGJ,CACL;GACE,IAAI;GACJ,OAAO,EAAE,2BAA2B;GACpC;GACD,CACF;IACA;EAAC;EAAe;EAAc;EAAqB;EAAG;EAAK,CAAC,EAEzD,KAAiB,QAAc;AACnC,MAAI,EAAc,WAAW,EAC3B,QAAO;EAET,IAAM,IAAc,EAAM,QACtB,IAAQ,EAAE,qBAAqB;AAMnC,SALI,IAAc,MAChB,IAAQ,EAAE,+BAA+B,EACvC,OAAO,GACR,CAAC,GAGF,kBAAC,GAAD;GACE,MAAK;GACL,SAAQ;GACR,MAAK;GACL,eAAe;AACb,MAAsB,GAAK;;aAG5B;GACM,CAAA;IAEV;EAAC,EAAM;EAAQ,EAAc;EAAQ;EAAE,CAAC,EAErC,KACJ,kBAAC,IAAD;EACE,QAAQ;EACR,eAAe;AAEb,GADA,EAAsB,GAAM,EAC5B,EAAgB,GAAG;;EAErB,UAAU;EACV,aAAa;EACb,iBAAiB,MAAS;AACxB,KAAgB,EAAK;;EAEvB,SAAS;EACT,CAAA,EAGE,KAAqB,QACrB,MAIA,IACK,kBAAC,IAAD,EAA2B,CAAA,GAGhC,EAAM,SAAS,IAEf,kBAAC,GAAD;EACE,OAAO,EAAE,6BAA6B;EACtC,aAAa,EAAE,2CAA2C;EAC1D,SACE,kBAAC,GAAD;GACE,MAAK;GACL,SAAQ;GACR,MAAK;GACL,SAAS;aAER,EAAE,6CAA6C;GACzC,CAAA;EAEX,CAAA,GAKJ,kBAAC,GAAD;EACE,OAAO,EAAE,6BAA6B;EACtC,aAAa,EAAE,mCAAmC;EAClD,CAAA,GAEH;EAAC,EAAM;EAAQ;EAAY;EAAgB;EAAkB;EAAE,CAAC,EAE7D,KAAkB,QAClB,OAAO,KAAe,WAIxB,kBAAC,QAAD,EAAA,UACG,EAAE,gBAAgB;EACjB,OAAO,EAAK;EACZ,OAAO;EACR,CAAC,EACG,CAAA,GARA,MAUR;EAAC,EAAK;EAAQ;EAAG;EAAW,CAAC,EAE1B,IAAc,GAAQ,SAAS,EAAa,EAAW,OAAO,EAAK,EACnE,KAAiB,GAAQ,UA8BzB,KACJ,kBAAC,GAAD;EACE,WAAW,MAAgD;GACzD,IAAM,EAAE,aAAU;AASlB,UACE,kBAAC,IAAD;IACE,MAAK;IACL,OAAO,EAAE,oBAAoB;IAC7B,SACE,kBAAC,GAAD;KACE,MAAK;KACL,SAAQ;KACR,MAAK;KACL,eAhBkB;AAExB,MADA,GAAO,EACH,KACS;;eAeN,EAAE,qBAAqB;KACjB,CAAA;cAGV,EAAE,0BAA0B;IAChB,CAAA;;YA/CrB,kBAAC,IAAD;GACE,SAAS;GACH;GACI;GACV,YAAY;GACZ,WAAW;GACU;GACrB,gBAhByB,QACtB,IAIE;IAAE,SAAS;IAAM,aAAa;IAAI,UAAU;IAAI,GAH9C;IAAE,SAAS;IAAO,aAAa;IAAG,UAAU;IAAG,EAIvD,CAAC,EAAW,CAAC;GAWZ,gBAAgB;IACd,SAAS;IACT,aAAa;IACb,UAAU;IACX;GACY;GACE;GACH;GACZ,CAAA;EAoCwB,CAAA,EAGtB,IAAiB,KACrB,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,IAAD;EACE,YAAY;EACZ,aACE,kBAAA,GAAA,EAAA,UAAA,CACG,IACA,GACA,EAAA,CAAA;EAEL,UAAU;EACV,aACE,kBAAC,GAAD;GACE,MAAK;GACL,SAAQ;GACR,MAAK;GACL,UAAU,KAAa;GACvB,eAAe;AACb,IAAI,KACS;;aAId,EAAE,uBAAuB;GACnB,CAAA;EAEX,WAAW;EACX,CAAA,EACD,GACA,EAAA,CAAA,GACD,MAEE,KACJ,kBAAC,OAAD,EAAA,UAAA,CACG,IACD,kBAAC,GAAD;EACE,QAAQ,KAAgB;EACxB,QAAQ,GAAc,UAAU,EAAO;EACvC,OAAO,GAAc,SAAS,EAAE,eAAe;EAC/C,OAAO,GAAc;EACrB,eAAe;AACb,KAAgB,KAAK;;EAEvB,aAAa,MAAO;AAClB,OAAI,KAAgB,KAClB;GAEF,IAAM,IAAY,EAChB,EAAM,OACN,EAAa,UACb,GACA,EAAa,KACd;AACD,KAAU;IAAE,GAAG;IAAO,OAAO;IAAW,CAAC;;EAE3C,CAAA,CACE,EAAA,CAAA,EAGF,IACJ,kBAAC,IAAD;EACe;EACb,WAAW;EACX,MAAM;EACN,eAAe,EAAE,qBAAqB;EACtC,UAAU,EAAE,oBAAoB;EAChC,cAAc,EAAE,wBAAwB;EACxC,CAAA;AAoBJ,QAjBI,OAAY,aAEZ,kBAAC,GAAD;EACU;EACD;EACI;YAEX,kBAAC,OAAD;GAAK,WAAW;aAAhB;IACE,kBAAC,OAAD;KAAK,WAAW;eAAwB;KAAkB,CAAA;IACzD;IACA;IACA;IACG;;EACuB,CAAA,GAKjC,kBAAC,GAAD;EACU;EACD;EACI;YAEX,kBAAC,IAAD;GACE,YACE,kBAAC,IAAD;IACE,OAAO;IACP,UAAU;IACV,SAAS;IACT,CAAA;GAEJ,aAAa;GACF;GACM;GACjB,CAAA;EAC2B,CAAA"}
@@ -0,0 +1,40 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { createContext as t, useCallback as n, useContext as r, useMemo as i } from "react";
3
+ import { buildBackofficeListLink as a } from "@plumile/backoffice-core/state/buildListHref.js";
4
+ import { setWhereValue as o } from "@plumile/backoffice-core/filters/where.js";
5
+ //#region src/components/backoffice/scaffolds/BackofficeListFilterContext.tsx
6
+ var s = t(null), c = (t) => {
7
+ let { config: r, state: c, pushState: l, children: u } = t, d = n((e, t, n) => {
8
+ let r = o(c.where, e, t, n);
9
+ l({
10
+ ...c,
11
+ where: r
12
+ });
13
+ }, [l, c]), f = n((e, t, n) => {
14
+ let i = o(c.where, e, t, n);
15
+ return a(r, {
16
+ ...c,
17
+ where: i
18
+ });
19
+ }, [r, c]), p = i(() => ({
20
+ config: r,
21
+ state: c,
22
+ pushState: l,
23
+ applyFilter: d,
24
+ buildFilterLink: f
25
+ }), [
26
+ d,
27
+ f,
28
+ r,
29
+ l,
30
+ c
31
+ ]);
32
+ return /* @__PURE__ */ e(s.Provider, {
33
+ value: p,
34
+ children: u
35
+ });
36
+ }, l = () => r(s);
37
+ //#endregion
38
+ export { c as BackofficeListFilterProvider, s as default, l as useBackofficeListFilterContext };
39
+
40
+ //# sourceMappingURL=BackofficeListFilterContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeListFilterContext.js","names":[],"sources":["../../../../../src/components/backoffice/scaffolds/BackofficeListFilterContext.tsx"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useMemo,\n type JSX,\n type ReactNode,\n} from 'react';\n\nimport type {\n BackofficeListState,\n BackofficeResolvedListFacetConfig,\n} from '@plumile/backoffice-core/types.js';\nimport { buildBackofficeListLink } from '@plumile/backoffice-core/state/buildListHref.js';\nimport { setWhereValue } from '@plumile/backoffice-core/filters/where.js';\n\nexport type BackofficeListFilterContextValue = {\n config: BackofficeResolvedListFacetConfig;\n state: BackofficeListState<Record<string, unknown>, string>;\n pushState: (\n next: BackofficeListState<Record<string, unknown>, string>,\n ) => void;\n applyFilter: (\n whereKey: string,\n value: unknown,\n path?: readonly string[],\n ) => void;\n buildFilterLink: (\n whereKey: string,\n value: unknown,\n path?: readonly string[],\n ) => { pathname: string; search: string };\n};\n\nconst BackofficeListFilterContext =\n createContext<BackofficeListFilterContextValue | null>(null);\n\ntype ProviderProps<\n Where extends Record<string, unknown>,\n Sort extends string,\n> = {\n config: BackofficeResolvedListFacetConfig<Where, Sort>;\n state: BackofficeListState<Where, Sort>;\n pushState: (next: BackofficeListState<Where, Sort>) => void;\n children: ReactNode;\n};\n\nexport const BackofficeListFilterProvider = <\n Where extends Record<string, unknown>,\n Sort extends string,\n>(\n props: ProviderProps<Where, Sort>,\n): JSX.Element => {\n const { config, state, pushState, children } = props;\n\n const applyFilter = useCallback(\n (whereKey: string, value: unknown, path?: readonly string[]) => {\n const nextWhere = setWhereValue(\n state.where,\n whereKey as keyof Where,\n value,\n path,\n );\n pushState({ ...state, where: nextWhere });\n },\n [pushState, state],\n );\n\n const buildFilterLink = useCallback(\n (whereKey: string, value: unknown, path?: readonly string[]) => {\n const nextWhere = setWhereValue(\n state.where,\n whereKey as keyof Where,\n value,\n path,\n );\n return buildBackofficeListLink(config, { ...state, where: nextWhere });\n },\n [config, state],\n );\n\n const contextValue = useMemo<BackofficeListFilterContextValue>(() => {\n return {\n config: config as BackofficeResolvedListFacetConfig,\n state: state as unknown as BackofficeListState<\n Record<string, unknown>,\n string\n >,\n pushState: pushState as BackofficeListFilterContextValue['pushState'],\n applyFilter,\n buildFilterLink,\n };\n }, [applyFilter, buildFilterLink, config, pushState, state]);\n\n return (\n <BackofficeListFilterContext.Provider value={contextValue}>\n {children}\n </BackofficeListFilterContext.Provider>\n );\n};\n\nexport const useBackofficeListFilterContext =\n (): BackofficeListFilterContextValue | null => {\n return useContext(BackofficeListFilterContext);\n };\n\nexport default BackofficeListFilterContext;\n"],"mappings":";;;;;AAkCA,IAAM,IACJ,EAAuD,KAAK,EAYjD,KAIX,MACgB;CAChB,IAAM,EAAE,WAAQ,UAAO,cAAW,gBAAa,GAEzC,IAAc,GACjB,GAAkB,GAAgB,MAA6B;EAC9D,IAAM,IAAY,EAChB,EAAM,OACN,GACA,GACA,EACD;AACD,IAAU;GAAE,GAAG;GAAO,OAAO;GAAW,CAAC;IAE3C,CAAC,GAAW,EAAM,CACnB,EAEK,IAAkB,GACrB,GAAkB,GAAgB,MAA6B;EAC9D,IAAM,IAAY,EAChB,EAAM,OACN,GACA,GACA,EACD;AACD,SAAO,EAAwB,GAAQ;GAAE,GAAG;GAAO,OAAO;GAAW,CAAC;IAExE,CAAC,GAAQ,EAAM,CAChB,EAEK,IAAe,SACZ;EACG;EACD;EAII;EACX;EACA;EACD,GACA;EAAC;EAAa;EAAiB;EAAQ;EAAW;EAAM,CAAC;AAE5D,QACE,kBAAC,EAA4B,UAA7B;EAAsC,OAAO;EAC1C;EACoC,CAAA;GAI9B,UAEF,EAAW,EAA4B"}
@@ -0,0 +1,25 @@
1
+ import { tabBody as e, tabs as t } from "./backofficeTabbedDetailShell.css.js";
2
+ import { jsx as n } from "react/jsx-runtime";
3
+ import { DetailPageTemplate as r } from "@plumile/ui-backoffice/backoffice/templates/detail_page_template/DetailPageTemplate.js";
4
+ import { BackofficeTabs as i } from "@plumile/ui-backoffice/backoffice/molecules/backoffice_tabs/BackofficeTabs.js";
5
+ //#region src/components/backoffice/scaffolds/BackofficeTabbedDetailShell.tsx
6
+ var a = ({ headerNode: a, tabs: o, activeId: s, children: c }) => {
7
+ let l = null;
8
+ return o != null && o.length > 1 && s != null && (l = /* @__PURE__ */ n(i, {
9
+ items: o,
10
+ activeId: s,
11
+ onChange: () => {},
12
+ className: t
13
+ })), /* @__PURE__ */ n(r, {
14
+ headerNode: a,
15
+ tabsNode: l,
16
+ children: /* @__PURE__ */ n("div", {
17
+ className: e,
18
+ children: c
19
+ })
20
+ });
21
+ };
22
+ //#endregion
23
+ export { a as BackofficeTabbedDetailShell, a as default };
24
+
25
+ //# sourceMappingURL=BackofficeTabbedDetailShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeTabbedDetailShell.js","names":[],"sources":["../../../../../src/components/backoffice/scaffolds/BackofficeTabbedDetailShell.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport { DetailPageTemplate } from '@plumile/ui-backoffice/backoffice/templates/detail_page_template/DetailPageTemplate.js';\nimport {\n BackofficeTabs,\n type BackofficeTabItem,\n} from '@plumile/ui-backoffice/backoffice/molecules/backoffice_tabs/BackofficeTabs.js';\n\nimport * as styles from './backofficeTabbedDetailShell.css.js';\n\nexport type BackofficeTabbedDetailShellProps = {\n headerNode: ReactNode;\n tabs?: readonly BackofficeTabItem[];\n activeId?: string;\n children: ReactNode;\n};\n\nexport const BackofficeTabbedDetailShell = ({\n headerNode,\n tabs,\n activeId,\n children,\n}: BackofficeTabbedDetailShellProps): JSX.Element => {\n let tabsNode: JSX.Element | null = null;\n if (tabs != null && tabs.length > 1 && activeId != null) {\n tabsNode = (\n <BackofficeTabs\n items={tabs}\n activeId={activeId}\n onChange={() => {}}\n className={styles.tabs}\n />\n );\n }\n\n return (\n <DetailPageTemplate headerNode={headerNode} tabsNode={tabsNode}>\n <div className={styles.tabBody}>{children}</div>\n </DetailPageTemplate>\n );\n};\n\nexport default BackofficeTabbedDetailShell;\n"],"mappings":";;;;;AAiBA,IAAa,KAA+B,EAC1C,eACA,MAAA,GACA,aACA,kBACmD;CACnD,IAAI,IAA+B;AAYnC,QAXI,KAAQ,QAAQ,EAAK,SAAS,KAAK,KAAY,SACjD,IACE,kBAAC,GAAD;EACE,OAAO;EACG;EACV,gBAAgB;EAChB,WAAW;EACX,CAAA,GAKJ,kBAAC,GAAD;EAAgC;EAAsB;YACpD,kBAAC,OAAD;GAAK,WAAW;GAAiB;GAAe,CAAA;EAC7B,CAAA"}
@@ -0,0 +1,8 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ //#region src/components/backoffice/scaffolds/backofficeEntityListScaffold.css.ts
4
+ var e = "_8gc5760 vncd899io vncd89ajx vncd89co vncd89ao6", t = "_8gc5761 vncd89u3f vncd89jdo", n = "_8gc5762 vncd899io vncd89ai6 vncd89aof", r = "_8gc5763 vncd8996 vncd89amo vncd89v8p";
5
+ //#endregion
6
+ export { e as controlsRow, n as embeddedContainer, r as embeddedHeader, t as filterInput };
7
+
8
+ //# sourceMappingURL=backofficeEntityListScaffold.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backofficeEntityListScaffold.css.js","names":[],"sources":["../../../../../src/components/backoffice/scaffolds/backofficeEntityListScaffold.css.ts"],"sourcesContent":["import { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const controlsRow = sprinkles({\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n gap: 2,\n});\n\nexport const filterInput = sprinkles({\n width: 72,\n maxWidth: 'full',\n});\n\nexport const embeddedContainer = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n});\n\nexport const embeddedHeader = sprinkles({\n fontSize: 'base',\n fontWeight: 'semibold',\n color: 'text',\n});\n"],"mappings":""}
@@ -0,0 +1,8 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ //#region src/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.ts
4
+ var e = "_12zehnj0 vncd899io", t = "_12zehnj1 vncd899io vncd89ai6 vncd89aoo";
5
+ //#endregion
6
+ export { t as tabBody, e as tabs };
7
+
8
+ //# sourceMappingURL=backofficeTabbedDetailShell.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backofficeTabbedDetailShell.css.js","names":[],"sources":["../../../../../src/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.ts"],"sourcesContent":["import { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const tabs = sprinkles({\n display: 'flex',\n});\n\nexport const tabBody = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n});\n"],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { container as e } from "./backofficeInlineFilterRow.css.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ import { cx as n } from "@plumile/ui/theme/tools.js";
4
+ //#region src/components/backoffice/shared/BackofficeInlineFilterRow.tsx
5
+ var r = ({ children: r, className: i }) => /* @__PURE__ */ t("span", {
6
+ className: n(e, i),
7
+ children: r
8
+ });
9
+ //#endregion
10
+ export { r as BackofficeInlineFilterRow, r as default };
11
+
12
+ //# sourceMappingURL=BackofficeInlineFilterRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackofficeInlineFilterRow.js","names":[],"sources":["../../../../../src/components/backoffice/shared/BackofficeInlineFilterRow.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport { cx } from '@plumile/ui/theme/tools.js';\n\nimport * as styles from './backofficeInlineFilterRow.css.js';\n\nexport type BackofficeInlineFilterRowProps = {\n children: ReactNode;\n className?: string;\n};\n\nexport const BackofficeInlineFilterRow = ({\n children,\n className,\n}: BackofficeInlineFilterRowProps): JSX.Element => {\n return <span className={cx(styles.container, className)}>{children}</span>;\n};\n\nexport default BackofficeInlineFilterRow;\n"],"mappings":";;;;AAWA,IAAa,KAA6B,EACxC,aACA,mBAEO,kBAAC,QAAD;CAAM,WAAW,EAAG,GAAkB,EAAU;CAAG;CAAgB,CAAA"}
@@ -0,0 +1,8 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ //#region src/components/backoffice/shared/backofficeInlineFilterRow.css.ts
4
+ var e = "_11j0ox80 vncd899jf vncd89co vncd89anx vncd89ajx";
5
+ //#endregion
6
+ export { e as container };
7
+
8
+ //# sourceMappingURL=backofficeInlineFilterRow.css.js.map