@darajs/core 1.21.0 → 1.21.2

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 (115) hide show
  1. package/dist/api/core.d.ts +8 -1
  2. package/dist/api/core.d.ts.map +1 -1
  3. package/dist/api/core.js +4 -1
  4. package/dist/api/core.js.map +1 -1
  5. package/dist/components/index.d.ts +1 -0
  6. package/dist/components/index.d.ts.map +1 -1
  7. package/dist/components/index.js +1 -0
  8. package/dist/components/index.js.map +1 -1
  9. package/dist/components/link.d.ts +1 -1
  10. package/dist/components/link.d.ts.map +1 -1
  11. package/dist/components/link.js +49 -5
  12. package/dist/components/link.js.map +1 -1
  13. package/dist/components/side-bar-frame.d.ts.map +1 -1
  14. package/dist/components/side-bar-frame.js +4 -4
  15. package/dist/components/side-bar-frame.js.map +1 -1
  16. package/dist/components/theme-provider.d.ts +10 -0
  17. package/dist/components/theme-provider.d.ts.map +1 -0
  18. package/dist/components/theme-provider.js +19 -0
  19. package/dist/components/theme-provider.js.map +1 -0
  20. package/dist/components/top-bar-frame.d.ts.map +1 -1
  21. package/dist/components/top-bar-frame.js +3 -5
  22. package/dist/components/top-bar-frame.js.map +1 -1
  23. package/dist/dara_core-1.21.2-py3-none-any.whl +0 -0
  24. package/dist/global-styles.d.ts +5 -0
  25. package/dist/global-styles.d.ts.map +1 -0
  26. package/dist/global-styles.js +13 -0
  27. package/dist/global-styles.js.map +1 -0
  28. package/dist/index.css +16 -11
  29. package/dist/router/cache.d.ts +19 -0
  30. package/dist/router/cache.d.ts.map +1 -0
  31. package/dist/router/cache.js +56 -0
  32. package/dist/router/cache.js.map +1 -0
  33. package/dist/router/context.d.ts +17 -0
  34. package/dist/router/context.d.ts.map +1 -0
  35. package/dist/router/context.js +21 -0
  36. package/dist/router/context.js.map +1 -0
  37. package/dist/router/create-router.d.ts +22 -0
  38. package/dist/router/create-router.d.ts.map +1 -0
  39. package/dist/{shared/router.js → router/create-router.js} +24 -13
  40. package/dist/router/create-router.js.map +1 -0
  41. package/dist/router/fetching.d.ts +115 -0
  42. package/dist/router/fetching.d.ts.map +1 -0
  43. package/dist/router/fetching.js +280 -0
  44. package/dist/router/fetching.js.map +1 -0
  45. package/dist/router/index.d.ts +7 -0
  46. package/dist/router/index.d.ts.map +1 -0
  47. package/dist/router/index.js +7 -0
  48. package/dist/router/index.js.map +1 -0
  49. package/dist/router/route-content.d.ts +16 -0
  50. package/dist/router/route-content.d.ts.map +1 -0
  51. package/dist/router/route-content.js +112 -0
  52. package/dist/router/route-content.js.map +1 -0
  53. package/dist/router/router-root.d.ts +7 -0
  54. package/dist/router/router-root.d.ts.map +1 -0
  55. package/dist/router/router-root.js +15 -0
  56. package/dist/router/router-root.js.map +1 -0
  57. package/dist/run.d.ts +11 -1
  58. package/dist/run.d.ts.map +1 -1
  59. package/dist/run.js +9 -19
  60. package/dist/run.js.map +1 -1
  61. package/dist/shared/interactivity/derived-variable.d.ts +62 -17
  62. package/dist/shared/interactivity/derived-variable.d.ts.map +1 -1
  63. package/dist/shared/interactivity/derived-variable.js +162 -96
  64. package/dist/shared/interactivity/derived-variable.js.map +1 -1
  65. package/dist/shared/interactivity/persistence.js +2 -2
  66. package/dist/shared/interactivity/persistence.js.map +1 -1
  67. package/dist/shared/interactivity/plain-variable.js +2 -2
  68. package/dist/shared/interactivity/plain-variable.js.map +1 -1
  69. package/dist/shared/interactivity/store.d.ts +0 -1
  70. package/dist/shared/interactivity/store.d.ts.map +1 -1
  71. package/dist/shared/interactivity/store.js.map +1 -1
  72. package/dist/shared/interactivity/tabular-variable.d.ts.map +1 -1
  73. package/dist/shared/interactivity/tabular-variable.js +5 -2
  74. package/dist/shared/interactivity/tabular-variable.js.map +1 -1
  75. package/dist/shared/interactivity/triggers.d.ts +7 -2
  76. package/dist/shared/interactivity/triggers.d.ts.map +1 -1
  77. package/dist/shared/interactivity/triggers.js +15 -2
  78. package/dist/shared/interactivity/triggers.js.map +1 -1
  79. package/dist/shared/interactivity/use-server-component.d.ts +4 -1
  80. package/dist/shared/interactivity/use-server-component.d.ts.map +1 -1
  81. package/dist/shared/interactivity/use-server-component.js +107 -38
  82. package/dist/shared/interactivity/use-server-component.js.map +1 -1
  83. package/dist/shared/interactivity/use-variable.js +1 -1
  84. package/dist/shared/interactivity/use-variable.js.map +1 -1
  85. package/dist/shared/root/authenticated-root.js +1 -1
  86. package/dist/shared/root/authenticated-root.js.map +1 -1
  87. package/dist/shared/root/unauthenticated-root.d.ts.map +1 -1
  88. package/dist/shared/root/unauthenticated-root.js +14 -3
  89. package/dist/shared/root/unauthenticated-root.js.map +1 -1
  90. package/dist/shared/utils/deferred.d.ts +10 -0
  91. package/dist/shared/utils/deferred.d.ts.map +1 -0
  92. package/dist/shared/utils/deferred.js +13 -0
  93. package/dist/shared/utils/deferred.js.map +1 -0
  94. package/dist/shared/utils/index.d.ts +1 -0
  95. package/dist/shared/utils/index.d.ts.map +1 -1
  96. package/dist/shared/utils/index.js +1 -0
  97. package/dist/shared/utils/index.js.map +1 -1
  98. package/dist/types/core.d.ts +19 -12
  99. package/dist/types/core.d.ts.map +1 -1
  100. package/dist/types/core.js +5 -0
  101. package/dist/types/core.js.map +1 -1
  102. package/dist/types/utils.d.ts +2 -2
  103. package/dist/types/utils.d.ts.map +1 -1
  104. package/dist/types/utils.js.map +1 -1
  105. package/dist/umd/dara.core.umd.cjs +61072 -57651
  106. package/dist/umd/style.css +16 -11
  107. package/package.json +11 -10
  108. package/dist/dara_core-1.21.0-py3-none-any.whl +0 -0
  109. package/dist/shared/root/route-content.d.ts +0 -21
  110. package/dist/shared/root/route-content.d.ts.map +0 -1
  111. package/dist/shared/root/route-content.js +0 -164
  112. package/dist/shared/root/route-content.js.map +0 -1
  113. package/dist/shared/router.d.ts +0 -14
  114. package/dist/shared/router.d.ts.map +0 -1
  115. package/dist/shared/router.js.map +0 -1
