@darajs/core 1.8.2 → 1.8.4

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 (32) hide show
  1. package/dist/api/websocket.d.ts +4 -2
  2. package/dist/api/websocket.d.ts.map +1 -1
  3. package/dist/api/websocket.js +76 -78
  4. package/dist/api/websocket.js.map +1 -1
  5. package/dist/{dara_core-1.8.2-py3-none-any.whl → dara_core-1.8.4-py3-none-any.whl} +0 -0
  6. package/dist/index.d.ts +3 -3
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/shared/event-bus/event-bus.d.ts +34 -0
  11. package/dist/shared/event-bus/event-bus.d.ts.map +1 -0
  12. package/dist/shared/event-bus/event-bus.js +58 -0
  13. package/dist/shared/event-bus/event-bus.js.map +1 -0
  14. package/dist/shared/index.d.ts +1 -0
  15. package/dist/shared/index.d.ts.map +1 -1
  16. package/dist/shared/index.js +1 -0
  17. package/dist/shared/index.js.map +1 -1
  18. package/dist/shared/interactivity/use-server-component.d.ts.map +1 -1
  19. package/dist/shared/interactivity/use-server-component.js +7 -0
  20. package/dist/shared/interactivity/use-server-component.js.map +1 -1
  21. package/dist/shared/interactivity/use-variable.d.ts.map +1 -1
  22. package/dist/shared/interactivity/use-variable.js +12 -0
  23. package/dist/shared/interactivity/use-variable.js.map +1 -1
  24. package/dist/types/event-types.d.ts +32 -0
  25. package/dist/types/event-types.d.ts.map +1 -0
  26. package/dist/types/event-types.js +2 -0
  27. package/dist/types/event-types.js.map +1 -0
  28. package/dist/types/index.d.ts +2 -1
  29. package/dist/types/index.d.ts.map +1 -1
  30. package/dist/types/index.js.map +1 -1
  31. package/dist/umd/dara.core.umd.js +119 -64
  32. package/package.json +11 -9
