@plumile/backoffice-react 0.1.191 → 0.1.192

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 (228) hide show
  1. package/lib/esm/auth/authRefreshNotice.css.js +0 -1
  2. package/lib/esm/auth/login/PasskeyLoginForm.js +2 -1
  3. package/lib/esm/auth/login/PasskeyLoginForm.js.map +1 -1
  4. package/lib/esm/auth/login/loginPage.css.js +0 -2
  5. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js +5 -2
  6. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js.map +1 -1
  7. package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js +0 -1
  8. package/lib/esm/components/backoffice/billing/backofficeBillingUsageChart.css.js +0 -1
  9. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js +0 -1
  10. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js +0 -1
  11. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js +0 -1
  12. package/lib/esm/components/backoffice/detail/backofficeDetailRelationLink.css.js +0 -1
  13. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js +0 -1
  14. package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js +0 -1
  15. package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js +0 -1
  16. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js +0 -1
  17. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js +0 -2
  18. package/lib/esm/components/backoffice/layout/buildSidebarSections.js +10 -7
  19. package/lib/esm/components/backoffice/layout/buildSidebarSections.js.map +1 -1
  20. package/lib/esm/components/backoffice/layout/sidebarUtils.js +1 -1
  21. package/lib/esm/components/backoffice/layout/sidebarUtils.js.map +1 -1
  22. package/lib/esm/components/backoffice/links/backofficeLink.css.js +0 -1
  23. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js +0 -1
  24. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js +0 -1
  25. package/lib/esm/components/backoffice/refs/backofficeEntityIdRef.css.js +0 -1
  26. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js +0 -1
  27. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js +0 -1
  28. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js +0 -1
  29. package/lib/esm/components/backoffice/routing/backofficeRouteFallback.css.js +0 -1
  30. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js +17 -17
  31. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js.map +1 -1
  32. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js +0 -1
  33. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js +0 -1
  34. package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js +0 -1
  35. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js +0 -1
  36. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +0 -1
  37. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +0 -1
  38. package/lib/esm/filters/filterHelpers.js +1 -1
  39. package/lib/esm/filters/filterHelpers.js.map +1 -1
  40. package/lib/esm/hooks/useBackofficeSidebarPins.js +2 -1
  41. package/lib/esm/hooks/useBackofficeSidebarPins.js.map +1 -1
  42. package/lib/esm/hooks/useSidebarGroupCollapse.js +2 -1
  43. package/lib/esm/hooks/useSidebarGroupCollapse.js.map +1 -1
  44. package/lib/esm/node_modules/relay-test-utils/lib/RelayMockPayloadGenerator.js +2 -2
  45. package/lib/esm/node_modules/relay-test-utils/lib/RelayMockPayloadGenerator.js.map +1 -1
  46. package/lib/esm/node_modules/relay-test-utils/lib/RelayModernMockEnvironment.js +1 -1
  47. package/lib/esm/node_modules/relay-test-utils/lib/RelayModernMockEnvironment.js.map +1 -1
  48. package/lib/esm/pages/BackofficeEntityDetailPage.helpers.js +1 -1
  49. package/lib/esm/pages/BackofficeEntityDetailPage.helpers.js.map +1 -1
  50. package/lib/esm/pages/BackofficeEntityDetailPage.js +1 -1
  51. package/lib/esm/pages/BackofficeEntityDetailPage.js.map +1 -1
  52. package/lib/esm/pages/BackofficeEntityListPage.js +1 -1
  53. package/lib/esm/pages/BackofficeEntityListPage.js.map +1 -1
  54. package/lib/esm/pages/backofficeDashboardPage.css.js +0 -1
  55. package/lib/esm/pages/backofficeEntityDetailPage.css.js +0 -1
  56. package/lib/esm/pages/backofficeEntityListPage.css.js +0 -1
  57. package/lib/esm/pages/detail/pageResolution.js +1 -1
  58. package/lib/esm/pages/detail/pageResolution.js.map +1 -1
  59. package/lib/esm/provider/entityRegistry.js +15 -15
  60. package/lib/esm/provider/entityRegistry.js.map +1 -1
  61. package/lib/esm/storybook/relay/RelayStory.css.js +0 -1
  62. package/lib/esm/storybook/relay/mockResolvers.js +10 -9
  63. package/lib/esm/storybook/relay/mockResolvers.js.map +1 -1
  64. package/lib/types/auth/AuthFlows.stories.d.ts.map +1 -1
  65. package/lib/types/auth/AuthRefreshNotice.d.ts.map +1 -1
  66. package/lib/types/auth/TotpQrCode.d.ts.map +1 -1
  67. package/lib/types/auth/login/AuthPanel.d.ts.map +1 -1
  68. package/lib/types/auth/login/EmailCapturePanel.d.ts.map +1 -1
  69. package/lib/types/auth/login/LoginFlow.d.ts.map +1 -1
  70. package/lib/types/auth/login/MethodChooser.d.ts.map +1 -1
  71. package/lib/types/auth/login/MfaChallengeForm.d.ts.map +1 -1
  72. package/lib/types/auth/login/OidcButtons.d.ts.map +1 -1
  73. package/lib/types/auth/login/PasskeyLoginForm.d.ts.map +1 -1
  74. package/lib/types/auth/login/PasswordLoginPanel.d.ts.map +1 -1
  75. package/lib/types/auth/pages/AcceptInvitationScreen.d.ts.map +1 -1
  76. package/lib/types/auth/pages/PasswordResetCompleteScreen.d.ts.map +1 -1
  77. package/lib/types/auth/pages/PasswordResetRequestScreen.d.ts.map +1 -1
  78. package/lib/types/auth/pages/VerifyEmailScreen.d.ts.map +1 -1
  79. package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts.map +1 -1
  80. package/lib/types/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.d.ts.map +1 -1
  81. package/lib/types/components/backoffice/actions/toastViewAction.d.ts.map +1 -1
  82. package/lib/types/components/backoffice/billing/BackofficeBillingUsageChart.d.ts.map +1 -1
  83. package/lib/types/components/backoffice/billing/BackofficeBillingUsageChart.stories.d.ts +18 -18
  84. package/lib/types/components/backoffice/billing/BackofficeBillingUsageChart.stories.d.ts.map +1 -1
  85. package/lib/types/components/backoffice/detail/BackofficeDetailBadgeRow.d.ts.map +1 -1
  86. package/lib/types/components/backoffice/detail/BackofficeDetailErrorList.d.ts.map +1 -1
  87. package/lib/types/components/backoffice/detail/BackofficeDetailFlagTag.d.ts.map +1 -1
  88. package/lib/types/components/backoffice/detail/BackofficeDetailPrimitives.stories.d.ts.map +1 -1
  89. package/lib/types/components/backoffice/detail/BackofficeDetailRelationList.d.ts.map +1 -1
  90. package/lib/types/components/backoffice/detail/BackofficeDetailTaggedValue.d.ts.map +1 -1
  91. package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts.map +1 -1
  92. package/lib/types/components/backoffice/detail/BackofficeEnumLabel.d.ts.map +1 -1
  93. package/lib/types/components/backoffice/detail/BackofficeLifecycleTimelineSection.d.ts.map +1 -1
  94. package/lib/types/components/backoffice/detail/BackofficeReferenceValue.d.ts.map +1 -1
  95. package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts.map +1 -1
  96. package/lib/types/components/backoffice/detail/BackofficeStatusGroup.d.ts.map +1 -1
  97. package/lib/types/components/backoffice/detail/BackofficeStatusMetaBadge.d.ts.map +1 -1
  98. package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts.map +1 -1
  99. package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts.map +1 -1
  100. package/lib/types/components/backoffice/detail/createBackofficeEntityLinkProps.d.ts.map +1 -1
  101. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts.map +1 -1
  102. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.stories.d.ts.map +1 -1
  103. package/lib/types/components/backoffice/filters/BackofficeFilterAction.d.ts.map +1 -1
  104. package/lib/types/components/backoffice/filters/DeferredFilterSearchInput.d.ts.map +1 -1
  105. package/lib/types/components/backoffice/filters/EntityFilterValue.d.ts.map +1 -1
  106. package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts.map +1 -1
  107. package/lib/types/components/backoffice/filters/EntityIdFilterField.stories.d.ts +1 -1
  108. package/lib/types/components/backoffice/filters/EntityIdFilterField.stories.d.ts.map +1 -1
  109. package/lib/types/components/backoffice/hub/BackofficeHubTemplate.d.ts.map +1 -1
  110. package/lib/types/components/backoffice/hub/BackofficeHubTemplate.stories.d.ts +4 -3
  111. package/lib/types/components/backoffice/hub/BackofficeHubTemplate.stories.d.ts.map +1 -1
  112. package/lib/types/components/backoffice/layout/BackofficePermissionsContext.d.ts.map +1 -1
  113. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.d.ts.map +1 -1
  114. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.d.ts.map +1 -1
  115. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.d.ts.map +1 -1
  116. package/lib/types/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.d.ts.map +1 -1
  117. package/lib/types/components/backoffice/layout/breadcrumb/buildBreadcrumbs.d.ts +1 -1
  118. package/lib/types/components/backoffice/layout/breadcrumb/buildBreadcrumbs.d.ts.map +1 -1
  119. package/lib/types/components/backoffice/layout/mapViewerToSidebarProfileView.d.ts.map +1 -1
  120. package/lib/types/components/backoffice/layout/sidebarUtils.d.ts.map +1 -1
  121. package/lib/types/components/backoffice/links/BackofficeInlineLink.d.ts.map +1 -1
  122. package/lib/types/components/backoffice/links/BackofficeLink.d.ts.map +1 -1
  123. package/lib/types/components/backoffice/links/BackofficeLinkContent.d.ts.map +1 -1
  124. package/lib/types/components/backoffice/links/BackofficeLinkLabel.d.ts.map +1 -1
  125. package/lib/types/components/backoffice/links/resolveBackofficeLink.d.ts.map +1 -1
  126. package/lib/types/components/backoffice/links/resolveBackofficeTargetIcon.d.ts.map +1 -1
  127. package/lib/types/components/backoffice/links/useBackofficeLink.d.ts.map +1 -1
  128. package/lib/types/components/backoffice/list/RowFlagsCell.d.ts.map +1 -1
  129. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.d.ts.map +1 -1
  130. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.stories.d.ts +1 -1
  131. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.stories.d.ts.map +1 -1
  132. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts.map +1 -1
  133. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.stories.d.ts +2 -1
  134. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.stories.d.ts.map +1 -1
  135. package/lib/types/components/backoffice/refs/BackofficeEntityIdRef.d.ts.map +1 -1
  136. package/lib/types/components/backoffice/refs/BackofficeEntityLink.d.ts.map +1 -1
  137. package/lib/types/components/backoffice/refs/BackofficeLazyEntityCount.d.ts.map +1 -1
  138. package/lib/types/components/backoffice/refs/BackofficeRelatedCountLink.d.ts.map +1 -1
  139. package/lib/types/components/backoffice/routing/BackofficeContentBoundary.d.ts.map +1 -1
  140. package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts.map +1 -1
  141. package/lib/types/components/backoffice/routing/BackofficeContentFallback.d.ts.map +1 -1
  142. package/lib/types/components/backoffice/routing/BackofficeRouteFallback.d.ts.map +1 -1
  143. package/lib/types/components/backoffice/routing/BackofficeRoutePendingBar.d.ts.map +1 -1
  144. package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailNotFound.d.ts.map +1 -1
  145. package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.d.ts.map +1 -1
  146. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts.map +1 -1
  147. package/lib/types/components/backoffice/scaffolds/BackofficeListFilterContext.d.ts.map +1 -1
  148. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts.map +1 -1
  149. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.stories.d.ts +1 -1
  150. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.stories.d.ts.map +1 -1
  151. package/lib/types/components/backoffice/scaffolds/backofficeListScrollMode.d.ts +1 -1
  152. package/lib/types/components/backoffice/shared/BackofficeFilterableCell.d.ts.map +1 -1
  153. package/lib/types/components/backoffice/shared/BackofficeFormattedCurrency.d.ts.map +1 -1
  154. package/lib/types/components/backoffice/shared/BackofficeFormattedNumber.d.ts.map +1 -1
  155. package/lib/types/components/backoffice/shared/BackofficeInlineFilterRow.d.ts.map +1 -1
  156. package/lib/types/components/backoffice/shared/backofficeFilterableCell.css.d.ts.map +1 -1
  157. package/lib/types/components/backoffice/technical/TechnicalIdentifierValue.d.ts.map +1 -1
  158. package/lib/types/components/backoffice/tools/BackofficeTools.stories.d.ts.map +1 -1
  159. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts.map +1 -1
  160. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +1 -1
  161. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +1 -1
  162. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts.map +1 -1
  163. package/lib/types/hooks/useAuth.d.ts.map +1 -1
  164. package/lib/types/hooks/useBackofficeSessionAuth.d.ts.map +1 -1
  165. package/lib/types/hooks/useBackofficeSidebarPins.d.ts +6 -3
  166. package/lib/types/hooks/useBackofficeSidebarPins.d.ts.map +1 -1
  167. package/lib/types/hooks/useCopyToClipboard.d.ts.map +1 -1
  168. package/lib/types/hooks/useInfiniteConnection.d.ts.map +1 -1
  169. package/lib/types/hooks/useSidebarGroupCollapse.d.ts.map +1 -1
  170. package/lib/types/i18n/mergeResourceLanguages.d.ts +5 -2
  171. package/lib/types/i18n/mergeResourceLanguages.d.ts.map +1 -1
  172. package/lib/types/i18n/resources.d.ts.map +1 -1
  173. package/lib/types/modules/uploads.d.ts.map +1 -1
  174. package/lib/types/pages/BackofficeAcceptInvitationPage.d.ts.map +1 -1
  175. package/lib/types/pages/BackofficeDashboardPage.d.ts.map +1 -1
  176. package/lib/types/pages/BackofficeDashboardPage.helpers.d.ts.map +1 -1
  177. package/lib/types/pages/BackofficeDashboardPage.stories.d.ts.map +1 -1
  178. package/lib/types/pages/BackofficeDashboardShellPage.d.ts.map +1 -1
  179. package/lib/types/pages/BackofficeDashboardWidgetContent.d.ts.map +1 -1
  180. package/lib/types/pages/BackofficeEntityDetailFramePage.d.ts.map +1 -1
  181. package/lib/types/pages/BackofficeEntityDetailLayoutPage.d.ts.map +1 -1
  182. package/lib/types/pages/BackofficeEntityDetailPage.d.ts.map +1 -1
  183. package/lib/types/pages/BackofficeEntityDetailPage.helpers.d.ts.map +1 -1
  184. package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts +1 -1
  185. package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts.map +1 -1
  186. package/lib/types/pages/BackofficeEntityDetailPageConfigPage.d.ts.map +1 -1
  187. package/lib/types/pages/BackofficeEntityDetailShellPage.d.ts.map +1 -1
  188. package/lib/types/pages/BackofficeEntityDetailUnknownPageRedirect.d.ts.map +1 -1
  189. package/lib/types/pages/BackofficeEntityListDataPage.d.ts.map +1 -1
  190. package/lib/types/pages/BackofficeEntityListPage.d.ts.map +1 -1
  191. package/lib/types/pages/BackofficeEntityListPage.helpers.d.ts.map +1 -1
  192. package/lib/types/pages/BackofficeEntityListRouteContext.d.ts.map +1 -1
  193. package/lib/types/pages/BackofficeEntityListShellPage.d.ts.map +1 -1
  194. package/lib/types/pages/BackofficeHubPage.d.ts.map +1 -1
  195. package/lib/types/pages/BackofficeLayoutPage.d.ts.map +1 -1
  196. package/lib/types/pages/BackofficeLoginPage.d.ts.map +1 -1
  197. package/lib/types/pages/BackofficePasswordResetCompletePage.d.ts.map +1 -1
  198. package/lib/types/pages/BackofficePasswordResetRequestPage.d.ts.map +1 -1
  199. package/lib/types/pages/BackofficeRedirect.d.ts.map +1 -1
  200. package/lib/types/pages/BackofficeToolShellPage.d.ts.map +1 -1
  201. package/lib/types/pages/BackofficeVerifyEmailPage.d.ts.map +1 -1
  202. package/lib/types/pages/detail/BackofficeEntityDetailManifestFallback.d.ts.map +1 -1
  203. package/lib/types/pages/detail/buildTabsItems.d.ts.map +1 -1
  204. package/lib/types/pages/detail/pageResolution.d.ts.map +1 -1
  205. package/lib/types/provider/BackofficeConfigContext.d.ts.map +1 -1
  206. package/lib/types/provider/BackofficeListUiStateContext.d.ts +1 -1
  207. package/lib/types/provider/BackofficeListUiStateContext.d.ts.map +1 -1
  208. package/lib/types/provider/BackofficeProvider.d.ts.map +1 -1
  209. package/lib/types/provider/dashboardRegistrations.d.ts.map +1 -1
  210. package/lib/types/provider/entityRegistry.d.ts +6 -3
  211. package/lib/types/provider/entityRegistry.d.ts.map +1 -1
  212. package/lib/types/provider/lazyValue.d.ts.map +1 -1
  213. package/lib/types/provider/useBackofficeEntityLoader.d.ts +6 -3
  214. package/lib/types/provider/useBackofficeEntityLoader.d.ts.map +1 -1
  215. package/lib/types/provider/useBackofficeLazyValue.d.ts.map +1 -1
  216. package/lib/types/relay/createInlineReader.d.ts.map +1 -1
  217. package/lib/types/relay/envHelpers.d.ts +6 -3
  218. package/lib/types/relay/envHelpers.d.ts.map +1 -1
  219. package/lib/types/relay/identityView.d.ts.map +1 -1
  220. package/lib/types/relay/mutationResult.d.ts.map +1 -1
  221. package/lib/types/relay/typedRelayHooks.d.ts +1 -1
  222. package/lib/types/relay/typedRelayHooks.d.ts.map +1 -1
  223. package/lib/types/router/backofficeAuthPaths.d.ts.map +1 -1
  224. package/lib/types/router/createBackofficeRoutes.d.ts +28 -17
  225. package/lib/types/router/createBackofficeRoutes.d.ts.map +1 -1
  226. package/lib/types/storybook/relay/RelayStory.d.ts.map +1 -1
  227. package/lib/types/subscriptions/useCursorResumableSubscription.d.ts.map +1 -1
  228. package/package.json +21 -21
