@plumile/backoffice-react 0.1.206 → 0.2.3

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 (112) hide show
  1. package/README.md +5 -2
  2. package/lib/esm/auth/authRefreshNotice.css.js +1 -1
  3. package/lib/esm/auth/authStoryFixtures.js +29 -0
  4. package/lib/esm/auth/authStoryFixtures.js.map +1 -0
  5. package/lib/esm/auth/login/loginPage.css.js +1 -1
  6. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js +1 -1
  7. package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js +1 -1
  8. package/lib/esm/components/backoffice/billing/BackofficeBillingUsageChart.js +1 -1
  9. package/lib/esm/components/backoffice/billing/backofficeBillingUsageChart.css.js +1 -1
  10. package/lib/esm/components/backoffice/detail/BackofficeEntitySummaryHeader.js +6 -6
  11. package/lib/esm/components/backoffice/detail/BackofficeRelationsSummaryGrid.js +1 -1
  12. package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js +13 -13
  13. package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js.map +1 -1
  14. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js +1 -1
  15. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js +1 -1
  16. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js +1 -1
  17. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js +1 -1
  18. package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js +1 -1
  19. package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js +1 -1
  20. package/lib/esm/components/backoffice/detail/backofficeUsageCostBreakdown.css.js +1 -1
  21. package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js +2 -16
  22. package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js.map +1 -1
  23. package/lib/esm/components/backoffice/filters/EntityIdFilterField.js +1 -1
  24. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js +1 -1
  25. package/lib/esm/components/backoffice/filters/deferredFilterSearchInput.css.js +1 -1
  26. package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js +1 -1
  27. package/lib/esm/components/backoffice/hub/BackofficeHubTemplate.js +5 -5
  28. package/lib/esm/components/backoffice/hub/backofficeHubTemplate.css.js +1 -1
  29. package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js +1 -1
  30. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js +2 -2
  31. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js +1 -1
  32. package/lib/esm/components/backoffice/links/BackofficeLinkContent.js +1 -1
  33. package/lib/esm/components/backoffice/links/backofficeLink.css.js +1 -1
  34. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js +1 -1
  35. package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js +1 -1
  36. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js +1 -1
  37. package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js +1 -1
  38. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js +1 -1
  39. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js +1 -1
  40. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js +1 -1
  41. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.js.map +1 -1
  42. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js +311 -351
  43. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js.map +1 -1
  44. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js +6 -11
  45. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js.map +1 -1
  46. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js +1 -1
  47. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js +1 -1
  48. package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js +5 -5
  49. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js +1 -1
  50. package/lib/esm/components/backoffice/technical/TechnicalIdentifierValue.js +2 -26
  51. package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js +1 -1
  52. package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js +1 -1
  53. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +1 -1
  54. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +1 -1
  55. package/lib/esm/i18n/locales/en/backofficeReact.js +1 -5
  56. package/lib/esm/i18n/locales/en/backofficeReact.js.map +1 -1
  57. package/lib/esm/i18n/locales/fr/backofficeReact.js +1 -6
  58. package/lib/esm/i18n/locales/fr/backofficeReact.js.map +1 -1
  59. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js +1 -1
  60. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js.map +1 -1
  61. package/lib/esm/pages/BackofficeEntityDetailPage.js +158 -158
  62. package/lib/esm/pages/BackofficeEntityDetailPage.js.map +1 -1
  63. package/lib/esm/pages/BackofficeEntityListDataPage.js +60 -62
  64. package/lib/esm/pages/BackofficeEntityListDataPage.js.map +1 -1
  65. package/lib/esm/pages/BackofficeEntityListPage.js +87 -91
  66. package/lib/esm/pages/BackofficeEntityListPage.js.map +1 -1
  67. package/lib/esm/pages/BackofficeEntityListRouteContext.js.map +1 -1
  68. package/lib/esm/pages/backofficeDashboardPage.css.js +1 -1
  69. package/lib/esm/pages/backofficeEntityDetailPage.css.js +1 -1
  70. package/lib/esm/pages/backofficeEntityListPage.css.js +1 -1
  71. package/lib/esm/pages/detail/BackofficeEntityDetailLayoutContext.js.map +1 -1
  72. package/lib/esm/pages/detail/BackofficeEntityDetailManifestFallback.js +1 -1
  73. package/lib/esm/pages/detail/BackofficeEntityDetailManifestFallback.js.map +1 -1
  74. package/lib/esm/pages/detail/buildTabsItems.js.map +1 -1
  75. package/lib/esm/provider/BackofficeProvider.js +79 -80
  76. package/lib/esm/provider/BackofficeProvider.js.map +1 -1
  77. package/lib/esm/relay/typedRelayHooks.js.map +1 -1
  78. package/lib/esm/storybook/relay/RelayStory.css.js +1 -1
  79. package/lib/esm/style.css +1 -1
  80. package/lib/types/auth/authStoryFixtures.d.ts +3 -0
  81. package/lib/types/auth/authStoryFixtures.d.ts.map +1 -0
  82. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts +3 -17
  83. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts.map +1 -1
  84. package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.d.ts +2 -6
  85. package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.d.ts.map +1 -1
  86. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts +0 -2
  87. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts.map +1 -1
  88. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts +2 -2
  89. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts.map +1 -1
  90. package/lib/types/components/backoffice/technical/TechnicalIdentifierValue.d.ts +1 -11
  91. package/lib/types/components/backoffice/technical/TechnicalIdentifierValue.d.ts.map +1 -1
  92. package/lib/types/i18n/resources.d.ts +0 -13
  93. package/lib/types/i18n/resources.d.ts.map +1 -1
  94. package/lib/types/pages/BackofficeEntityDetailLayoutPage.d.ts.map +1 -1
  95. package/lib/types/pages/BackofficeEntityDetailPage.d.ts.map +1 -1
  96. package/lib/types/pages/BackofficeEntityListDataPage.d.ts.map +1 -1
  97. package/lib/types/pages/BackofficeEntityListPage.d.ts.map +1 -1
  98. package/lib/types/pages/BackofficeEntityListRouteContext.d.ts +0 -2
  99. package/lib/types/pages/BackofficeEntityListRouteContext.d.ts.map +1 -1
  100. package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts +2 -2
  101. package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts.map +1 -1
  102. package/lib/types/pages/detail/buildTabsItems.d.ts +2 -2
  103. package/lib/types/pages/detail/buildTabsItems.d.ts.map +1 -1
  104. package/lib/types/provider/BackofficeProvider.d.ts.map +1 -1
  105. package/lib/types/relay/typedRelayHooks.d.ts +3 -5
  106. package/lib/types/relay/typedRelayHooks.d.ts.map +1 -1
  107. package/package.json +17 -17
  108. package/lib/esm/components/backoffice/technical/TechnicalIdentifierValue.js.map +0 -1
  109. package/lib/esm/provider/BackofficeListUiStateContext.js +0 -88
  110. package/lib/esm/provider/BackofficeListUiStateContext.js.map +0 -1
  111. package/lib/types/provider/BackofficeListUiStateContext.d.ts +0 -21
  112. package/lib/types/provider/BackofficeListUiStateContext.d.ts.map +0 -1
@@ -6,33 +6,32 @@ import { createI18nInstance as a } from "../i18n/createI18nInstance.js";
6
6
  import { withBackofficeReactI18nResources as o } from "../i18n/resources.js";
7
7
  import { createBackofficeRoutes as s } from "../router/createBackofficeRoutes.js";
8
8
  import { createBackofficeEntityRegistry as c } from "./entityRegistry.js";
9
- import { BackofficeListUiStateProvider as l } from "./BackofficeListUiStateContext.js";
10
- import { useBackofficeAuthRouteGate as u } from "./useBackofficeAuthRouteGate.js";
11
- import { StrictMode as d, useEffect as f, useMemo as p, useRef as m, useState as h } from "react";
12
- import { jsx as g, jsxs as _ } from "react/jsx-runtime";
13
- import { I18nextProvider as v } from "react-i18next";
14
- import y from "@plumile/router/routing/RoutingContext.js";
15
- import { createInstance as b } from "i18next";
16
- import x from "@plumile/router/routing/createRouter.js";
17
- import S from "@plumile/router/routing/RouterRenderer.js";
18
- import { BackofficeThemeProvider as C } from "@plumile/ui/admin/theme/BackofficeThemeProvider.js";
19
- import { RoutePendingBar as w } from "@plumile/ui/components/routing/RoutePendingBar.js";
20
- import { RelayProvider as T, configureRelayEnvironment as E, useRelayOperationActivity as D } from "@plumile/relay";
9
+ import { useBackofficeAuthRouteGate as l } from "./useBackofficeAuthRouteGate.js";
10
+ import { StrictMode as u, useEffect as d, useMemo as f, useRef as p, useState as m } from "react";
11
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
12
+ import { I18nextProvider as _ } from "react-i18next";
13
+ import v from "@plumile/router/routing/RoutingContext.js";
14
+ import { createInstance as y } from "i18next";
15
+ import b from "@plumile/router/routing/createRouter.js";
16
+ import x from "@plumile/router/routing/RouterRenderer.js";
17
+ import { BackofficeThemeProvider as S } from "@plumile/ui/admin/theme/BackofficeThemeProvider.js";
18
+ import { RoutePendingBar as C } from "@plumile/ui/components/routing/RoutePendingBar.js";
19
+ import { RelayProvider as w, configureRelayEnvironment as T, useRelayOperationActivity as E } from "@plumile/relay";
21
20
  //#region src/provider/BackofficeProvider.tsx
