@darajs/core 0.4.8

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 (464) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +101 -0
  3. package/dist/actions/download-variable.d.ts +8 -0
  4. package/dist/actions/download-variable.d.ts.map +1 -0
  5. package/dist/actions/download-variable.js +140 -0
  6. package/dist/actions/download-variable.js.map +1 -0
  7. package/dist/actions/index.d.ts +7 -0
  8. package/dist/actions/index.d.ts.map +1 -0
  9. package/dist/actions/index.js +7 -0
  10. package/dist/actions/index.js.map +1 -0
  11. package/dist/actions/navigate-to.d.ts +8 -0
  12. package/dist/actions/navigate-to.d.ts.map +1 -0
  13. package/dist/actions/navigate-to.js +37 -0
  14. package/dist/actions/navigate-to.js.map +1 -0
  15. package/dist/actions/notify.d.ts +4 -0
  16. package/dist/actions/notify.d.ts.map +1 -0
  17. package/dist/actions/notify.js +11 -0
  18. package/dist/actions/notify.js.map +1 -0
  19. package/dist/actions/reset-variables.d.ts +8 -0
  20. package/dist/actions/reset-variables.d.ts.map +1 -0
  21. package/dist/actions/reset-variables.js +37 -0
  22. package/dist/actions/reset-variables.js.map +1 -0
  23. package/dist/actions/trigger-variable.d.ts +8 -0
  24. package/dist/actions/trigger-variable.d.ts.map +1 -0
  25. package/dist/actions/trigger-variable.js +14 -0
  26. package/dist/actions/trigger-variable.js.map +1 -0
  27. package/dist/actions/update-variable.d.ts +15 -0
  28. package/dist/actions/update-variable.d.ts.map +1 -0
  29. package/dist/actions/update-variable.js +56 -0
  30. package/dist/actions/update-variable.js.map +1 -0
  31. package/dist/api/core.d.ts +35 -0
  32. package/dist/api/core.d.ts.map +1 -0
  33. package/dist/api/core.js +112 -0
  34. package/dist/api/core.js.map +1 -0
  35. package/dist/api/http.d.ts +29 -0
  36. package/dist/api/http.d.ts.map +1 -0
  37. package/dist/api/http.js +126 -0
  38. package/dist/api/http.js.map +1 -0
  39. package/dist/api/index.d.ts +5 -0
  40. package/dist/api/index.d.ts.map +1 -0
  41. package/dist/api/index.js +5 -0
  42. package/dist/api/index.js.map +1 -0
  43. package/dist/api/websocket.d.ts +222 -0
  44. package/dist/api/websocket.d.ts.map +1 -0
  45. package/dist/api/websocket.js +353 -0
  46. package/dist/api/websocket.js.map +1 -0
  47. package/dist/assets/causalens-dark.svg +29 -0
  48. package/dist/assets/causalens-light.svg +29 -0
  49. package/dist/assets/dara-dark.svg +20 -0
  50. package/dist/assets/dara-light.svg +15 -0
  51. package/dist/assets/fonts/Manrope-VariableFont_wght.ttf +0 -0
  52. package/dist/auth/auth-wrapper.d.ts +15 -0
  53. package/dist/auth/auth-wrapper.d.ts.map +1 -0
  54. package/dist/auth/auth-wrapper.js +72 -0
  55. package/dist/auth/auth-wrapper.js.map +1 -0
  56. package/dist/auth/auth.d.ts +61 -0
  57. package/dist/auth/auth.d.ts.map +1 -0
  58. package/dist/auth/auth.js +163 -0
  59. package/dist/auth/auth.js.map +1 -0
  60. package/dist/auth/basic/basic-auth-login.d.ts +6 -0
  61. package/dist/auth/basic/basic-auth-login.d.ts.map +1 -0
  62. package/dist/auth/basic/basic-auth-login.js +171 -0
  63. package/dist/auth/basic/basic-auth-login.js.map +1 -0
  64. package/dist/auth/basic/basic-auth-logout.d.ts +6 -0
  65. package/dist/auth/basic/basic-auth-logout.d.ts.map +1 -0
  66. package/dist/auth/basic/basic-auth-logout.js +18 -0
  67. package/dist/auth/basic/basic-auth-logout.js.map +1 -0
  68. package/dist/auth/default/default-auth-login.d.ts +6 -0
  69. package/dist/auth/default/default-auth-login.d.ts.map +1 -0
  70. package/dist/auth/default/default-auth-login.js +59 -0
  71. package/dist/auth/default/default-auth-login.js.map +1 -0
  72. package/dist/auth/index.d.ts +7 -0
  73. package/dist/auth/index.d.ts.map +1 -0
  74. package/dist/auth/index.js +7 -0
  75. package/dist/auth/index.js.map +1 -0
  76. package/dist/auth/use-session-token.d.ts +19 -0
  77. package/dist/auth/use-session-token.d.ts.map +1 -0
  78. package/dist/auth/use-session-token.js +30 -0
  79. package/dist/auth/use-session-token.js.map +1 -0
  80. package/dist/components/fallback/default.d.ts +5 -0
  81. package/dist/components/fallback/default.d.ts.map +1 -0
  82. package/dist/components/fallback/default.js +10 -0
  83. package/dist/components/fallback/default.js.map +1 -0
  84. package/dist/components/fallback/dots.d.ts +7 -0
  85. package/dist/components/fallback/dots.d.ts.map +1 -0
  86. package/dist/components/fallback/dots.js +78 -0
  87. package/dist/components/fallback/dots.js.map +1 -0
  88. package/dist/components/fallback/row.d.ts +5 -0
  89. package/dist/components/fallback/row.d.ts.map +1 -0
  90. package/dist/components/fallback/row.js +14 -0
  91. package/dist/components/fallback/row.js.map +1 -0
  92. package/dist/components/for/for.d.ts +35 -0
  93. package/dist/components/for/for.d.ts.map +1 -0
  94. package/dist/components/for/for.js +44 -0
  95. package/dist/components/for/for.js.map +1 -0
  96. package/dist/components/index.d.ts +9 -0
  97. package/dist/components/index.d.ts.map +1 -0
  98. package/dist/components/index.js +9 -0
  99. package/dist/components/index.js.map +1 -0
  100. package/dist/components/menu/menu.d.ts +14 -0
  101. package/dist/components/menu/menu.d.ts.map +1 -0
  102. package/dist/components/menu/menu.js +58 -0
  103. package/dist/components/menu/menu.js.map +1 -0
  104. package/dist/components/progress-tracker/progress-tracker.d.ts +18 -0
  105. package/dist/components/progress-tracker/progress-tracker.d.ts.map +1 -0
  106. package/dist/components/progress-tracker/progress-tracker.js +204 -0
  107. package/dist/components/progress-tracker/progress-tracker.js.map +1 -0
  108. package/dist/components/router-content/router-content.d.ts +14 -0
  109. package/dist/components/router-content/router-content.d.ts.map +1 -0
  110. package/dist/components/router-content/router-content.js +17 -0
  111. package/dist/components/router-content/router-content.js.map +1 -0
  112. package/dist/components/side-bar-frame/side-bar-frame.d.ts +21 -0
  113. package/dist/components/side-bar-frame/side-bar-frame.d.ts.map +1 -0
  114. package/dist/components/side-bar-frame/side-bar-frame.js +87 -0
  115. package/dist/components/side-bar-frame/side-bar-frame.js.map +1 -0
  116. package/dist/components/top-bar-frame/top-bar-frame.d.ts +16 -0
  117. package/dist/components/top-bar-frame/top-bar-frame.d.ts.map +1 -0
  118. package/dist/components/top-bar-frame/top-bar-frame.js +89 -0
  119. package/dist/components/top-bar-frame/top-bar-frame.js.map +1 -0
  120. package/dist/dara_core-0.4.8-py3-none-any.whl +0 -0
  121. package/dist/devtools/backend-errors/backend-errors-ctx.d.ts +17 -0
  122. package/dist/devtools/backend-errors/backend-errors-ctx.d.ts.map +1 -0
  123. package/dist/devtools/backend-errors/backend-errors-ctx.js +37 -0
  124. package/dist/devtools/backend-errors/backend-errors-ctx.js.map +1 -0
  125. package/dist/devtools/backend-errors/backend-errors.d.ts +6 -0
  126. package/dist/devtools/backend-errors/backend-errors.d.ts.map +1 -0
  127. package/dist/devtools/backend-errors/backend-errors.js +57 -0
  128. package/dist/devtools/backend-errors/backend-errors.js.map +1 -0
  129. package/dist/devtools/backend-errors/error-display.d.ts +22 -0
  130. package/dist/devtools/backend-errors/error-display.d.ts.map +1 -0
  131. package/dist/devtools/backend-errors/error-display.js +101 -0
  132. package/dist/devtools/backend-errors/error-display.js.map +1 -0
  133. package/dist/devtools/backend-errors/index.d.ts +3 -0
  134. package/dist/devtools/backend-errors/index.d.ts.map +1 -0
  135. package/dist/devtools/backend-errors/index.js +3 -0
  136. package/dist/devtools/backend-errors/index.js.map +1 -0
  137. package/dist/devtools/devtools-content.d.ts +12 -0
  138. package/dist/devtools/devtools-content.d.ts.map +1 -0
  139. package/dist/devtools/devtools-content.js +73 -0
  140. package/dist/devtools/devtools-content.js.map +1 -0
  141. package/dist/devtools/devtools-context.d.ts +7 -0
  142. package/dist/devtools/devtools-context.d.ts.map +1 -0
  143. package/dist/devtools/devtools-context.js +9 -0
  144. package/dist/devtools/devtools-context.js.map +1 -0
  145. package/dist/devtools/devtools-wrapper.d.ts +8 -0
  146. package/dist/devtools/devtools-wrapper.d.ts.map +1 -0
  147. package/dist/devtools/devtools-wrapper.js +64 -0
  148. package/dist/devtools/devtools-wrapper.js.map +1 -0
  149. package/dist/devtools/devtools.d.ts +5 -0
  150. package/dist/devtools/devtools.d.ts.map +1 -0
  151. package/dist/devtools/devtools.js +10 -0
  152. package/dist/devtools/devtools.js.map +1 -0
  153. package/dist/devtools/floating-button.d.ts +23 -0
  154. package/dist/devtools/floating-button.d.ts.map +1 -0
  155. package/dist/devtools/floating-button.js +94 -0
  156. package/dist/devtools/floating-button.js.map +1 -0
  157. package/dist/devtools/index.d.ts +2 -0
  158. package/dist/devtools/index.d.ts.map +1 -0
  159. package/dist/devtools/index.js +2 -0
  160. package/dist/devtools/index.js.map +1 -0
  161. package/dist/devtools/resizer.d.ts +18 -0
  162. package/dist/devtools/resizer.d.ts.map +1 -0
  163. package/dist/devtools/resizer.js +49 -0
  164. package/dist/devtools/resizer.js.map +1 -0
  165. package/dist/devtools/use-move.d.ts +21 -0
  166. package/dist/devtools/use-move.d.ts.map +1 -0
  167. package/dist/devtools/use-move.js +56 -0
  168. package/dist/devtools/use-move.js.map +1 -0
  169. package/dist/index.css +95 -0
  170. package/dist/index.d.ts +17 -0
  171. package/dist/index.d.ts.map +1 -0
  172. package/dist/index.js +14 -0
  173. package/dist/index.js.map +1 -0
  174. package/dist/jest-setup.d.ts +2 -0
  175. package/dist/jest-setup.d.ts.map +1 -0
  176. package/dist/jest-setup.js +18 -0
  177. package/dist/jest-setup.js.map +1 -0
  178. package/dist/pages/error-page.d.ts +3 -0
  179. package/dist/pages/error-page.d.ts.map +1 -0
  180. package/dist/pages/error-page.js +32 -0
  181. package/dist/pages/error-page.js.map +1 -0
  182. package/dist/pages/sso-callback-page.d.ts +6 -0
  183. package/dist/pages/sso-callback-page.d.ts.map +1 -0
  184. package/dist/pages/sso-callback-page.js +8 -0
  185. package/dist/pages/sso-callback-page.js.map +1 -0
  186. package/dist/run.d.ts +22 -0
  187. package/dist/run.d.ts.map +1 -0
  188. package/dist/run.js +40 -0
  189. package/dist/run.js.map +1 -0
  190. package/dist/shared/center/center.d.ts +5 -0
  191. package/dist/shared/center/center.d.ts.map +1 -0
  192. package/dist/shared/center/center.js +15 -0
  193. package/dist/shared/center/center.js.map +1 -0
  194. package/dist/shared/context/direction-context.d.ts +6 -0
  195. package/dist/shared/context/direction-context.d.ts.map +1 -0
  196. package/dist/shared/context/direction-context.js +4 -0
  197. package/dist/shared/context/direction-context.js.map +1 -0
  198. package/dist/shared/context/display-context.d.ts +13 -0
  199. package/dist/shared/context/display-context.d.ts.map +1 -0
  200. package/dist/shared/context/display-context.js +4 -0
  201. package/dist/shared/context/display-context.js.map +1 -0
  202. package/dist/shared/context/fallback-context.d.ts +11 -0
  203. package/dist/shared/context/fallback-context.d.ts.map +1 -0
  204. package/dist/shared/context/fallback-context.js +4 -0
  205. package/dist/shared/context/fallback-context.js.map +1 -0
  206. package/dist/shared/context/global-task-context.d.ts +40 -0
  207. package/dist/shared/context/global-task-context.d.ts.map +1 -0
  208. package/dist/shared/context/global-task-context.js +81 -0
  209. package/dist/shared/context/global-task-context.js.map +1 -0
  210. package/dist/shared/context/importers-context.d.ts +6 -0
  211. package/dist/shared/context/importers-context.d.ts.map +1 -0
  212. package/dist/shared/context/importers-context.js +4 -0
  213. package/dist/shared/context/importers-context.js.map +1 -0
  214. package/dist/shared/context/index.d.ts +10 -0
  215. package/dist/shared/context/index.d.ts.map +1 -0
  216. package/dist/shared/context/index.js +10 -0
  217. package/dist/shared/context/index.js.map +1 -0
  218. package/dist/shared/context/registries-context.d.ts +20 -0
  219. package/dist/shared/context/registries-context.d.ts.map +1 -0
  220. package/dist/shared/context/registries-context.js +8 -0
  221. package/dist/shared/context/registries-context.js.map +1 -0
  222. package/dist/shared/context/request-extras-context.d.ts +33 -0
  223. package/dist/shared/context/request-extras-context.d.ts.map +1 -0
  224. package/dist/shared/context/request-extras-context.js +55 -0
  225. package/dist/shared/context/request-extras-context.js.map +1 -0
  226. package/dist/shared/context/variable-context.d.ts +10 -0
  227. package/dist/shared/context/variable-context.d.ts.map +1 -0
  228. package/dist/shared/context/variable-context.js +4 -0
  229. package/dist/shared/context/variable-context.js.map +1 -0
  230. package/dist/shared/context/websocket-context.d.ts +7 -0
  231. package/dist/shared/context/websocket-context.d.ts.map +1 -0
  232. package/dist/shared/context/websocket-context.js +4 -0
  233. package/dist/shared/context/websocket-context.js.map +1 -0
  234. package/dist/shared/dynamic-component/clean-props.d.ts +6 -0
  235. package/dist/shared/dynamic-component/clean-props.d.ts.map +1 -0
  236. package/dist/shared/dynamic-component/clean-props.js +13 -0
  237. package/dist/shared/dynamic-component/clean-props.js.map +1 -0
  238. package/dist/shared/dynamic-component/dynamic-component.d.ts +16 -0
  239. package/dist/shared/dynamic-component/dynamic-component.d.ts.map +1 -0
  240. package/dist/shared/dynamic-component/dynamic-component.js +252 -0
  241. package/dist/shared/dynamic-component/dynamic-component.js.map +1 -0
  242. package/dist/shared/error-handling/error-display.d.ts +8 -0
  243. package/dist/shared/error-handling/error-display.d.ts.map +1 -0
  244. package/dist/shared/error-handling/error-display.js +94 -0
  245. package/dist/shared/error-handling/error-display.js.map +1 -0
  246. package/dist/shared/error-handling/index.d.ts +3 -0
  247. package/dist/shared/error-handling/index.d.ts.map +1 -0
  248. package/dist/shared/error-handling/index.js +3 -0
  249. package/dist/shared/error-handling/index.js.map +1 -0
  250. package/dist/shared/error-handling/types.d.ts +11 -0
  251. package/dist/shared/error-handling/types.d.ts.map +1 -0
  252. package/dist/shared/error-handling/types.js +9 -0
  253. package/dist/shared/error-handling/types.js.map +1 -0
  254. package/dist/shared/event-bus/event-bus.d.ts +27 -0
  255. package/dist/shared/event-bus/event-bus.d.ts.map +1 -0
  256. package/dist/shared/event-bus/event-bus.js +58 -0
  257. package/dist/shared/event-bus/event-bus.js.map +1 -0
  258. package/dist/shared/global-state-store.d.ts +54 -0
  259. package/dist/shared/global-state-store.d.ts.map +1 -0
  260. package/dist/shared/global-state-store.js +168 -0
  261. package/dist/shared/global-state-store.js.map +1 -0
  262. package/dist/shared/index.d.ts +12 -0
  263. package/dist/shared/index.d.ts.map +1 -0
  264. package/dist/shared/index.js +10 -0
  265. package/dist/shared/index.js.map +1 -0
  266. package/dist/shared/interactivity/data-variable.d.ts +78 -0
  267. package/dist/shared/interactivity/data-variable.d.ts.map +1 -0
  268. package/dist/shared/interactivity/data-variable.js +218 -0
  269. package/dist/shared/interactivity/data-variable.js.map +1 -0
  270. package/dist/shared/interactivity/derived-variable.d.ts +160 -0
  271. package/dist/shared/interactivity/derived-variable.d.ts.map +1 -0
  272. package/dist/shared/interactivity/derived-variable.js +446 -0
  273. package/dist/shared/interactivity/derived-variable.js.map +1 -0
  274. package/dist/shared/interactivity/filtering.d.ts +9 -0
  275. package/dist/shared/interactivity/filtering.d.ts.map +1 -0
  276. package/dist/shared/interactivity/filtering.js +20 -0
  277. package/dist/shared/interactivity/filtering.js.map +1 -0
  278. package/dist/shared/interactivity/index.d.ts +10 -0
  279. package/dist/shared/interactivity/index.d.ts.map +1 -0
  280. package/dist/shared/interactivity/index.js +9 -0
  281. package/dist/shared/interactivity/index.js.map +1 -0
  282. package/dist/shared/interactivity/internal.d.ts +9 -0
  283. package/dist/shared/interactivity/internal.d.ts.map +1 -0
  284. package/dist/shared/interactivity/internal.js +11 -0
  285. package/dist/shared/interactivity/internal.js.map +1 -0
  286. package/dist/shared/interactivity/nested.d.ts +16 -0
  287. package/dist/shared/interactivity/nested.d.ts.map +1 -0
  288. package/dist/shared/interactivity/nested.js +54 -0
  289. package/dist/shared/interactivity/nested.js.map +1 -0
  290. package/dist/shared/interactivity/persistence.d.ts +43 -0
  291. package/dist/shared/interactivity/persistence.d.ts.map +1 -0
  292. package/dist/shared/interactivity/persistence.js +215 -0
  293. package/dist/shared/interactivity/persistence.js.map +1 -0
  294. package/dist/shared/interactivity/plain-variable.d.ts +17 -0
  295. package/dist/shared/interactivity/plain-variable.d.ts.map +1 -0
  296. package/dist/shared/interactivity/plain-variable.js +222 -0
  297. package/dist/shared/interactivity/plain-variable.js.map +1 -0
  298. package/dist/shared/interactivity/resolve-value.d.ts +13 -0
  299. package/dist/shared/interactivity/resolve-value.d.ts.map +1 -0
  300. package/dist/shared/interactivity/resolve-value.js +36 -0
  301. package/dist/shared/interactivity/resolve-value.js.map +1 -0
  302. package/dist/shared/interactivity/resolve-variable.d.ts +18 -0
  303. package/dist/shared/interactivity/resolve-variable.d.ts.map +1 -0
  304. package/dist/shared/interactivity/resolve-variable.js +46 -0
  305. package/dist/shared/interactivity/resolve-variable.js.map +1 -0
  306. package/dist/shared/interactivity/store.d.ts +76 -0
  307. package/dist/shared/interactivity/store.d.ts.map +1 -0
  308. package/dist/shared/interactivity/store.js +99 -0
  309. package/dist/shared/interactivity/store.js.map +1 -0
  310. package/dist/shared/interactivity/triggers.d.ts +31 -0
  311. package/dist/shared/interactivity/triggers.d.ts.map +1 -0
  312. package/dist/shared/interactivity/triggers.js +105 -0
  313. package/dist/shared/interactivity/triggers.js.map +1 -0
  314. package/dist/shared/interactivity/url-variable.d.ts +12 -0
  315. package/dist/shared/interactivity/url-variable.d.ts.map +1 -0
  316. package/dist/shared/interactivity/url-variable.js +27 -0
  317. package/dist/shared/interactivity/url-variable.js.map +1 -0
  318. package/dist/shared/interactivity/use-any-variable.d.ts +8 -0
  319. package/dist/shared/interactivity/use-any-variable.d.ts.map +1 -0
  320. package/dist/shared/interactivity/use-any-variable.js +39 -0
  321. package/dist/shared/interactivity/use-any-variable.js.map +1 -0
  322. package/dist/shared/interactivity/use-data-variable.d.ts +18 -0
  323. package/dist/shared/interactivity/use-data-variable.d.ts.map +1 -0
  324. package/dist/shared/interactivity/use-data-variable.js +58 -0
  325. package/dist/shared/interactivity/use-data-variable.js.map +1 -0
  326. package/dist/shared/interactivity/use-refresh-selector.d.ts +5 -0
  327. package/dist/shared/interactivity/use-refresh-selector.d.ts.map +1 -0
  328. package/dist/shared/interactivity/use-refresh-selector.js +20 -0
  329. package/dist/shared/interactivity/use-refresh-selector.js.map +1 -0
  330. package/dist/shared/interactivity/use-server-component.d.ts +24 -0
  331. package/dist/shared/interactivity/use-server-component.d.ts.map +1 -0
  332. package/dist/shared/interactivity/use-server-component.js +256 -0
  333. package/dist/shared/interactivity/use-server-component.js.map +1 -0
  334. package/dist/shared/interactivity/use-variable-state.d.ts +9 -0
  335. package/dist/shared/interactivity/use-variable-state.d.ts.map +1 -0
  336. package/dist/shared/interactivity/use-variable-state.js +26 -0
  337. package/dist/shared/interactivity/use-variable-state.js.map +1 -0
  338. package/dist/shared/interactivity/use-variable-value.d.ts +33 -0
  339. package/dist/shared/interactivity/use-variable-value.d.ts.map +1 -0
  340. package/dist/shared/interactivity/use-variable-value.js +94 -0
  341. package/dist/shared/interactivity/use-variable-value.js.map +1 -0
  342. package/dist/shared/interactivity/use-variable.d.ts +12 -0
  343. package/dist/shared/interactivity/use-variable.d.ts.map +1 -0
  344. package/dist/shared/interactivity/use-variable.js +84 -0
  345. package/dist/shared/interactivity/use-variable.js.map +1 -0
  346. package/dist/shared/private-route/private-route.d.ts +19 -0
  347. package/dist/shared/private-route/private-route.d.ts.map +1 -0
  348. package/dist/shared/private-route/private-route.js +35 -0
  349. package/dist/shared/private-route/private-route.js.map +1 -0
  350. package/dist/shared/template-root/dynamic-context.d.ts +9 -0
  351. package/dist/shared/template-root/dynamic-context.d.ts.map +1 -0
  352. package/dist/shared/template-root/dynamic-context.js +29 -0
  353. package/dist/shared/template-root/dynamic-context.js.map +1 -0
  354. package/dist/shared/template-root/template-root.d.ts +12 -0
  355. package/dist/shared/template-root/template-root.d.ts.map +1 -0
  356. package/dist/shared/template-root/template-root.js +94 -0
  357. package/dist/shared/template-root/template-root.js.map +1 -0
  358. package/dist/shared/utils/clean-session-cache.d.ts +9 -0
  359. package/dist/shared/utils/clean-session-cache.d.ts.map +1 -0
  360. package/dist/shared/utils/clean-session-cache.js +19 -0
  361. package/dist/shared/utils/clean-session-cache.js.map +1 -0
  362. package/dist/shared/utils/embed.d.ts +22 -0
  363. package/dist/shared/utils/embed.d.ts.map +1 -0
  364. package/dist/shared/utils/embed.js +43 -0
  365. package/dist/shared/utils/embed.js.map +1 -0
  366. package/dist/shared/utils/get-icon.d.ts +9 -0
  367. package/dist/shared/utils/get-icon.d.ts.map +1 -0
  368. package/dist/shared/utils/get-icon.js +30 -0
  369. package/dist/shared/utils/get-icon.js.map +1 -0
  370. package/dist/shared/utils/hashing.d.ts +14 -0
  371. package/dist/shared/utils/hashing.d.ts.map +1 -0
  372. package/dist/shared/utils/hashing.js +26 -0
  373. package/dist/shared/utils/hashing.js.map +1 -0
  374. package/dist/shared/utils/index.d.ts +19 -0
  375. package/dist/shared/utils/index.d.ts.map +1 -0
  376. package/dist/shared/utils/index.js +17 -0
  377. package/dist/shared/utils/index.js.map +1 -0
  378. package/dist/shared/utils/inject-css.d.ts +12 -0
  379. package/dist/shared/utils/inject-css.d.ts.map +1 -0
  380. package/dist/shared/utils/inject-css.js +25 -0
  381. package/dist/shared/utils/inject-css.js.map +1 -0
  382. package/dist/shared/utils/is-js-component.d.ts +9 -0
  383. package/dist/shared/utils/is-js-component.d.ts.map +1 -0
  384. package/dist/shared/utils/is-js-component.js +11 -0
  385. package/dist/shared/utils/is-js-component.js.map +1 -0
  386. package/dist/shared/utils/normalization.d.ts +19 -0
  387. package/dist/shared/utils/normalization.d.ts.map +1 -0
  388. package/dist/shared/utils/normalization.js +121 -0
  389. package/dist/shared/utils/normalization.js.map +1 -0
  390. package/dist/shared/utils/resolve-theme.d.ts +9 -0
  391. package/dist/shared/utils/resolve-theme.d.ts.map +1 -0
  392. package/dist/shared/utils/resolve-theme.js +28 -0
  393. package/dist/shared/utils/resolve-theme.js.map +1 -0
  394. package/dist/shared/utils/templating.d.ts +24 -0
  395. package/dist/shared/utils/templating.d.ts.map +1 -0
  396. package/dist/shared/utils/templating.js +67 -0
  397. package/dist/shared/utils/templating.js.map +1 -0
  398. package/dist/shared/utils/use-action-registry.d.ts +11 -0
  399. package/dist/shared/utils/use-action-registry.d.ts.map +1 -0
  400. package/dist/shared/utils/use-action-registry.js +18 -0
  401. package/dist/shared/utils/use-action-registry.js.map +1 -0
  402. package/dist/shared/utils/use-action.d.ts +34 -0
  403. package/dist/shared/utils/use-action.d.ts.map +1 -0
  404. package/dist/shared/utils/use-action.js +314 -0
  405. package/dist/shared/utils/use-action.js.map +1 -0
  406. package/dist/shared/utils/use-component-registry.d.ts +11 -0
  407. package/dist/shared/utils/use-component-registry.d.ts.map +1 -0
  408. package/dist/shared/utils/use-component-registry.js +57 -0
  409. package/dist/shared/utils/use-component-registry.js.map +1 -0
  410. package/dist/shared/utils/use-component-styles.d.ts +24 -0
  411. package/dist/shared/utils/use-component-styles.d.ts.map +1 -0
  412. package/dist/shared/utils/use-component-styles.js +69 -0
  413. package/dist/shared/utils/use-component-styles.js.map +1 -0
  414. package/dist/shared/utils/use-defer-loadable.d.ts +8 -0
  415. package/dist/shared/utils/use-defer-loadable.d.ts.map +1 -0
  416. package/dist/shared/utils/use-defer-loadable.js +44 -0
  417. package/dist/shared/utils/use-defer-loadable.js.map +1 -0
  418. package/dist/shared/utils/use-interval.d.ts +9 -0
  419. package/dist/shared/utils/use-interval.d.ts.map +1 -0
  420. package/dist/shared/utils/use-interval.js +19 -0
  421. package/dist/shared/utils/use-interval.js.map +1 -0
  422. package/dist/shared/utils/use-previous.d.ts +10 -0
  423. package/dist/shared/utils/use-previous.d.ts.map +1 -0
  424. package/dist/shared/utils/use-previous.js +17 -0
  425. package/dist/shared/utils/use-previous.js.map +1 -0
  426. package/dist/shared/utils/use-url-sync.d.ts +20 -0
  427. package/dist/shared/utils/use-url-sync.d.ts.map +1 -0
  428. package/dist/shared/utils/use-url-sync.js +68 -0
  429. package/dist/shared/utils/use-url-sync.js.map +1 -0
  430. package/dist/shared/utils/use-window-title.d.ts +3 -0
  431. package/dist/shared/utils/use-window-title.d.ts.map +1 -0
  432. package/dist/shared/utils/use-window-title.js +14 -0
  433. package/dist/shared/utils/use-window-title.js.map +1 -0
  434. package/dist/shared/variable-state-provider/variable-state-provider.d.ts +10 -0
  435. package/dist/shared/variable-state-provider/variable-state-provider.d.ts.map +1 -0
  436. package/dist/shared/variable-state-provider/variable-state-provider.js +29 -0
  437. package/dist/shared/variable-state-provider/variable-state-provider.js.map +1 -0
  438. package/dist/shared/wrapper/wrapper.d.ts +7 -0
  439. package/dist/shared/wrapper/wrapper.d.ts.map +1 -0
  440. package/dist/shared/wrapper/wrapper.js +14 -0
  441. package/dist/shared/wrapper/wrapper.js.map +1 -0
  442. package/dist/types/auth.d.ts +15 -0
  443. package/dist/types/auth.d.ts.map +1 -0
  444. package/dist/types/auth.js +6 -0
  445. package/dist/types/auth.js.map +1 -0
  446. package/dist/types/core.d.ts +440 -0
  447. package/dist/types/core.d.ts.map +1 -0
  448. package/dist/types/core.js +22 -0
  449. package/dist/types/core.js.map +1 -0
  450. package/dist/types/index.d.ts +7 -0
  451. package/dist/types/index.d.ts.map +1 -0
  452. package/dist/types/index.js +4 -0
  453. package/dist/types/index.js.map +1 -0
  454. package/dist/types/utils.d.ts +56 -0
  455. package/dist/types/utils.d.ts.map +1 -0
  456. package/dist/types/utils.js +93 -0
  457. package/dist/types/utils.js.map +1 -0
  458. package/dist/umd/dara.core.umd.js +86508 -0
  459. package/dist/umd/style.css +848 -0
  460. package/dist/utils.d.ts +11 -0
  461. package/dist/utils.d.ts.map +1 -0
  462. package/dist/utils.js +20 -0
  463. package/dist/utils.js.map +1 -0
  464. package/package.json +121 -0