@@ -81,7 +81,7 @@ var I = (e, t, n, r) => {
81
81
  m
82
82
  ]), G = w((e) => p.getRowId(e), [p]), { state: K, pushState: q } = c(a), J = u(T(() => l(a.id), [a.id])), Y = w(() => {
83
83
  B((e) => e + 1), V.current?.();
84
- }, []), X = T(() => a.listActions ?? [], [a.listActions]), Z = T(() => X.filter((e) => e.isVisible == null ? !0 : e.isVisible(null)), [X]), Q = T(() => {
84
+ }, []), X = T(() => a.listActions ?? [], [a.listActions]), Z = T(() => X.filter((e) => e.isVisible == null || e.isVisible(null)), [X]), Q = T(() => {
85
85
  if (Z.length !== 0) return /* @__PURE__ */ O("div", {
86
86
  className: S,
87
87
  children: Z.map((e, t) => {
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeEntityListPage.js","names":[],"sources":["../../../src/pages/BackofficeEntityListPage.tsx"],"sourcesContent":["import {\n Suspense,\n type JSX,\n type ReactNode,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { TFunction } from 'i18next';\nimport { useTranslation } from 'react-i18next';\nimport Link from '@plumile/router/routing/Link.js';\nimport type {\n BackofficeEntityManifestItem,\n BackofficePreparedListLayoutRoute,\n BackofficeRuntimeResolvedListFacetConfig,\n BackofficeRowFlagSpec,\n} from '@plumile/backoffice-core/types.js';\nimport { Button } from '@plumile/ui/atomic/atoms/button/Button.js';\nimport { LinkButton } from '@plumile/ui/atomic/atoms/button/LinkButton.js';\nimport {\n type DataTableColumn,\n type GetRowId,\n} from '@plumile/ui/components/data-table/DataTable.js';\nimport { TableCell } from '@plumile/ui/components/data-table/TableCell.js';\nimport { EyeSvg } from '@plumile/ui/icons/EyeSvg.js';\nimport { BackofficeEntityListScaffold } from '../components/backoffice/scaffolds/BackofficeEntityListScaffold.js';\nimport { LazyBackofficeEntityActionFormDialog } from '../components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js';\nimport { buildDataTableColumns } from '../components/backoffice/columns/buildDataTableColumns.js';\nimport { RowFlagsCell } from '../components/backoffice/list/RowFlagsCell.js';\nimport { useBackofficeListUrlState } from '../hooks/useBackofficeListUrlState.js';\nimport { useBackofficeReactTranslation } from '../i18n/useBackofficeReactTranslation.js';\nimport {\n createBackofficeEntityListUiStateKey,\n useBackofficeListFilterDrawerState,\n} from '../provider/BackofficeListUiStateContext.js';\nimport * as pageStyles from './backofficeEntityListPage.css.js';\nimport { rowFlagsColumnCell } from '../components/backoffice/list/RowFlagsCell.css.js';\nimport { BackofficeRightPageLayout } from '../components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js';\nimport { buildEntityListBreadcrumb } from '../components/backoffice/layout/breadcrumb/buildBreadcrumbs.js';\nimport { BackofficeEntityListRouteProvider } from './BackofficeEntityListRouteContext.js';\nimport {\n buildActionsColumn,\n computeActionsColumnWidthPx,\n computeRowFlagsColumnWidthPx,\n isFormMutationAction,\n isRouteAction,\n resolveLabel,\n resolveActionVariant,\n resolveTrackBySize,\n type ConnectionListConfig,\n} from './BackofficeEntityListPage.helpers.js';\n\nexport type BackofficeEntityListPageProps = {\n children?: ReactNode;\n entityManifest: BackofficeEntityManifestItem;\n config: BackofficeRuntimeResolvedListFacetConfig;\n prepared: BackofficePreparedListLayoutRoute;\n};\n\nconst applyListEdgeColumns = <Row,>(\n inputColumns: readonly DataTableColumn<Row>[],\n rowFlags: readonly BackofficeRowFlagSpec<Row>[] | undefined,\n actionCount: number,\n tApp: TFunction,\n): {\n columns: readonly DataTableColumn<Row>[];\n gridTemplateColumns?: string;\n} => {\n const hasFlags = rowFlags != null && rowFlags.length > 0;\n\n let columns = inputColumns;\n if (hasFlags) {\n const flagsColumn: DataTableColumn<Row> = {\n id: '__rowFlags',\n header: '',\n className: rowFlagsColumnCell,\n mobileRole: 'badge',\n cell: (row) => {\n return <RowFlagsCell row={row} flags={rowFlags} tApp={tApp} />;\n },\n };\n\n // Ensure we never pick the flags column as \"primary\".\n const withFlags = [flagsColumn, ...inputColumns];\n const hasPrimary = withFlags.some((col) => {\n return col.isPrimary === true;\n });\n\n columns = withFlags;\n if (!hasPrimary) {\n columns = withFlags.map((col, index) => {\n if (index === 1) {\n return { ...col, isPrimary: true };\n }\n return col;\n });\n }\n }\n\n let flagCount = 0;\n if (hasFlags) {\n flagCount = rowFlags.length;\n }\n const flagsWidthPx = computeRowFlagsColumnWidthPx(flagCount);\n const actionsWidthPx = computeActionsColumnWidthPx(actionCount);\n\n // We always include the right-side \"actions\" column in list pages.\n let leftColumnCount = 0;\n if (hasFlags) {\n leftColumnCount = 1;\n }\n const middleCount = columns.length - leftColumnCount - 1;\n\n const middleTracks = columns\n .slice(leftColumnCount, leftColumnCount + Math.max(0, middleCount))\n .map((column) => {\n return resolveTrackBySize(column as DataTableColumn<unknown>, '1fr');\n })\n .join(' ');\n\n let gridTemplateColumns = '';\n if (hasFlags) {\n gridTemplateColumns = `${flagsWidthPx}px ${middleTracks} ${actionsWidthPx}px`;\n } else {\n gridTemplateColumns = `${middleTracks} ${actionsWidthPx}px`;\n }\n\n return { columns, gridTemplateColumns };\n};\n\nconst BackofficeEntityConnectionListPage = ({\n children,\n config,\n breadcrumb,\n}: Omit<BackofficeEntityListPageProps, 'config' | 'prepared'> & {\n config: ConnectionListConfig;\n breadcrumb: ReturnType<typeof buildEntityListBreadcrumb>;\n}): JSX.Element | null => {\n const listConfig = config.list;\n\n const { t: tApp } = useTranslation();\n const { t } = useBackofficeReactTranslation();\n const [activeFormActionId, setActiveFormActionId] = useState<string | null>(\n null,\n );\n const [countFetchKey, setCountFetchKey] = useState(0);\n const refreshRef = useRef<(() => void) | null>(null);\n\n const registerRefresh = useCallback((refresh: (() => void) | null) => {\n refreshRef.current = refresh;\n }, []);\n\n const { columns, gridTemplateColumns } = useMemo((): {\n columns: readonly DataTableColumn<unknown>[];\n gridTemplateColumns?: string;\n } => {\n const baseColumns = buildDataTableColumns(listConfig.columns, {\n tApp,\n t,\n });\n const actionsColumn = buildActionsColumn({\n ariaLabel: t('actions.view'),\n fallback: t('common.notAvailable'),\n className: pageStyles.actionsColumnCell,\n resolveDetailHref: (id) => {\n return config.routes.detail(id);\n },\n renderAction: ({ href, ariaLabel }) => {\n return (\n <TableCell.Actions>\n <Link\n to={href}\n className={pageStyles.actionTrigger}\n aria-label={ariaLabel}\n title={ariaLabel}\n preloadOnHover=\"code\"\n >\n <EyeSvg width={16} height={16} />\n </Link>\n </TableCell.Actions>\n );\n },\n });\n const allColumns = [...baseColumns, actionsColumn];\n return applyListEdgeColumns(allColumns, listConfig.rowFlags, 1, tApp);\n }, [config.routes, listConfig.columns, listConfig.rowFlags, t, tApp]);\n\n const getRowId = useCallback<GetRowId<unknown>>(\n (row) => {\n return listConfig.getRowId(row);\n },\n [listConfig],\n );\n\n const { state, pushState } = useBackofficeListUrlState(config);\n const listUiStateKey = useMemo(() => {\n return createBackofficeEntityListUiStateKey(config.id);\n }, [config.id]);\n const filterDrawerState = useBackofficeListFilterDrawerState(listUiStateKey);\n\n const handleRefreshRequest = useCallback(() => {\n setCountFetchKey((current) => {\n return current + 1;\n });\n refreshRef.current?.();\n }, []);\n\n const listActions = useMemo(() => {\n return config.listActions ?? [];\n }, [config.listActions]);\n const visibleActions = useMemo(() => {\n return listActions.filter((action) => {\n if (action.isVisible == null) {\n return true;\n }\n return action.isVisible(null);\n });\n }, [listActions]);\n\n const headerActions = useMemo(() => {\n if (visibleActions.length === 0) {\n return undefined;\n }\n return (\n <div className={pageStyles.headerActions}>\n {visibleActions.map((action, index) => {\n const { variant: actionVariant } = action;\n const label = resolveLabel(action.label, tApp);\n let ariaLabel = label;\n if (action.ariaLabel != null) {\n ariaLabel = resolveLabel(action.ariaLabel, tApp);\n }\n const variant = resolveActionVariant(actionVariant, index);\n const size = action.size ?? 'small';\n const isDisabled = action.isDisabled?.(null) === true;\n\n if (isRouteAction(action)) {\n const href = action.to(null);\n return (\n <LinkButton\n key={action.id}\n to={href}\n variant={variant}\n size={size}\n isDisabled={isDisabled}\n aria-label={ariaLabel}\n preloadOnHover=\"code-and-data\"\n >\n {label}\n </LinkButton>\n );\n }\n\n if (isFormMutationAction(action)) {\n return (\n <Button\n key={action.id}\n type=\"button\"\n variant={variant}\n size={size}\n disabled={isDisabled}\n onClick={() => {\n setActiveFormActionId(action.id);\n }}\n aria-label={ariaLabel}\n >\n {label}\n </Button>\n );\n }\n\n return null;\n })}\n </div>\n );\n }, [tApp, visibleActions]);\n\n const activeFormAction = listActions.find((action) => {\n return action.id === activeFormActionId;\n });\n\n const renderLoadingScaffold = () => {\n return (\n <BackofficeEntityListScaffold\n config={config}\n state={state}\n pushState={pushState}\n headerActions={headerActions}\n rows={[]}\n columns={columns}\n gridTemplateColumns={gridTemplateColumns}\n getRowId={getRowId}\n hasNextPage={false}\n isLoadingMore={false}\n isRefreshing={false}\n onLoadMore={() => {}}\n onRefresh={handleRefreshRequest}\n totalCount={null}\n isLoadingInitial\n filterDrawerState={filterDrawerState}\n />\n );\n };\n\n const contextValue = useMemo(() => {\n return {\n config,\n state,\n pushState,\n headerActions,\n columns,\n gridTemplateColumns,\n getRowId,\n countFetchKey,\n filterDrawerState,\n bumpCountFetchKey: () => {\n setCountFetchKey((current) => {\n return current + 1;\n });\n },\n registerRefresh,\n };\n }, [\n columns,\n config,\n countFetchKey,\n filterDrawerState,\n getRowId,\n gridTemplateColumns,\n headerActions,\n pushState,\n registerRefresh,\n state,\n ]);\n\n return (\n <BackofficeRightPageLayout breadcrumb={breadcrumb}>\n <BackofficeEntityListRouteProvider value={contextValue}>\n <Suspense fallback={renderLoadingScaffold()}>{children}</Suspense>\n </BackofficeEntityListRouteProvider>\n {activeFormAction != null && isFormMutationAction(activeFormAction) && (\n <LazyBackofficeEntityActionFormDialog\n isOpen\n action={activeFormAction}\n node={null}\n onClose={() => {\n setActiveFormActionId(null);\n }}\n onSuccess={handleRefreshRequest}\n />\n )}\n </BackofficeRightPageLayout>\n );\n};\n\nexport const BackofficeEntityListPage = ({\n children,\n entityManifest,\n config,\n}: BackofficeEntityListPageProps): JSX.Element | null => {\n const { t: tApp } = useTranslation();\n const breadcrumb = buildEntityListBreadcrumb(config, tApp);\n\n return (\n <BackofficeEntityConnectionListPage\n children={children}\n entityManifest={entityManifest}\n config={config}\n breadcrumb={breadcrumb}\n />\n );\n};\n\nexport default BackofficeEntityListPage;\n"],"mappings":"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"}
1
+ {"version":3,"file":"BackofficeEntityListPage.js","names":[],"sources":["../../../src/pages/BackofficeEntityListPage.tsx"],"sourcesContent":["import {\n Suspense,\n type JSX,\n type ReactNode,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { TFunction } from 'i18next';\nimport { useTranslation } from 'react-i18next';\nimport Link from '@plumile/router/routing/Link.js';\nimport type {\n BackofficeEntityManifestItem,\n BackofficePreparedListLayoutRoute,\n BackofficeRuntimeResolvedListFacetConfig,\n BackofficeRowFlagSpec,\n} from '@plumile/backoffice-core/types.js';\nimport { Button } from '@plumile/ui/atomic/atoms/button/Button.js';\nimport { LinkButton } from '@plumile/ui/atomic/atoms/button/LinkButton.js';\nimport {\n type DataTableColumn,\n type GetRowId,\n} from '@plumile/ui/components/data-table/DataTable.js';\nimport { TableCell } from '@plumile/ui/components/data-table/TableCell.js';\nimport { EyeSvg } from '@plumile/ui/icons/EyeSvg.js';\nimport { BackofficeEntityListScaffold } from '../components/backoffice/scaffolds/BackofficeEntityListScaffold.js';\nimport { LazyBackofficeEntityActionFormDialog } from '../components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js';\nimport { buildDataTableColumns } from '../components/backoffice/columns/buildDataTableColumns.js';\nimport { RowFlagsCell } from '../components/backoffice/list/RowFlagsCell.js';\nimport { useBackofficeListUrlState } from '../hooks/useBackofficeListUrlState.js';\nimport { useBackofficeReactTranslation } from '../i18n/useBackofficeReactTranslation.js';\nimport {\n createBackofficeEntityListUiStateKey,\n useBackofficeListFilterDrawerState,\n} from '../provider/BackofficeListUiStateContext.js';\nimport * as pageStyles from './backofficeEntityListPage.css.js';\nimport { rowFlagsColumnCell } from '../components/backoffice/list/RowFlagsCell.css.js';\nimport { BackofficeRightPageLayout } from '../components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js';\nimport { buildEntityListBreadcrumb } from '../components/backoffice/layout/breadcrumb/buildBreadcrumbs.js';\nimport { BackofficeEntityListRouteProvider } from './BackofficeEntityListRouteContext.js';\nimport {\n buildActionsColumn,\n computeActionsColumnWidthPx,\n computeRowFlagsColumnWidthPx,\n isFormMutationAction,\n isRouteAction,\n resolveLabel,\n resolveActionVariant,\n resolveTrackBySize,\n type ConnectionListConfig,\n} from './BackofficeEntityListPage.helpers.js';\n\nexport type BackofficeEntityListPageProps = {\n children?: ReactNode;\n entityManifest: BackofficeEntityManifestItem;\n config: BackofficeRuntimeResolvedListFacetConfig;\n prepared: BackofficePreparedListLayoutRoute;\n};\n\nconst applyListEdgeColumns = <Row,>(\n inputColumns: readonly DataTableColumn<Row>[],\n rowFlags: readonly BackofficeRowFlagSpec<Row>[] | undefined,\n actionCount: number,\n tApp: TFunction,\n): {\n columns: readonly DataTableColumn<Row>[];\n gridTemplateColumns?: string;\n} => {\n const hasFlags = rowFlags != null && rowFlags.length > 0;\n\n let columns = inputColumns;\n if (hasFlags) {\n const flagsColumn: DataTableColumn<Row> = {\n id: '__rowFlags',\n header: '',\n className: rowFlagsColumnCell,\n mobileRole: 'badge',\n cell: (row) => {\n return <RowFlagsCell row={row} flags={rowFlags} tApp={tApp} />;\n },\n };\n\n // Ensure we never pick the flags column as \"primary\".\n const withFlags = [flagsColumn, ...inputColumns];\n const hasPrimary = withFlags.some((col) => {\n return col.isPrimary === true;\n });\n\n columns = withFlags;\n if (!hasPrimary) {\n columns = withFlags.map((col, index) => {\n if (index === 1) {\n return { ...col, isPrimary: true };\n }\n return col;\n });\n }\n }\n\n let flagCount = 0;\n if (hasFlags) {\n flagCount = rowFlags.length;\n }\n const flagsWidthPx = computeRowFlagsColumnWidthPx(flagCount);\n const actionsWidthPx = computeActionsColumnWidthPx(actionCount);\n\n // We always include the right-side \"actions\" column in list pages.\n let leftColumnCount = 0;\n if (hasFlags) {\n leftColumnCount = 1;\n }\n const middleCount = columns.length - leftColumnCount - 1;\n\n const middleTracks = columns\n .slice(leftColumnCount, leftColumnCount + Math.max(0, middleCount))\n .map((column) => {\n return resolveTrackBySize(column as DataTableColumn<unknown>, '1fr');\n })\n .join(' ');\n\n let gridTemplateColumns = '';\n if (hasFlags) {\n gridTemplateColumns = `${flagsWidthPx}px ${middleTracks} ${actionsWidthPx}px`;\n } else {\n gridTemplateColumns = `${middleTracks} ${actionsWidthPx}px`;\n }\n\n return { columns, gridTemplateColumns };\n};\n\nconst BackofficeEntityConnectionListPage = ({\n children,\n config,\n breadcrumb,\n}: Omit<BackofficeEntityListPageProps, 'config' | 'prepared'> & {\n config: ConnectionListConfig;\n breadcrumb: ReturnType<typeof buildEntityListBreadcrumb>;\n}): JSX.Element | null => {\n const listConfig = config.list;\n\n const { t: tApp } = useTranslation();\n const { t } = useBackofficeReactTranslation();\n const [activeFormActionId, setActiveFormActionId] = useState<string | null>(\n null,\n );\n const [countFetchKey, setCountFetchKey] = useState(0);\n const refreshRef = useRef<(() => void) | null>(null);\n\n const registerRefresh = useCallback((refresh: (() => void) | null) => {\n refreshRef.current = refresh;\n }, []);\n\n const { columns, gridTemplateColumns } = useMemo((): {\n columns: readonly DataTableColumn<unknown>[];\n gridTemplateColumns?: string;\n } => {\n const baseColumns = buildDataTableColumns(listConfig.columns, {\n tApp,\n t,\n });\n const actionsColumn = buildActionsColumn({\n ariaLabel: t('actions.view'),\n fallback: t('common.notAvailable'),\n className: pageStyles.actionsColumnCell,\n resolveDetailHref: (id) => {\n return config.routes.detail(id);\n },\n renderAction: ({ href, ariaLabel }) => {\n return (\n <TableCell.Actions>\n <Link\n to={href}\n className={pageStyles.actionTrigger}\n aria-label={ariaLabel}\n title={ariaLabel}\n preloadOnHover=\"code\"\n >\n <EyeSvg width={16} height={16} />\n </Link>\n </TableCell.Actions>\n );\n },\n });\n const allColumns = [...baseColumns, actionsColumn];\n return applyListEdgeColumns(allColumns, listConfig.rowFlags, 1, tApp);\n }, [config.routes, listConfig.columns, listConfig.rowFlags, t, tApp]);\n\n const getRowId = useCallback<GetRowId<unknown>>(\n (row) => {\n return listConfig.getRowId(row);\n },\n [listConfig],\n );\n\n const { state, pushState } = useBackofficeListUrlState(config);\n const listUiStateKey = useMemo(() => {\n return createBackofficeEntityListUiStateKey(config.id);\n }, [config.id]);\n const filterDrawerState = useBackofficeListFilterDrawerState(listUiStateKey);\n\n const handleRefreshRequest = useCallback(() => {\n setCountFetchKey((current) => {\n return current + 1;\n });\n refreshRef.current?.();\n }, []);\n\n const listActions = useMemo(() => {\n return config.listActions ?? [];\n }, [config.listActions]);\n const visibleActions = useMemo(() => {\n return listActions.filter((action) => {\n if (action.isVisible == null) {\n return true;\n }\n return action.isVisible(null);\n });\n }, [listActions]);\n\n const headerActions = useMemo(() => {\n if (visibleActions.length === 0) {\n return undefined;\n }\n return (\n <div className={pageStyles.headerActions}>\n {visibleActions.map((action, index) => {\n const { variant: actionVariant } = action;\n const label = resolveLabel(action.label, tApp);\n let ariaLabel = label;\n if (action.ariaLabel != null) {\n ariaLabel = resolveLabel(action.ariaLabel, tApp);\n }\n const variant = resolveActionVariant(actionVariant, index);\n const size = action.size ?? 'small';\n const isDisabled = action.isDisabled?.(null) === true;\n\n if (isRouteAction(action)) {\n const href = action.to(null);\n return (\n <LinkButton\n key={action.id}\n to={href}\n variant={variant}\n size={size}\n isDisabled={isDisabled}\n aria-label={ariaLabel}\n preloadOnHover=\"code-and-data\"\n >\n {label}\n </LinkButton>\n );\n }\n\n if (isFormMutationAction(action)) {\n return (\n <Button\n key={action.id}\n type=\"button\"\n variant={variant}\n size={size}\n disabled={isDisabled}\n onClick={() => {\n setActiveFormActionId(action.id);\n }}\n aria-label={ariaLabel}\n >\n {label}\n </Button>\n );\n }\n\n return null;\n })}\n </div>\n );\n }, [tApp, visibleActions]);\n\n const activeFormAction = listActions.find((action) => {\n return action.id === activeFormActionId;\n });\n\n const renderLoadingScaffold = () => {\n return (\n <BackofficeEntityListScaffold\n config={config}\n state={state}\n pushState={pushState}\n headerActions={headerActions}\n rows={[]}\n columns={columns}\n gridTemplateColumns={gridTemplateColumns}\n getRowId={getRowId}\n hasNextPage={false}\n isLoadingMore={false}\n isRefreshing={false}\n onLoadMore={() => {}}\n onRefresh={handleRefreshRequest}\n totalCount={null}\n isLoadingInitial\n filterDrawerState={filterDrawerState}\n />\n );\n };\n\n const contextValue = useMemo(() => {\n return {\n config,\n state,\n pushState,\n headerActions,\n columns,\n gridTemplateColumns,\n getRowId,\n countFetchKey,\n filterDrawerState,\n bumpCountFetchKey: () => {\n setCountFetchKey((current) => {\n return current + 1;\n });\n },\n registerRefresh,\n };\n }, [\n columns,\n config,\n countFetchKey,\n filterDrawerState,\n getRowId,\n gridTemplateColumns,\n headerActions,\n pushState,\n registerRefresh,\n state,\n ]);\n\n return (\n <BackofficeRightPageLayout breadcrumb={breadcrumb}>\n <BackofficeEntityListRouteProvider value={contextValue}>\n <Suspense fallback={renderLoadingScaffold()}>{children}</Suspense>\n </BackofficeEntityListRouteProvider>\n {activeFormAction != null && isFormMutationAction(activeFormAction) && (\n <LazyBackofficeEntityActionFormDialog\n isOpen\n action={activeFormAction}\n node={null}\n onClose={() => {\n setActiveFormActionId(null);\n }}\n onSuccess={handleRefreshRequest}\n />\n )}\n </BackofficeRightPageLayout>\n );\n};\n\nexport const BackofficeEntityListPage = ({\n children,\n entityManifest,\n config,\n}: BackofficeEntityListPageProps): JSX.Element | null => {\n const { t: tApp } = useTranslation();\n const breadcrumb = buildEntityListBreadcrumb(config, tApp);\n\n return (\n <BackofficeEntityConnectionListPage\n children={children}\n entityManifest={entityManifest}\n config={config}\n breadcrumb={breadcrumb}\n />\n );\n};\n\nexport default BackofficeEntityListPage;\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /* empty css */
2
1
  //#region src/pages/backofficeDashboardPage.css.ts
3
2
  var e = "txvbqbfpn txvbqbh4x txvbqbhdl", t = "txvbqbfpn txvbqbey txvbqbhdl txvbqb1bgv txvbqb9j", n = "txvbqbbc txvbqbhbs txvbqbmzg";
4
3
  //#endregion
@@ -1,4 +1,3 @@
1
- /* empty css */
2
1
  //#region src/pages/backofficeEntityDetailPage.css.ts
3
2
  var e = "txvbqbfpn txvbqbey txvbqblsh txvbqbhdl txvbqbh7g txvbqbv7x", t = "txvbqbfpn txvbqbey txvbqblsh txvbqbhdl txvbqbh7g", n = "txvbqbfpn txvbqbey txvbqb10n4 txvbqbb49 txvbqbbkc txvbqb2sj txvbqb7tt", r = "txvbqbfpn txvbqbh4x txvbqbhdy", i = "txvbqbfpn txvbqbey txvbqbhdl txvbqbh7g", a = "txvbqbfpn txvbqbh4x txvbqbhdl", o = "txvbqbfqq txvbqbey txvbqbls4 txvbqb19fz txvbqbjl1 txvbqb1bgv";
4
3
  //#endregion
@@ -1,4 +1,3 @@
1
- /* empty css */
2
1
  //#region src/pages/backofficeEntityListPage.css.ts
3
2
  var e = "txvbqbfpn txvbqbey txvbqbhdl txvbqbh7g", t = "txvbqblsh", n = "c0tad0 txvbqbfqq txvbqbey txvbqbls4 txvbqb19hf txvbqbjmh txvbqbvat txvbqbub2 txvbqb2tz txvbqb1b5h txvbqb1bgt txvbqb3f txvbqb7h txvbqb76 txvbqb7t txvbqb1ctz txvbqb1emf qbwcue0 txvbqb1fgi txvbqb1gaq";
4
3
  //#endregion
@@ -1,6 +1,6 @@
1
1
  //#region src/pages/detail/pageResolution.ts
2
2
  var e = (e) => e.trim().replace(/^\/+|\/+$/g, ""), t = (t) => {
3
- let n = [t.mainPage, ...t.subPages ?? []].filter((e) => e.isVisible == null ? !0 : e.isVisible(t.node));
3
+ let n = [t.mainPage, ...t.subPages ?? []].filter((e) => e.isVisible == null || e.isVisible(t.node));
4
4
  if (n.length === 0) return {
5
5
  pages: [],
6
6
  activePage: null,
@@ -1 +1 @@
1
- {"version":3,"file":"pageResolution.js","names":[],"sources":["../../../../src/pages/detail/pageResolution.ts"],"sourcesContent":["type DetailPageBase<ShellView> = {\n id: string;\n path: string;\n isVisible?: (layout: ShellView) => boolean;\n};\n\ntype PageResolutionInput<\n ShellView,\n MainPage extends DetailPageBase<ShellView>,\n SubPage extends DetailPageBase<ShellView> = MainPage,\n> = {\n mainPage: MainPage;\n subPages?: readonly SubPage[];\n activePagePath?: string;\n node: ShellView;\n};\n\nexport type ResolvedDetailPages<Page> = {\n pages: readonly Page[];\n activePage: Page | null;\n hasVisiblePages: boolean;\n hasMultiplePages: boolean;\n};\n\nconst normalizePath = (value: string): string => {\n return value.trim().replace(/^\\/+|\\/+$/g, '');\n};\n\nexport const resolveVisibleDetailPages = <\n ShellView,\n MainPage extends DetailPageBase<ShellView>,\n SubPage extends DetailPageBase<ShellView> = MainPage,\n>(\n input: PageResolutionInput<ShellView, MainPage, SubPage>,\n): ResolvedDetailPages<MainPage | SubPage> => {\n const allPages = [input.mainPage, ...(input.subPages ?? [])] as readonly (\n MainPage | SubPage\n )[];\n const visiblePages = allPages.filter((page) => {\n if (page.isVisible == null) {\n return true;\n }\n return page.isVisible(input.node);\n });\n\n if (visiblePages.length === 0) {\n return {\n pages: [],\n activePage: null,\n hasVisiblePages: false,\n hasMultiplePages: false,\n };\n }\n\n const activePath = normalizePath(input.activePagePath ?? '');\n let activeByPath: MainPage | SubPage | null = null;\n if (activePath !== '') {\n activeByPath =\n visiblePages.find((page) => {\n return normalizePath(page.path) === activePath;\n }) ?? null;\n }\n\n const defaultPage =\n visiblePages.find((page) => {\n return page.id === input.mainPage.id;\n }) ?? visiblePages[0];\n if (defaultPage == null) {\n return {\n pages: [],\n activePage: null,\n hasVisiblePages: false,\n hasMultiplePages: false,\n };\n }\n\n const activePage = activeByPath ?? defaultPage;\n\n return {\n pages: visiblePages,\n activePage,\n hasVisiblePages: true,\n hasMultiplePages: visiblePages.length > 1,\n };\n};\n"],"mappings":";AAwBA,IAAM,KAAiB,MACd,EAAM,KAAK,CAAC,CAAC,QAAQ,cAAc,EAAE,GAGjC,KAKX,MAC4C;CAI5C,IAAM,IAAe,CAHH,EAAM,UAAU,GAAI,EAAM,YAAY,CAAC,CAGpC,CAAA,CAAS,QAAQ,MAChC,EAAK,aAAa,OACb,KAEF,EAAK,UAAU,EAAM,IAAI,CACjC;CAED,IAAI,EAAa,WAAW,GAC1B,OAAO;EACL,OAAO,CAAC;EACR,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;CACpB;CAGF,IAAM,IAAa,EAAc,EAAM,kBAAkB,EAAE,GACvD,IAA0C;CAC9C,AAAI,MAAe,OACjB,IACE,EAAa,MAAM,MACV,EAAc,EAAK,IAAI,MAAM,CACrC,KAAK;CAGV,IAAM,IACJ,EAAa,MAAM,MACV,EAAK,OAAO,EAAM,SAAS,EACnC,KAAK,EAAa;CAYrB,OAXI,KAAe,OACV;EACL,OAAO,CAAC;EACR,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;CACpB,IAKK;EACL,OAAO;EACP,YAJiB,KAAgB;EAKjC,iBAAiB;EACjB,kBAAkB,EAAa,SAAS;CAC1C;AACF"}
1
+ {"version":3,"file":"pageResolution.js","names":[],"sources":["../../../../src/pages/detail/pageResolution.ts"],"sourcesContent":["type DetailPageBase<ShellView> = {\n id: string;\n path: string;\n isVisible?: (layout: ShellView) => boolean;\n};\n\ntype PageResolutionInput<\n ShellView,\n MainPage extends DetailPageBase<ShellView>,\n SubPage extends DetailPageBase<ShellView> = MainPage,\n> = {\n mainPage: MainPage;\n subPages?: readonly SubPage[];\n activePagePath?: string;\n node: ShellView;\n};\n\nexport type ResolvedDetailPages<Page> = {\n pages: readonly Page[];\n activePage: Page | null;\n hasVisiblePages: boolean;\n hasMultiplePages: boolean;\n};\n\nconst normalizePath = (value: string): string => {\n return value.trim().replace(/^\\/+|\\/+$/g, '');\n};\n\nexport const resolveVisibleDetailPages = <\n ShellView,\n MainPage extends DetailPageBase<ShellView>,\n SubPage extends DetailPageBase<ShellView> = MainPage,\n>(\n input: PageResolutionInput<ShellView, MainPage, SubPage>,\n): ResolvedDetailPages<MainPage | SubPage> => {\n const allPages = [input.mainPage, ...(input.subPages ?? [])] as readonly (\n MainPage | SubPage\n )[];\n const visiblePages = allPages.filter((page) => {\n if (page.isVisible == null) {\n return true;\n }\n return page.isVisible(input.node);\n });\n\n if (visiblePages.length === 0) {\n return {\n pages: [],\n activePage: null,\n hasVisiblePages: false,\n hasMultiplePages: false,\n };\n }\n\n const activePath = normalizePath(input.activePagePath ?? '');\n let activeByPath: MainPage | SubPage | null = null;\n if (activePath !== '') {\n activeByPath =\n visiblePages.find((page) => {\n return normalizePath(page.path) === activePath;\n }) ?? null;\n }\n\n const defaultPage =\n visiblePages.find((page) => {\n return page.id === input.mainPage.id;\n }) ?? visiblePages[0];\n if (defaultPage == null) {\n return {\n pages: [],\n activePage: null,\n hasVisiblePages: false,\n hasMultiplePages: false,\n };\n }\n\n const activePage = activeByPath ?? defaultPage;\n\n return {\n pages: visiblePages,\n activePage,\n hasVisiblePages: true,\n hasMultiplePages: visiblePages.length > 1,\n };\n};\n"],"mappings":";AAwBA,IAAM,KAAiB,MACd,EAAM,KAAK,CAAC,CAAC,QAAQ,cAAc,EAAE,GAGjC,KAKX,MAC4C;CAI5C,IAAM,IAAe,CAHH,EAAM,UAAU,GAAI,EAAM,YAAY,CAAC,CAGpC,CAAA,CAAS,QAAQ,MAChC,EAAK,aAAa,QAGf,EAAK,UAAU,EAAM,IAAI,CACjC;CAED,IAAI,EAAa,WAAW,GAC1B,OAAO;EACL,OAAO,CAAC;EACR,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;CACpB;CAGF,IAAM,IAAa,EAAc,EAAM,kBAAkB,EAAE,GACvD,IAA0C;CAC9C,AAAI,MAAe,OACjB,IACE,EAAa,MAAM,MACV,EAAc,EAAK,IAAI,MAAM,CACrC,KAAK;CAGV,IAAM,IACJ,EAAa,MAAM,MACV,EAAK,OAAO,EAAM,SAAS,EACnC,KAAK,EAAa;CAYrB,OAXI,KAAe,OACV;EACL,OAAO,CAAC;EACR,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;CACpB,IAKK;EACL,OAAO;EACP,YAJiB,KAAgB;EAKjC,iBAAiB;EACjB,kBAAkB,EAAa,SAAS;CAC1C;AACF"}
@@ -40,9 +40,9 @@ var t = "cache-first", n = "detail-page", r = "detail-layout", i = "list", a = "
40
40
  let a = r.facets.list;
41
41
  if (a == null) throw Error(`Backoffice entity ${t} does not expose a list facet.`);
42
42
  return _(l(t, i), n, async () => {
43
- let n = e(r, await a(), m);
44
- if (n.kind !== i) throw Error(`Backoffice entity ${t} did not resolve to a list facet.`);
45
- return n;
43
+ let n = await a(), o = e(r, n, m);
44
+ if (o.kind !== i) throw Error(`Backoffice entity ${t} did not resolve to a list facet.`);
45
+ return o;
46
46
  });
47
47
  },
48
48
  loadPickerEntity: async (t, n) => {
@@ -51,36 +51,36 @@ var t = "cache-first", n = "detail-page", r = "detail-layout", i = "list", a = "
51
51
  let i = r.facets.picker;
52
52
  if (i == null) throw Error(`Backoffice entity ${t} does not expose a picker facet.`);
53
53
  return _(l(t, a), n, async () => {
54
- let n = e(r, await i(), m);
55
- if (n.kind !== a) throw Error(`Backoffice entity ${t} did not resolve to a picker facet.`);
56
- return n;
54
+ let n = await i(), o = e(r, n, m);
55
+ if (o.kind !== a) throw Error(`Backoffice entity ${t} did not resolve to a picker facet.`);
56
+ return o;
57
57
  });
58
58
  },
59
59
  loadDetailLayoutEntity: async (t, n) => {
60
60
  let i = f(p, t);
61
61
  if (!s(i)) throw Error(`Backoffice entity ${t} does not expose a detail-layout facet.`);
62
62
  return _(l(t, r), n, async () => {
63
- let n = e(i, await i.facets.detailLayout(), m);
64
- if (n.kind !== r) throw Error(`Backoffice entity ${t} did not resolve to a detail-layout facet.`);
65
- return n;
63
+ let n = await i.facets.detailLayout(), a = e(i, n, m);
64
+ if (a.kind !== r) throw Error(`Backoffice entity ${t} did not resolve to a detail-layout facet.`);
65
+ return a;
66
66
  });
67
67
  },
68
68
  loadDetailPageEntity: async (t, r, i) => {
69
69
  let a = f(p, t);
70
70
  if (!s(a)) throw Error(`Backoffice entity ${t} does not expose a detail-page facet.`);
71
71
  return _(l(t, n, r), i, async () => {
72
- let i = e(a, await a.facets.detailPage(r), m);
73
- if (i.kind !== n) throw Error(`Backoffice entity ${t} did not resolve to a detail-page facet.`);
74
- return i;
72
+ let i = await a.facets.detailPage(r), o = e(a, i, m);
73
+ if (o.kind !== n) throw Error(`Backoffice entity ${t} did not resolve to a detail-page facet.`);
74
+ return o;
75
75
  });
76
76
  },
77
77
  loadToolEntity: async (t, n) => {
78
78
  let r = f(p, t);
79
79
  if (!c(r)) throw Error(`Backoffice entity ${t} does not expose a tool facet.`);
80
80
  return _(l(t, o), n, async () => {
81
- let n = e(r, await r.facets.tool(), m);
82
- if (n.kind !== o) throw Error(`Backoffice entity ${t} did not resolve to a tool facet.`);
83
- return n;
81
+ let n = await r.facets.tool(), i = e(r, n, m);
82
+ if (i.kind !== o) throw Error(`Backoffice entity ${t} did not resolve to a tool facet.`);
83
+ return i;
84
84
  });
85
85
  }
86
86
  };
@@ -1 +1 @@
1
- {"version":3,"file":"entityRegistry.js","names":[],"sources":["../../../src/provider/entityRegistry.ts"],"sourcesContent":["import {\n resolveBackofficeLoadedFacetModule,\n type ResolveBackofficeEntityOptions,\n} from '@plumile/backoffice-core/resolve.js';\nimport type {\n BackofficeEntityFacetModuleCacheEntry,\n BackofficeEntityLoadMode,\n BackofficeEntityManifestMap,\n BackofficeResolvedEntityFacetModule,\n BackofficeListDetailFacetLoaderMap,\n BackofficeToolFacetLoaderMap,\n BackofficeResolvedDetailLayoutFacetModule,\n BackofficeResolvedDetailPageFacetModule,\n BackofficeResolvedListFacetModule,\n BackofficeResolvedPickerFacetModule,\n BackofficeResolvedToolFacetModule,\n} from '@plumile/backoffice-core/types.js';\n\nexport type BackofficeEntityRegistry = {\n getManifest: (entityId: string) => BackofficeEntityManifestMap[string] | null;\n getLoadedListEntity: (\n entityId: string,\n ) => BackofficeResolvedListFacetModule | null;\n getLoadedPickerEntity: (\n entityId: string,\n ) => BackofficeResolvedPickerFacetModule | null;\n getLoadedDetailLayoutEntity: (\n entityId: string,\n ) => BackofficeResolvedDetailLayoutFacetModule | null;\n getLoadedDetailPageEntity: (\n entityId: string,\n pageId: string,\n ) => BackofficeResolvedDetailPageFacetModule | null;\n getLoadedToolEntity: (\n entityId: string,\n ) => BackofficeResolvedToolFacetModule | null;\n loadListEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedListFacetModule>;\n loadPickerEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedPickerFacetModule>;\n loadDetailLayoutEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedDetailLayoutFacetModule>;\n loadDetailPageEntity: (\n entityId: string,\n pageId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedDetailPageFacetModule>;\n loadToolEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedToolFacetModule>;\n};\n\nconst DEFAULT_LOAD_MODE: BackofficeEntityLoadMode = 'cache-first';\nconst DETAIL_PAGE_FACET_KIND = 'detail-page';\nconst DETAIL_LAYOUT_FACET_KIND = 'detail-layout';\nconst LIST_FACET_KIND = 'list';\nconst PICKER_FACET_KIND = 'picker';\nconst TOOL_FACET_KIND = 'tool';\n\nconst hasListFacets = (\n manifestItem: BackofficeEntityManifestMap[string],\n): manifestItem is BackofficeEntityManifestMap[string] & {\n facets: BackofficeListDetailFacetLoaderMap;\n} => {\n return manifestItem.kind === 'list-detail';\n};\n\nconst hasToolFacet = (\n manifestItem: BackofficeEntityManifestMap[string],\n): manifestItem is BackofficeEntityManifestMap[string] & {\n facets: BackofficeToolFacetLoaderMap;\n} => {\n return manifestItem.kind === 'tool';\n};\n\nconst buildFacetCacheKey = (\n entityId: string,\n kind: 'list' | 'picker' | 'detail-layout' | 'detail-page' | 'tool',\n pageId?: string,\n): string => {\n if (kind === DETAIL_PAGE_FACET_KIND) {\n return `${entityId}:${kind}:${pageId ?? ''}`;\n }\n return `${entityId}:${kind}`;\n};\n\nconst toError = (error: unknown): Error => {\n if (error instanceof Error) {\n return error;\n }\n return new Error(String(error));\n};\n\nconst getLoadedModule = <TModule>(\n entry: BackofficeEntityFacetModuleCacheEntry | undefined,\n): TModule | null => {\n if (entry?.status !== 'loaded' || entry.module == null) {\n return null;\n }\n return entry.module as TModule;\n};\n\nconst resolveManifest = (\n manifest: BackofficeEntityManifestMap,\n entityId: string,\n): BackofficeEntityManifestMap[string] => {\n const manifestItem = manifest[entityId];\n if (manifestItem == null) {\n throw new Error(`Unknown backoffice entity: ${entityId}`);\n }\n return manifestItem;\n};\n\nexport const createBackofficeEntityRegistry = (\n manifest: BackofficeEntityManifestMap,\n options: ResolveBackofficeEntityOptions,\n): BackofficeEntityRegistry => {\n const cache = new Map<string, BackofficeEntityFacetModuleCacheEntry>();\n\n const getManifest: BackofficeEntityRegistry['getManifest'] = (entityId) => {\n return manifest[entityId] ?? null;\n };\n\n const loadFacet = async <TModule>(\n cacheKey: string,\n loadOptions: { mode?: BackofficeEntityLoadMode } | undefined,\n loader: () => Promise<TModule>,\n ): Promise<TModule> => {\n const resolvedMode = loadOptions?.mode ?? DEFAULT_LOAD_MODE;\n\n if (resolvedMode === 'cache-first') {\n const loadedModule = getLoadedModule<TModule>(cache.get(cacheKey));\n if (loadedModule != null) {\n return loadedModule;\n }\n\n const existing = cache.get(cacheKey);\n if (existing?.status === 'loading' && existing.promise != null) {\n return existing.promise as Promise<TModule>;\n }\n }\n\n const promise = loader()\n .then((module) => {\n cache.set(cacheKey, {\n status: 'loaded',\n module: module as unknown as BackofficeResolvedEntityFacetModule,\n });\n return module;\n })\n .catch((error: unknown) => {\n const resolvedError = toError(error);\n cache.set(cacheKey, {\n status: 'error',\n error: resolvedError,\n });\n throw resolvedError;\n });\n\n cache.set(cacheKey, {\n status: 'loading',\n promise: promise as Promise<BackofficeResolvedEntityFacetModule>,\n });\n\n return promise;\n };\n\n const getLoadedListEntity: BackofficeEntityRegistry['getLoadedListEntity'] = (\n entityId,\n ) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, LIST_FACET_KIND)),\n );\n };\n\n const getLoadedPickerEntity: BackofficeEntityRegistry['getLoadedPickerEntity'] =\n (entityId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, PICKER_FACET_KIND)),\n );\n };\n\n const getLoadedDetailLayoutEntity: BackofficeEntityRegistry['getLoadedDetailLayoutEntity'] =\n (entityId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, DETAIL_LAYOUT_FACET_KIND)),\n );\n };\n\n const getLoadedDetailPageEntity: BackofficeEntityRegistry['getLoadedDetailPageEntity'] =\n (entityId, pageId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, DETAIL_PAGE_FACET_KIND, pageId)),\n );\n };\n\n const getLoadedToolEntity: BackofficeEntityRegistry['getLoadedToolEntity'] = (\n entityId,\n ) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, TOOL_FACET_KIND)),\n );\n };\n\n const loadListEntity: BackofficeEntityRegistry['loadListEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a list facet.`,\n );\n }\n const facetLoader = manifestItem.facets.list;\n if (facetLoader == null) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a list facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, LIST_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await facetLoader();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== LIST_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a list facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadPickerEntity: BackofficeEntityRegistry['loadPickerEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a picker facet.`,\n );\n }\n const facetLoader = manifestItem.facets.picker;\n if (facetLoader == null) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a picker facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, PICKER_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await facetLoader();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== PICKER_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a picker facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadDetailLayoutEntity: BackofficeEntityRegistry['loadDetailLayoutEntity'] =\n async (entityId, loadOptions) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a detail-layout facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, DETAIL_LAYOUT_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.detailLayout();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== DETAIL_LAYOUT_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a detail-layout facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadDetailPageEntity: BackofficeEntityRegistry['loadDetailPageEntity'] =\n async (entityId, pageId, loadOptions) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a detail-page facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, DETAIL_PAGE_FACET_KIND, pageId),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.detailPage(pageId);\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== DETAIL_PAGE_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a detail-page facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadToolEntity: BackofficeEntityRegistry['loadToolEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasToolFacet(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a tool facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, TOOL_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.tool();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== TOOL_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a tool facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n return {\n getManifest,\n getLoadedListEntity,\n getLoadedPickerEntity,\n getLoadedDetailLayoutEntity,\n getLoadedDetailPageEntity,\n getLoadedToolEntity,\n loadListEntity,\n loadPickerEntity,\n loadDetailLayoutEntity,\n loadDetailPageEntity,\n loadToolEntity,\n };\n};\n\nexport const __test = {\n buildFacetCacheKey,\n resolveManifest,\n toError,\n};\n\nexport default createBackofficeEntityRegistry;\n"],"mappings":"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"}
1
+ {"version":3,"file":"entityRegistry.js","names":[],"sources":["../../../src/provider/entityRegistry.ts"],"sourcesContent":["import {\n resolveBackofficeLoadedFacetModule,\n type ResolveBackofficeEntityOptions,\n} from '@plumile/backoffice-core/resolve.js';\nimport type {\n BackofficeEntityFacetModuleCacheEntry,\n BackofficeEntityLoadMode,\n BackofficeEntityManifestMap,\n BackofficeResolvedEntityFacetModule,\n BackofficeListDetailFacetLoaderMap,\n BackofficeToolFacetLoaderMap,\n BackofficeResolvedDetailLayoutFacetModule,\n BackofficeResolvedDetailPageFacetModule,\n BackofficeResolvedListFacetModule,\n BackofficeResolvedPickerFacetModule,\n BackofficeResolvedToolFacetModule,\n} from '@plumile/backoffice-core/types.js';\n\nexport type BackofficeEntityRegistry = {\n getManifest: (entityId: string) => BackofficeEntityManifestMap[string] | null;\n getLoadedListEntity: (\n entityId: string,\n ) => BackofficeResolvedListFacetModule | null;\n getLoadedPickerEntity: (\n entityId: string,\n ) => BackofficeResolvedPickerFacetModule | null;\n getLoadedDetailLayoutEntity: (\n entityId: string,\n ) => BackofficeResolvedDetailLayoutFacetModule | null;\n getLoadedDetailPageEntity: (\n entityId: string,\n pageId: string,\n ) => BackofficeResolvedDetailPageFacetModule | null;\n getLoadedToolEntity: (\n entityId: string,\n ) => BackofficeResolvedToolFacetModule | null;\n loadListEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedListFacetModule>;\n loadPickerEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedPickerFacetModule>;\n loadDetailLayoutEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedDetailLayoutFacetModule>;\n loadDetailPageEntity: (\n entityId: string,\n pageId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedDetailPageFacetModule>;\n loadToolEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedToolFacetModule>;\n};\n\nconst DEFAULT_LOAD_MODE: BackofficeEntityLoadMode = 'cache-first';\nconst DETAIL_PAGE_FACET_KIND = 'detail-page';\nconst DETAIL_LAYOUT_FACET_KIND = 'detail-layout';\nconst LIST_FACET_KIND = 'list';\nconst PICKER_FACET_KIND = 'picker';\nconst TOOL_FACET_KIND = 'tool';\n\nconst hasListFacets = (\n manifestItem: BackofficeEntityManifestMap[string],\n): manifestItem is BackofficeEntityManifestMap[string] & {\n facets: BackofficeListDetailFacetLoaderMap;\n} => {\n return manifestItem.kind === 'list-detail';\n};\n\nconst hasToolFacet = (\n manifestItem: BackofficeEntityManifestMap[string],\n): manifestItem is BackofficeEntityManifestMap[string] & {\n facets: BackofficeToolFacetLoaderMap;\n} => {\n return manifestItem.kind === 'tool';\n};\n\nconst buildFacetCacheKey = (\n entityId: string,\n kind: 'list' | 'picker' | 'detail-layout' | 'detail-page' | 'tool',\n pageId?: string,\n): string => {\n if (kind === DETAIL_PAGE_FACET_KIND) {\n return `${entityId}:${kind}:${pageId ?? ''}`;\n }\n return `${entityId}:${kind}`;\n};\n\nconst toError = (error: unknown): Error => {\n if (error instanceof Error) {\n return error;\n }\n return new Error(String(error));\n};\n\nconst getLoadedModule = <TModule>(\n entry: BackofficeEntityFacetModuleCacheEntry | undefined,\n): TModule | null => {\n if (entry?.status !== 'loaded' || entry.module == null) {\n return null;\n }\n return entry.module as TModule;\n};\n\nconst resolveManifest = (\n manifest: BackofficeEntityManifestMap,\n entityId: string,\n): BackofficeEntityManifestMap[string] => {\n const manifestItem = manifest[entityId];\n if (manifestItem == null) {\n throw new Error(`Unknown backoffice entity: ${entityId}`);\n }\n return manifestItem;\n};\n\nexport const createBackofficeEntityRegistry = (\n manifest: BackofficeEntityManifestMap,\n options: ResolveBackofficeEntityOptions,\n): BackofficeEntityRegistry => {\n const cache = new Map<string, BackofficeEntityFacetModuleCacheEntry>();\n\n const getManifest: BackofficeEntityRegistry['getManifest'] = (entityId) => {\n return manifest[entityId] ?? null;\n };\n\n const loadFacet = async <TModule>(\n cacheKey: string,\n loadOptions: { mode?: BackofficeEntityLoadMode } | undefined,\n loader: () => Promise<TModule>,\n ): Promise<TModule> => {\n const resolvedMode = loadOptions?.mode ?? DEFAULT_LOAD_MODE;\n\n if (resolvedMode === 'cache-first') {\n const loadedModule = getLoadedModule<TModule>(cache.get(cacheKey));\n if (loadedModule != null) {\n return loadedModule;\n }\n\n const existing = cache.get(cacheKey);\n if (existing?.status === 'loading' && existing.promise != null) {\n return existing.promise as Promise<TModule>;\n }\n }\n\n const promise = loader()\n .then((module) => {\n cache.set(cacheKey, {\n status: 'loaded',\n module: module as unknown as BackofficeResolvedEntityFacetModule,\n });\n return module;\n })\n .catch((error: unknown) => {\n const resolvedError = toError(error);\n cache.set(cacheKey, {\n status: 'error',\n error: resolvedError,\n });\n throw resolvedError;\n });\n\n cache.set(cacheKey, {\n status: 'loading',\n promise: promise as Promise<BackofficeResolvedEntityFacetModule>,\n });\n\n return promise;\n };\n\n const getLoadedListEntity: BackofficeEntityRegistry['getLoadedListEntity'] = (\n entityId,\n ) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, LIST_FACET_KIND)),\n );\n };\n\n const getLoadedPickerEntity: BackofficeEntityRegistry['getLoadedPickerEntity'] =\n (entityId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, PICKER_FACET_KIND)),\n );\n };\n\n const getLoadedDetailLayoutEntity: BackofficeEntityRegistry['getLoadedDetailLayoutEntity'] =\n (entityId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, DETAIL_LAYOUT_FACET_KIND)),\n );\n };\n\n const getLoadedDetailPageEntity: BackofficeEntityRegistry['getLoadedDetailPageEntity'] =\n (entityId, pageId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, DETAIL_PAGE_FACET_KIND, pageId)),\n );\n };\n\n const getLoadedToolEntity: BackofficeEntityRegistry['getLoadedToolEntity'] = (\n entityId,\n ) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, TOOL_FACET_KIND)),\n );\n };\n\n const loadListEntity: BackofficeEntityRegistry['loadListEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a list facet.`,\n );\n }\n const facetLoader = manifestItem.facets.list;\n if (facetLoader == null) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a list facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, LIST_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await facetLoader();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== LIST_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a list facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadPickerEntity: BackofficeEntityRegistry['loadPickerEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a picker facet.`,\n );\n }\n const facetLoader = manifestItem.facets.picker;\n if (facetLoader == null) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a picker facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, PICKER_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await facetLoader();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== PICKER_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a picker facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadDetailLayoutEntity: BackofficeEntityRegistry['loadDetailLayoutEntity'] =\n async (entityId, loadOptions) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a detail-layout facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, DETAIL_LAYOUT_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.detailLayout();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== DETAIL_LAYOUT_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a detail-layout facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadDetailPageEntity: BackofficeEntityRegistry['loadDetailPageEntity'] =\n async (entityId, pageId, loadOptions) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a detail-page facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, DETAIL_PAGE_FACET_KIND, pageId),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.detailPage(pageId);\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== DETAIL_PAGE_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a detail-page facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadToolEntity: BackofficeEntityRegistry['loadToolEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasToolFacet(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a tool facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, TOOL_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.tool();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== TOOL_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a tool facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n return {\n getManifest,\n getLoadedListEntity,\n getLoadedPickerEntity,\n getLoadedDetailLayoutEntity,\n getLoadedDetailPageEntity,\n getLoadedToolEntity,\n loadListEntity,\n loadPickerEntity,\n loadDetailLayoutEntity,\n loadDetailPageEntity,\n loadToolEntity,\n };\n};\n\nexport const __test = {\n buildFacetCacheKey,\n resolveManifest,\n toError,\n};\n\nexport default createBackofficeEntityRegistry;\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /* empty css */
2
1
  //#region src/storybook/relay/RelayStory.css.ts
3
2
  var e = "txvbqbwxb", t = "txvbqbhbf", n = "txvbqb96 txvbqb1bl1", r = "txvbqbryx";
4
3
  //#endregion
@@ -32,22 +32,22 @@ function a(e, t) {
32
32
  function o() {
33
33
  let o = n(), s = Date.parse("2024-01-15T09:30:00.000Z");
34
34
  function c(n) {
35
- let s = n.alias ?? n.name ?? "value", c = n.parentType ?? "Item", l = e(c), u = o(`${c}.${s}`);
35
+ let s = n.alias ?? n.name ?? "value", c = n.parentType ?? "Item", l = e(c), u = `${c}.${s}`, d = o(u);
36
36
  switch (s) {
37
37
  case "name":
38
38
  case "title":
39
- case "label": return `${l} ${u}`;
40
- case "firstName": return a(r, u);
41
- case "lastName": return a(i, u);
39
+ case "label": return `${l} ${d}`;
40
+ case "firstName": return a(r, d);
41
+ case "lastName": return a(i, d);
42
42
  case "initials": return "JD";
43
- case "email": return `user${u}@example.com`;
43
+ case "email": return `user${d}@example.com`;
44
44
  case "slug":
45
- case "handle": return `${t(l)}-${u}`;
45
+ case "handle": return `${t(l)}-${d}`;
46
46
  case "url":
47
47
  case "uri":
48
48
  case "avatarUrl":
49
49
  case "imageUrl":
50
- case "iconUrl": return `https://example.com/${t(l)}/${u}`;
50
+ case "iconUrl": return `https://example.com/${t(l)}/${d}`;
51
51
  case "description":
52
52
  case "summary":
53
53
  case "content":
@@ -59,7 +59,7 @@ function o() {
59
59
  case "notesForDev":
60
60
  case "descriptionMarkdown":
61
61
  case "suggestedFixMarkdown": return `Sample ${s} for ${l}.`;
62
- default: return `${l} ${s} ${u}`;
62
+ default: return `${l} ${s} ${d}`;
63
63
  }
64
64
  }
65
65
  function l(e) {
@@ -67,7 +67,8 @@ function o() {
67
67
  return `${t(n)}-${r}`;
68
68
  }
69
69
  function u(e) {
70
- return o(`${e.parentType ?? "value"}.${e.name ?? "int"}`);
70
+ let t = `${e.parentType ?? "value"}.${e.name ?? "int"}`;
71
+ return o(t);
71
72
  }
72
73
  function d(e) {
73
74
  let t = `${e.parentType ?? "value"}.${e.name ?? "float"}`;
@@ -1 +1 @@
1
- {"version":3,"file":"mockResolvers.js","names":[],"sources":["../../../../src/storybook/relay/mockResolvers.ts"],"sourcesContent":["import type { MockResolverContext, MockResolvers } from 'relay-test-utils';\n\n/**\n *\n */\nfunction toLabel(value: string): string {\n const withSpaces = value\n .replace(/([a-z0-9])([A-Z])/g, '$1 $2')\n .replace(/[_-]+/g, ' ')\n .trim();\n if (withSpaces === '') {\n return value;\n }\n return withSpaces;\n}\n\n/**\n *\n */\nfunction toSlug(value: string): string {\n return value\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[_\\s]+/g, '-')\n .toLowerCase();\n}\n\n/**\n *\n */\nfunction createCounter(): (key: string) => number {\n const counts = new Map<string, number>();\n return (key: string) => {\n const next = (counts.get(key) ?? 0) + 1;\n counts.set(key, next);\n return next;\n };\n}\n\nconst FIRST_NAMES = ['Avery', 'Jordan', 'Taylor', 'Morgan', 'Casey'] as const;\nconst LAST_NAMES = ['Lee', 'Parker', 'Carter', 'Nguyen', 'Patel'] as const;\n\n/**\n *\n */\nfunction pickName(list: readonly string[], index: number): string {\n const candidate = list[(index - 1) % list.length];\n if (candidate == null) {\n return 'User';\n }\n return candidate;\n}\n\n/**\n *\n */\nexport function createBackofficeMockResolvers(): MockResolvers {\n const next = createCounter();\n const baseDate = Date.parse('2024-01-15T09:30:00.000Z');\n\n /**\n *\n */\n function stringResolver(context: MockResolverContext): string {\n const fieldName = context.alias ?? context.name ?? 'value';\n const parentType = context.parentType ?? 'Item';\n const label = toLabel(parentType);\n const key = `${parentType}.${fieldName}`;\n const index = next(key);\n\n switch (fieldName) {\n case 'name':\n case 'title':\n case 'label':\n return `${label} ${index}`;\n case 'firstName':\n return pickName(FIRST_NAMES, index);\n case 'lastName':\n return pickName(LAST_NAMES, index);\n case 'initials':\n return 'JD';\n case 'email':\n return `user${index}@example.com`;\n case 'slug':\n case 'handle':\n return `${toSlug(label)}-${index}`;\n case 'url':\n case 'uri':\n case 'avatarUrl':\n case 'imageUrl':\n case 'iconUrl':\n return `https://example.com/${toSlug(label)}/${index}`;\n case 'description':\n case 'summary':\n case 'content':\n case 'body':\n case 'notes':\n case 'message':\n return `Sample ${fieldName} for ${label}.`;\n case 'markdown':\n case 'summaryMarkdown':\n case 'notesForDev':\n case 'descriptionMarkdown':\n case 'suggestedFixMarkdown':\n return `Sample ${fieldName} for ${label}.`;\n default:\n return `${label} ${fieldName} ${index}`;\n }\n }\n\n /**\n *\n */\n function resolveId(context: MockResolverContext): string {\n const parentType = context.parentType ?? 'node';\n const index = next(`${parentType}.id`);\n return `${toSlug(parentType)}-${index}`;\n }\n\n /**\n *\n */\n function resolveInt(context: MockResolverContext): number {\n const key = `${context.parentType ?? 'value'}.${context.name ?? 'int'}`;\n return next(key);\n }\n\n /**\n *\n */\n function resolveFloat(context: MockResolverContext): number {\n const key = `${context.parentType ?? 'value'}.${context.name ?? 'float'}`;\n return Number((next(key) * 1.25).toFixed(2));\n }\n\n /**\n *\n */\n function resolveBoolean(): boolean {\n return true;\n }\n\n /**\n *\n */\n function resolveDateTime(): string {\n const index = next('datetime');\n const value = new Date(baseDate + index * 86400000);\n return value.toISOString();\n }\n\n /**\n *\n */\n function resolveJson(context: MockResolverContext): { note: string } {\n const label = toLabel(context.parentType ?? 'Item');\n return { note: `Sample JSON for ${label}.` };\n }\n\n return {\n ID: resolveId,\n String: stringResolver,\n Int: resolveInt,\n Float: resolveFloat,\n Boolean: resolveBoolean,\n DateTime: resolveDateTime,\n JSON: resolveJson,\n };\n}\n"],"mappings":";AAKA,SAAS,EAAQ,GAAuB;CACtC,IAAM,IAAa,EAChB,QAAQ,sBAAsB,OAAO,CAAC,CACtC,QAAQ,UAAU,GAAG,CAAC,CACtB,KAAK;CAIR,OAHI,MAAe,KACV,IAEF;AACT;AAKA,SAAS,EAAO,GAAuB;CACrC,OAAO,EACJ,QAAQ,sBAAsB,OAAO,CAAC,CACtC,QAAQ,WAAW,GAAG,CAAC,CACvB,YAAY;AACjB;AAKA,SAAS,IAAyC;CAChD,IAAM,oBAAS,IAAI,IAAoB;CACvC,QAAQ,MAAgB;EACtB,IAAM,KAAQ,EAAO,IAAI,CAAG,KAAK,KAAK;EAEtC,OADA,EAAO,IAAI,GAAK,CAAI,GACb;CACT;AACF;AAEA,IAAM,IAAc;CAAC;CAAS;CAAU;CAAU;CAAU;AAAO,GAC7D,IAAa;CAAC;CAAO;CAAU;CAAU;CAAU;AAAO;AAKhE,SAAS,EAAS,GAAyB,GAAuB;CAKhE,OAJkB,GAAM,IAAQ,KAAK,EAAK,WAEjC;AAGX;AAKA,SAAgB,IAA+C;CAC7D,IAAM,IAAO,EAAc,GACrB,IAAW,KAAK,MAAM,0BAA0B;CAKtD,SAAS,EAAe,GAAsC;EAC5D,IAAM,IAAY,EAAQ,SAAS,EAAQ,QAAQ,SAC7C,IAAa,EAAQ,cAAc,QACnC,IAAQ,EAAQ,CAAU,GAE1B,IAAQ,EAAK,GADJ,EAAW,GAAG,GACP;EAEtB,QAAQ,GAAR;GACE,KAAK;GACL,KAAK;GACL,KAAK,SACH,OAAO,GAAG,EAAM,GAAG;GACrB,KAAK,aACH,OAAO,EAAS,GAAa,CAAK;GACpC,KAAK,YACH,OAAO,EAAS,GAAY,CAAK;GACnC,KAAK,YACH,OAAO;GACT,KAAK,SACH,OAAO,OAAO,EAAM;GACtB,KAAK;GACL,KAAK,UACH,OAAO,GAAG,EAAO,CAAK,EAAE,GAAG;GAC7B,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,WACH,OAAO,uBAAuB,EAAO,CAAK,EAAE,GAAG;GACjD,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,WACH,OAAO,UAAU,EAAU,OAAO,EAAM;GAC1C,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,wBACH,OAAO,UAAU,EAAU,OAAO,EAAM;GAC1C,SACE,OAAO,GAAG,EAAM,GAAG,EAAU,GAAG;EACpC;CACF;CAKA,SAAS,EAAU,GAAsC;EACvD,IAAM,IAAa,EAAQ,cAAc,QACnC,IAAQ,EAAK,GAAG,EAAW,IAAI;EACrC,OAAO,GAAG,EAAO,CAAU,EAAE,GAAG;CAClC;CAKA,SAAS,EAAW,GAAsC;EAExD,OAAO,EAAK,GADG,EAAQ,cAAc,QAAQ,GAAG,EAAQ,QAAQ,OACjD;CACjB;CAKA,SAAS,EAAa,GAAsC;EAC1D,IAAM,IAAM,GAAG,EAAQ,cAAc,QAAQ,GAAG,EAAQ,QAAQ;EAChE,OAAO,QAAQ,EAAK,CAAG,IAAI,KAAA,CAAM,QAAQ,CAAC,CAAC;CAC7C;CAKA,SAAS,IAA0B;EACjC,OAAO;CACT;CAKA,SAAS,IAA0B;EACjC,IAAM,IAAQ,EAAK,UAAU;EAE7B,OAAO,IADW,KAAK,IAAW,IAAQ,KACnC,CAAA,CAAM,YAAY;CAC3B;CAKA,SAAS,EAAY,GAAgD;EAEnE,OAAO,EAAE,MAAM,mBADD,EAAQ,EAAQ,cAAc,MACV,EAAM,GAAG;CAC7C;CAEA,OAAO;EACL,IAAI;EACJ,QAAQ;EACR,KAAK;EACL,OAAO;EACP,SAAS;EACT,UAAU;EACV,MAAM;CACR;AACF"}
1
+ {"version":3,"file":"mockResolvers.js","names":[],"sources":["../../../../src/storybook/relay/mockResolvers.ts"],"sourcesContent":["import type { MockResolverContext, MockResolvers } from 'relay-test-utils';\n\n/**\n *\n */\nfunction toLabel(value: string): string {\n const withSpaces = value\n .replace(/([a-z0-9])([A-Z])/g, '$1 $2')\n .replace(/[_-]+/g, ' ')\n .trim();\n if (withSpaces === '') {\n return value;\n }\n return withSpaces;\n}\n\n/**\n *\n */\nfunction toSlug(value: string): string {\n return value\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[_\\s]+/g, '-')\n .toLowerCase();\n}\n\n/**\n *\n */\nfunction createCounter(): (key: string) => number {\n const counts = new Map<string, number>();\n return (key: string) => {\n const next = (counts.get(key) ?? 0) + 1;\n counts.set(key, next);\n return next;\n };\n}\n\nconst FIRST_NAMES = ['Avery', 'Jordan', 'Taylor', 'Morgan', 'Casey'] as const;\nconst LAST_NAMES = ['Lee', 'Parker', 'Carter', 'Nguyen', 'Patel'] as const;\n\n/**\n *\n */\nfunction pickName(list: readonly string[], index: number): string {\n const candidate = list[(index - 1) % list.length];\n if (candidate == null) {\n return 'User';\n }\n return candidate;\n}\n\n/**\n *\n */\nexport function createBackofficeMockResolvers(): MockResolvers {\n const next = createCounter();\n const baseDate = Date.parse('2024-01-15T09:30:00.000Z');\n\n /**\n *\n */\n function stringResolver(context: MockResolverContext): string {\n const fieldName = context.alias ?? context.name ?? 'value';\n const parentType = context.parentType ?? 'Item';\n const label = toLabel(parentType);\n const key = `${parentType}.${fieldName}`;\n const index = next(key);\n\n switch (fieldName) {\n case 'name':\n case 'title':\n case 'label':\n return `${label} ${index}`;\n case 'firstName':\n return pickName(FIRST_NAMES, index);\n case 'lastName':\n return pickName(LAST_NAMES, index);\n case 'initials':\n return 'JD';\n case 'email':\n return `user${index}@example.com`;\n case 'slug':\n case 'handle':\n return `${toSlug(label)}-${index}`;\n case 'url':\n case 'uri':\n case 'avatarUrl':\n case 'imageUrl':\n case 'iconUrl':\n return `https://example.com/${toSlug(label)}/${index}`;\n case 'description':\n case 'summary':\n case 'content':\n case 'body':\n case 'notes':\n case 'message':\n return `Sample ${fieldName} for ${label}.`;\n case 'markdown':\n case 'summaryMarkdown':\n case 'notesForDev':\n case 'descriptionMarkdown':\n case 'suggestedFixMarkdown':\n return `Sample ${fieldName} for ${label}.`;\n default:\n return `${label} ${fieldName} ${index}`;\n }\n }\n\n /**\n *\n */\n function resolveId(context: MockResolverContext): string {\n const parentType = context.parentType ?? 'node';\n const index = next(`${parentType}.id`);\n return `${toSlug(parentType)}-${index}`;\n }\n\n /**\n *\n */\n function resolveInt(context: MockResolverContext): number {\n const key = `${context.parentType ?? 'value'}.${context.name ?? 'int'}`;\n return next(key);\n }\n\n /**\n *\n */\n function resolveFloat(context: MockResolverContext): number {\n const key = `${context.parentType ?? 'value'}.${context.name ?? 'float'}`;\n return Number((next(key) * 1.25).toFixed(2));\n }\n\n /**\n *\n */\n function resolveBoolean(): boolean {\n return true;\n }\n\n /**\n *\n */\n function resolveDateTime(): string {\n const index = next('datetime');\n const value = new Date(baseDate + index * 86400000);\n return value.toISOString();\n }\n\n /**\n *\n */\n function resolveJson(context: MockResolverContext): { note: string } {\n const label = toLabel(context.parentType ?? 'Item');\n return { note: `Sample JSON for ${label}.` };\n }\n\n return {\n ID: resolveId,\n String: stringResolver,\n Int: resolveInt,\n Float: resolveFloat,\n Boolean: resolveBoolean,\n DateTime: resolveDateTime,\n JSON: resolveJson,\n };\n}\n"],"mappings":";AAKA,SAAS,EAAQ,GAAuB;CACtC,IAAM,IAAa,EAChB,QAAQ,sBAAsB,OAAO,CAAC,CACtC,QAAQ,UAAU,GAAG,CAAC,CACtB,KAAK;CAIR,OAHI,MAAe,KACV,IAEF;AACT;AAKA,SAAS,EAAO,GAAuB;CACrC,OAAO,EACJ,QAAQ,sBAAsB,OAAO,CAAC,CACtC,QAAQ,WAAW,GAAG,CAAC,CACvB,YAAY;AACjB;AAKA,SAAS,IAAyC;CAChD,IAAM,oBAAS,IAAI,IAAoB;CACvC,QAAQ,MAAgB;EACtB,IAAM,KAAQ,EAAO,IAAI,CAAG,KAAK,KAAK;EAEtC,OADA,EAAO,IAAI,GAAK,CAAI,GACb;CACT;AACF;AAEA,IAAM,IAAc;CAAC;CAAS;CAAU;CAAU;CAAU;AAAO,GAC7D,IAAa;CAAC;CAAO;CAAU;CAAU;CAAU;AAAO;AAKhE,SAAS,EAAS,GAAyB,GAAuB;CAKhE,OAJkB,GAAM,IAAQ,KAAK,EAAK,WAEjC;AAGX;AAKA,SAAgB,IAA+C;CAC7D,IAAM,IAAO,EAAc,GACrB,IAAW,KAAK,MAAM,0BAA0B;CAKtD,SAAS,EAAe,GAAsC;EAC5D,IAAM,IAAY,EAAQ,SAAS,EAAQ,QAAQ,SAC7C,IAAa,EAAQ,cAAc,QACnC,IAAQ,EAAQ,CAAU,GAC1B,IAAM,GAAG,EAAW,GAAG,KACvB,IAAQ,EAAK,CAAG;EAEtB,QAAQ,GAAR;GACE,KAAK;GACL,KAAK;GACL,KAAK,SACH,OAAO,GAAG,EAAM,GAAG;GACrB,KAAK,aACH,OAAO,EAAS,GAAa,CAAK;GACpC,KAAK,YACH,OAAO,EAAS,GAAY,CAAK;GACnC,KAAK,YACH,OAAO;GACT,KAAK,SACH,OAAO,OAAO,EAAM;GACtB,KAAK;GACL,KAAK,UACH,OAAO,GAAG,EAAO,CAAK,EAAE,GAAG;GAC7B,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,WACH,OAAO,uBAAuB,EAAO,CAAK,EAAE,GAAG;GACjD,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,WACH,OAAO,UAAU,EAAU,OAAO,EAAM;GAC1C,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,wBACH,OAAO,UAAU,EAAU,OAAO,EAAM;GAC1C,SACE,OAAO,GAAG,EAAM,GAAG,EAAU,GAAG;EACpC;CACF;CAKA,SAAS,EAAU,GAAsC;EACvD,IAAM,IAAa,EAAQ,cAAc,QACnC,IAAQ,EAAK,GAAG,EAAW,IAAI;EACrC,OAAO,GAAG,EAAO,CAAU,EAAE,GAAG;CAClC;CAKA,SAAS,EAAW,GAAsC;EACxD,IAAM,IAAM,GAAG,EAAQ,cAAc,QAAQ,GAAG,EAAQ,QAAQ;EAChE,OAAO,EAAK,CAAG;CACjB;CAKA,SAAS,EAAa,GAAsC;EAC1D,IAAM,IAAM,GAAG,EAAQ,cAAc,QAAQ,GAAG,EAAQ,QAAQ;EAChE,OAAO,QAAQ,EAAK,CAAG,IAAI,KAAA,CAAM,QAAQ,CAAC,CAAC;CAC7C;CAKA,SAAS,IAA0B;EACjC,OAAO;CACT;CAKA,SAAS,IAA0B;EACjC,IAAM,IAAQ,EAAK,UAAU;EAE7B,OAAO,IADW,KAAK,IAAW,IAAQ,KACnC,CAAA,CAAM,YAAY;CAC3B;CAKA,SAAS,EAAY,GAAgD;EAEnE,OAAO,EAAE,MAAM,mBADD,EAAQ,EAAQ,cAAc,MACV,EAAM,GAAG;CAC7C;CAEA,OAAO;EACL,IAAI;EACJ,QAAQ;EACR,KAAK;EACL,OAAO;EACP,SAAS;EACT,UAAU;EACV,MAAM;CACR;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthFlows.stories.d.ts","sourceRoot":"","sources":["../../../src/auth/AuthFlows.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA8CvD,QAAA,MAAM,IAAI;;;;;;;;;;CAWM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAqCrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAyBvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KA2BjC,CAAC"}
1
+ {"version":3,"file":"AuthFlows.stories.d.ts","sourceRoot":"","sources":["../../../src/auth/AuthFlows.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA8CvD,QAAA,MAAM,IAAI;;;QAGN,MAAM;QACN,IAAI;YACF,WAAW;gBACT,SAAS;;;;CAKD,CAAC;eAEF,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAqCrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAyBvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KA2BjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthRefreshNotice.d.ts","sourceRoot":"","sources":["../../../src/auth/AuthRefreshNotice.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAU1E,MAAM,MAAM,yBAAyB,GAAG;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAYF,eAAO,MAAM,2BAA2B,QAAO,gBAE9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,0BAG/B,sBAAsB,KAAG,GAAG,CAAC,OAAO,GAAG,IA8BzC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"AuthRefreshNotice.d.ts","sourceRoot":"","sources":["../../../src/auth/AuthRefreshNotice.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAU1E,MAAM,MAAM,yBAAyB,GAAG;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAYF,eAAO,MAAM,2BAA2B,QAAO,gBAE9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,6BAG3B,sBAAsB,KAAG,GAAG,CAAC,OAAO,GAAG,IA8BzC,CAAC;eAEa,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TotpQrCode.d.ts","sourceRoot":"","sources":["../../../src/auth/TotpQrCode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjC,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,0BAA0B,GAAG;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAKF,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,MAAM,EACN,WAAW,EACX,SAAkB,EAClB,MAAU,EACV,MAAW,GACZ,EAAE,0BAA0B,GAAG,MAAM,CAWrC;AAED,eAAO,MAAM,UAAU,GAAI,+EASxB,eAAe,KAAG,GAAG,CAAC,OAaxB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"TotpQrCode.d.ts","sourceRoot":"","sources":["../../../src/auth/TotpQrCode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjC,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,0BAA0B,GAAG;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAKF,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,MAAM,EACN,WAAW,EACX,SAAkB,EAClB,MAAU,EACV,MAAW,GACZ,EAAE,0BAA0B,GAAG,MAAM,CAWrC;AAED,eAAO,MAAM,UAAU,kFASpB,eAAe,KAAG,GAAG,CAAC,OAaxB,CAAC;eAEa,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthPanel.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/AuthPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjD,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,2CAKvB,KAAK,KAAG,GAAG,CAAC,OAad,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"AuthPanel.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/AuthPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjD,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,SAAS,8CAKnB,KAAK,KAAG,GAAG,CAAC,OAad,CAAC;eAEa,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmailCapturePanel.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/EmailCapturePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAW9D,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,kFAO/B,KAAK,KAAG,GAAG,CAAC,OA8Cd,CAAC"}
1
+ {"version":3,"file":"EmailCapturePanel.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/EmailCapturePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAW9D,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,qFAO3B,KAAK,KAAG,GAAG,CAAC,OA8Cd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LoginFlow.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/LoginFlow.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,GAAG,EAMT,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAS5D,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC3C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAIF,eAAO,MAAM,SAAS,GAAI,4DAKvB,cAAc,KAAG,GAAG,CAAC,OAsNvB,CAAC"}
1
+ {"version":3,"file":"LoginFlow.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/LoginFlow.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,GAAG,EAMT,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAS5D,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC3C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAIF,eAAO,MAAM,SAAS,+DAKnB,cAAc,KAAG,GAAG,CAAC,OAsNvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MethodChooser.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/MethodChooser.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAMjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAKrE,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,oDAM3B,KAAK,KAAG,GAAG,CAAC,OAyDd,CAAC"}
1
+ {"version":3,"file":"MethodChooser.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/MethodChooser.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAMjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAKrE,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,aAAa,uDAMvB,KAAK,KAAG,GAAG,CAAC,OAyDd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MfaChallengeForm.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/MfaChallengeForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI7E,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,CACR,aAAa,EACb,aAAa,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,CAC7E,CAAC;IACF,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,8BAI9B,KAAK,KAAG,GAAG,CAAC,OA8Fd,CAAC"}
1
+ {"version":3,"file":"MfaChallengeForm.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/MfaChallengeForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI7E,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,CACR,aAAa,EACb,aAAa,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,CAC7E,CAAC;IACF,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,iCAI1B,KAAK,KAAG,GAAG,CAAC,OA8Fd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OidcButtons.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/OidcButtons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAO3E,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,eAAe,KAAK,KAAG,GAAG,CAAC,OAAO,GAAG,IAmChE,CAAC"}
1
+ {"version":3,"file":"OidcButtons.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/OidcButtons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAO3E,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,WAAW,kBAAmB,KAAK,KAAG,GAAG,CAAC,OAAO,GAAG,IAmChE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PasskeyLoginForm.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/PasskeyLoginForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI5D,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,CACR,aAAa,EACX,kBAAkB,GAClB,WAAW,GACX,OAAO,GACP,WAAW,GACX,UAAU,GACV,qBAAqB,GACrB,aAAa,GACb,kBAAkB,CACrB,CAAC;IACF,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,wEAM9B,KAAK,KAAG,GAAG,CAAC,OA2Gd,CAAC"}
1
+ {"version":3,"file":"PasskeyLoginForm.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/PasskeyLoginForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI5D,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,CACR,aAAa,EACX,kBAAkB,GAClB,WAAW,GACX,OAAO,GACP,WAAW,GACX,UAAU,GACV,qBAAqB,GACrB,aAAa,GACb,kBAAkB,CACrB,CAAC;IACF,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,2EAM1B,KAAK,KAAG,GAAG,CAAC,OA2Gd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordLoginPanel.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/PasswordLoginPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAEpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAM3E,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,oBAAoB,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,iEAMhC,KAAK,KAAG,GAAG,CAAC,OAuBd,CAAC"}
1
+ {"version":3,"file":"PasswordLoginPanel.d.ts","sourceRoot":"","sources":["../../../../src/auth/login/PasswordLoginPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAEpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAM3E,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,oBAAoB,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,kBAAkB,oEAM5B,KAAK,KAAG,GAAG,CAAC,OAuBd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AcceptInvitationScreen.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/AcceptInvitationScreen.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAO5D,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,oDAKpC,KAAK,KAAG,GAAG,CAAC,OAuKd,CAAC"}
1
+ {"version":3,"file":"AcceptInvitationScreen.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/AcceptInvitationScreen.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAO5D,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,sBAAsB,uDAKhC,KAAK,KAAG,GAAG,CAAC,OAuKd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordResetCompleteScreen.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/PasswordResetCompleteScreen.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAcf,KAAK,KAAK,GAAG;IACX,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,uBAAuB,EAAE,CAAC,KAAK,EAAE;QAC/B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,oDAIzC,KAAK,KAAG,GAAG,CAAC,OA2Jd,CAAC"}
1
+ {"version":3,"file":"PasswordResetCompleteScreen.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/PasswordResetCompleteScreen.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAcf,KAAK,KAAK,GAAG;IACX,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,uBAAuB,EAAE,CAAC,KAAK,EAAE;QAC/B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,2BAA2B,uDAIrC,KAAK,KAAG,GAAG,CAAC,OA2Jd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordResetRequestScreen.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/PasswordResetRequestScreen.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAYf,KAAK,KAAK,GAAG;IACX,oBAAoB,EAAE,CAAC,KAAK,EAAE;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,2BAExC,KAAK,KAAG,GAAG,CAAC,OAiHd,CAAC"}
1
+ {"version":3,"file":"PasswordResetRequestScreen.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/PasswordResetRequestScreen.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAYf,KAAK,KAAK,GAAG;IACX,oBAAoB,EAAE,CAAC,KAAK,EAAE;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,0BAA0B,8BAEpC,KAAK,KAAG,GAAG,CAAC,OAiHd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VerifyEmailScreen.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/VerifyEmailScreen.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAW/D,KAAK,KAAK,GAAG;IACX,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,0CAI/B,KAAK,KAAG,GAAG,CAAC,OAuFd,CAAC"}
1
+ {"version":3,"file":"VerifyEmailScreen.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/VerifyEmailScreen.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAW/D,KAAK,KAAK,GAAG;IACX,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,6CAI3B,KAAK,KAAG,GAAG,CAAC,OAuFd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeEntityActionFormDialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/actions/BackofficeEntityActionFormDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,GAAG,EAOT,MAAM,OAAO,CAAC;AAqBf,OAAO,KAAK,EAEV,sCAAsC,EAEvC,MAAM,mCAAmC,CAAC;AAgB3C,MAAM,MAAM,qCAAqC,CAAC,IAAI,IAAI;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,sCAAsC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACpE,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAoGF,eAAO,MAAM,gCAAgC,GAAI,IAAI,EAAG,+CAMrD,qCAAqC,CAAC,IAAI,CAAC,KAAG,GAAG,CAAC,OAAO,GAAG,IAs3B9D,CAAC;AAEF,eAAe,gCAAgC,CAAC"}
1
+ {"version":3,"file":"BackofficeEntityActionFormDialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/actions/BackofficeEntityActionFormDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,GAAG,EAOT,MAAM,OAAO,CAAC;AAqBf,OAAO,KAAK,EAEV,sCAAsC,EAEvC,MAAM,mCAAmC,CAAC;AAgB3C,MAAM,MAAM,qCAAqC,CAAC,IAAI,IAAI;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,sCAAsC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACpE,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAoGF,eAAO,MAAM,gCAAgC,GAAI,IAAI,iDAMlD,qCAAqC,CAAC,IAAI,CAAC,KAAG,GAAG,CAAC,OAAO,GAAG,IAs3B9D,CAAC;eAEa,gCAAgC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LazyBackofficeEntityActionFormDialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,uCAAuC,CAAC;AAyBnG,eAAO,MAAM,oCAAoC,GAAI,IAAI,EACvD,OAAO,qCAAqC,CAAC,IAAI,CAAC,KACjD,GAAG,CAAC,OAUN,CAAC;AAEF,eAAe,oCAAoC,CAAC"}
1
+ {"version":3,"file":"LazyBackofficeEntityActionFormDialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,uCAAuC,CAAC;AAyBnG,eAAO,MAAM,oCAAoC,GAAI,IAAI,SAChD,qCAAqC,CAAC,IAAI,CAAC,KACjD,GAAG,CAAC,OAUN,CAAC;eAEa,oCAAoC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toastViewAction.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/actions/toastViewAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,KAAK,EACV,yBAAyB,EACzB,2BAA2B,EAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAMvF,eAAO,MAAM,gBAAgB,GAAI,IAAI,GAAG,OAAO,EAAE,QAAQ,GAAG,OAAO,EACjE,OAAO,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAChD,MAAM,SAAS,KACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAOnC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,IAAI,GAAG,OAAO,EACd,QAAQ,GAAG,OAAO,EAClB,OAAO;IACP,KAAK,EAAE,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,2BAA2B,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,KAAG,SAAS,WAAW,EAAE,GAAG,SA+B5B,CAAC"}
1
+ {"version":3,"file":"toastViewAction.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/actions/toastViewAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,KAAK,EACV,yBAAyB,EACzB,2BAA2B,EAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAMvF,eAAO,MAAM,gBAAgB,GAAI,IAAI,GAAG,OAAO,EAAE,QAAQ,GAAG,OAAO,SAC1D,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,QAC1C,SAAS,KACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAOnC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,IAAI,GAAG,OAAO,EACd,QAAQ,GAAG,OAAO,SACX;IACP,KAAK,EAAE,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,2BAA2B,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,KAAG,SAAS,WAAW,EAAE,GAAG,SA+B5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeBillingUsageChart.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/billing/BackofficeBillingUsageChart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAQ1C,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,iCAAiC,EAAE,CAAC;IAC/D,QAAQ,CAAC,UAAU,EAAE,SAAS,mCAAmC,EAAE,CAAC;IACpE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAaF,eAAO,MAAM,2BAA2B,GAAI,+FAUzC,gCAAgC,KAAG,GAAG,CAAC,OA4EzC,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"BackofficeBillingUsageChart.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/billing/BackofficeBillingUsageChart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAQ1C,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,iCAAiC,EAAE,CAAC;IAC/D,QAAQ,CAAC,UAAU,EAAE,SAAS,mCAAmC,EAAE,CAAC;IACpE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAaF,eAAO,MAAM,2BAA2B,kGAUrC,gCAAgC,KAAG,GAAG,CAAC,OA4EzC,CAAC;eAEa,2BAA2B"}
@@ -2,9 +2,26 @@ import type { StoryObj } from '@storybook/react';
2
2
  import { BackofficeBillingUsageChart } from './BackofficeBillingUsageChart.js';
3
3
  declare const meta: {
4
4
  title: string;
5
- component: ({ ariaLabel, buckets, categories, currency, emptyLabel, from, rangePrefix, to, totalAmount, }: import("./BackofficeBillingUsageChart.js").BackofficeBillingUsageChartProps) => import("react").JSX.Element;
5
+ component: typeof BackofficeBillingUsageChart;
6
6
  tags: string[];
7
7
  args: {
8
+ currency: 'USD';
9
+ categories: readonly [{
10
+ readonly id: 'INGESTION';
11
+ readonly label: 'Ingestion';
12
+ readonly color: '#0B84A5';
13
+ }, {
14
+ readonly id: 'CHAT';
15
+ readonly label: 'Chat';
16
+ readonly color: '#F6C85F';
17
+ }, {
18
+ readonly id: 'DEVELOPMENT';
19
+ readonly label: 'Development';
20
+ readonly color: '#6F4E7C';
21
+ }];
22
+ emptyLabel: 'No usage recorded for this period.';
23
+ rangePrefix: 'Usage from';
24
+ ariaLabel: 'Billing usage by category';
8
25
  totalAmount: number;
9
26
  from: string;
10
27
  to: string;
@@ -13,23 +30,6 @@ declare const meta: {
13
30
  category: string;
14
31
  value: number;
15
32
  }[];
16
- currency: "USD";
17
- categories: readonly [{
18
- readonly id: "INGESTION";
19
- readonly label: "Ingestion";
20
- readonly color: "#0B84A5";
21
- }, {
22
- readonly id: "CHAT";
23
- readonly label: "Chat";
24
- readonly color: "#F6C85F";
25
- }, {
26
- readonly id: "DEVELOPMENT";
27
- readonly label: "Development";
28
- readonly color: "#6F4E7C";
29
- }];
30
- emptyLabel: "No usage recorded for this period.";
31
- rangePrefix: "Usage from";
32
- ariaLabel: "Billing usage by category";
33
33
  };
34
34
  };
35
35
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeBillingUsageChart.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/billing/BackofficeBillingUsageChart.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAgB/E,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqB0C,CAAC;AAErD,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE1D,eAAO,MAAM,aAAa,EAAE,KAAU,CAAC;AAEvC,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAWxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAYlC,CAAC"}
1
+ {"version":3,"file":"BackofficeBillingUsageChart.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/billing/BackofficeBillingUsageChart.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAgB/E,QAAA,MAAM,IAAI;;;;;kBAPE,KAAK;;yBANT,WAAW;4BAAS,WAAW;4BAAS,SAAS;;yBACjD,MAAM;4BAAS,MAAM;4BAAS,SAAS;;yBACvC,aAAa;4BAAS,aAAa;4BAAS,SAAS;;oBAM/C,oCAAoC;qBACnC,YAAY;mBACd,2BAA2B;;;;;;;;;;CAwBY,CAAC;eAEtC,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE1D,eAAO,MAAM,aAAa,EAAE,KAAU,CAAC;AAEvC,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAWxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAYlC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeDetailBadgeRow.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/detail/BackofficeDetailBadgeRow.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAK7E,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,YAEtC,6BAA6B,KAAG,GAAG,CAAC,OAiBtC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"BackofficeDetailBadgeRow.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/detail/BackofficeDetailBadgeRow.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAK7E,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,eAElC,6BAA6B,KAAG,GAAG,CAAC,OAiBtC,CAAC;eAEa,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeDetailErrorList.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/detail/BackofficeDetailErrorList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAUjC,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,gCAIvC,8BAA8B,KAAG,GAAG,CAAC,OAAO,GAAG,IAsCjD,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"BackofficeDetailErrorList.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/detail/BackofficeDetailErrorList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAUjC,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,yBAAyB,mCAInC,8BAA8B,KAAG,GAAG,CAAC,OAAO,GAAG,IAsCjD,CAAC;eAEa,yBAAyB"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeDetailFlagTag.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/detail/BackofficeDetailFlagTag.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMjD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAEvE,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,mCAKrC,4BAA4B,KAAG,GAAG,CAAC,OAQrC,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"BackofficeDetailFlagTag.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/detail/BackofficeDetailFlagTag.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMjD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAEvE,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,uBAAuB,sCAKjC,4BAA4B,KAAG,GAAG,CAAC,OAQrC,CAAC;eAEa,uBAAuB"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeDetailPrimitives.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/detail/BackofficeDetailPrimitives.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAyBvD,QAAA,MAAM,IAAI;;;;;;;;;CAUM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,KAoC/B,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,KA+FxC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAgEpC,CAAC"}
1
+ {"version":3,"file":"BackofficeDetailPrimitives.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/detail/BackofficeDetailPrimitives.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAyBvD,QAAA,MAAM,IAAI;;;QAGN,IAAI;YACF,WAAW;gBACT,SAAS;;;;CAKD,CAAC;eAEF,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,KAoC/B,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,KA+FxC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAgEpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeDetailRelationList.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/detail/BackofficeDetailRelationList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGjD,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,eAE1C,iCAAiC,KAAG,GAAG,CAAC,OAE1C,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
1
+ {"version":3,"file":"BackofficeDetailRelationList.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/detail/BackofficeDetailRelationList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGjD,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,4BAA4B,kBAEtC,iCAAiC,KAAG,GAAG,CAAC,OAE1C,CAAC;eAEa,4BAA4B"}