@darajs/core 1.20.2 → 1.21.0

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 (213) hide show
  1. package/dist/actions/navigate-to.d.ts.map +1 -1
  2. package/dist/actions/navigate-to.js +5 -1
  3. package/dist/actions/navigate-to.js.map +1 -1
  4. package/dist/api/core.d.ts +0 -19
  5. package/dist/api/core.d.ts.map +1 -1
  6. package/dist/api/core.js +1 -69
  7. package/dist/api/core.js.map +1 -1
  8. package/dist/api/index.d.ts +1 -1
  9. package/dist/api/index.d.ts.map +1 -1
  10. package/dist/api/index.js +1 -1
  11. package/dist/api/index.js.map +1 -1
  12. package/dist/auth/auth.d.ts +0 -20
  13. package/dist/auth/auth.d.ts.map +1 -1
  14. package/dist/auth/auth.js +0 -11
  15. package/dist/auth/auth.js.map +1 -1
  16. package/dist/auth/basic/basic-auth-login.js +4 -4
  17. package/dist/auth/basic/basic-auth-login.js.map +1 -1
  18. package/dist/auth/default/default-auth-login.js +4 -4
  19. package/dist/auth/default/default-auth-login.js.map +1 -1
  20. package/dist/auth/index.d.ts +0 -1
  21. package/dist/auth/index.d.ts.map +1 -1
  22. package/dist/auth/index.js +0 -1
  23. package/dist/auth/index.js.map +1 -1
  24. package/dist/components/fallback/default.d.ts +1 -0
  25. package/dist/components/fallback/default.d.ts.map +1 -1
  26. package/dist/components/fallback/default.js +3 -0
  27. package/dist/components/fallback/default.js.map +1 -1
  28. package/dist/components/index.d.ts +8 -5
  29. package/dist/components/index.d.ts.map +1 -1
  30. package/dist/components/index.js +8 -5
  31. package/dist/components/index.js.map +1 -1
  32. package/dist/components/link.d.ts +18 -0
  33. package/dist/components/link.d.ts.map +1 -0
  34. package/dist/components/link.js +45 -0
  35. package/dist/components/link.js.map +1 -0
  36. package/dist/components/menu-link.d.ts +4 -0
  37. package/dist/components/menu-link.d.ts.map +1 -0
  38. package/dist/components/menu-link.js +45 -0
  39. package/dist/components/menu-link.js.map +1 -0
  40. package/dist/components/{menu/menu.d.ts → menu.d.ts} +1 -1
  41. package/dist/components/menu.d.ts.map +1 -0
  42. package/dist/components/{menu/menu.js → menu.js} +6 -6
  43. package/dist/components/menu.js.map +1 -0
  44. package/dist/components/outlet.d.ts +3 -0
  45. package/dist/components/outlet.d.ts.map +1 -0
  46. package/dist/components/outlet.js +3 -0
  47. package/dist/components/outlet.js.map +1 -0
  48. package/dist/components/powered-by-causalens.d.ts +3 -0
  49. package/dist/components/powered-by-causalens.d.ts.map +1 -0
  50. package/dist/components/powered-by-causalens.js +25 -0
  51. package/dist/components/powered-by-causalens.js.map +1 -0
  52. package/dist/components/progress-tracker.d.ts.map +1 -0
  53. package/dist/components/{progress-tracker/progress-tracker.js → progress-tracker.js} +4 -4
  54. package/dist/components/progress-tracker.js.map +1 -0
  55. package/dist/components/{side-bar-frame/side-bar-frame.d.ts → side-bar-frame.d.ts} +2 -1
  56. package/dist/components/side-bar-frame.d.ts.map +1 -0
  57. package/dist/components/{side-bar-frame/side-bar-frame.js → side-bar-frame.js} +10 -13
  58. package/dist/components/side-bar-frame.js.map +1 -0
  59. package/dist/components/{top-bar-frame/top-bar-frame.d.ts → top-bar-frame.d.ts} +1 -1
  60. package/dist/components/top-bar-frame.d.ts.map +1 -0
  61. package/dist/components/{top-bar-frame/top-bar-frame.js → top-bar-frame.js} +6 -7
  62. package/dist/components/top-bar-frame.js.map +1 -0
  63. package/dist/dara_core-1.21.0-py3-none-any.whl +0 -0
  64. package/dist/index.css +42 -0
  65. package/dist/index.d.ts +1 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +1 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/pages/error-page.d.ts +12 -2
  70. package/dist/pages/error-page.d.ts.map +1 -1
  71. package/dist/pages/error-page.js +18 -10
  72. package/dist/pages/error-page.js.map +1 -1
  73. package/dist/pages/error-status-code-page.d.ts +13 -0
  74. package/dist/pages/error-status-code-page.d.ts.map +1 -0
  75. package/dist/pages/error-status-code-page.js +40 -0
  76. package/dist/pages/error-status-code-page.js.map +1 -0
  77. package/dist/pages/root-error-page.d.ts +3 -0
  78. package/dist/pages/root-error-page.d.ts.map +1 -0
  79. package/dist/pages/root-error-page.js +31 -0
  80. package/dist/pages/root-error-page.js.map +1 -0
  81. package/dist/pages/route-error-boundary.d.ts +3 -0
  82. package/dist/pages/route-error-boundary.d.ts.map +1 -0
  83. package/dist/pages/route-error-boundary.js +85 -0
  84. package/dist/pages/route-error-boundary.js.map +1 -0
  85. package/dist/run.d.ts +3 -1
  86. package/dist/run.d.ts.map +1 -1
  87. package/dist/run.js +49 -25
  88. package/dist/run.js.map +1 -1
  89. package/dist/shared/context/config-context.d.ts +7 -0
  90. package/dist/shared/context/config-context.d.ts.map +1 -0
  91. package/dist/shared/context/config-context.js +15 -0
  92. package/dist/shared/context/config-context.js.map +1 -0
  93. package/dist/shared/context/global-task-context.d.ts +2 -1
  94. package/dist/shared/context/global-task-context.d.ts.map +1 -1
  95. package/dist/shared/context/index.d.ts +2 -1
  96. package/dist/shared/context/index.d.ts.map +1 -1
  97. package/dist/shared/context/index.js +2 -1
  98. package/dist/shared/context/index.js.map +1 -1
  99. package/dist/shared/context/registries-context.d.ts +10 -7
  100. package/dist/shared/context/registries-context.d.ts.map +1 -1
  101. package/dist/shared/context/registries-context.js +49 -9
  102. package/dist/shared/context/registries-context.js.map +1 -1
  103. package/dist/shared/dynamic-component/dynamic-auth-component.d.ts +12 -0
  104. package/dist/shared/dynamic-component/dynamic-auth-component.d.ts.map +1 -0
  105. package/dist/shared/dynamic-component/dynamic-auth-component.js +53 -0
  106. package/dist/shared/dynamic-component/dynamic-auth-component.js.map +1 -0
  107. package/dist/shared/dynamic-component/dynamic-component.d.ts +10 -1
  108. package/dist/shared/dynamic-component/dynamic-component.d.ts.map +1 -1
  109. package/dist/shared/dynamic-component/dynamic-component.js +67 -7
  110. package/dist/shared/dynamic-component/dynamic-component.js.map +1 -1
  111. package/dist/shared/error-handling/error-display.js +2 -2
  112. package/dist/shared/index.d.ts +1 -2
  113. package/dist/shared/index.d.ts.map +1 -1
  114. package/dist/shared/index.js +1 -2
  115. package/dist/shared/index.js.map +1 -1
  116. package/dist/shared/interactivity/persistence.d.ts +5 -1
  117. package/dist/shared/interactivity/persistence.d.ts.map +1 -1
  118. package/dist/shared/interactivity/persistence.js +81 -3
  119. package/dist/shared/interactivity/persistence.js.map +1 -1
  120. package/dist/shared/interactivity/plain-variable.d.ts +2 -1
  121. package/dist/shared/interactivity/plain-variable.d.ts.map +1 -1
  122. package/dist/shared/interactivity/plain-variable.js +12 -0
  123. package/dist/shared/interactivity/plain-variable.js.map +1 -1
  124. package/dist/shared/interactivity/resolve-variable.d.ts +7 -1
  125. package/dist/shared/interactivity/resolve-variable.d.ts.map +1 -1
  126. package/dist/shared/interactivity/resolve-variable.js +56 -2
  127. package/dist/shared/interactivity/resolve-variable.js.map +1 -1
  128. package/dist/shared/interactivity/server-variable.d.ts +2 -1
  129. package/dist/shared/interactivity/server-variable.d.ts.map +1 -1
  130. package/dist/shared/interactivity/server-variable.js +18 -0
  131. package/dist/shared/interactivity/server-variable.js.map +1 -1
  132. package/dist/shared/interactivity/use-action.d.ts +6 -1
  133. package/dist/shared/interactivity/use-action.d.ts.map +1 -1
  134. package/dist/shared/interactivity/use-action.js +106 -44
  135. package/dist/shared/interactivity/use-action.js.map +1 -1
  136. package/dist/shared/{template-root/template-root.d.ts → root/authenticated-root.d.ts} +4 -5
  137. package/dist/shared/root/authenticated-root.d.ts.map +1 -0
  138. package/dist/shared/root/authenticated-root.js +86 -0
  139. package/dist/shared/root/authenticated-root.js.map +1 -0
  140. package/dist/shared/root/dynamic-context.d.ts.map +1 -0
  141. package/dist/shared/root/dynamic-context.js.map +1 -0
  142. package/dist/shared/root/route-content.d.ts +21 -0
  143. package/dist/shared/root/route-content.d.ts.map +1 -0
  144. package/dist/shared/root/route-content.js +164 -0
  145. package/dist/shared/root/route-content.js.map +1 -0
  146. package/dist/shared/root/unauthenticated-root.d.ts +7 -0
  147. package/dist/shared/root/unauthenticated-root.d.ts.map +1 -0
  148. package/dist/shared/root/unauthenticated-root.js +38 -0
  149. package/dist/shared/root/unauthenticated-root.js.map +1 -0
  150. package/dist/shared/router.d.ts +14 -0
  151. package/dist/shared/router.d.ts.map +1 -0
  152. package/dist/shared/router.js +199 -0
  153. package/dist/shared/router.js.map +1 -0
  154. package/dist/shared/utils/index.d.ts +0 -1
  155. package/dist/shared/utils/index.d.ts.map +1 -1
  156. package/dist/shared/utils/index.js +0 -1
  157. package/dist/shared/utils/index.js.map +1 -1
  158. package/dist/shared/utils/use-component-styles.d.ts +1 -1
  159. package/dist/shared/utils/use-component-styles.d.ts.map +1 -1
  160. package/dist/shared/utils/use-component-styles.js +2 -2
  161. package/dist/shared/utils/use-component-styles.js.map +1 -1
  162. package/dist/shared/utils/use-url-sync.d.ts +1 -13
  163. package/dist/shared/utils/use-url-sync.d.ts.map +1 -1
  164. package/dist/shared/utils/use-url-sync.js +18 -22
  165. package/dist/shared/utils/use-url-sync.js.map +1 -1
  166. package/dist/shared/utils/use-window-title.d.ts +1 -1
  167. package/dist/shared/utils/use-window-title.d.ts.map +1 -1
  168. package/dist/shared/utils/use-window-title.js +5 -5
  169. package/dist/shared/utils/use-window-title.js.map +1 -1
  170. package/dist/types/core.d.ts +73 -5
  171. package/dist/types/core.d.ts.map +1 -1
  172. package/dist/types/core.js +11 -1
  173. package/dist/types/core.js.map +1 -1
  174. package/dist/umd/{dara.core.umd.js → dara.core.umd.cjs} +30052 -17828
  175. package/dist/umd/style.css +52 -9
  176. package/package.json +13 -15
  177. package/dist/auth/auth-wrapper.d.ts +0 -15
  178. package/dist/auth/auth-wrapper.d.ts.map +0 -1
  179. package/dist/auth/auth-wrapper.js +0 -76
  180. package/dist/auth/auth-wrapper.js.map +0 -1
  181. package/dist/components/menu/menu.d.ts.map +0 -1
  182. package/dist/components/menu/menu.js.map +0 -1
  183. package/dist/components/progress-tracker/progress-tracker.d.ts.map +0 -1
  184. package/dist/components/progress-tracker/progress-tracker.js.map +0 -1
  185. package/dist/components/router-content/router-content.d.ts +0 -14
  186. package/dist/components/router-content/router-content.d.ts.map +0 -1
  187. package/dist/components/router-content/router-content.js +0 -18
  188. package/dist/components/router-content/router-content.js.map +0 -1
  189. package/dist/components/side-bar-frame/side-bar-frame.d.ts.map +0 -1
  190. package/dist/components/side-bar-frame/side-bar-frame.js.map +0 -1
  191. package/dist/components/top-bar-frame/top-bar-frame.d.ts.map +0 -1
  192. package/dist/components/top-bar-frame/top-bar-frame.js.map +0 -1
  193. package/dist/dara_core-1.20.2-py3-none-any.whl +0 -0
  194. package/dist/shared/private-route/private-route.d.ts +0 -19
  195. package/dist/shared/private-route/private-route.d.ts.map +0 -1
  196. package/dist/shared/private-route/private-route.js +0 -37
  197. package/dist/shared/private-route/private-route.js.map +0 -1
  198. package/dist/shared/template-root/dynamic-context.d.ts.map +0 -1
  199. package/dist/shared/template-root/dynamic-context.js.map +0 -1
  200. package/dist/shared/template-root/template-root.d.ts.map +0 -1
  201. package/dist/shared/template-root/template-root.js +0 -100
  202. package/dist/shared/template-root/template-root.js.map +0 -1
  203. package/dist/shared/utils/use-action-registry.d.ts +0 -11
  204. package/dist/shared/utils/use-action-registry.d.ts.map +0 -1
  205. package/dist/shared/utils/use-action-registry.js +0 -19
  206. package/dist/shared/utils/use-action-registry.js.map +0 -1
  207. package/dist/shared/utils/use-component-registry.d.ts +0 -11
  208. package/dist/shared/utils/use-component-registry.d.ts.map +0 -1
  209. package/dist/shared/utils/use-component-registry.js +0 -58
  210. package/dist/shared/utils/use-component-registry.js.map +0 -1
  211. /package/dist/components/{progress-tracker/progress-tracker.d.ts → progress-tracker.d.ts} +0 -0
  212. /package/dist/shared/{template-root → root}/dynamic-context.d.ts +0 -0
  213. /package/dist/shared/{template-root → root}/dynamic-context.js +0 -0