@@ -0,0 +1,218 @@
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
+ /* eslint-disable react-hooks/exhaustive-deps */
11
+ import { useCallback, useRef } from 'react';
12
+ import { atom } from 'recoil';
13
+ import { HTTP_METHOD, validateResponse } from '@darajs/ui-utils';
14
+ import { fetchTaskResult, handleAuthErrors } from '../../api';
15
+ import { request } from '../../api/http';
16
+ import { useRequestExtras } from '../context';
17
+ import { useEventBus } from '../event-bus/event-bus';
18
+ import { combineFilters } from './filtering';
19
+ import { atomRegistry } from './store';
20
+ /**
21
+ * Format a DataVariable into a ResolvedDataVariable structure for the backend
22
+ *
23
+ * @param variable the variable to resolve for the backend
24
+ */
25
+ export function resolveDataVariable(variable) {
26
+ return {
27
+ filters: variable.filters,
28
+ type: 'data',
29
+ uid: variable.uid,
30
+ };
31
+ }
32
+ /**
33
+ * Create necessary query parameters on a URL based on pagination settings
34
+ *
35
+ * @param path url path
36
+ * @param pagination pagination object
37
+ */
38
+ function createDataUrl(path, pagination) {
39
+ const url = new URL(path, window.location.origin);
40
+ if (pagination === null || pagination === void 0 ? void 0 : pagination.limit) {
41
+ url.searchParams.set('limit', String(pagination.limit));
42
+ }
43
+ if (pagination === null || pagination === void 0 ? void 0 : pagination.offset) {
44
+ url.searchParams.set('offset', String(pagination.offset));
45
+ }
46
+ if (pagination === null || pagination === void 0 ? void 0 : pagination.sort) {
47
+ url.searchParams.set('order_by', (pagination.sort.desc ? '-' : '') + pagination.sort.id);
48
+ }
49
+ if (pagination === null || pagination === void 0 ? void 0 : pagination.index) {
50
+ url.searchParams.set('index', String(pagination.index));
51
+ }
52
+ return url;
53
+ }
54
+ /**
55
+ * Retrieve the value of a data variable from the backend
56
+ *
57
+ * @param uid
58
+ * @param extras request extras to be merged into the options
59
+ * @param filters
60
+ * @param pagination
61
+ */
62
+ export function fetchDataVariable(uid, extras, filters, pagination) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ const url = createDataUrl(`/api/core/data-variable/${uid}`, pagination);
65
+ const response = yield request(url, { body: JSON.stringify({ filters }), method: HTTP_METHOD.POST }, extras);
66
+ yield handleAuthErrors(response, true);
67
+ yield validateResponse(response, 'Failed to fetch data variable');
68
+ return response.json();
69
+ });
70
+ }
71
+ export function isDataResponse(response) {
72
+ return typeof response === 'object' && 'data' in response && 'totalCount' in response;
73
+ }
74
+ /**
75
+ * Retrieve the value of a derived data variable from the backend
76
+ *
77
+ * @param uid
78
+ * @param extras request extras to be merged into the options
79
+ * @param filters
80
+ * @param pagination
81
+ * @param cacheKey - cache key of the underlying DV, required for DerivedDataVariables
82
+ * @param wsChannel - websocket channel, required for DerivedDataVariables
83
+ */
84
+ export function fetchDerivedDataVariable(uid, extras, cacheKey, wsChannel, filters, pagination) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const url = createDataUrl(`/api/core/data-variable/${uid}`, pagination);
87
+ const response = yield request(url, { body: JSON.stringify({ cache_key: cacheKey, filters, ws_channel: wsChannel }), method: HTTP_METHOD.POST }, extras);
88
+ yield handleAuthErrors(response, true);
89
+ yield validateResponse(response, 'Failed to fetch data variable');
90
+ return response.json();
91
+ });
92
+ }
93
+ /**
94
+ * Get total count of data in a data variable
95
+ *
96
+ * @param uid uid of the variable
97
+ * @param extras request extras to be merged into the options
98
+ * @param cacheKey cache key of the underlying DV in the case of derived data variables
99
+ */
100
+ function fetchDataVariableCount(uid, extras, filters, cacheKey) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ const response = yield request(`/api/core/data-variable/${uid}/count`, { body: JSON.stringify({ cache_key: cacheKey, filters }), method: HTTP_METHOD.POST }, extras);
103
+ yield handleAuthErrors(response, true);
104
+ yield validateResponse(response, 'Failed to fetch data variable total count');
105
+ return response.json();
106
+ });
107
+ }
108
+ /**
109
+ * Get data variable schema
110
+ *
111
+ * @param uid uid of the variable
112
+ * @param extras request extras to be merged into the options
113
+ * @param cacheKey cache key of the underlying DV in the case of derived data variables
114
+ */
115
+ function fetchDataVariableSchema(uid, extras, cacheKey) {
116
+ return __awaiter(this, void 0, void 0, function* () {
117
+ const queryString = cacheKey ? new URLSearchParams({ cache_key: cacheKey }).toString() : '';
118
+ const response = yield request(`/api/core/data-variable/${uid}/schema?${queryString}`, { method: HTTP_METHOD.GET }, extras);
119
+ yield handleAuthErrors(response, true);
120
+ yield validateResponse(response, 'Failed to fetch data variable schema');
121
+ return response.json();
122
+ });
123
+ }
124
+ /**
125
+ * Get a callback to fetch data variable from the backend
126
+ *
127
+ * @param variable variable instance
128
+ * @param serverTriggerCounter a counter to force recreation of the callback
129
+ */
130
+ export function useFetchDataVariable(variable, serverTriggerCounter) {
131
+ const eventBus = useEventBus();
132
+ const extras = useRequestExtras();
133
+ const dataCallback = useCallback((filters, pagination, options) => __awaiter(this, void 0, void 0, function* () {
134
+ const mergedFilters = combineFilters('AND', [variable.filters, filters]);
135
+ const data = yield fetchDataVariable(variable.uid, extras, mergedFilters, pagination);
136
+ const [totalCount, schema = null] = yield Promise.all([
137
+ fetchDataVariableCount(variable.uid, extras, mergedFilters),
138
+ ...((options === null || options === void 0 ? void 0 : options.schema) ? [fetchDataVariableSchema(variable.uid, extras)] : []),
139
+ ]);
140
+ // publish the event
141
+ eventBus.publish('DATA_VARIABLE_LOADED', { variable, value: { data, totalCount } });
142
+ return Object.assign({ data,
143
+ totalCount }, (schema !== null && { schema }));
144
+ }), [variable, extras, serverTriggerCounter, eventBus]);
145
+ return dataCallback;
146
+ }
147
+ /**
148
+ * Get a callback to fetch derived data variable from the backend.
149
+ * Throws a TaskCancelledError when the backend task is cancelled.
150
+ *
151
+ * @param variable variable instance
152
+ * @param taskContext global task context
153
+ * @param wsClient websocket client instance
154
+ * @param dvValuePromise promise representing underlying derived variable state
155
+ */
156
+ export function useFetchDerivedDataVariable(variable, taskContext, wsClient, dvValuePromise) {
157
+ const eventBus = useEventBus();
158
+ const extras = useRequestExtras();
159
+ const previousResult = useRef({ data: null, totalCount: 0, schema: { fields: [], primaryKey: [] } });
160
+ const dataCallback = useCallback((filters, pagination, options) => __awaiter(this, void 0, void 0, function* () {
161
+ const mergedFilters = combineFilters('AND', [variable.filters, filters]);
162
+ const dvValue = yield dvValuePromise;
163
+ const response = yield fetchDerivedDataVariable(variable.uid, extras, dvValue.cache_key, yield wsClient.getChannel(), mergedFilters, pagination);
164
+ let data = null;
165
+ const variableTaskId = `${variable.uid}-filter`;
166
+ // cancel previously running filter tasks
167
+ taskContext.cleanupRunningTasks(variableTaskId);
168
+ // if task was returned, wait for it to complete and fetch task result
169
+ if (response && 'task_id' in response) {
170
+ const taskId = response.task_id;
171
+ // add task to currently running tasks
172
+ taskContext.startTask(taskId, variableTaskId);
173
+ try {
174
+ yield wsClient.waitForTask(taskId);
175
+ }
176
+ catch (_a) {
177
+ eventBus.publish('DERIVED_DATA_VARIABLE_LOADED', { variable, value: null });
178
+ // If an error occurred (i.e. task was cancelled) return the previous result.
179
+ // This would also cause the callback's identity to change so if the consuming component is
180
+ // honouring the contract, it should execute the callback again
181
+ return previousResult.current;
182
+ }
183
+ finally {
184
+ taskContext.endTask(taskId);
185
+ }
186
+ data = yield fetchTaskResult(taskId, extras);
187
+ }
188
+ else {
189
+ // otherwise use response directly
190
+ data = response;
191
+ }
192
+ // For derived data variables count can only be fetched when task is not running so we have to make the request here
193
+ // As the total count could have changed because of the underlying DV changing
194
+ const [totalCount, schema = null] = yield Promise.all([
195
+ fetchDataVariableCount(variable.uid, extras, mergedFilters, dvValue.cache_key),
196
+ ...((options === null || options === void 0 ? void 0 : options.schema) ? [fetchDataVariableSchema(variable.uid, extras, dvValue.cache_key)] : []),
197
+ ]);
198
+ previousResult.current = Object.assign({ data,
199
+ totalCount }, (schema !== null && { schema }));
200
+ // publish the event
201
+ eventBus.publish('DERIVED_DATA_VARIABLE_LOADED', { variable, value: { data, totalCount } });
202
+ return Object.assign({ data,
203
+ totalCount }, (schema !== null && { schema }));
204
+ }), [variable, extras, dvValuePromise, eventBus]);
205
+ return dataCallback;
206
+ }
207
+ /**
208
+ * Register an empty atom for DataVariable.
209
+ * Used to check whether a variable is registered within the app.
210
+ *
211
+ * @param variable variable to register
212
+ */
213
+ export function registerDataVariable(variable) {
214
+ if (!atomRegistry.has(variable.uid)) {
215
+ atomRegistry.set(variable.uid, atom({ default: true, key: variable.uid }));
216
+ }
217
+ }
218
+ //# sourceMappingURL=data-variable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/data-variable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ import { GetRecoilValue, RecoilValue } from 'recoil';
2
+ import { WebSocketClientInterface } from '../../api';
3
+ import { RequestExtras } from '../../api/http';
4
+ import { GlobalTaskContext } from '../../shared/context/global-task-context';
5
+ import { AnyVariable, DerivedDataVariable, DerivedVariable, ResolvedDataVariable, ResolvedDerivedDataVariable, ResolvedDerivedVariable } from '../../types';
6
+ import { TriggerIndexValue } from './store';
7
+ export interface DerivedVariableValueResponse<T> {
8
+ cache_key: string;
9
+ value: T;
10
+ }
11
+ type DerivedVariableResponse<T> = DerivedVariableTaskResponse | DerivedVariableValueResponse<T>;
12
+ export declare function isTaskResponse(dvResponse: DerivedVariableResponse<any>): dvResponse is DerivedVariableTaskResponse;
13
+ interface DerivedVariableTaskResponse {
14
+ cache_key: string;
15
+ task_id: string;
16
+ }
17
+ /**
18
+ * Format values into a shape expected by the backend.
19
+ *
20
+ * @param values list of values - plain values or ResolvedDerivedVariable constructs with plain values nested inside
21
+ */
22
+ export declare function formatDerivedVariableRequest(values: Array<any | ResolvedDerivedVariable>): any[];
23
+ interface FetchDerivedVariableArgs {
24
+ cache: DerivedVariable['cache'];
25
+ extras: RequestExtras;
26
+ force: boolean;
27
+ is_data_variable?: boolean;
28
+ /**
29
+ * selector instance key - each selector's requests should be treated separately
30
+ */
31
+ selectorKey: string;
32
+ values: Record<string | number, any>;
33
+ /**
34
+ * Variable uid
35
+ */
36
+ variableUid: string;
37
+ wsClient: WebSocketClientInterface;
38
+ }
39
+ /**
40
+ * Fetch the value of a derived variable from the backend
41
+ *
42
+ * @param input Function inputs
43
+ * - `cache`, the cache option for the derived variable.
44
+ * - `force`, send force=true in the request body
45
+ * - `extras`, request extras to be merged into the options
46
+ * - `uid`, the uid of the derived variable
47
+ * - `values`, values to pass in the request
48
+ * - `wsClient`, websocket client
49
+ */
50
+ export declare function fetchDerivedVariable<T>({ cache, force, extras, variableUid, values, wsClient, is_data_variable, }: FetchDerivedVariableArgs): Promise<DerivedVariableResponse<T>>;
51
+ /**
52
+ * Resolve a value to a format understood by the backend, resolving atoms to values.
53
+ *
54
+ * @param value value to resolve
55
+ * @param getter recoil getter function
56
+ */
57
+ export declare function resolveValue(value: ResolvedDerivedVariable | ResolvedDerivedDataVariable | ResolvedDataVariable | RecoilValue<any>, getter: GetRecoilValue): any;
58
+ /**
59
+ * Recursively build a deps array from a list of values
60
+ * Values not in deps array are replaced with empty array
61
+ *
62
+ * @param values array of primitives and ResolvedDerivedVariable objects
63
+ * @param deps array of indexes of dependencies to get values from
64
+ */
65
+ export declare function getDeps(values: Array<ResolvedDerivedVariable | any>, deps?: number[]): any[];
66
+ /**
67
+ * A helper hook that turns a DerivedVariable into its trigger index value.
68
+ * Useful to subscribe a component to forced trigger updates.
69
+ *
70
+ * @param variable variable to use
71
+ */
72
+ export declare function useTriggerIndex(variable: DerivedVariable): TriggerIndexValue;
73
+ /**
74
+ * DerivedVariable resolution result meaning that the value did not change since last time
75
+ * and should be returned from the previous entry.
76
+ */
77
+ interface PreviousResult {
78
+ /**
79
+ * Previous entry in the depsRegistry found to not have been changed
80
+ */
81
+ entry: {
82
+ args: any[];
83
+ cacheKey: string;
84
+ result: any;
85
+ };
86
+ type: 'previous';
87
+ }
88
+ /**
89
+ * DerivedVariable resolution result meaning that the value changed since last time
90
+ * and should be refetched.
91
+ */
92
+ interface CurrentResult {
93
+ /**
94
+ * Whether the refetch should be forcing
95
+ */
96
+ force: boolean;
97
+ /**
98
+ * List of new 'relevant' values which should be used to update the depsRegistry entry if refetch was successful
99
+ */
100
+ relevantValues: any[];
101
+ type: 'current';
102
+ /**
103
+ * List of values to use in the refetch request
104
+ */
105
+ values: any[];
106
+ }
107
+ /**
108
+ * Represents the result of a derived variable resolution.
109
+ */
110
+ type DerivedResult = PreviousResult | CurrentResult;
111
+ /**
112
+ * Resolve a derived value from a list of dependant variables and their resolved values.
113
+ *
114
+ * Handles a dependency array, where in case 'relevant' (i.e. present in deps) values did not change,
115
+ * an earlier result from the `depsRegistry` is returned.
116
+ *
117
+ * This is the core of the derived variable resolution logic, extracted so that it can be used in both
118
+ * DerivedVariable and py_component logic.
119
+ *
120
+ * @param key unique key to look up `depsRegistry` entry from
121
+ * @param variables dependant variables
122
+ * @param deps list of relevant dependant variables, akin to useEffect dependency array
123
+ * @param resolvedVariables resolved values of dependant variables - turned into primitives and Resolved forms
124
+ * @param wsClient websocket client
125
+ * @param get getter function to resolve atoms to values
126
+ * @param selfTrigger additional trigger index value to register as a dependency
127
+ */
128
+ export declare function resolveDerivedValue(key: string, variables: AnyVariable<any>[], deps: AnyVariable<any>[], resolvedVariables: any[], wsClient: WebSocketClientInterface, get: GetRecoilValue, selfTrigger?: TriggerIndexValue): Promise<DerivedResult>;
129
+ /**
130
+ * Get a derived variable from the selector registry, registering it if not already registered
131
+ *
132
+ * @param variable variable to register
133
+ * @param wsClient WebSocket client from context
134
+ * @param tasks tasks list from context
135
+ * @param currentExtras request extras to be merged into the options
136
+ */
137
+ export declare function getOrRegisterDerivedVariable(variable: DerivedVariable | DerivedDataVariable, wsClient: WebSocketClientInterface, taskContext: GlobalTaskContext, currentExtras: RequestExtras): RecoilValue<DerivedVariableValueResponse<any>>;
138
+ /**
139
+ * Get a derived selector for a derived variable.
140
+ * Retrieves the value of the derived variable directly instead of returning an object with cache_key and value.
141
+ *
142
+ * @param variable variable to register
143
+ * @param wsClient WebSocket client from context
144
+ * @param taskContext global task context
145
+ * @param search search query from location
146
+ * @param extras request extras to be merged into the options
147
+ */
148
+ export declare function getOrRegisterDerivedVariableValue(variable: DerivedVariable, wsClient: WebSocketClientInterface, taskContext: GlobalTaskContext, currentExtras: RequestExtras): RecoilValue<any>;
149
+ /**
150
+ * Helper hook to get the (data) derived variable selector, while correctly registering triggers and setting up polling interval.
151
+ *
152
+ * @param variable derived variable to use
153
+ * @param WsClient websocket client instance
154
+ * @param taskContext global task context
155
+ * @param search search query
156
+ * @param extras request extras to be merged into the options
157
+ */
158
+ export declare function useDerivedVariable(variable: DerivedVariable | DerivedDataVariable, WsClient: WebSocketClientInterface, taskContext: GlobalTaskContext, extras: RequestExtras): RecoilValue<DerivedVariableValueResponse<any>>;
159
+ export {};
160
+ //# sourceMappingURL=derived-variable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derived-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/derived-variable.tsx"],"names":[],"mappings":"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"}