22
- var O = (e) => e.trim() === "" || e === "/" ? "/" : e.startsWith("/") ? e.endsWith("/") ? e.slice(0, -1) : e : `/${e}`, k = (e, t) => {
23
- let n = O(t), r = O(e);
21
+ var D = (e) => e.trim() === "" || e === "/" ? "/" : e.startsWith("/") ? e.endsWith("/") ? e.slice(0, -1) : e : `/${e}`, O = (e, t) => {
22
+ let n = D(t), r = D(e);
24
23
  return r === "/" || n === r || n.startsWith(`${r}/`) ? n : n === "/" ? r : `${r}${n}`;
25
- }, A = (e, t) => Object.fromEntries(Object.entries(e).map(([e, n]) => [e, {
24
+ }, k = (e, t) => Object.fromEntries(Object.entries(e).map(([e, n]) => [e, {
26
25
  ...n,
27
26
  routes: {
28
- list: k(t, n.routes.list),
29
- detail: (e) => k(t, n.routes.detail(e)),
30
- detailPage: (e, r) => k(t, n.routes.detailPage(e, r))
27
+ list: O(t, n.routes.list),
28
+ detail: (e) => O(t, n.routes.detail(e)),
29
+ detailPage: (e, r) => O(t, n.routes.detailPage(e, r))
31
30
  }
32
- }])), j = ({ routes: e, context: t, instrumentations: n }) => {
33
- let [r, i] = h(null), a = m(null);
34
- return f(() => {
35
- let r = x(e, {
31
+ }])), A = ({ routes: e, context: t, instrumentations: n }) => {
32
+ let [r, i] = m(null), a = p(null);
33
+ return d(() => {
34
+ let r = b(e, {
36
35
  context: t,
37
36
  instrumentations: n
38
37
  });
@@ -44,58 +43,58 @@ var O = (e) => e.trim() === "" || e === "/" ? "/" : e.startsWith("/") ? e.endsWi
44
43
  n,
45
44
  e
46
45
  ]), r;
47
- }, M = ({ routes: e, instrumentations: t }) => {
48
- let r = i(), a = D(), o = j({
46
+ }, j = ({ routes: e, instrumentations: t }) => {
47
+ let r = i(), a = E(), o = A({
49
48
  routes: e,
50
- context: p(() => ({ relayEnvironment: r }), [r]),
49
+ context: f(() => ({ relayEnvironment: r }), [r]),
51
50
  instrumentations: t
52
51
  });
53
- return o == null ? /* @__PURE__ */ g(n, {}) : /* @__PURE__ */ g(y.Provider, {
52
+ return o == null ? /* @__PURE__ */ h(n, {}) : /* @__PURE__ */ h(v.Provider, {
54
53
  value: o.context,
55
- children: /* @__PURE__ */ g(S, {
54
+ children: /* @__PURE__ */ h(x, {
56
55
  enableTransition: !0,
57
56
  externalPending: a.pendingCount > 0,
58
- fallback: /* @__PURE__ */ g(n, {}),
59
- pending: /* @__PURE__ */ g(w, {})
57
+ fallback: /* @__PURE__ */ h(n, {}),
58
+ pending: /* @__PURE__ */ h(C, {})
60
59
  })
61
60
  });
62
- }, N = (n) => {
63
- let i = O(n.basePath ?? "/"), m = u(i), y = p(() => A(n.entityManifest, i), [i, n.entityManifest]), x = p(() => c(y, { basePath: i }), [i, y]), S = n.graphql, w = p(() => t(n.dashboards), [n.dashboards]);
64
- f(() => {
65
- let e = S.httpUrl ?? S.endpoint, t = S.wsUrl ?? S.wsEndpoint;
66
- E({
61
+ }, M = (n) => {
62
+ let i = D(n.basePath ?? "/"), p = l(i), v = f(() => k(n.entityManifest, i), [i, n.entityManifest]), b = f(() => c(v, { basePath: i }), [i, v]), x = n.graphql, C = f(() => t(n.dashboards), [n.dashboards]);
63
+ d(() => {
64
+ let e = x.httpUrl ?? x.endpoint, t = x.wsUrl ?? x.wsEndpoint;
65
+ T({
67
66
  httpUrl: e,
68
67
  wsUrl: t,
69
- getDataId: S.getDataId,
70
- logEvents: S.logEvents,
71
- getAuthHeaders: S.getAuthHeaders
68
+ getDataId: x.getDataId,
69
+ logEvents: x.logEvents,
70
+ getAuthHeaders: x.getAuthHeaders
72
71
  });
73
72
  }, [
74
- S.endpoint,
75
- S.getAuthHeaders,
76
- S.getDataId,
77
- S.httpUrl,
78
- S.logEvents,
79
- S.wsEndpoint,
80
- S.wsUrl
73
+ x.endpoint,
74
+ x.getAuthHeaders,
75
+ x.getDataId,
76
+ x.httpUrl,
77
+ x.logEvents,
78
+ x.wsEndpoint,
79
+ x.wsUrl
81
80
  ]);
82
- let D = p(() => o(n.i18n?.resources ?? {}), [n.i18n?.resources]), k = p(() => n.i18n?.instance ?? b(), [n.i18n?.instance]), [j, N] = h(k.isInitialized);
83
- f(() => {
81
+ let E = f(() => o(n.i18n?.resources ?? {}), [n.i18n?.resources]), O = f(() => n.i18n?.instance ?? y(), [n.i18n?.instance]), [A, M] = m(O.isInitialized);
82
+ d(() => {
84
83
  let e = !0, t = () => {
85
- e && N(!0);
84
+ e && M(!0);
86
85
  };
87
- if (k.on("initialized", t), k.isInitialized) return t(), () => {
88
- e = !1, k.off("initialized", t);
86
+ if (O.on("initialized", t), O.isInitialized) return t(), () => {
87
+ e = !1, O.off("initialized", t);
89
88
  };
90
89
  let r = globalThis.setTimeout(() => {
91
- k.isInitialized && t();
90
+ O.isInitialized && t();
92
91
  }, 0), i = n.i18n?.initOptions ?? {}, o = i.defaultNS ?? "translations", s = i.ns ?? [
93
92
  "backofficeReact",
94
93
  "translations",
95
94
  "ui"
96
95
  ];
97
96
  return a({
98
- resources: D,
97
+ resources: E,
99
98
  lng: n.i18n?.lng,
100
99
  fallbackLng: n.i18n?.fallbackLng,
101
100
  initOptions: {
@@ -107,75 +106,75 @@ var O = (e) => e.trim() === "" || e === "/" ? "/" : e.startsWith("/") ? e.endsWi
107
106
  ...i.react
108
107
  }
109
108
  },
110
- instance: k,
109
+ instance: O,
111
110
  useLanguageDetector: n.i18n?.useLanguageDetector,
112
111
  detection: n.i18n?.detection
113
112
  }).then(t).catch((e) => {
114
113
  t(), console.error(e);
115
114
  }), () => {
116
- e = !1, globalThis.clearTimeout(r), k.off("initialized", t);
115
+ e = !1, globalThis.clearTimeout(r), O.off("initialized", t);
117
116
  };
118
117
  }, [
119
- k,
120
- D,
118
+ O,
119
+ E,
121
120
  n.i18n?.initOptions,
122
121
  n.i18n?.detection,
123
122
  n.i18n?.fallbackLng,
124
123
  n.i18n?.lng,
125
124
  n.i18n?.useLanguageDetector
126
125
  ]);
127
- let P = p(() => ({
126
+ let N = f(() => ({
128
127
  basePath: i,
129
- entities: y,
130
- entityManifest: y,
131
- entityRegistry: x,
128
+ entities: v,
129
+ entityManifest: v,
130
+ entityRegistry: b,
132
131
  filterColumnAliases: n.filterColumnAliases,
133
132
  sidebar: n.sidebar,
134
133
  dashboard: n.dashboard,
135
- dashboards: w,
134
+ dashboards: C,
136
135
  auth: n.auth,
137
136
  graphql: n.graphql
138
137
  }), [
139
138
  i,
140
139
  n.auth,
141
140
  n.dashboard,
142
- w,
143
- y,
144
- x,
141
+ C,
142
+ v,
143
+ b,
145
144
  n.filterColumnAliases,
146
145
  n.graphql,
147
146
  n.sidebar
148
- ]), F = p(() => s({
147
+ ]), P = f(() => s({
149
148
  basePath: i,
150
- entityManifest: y,
151
- entityRegistry: x,
149
+ entityManifest: v,
150
+ entityRegistry: b,
152
151
  sidebar: n.sidebar,
153
152
  auth: n.auth,
154
153
  dashboard: n.dashboard,
155
- dashboards: w,
154
+ dashboards: C,
156
155
  toolsOperationPage: n.toolsOperationPage
157
156
  }), [
158
157
  i,
159
- y,
160
- x,
158
+ v,
159
+ b,
161
160
  n.auth,
162
161
  n.dashboard,
163
- w,
162
+ C,
164
163
  n.toolsOperationPage,
165
164
  n.sidebar
166
- ]), I = /* @__PURE__ */ g(r, { label: "Loading..." });
167
- return j && m && (I = /* @__PURE__ */ g(C, { children: /* @__PURE__ */ g(T, { children: /* @__PURE__ */ _(e, {
168
- value: P,
169
- children: [n.overlay, /* @__PURE__ */ g(l, { children: /* @__PURE__ */ g(M, {
170
- routes: F,
165
+ ]), F = /* @__PURE__ */ h(r, { label: "Loading..." });
166
+ return A && p && (F = /* @__PURE__ */ h(S, { children: /* @__PURE__ */ h(w, { children: /* @__PURE__ */ g(e, {
167
+ value: N,
168
+ children: [n.overlay, /* @__PURE__ */ h(j, {
169
+ routes: P,
171
170
  instrumentations: n.instrumentations
172
- }) })]
173
- }) }) })), /* @__PURE__ */ g(d, { children: /* @__PURE__ */ g(v, {
174
- i18n: k,
175
- children: I
171
+ })]
172
+ }) }) })), /* @__PURE__ */ h(u, { children: /* @__PURE__ */ h(_, {
173
+ i18n: O,
174
+ children: F
176
175
  }) });
177
176
  };
178
177
  //#endregion
179
- export { N as BackofficeProvider, N as default };
178
+ export { M as BackofficeProvider, M as default };
180
179
 
181
180
  //# sourceMappingURL=BackofficeProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeProvider.js","names":[],"sources":["../../../src/provider/BackofficeProvider.tsx"],"sourcesContent":["import {\n StrictMode,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ContextType,\n type JSX,\n} from 'react';\nimport { createInstance } from 'i18next';\nimport { I18nextProvider } from 'react-i18next';\nimport createRouter from '@plumile/router/routing/createRouter.js';\nimport RouterRenderer from '@plumile/router/routing/RouterRenderer.js';\nimport RoutingContext from '@plumile/router/routing/RoutingContext.js';\nimport { BackofficeThemeProvider } from '@plumile/ui/admin/theme/BackofficeThemeProvider.js';\nimport { RoutePendingBar } from '@plumile/ui/components/routing/RoutePendingBar.js';\n\nimport { type BackofficeEntityManifestMap } from '@plumile/backoffice-core/types.js';\nimport {\n RelayProvider,\n configureRelayEnvironment,\n useRelayOperationActivity,\n} from '@plumile/relay';\n\nimport { createI18nInstance } from '../i18n/createI18nInstance.js';\nimport { withBackofficeReactI18nResources } from '../i18n/resources.js';\nimport { useRelayEnvironment } from '../relay/useRelayEnvironment.js';\nimport { BackofficeConfigProvider } from './BackofficeConfigContext.js';\nimport {\n createBackofficeRoutes,\n type BackofficeRouterContext,\n} from '../router/createBackofficeRoutes.js';\nimport type { BackofficeProviderProps } from './types.js';\nimport { validateBackofficeDashboardRegistrations } from './dashboardRegistrations.js';\nimport {\n BackofficeRouteFallback,\n BackofficeStaticRouteFallback,\n} from '../components/backoffice/routing/BackofficeRouteFallback.js';\nimport { createBackofficeEntityRegistry } from './entityRegistry.js';\nimport { BackofficeListUiStateProvider } from './BackofficeListUiStateContext.js';\nimport { useBackofficeAuthRouteGate } from './useBackofficeAuthRouteGate.js';\n\nconst normalizeAbsolutePath = (value: string): string => {\n if (value.trim() === '' || value === '/') {\n return '/';\n }\n if (!value.startsWith('/')) {\n return `/${value}`;\n }\n if (value.endsWith('/')) {\n return value.slice(0, -1);\n }\n return value;\n};\n\nconst prefixRoutePath = (basePath: string, value: string): string => {\n const normalizedPath = normalizeAbsolutePath(value);\n const normalizedBasePath = normalizeAbsolutePath(basePath);\n if (normalizedBasePath === '/') {\n return normalizedPath;\n }\n if (\n normalizedPath === normalizedBasePath ||\n normalizedPath.startsWith(`${normalizedBasePath}/`)\n ) {\n return normalizedPath;\n }\n if (normalizedPath === '/') {\n return normalizedBasePath;\n }\n return `${normalizedBasePath}${normalizedPath}`;\n};\n\nconst resolveEntityManifest = (\n manifest: BackofficeEntityManifestMap,\n basePath: string,\n): BackofficeEntityManifestMap => {\n return Object.fromEntries(\n Object.entries(manifest).map(([entityId, item]) => {\n return [\n entityId,\n {\n ...item,\n routes: {\n list: prefixRoutePath(basePath, item.routes.list),\n detail: (id: string) => {\n return prefixRoutePath(basePath, item.routes.detail(id));\n },\n detailPage: (id: string, pageId: string) => {\n return prefixRoutePath(\n basePath,\n item.routes.detailPage(id, pageId),\n );\n },\n },\n } satisfies BackofficeEntityManifestMap[string],\n ] as const;\n }),\n );\n};\n\ntype RouterShellProps = {\n routes: ReturnType<typeof createBackofficeRoutes>;\n instrumentations?: BackofficeProviderProps['instrumentations'];\n};\n\ntype BackofficeRouterInstance = {\n context: NonNullable<ContextType<typeof RoutingContext>>;\n cleanup: () => void;\n};\n\nconst useBackofficeRouterInstance = ({\n routes,\n context,\n instrumentations,\n}: {\n routes: ReturnType<typeof createBackofficeRoutes>;\n context: BackofficeRouterContext;\n instrumentations?: BackofficeProviderProps['instrumentations'];\n}): BackofficeRouterInstance | null => {\n const [router, setRouter] = useState<BackofficeRouterInstance | null>(null);\n const routerRef = useRef<BackofficeRouterInstance | null>(null);\n\n useEffect(() => {\n const nextRouter = createRouter(routes, {\n context,\n instrumentations,\n });\n routerRef.current = nextRouter;\n setRouter(nextRouter);\n\n return () => {\n if (routerRef.current === nextRouter) {\n routerRef.current = null;\n }\n nextRouter.cleanup();\n };\n }, [context, instrumentations, routes]);\n\n return router;\n};\n\nconst RouterShell = ({\n routes,\n instrumentations,\n}: RouterShellProps): JSX.Element => {\n const relayEnvironment = useRelayEnvironment();\n const relayOperationActivity = useRelayOperationActivity();\n\n const routerContext = useMemo(() => {\n return { relayEnvironment };\n }, [relayEnvironment]);\n\n const router = useBackofficeRouterInstance({\n routes,\n context: routerContext,\n instrumentations,\n });\n\n if (router == null) {\n return <BackofficeRouteFallback />;\n }\n\n return (\n <RoutingContext.Provider value={router.context}>\n <RouterRenderer\n enableTransition\n externalPending={relayOperationActivity.pendingCount > 0}\n fallback={<BackofficeRouteFallback />}\n pending={<RoutePendingBar />}\n />\n </RoutingContext.Provider>\n );\n};\n\nexport const BackofficeProvider = (\n props: BackofficeProviderProps,\n): JSX.Element => {\n const basePath = normalizeAbsolutePath(props.basePath ?? '/');\n const canMountRouter = useBackofficeAuthRouteGate(basePath);\n\n const entityManifest = useMemo(() => {\n return resolveEntityManifest(props.entityManifest, basePath);\n }, [basePath, props.entityManifest]);\n const entityRegistry = useMemo(() => {\n return createBackofficeEntityRegistry(entityManifest, { basePath });\n }, [basePath, entityManifest]);\n\n const graphQLConfig = props.graphql;\n const dashboards = useMemo(() => {\n return validateBackofficeDashboardRegistrations(props.dashboards);\n }, [props.dashboards]);\n\n useEffect(() => {\n const httpUrl = graphQLConfig.httpUrl ?? graphQLConfig.endpoint;\n const wsUrl = graphQLConfig.wsUrl ?? graphQLConfig.wsEndpoint;\n configureRelayEnvironment({\n httpUrl,\n wsUrl,\n getDataId: graphQLConfig.getDataId,\n logEvents: graphQLConfig.logEvents,\n getAuthHeaders: graphQLConfig.getAuthHeaders,\n });\n }, [\n graphQLConfig.endpoint,\n graphQLConfig.getAuthHeaders,\n graphQLConfig.getDataId,\n graphQLConfig.httpUrl,\n graphQLConfig.logEvents,\n graphQLConfig.wsEndpoint,\n graphQLConfig.wsUrl,\n ]);\n\n const mergedResources = useMemo(() => {\n return withBackofficeReactI18nResources(props.i18n?.resources ?? {});\n }, [props.i18n?.resources]);\n\n const i18nInstance = useMemo(() => {\n return props.i18n?.instance ?? createInstance();\n }, [props.i18n?.instance]);\n const [isI18nReady, setIsI18nReady] = useState(i18nInstance.isInitialized);\n\n useEffect(() => {\n let isCurrent = true;\n const markI18nReady = (): void => {\n if (isCurrent) {\n setIsI18nReady(true);\n }\n };\n\n i18nInstance.on('initialized', markI18nReady);\n if (i18nInstance.isInitialized) {\n markI18nReady();\n return () => {\n isCurrent = false;\n i18nInstance.off('initialized', markI18nReady);\n };\n }\n\n const readyCheck = globalThis.setTimeout(() => {\n if (i18nInstance.isInitialized) {\n markI18nReady();\n }\n }, 0);\n\n const initOptions = props.i18n?.initOptions ?? {};\n const defaultNs = initOptions.defaultNS ?? 'translations';\n const ns = initOptions.ns ?? ['backofficeReact', 'translations', 'ui'];\n createI18nInstance({\n resources: mergedResources,\n lng: props.i18n?.lng,\n fallbackLng: props.i18n?.fallbackLng,\n initOptions: {\n ...initOptions,\n defaultNS: defaultNs,\n ns,\n react: {\n useSuspense: false,\n ...initOptions.react,\n },\n },\n instance: i18nInstance,\n useLanguageDetector: props.i18n?.useLanguageDetector,\n detection: props.i18n?.detection,\n })\n .then(markI18nReady)\n .catch((error: unknown) => {\n markI18nReady();\n // eslint-disable-next-line no-console\n console.error(error);\n });\n\n return () => {\n isCurrent = false;\n globalThis.clearTimeout(readyCheck);\n i18nInstance.off('initialized', markI18nReady);\n };\n }, [\n i18nInstance,\n mergedResources,\n props.i18n?.initOptions,\n props.i18n?.detection,\n props.i18n?.fallbackLng,\n props.i18n?.lng,\n props.i18n?.useLanguageDetector,\n ]);\n\n const configValue = useMemo(() => {\n return {\n basePath,\n entities: entityManifest,\n entityManifest,\n entityRegistry,\n filterColumnAliases: props.filterColumnAliases,\n sidebar: props.sidebar,\n dashboard: props.dashboard,\n dashboards,\n auth: props.auth,\n graphql: props.graphql,\n };\n }, [\n basePath,\n props.auth,\n props.dashboard,\n dashboards,\n entityManifest,\n entityRegistry,\n props.filterColumnAliases,\n props.graphql,\n props.sidebar,\n ]);\n\n const routes = useMemo(() => {\n return createBackofficeRoutes({\n basePath,\n entityManifest,\n entityRegistry,\n sidebar: props.sidebar,\n auth: props.auth,\n dashboard: props.dashboard,\n dashboards,\n toolsOperationPage: props.toolsOperationPage,\n });\n }, [\n basePath,\n entityManifest,\n entityRegistry,\n props.auth,\n props.dashboard,\n dashboards,\n props.toolsOperationPage,\n props.sidebar,\n ]);\n\n let contentNode = <BackofficeStaticRouteFallback label=\"Loading...\" />;\n if (isI18nReady && canMountRouter) {\n contentNode = (\n <BackofficeThemeProvider>\n <RelayProvider>\n <BackofficeConfigProvider value={configValue}>\n {props.overlay}\n <BackofficeListUiStateProvider>\n <RouterShell\n routes={routes}\n instrumentations={props.instrumentations}\n />\n </BackofficeListUiStateProvider>\n </BackofficeConfigProvider>\n </RelayProvider>\n </BackofficeThemeProvider>\n );\n }\n\n return (\n <StrictMode>\n <I18nextProvider i18n={i18nInstance}>{contentNode}</I18nextProvider>\n </StrictMode>\n );\n};\n\nexport default BackofficeProvider;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA0CA,IAAM,KAAyB,MACzB,EAAM,KAAK,MAAM,MAAM,MAAU,MAC5B,MAEJ,EAAM,WAAW,GAAG,IAGrB,EAAM,SAAS,GAAG,IACb,EAAM,MAAM,GAAG,EAAE,IAEnB,IALE,IAAI,KAQT,KAAmB,GAAkB,MAA0B;CACnE,IAAM,IAAiB,EAAsB,CAAK,GAC5C,IAAqB,EAAsB,CAAQ;CAazD,OAZI,MAAuB,OAIzB,MAAmB,KACnB,EAAe,WAAW,GAAG,EAAmB,EAAE,IAE3C,IAEL,MAAmB,MACd,IAEF,GAAG,IAAqB;AACjC,GAEM,KACJ,GACA,MAEO,OAAO,YACZ,OAAO,QAAQ,CAAQ,CAAC,CAAC,KAAK,CAAC,GAAU,OAChC,CACL,GACA;CACE,GAAG;CACH,QAAQ;EACN,MAAM,EAAgB,GAAU,EAAK,OAAO,IAAI;EAChD,SAAS,MACA,EAAgB,GAAU,EAAK,OAAO,OAAO,CAAE,CAAC;EAEzD,aAAa,GAAY,MAChB,EACL,GACA,EAAK,OAAO,WAAW,GAAI,CAAM,CACnC;CAEJ;AACF,CACF,CACD,CACH,GAaI,KAA+B,EACnC,WACA,YACA,0BAKqC;CACrC,IAAM,CAAC,GAAQ,KAAa,EAA0C,IAAI,GACpE,IAAY,EAAwC,IAAI;CAkB9D,OAhBA,QAAgB;EACd,IAAM,IAAa,EAAa,GAAQ;GACtC;GACA;EACF,CAAC;EAID,OAHA,EAAU,UAAU,GACpB,EAAU,CAAU,SAEP;GAIX,AAHI,EAAU,YAAY,MACxB,EAAU,UAAU,OAEtB,EAAW,QAAQ;EACrB;CACF,GAAG;EAAC;EAAS;EAAkB;CAAM,CAAC,GAE/B;AACT,GAEM,KAAe,EACnB,WACA,0BACmC;CACnC,IAAM,IAAmB,EAAoB,GACvC,IAAyB,EAA0B,GAMnD,IAAS,EAA4B;EACzC;EACA,SANoB,SACb,EAAE,oBAAiB,IACzB,CAAC,CAAgB,CAIT;EACT;CACF,CAAC;CAMD,OAJI,KAAU,OACL,kBAAC,GAAD,CAA0B,CAAA,IAIjC,kBAAC,EAAe,UAAhB;EAAyB,OAAO,EAAO;EACrC,UAAA,kBAAC,GAAD;GACE,kBAAA;GACA,iBAAiB,EAAuB,eAAe;GACvD,UAAU,kBAAC,GAAD,CAA0B,CAAA;GACpC,SAAS,kBAAC,GAAD,CAAkB,CAAA;EAC5B,CAAA;CACsB,CAAA;AAE7B,GAEa,KACX,MACgB;CAChB,IAAM,IAAW,EAAsB,EAAM,YAAY,GAAG,GACtD,IAAiB,EAA2B,CAAQ,GAEpD,IAAiB,QACd,EAAsB,EAAM,gBAAgB,CAAQ,GAC1D,CAAC,GAAU,EAAM,cAAc,CAAC,GAC7B,IAAiB,QACd,EAA+B,GAAgB,EAAE,YAAS,CAAC,GACjE,CAAC,GAAU,CAAc,CAAC,GAEvB,IAAgB,EAAM,SACtB,IAAa,QACV,EAAyC,EAAM,UAAU,GAC/D,CAAC,EAAM,UAAU,CAAC;CAErB,QAAgB;EACd,IAAM,IAAU,EAAc,WAAW,EAAc,UACjD,IAAQ,EAAc,SAAS,EAAc;EACnD,EAA0B;GACxB;GACA;GACA,WAAW,EAAc;GACzB,WAAW,EAAc;GACzB,gBAAgB,EAAc;EAChC,CAAC;CACH,GAAG;EACD,EAAc;EACd,EAAc;EACd,EAAc;EACd,EAAc;EACd,EAAc;EACd,EAAc;EACd,EAAc;CAChB,CAAC;CAED,IAAM,IAAkB,QACf,EAAiC,EAAM,MAAM,aAAa,CAAC,CAAC,GAClE,CAAC,EAAM,MAAM,SAAS,CAAC,GAEpB,IAAe,QACZ,EAAM,MAAM,YAAY,EAAe,GAC7C,CAAC,EAAM,MAAM,QAAQ,CAAC,GACnB,CAAC,GAAa,KAAkB,EAAS,EAAa,aAAa;CAEzE,QAAgB;EACd,IAAI,IAAY,IACV,UAA4B;GAChC,AAAI,KACF,EAAe,EAAI;EAEvB;EAGA,IADA,EAAa,GAAG,eAAe,CAAa,GACxC,EAAa,eAEf,OADA,EAAc,SACD;GAEX,AADA,IAAY,IACZ,EAAa,IAAI,eAAe,CAAa;EAC/C;EAGF,IAAM,IAAa,WAAW,iBAAiB;GAC7C,AAAI,EAAa,iBACf,EAAc;EAElB,GAAG,CAAC,GAEE,IAAc,EAAM,MAAM,eAAe,CAAC,GAC1C,IAAY,EAAY,aAAa,gBACrC,IAAK,EAAY,MAAM;GAAC;GAAmB;GAAgB;EAAI;EAyBrE,OAxBA,EAAmB;GACjB,WAAW;GACX,KAAK,EAAM,MAAM;GACjB,aAAa,EAAM,MAAM;GACzB,aAAa;IACX,GAAG;IACH,WAAW;IACX;IACA,OAAO;KACL,aAAa;KACb,GAAG,EAAY;IACjB;GACF;GACA,UAAU;GACV,qBAAqB,EAAM,MAAM;GACjC,WAAW,EAAM,MAAM;EACzB,CAAC,CAAC,CACC,KAAK,CAAa,CAAC,CACnB,OAAO,MAAmB;GAGzB,AAFA,EAAc,GAEd,QAAQ,MAAM,CAAK;EACrB,CAAC,SAEU;GAGX,AAFA,IAAY,IACZ,WAAW,aAAa,CAAU,GAClC,EAAa,IAAI,eAAe,CAAa;EAC/C;CACF,GAAG;EACD;EACA;EACA,EAAM,MAAM;EACZ,EAAM,MAAM;EACZ,EAAM,MAAM;EACZ,EAAM,MAAM;EACZ,EAAM,MAAM;CACd,CAAC;CAED,IAAM,IAAc,SACX;EACL;EACA,UAAU;EACV;EACA;EACA,qBAAqB,EAAM;EAC3B,SAAS,EAAM;EACf,WAAW,EAAM;EACjB;EACA,MAAM,EAAM;EACZ,SAAS,EAAM;CACjB,IACC;EACD;EACA,EAAM;EACN,EAAM;EACN;EACA;EACA;EACA,EAAM;EACN,EAAM;EACN,EAAM;CACR,CAAC,GAEK,IAAS,QACN,EAAuB;EAC5B;EACA;EACA;EACA,SAAS,EAAM;EACf,MAAM,EAAM;EACZ,WAAW,EAAM;EACjB;EACA,oBAAoB,EAAM;CAC5B,CAAC,GACA;EACD;EACA;EACA;EACA,EAAM;EACN,EAAM;EACN;EACA,EAAM;EACN,EAAM;CACR,CAAC,GAEG,IAAc,kBAAC,GAAD,EAA+B,OAAM,aAAc,CAAA;CAmBrE,OAlBI,KAAe,MACjB,IACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAA0B,OAAO;EAAjC,UAAA,CACG,EAAM,SACP,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GACU;GACR,kBAAkB,EAAM;EACzB,CAAA,EAC4B,CAAA,CACP;CACb,CAAA,EAAA,CAAA,EACQ,CAAA,IAK3B,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAiB,MAAM;EAAe,UAAA;CAA6B,CAAA,EACzD,CAAA;AAEhB"}
1
+ {"version":3,"file":"BackofficeProvider.js","names":[],"sources":["../../../src/provider/BackofficeProvider.tsx"],"sourcesContent":["import {\n StrictMode,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ContextType,\n type JSX,\n} from 'react';\nimport { createInstance } from 'i18next';\nimport { I18nextProvider } from 'react-i18next';\nimport createRouter from '@plumile/router/routing/createRouter.js';\nimport RouterRenderer from '@plumile/router/routing/RouterRenderer.js';\nimport RoutingContext from '@plumile/router/routing/RoutingContext.js';\nimport { BackofficeThemeProvider } from '@plumile/ui/admin/theme/BackofficeThemeProvider.js';\nimport { RoutePendingBar } from '@plumile/ui/components/routing/RoutePendingBar.js';\n\nimport { type BackofficeEntityManifestMap } from '@plumile/backoffice-core/types.js';\nimport {\n RelayProvider,\n configureRelayEnvironment,\n useRelayOperationActivity,\n} from '@plumile/relay';\n\nimport { createI18nInstance } from '../i18n/createI18nInstance.js';\nimport { withBackofficeReactI18nResources } from '../i18n/resources.js';\nimport { useRelayEnvironment } from '../relay/useRelayEnvironment.js';\nimport { BackofficeConfigProvider } from './BackofficeConfigContext.js';\nimport {\n createBackofficeRoutes,\n type BackofficeRouterContext,\n} from '../router/createBackofficeRoutes.js';\nimport type { BackofficeProviderProps } from './types.js';\nimport { validateBackofficeDashboardRegistrations } from './dashboardRegistrations.js';\nimport {\n BackofficeRouteFallback,\n BackofficeStaticRouteFallback,\n} from '../components/backoffice/routing/BackofficeRouteFallback.js';\nimport { createBackofficeEntityRegistry } from './entityRegistry.js';\nimport { useBackofficeAuthRouteGate } from './useBackofficeAuthRouteGate.js';\n\nconst normalizeAbsolutePath = (value: string): string => {\n if (value.trim() === '' || value === '/') {\n return '/';\n }\n if (!value.startsWith('/')) {\n return `/${value}`;\n }\n if (value.endsWith('/')) {\n return value.slice(0, -1);\n }\n return value;\n};\n\nconst prefixRoutePath = (basePath: string, value: string): string => {\n const normalizedPath = normalizeAbsolutePath(value);\n const normalizedBasePath = normalizeAbsolutePath(basePath);\n if (normalizedBasePath === '/') {\n return normalizedPath;\n }\n if (\n normalizedPath === normalizedBasePath ||\n normalizedPath.startsWith(`${normalizedBasePath}/`)\n ) {\n return normalizedPath;\n }\n if (normalizedPath === '/') {\n return normalizedBasePath;\n }\n return `${normalizedBasePath}${normalizedPath}`;\n};\n\nconst resolveEntityManifest = (\n manifest: BackofficeEntityManifestMap,\n basePath: string,\n): BackofficeEntityManifestMap => {\n return Object.fromEntries(\n Object.entries(manifest).map(([entityId, item]) => {\n return [\n entityId,\n {\n ...item,\n routes: {\n list: prefixRoutePath(basePath, item.routes.list),\n detail: (id: string) => {\n return prefixRoutePath(basePath, item.routes.detail(id));\n },\n detailPage: (id: string, pageId: string) => {\n return prefixRoutePath(\n basePath,\n item.routes.detailPage(id, pageId),\n );\n },\n },\n } satisfies BackofficeEntityManifestMap[string],\n ] as const;\n }),\n );\n};\n\ntype RouterShellProps = {\n routes: ReturnType<typeof createBackofficeRoutes>;\n instrumentations?: BackofficeProviderProps['instrumentations'];\n};\n\ntype BackofficeRouterInstance = {\n context: NonNullable<ContextType<typeof RoutingContext>>;\n cleanup: () => void;\n};\n\nconst useBackofficeRouterInstance = ({\n routes,\n context,\n instrumentations,\n}: {\n routes: ReturnType<typeof createBackofficeRoutes>;\n context: BackofficeRouterContext;\n instrumentations?: BackofficeProviderProps['instrumentations'];\n}): BackofficeRouterInstance | null => {\n const [router, setRouter] = useState<BackofficeRouterInstance | null>(null);\n const routerRef = useRef<BackofficeRouterInstance | null>(null);\n\n useEffect(() => {\n const nextRouter = createRouter(routes, {\n context,\n instrumentations,\n });\n routerRef.current = nextRouter;\n setRouter(nextRouter);\n\n return () => {\n if (routerRef.current === nextRouter) {\n routerRef.current = null;\n }\n nextRouter.cleanup();\n };\n }, [context, instrumentations, routes]);\n\n return router;\n};\n\nconst RouterShell = ({\n routes,\n instrumentations,\n}: RouterShellProps): JSX.Element => {\n const relayEnvironment = useRelayEnvironment();\n const relayOperationActivity = useRelayOperationActivity();\n\n const routerContext = useMemo(() => {\n return { relayEnvironment };\n }, [relayEnvironment]);\n\n const router = useBackofficeRouterInstance({\n routes,\n context: routerContext,\n instrumentations,\n });\n\n if (router == null) {\n return <BackofficeRouteFallback />;\n }\n\n return (\n <RoutingContext.Provider value={router.context}>\n <RouterRenderer\n enableTransition\n externalPending={relayOperationActivity.pendingCount > 0}\n fallback={<BackofficeRouteFallback />}\n pending={<RoutePendingBar />}\n />\n </RoutingContext.Provider>\n );\n};\n\nexport const BackofficeProvider = (\n props: BackofficeProviderProps,\n): JSX.Element => {\n const basePath = normalizeAbsolutePath(props.basePath ?? '/');\n const canMountRouter = useBackofficeAuthRouteGate(basePath);\n\n const entityManifest = useMemo(() => {\n return resolveEntityManifest(props.entityManifest, basePath);\n }, [basePath, props.entityManifest]);\n const entityRegistry = useMemo(() => {\n return createBackofficeEntityRegistry(entityManifest, { basePath });\n }, [basePath, entityManifest]);\n\n const graphQLConfig = props.graphql;\n const dashboards = useMemo(() => {\n return validateBackofficeDashboardRegistrations(props.dashboards);\n }, [props.dashboards]);\n\n useEffect(() => {\n const httpUrl = graphQLConfig.httpUrl ?? graphQLConfig.endpoint;\n const wsUrl = graphQLConfig.wsUrl ?? graphQLConfig.wsEndpoint;\n configureRelayEnvironment({\n httpUrl,\n wsUrl,\n getDataId: graphQLConfig.getDataId,\n logEvents: graphQLConfig.logEvents,\n getAuthHeaders: graphQLConfig.getAuthHeaders,\n });\n }, [\n graphQLConfig.endpoint,\n graphQLConfig.getAuthHeaders,\n graphQLConfig.getDataId,\n graphQLConfig.httpUrl,\n graphQLConfig.logEvents,\n graphQLConfig.wsEndpoint,\n graphQLConfig.wsUrl,\n ]);\n\n const mergedResources = useMemo(() => {\n return withBackofficeReactI18nResources(props.i18n?.resources ?? {});\n }, [props.i18n?.resources]);\n\n const i18nInstance = useMemo(() => {\n return props.i18n?.instance ?? createInstance();\n }, [props.i18n?.instance]);\n const [isI18nReady, setIsI18nReady] = useState(i18nInstance.isInitialized);\n\n useEffect(() => {\n let isCurrent = true;\n const markI18nReady = (): void => {\n if (isCurrent) {\n setIsI18nReady(true);\n }\n };\n\n i18nInstance.on('initialized', markI18nReady);\n if (i18nInstance.isInitialized) {\n markI18nReady();\n return () => {\n isCurrent = false;\n i18nInstance.off('initialized', markI18nReady);\n };\n }\n\n const readyCheck = globalThis.setTimeout(() => {\n if (i18nInstance.isInitialized) {\n markI18nReady();\n }\n }, 0);\n\n const initOptions = props.i18n?.initOptions ?? {};\n const defaultNs = initOptions.defaultNS ?? 'translations';\n const ns = initOptions.ns ?? ['backofficeReact', 'translations', 'ui'];\n createI18nInstance({\n resources: mergedResources,\n lng: props.i18n?.lng,\n fallbackLng: props.i18n?.fallbackLng,\n initOptions: {\n ...initOptions,\n defaultNS: defaultNs,\n ns,\n react: {\n useSuspense: false,\n ...initOptions.react,\n },\n },\n instance: i18nInstance,\n useLanguageDetector: props.i18n?.useLanguageDetector,\n detection: props.i18n?.detection,\n })\n .then(markI18nReady)\n .catch((error: unknown) => {\n markI18nReady();\n // eslint-disable-next-line no-console\n console.error(error);\n });\n\n return () => {\n isCurrent = false;\n globalThis.clearTimeout(readyCheck);\n i18nInstance.off('initialized', markI18nReady);\n };\n }, [\n i18nInstance,\n mergedResources,\n props.i18n?.initOptions,\n props.i18n?.detection,\n props.i18n?.fallbackLng,\n props.i18n?.lng,\n props.i18n?.useLanguageDetector,\n ]);\n\n const configValue = useMemo(() => {\n return {\n basePath,\n entities: entityManifest,\n entityManifest,\n entityRegistry,\n filterColumnAliases: props.filterColumnAliases,\n sidebar: props.sidebar,\n dashboard: props.dashboard,\n dashboards,\n auth: props.auth,\n graphql: props.graphql,\n };\n }, [\n basePath,\n props.auth,\n props.dashboard,\n dashboards,\n entityManifest,\n entityRegistry,\n props.filterColumnAliases,\n props.graphql,\n props.sidebar,\n ]);\n\n const routes = useMemo(() => {\n return createBackofficeRoutes({\n basePath,\n entityManifest,\n entityRegistry,\n sidebar: props.sidebar,\n auth: props.auth,\n dashboard: props.dashboard,\n dashboards,\n toolsOperationPage: props.toolsOperationPage,\n });\n }, [\n basePath,\n entityManifest,\n entityRegistry,\n props.auth,\n props.dashboard,\n dashboards,\n props.toolsOperationPage,\n props.sidebar,\n ]);\n\n let contentNode = <BackofficeStaticRouteFallback label=\"Loading...\" />;\n if (isI18nReady && canMountRouter) {\n contentNode = (\n <BackofficeThemeProvider>\n <RelayProvider>\n <BackofficeConfigProvider value={configValue}>\n {props.overlay}\n <RouterShell\n routes={routes}\n instrumentations={props.instrumentations}\n />\n </BackofficeConfigProvider>\n </RelayProvider>\n </BackofficeThemeProvider>\n );\n }\n\n return (\n <StrictMode>\n <I18nextProvider i18n={i18nInstance}>{contentNode}</I18nextProvider>\n </StrictMode>\n );\n};\n\nexport default BackofficeProvider;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typedRelayHooks.js","names":[],"sources":["../../../src/relay/typedRelayHooks.ts"],"sourcesContent":["import * as ReactRelay from 'react-relay';\nimport type { GraphQLTaggedNode, OperationType } from 'relay-runtime';\n\nexport type BackofficeRelayKey<TData = unknown> = Readonly<{\n ' $data'?: TData;\n ' $fragmentSpreads': unknown;\n}>;\n\nexport type BackofficeRelayKeyData<TKey extends BackofficeRelayKey> =\n Required<TKey>[' $data'];\n\nexport type BackofficeFragmentInput = GraphQLTaggedNode;\n\nexport function useBackofficeFragment<TKey extends BackofficeRelayKey>(\n fragment: BackofficeFragmentInput,\n ref: TKey,\n): BackofficeRelayKeyData<TKey>;\nexport function useBackofficeFragment<TKey extends BackofficeRelayKey>(\n fragment: BackofficeFragmentInput,\n ref: TKey | null | undefined,\n): BackofficeRelayKeyData<TKey> | null | undefined;\nexport function useBackofficeFragment<TKey extends BackofficeRelayKey>(\n fragment: BackofficeFragmentInput,\n ref: TKey | null | undefined,\n): BackofficeRelayKeyData<TKey> | null | undefined {\n return ReactRelay.useFragment(fragment, ref);\n}\n\nexport function useBackofficePaginationFragment<\n TQuery extends OperationType,\n TKey extends BackofficeRelayKey,\n>(fragment: BackofficeFragmentInput, ref: TKey) {\n return ReactRelay.usePaginationFragment<TQuery, TKey>(fragment, ref);\n}\n\n/**\n * Dynamic backoffice manifests erase the generated Relay key while crossing the\n * package boundary. Keep that unavoidable conversion in this adapter instead\n * of letting every renderer choose its own result type.\n */\nexport const useBackofficeRuntimeFragment = (\n fragment: BackofficeFragmentInput,\n ref: unknown,\n): unknown => {\n return ReactRelay.useFragment(fragment, ref as BackofficeRelayKey);\n};\n\nexport const useBackofficeRuntimePaginationFragment = <\n TQuery extends OperationType,\n>(\n fragment: BackofficeFragmentInput,\n ref: unknown,\n) => {\n return ReactRelay.usePaginationFragment<TQuery, BackofficeRelayKey>(\n fragment,\n ref as BackofficeRelayKey,\n );\n};\n\nexport const useBackofficePreloadedQuery = <TQuery extends OperationType>(\n query: GraphQLTaggedNode,\n preloadedQuery: Parameters<typeof ReactRelay.usePreloadedQuery<TQuery>>[1],\n): TQuery['response'] => {\n return ReactRelay.usePreloadedQuery<TQuery>(query, preloadedQuery);\n};\n\nexport function readBackofficeInlineData<TKey extends BackofficeRelayKey>(\n fragment: GraphQLTaggedNode,\n ref: TKey,\n): BackofficeRelayKeyData<TKey>;\nexport function readBackofficeInlineData<TKey extends BackofficeRelayKey>(\n fragment: GraphQLTaggedNode,\n ref: TKey | null | undefined,\n): BackofficeRelayKeyData<TKey> | null | undefined;\nexport function readBackofficeInlineData<TKey extends BackofficeRelayKey>(\n fragment: GraphQLTaggedNode,\n ref: TKey | null | undefined,\n): BackofficeRelayKeyData<TKey> | null | undefined {\n return ReactRelay.readInlineData(fragment, ref);\n}\n"],"mappings":";;AAqBA,SAAgB,EACd,GACA,GACiD;CACjD,OAAO,EAAW,YAAY,GAAU,CAAG;AAC7C;AAEA,SAAgB,EAGd,GAAmC,GAAW;CAC9C,OAAO,EAAW,sBAAoC,GAAU,CAAG;AACrE;AAOA,IAAa,KACX,GACA,MAEO,EAAW,YAAY,GAAU,CAAyB,GAGtD,KAGX,GACA,MAEO,EAAW,sBAChB,GACA,CACF,GAGW,KACX,GACA,MAEO,EAAW,kBAA0B,GAAO,CAAc;AAWnE,SAAgB,EACd,GACA,GACiD;CACjD,OAAO,EAAW,eAAe,GAAU,CAAG;AAChD"}
1
+ {"version":3,"file":"typedRelayHooks.js","names":[],"sources":["../../../src/relay/typedRelayHooks.ts"],"sourcesContent":["import * as ReactRelay from 'react-relay';\nimport type { GraphQLTaggedNode, OperationType } from 'relay-runtime';\nimport type {\n BackofficeRelayFragmentData,\n BackofficeRelayFragmentKey,\n} from '@plumile/backoffice-core/types.js';\n\nexport type BackofficeRelayKey<TData = unknown> =\n BackofficeRelayFragmentKey<TData>;\n\nexport type BackofficeRelayKeyData<TKey extends BackofficeRelayKey> =\n BackofficeRelayFragmentData<TKey>;\n\nexport type BackofficeFragmentInput = GraphQLTaggedNode;\n\nexport function useBackofficeFragment<TKey extends BackofficeRelayKey>(\n fragment: BackofficeFragmentInput,\n ref: TKey,\n): BackofficeRelayKeyData<TKey>;\nexport function useBackofficeFragment<TKey extends BackofficeRelayKey>(\n fragment: BackofficeFragmentInput,\n ref: TKey | null | undefined,\n): BackofficeRelayKeyData<TKey> | null | undefined;\nexport function useBackofficeFragment<TKey extends BackofficeRelayKey>(\n fragment: BackofficeFragmentInput,\n ref: TKey | null | undefined,\n): BackofficeRelayKeyData<TKey> | null | undefined {\n return ReactRelay.useFragment(fragment, ref);\n}\n\nexport function useBackofficePaginationFragment<\n TQuery extends OperationType,\n TKey extends BackofficeRelayKey,\n>(fragment: BackofficeFragmentInput, ref: TKey) {\n return ReactRelay.usePaginationFragment<TQuery, TKey>(fragment, ref);\n}\n\n/**\n * Dynamic backoffice manifests erase the generated Relay key while crossing the\n * package boundary. Keep that unavoidable conversion in this adapter instead\n * of letting every renderer choose its own result type.\n */\nexport const useBackofficeRuntimeFragment = (\n fragment: BackofficeFragmentInput,\n ref: unknown,\n): unknown => {\n return ReactRelay.useFragment(fragment, ref as BackofficeRelayKey);\n};\n\nexport const useBackofficeRuntimePaginationFragment = <\n TQuery extends OperationType,\n>(\n fragment: BackofficeFragmentInput,\n ref: unknown,\n) => {\n return ReactRelay.usePaginationFragment<TQuery, BackofficeRelayKey>(\n fragment,\n ref as BackofficeRelayKey,\n );\n};\n\nexport const useBackofficePreloadedQuery = <TQuery extends OperationType>(\n query: GraphQLTaggedNode,\n preloadedQuery: Parameters<typeof ReactRelay.usePreloadedQuery<TQuery>>[1],\n): TQuery['response'] => {\n return ReactRelay.usePreloadedQuery<TQuery>(query, preloadedQuery);\n};\n\nexport function readBackofficeInlineData<TKey extends BackofficeRelayKey>(\n fragment: GraphQLTaggedNode,\n ref: TKey,\n): BackofficeRelayKeyData<TKey>;\nexport function readBackofficeInlineData<TKey extends BackofficeRelayKey>(\n fragment: GraphQLTaggedNode,\n ref: TKey | null | undefined,\n): BackofficeRelayKeyData<TKey> | null | undefined;\nexport function readBackofficeInlineData<TKey extends BackofficeRelayKey>(\n fragment: GraphQLTaggedNode,\n ref: TKey | null | undefined,\n): BackofficeRelayKeyData<TKey> | null | undefined {\n return ReactRelay.readInlineData(fragment, ref);\n}\n"],"mappings":";;AAuBA,SAAgB,EACd,GACA,GACiD;CACjD,OAAO,EAAW,YAAY,GAAU,CAAG;AAC7C;AAEA,SAAgB,EAGd,GAAmC,GAAW;CAC9C,OAAO,EAAW,sBAAoC,GAAU,CAAG;AACrE;AAOA,IAAa,KACX,GACA,MAEO,EAAW,YAAY,GAAU,CAAyB,GAGtD,KAGX,GACA,MAEO,EAAW,sBAChB,GACA,CACF,GAGW,KACX,GACA,MAEO,EAAW,kBAA0B,GAAO,CAAc;AAWnE,SAAgB,EACd,GACA,GACiD;CACjD,OAAO,EAAW,eAAe,GAAU,CAAG;AAChD"}
@@ -1,5 +1,5 @@
1
1
  //#region src/storybook/relay/RelayStory.css.ts
2
- var e = "txvbqbwxb", t = "txvbqbhbf", n = "txvbqb96 txvbqb1bl1", r = "txvbqbryx";
2
+ var e = "txvbqbev7", t = "txvbqb1cs", n = "txvbqb6cj txvbqbg4", r = "txvbqbal1";
3
3
  //#endregion
4
4
  export { r as errorAction, e as errorContainer, n as errorMessage, t as errorTitle };
5
5
 
package/lib/esm/style.css CHANGED
@@ -1,2 +1,2 @@
1
- .w8yhmy1:hover:not(:disabled){background-color:var(--_1ie8xnc5d);color:var(--_1ie8xnc5e);border-color:var(--_1ie8xnc5f)}.oa1uye0{column-gap:var(--_1ie8xnc2f);grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"content pickAction clearAction";width:100%;min-height:2.5rem}.oa1uye0:hover{background-color:var(--_1ie8xnc4l)}.oa1uye1{grid-area:content;min-height:100%}.oa1uye1:focus-visible{outline:2px solid var(--_1ie8xnc4e);outline-offset:2px}.oa1uye1:disabled{cursor:not-allowed;opacity:.65}.oa1uye2:hover:not(:disabled){color:var(--_1ie8xnc4r);background-color:var(--_1ie8xnc4l)}.oa1uye2:focus-visible{outline:2px solid var(--_1ie8xnc4e);outline-offset:2px}.oa1uye2:disabled{cursor:not-allowed;opacity:.65}.oa1uye3{grid-area:pickAction}.oa1uye4{grid-area:clearAction}._13200uy0{grid-template-columns:minmax(0,1fr) repeat(4,minmax(0,auto))}.ds2thc0{min-width:3.75rem}.ds2thc1:hover:not(:disabled){color:var(--_1ie8xnc4r);background-color:var(--_1ie8xnc4l)}.ds2thc1:focus-visible{outline:2px solid var(--_1ie8xnc4e);outline-offset:2px}.ds2thc1:disabled{cursor:not-allowed;opacity:.45}.u4nszr0{min-height:92px}.u4nszr0:hover{border-color:var(--_1ie8xnc59);background-color:var(--_1ie8xnc4l);transform:translateY(-1px)}.u4nszr0:focus-visible{outline:2px solid var(--_1ie8xnc4e);outline-offset:2px}._1xws1b00{color:var(--_1ie8xnc1cu)}._1xws1b00:hover:not(:disabled){background-color:var(--_1ie8xnc1cv);color:var(--_1ie8xnc1cw)}._1xws1b00:focus-visible{box-shadow:var(--_1ie8xnc1cx);outline:none}._1xws1b00:disabled{cursor:not-allowed;opacity:.6}._80s44h0{font-size:var(--_1ie8xnc1ce)}@media screen and (width<=1023px){._1f81p5z0{grid-template-columns:minmax(0,1fr)}}._1q232kj0{grid-template-columns:auto minmax(0,1fr);display:inline-grid}qbwcuem qbwcuek txvbqb10mx txvbqb11ki txvbqb12hq txvbqbxtt txvbqbfqq txvbqbey txvbqbls4 txvbqbhd8 txvbqbvb6 txvbqb1bgr txvbqb1b8r txvbqb1d9 txvbqb2sj txvbqb29r txvbqb2wi txvbqbhbf txvbqbo4m txvbqb3f txvbqb7g txvbqb75 txvbqb7t qbwcuel txvbqb1euf txvbqb1ctj txvbqb1du7 txvbqb1e3b qbwcue0 txvbqb1fgi txvbqb1gaq:hover .kk18lv0{color:var(--_1ie8xnc6b)}._8o9eh80:focus-visible{box-shadow:inset 0 0 0 2px var(--_1ie8xnc4e);outline:none}
1
+ .w8yhmy1:hover:not(:disabled){background-color:var(--_1ie8xnc5d);color:var(--_1ie8xnc5e);border-color:var(--_1ie8xnc5f)}.oa1uye0{column-gap:var(--_1ie8xnc2f);grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"content pickAction clearAction";width:100%;min-height:2.5rem}.oa1uye0:hover{background-color:var(--_1ie8xnc4l)}.oa1uye1{grid-area:content;min-height:100%}.oa1uye1:focus-visible{outline:2px solid var(--_1ie8xnc4e);outline-offset:2px}.oa1uye1:disabled{cursor:not-allowed;opacity:.65}.oa1uye2:hover:not(:disabled){color:var(--_1ie8xnc4r);background-color:var(--_1ie8xnc4l)}.oa1uye2:focus-visible{outline:2px solid var(--_1ie8xnc4e);outline-offset:2px}.oa1uye2:disabled{cursor:not-allowed;opacity:.65}.oa1uye3{grid-area:pickAction}.oa1uye4{grid-area:clearAction}._13200uy0{grid-template-columns:minmax(0,1fr) repeat(4,minmax(0,auto))}.ds2thc0{min-width:3.75rem}.ds2thc1:hover:not(:disabled){color:var(--_1ie8xnc4r);background-color:var(--_1ie8xnc4l)}.ds2thc1:focus-visible{outline:2px solid var(--_1ie8xnc4e);outline-offset:2px}.ds2thc1:disabled{cursor:not-allowed;opacity:.45}.u4nszr0{min-height:92px}.u4nszr0:hover{border-color:var(--_1ie8xnc59);background-color:var(--_1ie8xnc4l);transform:translateY(-1px)}.u4nszr0:focus-visible{outline:2px solid var(--_1ie8xnc4e);outline-offset:2px}._1xws1b00{color:var(--_1ie8xnc1cu)}._1xws1b00:hover:not(:disabled){background-color:var(--_1ie8xnc1cv);color:var(--_1ie8xnc1cw)}._1xws1b00:focus-visible{box-shadow:var(--_1ie8xnc1cx);outline:none}._1xws1b00:disabled{cursor:not-allowed;opacity:.6}._80s44h0{font-size:var(--_1ie8xnc1ce)}@media screen and (width<=1023px){._1f81p5z0{grid-template-columns:minmax(0,1fr)}}._1q232kj0{grid-template-columns:auto minmax(0,1fr);display:inline-grid}qbwcuem qbwcuek txvbqb5bv txvbqb2cx txvbqb8db txvbqb6gp txvbqbdt5 txvbqbift txvbqbj5d txvbqbe1 txvbqba5 txvbqbiu txvbqbms txvbqblc txvbqbn3 txvbqb1cs txvbqb1ol txvbqb3f txvbqb7g txvbqb75 txvbqb7t qbwcuel txvbqbos9 txvbqbmrd txvbqbns1 txvbqbo15 qbwcue0 txvbqbpec txvbqbq8k:hover .kk18lv0{color:var(--_1ie8xnc6b)}._8o9eh80:focus-visible{box-shadow:inset 0 0 0 2px var(--_1ie8xnc4e);outline:none}
2
2
  /*$vite$:1*/
@@ -0,0 +1,3 @@
1
+ import type { UseAuthReturn } from '../hooks/useAuth.js';
2
+ export declare const createStoryAuth: (overrides?: Partial<UseAuthReturn>) => UseAuthReturn;
3
+ //# sourceMappingURL=authStoryFixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authStoryFixtures.d.ts","sourceRoot":"","sources":["../../../src/auth/authStoryFixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,eAAO,MAAM,eAAe,eACf,OAAO,CAAC,aAAa,CAAC,KAChC,aAiCF,CAAC"}
@@ -1,19 +1,5 @@
1
- import { Component, type ReactNode } from 'react';
2
- export type BackofficeErrorBoundaryProps = {
3
- children: ReactNode;
4
- fallback: (args: {
5
- error: unknown;
6
- reset: () => void;
7
- }) => ReactNode;
8
- };
9
- type State = {
10
- error: unknown;
11
- };
12
- export declare class BackofficeErrorBoundary extends Component<BackofficeErrorBoundaryProps, State> {
13
- state: State;
14
- static getDerivedStateFromError(error: unknown): State;
15
- reset: () => void;
16
- render(): ReactNode;
17
- }
1
+ import { ErrorBoundary, type ErrorBoundaryProps } from '@plumile/ui/components/feedback/ErrorBoundary.js';
2
+ export type BackofficeErrorBoundaryProps = ErrorBoundaryProps;
3
+ export declare const BackofficeErrorBoundary: typeof ErrorBoundary;
18
4
  export default BackofficeErrorBoundary;
19
5
  //# sourceMappingURL=BackofficeErrorBoundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/errors/BackofficeErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC;CACtE,CAAC;AAEF,KAAK,KAAK,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhC,qBAAa,uBAAwB,SAAQ,SAAS,CACpD,4BAA4B,EAC5B,KAAK,CACN;IACQ,KAAK,EAAE,KAAK,CAAmB;IAEtC,OAAc,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAE5D;IAEM,KAAK,QAAO,IAAI,CAErB;IAEK,MAAM,IAAI,SAAS,CAQzB;CACF;eAEc,uBAAuB"}
1
+ {"version":3,"file":"BackofficeErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/errors/BackofficeErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,EACxB,MAAM,kDAAkD,CAAC;AAE1D,MAAM,MAAM,4BAA4B,GAAG,kBAAkB,CAAC;AAE9D,eAAO,MAAM,uBAAuB,sBAAgB,CAAC;eAEtC,uBAAuB"}
@@ -4,15 +4,11 @@ export type BackofficeEntityDetailNotFoundState = {
4
4
  description?: ReactNode;
5
5
  actions?: ReactNode;
6
6
  };
7
- export type BackofficeEntityDetailScaffoldProps<NodeUnion extends {
8
- __typename: string;
9
- }> = {
7
+ export type BackofficeEntityDetailScaffoldProps<NodeUnion> = {
10
8
  node: NodeUnion | null | undefined;
11
9
  render: (node: NodeUnion) => JSX.Element | null;
12
10
  notFound: BackofficeEntityDetailNotFoundState;
13
11
  };
14
- export declare const BackofficeEntityDetailScaffold: <NodeUnion extends {
15
- __typename: string;
16
- }>({ node, render, notFound, }: BackofficeEntityDetailScaffoldProps<NodeUnion>) => JSX.Element;
12
+ export declare const BackofficeEntityDetailScaffold: <NodeUnion>({ node, render, notFound, }: BackofficeEntityDetailScaffoldProps<NodeUnion>) => JSX.Element;
17
13
  export default BackofficeEntityDetailScaffold;
18
14
  //# sourceMappingURL=BackofficeEntityDetailScaffold.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeEntityDetailScaffold.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjD,MAAM,MAAM,mCAAmC,GAAG;IAChD,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mCAAmC,CAC7C,SAAS,SAAS;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,IACtC;IACF,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IAChD,QAAQ,EAAE,mCAAmC,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,SAAS,SAAS;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,+BAKvC,mCAAmC,CAAC,SAAS,CAAC,KAAG,GAAG,CAAC,OAuBvD,CAAC;eAEa,8BAA8B"}
1
+ {"version":3,"file":"BackofficeEntityDetailScaffold.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjD,MAAM,MAAM,mCAAmC,GAAG;IAChD,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mCAAmC,CAAC,SAAS,IAAI;IAC3D,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IAChD,QAAQ,EAAE,mCAAmC,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,+BAIrD,mCAAmC,CAAC,SAAS,CAAC,KAAG,GAAG,CAAC,OAuBvD,CAAC;eAEa,8BAA8B"}
@@ -1,7 +1,6 @@
1
1
  import { type JSX, type ReactNode } from 'react';
2
2
  import { type DataTableColumn, type GetRowId } from '@plumile/ui/components/data-table/DataTable.js';
3
3
  import type { BackofficeListState, BackofficeRuntimeResolvedListFacetConfig } from '@plumile/backoffice-core/types.js';
4
- import type { BackofficeFilterDrawerState } from '../../../provider/BackofficeListUiStateContext.js';
5
4
  type RuntimeWhere = Record<string, unknown>;
6
5
  type RuntimeSort = string;
7
6
  type Props<RowView> = {
@@ -32,7 +31,6 @@ type Props<RowView> = {
32
31
  virtualize?: boolean;
33
32
  variant?: 'page' | 'embedded';
34
33
  showFilters?: boolean;
35
- filterDrawerState?: BackofficeFilterDrawerState;
36
34
  };
37
35
  export declare const BackofficeEntityListScaffold: <RowView>(props: Props<RowView>) => JSX.Element | null;
38
36
  export default BackofficeEntityListScaffold;
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeEntityListScaffold.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/scaffolds/BackofficeEntityListScaffold.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAmBf,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,QAAQ,EACd,MAAM,gDAAgD,CAAC;AAWxD,OAAO,KAAK,EAEV,mBAAmB,EAEnB,wCAAwC,EAEzC,MAAM,mCAAmC,CAAC;AAc3C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAkIrG,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B,KAAK,KAAK,CAAC,OAAO,IAAI;IACpB,MAAM,EAAE,wCAAwC,CAAC;IACjD,KAAK,EAAE,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACtD,SAAS,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC;IAC1E,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,EAAE,SAAS,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,2BAA2B,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,OAAO,SAC3C,KAAK,CAAC,OAAO,CAAC,KACpB,GAAG,CAAC,OAAO,GAAG,IA+jChB,CAAC;eAEa,4BAA4B"}
1
+ {"version":3,"file":"BackofficeEntityListScaffold.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/scaffolds/BackofficeEntityListScaffold.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAef,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,QAAQ,EACd,MAAM,gDAAgD,CAAC;AAWxD,OAAO,KAAK,EAEV,mBAAmB,EAEnB,wCAAwC,EAEzC,MAAM,mCAAmC,CAAC;AA+I3C,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B,KAAK,KAAK,CAAC,OAAO,IAAI;IACpB,MAAM,EAAE,wCAAwC,CAAC;IACjD,KAAK,EAAE,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACtD,SAAS,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC;IAC1E,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,EAAE,SAAS,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,OAAO,SAC3C,KAAK,CAAC,OAAO,CAAC,KACpB,GAAG,CAAC,OAAO,GAAG,IAg/BhB,CAAC;eAEa,4BAA4B"}
@@ -1,8 +1,8 @@
1
1
  import { type JSX, type ReactNode } from 'react';
2
- import { type TabItem } from '@plumile/ui/atomic/molecules/tabs/Tabs.js';
2
+ import { type NavigationTabItem } from '@plumile/ui/atomic/molecules/tabs/NavigationTabs.js';
3
3
  export type BackofficeTabbedDetailShellProps = {
4
4
  headerNode: ReactNode;
5
- tabs?: readonly TabItem[];
5
+ tabs?: readonly NavigationTabItem[];
6
6
  activeId?: string;
7
7
  children: ReactNode;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeTabbedDetailShell.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/scaffolds/BackofficeTabbedDetailShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAQ,KAAK,OAAO,EAAE,MAAM,2CAA2C,CAAC;AAK/E,MAAM,MAAM,gCAAgC,GAAG;IAC7C,UAAU,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,2BAA2B,8CAKrC,gCAAgC,KAAG,GAAG,CAAC,OAyBzC,CAAC;eAEa,2BAA2B"}
1
+ {"version":3,"file":"BackofficeTabbedDetailShell.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/scaffolds/BackofficeTabbedDetailShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,qDAAqD,CAAC;AAK7D,MAAM,MAAM,gCAAgC,GAAG;IAC7C,UAAU,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,2BAA2B,8CAKrC,gCAAgC,KAAG,GAAG,CAAC,OAiBzC,CAAC;eAEa,2BAA2B"}
@@ -1,12 +1,2 @@
1
- import { type JSX } from 'react';
2
- export type TechnicalIdentifierVariant = 'id' | 'hash' | 'token' | 'fingerprint' | 'external';
3
- export declare const normalizeTechnicalIdentifier: (value: string | number | null | undefined) => string | null;
4
- export declare const abbreviateTechnicalIdentifier: (value: string, variant?: TechnicalIdentifierVariant) => string;
5
- export type TechnicalIdentifierValueProps = {
6
- value: string | number | null | undefined;
7
- copyValue?: string | null | undefined;
8
- variant?: TechnicalIdentifierVariant;
9
- copyLabel: string;
10
- };
11
- export declare const TechnicalIdentifierValue: ({ value, copyValue, variant, copyLabel, }: TechnicalIdentifierValueProps) => JSX.Element | null;
1
+ export { abbreviateTechnicalIdentifier, normalizeTechnicalIdentifier, TechnicalIdentifierValue, type TechnicalIdentifierValueProps, type TechnicalIdentifierVariant, } from '@plumile/ui/components/data/TechnicalIdentifier.js';
12
2
  //# sourceMappingURL=TechnicalIdentifierValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TechnicalIdentifierValue.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/technical/TechnicalIdentifierValue.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAQjC,MAAM,MAAM,0BAA0B,GACpC,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AAEvD,eAAO,MAAM,4BAA4B,UAChC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxC,MAAM,GAAG,IASX,CAAC;AAEF,eAAO,MAAM,6BAA6B,UACjC,MAAM,YACJ,0BAA0B,KAClC,MAaF,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,wBAAwB,8CAKlC,6BAA6B,KAAG,GAAG,CAAC,OAAO,GAAG,IAahD,CAAC"}
1
+ {"version":3,"file":"TechnicalIdentifierValue.d.ts","sourceRoot":"","sources":["../../../../../src/components/backoffice/technical/TechnicalIdentifierValue.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,GAChC,MAAM,oDAAoD,CAAC"}
@@ -307,9 +307,6 @@ export declare const backofficeReactI18nResources: {
307
307
  no: string;
308
308
  yes: string;
309
309
  };
310
- drawer: {
311
- emptySearchResults: string;
312
- };
313
310
  placeholders: {
314
311
  anyEntity: string;
315
312
  search: string;
@@ -320,9 +317,6 @@ export declare const backofficeReactI18nResources: {
320
317
  };
321
318
  selectedEntities_one: string;
322
319
  selectedEntities_other: string;
323
- trigger: string;
324
- triggerWithCount_one: string;
325
- triggerWithCount_other: string;
326
320
  };
327
321
  flags: {
328
322
  agentManaged: {
@@ -786,9 +780,6 @@ export declare const backofficeReactI18nResources: {
786
780
  no: string;
787
781
  yes: string;
788
782
  };
789
- drawer: {
790
- emptySearchResults: string;
791
- };
792
783
  placeholders: {
793
784
  anyEntity: string;
794
785
  search: string;
@@ -800,10 +791,6 @@ export declare const backofficeReactI18nResources: {
800
791
  selectedEntities_one: string;
801
792
  selectedEntities_many: string;
802
793
  selectedEntities_other: string;
803
- trigger: string;
804
- triggerWithCount_one: string;
805
- triggerWithCount_many: string;
806
- triggerWithCount_other: string;
807
794
  };
808
795
  flags: {
809
796
  agentManaged: {
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/i18n/resources.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,SAAS,CAAC;AAI1D,eAAO,MAAM,4BAA4B;aACvC,EAAE;iBAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aACrB,EAAE;iBAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACb,CAAC;AAEX,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC;AAsB/E,wBAAgB,gCAAgC,CAC9C,YAAY,GAAE,QAAa,GAC1B,QAAQ,CAsBV"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/i18n/resources.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,SAAS,CAAC;AAI1D,eAAO,MAAM,4BAA4B;aACvC,EAAE;iBAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aACrB,EAAE;iBAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACb,CAAC;AAEX,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC;AAsB/E,wBAAgB,gCAAgC,CAC9C,YAAY,GAAE,QAAa,GAC1B,QAAQ,CAsBV"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeEntityDetailLayoutPage.d.ts","sourceRoot":"","sources":["../../../src/pages/BackofficeEntityDetailLayoutPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ3D,OAAO,KAAK,EACV,4BAA4B,EAC5B,uCAAuC,EACvC,yCAAyC,EAC1C,MAAM,mCAAmC,CAAC;AAmE3C,MAAM,MAAM,qCAAqC,GAAG;IAClD,cAAc,EAAE,4BAA4B,CAAC;IAC7C,MAAM,EAAE,yCAAyC,CAAC;IAClD,QAAQ,EAAE,uCAAuC,CAAC;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAkNF,eAAO,MAAM,gCAAgC,oCAI1C,qCAAqC,KAAG,GAAG,CAAC,OAgD9C,CAAC;eAEa,gCAAgC"}
1
+ {"version":3,"file":"BackofficeEntityDetailLayoutPage.d.ts","sourceRoot":"","sources":["../../../src/pages/BackofficeEntityDetailLayoutPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ3D,OAAO,KAAK,EACV,4BAA4B,EAC5B,uCAAuC,EACvC,yCAAyC,EAC1C,MAAM,mCAAmC,CAAC;AAmE3C,MAAM,MAAM,qCAAqC,GAAG;IAClD,cAAc,EAAE,4BAA4B,CAAC;IAC7C,MAAM,EAAE,yCAAyC,CAAC;IAClD,QAAQ,EAAE,uCAAuC,CAAC;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAsNF,eAAO,MAAM,gCAAgC,oCAI1C,qCAAqC,KAAG,GAAG,CAAC,OAgD9C,CAAC;eAEa,gCAAgC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeEntityDetailPage.d.ts","sourceRoot":"","sources":["../../../src/pages/BackofficeEntityDetailPage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAwC,MAAM,OAAO,CAAC;AAWvE,OAAO,KAAK,EACV,qCAAqC,EAEtC,MAAM,mCAAmC,CAAC;AAgE3C,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,qCAAqC,CAAC;CACjD,CAAC;AA8pBF,eAAO,MAAM,0BAA0B,kBAEpC,+BAA+B,KAAG,GAAG,CAAC,OAOxC,CAAC;eAEa,0BAA0B"}
1
+ {"version":3,"file":"BackofficeEntityDetailPage.d.ts","sourceRoot":"","sources":["../../../src/pages/BackofficeEntityDetailPage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAwC,MAAM,OAAO,CAAC;AAWvE,OAAO,KAAK,EACV,qCAAqC,EAEtC,MAAM,mCAAmC,CAAC;AAgE3C,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,qCAAqC,CAAC;CACjD,CAAC;AAipBF,eAAO,MAAM,0BAA0B,kBAEpC,+BAA+B,KAAG,GAAG,CAAC,OAOxC,CAAC;eAEa,0BAA0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeEntityListDataPage.d.ts","sourceRoot":"","sources":["../../../src/pages/BackofficeEntityListDataPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EAMT,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAczF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,EAAE,+BAA+B,CAAC;CAC3C,CAAC;AAuKF,eAAO,MAAM,4BAA4B,kBAEtC,iCAAiC,KAAG,GAAG,CAAC,OAAO,GAAG,IAiHpD,CAAC;eAEa,4BAA4B"}
1
+ {"version":3,"file":"BackofficeEntityListDataPage.d.ts","sourceRoot":"","sources":["../../../src/pages/BackofficeEntityListDataPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EAMT,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAczF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,EAAE,+BAA+B,CAAC;CAC3C,CAAC;AAqKF,eAAO,MAAM,4BAA4B,kBAEtC,iCAAiC,KAAG,GAAG,CAAC,OAAO,GAAG,IA+GpD,CAAC;eAEa,4BAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeEntityListPage.d.ts","sourceRoot":"","sources":["../../../src/pages/BackofficeEntityListPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,GAAG,EACR,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EACV,4BAA4B,EAC5B,iCAAiC,EACjC,wCAAwC,EAEzC,MAAM,mCAAmC,CAAC;AAoC3C,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,4BAA4B,CAAC;IAC7C,MAAM,EAAE,wCAAwC,CAAC;IACjD,QAAQ,EAAE,iCAAiC,CAAC;CAC7C,CAAC;AA4SF,eAAO,MAAM,wBAAwB,0CAIlC,6BAA6B,KAAG,GAAG,CAAC,OAAO,GAAG,IAYhD,CAAC;eAEa,wBAAwB"}
1
+ {"version":3,"file":"BackofficeEntityListPage.d.ts","sourceRoot":"","sources":["../../../src/pages/BackofficeEntityListPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,GAAG,EACR,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EACV,4BAA4B,EAC5B,iCAAiC,EACjC,wCAAwC,EAEzC,MAAM,mCAAmC,CAAC;AAgC3C,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,4BAA4B,CAAC;IAC7C,MAAM,EAAE,wCAAwC,CAAC;IACjD,QAAQ,EAAE,iCAAiC,CAAC;CAC7C,CAAC;AAqSF,eAAO,MAAM,wBAAwB,0CAIlC,6BAA6B,KAAG,GAAG,CAAC,OAAO,GAAG,IAYhD,CAAC;eAEa,wBAAwB"}
@@ -1,7 +1,6 @@
1
1
  import { type JSX } from 'react';
2
2
  import { type DataTableColumn, type GetRowId } from '@plumile/ui/components/data-table/DataTable.js';
3
3
  import type { useBackofficeListUrlState } from '../hooks/useBackofficeListUrlState.js';
4
- import type { BackofficeFilterDrawerState } from '../provider/BackofficeListUiStateContext.js';
5
4
  import type { ConnectionListConfig } from './BackofficeEntityListPage.helpers.js';
6
5
  export type BackofficeEntityListRouteContextValue = {
7
6
  config: ConnectionListConfig;
@@ -13,7 +12,6 @@ export type BackofficeEntityListRouteContextValue = {
13
12
  getRowId: GetRowId<unknown>;
14
13
  countFetchKey: number;
15
14
  bumpCountFetchKey: () => void;
16
- filterDrawerState: BackofficeFilterDrawerState;
17
15
  registerRefresh: (refresh: (() => void) | null) => void;
18
16
  };
19
17
  export declare const BackofficeEntityListRouteProvider: ({ children, value, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeEntityListRouteContext.d.ts","sourceRoot":"","sources":["../../../src/pages/BackofficeEntityListRouteContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,QAAQ,EACd,MAAM,gDAAgD,CAAC;AAExD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAElF,MAAM,MAAM,qCAAqC,GAAG;IAClD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC;IAC7D,SAAS,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,WAAW,CAAC,CAAC;IACrE,aAAa,EAAE,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,SAAS,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD,CAAC;AAKF,eAAO,MAAM,iCAAiC,yBAG3C;IACD,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;IACtB,KAAK,EAAE,qCAAqC,CAAC;CAC9C,KAAG,GAAG,CAAC,OAMP,CAAC;AAEF,eAAO,MAAM,mCAAmC,QAC1C,qCAMH,CAAC"}
1
+ {"version":3,"file":"BackofficeEntityListRouteContext.d.ts","sourceRoot":"","sources":["../../../src/pages/BackofficeEntityListRouteContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,QAAQ,EACd,MAAM,gDAAgD,CAAC;AAExD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAElF,MAAM,MAAM,qCAAqC,GAAG;IAClD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC;IAC7D,SAAS,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,WAAW,CAAC,CAAC;IACrE,aAAa,EAAE,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,SAAS,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD,CAAC;AAKF,eAAO,MAAM,iCAAiC,yBAG3C;IACD,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;IACtB,KAAK,EAAE,qCAAqC,CAAC;CAC9C,KAAG,GAAG,CAAC,OAMP,CAAC;AAEF,eAAO,MAAM,mCAAmC,QAC1C,qCAMH,CAAC"}