@@ -1,11 +1,17 @@
1
1
  import { type RequestExtras } from './http';
2
+ type TaskResult<T> = {
3
+ status: 'not_found';
4
+ } | {
5
+ status: 'ok';
6
+ result: T;
7
+ };
2
8
  /**
3
9
  * Fetch the result of a task from the backend by it's id
4
10
  *
5
11
  * @param taskId the id of the task to fetch
6
12
  * @param token the session token to use
7
13
  */
8
- export declare function fetchTaskResult<T>(taskId: string, extras: RequestExtras): Promise<T>;
14
+ export declare function fetchTaskResult<T>(taskId: string, extras: RequestExtras): Promise<TaskResult<T>>;
9
15
  /**
10
16
  * Cancel a task by it's id
11
17
  *
@@ -13,4 +19,5 @@ export declare function fetchTaskResult<T>(taskId: string, extras: RequestExtras
13
19
  * @param token the session token to use
14
20
  */
15
21
  export declare function cancelTask(taskId: string, extras: RequestExtras): Promise<boolean>;
22
+ export {};
16
23
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../js/api/core.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,QAAQ,CAAC;AAErD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAY1F;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAKxF"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../js/api/core.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,QAAQ,CAAC;AAErD,KAAK,UAAU,CAAC,CAAC,IAAI;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC;AAE3E;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAiBtG;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAKxF"}
package/dist/api/core.js CHANGED
@@ -20,12 +20,15 @@ export function fetchTaskResult(taskId, extras) {
20
20
  return __awaiter(this, void 0, void 0, function* () {
21
21
  const res = yield request(`/api/core/tasks/${taskId}`, { method: HTTP_METHOD.GET }, extras);
22
22
  yield handleAuthErrors(res, true);
23
+ if (res.status === 404) {
24
+ return { status: 'not_found' };
25
+ }
23
26
  yield validateResponse(res, `Failed to fetch the result of task with id: ${taskId}`);
24
27
  const resJson = yield res.json();
25
28
  if (typeof resJson === 'object' && 'error' in resJson) {
26
29
  throw new Error(resJson.error);
27
30
  }
28
- return resJson;
31
+ return { status: 'ok', result: resJson };
29
32
  });
30
33
  }
31
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../js/api/core.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAsB,OAAO,EAAE,MAAM,QAAQ,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAgB,eAAe,CAAI,MAAc,EAAE,MAAqB;;QAC1E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5F,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,gBAAgB,CAAC,GAAG,EAAE,+CAA+C,MAAM,EAAE,CAAC,CAAC;QAErF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAgB,UAAU,CAAC,MAAc,EAAE,MAAqB;;QAClE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/F,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,gBAAgB,CAAC,GAAG,EAAE,kCAAkC,MAAM,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../js/api/core.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAsB,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIrD;;;;;GAKG;AACH,MAAM,UAAgB,eAAe,CAAI,MAAc,EAAE,MAAqB;;QAC1E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5F,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAElC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACrB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,gBAAgB,CAAC,GAAG,EAAE,+CAA+C,MAAM,EAAE,CAAC,CAAC;QAErF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAgB,UAAU,CAAC,MAAc,EAAE,MAAqB;;QAClE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/F,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,gBAAgB,CAAC,GAAG,EAAE,kCAAkC,MAAM,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA"}
@@ -10,4 +10,5 @@ export { default as For } from './for/for';
10
10
  export { default as Link } from './link';
11
11
  export { default as Outlet } from './outlet';
12
12
  export { default as PoweredByCausalens } from './powered-by-causalens';
13
+ export { default as ThemeProvider } from './theme-provider';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -10,4 +10,5 @@ export { default as For } from './for/for';
10
10
  export { default as Link } from './link';
11
11
  export { default as Outlet } from './outlet';
12
12
  export { default as PoweredByCausalens } from './powered-by-causalens';