@@ -0,0 +1,164 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import {} from '@tanstack/react-query';
12
+ import * as React from 'react';
13
+ import { Await, useLoaderData, useMatches } from 'react-router';
14
+ import {} from 'recoil';
15
+ import { HTTP_METHOD } from '@darajs/ui-utils';
16
+ import { request } from '../../api';
17
+ import { handleAuthErrors } from '../../auth';
18
+ import { DefaultFallbackStatic } from '../../components/fallback/default';
19
+ import { LoaderError, isAnnotatedAction, } from '../../types';
20
+ import DynamicComponent from '../dynamic-component/dynamic-component';
21
+ import { cleanKwargs, resolveVariableStatic } from '../interactivity/resolve-variable';
22
+ import { useExecuteAction } from '../interactivity/use-action';
23
+ import { useWindowTitle } from '../utils';
24
+ import { denormalize, normalizeRequest } from '../utils/normalization';
25
+ /**
26
+ * We're using React Query for the loader to utilize a cache. This allows us to
27
+ * implement custom prefetching logic on links. React Router is not a cache
28
+ * and by default will always refetch the data on every navigation.
29
+ *
30
+ * See https://tkdodo.eu/blog/react-query-meets-react-router
31
+ */
32
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
33
+ const loaderQuery = (route, params, snapshotRef) => ({
34
+ queryKey: ['route', route.id, params],
35
+ queryFn: (_a) => __awaiter(void 0, [_a], void 0, function* ({ signal }) {
36
+ // collect payloads for annotated actions - action impls can stay on the client
37
+ let actions = [];
38
+ if (Array.isArray(route.on_load)) {
39
+ actions = route.on_load;
40
+ }
41
+ else if (route.on_load) {
42
+ actions = [route.on_load];
43
+ }
44
+ const actionPayloads = actions.filter(isAnnotatedAction).map((a) => {
45
+ const kwargs = cleanKwargs(Object.fromEntries(Object.entries(a.dynamic_kwargs).map(([k, v]) => {
46
+ return [k, resolveVariableStatic(v, snapshotRef.current)];
47
+ })), null);
48
+ return {
49
+ uid: a.uid,
50
+ definition_uid: a.definition_uid,
51
+ values: normalizeRequest(kwargs, a.dynamic_kwargs),
52
+ };
53
+ });
54
+ const response = yield request(`/api/core/route/${route.id}`, {
55
+ method: HTTP_METHOD.POST,
56
+ body: JSON.stringify({
57
+ action_payloads: actionPayloads,
58
+ ws_channel: window.dara.ws ? yield window.dara.ws.getChannel() : null,
59
+ params,
60
+ }),
61
+ // ensures loader requests are cancelled if user changes their mind
62
+ signal,
63
+ });
64
+ yield handleAuthErrors(response, true);
65
+ if (!response.ok) {
66
+ const error = (yield response.json());
67
+ throw new LoaderError(error.detail);
68
+ }
69
+ const responseContent = yield response.json();
70
+ const template = denormalize(responseContent.template.data, responseContent.template.lookup);
71
+ const onLoad = actions.flatMap((a) => {
72
+ if (isAnnotatedAction(a)) {
73
+ return responseContent.action_results[a.uid];
74
+ }
75
+ return a;
76
+ });
77
+ return { template, on_load: onLoad, route_definition: route };
78
+ }),
79
+ refetchOnMount: false,
80
+ refetchOnWindowFocus: false,
81
+ refetchOnReconnect: false,
82
+ cacheTime: 0,
83
+ staleTime: 0,
84
+ });
85
+ function hasServerActions(route) {
86
+ if (!route.on_load) {
87
+ return false;
88
+ }
89
+ const actions = Array.isArray(route.on_load) ? route.on_load : [route.on_load];
90
+ return actions.some(isAnnotatedAction);
91
+ }
92
+ export function createRouteLoader(route, queryClient, snapshotRef) {
93
+ return function loader(_a) {
94
+ return __awaiter(this, arguments, void 0, function* ({ request: loaderRequest, params }) {
95
+ // make sure RR's signal cancels the prefetch
96
+ const query = loaderQuery(route, params, snapshotRef);
97
+ loaderRequest.signal.addEventListener('abort', () => {
98
+ queryClient.cancelQueries(query);
99
+ });
100
+ let result = queryClient.ensureQueryData(query);
101
+ // Let the result through as a promise if it's a page/index route with server actions on_load.
102
+ // Otherwise, await and block the navigation.
103
+ // This lets us render the fallback for pages without holding the navigation
104
+ // while the request is in flight, as th expectation is that it will take
105
+ // longer if there are AnnotatedActions to run.
106
+ // TODO: alternatively we can always block unless an explicit fallback is provided
107
+ if (!((route.__typename === 'IndexRoute' || route.__typename === 'PageRoute') && hasServerActions(route))) {
108
+ result = yield result;
109
+ }
110
+ return { data: result };
111
+ });
112
+ };
113
+ }
114
+ function Content({ route, on_load, template, }) {
115
+ const executeAction = useExecuteAction();
116
+ const [isLoading, setIsLoading] = React.useState(on_load.length > 0);
117
+ React.useLayoutEffect(() => {
118
+ if (on_load.length === 0) {
119
+ return;
120
+ }
121
+ let cancelled = false;
122
+ const result = executeAction(on_load);
123
+ // if result is a promise, handle async case
124
+ if (result instanceof Promise) {
125
+ result
126
+ .then(() => {
127
+ if (!cancelled) {
128
+ setIsLoading(false);
129
+ }
130
+ })
131
+ .catch((error) => {
132
+ if (!cancelled) {
133
+ // eslint-disable-next-line no-console
134
+ console.error('Error executing on_load actions:', error);
135
+ setIsLoading(false);
136
+ }
137
+ });
138
+ }
139
+ else {
140
+ // synchronous case - immediately stop loading
141
+ setIsLoading(false);
142
+ }
143
+ return () => {
144
+ cancelled = true;
145
+ };
146
+ }, [route.id, on_load, executeAction]);
147
+ // only sync title for the most exact route
148
+ const matches = useMatches();
149
+ const isMostExact = matches.at(-1).id === route.id;
150
+ useWindowTitle(route.name, isMostExact);
151
+ if (isLoading) {
152
+ return _jsx(DefaultFallbackStatic, {});
153
+ }
154
+ return _jsx(DynamicComponent, { component: template });
155
+ }
156
+ function RouteContent(props) {
157
+ const { data } = useLoaderData();
158
+ if (data instanceof Promise) {
159
+ return (_jsx(React.Suspense, { fallback: _jsx(DefaultFallbackStatic, {}), children: _jsx(Await, { resolve: data, children: (resolved) => _jsx(Content, Object.assign({}, resolved, { route: props.route })) }) }));
160
+ }
161
+ return _jsx(Content, Object.assign({}, data, { route: props.route }));
162
+ }
163
+ export default RouteContent;
164
+ //# sourceMappingURL=route-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-content.js","sourceRoot":"","sources":["../../../js/shared/root/route-content.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Rendered around the entire router content, regardless of whether it's the authenticated content
3
+ * or e.g. auth pages
4
+ */
5
+ declare function UnauthenticatedRoot(): JSX.Element;
6
+ export default UnauthenticatedRoot;
7
+ //# sourceMappingURL=unauthenticated-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unauthenticated-root.d.ts","sourceRoot":"","sources":["../../../js/shared/root/unauthenticated-root.tsx"],"names":[],"mappings":"AAQA;;;GAGG;AACH,iBAAS,mBAAmB,IAAI,GAAG,CAAC,OAAO,CAkC1C;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import NProgress from 'nprogress';
3
+ import { useEffect, useRef } from 'react';
4
+ import { Outlet, useNavigation } from 'react-router';
5
+ import { RecoilURLSync } from 'recoil-sync';
6
+ import { PathParamSync } from '../interactivity/persistence';
7
+ import useUrlSync from '../utils/use-url-sync';
8
+ /**
9
+ * Rendered around the entire router content, regardless of whether it's the authenticated content
10
+ * or e.g. auth pages
11
+ */
12
+ function UnauthenticatedRoot() {
13
+ const syncOptions = useUrlSync();
14
+ const navigation = useNavigation();
15
+ const progressRef = useRef(false);
16
+ const progressTimeout = useRef(null);
17
+ useEffect(() => {
18
+ // create a bar when state becomes loading or submitting
19
+ if (!progressRef.current && (navigation.state === 'loading' || navigation.state === 'submitting')) {
20
+ progressTimeout.current = setTimeout(() => NProgress.start(), 250);
21
+ progressRef.current = true;
22
+ }
23
+ // if there is a bar and we're idle, mark it as done
24
+ if (progressRef.current && navigation.state === 'idle') {
25
+ if (progressTimeout.current) {
26
+ clearTimeout(progressTimeout.current);
27
+ progressTimeout.current = null;
28
+ }
29
+ progressRef.current = false;
30
+ if (NProgress.isStarted()) {
31
+ NProgress.done();
32
+ }
33
+ }
34
+ }, [navigation.state]);
35
+ return (_jsx(PathParamSync, { children: _jsx(RecoilURLSync, Object.assign({}, syncOptions, { children: _jsx(Outlet, {}) })) }));
36
+ }
37
+ export default UnauthenticatedRoot;
38
+ //# sourceMappingURL=unauthenticated-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unauthenticated-root.js","sourceRoot":"","sources":["../../../js/shared/root/unauthenticated-root.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C;;;GAGG;AACH,SAAS,mBAAmB;IACxB,MAAM,WAAW,GAAG,UAAU,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,MAAM,WAAW,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACX,wDAAwD;QACxD,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,KAAK,YAAY,CAAC,EAAE,CAAC;YAChG,eAAe,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;YACnE,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,CAAC;QAED,oDAAoD;QACpD,IAAI,WAAW,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACrD,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC1B,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACtC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,CAAC;YACD,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;YAC5B,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC;gBACxB,SAAS,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvB,OAAO,CACH,KAAC,aAAa,cACV,KAAC,aAAa,oBAAK,WAAW,cAC1B,KAAC,MAAM,KAAG,IACE,GACJ,CACnB,CAAC;AACN,CAAC;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { QueryClient } from '@tanstack/query-core';
2
+ import { createBrowserRouter } from 'react-router';
3
+ import type { Snapshot } from 'recoil';
4
+ import { type DaraData, type RouteDefinition } from '../types/core';
5
+ /**
6
+ * Find the first navigatable path in the given routes.
7
+ * Walks the routes in a BFS and returns the first route with a path.
8
+ */
9
+ export declare function findFirstPath(routes: RouteDefinition[]): string;
10
+ /**
11
+ * Create the router for the application
12
+ */
13
+ export declare function createRouter(config: DaraData, queryClient: QueryClient, snapshotRef: React.MutableRefObject<Snapshot>): ReturnType<typeof createBrowserRouter>;
14
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../js/shared/router.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAA8B,mBAAmB,EAAY,MAAM,cAAc,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMvC,OAAO,EACH,KAAK,QAAQ,EAKb,KAAK,eAAe,EACvB,MAAM,cAAc,CAAC;AAgFtB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CA4C/D;AASD;;GAEG;AACH,wBAAgB,YAAY,CACxB,MAAM,EAAE,QAAQ,EAChB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAC9C,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAkFxC"}
@@ -0,0 +1,199 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __rest = (this && this.__rest) || function (s, e) {
11
+ var t = {};
12
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
+ t[p] = s[p];
14
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
+ t[p[i]] = s[p[i]];
18
+ }
19
+ return t;
20
+ };
21
+ import { jsx as _jsx } from "react/jsx-runtime";
22
+ import { Navigate, createBrowserRouter, redirect } from 'react-router';
23
+ import { getSessionToken, resolveReferrer, verifySessionToken } from '../auth';
24
+ import { DefaultFallbackStatic } from '../components/fallback/default';
25
+ import ErrorStatusCodePage from '../pages/error-status-code-page';
26
+ import RouteErrorBoundary from '../pages/route-error-boundary';
27
+ import {} from '../types/core';
28
+ import DynamicAuthComponent from './dynamic-component/dynamic-auth-component';
29
+ import AuthenticatedRoot from './root/authenticated-root';
30
+ import RouteContent, { createRouteLoader } from './root/route-content';
31
+ import UnauthenticatedRoot from './root/unauthenticated-root';
32
+ /**
33
+ * Clean a single path segment by removing leading/trailing slashes
34
+ */
35
+ function cleanPath(path) {
36
+ return path.replace(/^\/+|\/+$/g, '');
37
+ }
38
+ /**
39
+ * Helper function to clean and join path segments properly
40
+ */
41
+ function joinPaths(parentPath, childPath) {
42
+ // Remove leading/trailing slashes from both parts
43
+ const cleanParent = cleanPath(parentPath);
44
+ const cleanChild = cleanPath(childPath);
45
+ // Join with single slash and ensure leading slash
46
+ if (cleanParent === '' && cleanChild === '') {
47
+ return '/';
48
+ }
49
+ if (cleanParent === '') {
50
+ return `/${cleanChild}`;
51
+ }
52
+ if (cleanChild === '') {
53
+ return `/${cleanParent}`;
54
+ }
55
+ return `/${cleanParent}/${cleanChild}`;
56
+ }
57
+ function createRoute(route, queryClient, snapshotRef) {
58
+ const sharedProps = {
59
+ id: route.id,
60
+ caseSensitive: route.case_sensitive,
61
+ hydrateFallbackElement: _jsx(DefaultFallbackStatic, {}),
62
+ ErrorBoundary: RouteErrorBoundary,
63
+ };
64
+ switch (route.__typename) {
65
+ case 'IndexRoute':
66
+ return Object.assign(Object.assign({}, sharedProps), { index: true, element: _jsx(RouteContent, { route: route }, route.id), loader: createRouteLoader(route, queryClient, snapshotRef) });
67
+ case 'PageRoute':
68
+ return Object.assign(Object.assign({}, sharedProps), { path: cleanPath(route.path), element: _jsx(RouteContent, { route: route }, route.id), loader: createRouteLoader(route, queryClient, snapshotRef), children: route.children.map((r) => createRoute(r, queryClient, snapshotRef)) });
69
+ case 'LayoutRoute':
70
+ return Object.assign(Object.assign({}, sharedProps), { element: _jsx(RouteContent, { route: route }, route.id), loader: createRouteLoader(route, queryClient, snapshotRef), children: route.children.map((r) => createRoute(r, queryClient, snapshotRef)) });
71
+ case 'PrefixRoute':
72
+ return Object.assign(Object.assign({}, sharedProps), { path: cleanPath(route.path), children: route.children.map((r) => createRoute(r, queryClient, snapshotRef)) });
73
+ default:
74
+ throw new Error(`Unknown route type ${JSON.stringify(route)}`);
75
+ }
76
+ }
77
+ /**
78
+ * Find the first navigatable path in the given routes.
79
+ * Walks the routes in a BFS and returns the first route with a path.
80
+ */
81
+ export function findFirstPath(routes) {
82
+ const queue = [{ routes, path: '/' }];
83
+ while (queue.length > 0) {
84
+ const { routes: currentRoutes, path: currentPath } = queue.shift();
85
+ // Categorize routes at current level
86
+ let indexRoute = null;
87
+ const pageRoutes = [];
88
+ const otherRoutes = [];
89
+ for (const route of currentRoutes) {
90
+ if (route.__typename === 'IndexRoute') {
91
+ indexRoute = route;
92
+ }
93
+ else if (route.__typename === 'PageRoute') {
94
+ pageRoutes.push(route);
95
+ }
96
+ else if (route.__typename === 'LayoutRoute' || route.__typename === 'PrefixRoute') {
97
+ otherRoutes.push(route);
98
+ }
99
+ }
100
+ // 1. Prefer index routes - return current path as it's navigatable
101
+ if (indexRoute) {
102
+ return currentPath === '' ? '/' : joinPaths('', currentPath);
103
+ }
104
+ // 2. Then prefer page routes - just return first one joined with parent
105
+ if (pageRoutes.length > 0) {
106
+ return joinPaths(currentPath, pageRoutes[0].path);
107
+ }
108
+ // 3. Add layout/prefix routes to queue for processing
109
+ for (const otherRoute of otherRoutes) {
110
+ const routePath = 'path' in otherRoute ? otherRoute.path : '';
111
+ queue.push({ routes: otherRoute.children, path: joinPaths(currentPath, routePath) });
112
+ }
113
+ }
114
+ return '/';
115
+ }
116
+ /**
117
+ * Simple boolean to track whether we have done an initial verification of the token.
118
+ * We only do it once, as we don't want to do it on every navigation - any server interaction will require a valid token anyway.
119
+ * The initial check is only done to ensure that on initial load we short-circuit and bail out as early as possible.
120
+ */
121
+ let verifiedToken = false;
122
+ /**
123
+ * Create the router for the application
124
+ */
125
+ export function createRouter(config, queryClient, snapshotRef) {
126
+ let basename = '';
127
+ // The base_url is set in the html template by the backend when returning it
128
+ if (window.dara.base_url !== '') {
129
+ basename = new URL(window.dara.base_url, window.origin).pathname;
130
+ }
131
+ const _a = config.auth_components, { login, logout } = _a, extraRoutes = __rest(_a, ["login", "logout"]);
132
+ const userRoutes = config.router.children.map((r) => createRoute(r, queryClient, snapshotRef));
133
+ const defaultPath = findFirstPath(config.router.children) || '/';
134
+ return createBrowserRouter([
135
+ {
136
+ // wrapper around all the router content
137
+ element: _jsx(UnauthenticatedRoot, {}),
138
+ hydrateFallbackElement: _jsx(DefaultFallbackStatic, {}),
139
+ ErrorBoundary: RouteErrorBoundary,
140
+ children: [
141
+ {
142
+ path: 'error',
143
+ Component: ErrorStatusCodePage,
144
+ },
145
+ // core auth routes
146
+ {
147
+ path: 'login',
148
+ element: _jsx(DynamicAuthComponent, { component: login }),
149
+ },
150
+ {
151
+ path: 'logout',
152
+ element: _jsx(DynamicAuthComponent, { component: logout }),
153
+ },
154
+ // extra auth routes
155
+ ...Object.entries(extraRoutes).map(([path, component]) => ({
156
+ path,
157
+ element: _jsx(DynamicAuthComponent, { component: component }),
158
+ })),
159
+ // root of the app
160
+ {
161
+ element: _jsx(AuthenticatedRoot, { daraData: config }),
162
+ // token must be set to access the authenticated routes
163
+ unstable_middleware: [
164
+ () => __awaiter(this, void 0, void 0, function* () {
165
+ var _a, _b;
166
+ if (verifiedToken) {
167
+ return;
168
+ }
169
+ const token = getSessionToken();
170
+ // if there is a token and we can verify it, we're good to go
171
+ if (token && (yield verifySessionToken())) {
172
+ verifiedToken = true;
173
+ return;
174
+ }
175
+ // otherwise there is no token or it's invalid, redirect to login
176
+ const referrer = resolveReferrer();
177
+ const baseUrl = (_b = (_a = window.dara) === null || _a === void 0 ? void 0 : _a.base_url) !== null && _b !== void 0 ? _b : '';
178
+ const redirectUrl = new URL(`${baseUrl}/login`, window.location.origin);
179
+ redirectUrl.searchParams.set('referrer', referrer);
180
+ // Intended RR API usage
181
+ // eslint-disable-next-line @typescript-eslint/only-throw-error
182
+ throw redirect(redirectUrl.toString());
183
+ }),
184
+ ],
185
+ // user-defined routes
186
+ children: [
187
+ ...userRoutes,
188
+ // fallback route, redirect to first navigatable path
189
+ {
190
+ path: '*',
191
+ element: _jsx(Navigate, { to: defaultPath }),
192
+ },
193
+ ],
194
+ },
195
+ ],
196
+ },
197
+ ], { basename });
198
+ }
199
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../js/shared/router.tsx"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ export { getToken, getTokenKey, DARA_JWT_TOKEN } from './embed';
4
4
  export { default as isJsComponent } from './is-js-component';