@@ -102,14 +102,16 @@ export interface WebSocketClientInterface {
102
102
  * It provides easy helpers for fetching the current channel and working with tasks.
103
103
  */
104
104
  export declare class WebSocketClient implements WebSocketClientInterface {
105
+ #private;
105
106
  channel: Promise<string>;
106
107
  messages$: Subject<WebSocketMessage>;
107
108
  socket: WebSocket;
108
109
  token: string;
109
110
  liveReload: boolean;
110
111
  closeHandler: () => void;
111
- constructor(_socket: WebSocket, _token: string, _liveReload?: boolean);
112
- initialize(): void;
112
+ maxAttempts: number;
113
+ constructor(_socketUrl: string, _token: string, _liveReload?: boolean);
114
+ initialize(isReconnect?: boolean): WebSocket;
113
115
  /**
114
116
  * Close handler to attempt to reconnect on WS closed
115
117
  */
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOvD,UAAU,WAAW;IACjB,OAAO,EAAE;QACL,OAAO,EAAE,QAAQ,CAAC;KACrB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,eAAe;IACrB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,oBAAY,UAAU;IAClB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,QAAQ,aAAa;CACxB;AAED,MAAM,WAAW,2BAA2B;IACxC,OAAO,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE;QACL,MAAM,EAAE,UAAU,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE;QACL,sCAAsC;QACtC,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;KAC9B,CAAC;IACF,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE;QACL;;WAEG;QACH,MAAM,EAAE,UAAU,CAAC;QACnB;;WAEG;QACH,GAAG,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,GAAG,CAAC;KACd,CAAC;IACF,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE;QACL,IAAI,EAAE,GAAG,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GACtB,WAAW,GACX,eAAe,GACf,uBAAuB,GACvB,2BAA2B,GAC3B,oBAAoB,GACpB,kBAAkB,GAClB,sBAAsB,GACtB,aAAa,GACb,mBAAmB,GACnB,aAAa,CAAC;AAuCpB,MAAM,WAAW,wBAAwB;IACrC,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC;IACjE,qBAAqB,IAAI,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,QAAQ,EAAE,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,eAAe,EAAE,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC;IACjD,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,KAAK,UAAU,CAAC,2BAA2B,CAAC,CAAC;IACrF,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACrD,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpE,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,aAAa,EAAE,MAAM,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACpD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACvE,kBAAkB,EAAE,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC;IACtE,iBAAiB,EAAE,MAAM,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAC5D,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAClD;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,wBAAwB;;IAC5D,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzB,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAErC,MAAM,EAAE,SAAS,CAAC;IAElB,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU,EAAE,OAAO,CAAC;IAEpB,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB,WAAW,EAAE,MAAM,CAAC;gBAQR,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,UAAQ;IAcnE,UAAU,CAAC,WAAW,UAAQ,GAAG,SAAS;IAkD1C;;OAEG;IACH,OAAO,IAAI,IAAI;IAyBf;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,qBAAqB,IAAI,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAOnE;;OAEG;IACH,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC;IAO9B;;;;OAIG;IACH,kBAAkB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC;IAOjE;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,2BAA2B,CAAC;IAWhF;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC;IAOjE;;OAEG;IACH,aAAa,IAAI,UAAU,CAAC,kBAAkB,CAAC;IAI/C;;OAEG;IACH,iBAAiB,IAAI,UAAU,CAAC,sBAAsB,CAAC;IAIvD;;;;OAIG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC;IAO5D;;OAEG;IACH,eAAe,IAAI,UAAU,CAAC,aAAa,CAAC;IAI5C;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAoB1C;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/C;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAanE;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;CAanD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,eAAe,CAsBzF"}
@@ -1,12 +1,21 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _WebSocketClient_pingInterval, _WebSocketClient_socketUrl, _WebSocketClient_reconnectCount;
1
13
  import { Subject } from 'rxjs';
2
14
  import { filter, map, take } from 'rxjs/operators';
3
15
  const interAttemptTimeout = 500;
4
16
  const maxDisconnectedTime = 10000;
5
17
  const interPingInterval = 5000;
6
18
  const maxAttempts = Math.round(maxDisconnectedTime / interAttemptTimeout);
7
- let socketUrl = null;
8
- let socket = null;
9
- let pingInterval = null;
10
19
  export var TaskStatus;
11
20
  (function (TaskStatus) {
12
21
  TaskStatus["CANCELED"] = "CANCELED";
@@ -42,111 +51,101 @@ const pingMessage = {
42
51
  message: null,
43
52
  type: 'ping',
44
53
  };
45
- /**
46
- * Set up the heartbeat to make sure the connection is open.
47
- */
48
- function setupHeartbeat() {
49
- // Send ping every few seconds
50
- pingInterval = setInterval(() => {
51
- if (socket.readyState === WebSocket.OPEN) {
52
- socket.send(JSON.stringify(pingMessage));
53
- }
54
- }, interPingInterval);
55
- // Clear interval on error
56
- socket.addEventListener('error', () => {
57
- if (pingInterval) {
58
- clearInterval(pingInterval);
59
- }
60
- });
61
- }
62
- /**
63
- * WebSocket close event handler.
64
- * Tries reconnecting for a few seconds after detecting the close event,
65
- * and refreshes the browser on reconnect.
66
- */
67
- function onCloseWs(token, liveReload) {
68
- let attempts = 0;
69
- const attemptReconnect = () => {
70
- attempts++;
71
- if (attempts > maxAttempts) {
72
- // eslint-disable-next-line no-console
73
- console.error('Could not reconnect to server');
74
- return;
75
- }
76
- // Try reconnecting
77
- const url = new URL(socketUrl);
78
- url.searchParams.set('token', token);
79
- socket = new WebSocket(url);
80
- // If reconnect failed, retry after some time
81
- socket.addEventListener('error', () => {
82
- setTimeout(attemptReconnect, interAttemptTimeout);
83
- });
84
- if (liveReload) {
85
- // On reconnect, reload page
86
- socket.addEventListener('open', () => {
87
- socket.addEventListener('close', () => {
88
- // If socket failed to open and closed again before getting a message, attempt again
89
- attemptReconnect();
90
- });
91
- setupHeartbeat();
92
- socket.addEventListener('message', (ev) => {
93
- const msg = JSON.parse(ev.data);
94
- if (msg.type === 'init') {
95
- // Reload once app successfully initialized
96
- window.location.reload();
97
- }
98
- });
99
- });
100
- }
101
- return socket;
102
- };
103
- return attemptReconnect();
104
- }
105
54
  /**
106
55
  * The WebsocketClient class exposes an interface for easily dealing with the websocket connection to the Dara backend.
107
56
  * It provides easy helpers for fetching the current channel and working with tasks.
108
57
  */
109
58
  export class WebSocketClient {
110
- constructor(_socket, _token, _liveReload = false) {
111
- this.socket = _socket;
59
+ constructor(_socketUrl, _token, _liveReload = false) {
60
+ _WebSocketClient_pingInterval.set(this, void 0);
61
+ _WebSocketClient_socketUrl.set(this, void 0);
62
+ _WebSocketClient_reconnectCount.set(this, void 0);
112
63
  this.token = _token;
113
64
  this.liveReload = _liveReload;
114
65
  this.messages$ = new Subject();
115
66
  this.closeHandler = this.onClose.bind(this);
116
- this.initialize();
67
+ this.maxAttempts = maxAttempts;
68
+ __classPrivateFieldSet(this, _WebSocketClient_socketUrl, _socketUrl, "f");
69
+ __classPrivateFieldSet(this, _WebSocketClient_reconnectCount, 0, "f");
70
+ __classPrivateFieldSet(this, _WebSocketClient_pingInterval, null, "f");
71
+ // Lastly call initialize to setup the socket properly
72
+ this.socket = this.initialize();
117
73
  }
118
- initialize() {
74
+ initialize(isReconnect = false) {
75
+ // Create the underlying socket instance from the url and token
76
+ const url = new URL(__classPrivateFieldGet(this, _WebSocketClient_socketUrl, "f"));
77
+ url.searchParams.set('token', this.token);
78
+ const socket = new WebSocket(url);
79
+ // Send heartbeat to ping every few seconds and clear it on error
80
+ __classPrivateFieldSet(this, _WebSocketClient_pingInterval, setInterval(() => {
81
+ if (socket.readyState === WebSocket.OPEN) {
82
+ socket.send(JSON.stringify(pingMessage));
83
+ }
84
+ }, interPingInterval), "f");
85
+ socket.addEventListener('error', () => {
86
+ if (__classPrivateFieldGet(this, _WebSocketClient_pingInterval, "f")) {
87
+ clearInterval(__classPrivateFieldGet(this, _WebSocketClient_pingInterval, "f"));
88
+ }
89
+ });
119
90
  // Register the message event listener to start the stream of messages and get the new channel
120
- this.socket.addEventListener('message', (ev) => {
91
+ socket.addEventListener('message', (ev) => {
121
92
  const msg = JSON.parse(ev.data);
122
93
  this.messages$.next(msg);
123
94
  });
124
95
  // Update the channel on the class and broadcast the init message to subscribers
125
96
  this.channel = new Promise((resolve) => {
126
- this.socket.addEventListener('message', (ev) => {
97
+ const handler = (ev) => {
127
98
  var _a;
128
99
  const msg = JSON.parse(ev.data);
129
100
  if (msg.type === 'init') {
101
+ __classPrivateFieldSet(this, _WebSocketClient_reconnectCount, 0, "f");
130
102
  this.messages$.next(msg);
103
+ // Remove the handler after the channel is received and then resolve the promise
104
+ socket.removeEventListener('message', handler);
131
105
  resolve((_a = msg.message) === null || _a === void 0 ? void 0 : _a.channel);
106
+ // If liveReload is true and this is a reconnect attempt then reload the page
107
+ if (this.liveReload && isReconnect) {
108
+ window.location.reload();
109
+ }
132
110
  }
133
- });
111
+ };
112
+ socket.addEventListener('message', handler);
134
113
  });
135
114
  // Bind the close handler so the re-initialize logic is added every time
136
- this.socket.addEventListener('close', this.closeHandler);
115
+ socket.addEventListener('close', this.closeHandler);
116
+ return socket;
137
117
  }
138
118
  /**
139
119
  * Close handler to attempt to reconnect on WS closed
140
120
  */
141
121
  onClose() {
142
- this.socket = onCloseWs(this.token, this.liveReload);
143
- this.initialize();
122
+ if (__classPrivateFieldGet(this, _WebSocketClient_reconnectCount, "f") >= this.maxAttempts) {
123
+ // eslint-disable-next-line no-console
124
+ console.error('Could not reconnect the websocket to the server');
125
+ // Add a visibility change listener to attempt the connection again when the tab becomes visible again
126
+ const handler = () => {
127
+ if (document.visibilityState === 'visible') {
128
+ // Reset the retry loop and attempt to initialize the socket again
129
+ __classPrivateFieldSet(this, _WebSocketClient_reconnectCount, 0, "f");
130
+ this.initialize();
131
+ // Remove the visibility change listener after we enter the retry loop again
132
+ document.removeEventListener('visibilitychange', handler);
133
+ }
134
+ };
135
+ document.addEventListener('visibilitychange', handler);
136
+ return;
137
+ }
138
+ setTimeout(() => {
139
+ var _a;
140
+ __classPrivateFieldSet(this, _WebSocketClient_reconnectCount, (_a = __classPrivateFieldGet(this, _WebSocketClient_reconnectCount, "f"), _a++, _a), "f");
141
+ this.initialize(true);
142
+ }, interAttemptTimeout);
144
143
  }
145
144
  /**
146
145
  * Forcefully close the websocket connection, first clearing the closehandler
147
146
  */
148
147
  close() {
149
- clearInterval(pingInterval);
148
+ clearInterval(__classPrivateFieldGet(this, _WebSocketClient_pingInterval, "f"));
150
149
  this.socket.removeEventListener('close', this.closeHandler);
151
150
  this.socket.close();
152
151
  }
@@ -283,6 +282,7 @@ export class WebSocketClient {
283
282
  }
284
283
  }
285
284
  }
285
+ _WebSocketClient_pingInterval = new WeakMap(), _WebSocketClient_socketUrl = new WeakMap(), _WebSocketClient_reconnectCount = new WeakMap();
286
286
  /**
287
287
  * Set up websocket connection and handlers.
288
288
  *
@@ -301,12 +301,10 @@ export function setupWebsocket(sessionToken, liveReload) {
301
301
  }
302
302
  host = baseUrl.host + pathname;
303
303
  }
304
- socketUrl = `${window.location.protocol === 'https:' ? 'wss://' : 'ws://'}${host}/api/core/ws`;
304
+ const socketUrl = `${window.location.protocol === 'https:' ? 'wss://' : 'ws://'}${host}/api/core/ws`;
305
305
  // Append session token to the WS url for authentication
306
306
  const url = new URL(socketUrl);
307
307
  url.searchParams.set('token', sessionToken);
308
- socket = new WebSocket(url);
309
- setupHeartbeat();
310
- return new WebSocketClient(socket, sessionToken, liveReload);
308
+ return new WebSocketClient(socketUrl, sessionToken, liveReload);
311
309
  }
312
310
  //# sourceMappingURL=websocket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAInD,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,CAAC;AAc1E,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,mCAAqB,CAAA;IACrB,mCAAqB,CAAA;IACrB,6BAAe,CAAA;IACf,mCAAqB,CAAA;AACzB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAsFD,SAAS,aAAa,CAAC,OAAyB;IAC5C,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AACnC,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAyB;IACjD,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;AACrG,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAyB;IACrD,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;AACtE,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAyB;IACnD,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;AACpE,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAyB;IACvD,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;AACvE,CAAC;AAED,SAAS,eAAe,CAAC,OAAyB;IAC9C,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;AACrE,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAyB;IACpD,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;AACxE,CAAC;AAED,SAAS,eAAe,CAAC,OAAyB;IAC9C,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED,MAAM,WAAW,GAAoB;IACjC,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,MAAM;CACf,CAAC;AAmBF;;;GAGG;AACH,MAAM,OAAO,eAAe;IAqBxB,YAAY,UAAkB,EAAE,MAAc,EAAE,WAAW,GAAG,KAAK;QANnE,gDAA8B;QAE9B,6CAAmB;QAEnB,kDAAwB;QAGpB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,uBAAA,IAAI,8BAAc,UAAU,MAAA,CAAC;QAC7B,uBAAA,IAAI,mCAAmB,CAAC,MAAA,CAAC;QACzB,uBAAA,IAAI,iCAAiB,IAAI,MAAA,CAAC;QAE1B,sDAAsD;QACtD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,WAAW,GAAG,KAAK;QAC1B,+DAA+D;QAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,uBAAA,IAAI,kCAAW,CAAC,CAAC;QACrC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;QAElC,iEAAiE;QACjE,uBAAA,IAAI,iCAAiB,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC,EAAE,iBAAiB,CAAC,MAAA,CAAC;QACtB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAClC,IAAI,uBAAA,IAAI,qCAAc,EAAE,CAAC;gBACrB,aAAa,CAAC,uBAAA,IAAI,qCAAc,CAAC,CAAC;YACtC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,8FAA8F;QAC9F,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAqB,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,gFAAgF;QAChF,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,CAAC,EAAqB,EAAQ,EAAE;;gBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAqB,CAAC;gBACpD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACtB,uBAAA,IAAI,mCAAmB,CAAC,MAAA,CAAC;oBACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzB,gFAAgF;oBAChF,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC/C,OAAO,CAAC,MAAA,GAAG,CAAC,OAAO,0CAAE,OAAO,CAAC,CAAC;oBAE9B,6EAA6E;oBAC7E,IAAI,IAAI,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC;wBACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAC7B,CAAC;gBACL,CAAC;YACL,CAAC,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,wEAAwE;QACxE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,OAAO;QACH,IAAI,uBAAA,IAAI,uCAAgB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAEjE,sGAAsG;YACtG,MAAM,OAAO,GAAG,GAAS,EAAE;gBACvB,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBACzC,kEAAkE;oBAClE,uBAAA,IAAI,mCAAmB,CAAC,MAAA,CAAC;oBACzB,IAAI,CAAC,UAAU,EAAE,CAAC;oBAElB,4EAA4E;oBAC5E,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC,CAAC;YACF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO;QACX,CAAC;QACD,UAAU,CAAC,GAAG,EAAE;;YACZ,8DAAA,CAAA,uEAAoB,EAApB,IAAsB,IAAA,CAAA,MAAA,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK;QACD,aAAa,CAAC,uBAAA,IAAI,qCAAc,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CAAC,qBAAqB,CAAC,EAC7B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAC5B,CAAC;IACN,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EACnC,GAAG,CAAC,CAAC,GAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CACjD,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,GAAG,QAAkB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAClF,GAAG,CAAC,CAAC,GAA4B,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAC5D,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,QAAkB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CACF,CAAC,GAAG,EAAsC,EAAE,CACxC,kBAAkB,CAAC,GAAG,CAAC;YACvB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ;YAC1C,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAC7C,CACJ,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CAAC,sBAAsB,CAAC,EAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,OAAO,MAAK,MAAM,CAAA,EAAA,CAAC,CACnD,CAAC;IACN,CAAC;IAED;;OAEG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,WAAmB;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CAAC,CAAC,GAAG,EAAwB,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,WAAW,CAAC,EAC9F,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CACnC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,SAAS;aAChB,IAAI,CACD,MAAM,CACF,CAAC,GAAG,EAAE,EAAE;;YACJ,OAAA,kBAAkB,CAAC,GAAG,CAAC;gBACvB,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,OAAO,MAAK,OAAO;gBAChC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ,CAAA;SAAA,CAAC,8BAA8B;SAChF,EACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACR,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAC,EACF,IAAI,CAAC,CAAC,CAAC,CACV;aACA,SAAS,EAAE,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAU,EAAE,OAAe;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,KAAU,EAAE,OAAe,EAAE,UAAmB;QACxD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC;gBACX,OAAO;gBACP,WAAW,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI;gBAC/B,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,SAAS;aAClB,CAAC,CACL,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,IAAY,EAAE,IAAS;QACrC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC;gBACX,OAAO,EAAE;oBACL,IAAI;oBACJ,IAAI;iBACP;gBACD,IAAI,EAAE,QAAQ;aACA,CAAC,CACtB,CAAC;QACN,CAAC;IACL,CAAC;CACJ;;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB,EAAE,UAAmB;;IACpE,mBAAmB;IACnB,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE/B,IAAI,MAAA,MAAM,CAAC,IAAI,0CAAE,QAAQ,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAE3B,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;IAErG,wDAAwD;IACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE5C,OAAO,IAAI,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  import type { RequestExtras, RequestOptions } from './api';
2
2
  import run from './run';
3
3
  import type { RawCssProp } from './shared';
4
- import type { Action, ActionDef, ActionHandler, ActionImpl, AnyDataVariable, AnyVariable, BaseComponentProps, BaseStylingProps, ClauseQuery, ComponentInstance, Condition, DataFrame, DataVariable, DerivedVariable, FilterQuery, LayoutComponentProps, Pagination, QueryOperator, SingleVariable, StyledComponentProps, Template, UrlVariable, UserData, ValueQuery, Variable } from './types';
4
+ import type { Action, ActionDef, ActionHandler, ActionImpl, AnyDataVariable, AnyVariable, BaseComponentProps, BaseStylingProps, ClauseQuery, ComponentInstance, Condition, DaraEvent, DaraEventMap, DaraEventType, DataFrame, DataVariable, DerivedVariable, FilterQuery, LayoutComponentProps, Pagination, QueryOperator, SingleVariable, StyledComponentProps, Template, UrlVariable, UserData, ValueQuery, Variable } from './types';
5
5
  export * as ReactRouter from 'react-router-dom';
6
6
  export * as Notifications from '@darajs/ui-notifications';
7
- export type { Action, ActionHandler, ActionImpl, ActionDef, Condition, Template, Variable, ComponentInstance, SingleVariable, DerivedVariable, UrlVariable, DataVariable, DataFrame, FilterQuery, Pagination, ClauseQuery, QueryOperator, ValueQuery, AnyDataVariable, AnyVariable, BaseStylingProps, StyledComponentProps, BaseComponentProps, RequestExtras, RequestOptions, LayoutComponentProps, UserData, };
7
+ export type { Action, ActionHandler, ActionImpl, ActionDef, Condition, Template, Variable, ComponentInstance, SingleVariable, DerivedVariable, UrlVariable, DataVariable, DataFrame, FilterQuery, Pagination, ClauseQuery, QueryOperator, ValueQuery, AnyDataVariable, AnyVariable, BaseStylingProps, StyledComponentProps, BaseComponentProps, RequestExtras, RequestOptions, LayoutComponentProps, UserData, DaraEventMap, DaraEvent, DaraEventType, };
8
8
  export { UpdateVariable, TriggerVariable, NavigateTo, ResetVariables, DownloadVariable, Notify } from './actions';
9
9
  export { useAuthCtx, useSessionToken, BasicAuthLogin, BasicAuthLogout, DefaultAuthLogin, revokeSession, verifySessionToken, handleAuthErrors, useUser, } from './auth';
10
10
  export { request } from './api';
11
11
  export { DefaultFallback, RowFallback, Menu, RouterContent, SideBarFrame, TopBarFrame, ProgressTracker, For, } from './components';
12
- export { DynamicComponent, Center, useAction, useVariable, getIcon, useDataVariable, combineFilters, DisplayCtx, useComponentStyles, injectCss, useAnyVariable, resolveValue, useVariableValue, normalizeRequest, WebSocketCtx, DARA_JWT_TOKEN, getToken, getTokenKey, useRequestExtras, RequestExtrasProvider, PartialRequestExtrasProvider, } from './shared';
12
+ export { DynamicComponent, Center, useAction, useVariable, getIcon, useDataVariable, combineFilters, DisplayCtx, useComponentStyles, injectCss, useAnyVariable, resolveValue, useVariableValue, normalizeRequest, WebSocketCtx, DARA_JWT_TOKEN, getToken, getTokenKey, useRequestExtras, RequestExtrasProvider, PartialRequestExtrasProvider, useEventBus, EventBus, EventCapturer, } from './shared';
13
13
  export { ConditionOperator, isVariable } from './types';
14
14
  export type { RawCssProp };
15
15
  export { prependBaseUrl } from './utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../js/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EACR,MAAM,EACN,SAAS,EACT,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACX,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAE1D,YAAY,EACR,MAAM,EACN,aAAa,EACb,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,QAAQ,GACX,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAClH,OAAO,EACH,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,GACV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACH,eAAe,EACf,WAAW,EACX,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,GAAG,GACN,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,WAAW,EACX,OAAO,EACP,eAAe,EACf,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../js/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EACR,MAAM,EACN,SAAS,EACT,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,SAAS,EACT,YAAY,EACZ,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACX,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAE1D,YAAY,EACR,MAAM,EACN,aAAa,EACb,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,GAChB,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAClH,OAAO,EACH,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,GACV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACH,eAAe,EACf,WAAW,EACX,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,GAAG,GACN,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,WAAW,EACX,OAAO,EACP,eAAe,EACf,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,WAAW,EACX,QAAQ,EACR,aAAa,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,eAAe,GAAG,CAAC"}
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ export { UpdateVariable, TriggerVariable, NavigateTo, ResetVariables, DownloadVa
6
6
  export { useAuthCtx, useSessionToken, BasicAuthLogin, BasicAuthLogout, DefaultAuthLogin, revokeSession, verifySessionToken, handleAuthErrors, useUser, } from './auth';
7
7
  export { request } from './api';
8
8
  export { DefaultFallback, RowFallback, Menu, RouterContent, SideBarFrame, TopBarFrame, ProgressTracker, For, } from './components';
9
- export { DynamicComponent, Center, useAction, useVariable, getIcon, useDataVariable, combineFilters, DisplayCtx, useComponentStyles, injectCss, useAnyVariable, resolveValue, useVariableValue, normalizeRequest, WebSocketCtx, DARA_JWT_TOKEN, getToken, getTokenKey, useRequestExtras, RequestExtrasProvider, PartialRequestExtrasProvider, } from './shared';
9
+ export { DynamicComponent, Center, useAction, useVariable, getIcon, useDataVariable, combineFilters, DisplayCtx, useComponentStyles, injectCss, useAnyVariable, resolveValue, useVariableValue, normalizeRequest, WebSocketCtx, DARA_JWT_TOKEN, getToken, getTokenKey, useRequestExtras, RequestExtrasProvider, PartialRequestExtrasProvider, useEventBus, EventBus, EventCapturer, } from './shared';
10
10
  export { ConditionOperator, isVariable } from './types';
11
11
  export { prependBaseUrl } from './utils';
12
12
  // Add default export
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../js/index.tsx"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,OAAO,CAAC;AA8BxB,2FAA2F;AAC3F,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAgC1D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAClH,OAAO,EACH,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,GACV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACH,eAAe,EACf,WAAW,EACX,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,GAAG,GACN,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,WAAW,EACX,OAAO,EACP,eAAe,EACf,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAqB;AACrB,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../js/index.tsx"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,OAAO,CAAC;AAiCxB,2FAA2F;AAC3F,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAmC1D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAClH,OAAO,EACH,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,GACV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACH,eAAe,EACf,WAAW,EACX,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,GAAG,GACN,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,WAAW,EACX,OAAO,EACP,eAAe,EACf,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,WAAW,EACX,QAAQ,EACR,aAAa,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAqB;AACrB,eAAe,GAAG,CAAC"}
@@ -0,0 +1,34 @@
1
+ import * as React from 'react';
2
+ import { DaraEvent, DaraEventMap } from '../../types/event-types';
3
+ type EventMap = Record<string, any>;
4
+ type UnionFromMap<M extends EventMap> = {
5
+ [K in keyof M]: {
6
+ type: K;
7
+ data: M[K];
8
+ };
9
+ }[keyof M];
10
+ /**
11
+ * Global event bus that allows to publish and subscribe to events.
12
+ */
13
+ export declare class EventBus<MapT extends EventMap> {
14
+ #private;
15
+ constructor(parentBus?: EventBus<MapT>);
16
+ publish<T extends keyof MapT>(type: T, data: MapT[T]): void;
17
+ subscribe(callback: (event: UnionFromMap<MapT>) => void): () => void;
18
+ }
19
+ /** Default top-level event bus */
20
+ export declare const DEFAULT_BUS: EventBus<DaraEventMap>;
21
+ /** Hook to get the event bus instance */
22
+ export declare function useEventBus(): EventBus<DaraEventMap>;
23
+ interface EventCapturerProps {
24
+ children: React.ReactNode;
25
+ /** callback to call when the event is captured */
26
+ onEvent: (event: DaraEvent) => void;
27
+ }
28
+ /**
29
+ * Component that captures events of a given type fired in its children
30
+ * and calls the provided callback with the event data.
31
+ */
32
+ export declare function EventCapturer({ children, onEvent }: EventCapturerProps): React.ReactNode;
33
+ export {};
34
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../js/shared/event-bus/event-bus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE9D,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACpC,KAAK,YAAY,CAAC,CAAC,SAAS,QAAQ,IAAI;KACnC,CAAC,IAAI,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE;CAC1C,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,qBAAa,QAAQ,CAAC,IAAI,SAAS,QAAQ;;gBAK3B,SAAS,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;IAItC,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;IAS3D,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;CAMvE;AAED,kCAAkC;AAClC,eAAO,MAAM,WAAW,wBAA+B,CAAC;AAIxD,yCAAyC;AACzC,wBAAgB,WAAW,IAAI,QAAQ,CAAC,YAAY,CAAC,CAEpD;AAED,UAAU,kBAAkB;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kDAAkD;IAClD,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,kBAAkB,GAAG,KAAK,CAAC,SAAS,CASxF"}
@@ -0,0 +1,58 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _EventBus_events$, _EventBus_parentBus;
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import * as React from 'react';
15
+ import { Subject } from 'rxjs';
16
+ /**
17
+ * Global event bus that allows to publish and subscribe to events.
18
+ */
19
+ export class EventBus {
20
+ constructor(parentBus) {
21
+ _EventBus_events$.set(this, new Subject());
22
+ _EventBus_parentBus.set(this, null);
23
+ __classPrivateFieldSet(this, _EventBus_parentBus, parentBus !== null && parentBus !== void 0 ? parentBus : null, "f");
24
+ }
25
+ publish(type, data) {
26
+ __classPrivateFieldGet(this, _EventBus_events$, "f").next({ type, data });
27
+ // bubble up the event
28
+ if (__classPrivateFieldGet(this, _EventBus_parentBus, "f")) {
29
+ __classPrivateFieldGet(this, _EventBus_parentBus, "f").publish(type, data);
30
+ }
31
+ }
32
+ subscribe(callback) {
33
+ // pipe just to make a copy
34
+ const sub = __classPrivateFieldGet(this, _EventBus_events$, "f").pipe().subscribe(callback);
35
+ return () => sub.unsubscribe();
36
+ }
37
+ }
38
+ _EventBus_events$ = new WeakMap(), _EventBus_parentBus = new WeakMap();
39
+ /** Default top-level event bus */
40
+ export const DEFAULT_BUS = new EventBus();
41
+ const EventBusContext = React.createContext(DEFAULT_BUS);
42
+ /** Hook to get the event bus instance */
43
+ export function useEventBus() {
44
+ return React.useContext(EventBusContext);
45
+ }
46
+ /**
47
+ * Component that captures events of a given type fired in its children
48
+ * and calls the provided callback with the event data.
49
+ */
50
+ export function EventCapturer({ children, onEvent }) {
51
+ const parentBus = useEventBus();
52
+ const bus = React.useMemo(() => new EventBus(parentBus), [parentBus]);
53
+ React.useEffect(() => {
54
+ return bus.subscribe(onEvent);
55
+ }, [bus, onEvent]);
56
+ return _jsx(EventBusContext.Provider, { value: bus, children: children });
57
+ }
58
+ //# sourceMappingURL=event-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../js/shared/event-bus/event-bus.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAS/B;;GAEG;AACH,MAAM,OAAO,QAAQ;IAKjB,YAAY,SAA0B;QAJtC,4BAAkE,IAAI,OAAO,EAAE,EAAC;QAEhF,8BAAoC,IAAI,EAAC;QAGrC,uBAAA,IAAI,uBAAc,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,MAAA,CAAC;IACxC,CAAC;IAED,OAAO,CAAuB,IAAO,EAAE,IAAa;QAChD,uBAAA,IAAI,yBAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnC,sBAAsB;QACtB,IAAI,uBAAA,IAAI,2BAAW,EAAE,CAAC;YAClB,uBAAA,IAAI,2BAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,QAA6C;QACnD,2BAA2B;QAC3B,MAAM,GAAG,GAAG,uBAAA,IAAI,yBAAS,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;CACJ;;AAED,kCAAkC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,QAAQ,EAAgB,CAAC;AAExD,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAyB,WAAW,CAAC,CAAC;AAEjF,yCAAyC;AACzC,MAAM,UAAU,WAAW;IACvB,OAAO,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAC7C,CAAC;AAQD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAsB;IACnE,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEtE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnB,OAAO,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YAAG,QAAQ,GAA4B,CAAC;AACvF,CAAC"}
@@ -6,6 +6,7 @@ export { default as TemplateRoot } from './template-root/template-root';
6
6
  export { default as PrivateRoute } from './private-route/private-route';
7
7
  export { isJsComponent, resolveTheme, useAction, useComponentRegistry, useWindowTitle, getIcon, injectCss, useComponentStyles, getMarkerPaths, replaceMarkers, hasTemplateMarkers, normalizeRequest, getToken, getTokenKey, DARA_JWT_TOKEN, } from './utils';
8
8
  export { useVariable, useDataVariable, combineFilters, useAnyVariable, resolveValue, useVariableValue, } from './interactivity';
9
+ export { useEventBus, EventBus, EventCapturer } from './event-bus/event-bus';
9
10
  export { default as Wrapper } from './wrapper/wrapper';
10
11
  export type { RawCssProp };
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/shared/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACH,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EACH,aAAa,EACb,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,cAAc,EACd,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,cAAc,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EACH,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/shared/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACH,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EACH,aAAa,EACb,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,cAAc,EACd,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,cAAc,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EACH,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -5,5 +5,6 @@ export { default as TemplateRoot } from './template-root/template-root';
5
5
  export { default as PrivateRoute } from './private-route/private-route';
6
6
  export { isJsComponent, resolveTheme, useAction, useComponentRegistry, useWindowTitle, getIcon, injectCss, useComponentStyles, getMarkerPaths, replaceMarkers, hasTemplateMarkers, normalizeRequest, getToken, getTokenKey, DARA_JWT_TOKEN, } from './utils';
7
7
  export { useVariable, useDataVariable, combineFilters, useAnyVariable, resolveValue, useVariableValue, } from './interactivity';
8
+ export { useEventBus, EventBus, EventCapturer } from './event-bus/event-bus';
8
9
  export { default as Wrapper } from './wrapper/wrapper';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/shared/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACH,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EACH,aAAa,EACb,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,cAAc,EACd,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,cAAc,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EACH,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/shared/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACH,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EACH,aAAa,EACb,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,cAAc,EACd,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,cAAc,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EACH,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-server-component.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/use-server-component.tsx"],"names":[],"mappings":"AAUA,OAAO,EACH,WAAW,EACX,iBAAiB,EAKpB,MAAM,SAAS,CAAC;AAmEjB;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,GAAG,CAa9D;AA4LD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,GAChD,iBAAiB,CAmBnB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,IAAI,CAajE"}
1
+ {"version":3,"file":"use-server-component.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/use-server-component.tsx"],"names":[],"mappings":"AAUA,OAAO,EACH,WAAW,EACX,iBAAiB,EAKpB,MAAM,SAAS,CAAC;AAoEjB;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,GAAG,CAa9D;AA4LD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,GAChD,iBAAiB,CA4BnB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,IAAI,CAajE"}
@@ -29,6 +29,7 @@ import { denormalize, normalizeRequest } from '../../shared/utils/normalization'
29
29
  import { isResolvedDerivedDataVariable, isResolvedDerivedVariable, } from '../../types';
30
30
  import { VariableCtx, WebSocketCtx, useRequestExtras } from '../context';
31
31
  import { useTaskContext } from '../context/global-task-context';
32
+ import { useEventBus } from '../event-bus/event-bus';
32
33
  import { resolveDerivedValue } from './derived-variable';
33
34
  import { resolveVariable } from './resolve-variable';
34
35
  import { atomRegistry, depsRegistry, selectorFamilyMembersRegistry, selectorFamilyRegistry, } from './store';
@@ -220,6 +221,7 @@ export default function useServerComponent(name, uid, dynamicKwargs) {
220
221
  const { client: wsClient } = useContext(WebSocketCtx);
221
222
  const taskContext = useTaskContext();
222
223
  const variablesContext = useContext(VariableCtx);
224
+ const bus = useEventBus();
223
225
  // Synchronously register the py_component uid, and clean it up on unmount
224
226
  variablesContext.variables.current.add(getComponentRegistryKey(uid));
225
227
  useEffect(() => {
@@ -229,6 +231,11 @@ export default function useServerComponent(name, uid, dynamicKwargs) {
229
231
  }, []);
230
232
  const componentSelector = getOrRegisterServerComponent(name, uid, dynamicKwargs, wsClient, taskContext, extras);
231
233
  const componentLoadable = useRecoilValueLoadable(componentSelector);
234
+ useEffect(() => {
235
+ if (componentLoadable.state === 'hasValue') {
236
+ bus.publish('SERVER_COMPONENT_LOADED', { name, uid, value: componentLoadable.contents });
237
+ }
238
+ }, [componentLoadable]);
232
239
  const deferred = useDeferLoadable(componentLoadable);
233
240
  return deferred;
234
241
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-server-component.js","sourceRoot":"","sources":["../../../js/shared/interactivity/use-server-component.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-server-component.js","sourceRoot":"","sources":["../../../js/shared/interactivity/use-server-component.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/use-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAmC,MAAM,OAAO,CAAC;AAKlF,OAAO,EAAE,QAAQ,EAAuF,MAAM,SAAS,CAAC;AAkBxH;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CA0CzG"}
1
+ {"version":3,"file":"use-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/use-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAmC,MAAM,OAAO,CAAC;AAKlF,OAAO,EAAE,QAAQ,EAAuF,MAAM,SAAS,CAAC;AAmBxH;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAwDzG"}
@@ -3,6 +3,7 @@ import { useRecoilStateLoadable, useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTA
3
3
  import { VariableCtx, WebSocketCtx, useRequestExtras, useTaskContext } from '../../shared/context';
4
4
  import { useDeferLoadable } from '../../shared/utils';
5
5
  import { isDataVariable, isDerivedDataVariable, isDerivedVariable, isUrlVariable, isVariable } from '../../types';
6
+ import { useEventBus } from '../event-bus/event-bus';
6
7
  import { getOrRegisterPlainVariable, useDerivedVariable, useUrlVariable } from './internal';
7
8
  /** Disabling rules of hook because of assumptions that variables never change their types which makes the hook order consistent */
8
9
  /* eslint-disable react-hooks/rules-of-hooks */
@@ -29,6 +30,7 @@ export function useVariable(variable) {
29
30
  const { client: WsClient } = useContext(WebSocketCtx);
30
31
  const taskContext = useTaskContext();
31
32
  const variablesContext = useContext(VariableCtx);
33
+ const bus = useEventBus();
32
34
  if (!isVariable(variable)) {
33
35
  return useState(variable);
34
36
  }
@@ -46,6 +48,11 @@ export function useVariable(variable) {
46
48
  if (isDerivedVariable(variable)) {
47
49
  const selector = useDerivedVariable(variable, WsClient, taskContext, extras);
48
50
  const selectorLoadable = useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE(selector);
51
+ useEffect(() => {
52
+ if (selectorLoadable.state === 'hasValue') {
53
+ bus.publish('DERIVED_VARIABLE_LOADED', { variable, value: selectorLoadable.contents.value });
54
+ }
55
+ }, [selectorLoadable]);
49
56
  const deferred = useDeferLoadable(selectorLoadable);
50
57
  return [deferred.value, warnUpdateOnDerivedState];
51
58
  }
@@ -55,6 +62,11 @@ export function useVariable(variable) {
55
62
  const recoilState = getOrRegisterPlainVariable(variable, WsClient, taskContext, extras);
56
63
  const [loadable, setLoadable] = useRecoilStateLoadable(recoilState);
57
64
  const deferred = useDeferLoadable(loadable);
65
+ useEffect(() => {
66
+ if (loadable.state === 'hasValue') {
67
+ bus.publish('PLAIN_VARIABLE_LOADED', { variable, value: loadable.contents });
68
+ }
69
+ }, [loadable]);
58
70
  return [deferred, setLoadable];
59
71
  }
60
72
  //# sourceMappingURL=use-variable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/use-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,kDAAkD,EAAE,MAAM,QAAQ,CAAC;AAEpG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAY,cAAc,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExH,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5F,mIAAmI;AACnI,+CAA+C;AAC/C,kFAAkF;AAClF,4DAA4D;AAC5D,gDAAgD;AAEhD;;GAEG;AACH,SAAS,wBAAwB;IAC7B,sCAAsC;IACtC,OAAO,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;AACjH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAI,QAAyB;IACpD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAEjD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,2EAA2E;IAC3E,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrD,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,GAAG,EAAE;YACR,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,wEAAwE;IACxE,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,mCAAoC,QAAgB,CAAC,UAAoB,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,kDAAkD,CAAC,QAAQ,CAAC,CAAC;QAEtF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAEpD,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,WAAW,GAAG,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACxF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE5C,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"use-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/use-variable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { ComponentInstance, DerivedVariable, Variable } from './core';
2
+ /**
3
+ * Map of available global events,
4
+ * format: {eventName: eventData}
5
+ */
6
+ export interface DaraEventMap {
7
+ SERVER_COMPONENT_LOADED: {
8
+ name: string;
9
+ uid: string;
10
+ value: ComponentInstance;
11
+ };
12
+ DERIVED_VARIABLE_LOADED: {
13
+ variable: DerivedVariable;
14
+ value: any;
15
+ };
16
+ PLAIN_VARIABLE_LOADED: {
17
+ variable: Variable<any>;
18
+ value: any;
19
+ };
20
+ }
21
+ /**
22
+ * Event type
23
+ */
24
+ export type DaraEventType = keyof DaraEventMap;
25
+ /** Discriminated union of all available events */
26
+ export type DaraEvent = {
27
+ [K in DaraEventType]: {
28
+ type: K;
29
+ data: DaraEventMap[K];
30
+ };
31
+ }[DaraEventType];
32
+ //# sourceMappingURL=event-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../js/types/event-types.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,uBAAuB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,iBAAiB,CAAA;KAAE,CAAC;IACjF,uBAAuB,EAAE;QAAE,QAAQ,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IACnE,qBAAqB,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;CAClE;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC;AAE/C,kDAAkD;AAClD,MAAM,MAAM,SAAS,GAAG;KACnB,CAAC,IAAI,aAAa,GAAG;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;KAAE;CAC3D,CAAC,aAAa,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=event-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-types.js","sourceRoot":"","sources":["../../js/types/event-types.tsx"],"names":[],"mappings":""}
@@ -1,6 +1,7 @@
1
1
  import type { User, UserData } from './auth';
2
2
  import type { Action, ActionContext, ActionDef, ActionHandler, ActionImpl, AnyDataVariable, AnyVariable, BaseComponentProps, BaseStylingProps, ClauseQuery, Component, ComponentInstance, Condition, Config, DataFrame, DataVariable, DerivedDataVariable, DerivedVariable, FilterQuery, JsComponent, LayoutComponentProps, NormalizedPayload, Pagination, PyComponent, QueryCombinator, QueryOperator, ResolvedDataVariable, ResolvedDerivedDataVariable, ResolvedDerivedVariable, RouteContent, RouteLink, SingleVariable, StyledComponentProps, Task, TaskResponse, Template, TemplateMarker, TemplatedComponentInstance, UrlVariable, ValueQuery, Variable } from './core';
3
- export type { Action, ActionDef, ActionImpl, ActionHandler, ActionContext, Condition, Config, Component, ComponentInstance, DerivedVariable, JsComponent, LayoutComponentProps, NormalizedPayload, PyComponent, ResolvedDerivedVariable, RouteContent, RouteLink, SingleVariable, Task, Template, TaskResponse, UrlVariable, User, UserData, Variable, BaseComponentProps, DataVariable, FilterQuery, DataFrame, Pagination, ResolvedDataVariable, ResolvedDerivedDataVariable, DerivedDataVariable, ClauseQuery, ValueQuery, QueryCombinator, QueryOperator, AnyDataVariable, AnyVariable, BaseStylingProps, StyledComponentProps, TemplatedComponentInstance, TemplateMarker, };
3
+ import type { DaraEvent, DaraEventMap, DaraEventType } from './event-types';
4
+ export type { Action, ActionDef, ActionImpl, ActionHandler, ActionContext, Condition, Config, Component, ComponentInstance, DerivedVariable, JsComponent, LayoutComponentProps, NormalizedPayload, PyComponent, ResolvedDerivedVariable, RouteContent, RouteLink, SingleVariable, Task, Template, TaskResponse, UrlVariable, User, UserData, Variable, BaseComponentProps, DataVariable, FilterQuery, DataFrame, Pagination, ResolvedDataVariable, ResolvedDerivedDataVariable, DerivedDataVariable, ClauseQuery, ValueQuery, QueryCombinator, QueryOperator, AnyDataVariable, AnyVariable, BaseStylingProps, StyledComponentProps, TemplatedComponentInstance, TemplateMarker, DaraEventMap, DaraEventType, DaraEvent, };
4
5
  export { AuthType } from './auth';
5
6
  export { ConditionOperator, ComponentType } from './core';
6
7
  export { isDerivedVariable, isResolvedDerivedVariable, isUrlVariable, isVariable, isDataVariable, isDerivedDataVariable, isResolvedDataVariable, isResolvedDerivedDataVariable, } from './utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/types/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EACR,MAAM,EACN,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,MAAM,EACN,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,0BAA0B,EAC1B,WAAW,EACX,UAAU,EACV,QAAQ,EACX,MAAM,QAAQ,CAAC;AAEhB,YAAY,EACR,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,SAAS,EACT,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,GACjB,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EACH,iBAAiB,EACjB,yBAAyB,EACzB,aAAa,EACb,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,GAChC,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/types/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EACR,MAAM,EACN,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,MAAM,EACN,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,0BAA0B,EAC1B,WAAW,EACX,UAAU,EACV,QAAQ,EACX,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5E,YAAY,EACR,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,SAAS,EACT,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,YAAY,EACZ,aAAa,EACb,SAAS,GACZ,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EACH,iBAAiB,EACjB,yBAAyB,EACzB,aAAa,EACb,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,GAChC,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/types/index.tsx"],"names":[],"mappings":"AA2FA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EACH,iBAAiB,EACjB,yBAAyB,EACzB,aAAa,EACb,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,GAChC,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/types/index.tsx"],"names":[],"mappings":"AA+FA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EACH,iBAAiB,EACjB,yBAAyB,EACzB,aAAa,EACb,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,GAChC,MAAM,SAAS,CAAC"}
@@ -22,10 +22,18 @@ var __privateSet = (obj, member, value, setter) => {
22
22
  setter ? setter.call(obj, value) : member.set(obj, value);
23
23
  return value;
24
24
  };
25
+ var __privateWrapper = (obj, member, setter, getter) => ({
26
+ set _(value) {
27
+ __privateSet(obj, member, value, setter);
28
+ },
29
+ get _() {
30
+ return __privateGet(obj, member, getter);
31
+ }
32
+ });
25
33
  (function(global2, factory) {
26
34
  typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("react"), require("@tanstack/react-query"), require("react-dom"), require("styled-components")) : typeof define === "function" && define.amd ? define(["exports", "react", "@tanstack/react-query", "react-dom", "styled-components"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory((global2.dara = global2.dara || {}, global2.dara.core = {}), global2.React, global2.ReactQuery, global2.ReactDOM, global2.styled));
27
35
  })(this, function(exports, React, reactQuery, ReactDOM, styled) {
28
- var _instance, _observers;
36
+ var _pingInterval, _socketUrl, _reconnectCount, _instance, _observers, _events$, _parentBus;
29
37
  "use strict";
30
38
  const _interopDefaultLegacy = (e3) => e3 && typeof e3 === "object" && "default" in e3 ? e3 : { default: e3 };
31
39
  function _interopNamespace(e3) {
@@ -54876,9 +54884,6 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
54876
54884
  const maxDisconnectedTime = 1e4;
54877
54885
  const interPingInterval = 5e3;
54878
54886
  const maxAttempts = Math.round(maxDisconnectedTime / interAttemptTimeout);
54879
- let socketUrl = null;
54880
- let socket = null;
54881
- let pingInterval = null;
54882
54887
  function isInitMessage(message) {
54883
54888
  return message.type === "init";
54884
54889
  }
@@ -54907,88 +54912,85 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
54907
54912
  message: null,
54908
54913
  type: "ping"
54909
54914
  };
54910
- function setupHeartbeat() {
54911
- pingInterval = setInterval(() => {
54912
- if (socket.readyState === WebSocket.OPEN) {
54913
- socket.send(JSON.stringify(pingMessage));
54914
- }
54915
- }, interPingInterval);
54916
- socket.addEventListener("error", () => {
54917
- if (pingInterval) {
54918
- clearInterval(pingInterval);
54919
- }
54920
- });
54921
- }
54922
- function onCloseWs(token, liveReload) {
54923
- let attempts = 0;
54924
- const attemptReconnect = () => {
54925
- attempts++;
54926
- if (attempts > maxAttempts) {
54927
- console.error("Could not reconnect to server");
54928
- return;
54929
- }
54930
- const url = new URL(socketUrl);
54931
- url.searchParams.set("token", token);
54932
- socket = new WebSocket(url);
54933
- socket.addEventListener("error", () => {
54934
- setTimeout(attemptReconnect, interAttemptTimeout);
54935
- });
54936
- if (liveReload) {
54937
- socket.addEventListener("open", () => {
54938
- socket.addEventListener("close", () => {
54939
- attemptReconnect();
54940
- });
54941
- setupHeartbeat();
54942
- socket.addEventListener("message", (ev) => {
54943
- const msg = JSON.parse(ev.data);
54944
- if (msg.type === "init") {
54945
- window.location.reload();
54946
- }
54947
- });
54948
- });
54949
- }
54950
- return socket;
54951
- };
54952
- return attemptReconnect();
54953
- }
54954
54915
  class WebSocketClient {
54955
- constructor(_socket, _token, _liveReload = false) {
54916
+ constructor(_socketUrl2, _token, _liveReload = false) {
54956
54917
  __publicField(this, "channel");
54957
54918
  __publicField(this, "messages$");
54958
54919
  __publicField(this, "socket");
54959
54920
  __publicField(this, "token");
54960
54921
  __publicField(this, "liveReload");
54961
54922
  __publicField(this, "closeHandler");
54962
- this.socket = _socket;
54923
+ __publicField(this, "maxAttempts");
54924
+ __privateAdd(this, _pingInterval, void 0);
54925
+ __privateAdd(this, _socketUrl, void 0);
54926
+ __privateAdd(this, _reconnectCount, void 0);
54963
54927
  this.token = _token;
54964
54928
  this.liveReload = _liveReload;
54965
54929
  this.messages$ = new Subject();
54966
54930
  this.closeHandler = this.onClose.bind(this);
54967
- this.initialize();
54968
- }
54969
- initialize() {
54970
- this.socket.addEventListener("message", (ev) => {
54931
+ this.maxAttempts = maxAttempts;
54932
+ __privateSet(this, _socketUrl, _socketUrl2);
54933
+ __privateSet(this, _reconnectCount, 0);
54934
+ __privateSet(this, _pingInterval, null);
54935
+ this.socket = this.initialize();
54936
+ }
54937
+ initialize(isReconnect = false) {
54938
+ const url = new URL(__privateGet(this, _socketUrl));
54939
+ url.searchParams.set("token", this.token);
54940
+ const socket = new WebSocket(url);
54941
+ __privateSet(this, _pingInterval, setInterval(() => {
54942
+ if (socket.readyState === WebSocket.OPEN) {
54943
+ socket.send(JSON.stringify(pingMessage));
54944
+ }
54945
+ }, interPingInterval));
54946
+ socket.addEventListener("error", () => {
54947
+ if (__privateGet(this, _pingInterval)) {
54948
+ clearInterval(__privateGet(this, _pingInterval));
54949
+ }
54950
+ });
54951
+ socket.addEventListener("message", (ev) => {
54971
54952
  const msg = JSON.parse(ev.data);
54972
54953
  this.messages$.next(msg);
54973
54954
  });
54974
54955
  this.channel = new Promise((resolve) => {
54975
- this.socket.addEventListener("message", (ev) => {
54956
+ const handler = (ev) => {
54976
54957
  var _a;
54977
54958
  const msg = JSON.parse(ev.data);
54978
54959
  if (msg.type === "init") {
54960
+ __privateSet(this, _reconnectCount, 0);
54979
54961
  this.messages$.next(msg);
54962
+ socket.removeEventListener("message", handler);
54980
54963
  resolve((_a = msg.message) == null ? void 0 : _a.channel);
54964
+ if (this.liveReload && isReconnect) {
54965
+ window.location.reload();
54966
+ }
54981
54967
  }
54982
- });
54968
+ };
54969
+ socket.addEventListener("message", handler);
54983
54970
  });
54984
- this.socket.addEventListener("close", this.closeHandler);
54971
+ socket.addEventListener("close", this.closeHandler);
54972
+ return socket;
54985
54973
  }
54986
54974
  onClose() {
54987
- this.socket = onCloseWs(this.token, this.liveReload);
54988
- this.initialize();
54975
+ if (__privateGet(this, _reconnectCount) >= this.maxAttempts) {
54976
+ console.error("Could not reconnect the websocket to the server");
54977
+ const handler = () => {
54978
+ if (document.visibilityState === "visible") {
54979
+ __privateSet(this, _reconnectCount, 0);
54980
+ this.initialize();
54981
+ document.removeEventListener("visibilitychange", handler);
54982
+ }
54983
+ };
54984
+ document.addEventListener("visibilitychange", handler);
54985
+ return;
54986
+ }
54987
+ setTimeout(() => {
54988
+ __privateWrapper(this, _reconnectCount)._++;
54989
+ this.initialize(true);
54990
+ }, interAttemptTimeout);
54989
54991
  }
54990
54992
  close() {
54991
- clearInterval(pingInterval);
54993
+ clearInterval(__privateGet(this, _pingInterval));
54992
54994
  this.socket.removeEventListener("close", this.closeHandler);
54993
54995
  this.socket.close();
54994
54996
  }
@@ -55090,6 +55092,9 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
55090
55092
  }
55091
55093
  }
55092
55094
  }
55095
+ _pingInterval = new WeakMap();
55096
+ _socketUrl = new WeakMap();
55097
+ _reconnectCount = new WeakMap();
55093
55098
  function setupWebsocket(sessionToken, liveReload) {
55094
55099
  var _a;
55095
55100
  let { host } = window.location;
@@ -55101,12 +55106,10 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
55101
55106
  }
55102
55107
  host = baseUrl.host + pathname;
55103
55108
  }
55104
- socketUrl = `${window.location.protocol === "https:" ? "wss://" : "ws://"}${host}/api/core/ws`;
55109
+ const socketUrl = `${window.location.protocol === "https:" ? "wss://" : "ws://"}${host}/api/core/ws`;
55105
55110
  const url = new URL(socketUrl);
55106
55111
  url.searchParams.set("token", sessionToken);
55107
- socket = new WebSocket(url);
55108
- setupHeartbeat();
55109
- return new WebSocketClient(socket, sessionToken, liveReload);
55112
+ return new WebSocketClient(socketUrl, sessionToken, liveReload);
55110
55113
  }
55111
55114
  function err(message) {
55112
55115
  const error = new Error(message);
@@ -57629,6 +57632,38 @@ Inferred class string: "${iconClasses}."`
57629
57632
  const [styles2, css2] = parseRawCss((_a = props.config) == null ? void 0 : _a.raw_css);
57630
57633
  return /* @__PURE__ */ React__default.default.createElement(ErrorDisplayWrapper, { $rawCss: css2, style: styles2 }, /* @__PURE__ */ React__default.default.createElement(ContentWrapper, null, /* @__PURE__ */ React__default.default.createElement(ErrorContent, null, /* @__PURE__ */ React__default.default.createElement(ErrorTitle$1, null, /* @__PURE__ */ React__default.default.createElement(IconWrapper, null, /* @__PURE__ */ React__default.default.createElement(ErrorIcon, { "aria-hidden": true, className: "fa-solid fa-circle-xmark fa-lg" })), (_c = (_b = props == null ? void 0 : props.config) == null ? void 0 : _b.title) != null ? _c : "Error"), /* @__PURE__ */ React__default.default.createElement(ErrorText$1, null, (_e2 = (_d = props == null ? void 0 : props.config) == null ? void 0 : _d.description) != null ? _e2 : "Try again or contact the application owner."))), props.resetErrorBoundary && /* @__PURE__ */ React__default.default.createElement(RetryButton, { onClick: () => props.resetErrorBoundary(props.error), type: "button" }, /* @__PURE__ */ React__default.default.createElement("i", { "aria-hidden": true, className: "fa-solid fa-rotate fa-xl" })));
57631
57634
  }
57635
+ class EventBus {
57636
+ constructor(parentBus) {
57637
+ __privateAdd(this, _events$, new Subject());
57638
+ __privateAdd(this, _parentBus, null);
57639
+ __privateSet(this, _parentBus, parentBus != null ? parentBus : null);
57640
+ }
57641
+ publish(type, data) {
57642
+ __privateGet(this, _events$).next({ type, data });
57643
+ if (__privateGet(this, _parentBus)) {
57644
+ __privateGet(this, _parentBus).publish(type, data);
57645
+ }
57646
+ }
57647
+ subscribe(callback) {
57648
+ const sub = __privateGet(this, _events$).pipe().subscribe(callback);
57649
+ return () => sub.unsubscribe();
57650
+ }
57651
+ }
57652
+ _events$ = new WeakMap();
57653
+ _parentBus = new WeakMap();
57654
+ const DEFAULT_BUS = new EventBus();
57655
+ const EventBusContext = React__namespace.createContext(DEFAULT_BUS);
57656
+ function useEventBus() {
57657
+ return React__namespace.useContext(EventBusContext);
57658
+ }
57659
+ function EventCapturer({ children, onEvent }) {
57660
+ const parentBus = useEventBus();
57661
+ const bus = React__namespace.useMemo(() => new EventBus(parentBus), [parentBus]);
57662
+ React__namespace.useEffect(() => {
57663
+ return bus.subscribe(onEvent);
57664
+ }, [bus, onEvent]);
57665
+ return /* @__PURE__ */ React__namespace.createElement(EventBusContext.Provider, { value: bus }, children);
57666
+ }
57632
57667
  function warnUpdateOnDerivedState() {
57633
57668
  console.warn("You tried to call update on variable with derived state, this is a noop and will be ignored.");
57634
57669
  }
@@ -57637,6 +57672,7 @@ Inferred class string: "${iconClasses}."`
57637
57672
  const { client: WsClient } = React.useContext(websocketCtx);
57638
57673
  const taskContext = useTaskContext();
57639
57674
  const variablesContext = React.useContext(variablesCtx);
57675
+ const bus = useEventBus();
57640
57676
  if (!isVariable(variable)) {
57641
57677
  return React.useState(variable);
57642
57678
  }
@@ -57652,6 +57688,11 @@ Inferred class string: "${iconClasses}."`
57652
57688
  if (isDerivedVariable(variable)) {
57653
57689
  const selector2 = useDerivedVariable(variable, WsClient, taskContext, extras);
57654
57690
  const selectorLoadable = Recoil_index_28(selector2);
57691
+ React.useEffect(() => {
57692
+ if (selectorLoadable.state === "hasValue") {
57693
+ bus.publish("DERIVED_VARIABLE_LOADED", { variable, value: selectorLoadable.contents.value });
57694
+ }
57695
+ }, [selectorLoadable]);
57655
57696
  const deferred2 = useDeferLoadable(selectorLoadable);
57656
57697
  return [deferred2.value, warnUpdateOnDerivedState];
57657
57698
  }
@@ -57661,6 +57702,11 @@ Inferred class string: "${iconClasses}."`
57661
57702
  const recoilState = getOrRegisterPlainVariable(variable, WsClient, taskContext, extras);
57662
57703
  const [loadable, setLoadable] = Recoil_index_23(recoilState);
57663
57704
  const deferred = useDeferLoadable(loadable);
57705
+ React.useEffect(() => {
57706
+ if (loadable.state === "hasValue") {
57707
+ bus.publish("PLAIN_VARIABLE_LOADED", { variable, value: loadable.contents });
57708
+ }
57709
+ }, [loadable]);
57664
57710
  return [deferred, setLoadable];
57665
57711
  }
57666
57712
  function useDataVariable(variable) {
@@ -57996,6 +58042,7 @@ Inferred class string: "${iconClasses}."`
57996
58042
  const { client: wsClient } = React.useContext(websocketCtx);
57997
58043
  const taskContext = useTaskContext();
57998
58044
  const variablesContext = React.useContext(variablesCtx);
58045
+ const bus = useEventBus();
57999
58046
  variablesContext.variables.current.add(getComponentRegistryKey(uid2));
58000
58047
  React.useEffect(() => {
58001
58048
  return () => {
@@ -58004,6 +58051,11 @@ Inferred class string: "${iconClasses}."`
58004
58051
  }, []);
58005
58052
  const componentSelector = getOrRegisterServerComponent(name, uid2, dynamicKwargs, wsClient, taskContext, extras);
58006
58053
  const componentLoadable = Recoil_index_21(componentSelector);
58054
+ React.useEffect(() => {
58055
+ if (componentLoadable.state === "hasValue") {
58056
+ bus.publish("SERVER_COMPONENT_LOADED", { name, uid: uid2, value: componentLoadable.contents });
58057
+ }
58058
+ }, [componentLoadable]);
58007
58059
  const deferred = useDeferLoadable(componentLoadable);
58008
58060
  return deferred;
58009
58061
  }
@@ -84754,6 +84806,8 @@ Inferred class string: "${iconClasses}."`
84754
84806
  exports.DisplayCtx = displayCtx;
84755
84807
  exports.DownloadVariable = DownloadVariable;
84756
84808
  exports.DynamicComponent = DynamicComponent;
84809
+ exports.EventBus = EventBus;
84810
+ exports.EventCapturer = EventCapturer;
84757
84811
  exports.For = For;
84758
84812
  exports.Menu = Menu;
84759
84813
  exports.NavigateTo = NavigateTo;
@@ -84789,6 +84843,7 @@ Inferred class string: "${iconClasses}."`
84789
84843
  exports.useAuthCtx = useAuthCtx;
84790
84844
  exports.useComponentStyles = useComponentStyles;
84791
84845
  exports.useDataVariable = useDataVariable;
84846
+ exports.useEventBus = useEventBus;
84792
84847
  exports.useRequestExtras = useRequestExtras;
84793
84848
  exports.useSessionToken = useSessionToken;
84794
84849
  exports.useUser = useUser;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@darajs/core",
3
- "version": "1.8.2",
3
+ "version": "1.8.4",
4
4
  "description": "Dara Framework core",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -37,13 +37,14 @@
37
37
  "@babel/preset-env": "^7.23.0",
38
38
  "@babel/preset-react": "^7.22.15",
39
39
  "@babel/preset-typescript": "^7.23.0",
40
- "@darajs/eslint-config": "~1.9.0",
41
- "@darajs/prettier-config": "~1.9.0",
42
- "@darajs/stylelint-config": "~1.9.0",
40
+ "@darajs/eslint-config": "~1.9.1",
41
+ "@darajs/prettier-config": "~1.9.1",
42
+ "@darajs/stylelint-config": "~1.9.1",
43
43
  "@rollup/plugin-inject": "^4.0.4",
44
44
  "@testing-library/dom": "^9.3.0",
45
45
  "@testing-library/jest-dom": "^5.16.5",
46
46
  "@testing-library/react": "^14.0.0",
47
+ "@testing-library/user-event": "^14.5.2",
47
48
  "@types/file-saver": "^2.0.5",
48
49
  "@types/history": "^4.7.0",
49
50
  "@types/jest": "^29.5.1",
@@ -65,6 +66,7 @@
65
66
  "jest": "^29.5.0",
66
67
  "jest-css-modules": "^2.1.0",
67
68
  "jest-environment-jsdom": "^29.5.0",
69
+ "jest-websocket-mock": "^2.5.0",
68
70
  "msw": "1.0.1",
69
71
  "postcss": "^8.4.35",
70
72
  "prettier": "^3.0.0",
@@ -77,10 +79,10 @@
77
79
  "whatwg-fetch": "^3.6.2"
78
80
  },
79
81
  "dependencies": {
80
- "@darajs/styled-components": "~1.9.0",
81
- "@darajs/ui-components": "~1.9.0",
82
- "@darajs/ui-notifications": "~1.9.0",
83
- "@darajs/ui-utils": "~1.9.0",
82
+ "@darajs/styled-components": "~1.9.1",
83
+ "@darajs/ui-components": "~1.9.1",
84
+ "@darajs/ui-notifications": "~1.9.1",
85
+ "@darajs/ui-utils": "~1.9.1",
84
86
  "@fortawesome/fontawesome-free": "~6.4.0",
85
87
  "@recoiljs/refine": "^0.1.1",
86
88
  "@tanstack/query-core": "^4.0.0",
@@ -116,5 +118,5 @@
116
118
  "publishConfig": {
117
119
  "access": "public"
118
120
  },
119
- "gitHead": "a591750b611c3d70ada8287d402a3e929ca1a95c"
121
+ "gitHead": "66bffedb91adcdeef06b3722d3b57aa4730d1555"
120
122
  }