13
+ export { default as ThemeProvider } from './theme-provider';
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -5,7 +5,7 @@ export interface LinkProps extends StyledComponentProps {
5
5
  className?: string;
6
6
  case_sensitive: boolean;
7
7
  children: Array<ComponentInstance>;
8
- prefetch: NavLinkProps['prefetch'];
8
+ prefetch?: boolean;
9
9
  relative: NavLinkProps['relative'];
10
10
  replace: NavLinkProps['replace'];
11
11
  to: NavLinkProps['to'];
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../js/components/link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAM1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEvE,MAAM,WAAW,SAAU,SAAQ,oBAAoB;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAGnC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAGvB,UAAU,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAE7C,YAAY,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC/C,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC5B;AAwCD,iBAAS,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS,CA8B/C;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../js/components/link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAO1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEvE,MAAM,WAAW,SAAU,SAAQ,oBAAoB;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAGvB,UAAU,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAE7C,YAAY,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC/C,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC5B;AAyCD,iBAAS,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS,CAwF/C;AAED,eAAe,IAAI,CAAC"}
@@ -13,11 +13,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import * as React from 'react';
14
14
  import { NavLink } from 'react-router';
15
15
  import styled from 'styled-components';
16
+ import { usePreloadRoute } from '../router/fetching';
16
17
  import { DisplayCtx } from '../shared/context';
17
18
  import DynamicComponent from '../shared/dynamic-component/dynamic-component';
18
19
  import useComponentStyles from '../shared/utils/use-component-styles';
19
20
  const NavLinkWrapper = React.forwardRef((props, ref) => {
20
- const { to, className, style, activeStyle, inactiveStyle } = props, rest = __rest(props, ["to", "className", "style", "activeStyle", "inactiveStyle"]);
21
+ const { to, className, style, activeStyle, inactiveStyle, prefetch } = props, rest = __rest(props, ["to", "className", "style", "activeStyle", "inactiveStyle", "prefetch"]);
21
22
  return (_jsx(NavLink, Object.assign({ ref: ref, to: to, className: className, style: ({ isActive }) => {
22
23
  return Object.assign(Object.assign({}, style), (isActive ? activeStyle : inactiveStyle));
23
24
  } }, rest, { children: props.children })));
@@ -36,10 +37,53 @@ function Link(props) {
36
37
  const [style, css] = useComponentStyles(props);
37
38
  const [activeStyle, activeCss] = useComponentStyles(props, true, 'active_css');
38
39
  const [inactiveStyle, inactiveCss] = useComponentStyles(props, false, 'inactive_css');
39
- return (_jsx(DisplayCtx.Provider, { value: { component: 'anchor', direction: displayCtx.direction }, children: _jsx(StyledNavLink, { id: props.id_, className: props.className, to: props.to, end: props.end,
40
- // TODO: native prefetch doesn't work in Data mode, instead reimplement and call prefetchQuery manually
41
- // prefetch={props.prefetch}
42
- caseSensitive: props.case_sensitive, replace: props.replace, relative: props.relative, "$activeCss": css + activeCss, "$inactiveCss": css + inactiveCss, style: style, activeStyle: activeStyle, inactiveStyle: inactiveStyle, children: props.children.map((child, idx) => (_jsx(DynamicComponent, { component: child }, idx))) }) }));
40
+ // Prefetching approach inspired by SolidJS's router:
41
+ // https://github.com/solidjs/solid-router/blob/30f08665e87829736a9333d55863d27905f4a92d/src/data/events.ts#L7
42
+ const preloadRoute = usePreloadRoute();
43
+ const preloadTimeoutRef = React.useRef(null);
44
+ // Clear any existing timeout
45
+ const clearPreloadTimeout = React.useCallback(() => {
46
+ if (preloadTimeoutRef.current !== null) {
47
+ clearTimeout(preloadTimeoutRef.current);
48
+ preloadTimeoutRef.current = null;
49
+ }
50
+ }, []);
51
+ // Immediate preload (for focus/touch events)
52
+ const handleImmediatePreload = React.useCallback(() => {
53
+ if (!props.prefetch) {
54
+ return;
55
+ }
56
+ preloadRoute(props.to);
57
+ }, [props.prefetch, preloadRoute, props.to]);
58
+ // Delayed preload (for mouse move events)
59
+ const handleDelayedPreload = React.useCallback(() => {
60
+ if (!props.prefetch) {
61
+ return;
62
+ }
63
+ // Clear any existing timeout
64
+ clearPreloadTimeout();
65
+ // Set timeout for delayed preload (20ms)
66
+ preloadTimeoutRef.current = window.setTimeout(() => {
67
+ preloadRoute(props.to);
68
+ }, 20);
69
+ }, [props.prefetch, props.to, clearPreloadTimeout, preloadRoute]);
70
+ // Event handlers
71
+ const handleMouseMove = React.useCallback(() => {
72
+ handleDelayedPreload();
73
+ }, [handleDelayedPreload]);
74
+ const handleFocus = React.useCallback(() => {
75
+ handleImmediatePreload();
76
+ }, [handleImmediatePreload]);
77
+ const handleTouchStart = React.useCallback(() => {
78
+ handleImmediatePreload();
79
+ }, [handleImmediatePreload]);
80
+ // Cleanup timeout on unmount
81
+ React.useEffect(() => {
82
+ return () => {
83
+ clearPreloadTimeout();
84
+ };
85
+ }, [clearPreloadTimeout]);
86
+ return (_jsx(DisplayCtx.Provider, { value: { component: 'anchor', direction: displayCtx.direction }, children: _jsx(StyledNavLink, { id: props.id_, className: props.className, to: props.to, end: props.end, caseSensitive: props.case_sensitive, replace: props.replace, relative: props.relative, "$activeCss": css + activeCss, "$inactiveCss": css + inactiveCss, style: style, activeStyle: activeStyle, inactiveStyle: inactiveStyle, onMouseMove: props.prefetch ? handleMouseMove : undefined, onFocus: props.prefetch ? handleFocus : undefined, onTouchStart: props.prefetch ? handleTouchStart : undefined, children: props.children.map((child, idx) => (_jsx(DynamicComponent, { component: child }, idx))) }) }));
43
87
  }
44
88
  export default Link;
45
89
  //# sourceMappingURL=link.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../js/components/link.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAC1D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AAqBrE,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACnC,CACI,KAGC,EACD,GAAiC,EACnC,EAAE;IACA,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAArE,4DAA6D,CAAQ,CAAC;IAC5E,OAAO,CACH,KAAC,OAAO,kBACJ,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACpB,uCACO,KAAK,GACL,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,EAC7C;QACN,CAAC,IACG,IAAI,cAEP,KAAK,CAAC,QAAQ,IACT,CACb,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAA8C;;UAEhF,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;;;;UAI3B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY;;CAEtC,CAAC;AAEF,SAAS,IAAI,CAAC,KAAgB;IAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/E,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAEtF,OAAO,CACH,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,YAChF,KAAC,aAAa,IACV,EAAE,EAAE,KAAK,CAAC,GAAG,EACb,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,uGAAuG;YACvG,4BAA4B;YAC5B,aAAa,EAAE,KAAK,CAAC,cAAc,EACnC,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,gBACZ,GAAG,GAAG,SAAS,kBACb,GAAG,GAAG,WAAW,EAC/B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,YAE3B,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,KAAC,gBAAgB,IAAC,SAAS,EAAE,KAAK,IAAO,GAAG,CAAI,CACnD,CAAC,GACU,GACE,CACzB,CAAC;AACN,CAAC;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../js/components/link.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"side-bar-frame.d.ts","sourceRoot":"","sources":["../../js/components/side-bar-frame.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAyFjD,UAAU,iBAAiB;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,KAAK,GAAG,QAAQ,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAID;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CA0C3D;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"side-bar-frame.d.ts","sourceRoot":"","sources":["../../js/components/side-bar-frame.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAyFjD,UAAU,iBAAiB;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,KAAK,GAAG,QAAQ,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAID;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAwC3D;AAED,eAAe,YAAY,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { transparentize } from 'polished';
3
- import styled, { ThemeContext, useTheme } from '@darajs/styled-components';
3
+ import styled, { useTheme } from '@darajs/styled-components';
4
4
  import { Button } from '@darajs/ui-components';
5
5
  import DaraDark from '../assets/dara-dark.svg';
6
6
  import DaraLight from '../assets/dara-light.svg';
7
- import { DirectionCtx, DynamicComponent, Wrapper, getIcon, resolveTheme, useConfig } from '../shared';
7
+ import { DirectionCtx, DynamicComponent, Wrapper, getIcon, useConfig } from '../shared';
8
8
  import {} from '../types';
9
9
  import { prependBaseUrl } from '../utils';
10
10
  import PoweredByCausalens from './powered-by-causalens';
@@ -72,14 +72,14 @@ const LogoutArrow = getIcon('fa-solid fa-arrow-right-from-bracket');
72
72
  * It exposes two slots for registering content: side-bar & content
73
73
  */
74
74
  function SideBarFrame(props) {
75
- var _a, _b, _c;
75
+ var _a;
76
76
  const theme = useTheme();
77
77
  const config = useConfig();
78
78
  const logo = props.logo_path && (_jsx(LogoImage, { alt: "Logo", src: prependBaseUrl(props.logo_path), width: props.logo_width }));
79
79
  const logoSrc = theme.themeType === 'dark' ? DaraDark : DaraLight;
80
80
  const daraLogo = _jsx("img", { alt: "Dara Logo", src: logoSrc });
81
81
  const showPoweredBy = (_a = props.powered_by_causalens) !== null && _a !== void 0 ? _a : config.powered_by_causalens;
82
- return (_jsxs(Wrapper, { backgroundColor: theme.colors.background, children: [props.side_bar_position === 'right' && (_jsx(Wrapper, { children: props.content && _jsx(DynamicComponent, { component: props.content }) })), _jsx(ThemeContext.Provider, { value: resolveTheme((_b = config.theme) === null || _b === void 0 ? void 0 : _b.main, (_c = config.theme) === null || _c === void 0 ? void 0 : _c.base), children: _jsxs(SideBar, { style: { padding: props.side_bar_padding }, width: props.side_bar_width, children: [!props.hide_logo && props.logo_position !== 'bottom' && logo, _jsx(Wrapper, { direction: "column", children: _jsx(DirectionCtx.Provider, { value: { direction: 'column' }, children: props.side_bar && _jsx(DynamicComponent, { component: props.side_bar }) }) }), !props.hide_logo && props.logo_position === 'bottom' && logo, _jsxs(LogoutButton, { href: "/logout", styling: "error", children: [_jsx(LogoutArrow, { style: { marginRight: '0.5rem' } }), "Logout"] }), _jsxs(BuiltWithLink, { href: "https://github.com/causalens/dara", target: "_blank", rel: "noopener noreferrer", children: ["Built with ", daraLogo] }), showPoweredBy && _jsx(PoweredByCausalens, {})] }) }), props.side_bar_position !== 'right' && (_jsx(Wrapper, { style: { padding: '2rem 3rem' }, children: props.content && _jsx(DynamicComponent, { component: props.content }) }))] }));
82
+ return (_jsxs(Wrapper, { backgroundColor: theme.colors.background, children: [props.side_bar_position === 'right' && (_jsx(Wrapper, { children: props.content && _jsx(DynamicComponent, { component: props.content }) })), _jsxs(SideBar, { style: { padding: props.side_bar_padding }, width: props.side_bar_width, children: [!props.hide_logo && props.logo_position !== 'bottom' && logo, _jsx(Wrapper, { direction: "column", children: _jsx(DirectionCtx.Provider, { value: { direction: 'column' }, children: props.side_bar && _jsx(DynamicComponent, { component: props.side_bar }) }) }), !props.hide_logo && props.logo_position === 'bottom' && logo, _jsxs(LogoutButton, { href: "/logout", styling: "error", children: [_jsx(LogoutArrow, { style: { marginRight: '0.5rem' } }), "Logout"] }), _jsxs(BuiltWithLink, { href: "https://github.com/causalens/dara", target: "_blank", rel: "noopener noreferrer", children: ["Built with ", daraLogo] }), showPoweredBy && _jsx(PoweredByCausalens, {})] }), props.side_bar_position !== 'right' && (_jsx(Wrapper, { style: { padding: '2rem 3rem' }, children: props.content && _jsx(DynamicComponent, { component: props.content }) }))] }));
83
83
  }
84
84
  export default SideBarFrame;
85
85
  //# sourceMappingURL=side-bar-frame.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"side-bar-frame.js","sourceRoot":"","sources":["../../js/components/side-bar-frame.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"side-bar-frame.js","sourceRoot":"","sources":["../../js/components/side-bar-frame.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACvF,OAAO,EAA0B,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,kBAAkB,MAAM,wBAAwB,CAAC;AAMxD,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5E,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAc;;;;;aAK7D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO;;;;;;aAMjC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;;kBAElC,CAAC,KAAK,EAAE,EAAE;IACpB,OAAO,qDAAqD,cAAc,CACtE,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAChC,QAAQ,cAAc,CACnB,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAC3B,2DAA2D,cAAc,CACtE,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAC3B,QAAQ,cAAc,CACnB,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAC3B,6DAA6D,cAAc,CACxE,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAC7B,UAAU,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AACrE,CAAC;;;;CAIJ,CAAC;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;;;;;;;iBAOlB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;iBAOnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;CAEnD,CAAC;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAA;;;;;;;;;;;;CAY7B,CAAC;AAMF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAW;aAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK;;;CAGlC,CAAC;AAeF,MAAM,WAAW,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,SAAS,YAAY,CAAC,KAAwB;;IAC1C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,CAC5B,KAAC,SAAS,IAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,GAAI,CAC1F,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,MAAM,QAAQ,GAAG,cAAK,GAAG,EAAC,WAAW,EAAC,GAAG,EAAE,OAAO,GAAI,CAAC;IAEvD,MAAM,aAAa,GAAG,MAAA,KAAK,CAAC,oBAAoB,mCAAI,MAAM,CAAC,oBAAoB,CAAC;IAEhF,OAAO,CACH,MAAC,OAAO,IAAC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,aAC5C,KAAK,CAAC,iBAAiB,KAAK,OAAO,IAAI,CACpC,KAAC,OAAO,cAAE,KAAK,CAAC,OAAO,IAAI,KAAC,gBAAgB,IAAC,SAAS,EAAE,KAAK,CAAC,OAAO,GAAI,GAAW,CACvF,EACD,MAAC,OAAO,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,aAC3E,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,EAC7D,KAAC,OAAO,IAAC,SAAS,EAAC,QAAQ,YACvB,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,YAChD,KAAK,CAAC,QAAQ,IAAI,KAAC,gBAAgB,IAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,GAAI,GAC9C,GAClB,EACT,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,EAC7D,MAAC,YAAY,IAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,OAAO,aACxC,KAAC,WAAW,IAAC,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAI,cAEtC,EACf,MAAC,aAAa,IAAC,IAAI,EAAC,mCAAmC,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,4BACjF,QAAQ,IACR,EACf,aAAa,IAAI,KAAC,kBAAkB,KAAG,IAClC,EACT,KAAK,CAAC,iBAAiB,KAAK,OAAO,IAAI,CACpC,KAAC,OAAO,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,YACnC,KAAK,CAAC,OAAO,IAAI,KAAC,gBAAgB,IAAC,SAAS,EAAE,KAAK,CAAC,OAAO,GAAI,GAC1D,CACb,IACK,CACb,CAAC;AACN,CAAC;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type DefaultTheme } from '@darajs/styled-components';
2
+ import type { ComponentInstance, StyledComponentProps, Variable } from '../types';
3
+ interface ThemeProviderProps extends StyledComponentProps {
4
+ theme: Variable<'light' | 'dark' | DefaultTheme> | 'light' | 'dark' | DefaultTheme;
5
+ base_theme?: Variable<'light' | 'dark'> | 'light' | 'dark';
6
+ children: ComponentInstance[];
7
+ }
8
+ declare function ThemeProvider(props: ThemeProviderProps): JSX.Element;
9
+ export default ThemeProvider;
10
+ //# sourceMappingURL=theme-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-provider.d.ts","sourceRoot":"","sources":["../../js/components/theme-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAA2D,MAAM,2BAA2B,CAAC;AAMvH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjF,UAAU,kBAAmB,SAAQ,oBAAoB;IACrD,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,MAAM,GAAG,YAAY,CAAC,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,CAAC;IACnF,UAAU,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3D,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAMD,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAe7D;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { ThemeProvider as StyledThemeProvider, default as styled } from '@darajs/styled-components';
4
+ import { injectCss, useComponentStyles } from '../shared';
5
+ import DynamicComponent from '../shared/dynamic-component/dynamic-component';
6
+ import { useVariable } from '../shared/interactivity';
7
+ import resolveTheme from '../shared/utils/resolve-theme';
8
+ const StyledDiv = injectCss(styled.div `
9
+ /* empty */
10
+ `);
11
+ function ThemeProvider(props) {
12
+ const [style, css] = useComponentStyles(props);
13
+ const [mainTheme] = useVariable(props.theme);
14
+ const [baseTheme] = useVariable(props.base_theme);
15
+ const theme = useMemo(() => resolveTheme(mainTheme, baseTheme), [baseTheme, mainTheme]);
16
+ return (_jsx(StyledThemeProvider, { theme: theme, children: _jsx(StyledDiv, { style: Object.assign({ fontSize: theme.font.size }, style), "$rawCss": css, children: props.children.map((c) => (_jsx(DynamicComponent, { component: c }, c.uid))) }) }));
17
+ }
18
+ export default ThemeProvider;
19
+ //# sourceMappingURL=theme-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-provider.js","sourceRoot":"","sources":["../../js/components/theme-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAqB,aAAa,IAAI,mBAAmB,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEvH,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,YAAY,MAAM,8BAA8B,CAAC;AASxD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAA;;CAErC,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,KAAyB;IAC5C,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAExF,OAAO,CACH,KAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,YAC7B,KAAC,SAAS,IAAC,KAAK,kBAAI,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAK,KAAK,cAAa,GAAG,YAClE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACvB,KAAC,gBAAgB,IAAC,SAAS,EAAE,CAAC,IAAO,CAAC,CAAC,GAAG,CAAI,CACjD,CAAC,GACM,GACM,CACzB,CAAC;AACN,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"top-bar-frame.d.ts","sourceRoot":"","sources":["../../js/components/top-bar-frame.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA4FjD,UAAU,gBAAgB;IACtB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID;;GAEG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAoCzD;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"top-bar-frame.d.ts","sourceRoot":"","sources":["../../js/components/top-bar-frame.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA4FjD,UAAU,gBAAgB;IACtB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID;;GAEG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAiCzD;AAED,eAAe,WAAW,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { transparentize } from 'polished';
3
- import styled, { ThemeContext, useTheme } from '@darajs/styled-components';
3
+ import styled, { useTheme } from '@darajs/styled-components';
4
4
  import { Button } from '@darajs/ui-components';
5
5
  import DaraDark from '../assets/dara-dark.svg';
6
6
  import DaraLight from '../assets/dara-light.svg';
7
- import { DirectionCtx, DynamicComponent, Wrapper, getIcon, resolveTheme, useConfig } from '../shared';
7
+ import { DirectionCtx, DynamicComponent, Wrapper, getIcon } from '../shared';
8
8
  import {} from '../types';
9
9
  import { prependBaseUrl } from '../utils';
10
10
  const shouldForwardProp = (prop) => !['width'].includes(prop);
@@ -77,13 +77,11 @@ const LogoutArrow = getIcon('fa-solid fa-arrow-right-from-bracket');
77
77
  * The TopBarFrame component is designed as a root component for an app built using the Dara core framework.
78
78
  */
79
79
  function TopBarFrame(props) {
80
- var _a, _b;
81
80
  const theme = useTheme();
82
- const config = useConfig();
83
81
  const logo = props.logo_path && (_jsx(LogoImage, { alt: "Logo", src: prependBaseUrl(props.logo_path), width: props.logo_width }));
84
82
  const logoSrc = theme.themeType === 'dark' ? DaraDark : DaraLight;
85
83
  const daraLogo = _jsx("img", { alt: "Dara", src: logoSrc });
86
- return (_jsxs(Wrapper, { backgroundColor: theme.colors.background, direction: "column", children: [_jsx(ThemeContext.Provider, { value: resolveTheme((_a = config === null || config === void 0 ? void 0 : config.theme) === null || _a === void 0 ? void 0 : _a.main, (_b = config === null || config === void 0 ? void 0 : config.theme) === null || _b === void 0 ? void 0 : _b.base), children: _jsxs(TopBar, { height: props.top_bar_height, style: { padding: props.top_bar_padding }, children: [_jsxs(TopBarContent, { children: [!props.hide_logo && logo, props.top_bar && (_jsx(RouteButtons, { direction: "row", children: _jsx(DirectionCtx.Provider, { value: { direction: 'row' }, children: props.top_bar && _jsx(DynamicComponent, { component: props.top_bar }) }) })), _jsxs(LogoutButton, { href: "/logout", styling: "error", children: [_jsx(LogoutArrow, { style: { marginRight: '0.5rem' } }), "Logout"] })] }), _jsxs(BuiltWithSpan, { children: ["Built with ", daraLogo] })] }) }), _jsx(Wrapper, { style: { padding: '2rem 3rem' }, children: props.content && _jsx(DynamicComponent, { component: props.content }) })] }));
84
+ return (_jsxs(Wrapper, { backgroundColor: theme.colors.background, direction: "column", children: [_jsxs(TopBar, { height: props.top_bar_height, style: { padding: props.top_bar_padding }, children: [_jsxs(TopBarContent, { children: [!props.hide_logo && logo, props.top_bar && (_jsx(RouteButtons, { direction: "row", children: _jsx(DirectionCtx.Provider, { value: { direction: 'row' }, children: props.top_bar && _jsx(DynamicComponent, { component: props.top_bar }) }) })), _jsxs(LogoutButton, { href: "/logout", styling: "error", children: [_jsx(LogoutArrow, { style: { marginRight: '0.5rem' } }), "Logout"] })] }), _jsxs(BuiltWithSpan, { children: ["Built with ", daraLogo] })] }), _jsx(Wrapper, { style: { padding: '2rem 3rem' }, children: props.content && _jsx(DynamicComponent, { component: props.content }) })] }));
87
85
  }
88
86
  export default TopBarFrame;
89
87
  //# sourceMappingURL=top-bar-frame.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"top-bar-frame.js","sourceRoot":"","sources":["../../js/components/top-bar-frame.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"top-bar-frame.js","sourceRoot":"","sources":["../../js/components/top-bar-frame.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAA0B,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAMzC,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAa;;;;;;;cAO1D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO;;;;;aAKnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;;kBAElC,CAAC,KAAK,EAAE,EAAE;IACpB,OAAO;mDACoC,cAAc,CACrD,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAChC,QAAQ,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;uCACvB,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,cAAc,CAC9F,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAC3B;wCAC+B,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,cAAc,CACjG,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAC3B,OAAO,CAAC;AACb,CAAC;;;;CAIJ,CAAC;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAK/B,CAAC;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;;;;;;;;;iBASlB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;iBAOnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;CAEnD,CAAC;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;;;CAGnC,CAAC;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAA;;;;;CAKhC,CAAC;AAMF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAW;aAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK;;;CAGlC,CAAC;AAYF,MAAM,WAAW,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;AAEpE;;GAEG;AACH,SAAS,WAAW,CAAC,KAAuB;IACxC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,CAC5B,KAAC,SAAS,IAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,GAAI,CAC1F,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,MAAM,QAAQ,GAAG,cAAK,GAAG,EAAC,MAAM,EAAC,GAAG,EAAE,OAAO,GAAI,CAAC;IAElD,OAAO,CACH,MAAC,OAAO,IAAC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAC,QAAQ,aACjE,MAAC,MAAM,IAAC,MAAM,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,eAAe,EAAE,aAC3E,MAAC,aAAa,eACT,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,EACxB,KAAK,CAAC,OAAO,IAAI,CACd,KAAC,YAAY,IAAC,SAAS,EAAC,KAAK,YACzB,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,YAC7C,KAAK,CAAC,OAAO,IAAI,KAAC,gBAAgB,IAAC,SAAS,EAAE,KAAK,CAAC,OAAO,GAAI,GAC5C,GACb,CAClB,EACD,MAAC,YAAY,IAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,OAAO,aACxC,KAAC,WAAW,IAAC,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAI,cAEtC,IACH,EAChB,MAAC,aAAa,8BAAa,QAAQ,IAAiB,IAC/C,EAET,KAAC,OAAO,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,YACnC,KAAK,CAAC,OAAO,IAAI,KAAC,gBAAgB,IAAC,SAAS,EAAE,KAAK,CAAC,OAAO,GAAI,GAC1D,IACJ,CACb,CAAC;AACN,CAAC;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Global theme-dependent styles
3
+ */
4
+ export declare const GlobalStyle: import("styled-components").GlobalStyleComponent<{}, import("styled-components").DefaultTheme>;
5
+ //# sourceMappingURL=global-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-styles.d.ts","sourceRoot":"","sources":["../js/global-styles.tsx"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,WAAW,gGAOvB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { createGlobalStyle } from '@darajs/styled-components';
2
+ /**
3
+ * Global theme-dependent styles
4
+ */
5
+ export const GlobalStyle = createGlobalStyle `
6
+ /* stylelint-disable selector-id-pattern */
7
+ html,
8
+ body,
9
+ #dara_root {
10
+ font-size: ${(props) => props.theme.font.size};
11
+ }
12
+ `;
13
+ //# sourceMappingURL=global-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-styles.js","sourceRoot":"","sources":["../js/global-styles.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAA;;;;;iBAK3B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;;CAEhD,CAAC"}
package/dist/index.css CHANGED
@@ -1,3 +1,8 @@
1
+ /*
2
+ * This file only contains styles independent of the theme,
3
+ * mostly a css reset. Theme-specific styles are created using createGlobalStyle.
4
+ */
5
+
1
6
  @font-face {
2
7
  font-family: 'Manrope';
3
8
  font-weight: 300 900;
@@ -14,7 +19,6 @@ body,
14
19
  width: 100%;
15
20
 
16
21
  font-family: 'Manrope';
17
- font-size: 16px;
18
22
  }
19
23
 
20
24
  /* The following is a css-reset from: https://piccalil.li/blog/a-modern-css-reset */
@@ -94,13 +98,12 @@ select {
94
98
  }
95
99
  }
96
100
 
101
+ /* NOTE: the nprogress color is hard-coded intentionally as we want a blue progress bar regardless of the theme */
97
102
  #nprogress {
98
103
  pointer-events: none;
99
104
  }
100
105
 
101
106
  #nprogress .bar {
102
- background: #3796f6;
103
-
104
107
  position: fixed;
105
108
  z-index: 1031;
106
109
  top: 0;
@@ -108,27 +111,29 @@ select {
108
111
 
109
112
  width: 100%;
110
113
  height: 2px;
114
+
115
+ background: #3796f6;
111
116
  }
112
117
 
113
118
  #nprogress .peg {
114
- display: block;
115
119
  position: absolute;
116
- right: 0px;
120
+ right: 0;
121
+ transform: rotate(3deg) translate(0, -4px);
122
+
123
+ display: block;
124
+
117
125
  width: 100px;
118
126
  height: 100%;
127
+
128
+ opacity: 1;
119
129
  box-shadow:
120
130
  0 0 10px #3796f6,
121
131
  0 0 5px #3796f6;
122
- opacity: 1;
123
-
124
- -webkit-transform: rotate(3deg) translate(0px, -4px);
125
- -ms-transform: rotate(3deg) translate(0px, -4px);
126
- transform: rotate(3deg) translate(0px, -4px);
127
132
  }