5
5
  export { default as resolveTheme } from './resolve-theme';
6
6
  export { default as useDeferLoadable } from './use-defer-loadable';
7
- export { default as useComponentRegistry } from './use-component-registry';
8
7
  export { default as useInterval } from './use-interval';
9
8
  export { default as usePrevious } from './use-previous';
10
9
  export { default as useWindowTitle } from './use-window-title';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../js/shared/utils/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../js/shared/utils/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -3,7 +3,6 @@ export { getToken, getTokenKey, DARA_JWT_TOKEN } from './embed';
3
3
  export { default as isJsComponent } from './is-js-component';
4
4
  export { default as resolveTheme } from './resolve-theme';
5
5
  export { default as useDeferLoadable } from './use-defer-loadable';
6
- export { default as useComponentRegistry } from './use-component-registry';
7
6
  export { default as useInterval } from './use-interval';
8
7
  export { default as usePrevious } from './use-previous';
9
8
  export { default as useWindowTitle } from './use-window-title';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../js/shared/utils/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../js/shared/utils/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -19,6 +19,6 @@ export declare function parseRawCss(rawCss: string | CustomCSSProperties | React
19
19
  * @param props props to get styles from
20
20
  * @param useDisplayContext whether or not to use the display context, for some components such as Modal, these do not care for the context of their parent
21
21
  */
22
- export default function useComponentStyles(props: StyledComponentProps, useDisplayContext?: boolean): [CustomCSSProperties, string];
22
+ export default function useComponentStyles(props: StyledComponentProps, useDisplayContext?: boolean, propName?: string): [CustomCSSProperties, string];
23
23
  export {};
24
24
  //# sourceMappingURL=use-component-styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-component-styles.d.ts","sourceRoot":"","sources":["../../../js/shared/utils/use-component-styles.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAUpD;;GAEG;AACH,UAAU,mBAAoB,SAAQ,KAAK,CAAC,aAAa;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAsCD;;;;GAIG;AACH,wBAAgB,WAAW,CACvB,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,KAAK,CAAC,aAAa,GAAG,SAAS,GAAG,IAAI,GAC9E,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,CAAC,CAOlD;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACtC,KAAK,EAAE,oBAAoB,EAC3B,iBAAiB,UAAO,GACzB,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAsC/B"}
1
+ {"version":3,"file":"use-component-styles.d.ts","sourceRoot":"","sources":["../../../js/shared/utils/use-component-styles.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAUpD;;GAEG;AACH,UAAU,mBAAoB,SAAQ,KAAK,CAAC,aAAa;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAsCD;;;;GAIG;AACH,wBAAgB,WAAW,CACvB,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,KAAK,CAAC,aAAa,GAAG,SAAS,GAAG,IAAI,GAC9E,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,CAAC,CAOlD;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACtC,KAAK,EAAE,oBAAoB,EAC3B,iBAAiB,UAAO,EACxB,QAAQ,GAAE,MAAkB,GAC7B,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAsC/B"}
@@ -56,8 +56,8 @@ export function parseRawCss(rawCss) {
56
56
  * @param props props to get styles from
57
57
  * @param useDisplayContext whether or not to use the display context, for some components such as Modal, these do not care for the context of their parent
58
58
  */
59
- export default function useComponentStyles(props, useDisplayContext = true) {
60
- const [rawCssValue] = useVariable(props.raw_css);
59
+ export default function useComponentStyles(props, useDisplayContext = true, propName = 'raw_css') {
60
+ const [rawCssValue] = useVariable(props[propName]);
61
61
  const [rawStyles, rawCss] = parseRawCss(rawCssValue);
62
62
  const displayCtx = useContext(DisplayCtx);
63
63
  const flexProps = flexStyles(props, displayCtx, useDisplayContext);
@@ -1 +1 @@
1
- {"version":3,"file":"use-component-styles.js","sourceRoot":"","sources":["../../../js/shared/utils/use-component-styles.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-component-styles.js","sourceRoot":"","sources":["../../../js/shared/utils/use-component-styles.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +1,8 @@
1
- import { type History } from 'history';
2
1
  import { type RecoilURLSyncOptions } from 'recoil-sync';
3
- interface UrlSyncOptions {
4
- /**
5
- * History object to use
6
- */
7
- history: History;
8
- /**
9
- * Whether to use memory history overrides for testing
10
- */
11
- memory_TEST?: boolean;
12
- }
13
2
  /**
14
3
  * Setup the URL sync for the application. This is used to sync Recoil state with the URL query params.
15
4
  *
16
5
  * @param basename router basename
17
6
  */
18
- export default function useUrlSync(options: UrlSyncOptions): Omit<RecoilURLSyncOptions, 'children'>;
19
- export {};
7
+ export default function useUrlSync(): Omit<RecoilURLSyncOptions, 'children'>;
20
8
  //# sourceMappingURL=use-url-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-url-sync.d.ts","sourceRoot":"","sources":["../../../js/shared/utils/use-url-sync.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE/E,UAAU,cAAc;IACpB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAsElG"}
1
+ {"version":3,"file":"use-url-sync.d.ts","sourceRoot":"","sources":["../../../js/shared/utils/use-url-sync.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,IAAI,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAiE3E"}