128
133
 
129
134
  .nprogress-custom-parent {
130
- overflow: hidden;
131
135
  position: relative;
136
+ overflow: hidden;
132
137
  }
133
138
 
134
139
  .nprogress-custom-parent #nprogress .spinner,
@@ -0,0 +1,19 @@
1
+ export interface CacheOptions {
2
+ defaultTimeout?: number;
3
+ }
4
+ export declare class SingleUseCache<T> {
5
+ private cache;
6
+ private readonly defaultTimeout;
7
+ constructor(options?: CacheOptions);
8
+ private isEntryStale;
9
+ has(key: string, timeout?: number): boolean;
10
+ get(key: string, timeout?: number): Promise<T> | undefined;
11
+ set(key: string, value: Promise<T>): void;
12
+ delete(key: string): boolean;
13
+ clear(): void;
14
+ setIfMissing(key: string, computeFn: () => Promise<T>, timeout?: number): void;
15
+ size(): number;
16
+ keys(): IterableIterator<string>;
17
+ entries(): Array<[string, T | Promise<T>]>;
18
+ }
19
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../js/router/cache.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,cAAc,CAAC,CAAC;IACzB,OAAO,CAAC,KAAK,CAAoC;IAEjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,OAAO,GAAE,YAAiB;IAItC,OAAO,CAAC,YAAY;IAKpB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO;IAK3C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS;IAU1D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAOzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,KAAK,IAAI,IAAI;IAIb,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAY9E,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIhC,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CAG7C"}
@@ -0,0 +1,56 @@
1
+ export class SingleUseCache {
2
+ constructor(options = {}) {
3
+ var _a;
4
+ this.cache = new Map();
5
+ this.defaultTimeout = (_a = options.defaultTimeout) !== null && _a !== void 0 ? _a : 5000;
6
+ }
7
+ isEntryStale(entry, timeout) {
8
+ const timeoutMs = timeout !== null && timeout !== void 0 ? timeout : this.defaultTimeout;
9
+ return Date.now() - entry.timestamp > timeoutMs;
10
+ }
11
+ has(key, timeout) {
12
+ const entry = this.cache.get(key);
13
+ return entry ? !this.isEntryStale(entry, timeout) : false;
14
+ }
15
+ get(key, timeout) {
16
+ const entry = this.cache.get(key);
17
+ if (!entry || this.isEntryStale(entry, timeout)) {
18
+ return undefined;
19
+ }
20
+ // Single use
21
+ this.delete(key);
22
+ return entry.data;
23
+ }
24
+ set(key, value) {
25
+ this.cache.set(key, {
26
+ data: value,
27
+ timestamp: Date.now(),
28
+ });
29
+ }
30
+ delete(key) {
31
+ return this.cache.delete(key);
32
+ }
33
+ clear() {
34
+ this.cache.clear();
35
+ }
36
+ setIfMissing(key, computeFn, timeout) {
37
+ // Check cache first WITHOUT consuming it - just check if valid entry exists
38
+ const entry = this.cache.get(key);
39
+ if (entry && !this.isEntryStale(entry, timeout)) {
40
+ return; // Already cached and valid, nothing to do
41
+ }
42
+ // Create new computation and store it
43
+ const promise = computeFn();
44
+ this.set(key, promise);
45
+ }
46
+ size() {
47
+ return this.cache.size;
48
+ }
49
+ keys() {
50
+ return this.cache.keys();
51
+ }
52
+ entries() {
53
+ return Array.from(this.cache.entries()).map(([key, entry]) => [key, entry.data]);
54
+ }
55
+ }
56
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../js/router/cache.tsx"],"names":[],"mappings":"AASA,MAAM,OAAO,cAAc;IAKvB,YAAY,UAAwB,EAAE;;QAJ9B,UAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;QAK7C,IAAI,CAAC,cAAc,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,IAAI,CAAC;IACzD,CAAC;IAEO,YAAY,CAAC,KAAoB,EAAE,OAAgB;QACvD,MAAM,SAAS,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,cAAc,CAAC;QACjD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,OAAgB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,OAAgB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,aAAa;QACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAiB;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAChB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,GAAW;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,SAA2B,EAAE,OAAgB;QACnE,4EAA4E;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,0CAA0C;QACtD,CAAC;QAED,sCAAsC;QACtC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,CAAC;CACJ"}
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ import { type RouteObject } from 'react-router';
3
+ import { type RouteDefinition } from '../types';
4
+ interface RouterContextValue {
5
+ routeDefinitions: RouteDefinition[];
6
+ routeObjects: RouteObject[];
7
+ routeDefMap: Map<string, RouteDefinition>;
8
+ }
9
+ export declare function RouterContextProvider({ children, routeDefinitions, routeObjects, routeDefMap, }: {
10
+ children: React.ReactNode;
11
+ routeDefinitions: RouteDefinition[];
12
+ routeObjects: RouteObject[];
13
+ routeDefMap: Map<string, RouteDefinition>;
14
+ }): React.ReactElement;
15
+ export declare function useRouterContext(): RouterContextValue;
16
+ export {};
17
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../js/router/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,UAAU,kBAAkB;IACxB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAID,wBAAgB,qBAAqB,CAAC,EAClC,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,WAAW,GACd,EAAE;IACC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C,GAAG,KAAK,CAAC,YAAY,CAWrB;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,CAMrD"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import {} from 'react-router';
4
+ import {} from '../types';
5
+ const RouterContext = React.createContext(null);
6
+ export function RouterContextProvider({ children, routeDefinitions, routeObjects, routeDefMap, }) {
7
+ const value = React.useMemo(() => ({
8
+ routeDefinitions,
9
+ routeObjects,
10
+ routeDefMap,
11
+ }), [routeDefinitions, routeObjects, routeDefMap]);
12
+ return _jsx(RouterContext.Provider, { value: value, children: children });
13
+ }
14
+ export function useRouterContext() {
15
+ const context = React.useContext(RouterContext);
16
+ if (!context) {
17
+ throw new Error('useRouterContext must be used within a RouterContextProvider');
18
+ }
19
+ return context;
20
+ }
21
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../js/router/context.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAoB,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAwB,MAAM,SAAS,CAAC;AAQ/C,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAA4B,IAAI,CAAC,CAAC;AAE3E,MAAM,UAAU,qBAAqB,CAAC,EAClC,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,WAAW,GAMd;IACG,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CACvB,GAAG,EAAE,CAAC,CAAC;QACH,gBAAgB;QAChB,YAAY;QACZ,WAAW;KACd,CAAC,EACF,CAAC,gBAAgB,EAAE,YAAY,EAAE,WAAW,CAAC,CAChD,CAAC;IAEF,OAAO,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA0B,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import * as React from 'react';
2
+ import { type RouteObject, createBrowserRouter } from 'react-router';
3
+ import type { Snapshot } from 'recoil';
4
+ import { type DaraData, type RouteDefinition } from '../types/core';
5
+ export declare function createRoute(route: RouteDefinition, snapshotRef: React.MutableRefObject<Snapshot>, routeDefMap: Map<string, RouteDefinition>): RouteObject;
6
+ /**
7
+ * Find the first navigatable path in the given routes.
8
+ * Walks the routes in a BFS and returns the first route with a path.
9
+ */
10
+ export declare function findFirstPath(routes: RouteDefinition[]): string;
11
+ interface RouterWithRoutes {
12
+ router: ReturnType<typeof createBrowserRouter>;
13
+ routeDefinitions: RouteDefinition[];
14
+ routeObjects: RouteObject[];
15
+ routeDefMap: Map<string, RouteDefinition>;
16
+ }
17
+ /**
18
+ * Create the router for the application
19
+ */
20
+ export declare function createRouter(config: DaraData, snapshotRef: React.MutableRefObject<Snapshot>): RouterWithRoutes;
21
+ export {};
22
+ //# sourceMappingURL=create-router.d.ts.map