@addev-be/ui 0.21.3 → 0.21.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 (260) hide show
  1. package/dist/Icons.d.ts +11 -1
  2. package/dist/Icons.js +22 -1
  3. package/dist/components/auth/LoginForm.js +1 -1
  4. package/dist/components/auth/PasswordRecoveryForm.js +1 -1
  5. package/dist/components/auth/PasswordResetForm.js +1 -1
  6. package/dist/components/data/DataGrid/DataGridCell.d.ts +1 -1
  7. package/dist/components/data/DataGrid/DataGridCell.js +9 -9
  8. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.d.ts +2 -2
  9. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.js +1 -7
  10. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +3 -3
  11. package/dist/components/data/DataGrid/DataGridColumnsModal/index.js +16 -21
  12. package/dist/components/data/DataGrid/DataGridColumnsModal/styles.js +2 -2
  13. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.d.ts +2 -0
  14. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.js +23 -0
  15. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.d.ts +2 -0
  16. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.js +27 -0
  17. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.d.ts +7 -0
  18. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.js +34 -0
  19. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.d.ts +2 -0
  20. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.js +23 -0
  21. package/dist/components/data/DataGrid/DataGridEditableCell/index.d.ts +2 -0
  22. package/dist/components/data/DataGrid/DataGridEditableCell/index.js +91 -0
  23. package/dist/components/data/DataGrid/DataGridEditableCell/styles.d.ts +3 -0
  24. package/dist/components/data/DataGrid/DataGridEditableCell/styles.js +17 -0
  25. package/dist/components/data/DataGrid/DataGridEditableCell/types.d.ts +11 -0
  26. package/dist/components/data/DataGrid/DataGridEditableCell/types.js +3 -0
  27. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.js +17 -2
  28. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.d.ts +4 -3
  29. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.js +11 -12
  30. package/dist/components/data/DataGrid/DataGridFilterMenu/index.d.ts +5 -4
  31. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +44 -41
  32. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +5 -5
  33. package/dist/components/data/DataGrid/DataGridFooter.js +5 -7
  34. package/dist/components/data/DataGrid/DataGridHeader.js +3 -19
  35. package/dist/components/data/DataGrid/DataGridHeaderCell.d.ts +1 -1
  36. package/dist/components/data/DataGrid/DataGridHeaderCell.js +11 -24
  37. package/dist/components/data/DataGrid/DataGridRowTemplate.d.ts +1 -1
  38. package/dist/components/data/DataGrid/DataGridRowTemplate.js +10 -9
  39. package/dist/components/data/DataGrid/DataGridToolbar.d.ts +4 -0
  40. package/dist/components/data/DataGrid/DataGridToolbar.js +131 -0
  41. package/dist/components/data/DataGrid/FilterModalContent/index.js +1 -2
  42. package/dist/components/data/DataGrid/constants.d.ts +6 -0
  43. package/dist/components/data/DataGrid/constants.js +9 -0
  44. package/dist/components/data/DataGrid/helpers/columns.d.ts +13 -12
  45. package/dist/components/data/DataGrid/helpers/columns.js +100 -130
  46. package/dist/components/data/DataGrid/hooks/index.d.ts +3 -3
  47. package/dist/components/data/DataGrid/hooks/index.js +8 -12
  48. package/dist/components/data/DataGrid/hooks/useDataGrid.js +73 -24
  49. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.d.ts +9 -0
  50. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.js +91 -0
  51. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +25 -30
  52. package/dist/components/data/DataGrid/hooks/useRefreshModal.d.ts +5 -0
  53. package/dist/components/data/DataGrid/hooks/useRefreshModal.js +25 -0
  54. package/dist/components/data/DataGrid/index.d.ts +41 -3
  55. package/dist/components/data/DataGrid/index.js +32 -5
  56. package/dist/components/data/DataGrid/styles.d.ts +16 -8
  57. package/dist/components/data/DataGrid/styles.js +65 -34
  58. package/dist/components/data/DataGrid/types.d.ts +91 -21
  59. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +2 -0
  60. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +19 -0
  61. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +16 -17
  62. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +235 -84
  63. package/dist/components/data/SqlRequestDataGrid/index.d.ts +2 -2
  64. package/dist/components/data/SqlRequestDataGrid/index.js +99 -74
  65. package/dist/components/data/SqlRequestDataGrid/styles.d.ts +2 -0
  66. package/dist/components/data/SqlRequestDataGrid/styles.js +14 -0
  67. package/dist/components/data/SqlRequestDataGrid/types.d.ts +13 -3
  68. package/dist/components/data/SqlRequestDataGrid/types.js +1 -0
  69. package/dist/components/data/SqlRequestForeignList/index.d.ts +4 -0
  70. package/dist/components/data/SqlRequestForeignList/index.js +132 -0
  71. package/dist/components/data/SqlRequestForeignList/styles.d.ts +9 -0
  72. package/dist/components/data/SqlRequestForeignList/styles.js +22 -0
  73. package/dist/components/data/SqlRequestForeignList/types.d.ts +22 -0
  74. package/dist/components/data/SqlRequestForeignList/types.js +2 -0
  75. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.d.ts +10 -0
  76. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.js +50 -0
  77. package/dist/components/data/SqlRequestGrid/filters/styles.d.ts +4 -0
  78. package/dist/components/data/SqlRequestGrid/filters/styles.js +17 -0
  79. package/dist/components/data/SqlRequestGrid/index.d.ts +1 -1
  80. package/dist/components/data/SqlRequestGrid/index.js +139 -50
  81. package/dist/components/data/SqlRequestGrid/styles.d.ts +0 -12
  82. package/dist/components/data/SqlRequestGrid/styles.js +4 -20
  83. package/dist/components/data/SqlRequestGrid/types.d.ts +14 -4
  84. package/dist/components/data/SqlRequestGrid/types.js +0 -1
  85. package/dist/components/data/VirtualScroller/index.d.ts +4 -3
  86. package/dist/components/data/VirtualScroller/index.js +15 -6
  87. package/dist/components/data/VirtualScroller/styles.d.ts +4 -2
  88. package/dist/components/data/VirtualScroller/styles.js +9 -7
  89. package/dist/components/data/VirtualScroller/types.js +0 -1
  90. package/dist/components/data/index.d.ts +1 -2
  91. package/dist/components/data/index.js +1 -2
  92. package/dist/components/forms/AutoTextArea.d.ts +10 -0
  93. package/dist/components/forms/AutoTextArea.js +41 -0
  94. package/dist/components/forms/Button.d.ts +11 -4
  95. package/dist/components/forms/Button.js +15 -9
  96. package/dist/components/forms/Form/Checkbox.d.ts +3 -0
  97. package/dist/components/forms/Form/Checkbox.js +33 -0
  98. package/dist/components/forms/Form/FormGroup.d.ts +11 -0
  99. package/dist/components/forms/Form/FormGroup.js +10 -0
  100. package/dist/components/forms/Form/Input.d.ts +3 -0
  101. package/dist/components/forms/Form/Input.js +33 -0
  102. package/dist/components/forms/Form/Row.d.ts +9 -0
  103. package/dist/components/forms/Form/Row.js +10 -0
  104. package/dist/components/forms/Form/Select.d.ts +13 -0
  105. package/dist/components/forms/Form/Select.js +51 -0
  106. package/dist/components/forms/Form/TextArea.d.ts +4 -0
  107. package/dist/components/forms/Form/TextArea.js +34 -0
  108. package/dist/components/forms/Form/index.d.ts +75 -0
  109. package/dist/components/forms/Form/index.js +29 -0
  110. package/dist/components/forms/Form/styles.d.ts +19 -0
  111. package/dist/components/forms/Form/styles.js +49 -0
  112. package/dist/components/forms/IconButton.d.ts +9 -4
  113. package/dist/components/forms/IconButton.js +15 -15
  114. package/dist/components/forms/NumberInput.d.ts +9 -0
  115. package/dist/components/forms/NumberInput.js +40 -0
  116. package/dist/components/forms/Select.d.ts +5 -6
  117. package/dist/components/forms/Select.js +2 -5
  118. package/dist/components/forms/index.d.ts +4 -0
  119. package/dist/components/forms/index.js +4 -0
  120. package/dist/components/forms/styles.d.ts +17 -3
  121. package/dist/components/forms/styles.js +8 -7
  122. package/dist/components/layout/Columns.d.ts +7 -0
  123. package/dist/components/layout/Columns.js +21 -0
  124. package/dist/components/layout/Dropdown/index.d.ts +1 -0
  125. package/dist/components/layout/Dropdown/index.js +24 -3
  126. package/dist/components/layout/Dropdown/styles.js +1 -1
  127. package/dist/components/layout/Flexbox.d.ts +11 -0
  128. package/dist/components/layout/Flexbox.js +26 -0
  129. package/dist/components/layout/Grid/index.d.ts +6 -0
  130. package/dist/components/layout/Grid/index.js +6 -0
  131. package/dist/components/layout/Grid/styles.d.ts +14 -0
  132. package/dist/components/layout/Grid/styles.js +29 -0
  133. package/dist/components/layout/Masonry/index.d.ts +3 -0
  134. package/dist/components/layout/Masonry/index.js +20 -0
  135. package/dist/components/layout/Masonry/styles.d.ts +5 -0
  136. package/dist/components/layout/Masonry/styles.js +17 -0
  137. package/dist/components/layout/Modal/styles.js +4 -4
  138. package/dist/components/layout/index.d.ts +5 -1
  139. package/dist/components/layout/index.js +5 -1
  140. package/dist/components/search/HighlightedText.js +9 -7
  141. package/dist/components/search/QuickSearchBar.d.ts +6 -2
  142. package/dist/components/search/QuickSearchBar.js +7 -8
  143. package/dist/components/search/styles.js +5 -5
  144. package/dist/components/search/types.d.ts +3 -0
  145. package/dist/components/ui/Avatar/index.d.ts +10 -0
  146. package/dist/components/ui/Avatar/index.js +52 -0
  147. package/dist/components/ui/Avatar/styles.d.ts +4 -0
  148. package/dist/components/ui/Avatar/styles.js +43 -0
  149. package/dist/components/ui/Card/styles.js +3 -3
  150. package/dist/components/ui/ContextMenu/styles.js +5 -5
  151. package/dist/components/ui/Ellipsis.d.ts +13 -0
  152. package/dist/components/ui/Ellipsis.js +28 -0
  153. package/dist/components/ui/Label.d.ts +10 -0
  154. package/dist/components/ui/Label.js +74 -0
  155. package/dist/components/ui/Message/index.js +1 -1
  156. package/dist/components/ui/TabsView/TabsList.d.ts +10 -0
  157. package/dist/components/ui/TabsView/TabsList.js +40 -0
  158. package/dist/components/ui/TabsView/TabsView.d.ts +9 -0
  159. package/dist/components/ui/TabsView/TabsView.js +17 -0
  160. package/dist/components/ui/TabsView/index.d.ts +3 -0
  161. package/dist/components/ui/TabsView/index.js +19 -0
  162. package/dist/components/ui/TabsView/styles.d.ts +11 -0
  163. package/dist/components/ui/TabsView/styles.js +47 -0
  164. package/dist/components/ui/TabsView/types.d.ts +10 -0
  165. package/dist/components/ui/TabsView/types.js +2 -0
  166. package/dist/components/ui/index.d.ts +4 -0
  167. package/dist/components/ui/index.js +4 -0
  168. package/dist/helpers/components.d.ts +3 -0
  169. package/dist/helpers/components.js +15 -0
  170. package/dist/helpers/index.d.ts +2 -0
  171. package/dist/helpers/index.js +2 -0
  172. package/dist/helpers/numbers.d.ts +3 -0
  173. package/dist/helpers/numbers.js +33 -1
  174. package/dist/helpers/responsive.d.ts +37 -0
  175. package/dist/helpers/responsive.js +57 -0
  176. package/dist/helpers/styled/index.d.ts +1 -0
  177. package/dist/helpers/styled/index.js +17 -0
  178. package/dist/helpers/styled/space.d.ts +39 -0
  179. package/dist/helpers/styled/space.js +90 -0
  180. package/dist/hooks/index.d.ts +5 -0
  181. package/dist/hooks/index.js +5 -0
  182. package/dist/hooks/useContainerMediaQuery.d.ts +17 -0
  183. package/dist/hooks/useContainerMediaQuery.js +10 -0
  184. package/dist/hooks/useMediaQuery.d.ts +17 -0
  185. package/dist/hooks/useMediaQuery.js +11 -0
  186. package/dist/hooks/useMediaQueryForWidth.d.ts +17 -0
  187. package/dist/hooks/useMediaQueryForWidth.js +26 -0
  188. package/dist/hooks/useMutableState.d.ts +2 -0
  189. package/dist/hooks/useMutableState.js +14 -0
  190. package/dist/hooks/useShowArchived.d.ts +6 -0
  191. package/dist/hooks/useShowArchived.js +21 -0
  192. package/dist/index.d.ts +1 -0
  193. package/dist/index.js +1 -0
  194. package/dist/providers/AuthenticationProvider/index.d.ts +1 -0
  195. package/dist/providers/AuthenticationProvider/index.js +57 -15
  196. package/dist/providers/PortalsProvider/styles.js +1 -1
  197. package/dist/providers/ThemeProvider/ThemeProvider.d.ts +1 -0
  198. package/dist/providers/ThemeProvider/ThemeProvider.js +11 -9
  199. package/dist/providers/ThemeProvider/defaultTheme.d.ts +1 -0
  200. package/dist/providers/ThemeProvider/defaultTheme.js +33 -1
  201. package/dist/providers/ThemeProvider/helpers.d.ts +12 -0
  202. package/dist/providers/ThemeProvider/helpers.js +65 -0
  203. package/dist/providers/ThemeProvider/index.d.ts +1 -0
  204. package/dist/providers/ThemeProvider/index.js +1 -0
  205. package/dist/providers/ThemeProvider/types.d.ts +4 -2
  206. package/dist/providers/TrackingProvider/hooks.d.ts +1 -0
  207. package/dist/providers/TrackingProvider/hooks.js +15 -0
  208. package/dist/providers/TrackingProvider/index.d.ts +8 -0
  209. package/dist/providers/TrackingProvider/index.js +41 -0
  210. package/dist/providers/UiProviders/index.d.ts +4 -1
  211. package/dist/providers/UiProviders/index.js +3 -2
  212. package/dist/providers/UiProviders/styles.js +1 -1
  213. package/dist/providers/index.d.ts +2 -0
  214. package/dist/providers/index.js +2 -0
  215. package/dist/services/WebSocketService.d.ts +8 -0
  216. package/dist/services/WebSocketService.js +34 -2
  217. package/dist/services/globalSearch.d.ts +6 -2
  218. package/dist/services/hooks.d.ts +10 -0
  219. package/dist/services/hooks.js +89 -2
  220. package/dist/services/index.d.ts +7 -0
  221. package/dist/services/index.js +20 -0
  222. package/dist/services/requests/generic.d.ts +29 -0
  223. package/dist/services/requests/generic.js +29 -0
  224. package/dist/services/requests/tracking.d.ts +18 -0
  225. package/dist/services/requests/tracking.js +8 -0
  226. package/dist/services/smartQueries.d.ts +51 -0
  227. package/dist/services/smartQueries.js +10 -0
  228. package/dist/services/smartRequests.d.ts +0 -0
  229. package/dist/services/smartRequests.js +1 -0
  230. package/dist/services/types/generic.d.ts +44 -0
  231. package/dist/services/types/generic.js +79 -0
  232. package/dist/services/types/tracking.d.ts +24 -0
  233. package/dist/services/types/tracking.js +47 -0
  234. package/dist/services/updateSqlRequests.d.ts +24 -0
  235. package/dist/services/updateSqlRequests.js +6 -0
  236. package/eslint.config.js +1 -1
  237. package/package.json +2 -2
  238. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +5 -5
  239. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +3 -3
  240. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +0 -2
  241. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +0 -1
  242. package/src/components/data/DataGrid/DataGridFooter.tsx +0 -3
  243. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +2 -1
  244. package/src/components/data/DataGrid/FilterModalContent/index.tsx +0 -1
  245. package/src/components/data/DataGrid/helpers/columns.tsx +29 -24
  246. package/src/components/data/SqlRequestDataGrid/index.tsx +14 -8
  247. package/src/components/data/SqlRequestForeignList/index.tsx +20 -22
  248. package/src/components/data/SqlRequestForeignList/types.ts +0 -2
  249. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +0 -2
  250. package/src/components/data/SqlRequestGrid/types.ts +0 -2
  251. package/src/components/data/VirtualScroller/types.ts +0 -2
  252. package/src/components/forms/Form/Select.tsx +3 -3
  253. package/src/components/forms/IconButton.tsx +19 -9
  254. package/src/components/forms/Select.tsx +0 -1
  255. package/src/components/search/QuickSearchBar.tsx +0 -1
  256. package/src/components/ui/Label.tsx +18 -9
  257. package/src/helpers/components.ts +23 -0
  258. package/src/services/updateSqlRequests.ts +0 -2
  259. package/src/typings.d.ts +0 -2
  260. package/tsconfig.tsbuildinfo +1 -1
@@ -53,6 +53,7 @@ var react_1 = require("react");
53
53
  var services_1 = require("../../services");
54
54
  var helpers_1 = require("./helpers");
55
55
  exports.AuthenticationContext = (0, react_1.createContext)({
56
+ status: undefined,
56
57
  authenticate: function () { },
57
58
  isAuthenticated: false,
58
59
  login: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
@@ -78,18 +79,24 @@ var AuthenticationProvider = function (_a) {
78
79
  var _b, _c;
79
80
  var permissions = _a.permissions, LoginComponent = _a.loginComponent, children = _a.children, requestHandlerName = _a.requestHandlerName;
80
81
  var allPermissions = (0, react_1.useMemo)(function () { return (__assign(__assign({}, helpers_1.basePermissions), permissions)); }, [permissions]);
81
- var _d = (0, react_1.useState)(false), setWebSocketStatus = _d[1];
82
- var _e = (0, react_1.useState)(sessionStorage.getItem('authToken') || undefined), token = _e[0], setToken = _e[1];
83
- var _f = (0, react_1.useState)(undefined), user = _f[0], setUser = _f[1];
82
+ var _d = (0, react_1.useState)(false), isLoading = _d[0], setIsLoading = _d[1];
83
+ var _e = (0, react_1.useState)(false), setWebSocketStatus = _e[1];
84
+ var _f = (0, react_1.useState)(sessionStorage.getItem('authToken') || undefined), token = _f[0], setToken = _f[1];
85
+ var _g = (0, react_1.useState)(undefined), user = _g[0], setUser = _g[1];
86
+ var _h = (0, react_1.useState)(undefined), status = _h[0], setStatus = _h[1];
84
87
  var sendAuthenticateRequest = (0, services_1.useAuthenticateRequestHandler)(requestHandlerName);
85
88
  var sendLoginRequest = (0, services_1.useLoginRequestHandler)();
86
89
  var sendLogoutRequest = (0, services_1.useLogoutRequestHandler)();
87
90
  var sendSendRecoveryKeyRequest = (0, services_1.useSendRecoveryKeyRequestHandler)();
88
91
  var sendCheckRecoveryKeyRequest = (0, services_1.useCheckRecoveryKeyRequestHandler)();
89
92
  var sendResetPasswordRequest = (0, services_1.useResetPasswordRequestHandler)();
90
- var authenticate = (0, react_1.useCallback)(function () {
91
- if (token && !user) {
93
+ var authenticate = (0, react_1.useCallback)(function (force) {
94
+ if (force === void 0) { force = false; }
95
+ if (token && (!user || force) && !isLoading) {
96
+ setIsLoading(true);
92
97
  sendAuthenticateRequest({ token: token }).then(function (response) {
98
+ setIsLoading(false);
99
+ setStatus(response.status);
93
100
  if (response.status === 0 && response.user) {
94
101
  setUser(response.user);
95
102
  }
@@ -98,11 +105,12 @@ var AuthenticationProvider = function (_a) {
98
105
  setUser(undefined);
99
106
  }
100
107
  }, function () {
108
+ setIsLoading(false);
101
109
  setToken(undefined);
102
110
  setUser(undefined);
103
111
  });
104
112
  }
105
- }, [sendAuthenticateRequest, token, user]);
113
+ }, [isLoading, sendAuthenticateRequest, token, user]);
106
114
  (0, react_1.useEffect)(function () {
107
115
  if (token) {
108
116
  sessionStorage.setItem('authToken', token);
@@ -112,10 +120,16 @@ var AuthenticationProvider = function (_a) {
112
120
  sessionStorage.removeItem('authToken');
113
121
  }
114
122
  }, [authenticate, token]);
123
+ var _j = (0, react_1.useState)(false), networkStatus = _j[0], setNetworkStatus = _j[1];
115
124
  var login = (0, react_1.useCallback)(function (username, password) { return __awaiter(void 0, void 0, void 0, function () {
116
125
  return __generator(this, function (_a) {
126
+ if (isLoading) {
127
+ throw new Error('Already loading');
128
+ }
129
+ setIsLoading(true);
117
130
  return [2 /*return*/, sendLoginRequest({ username: username, password: password })
118
131
  .then(function (response) {
132
+ setIsLoading(false);
119
133
  if (response.status === 0 && response.user) {
120
134
  setToken(response.token);
121
135
  setUser(response.user);
@@ -124,12 +138,13 @@ var AuthenticationProvider = function (_a) {
124
138
  throw new Error("Login failed with status ".concat(response.status));
125
139
  })
126
140
  .catch(function () {
141
+ setIsLoading(false);
127
142
  setToken(undefined);
128
143
  setUser(undefined);
129
144
  return false;
130
145
  })];
131
146
  });
132
- }); }, [sendLoginRequest]);
147
+ }); }, [isLoading, sendLoginRequest]);
133
148
  var logout = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
134
149
  return __generator(this, function (_a) {
135
150
  return [2 /*return*/, sendLogoutRequest({})
@@ -139,6 +154,7 @@ var AuthenticationProvider = function (_a) {
139
154
  .finally(function () {
140
155
  setToken(undefined);
141
156
  setUser(undefined);
157
+ setStatus(undefined);
142
158
  })];
143
159
  });
144
160
  }); }, [sendLogoutRequest]);
@@ -178,7 +194,33 @@ var AuthenticationProvider = function (_a) {
178
194
  (_b = user === null || user === void 0 ? void 0 : user.profile) === null || _b === void 0 ? void 0 : _b.isAdmin,
179
195
  (_c = user === null || user === void 0 ? void 0 : user.profile) === null || _c === void 0 ? void 0 : _c.permissions,
180
196
  ]);
197
+ var webSocketStatusChanged = (0, react_1.useCallback)(function (status) {
198
+ if (!networkStatus && status) {
199
+ authenticate(true);
200
+ }
201
+ setNetworkStatus(status);
202
+ }, [authenticate, networkStatus]);
203
+ var webSocketErrorReceived = (0, react_1.useCallback)(function (_a) {
204
+ var status = _a.status;
205
+ // Handle logout when NotAuthenticated error is received
206
+ if (status === -4) {
207
+ logout();
208
+ }
209
+ }, [logout]);
210
+ (0, react_1.useEffect)(function () {
211
+ var subscription = services_1.WebSocketService.getInstance().status$.subscribe(webSocketStatusChanged);
212
+ return function () {
213
+ subscription.unsubscribe();
214
+ };
215
+ }, [webSocketStatusChanged]);
216
+ (0, react_1.useEffect)(function () {
217
+ var subscription = services_1.WebSocketService.getInstance().error$.subscribe(webSocketErrorReceived);
218
+ return function () {
219
+ subscription.unsubscribe();
220
+ };
221
+ }, [webSocketErrorReceived]);
181
222
  var contextValue = (0, react_1.useMemo)(function () { return ({
223
+ status: status,
182
224
  token: token,
183
225
  user: user,
184
226
  isAuthenticated: !!user,
@@ -192,24 +234,24 @@ var AuthenticationProvider = function (_a) {
192
234
  hasPermission: hasPermission,
193
235
  setToken: setToken,
194
236
  }); }, [
195
- allPermissions,
237
+ status,
238
+ token,
239
+ user,
196
240
  authenticate,
197
- checkRecoveryKey,
198
- hasPermission,
199
241
  login,
200
242
  logout,
201
- resetPassword,
202
243
  sendRecoveryKey,
203
- token,
204
- user,
205
- setToken,
244
+ checkRecoveryKey,
245
+ resetPassword,
246
+ allPermissions,
247
+ hasPermission,
206
248
  ]);
207
249
  (0, react_1.useEffect)(function () {
208
250
  var _a;
209
251
  var subscription = (_a = services_1.WebSocketService.getInstance()) === null || _a === void 0 ? void 0 : _a.status$.subscribe(function (newStatus) {
210
252
  setWebSocketStatus(function (previousStatus) {
211
253
  if (!previousStatus && newStatus) {
212
- authenticate();
254
+ authenticate(true);
213
255
  }
214
256
  return newStatus;
215
257
  });
@@ -17,5 +17,5 @@ exports.PortalsWrapper = styled_components_1.default.div.attrs({
17
17
  })(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: 0;\n height: 0;\n"], ["\n width: 0;\n height: 0;\n"])));
18
18
  exports.PortalContainer = styled_components_1.default.div.attrs({
19
19
  className: 'PortalContainer',
20
- })(templateObject_3 || (templateObject_3 = __makeTemplateObject([""], [""])));
20
+ })(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n z-index: 9999;\n position: fixed;\n inset: 0;\n"], ["\n z-index: 9999;\n position: fixed;\n inset: 0;\n"])));
21
21
  var templateObject_1, templateObject_2, templateObject_3;
@@ -1,6 +1,7 @@
1
1
  import { Theme } from './types';
2
2
  type ThemeProviderProps = {
3
3
  $theme?: Theme;
4
+ $darkTheme?: Theme;
4
5
  $darkMode?: boolean;
5
6
  };
6
7
  export declare const ThemeProvider: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ThemeProviderProps>> & string;
@@ -36,16 +36,18 @@ var getThemeColorsCss = function (colors, darkMode) {
36
36
  .join('');
37
37
  };
38
38
  exports.ThemeProvider = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: contents;\n ", "\n\n a, a:visited {\n color: var(--color-primary-500);\n }\n a:active,\n a:hover {\n color: var(--color-primary-700);\n }\n"], ["\n display: contents;\n ", "\n\n a, a:visited {\n color: var(--color-primary-500);\n }\n a:active,\n a:hover {\n color: var(--color-primary-700);\n }\n"])), function (_a) {
39
- var _b = _a.$theme, $theme = _b === void 0 ? {} : _b, $darkMode = _a.$darkMode;
39
+ var _b = _a.$theme, $theme = _b === void 0 ? {} : _b, $darkTheme = _a.$darkTheme, $darkMode = _a.$darkMode;
40
+ var theme = $darkMode ? $darkTheme !== null && $darkTheme !== void 0 ? $darkTheme : $theme : $theme;
41
+ var darkMode = !$darkTheme && $darkMode;
40
42
  return [
41
- getThemeColorsCss($theme.colors, $darkMode),
42
- getThemeValuesCss('font', $theme.fonts),
43
- getThemeValuesCss('text', $theme.texts),
44
- getThemeValuesCss('weight', $theme.weights),
45
- getThemeValuesCss('space', $theme.spaces),
46
- getThemeValuesCss('size', $theme.sizes),
47
- getThemeValuesCss('rounded', $theme.rounded),
48
- getThemeValuesCss('shadow', $theme.shadows),
43
+ getThemeColorsCss(theme.colors, darkMode),
44
+ getThemeValuesCss('font', theme.fonts),
45
+ getThemeValuesCss('text', theme.texts),
46
+ getThemeValuesCss('weight', theme.weights),
47
+ getThemeValuesCss('space', theme.spaces),
48
+ getThemeValuesCss('size', theme.sizes),
49
+ getThemeValuesCss('rounded', theme.rounded),
50
+ getThemeValuesCss('shadow', theme.shadows),
49
51
  ].join('');
50
52
  });
51
53
  var templateObject_1;
@@ -1,2 +1,3 @@
1
1
  import { Theme } from './types';
2
2
  export declare const defaultTheme: Theme;
3
+ export declare const defaultDarkTheme: Theme;
@@ -1,6 +1,18 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultTheme = void 0;
14
+ exports.defaultDarkTheme = exports.defaultTheme = void 0;
15
+ var lodash_1 = require("lodash");
4
16
  exports.defaultTheme = {
5
17
  colors: {
6
18
  slate: {
@@ -328,6 +340,8 @@ exports.defaultTheme = {
328
340
  950: '#4c0519',
329
341
  1000: '#000000',
330
342
  },
343
+ base: 'neutral',
344
+ text: 'neutral',
331
345
  primary: 'sky',
332
346
  secondary: 'gray',
333
347
  success: 'emerald',
@@ -376,6 +390,12 @@ exports.defaultTheme = {
376
390
  '32': '8rem',
377
391
  '40': '10rem',
378
392
  '48': '12rem',
393
+ '56': '14rem',
394
+ '64': '16rem',
395
+ '72': '18rem',
396
+ '80': '20rem',
397
+ '96': '24rem',
398
+ '128': '32rem',
379
399
  },
380
400
  sizes: {
381
401
  '0': '0',
@@ -390,12 +410,19 @@ exports.defaultTheme = {
390
410
  '8': '2rem',
391
411
  '10': '2.5rem',
392
412
  '12': '3rem',
413
+ '14': '3.5rem',
393
414
  '16': '4rem',
394
415
  '20': '5rem',
395
416
  '24': '6rem',
396
417
  '32': '8rem',
397
418
  '40': '10rem',
398
419
  '48': '12rem',
420
+ '56': '14rem',
421
+ '64': '16rem',
422
+ '72': '18rem',
423
+ '80': '20rem',
424
+ '96': '24rem',
425
+ '128': '32rem',
399
426
  },
400
427
  rounded: {
401
428
  none: '0',
@@ -415,3 +442,8 @@ exports.defaultTheme = {
415
442
  '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
416
443
  },
417
444
  };
445
+ exports.defaultDarkTheme = __assign(__assign({}, exports.defaultTheme), { colors: (0, lodash_1.mapValues)(exports.defaultTheme.colors, function (color) {
446
+ return typeof color === 'string'
447
+ ? color
448
+ : (0, lodash_1.mapKeys)(color, function (_, key) { return "".concat(1000 - Number(key)); });
449
+ }) });
@@ -0,0 +1,12 @@
1
+ import { Theme, ThemeColor, ThemeColorIntensity, ThemeColorWithIntensity } from './types';
2
+ import { DeepPartial } from '../../typings';
3
+ export declare const extendTheme: (base: Theme, override?: DeepPartial<Theme>) => Theme;
4
+ export declare const extendDefaultTheme: (override?: DeepPartial<Theme>) => Theme;
5
+ export declare const extendDefaultDarkTheme: (override?: DeepPartial<Theme>) => Theme;
6
+ export declare const getColor: (colorWithIntensity: ThemeColorWithIntensity) => ThemeColor;
7
+ export declare const getIntensity: (colorWithIntensity: ThemeColorWithIntensity) => ThemeColorIntensity;
8
+ export declare const isThemeColorWithIntensity: (color: ThemeColor | ThemeColorWithIntensity) => color is ThemeColorWithIntensity;
9
+ export declare const getColorWithIntensity: (color: ThemeColor | ThemeColorWithIntensity, defaultIntensity?: ThemeColorIntensity) => ThemeColorWithIntensity;
10
+ export declare const extractColorAndIntensity: (color: ThemeColor | ThemeColorWithIntensity, defaultIntensity?: ThemeColorIntensity) => [ThemeColor, ThemeColorIntensity];
11
+ export declare const darkenColor: (color: ThemeColor | ThemeColorWithIntensity, amount?: number) => ThemeColorWithIntensity;
12
+ export declare const lightenColor: (color: ThemeColor | ThemeColorWithIntensity, amount?: number) => ThemeColorWithIntensity;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lightenColor = exports.darkenColor = exports.extractColorAndIntensity = exports.getColorWithIntensity = exports.isThemeColorWithIntensity = exports.getIntensity = exports.getColor = exports.extendDefaultDarkTheme = exports.extendDefaultTheme = exports.extendTheme = void 0;
4
+ var defaultTheme_1 = require("./defaultTheme");
5
+ var lodash_1 = require("lodash");
6
+ var extendTheme = function (base, override) { return (0, lodash_1.defaultsDeep)({}, override, base); };
7
+ exports.extendTheme = extendTheme;
8
+ var extendDefaultTheme = function (override) {
9
+ return (0, exports.extendTheme)(defaultTheme_1.defaultTheme, override);
10
+ };
11
+ exports.extendDefaultTheme = extendDefaultTheme;
12
+ var extendDefaultDarkTheme = function (override) {
13
+ return (0, exports.extendTheme)(defaultTheme_1.defaultDarkTheme, override);
14
+ };
15
+ exports.extendDefaultDarkTheme = extendDefaultDarkTheme;
16
+ var getColor = function (colorWithIntensity) {
17
+ var colorName = colorWithIntensity.split('-')[0];
18
+ return colorName;
19
+ };
20
+ exports.getColor = getColor;
21
+ var getIntensity = function (colorWithIntensity) {
22
+ var _a = colorWithIntensity.split('-'), intensity = _a[1];
23
+ return Number(intensity);
24
+ };
25
+ exports.getIntensity = getIntensity;
26
+ var isThemeColorWithIntensity = function (color) {
27
+ return color.indexOf('-') >= 0;
28
+ };
29
+ exports.isThemeColorWithIntensity = isThemeColorWithIntensity;
30
+ var getColorWithIntensity = function (color, defaultIntensity) {
31
+ if (defaultIntensity === void 0) { defaultIntensity = 300; }
32
+ if ((0, exports.isThemeColorWithIntensity)(color)) {
33
+ return color;
34
+ }
35
+ return "".concat(color, "-").concat(defaultIntensity);
36
+ };
37
+ exports.getColorWithIntensity = getColorWithIntensity;
38
+ var extractColorAndIntensity = function (color, defaultIntensity) {
39
+ if (defaultIntensity === void 0) { defaultIntensity = 300; }
40
+ if ((0, exports.isThemeColorWithIntensity)(color)) {
41
+ var _a = color.split('-'), colorName = _a[0], intensity = _a[1];
42
+ return [
43
+ colorName,
44
+ intensity ? Number(intensity) : defaultIntensity,
45
+ ];
46
+ }
47
+ return [color, defaultIntensity];
48
+ };
49
+ exports.extractColorAndIntensity = extractColorAndIntensity;
50
+ var darkenColor = function (color, amount) {
51
+ if (amount === void 0) { amount = 100; }
52
+ var _a = (0, exports.extractColorAndIntensity)(color), colorName = _a[0], intensity = _a[1];
53
+ var newIntensity = (Math.floor(Math.min(intensity + amount, 950) / 100) *
54
+ 100);
55
+ return "".concat(colorName, "-").concat(newIntensity);
56
+ };
57
+ exports.darkenColor = darkenColor;
58
+ var lightenColor = function (color, amount) {
59
+ if (amount === void 0) { amount = 100; }
60
+ var _a = (0, exports.extractColorAndIntensity)(color), colorName = _a[0], intensity = _a[1];
61
+ var newIntensity = (Math.floor(Math.max(intensity - amount, 0) / 100) *
62
+ 100);
63
+ return "".concat(colorName, "-").concat(newIntensity);
64
+ };
65
+ exports.lightenColor = lightenColor;
@@ -1,3 +1,4 @@
1
1
  export { ThemeProvider } from './ThemeProvider';
2
2
  export * from './types';
3
3
  export { defaultTheme } from './defaultTheme';
4
+ export * from './helpers';
@@ -20,3 +20,4 @@ Object.defineProperty(exports, "ThemeProvider", { enumerable: true, get: functio
20
20
  __exportStar(require("./types"), exports);
21
21
  var defaultTheme_1 = require("./defaultTheme");
22
22
  Object.defineProperty(exports, "defaultTheme", { enumerable: true, get: function () { return defaultTheme_1.defaultTheme; } });
23
+ __exportStar(require("./helpers"), exports);
@@ -2,13 +2,15 @@ import { DeepPartial } from '../../typings';
2
2
  export type ThemeColorIntensity = 0 | 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950 | 1000;
3
3
  export type ThemeColorDefinition = Record<ThemeColorIntensity, string>;
4
4
  export type ThemeRawColor = 'slate' | 'gray' | 'zinc' | 'neutral' | 'stone' | 'red' | 'orange' | 'amber' | 'yellow' | 'lime' | 'green' | 'emerald' | 'teal' | 'cyan' | 'sky' | 'blue' | 'indigo' | 'violet' | 'purple' | 'fuchsia' | 'pink' | 'rose';
5
- export type ThemePredefinedColor = 'primary' | 'secondary' | 'neutral' | 'success' | 'warning' | 'danger' | 'info';
5
+ export type ThemePredefinedColor = 'base' | 'text' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
6
6
  export type ThemeColor = ThemeRawColor | ThemePredefinedColor;
7
7
  export type ThemeColorReference = ThemeColor | ThemeColorDefinition;
8
+ export type ThemeColorWithIntensity = `${ThemeColor}-${ThemeColorIntensity}`;
8
9
  export type ThemeTextSize = 'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl';
9
10
  export type ThemeFontFamily = 'sans' | 'serif' | 'mono';
10
11
  export type ThemeFontWeight = 'light' | 'normal' | 'bold';
11
- export type ThemeSpace = '0' | '0_5' | '1' | '1_5' | '2' | '3' | '4' | '5' | '6' | '8' | '10' | '12' | '16' | '20' | '24' | '32' | '40' | '48';
12
+ export type ThemeSpace = '0' | '0_5' | '1' | '1_5' | '2' | '3' | '4' | '5' | '6' | '8' | '10' | '12' | '14' | '16' | '20' | '24' | '32' | '40' | '48' | '56' | '64' | '72' | '80' | '96' | '128';
13
+ export type ThemeSpaceWithNegative = ThemeSpace | `-${ThemeSpace}`;
12
14
  export type ThemeSize = '0' | '0_5' | '1' | '1_5' | '2' | '3' | '4' | '5' | '6' | '8' | '10' | '12' | '16' | '20' | '24' | '32' | '40' | '48';
13
15
  export type ThemeRounded = 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full';
14
16
  export type ThemeShadow = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
@@ -0,0 +1 @@
1
+ export declare const useLocationTracking: () => void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLocationTracking = void 0;
4
+ var react_1 = require("react");
5
+ var _1 = require(".");
6
+ var react_router_dom_1 = require("react-router-dom");
7
+ var useLocationTracking = function () {
8
+ var sendEvent = (0, react_1.useContext)(_1.TrackingContext).sendEvent;
9
+ var _a = (0, react_router_dom_1.useLocation)(), pathname = _a.pathname, search = _a.search;
10
+ var pathWithSearch = "".concat(pathname).concat(search);
11
+ (0, react_1.useEffect)(function () {
12
+ sendEvent('PageView', { path: pathWithSearch });
13
+ }, [pathWithSearch, sendEvent]);
14
+ };
15
+ exports.useLocationTracking = useLocationTracking;
@@ -0,0 +1,8 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ export type TrackingContextType = {
3
+ sendEvent: (name: string, details?: Record<string, string | number | boolean | null>) => void;
4
+ enableTracking: () => void;
5
+ disableTracking: () => void;
6
+ };
7
+ export declare const TrackingContext: import("react").Context<TrackingContextType>;
8
+ export declare const TrackingProvider: FC<PropsWithChildren>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackingProvider = exports.TrackingContext = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var react_1 = require("react");
6
+ var services_1 = require("../../services");
7
+ exports.TrackingContext = (0, react_1.createContext)({
8
+ sendEvent: function () { },
9
+ enableTracking: function () { },
10
+ disableTracking: function () { },
11
+ });
12
+ var TrackingProvider = function (_a) {
13
+ var children = _a.children;
14
+ var _b = (0, react_1.useState)(true), trackingEnabled = _b[0], setTrackingEnabled = _b[1];
15
+ var sendTrackingEvent = (0, services_1.useSendTrackingEventRequestHandler)();
16
+ var sendEvent = (0, react_1.useCallback)(function (name, details) {
17
+ if (details === void 0) { details = {}; }
18
+ if (trackingEnabled) {
19
+ sendTrackingEvent({
20
+ data: {
21
+ id: '',
22
+ name: name,
23
+ details: details,
24
+ },
25
+ });
26
+ }
27
+ }, [sendTrackingEvent, trackingEnabled]);
28
+ var enableTracking = (0, react_1.useCallback)(function () {
29
+ setTrackingEnabled(true);
30
+ }, []);
31
+ var disableTracking = (0, react_1.useCallback)(function () {
32
+ setTrackingEnabled(false);
33
+ }, []);
34
+ var value = (0, react_1.useMemo)(function () { return ({
35
+ sendEvent: sendEvent,
36
+ enableTracking: enableTracking,
37
+ disableTracking: disableTracking,
38
+ }); }, [disableTracking, enableTracking, sendEvent]);
39
+ return ((0, jsx_runtime_1.jsx)(exports.TrackingContext.Provider, { value: value, children: children }));
40
+ };
41
+ exports.TrackingProvider = TrackingProvider;
@@ -1,8 +1,11 @@
1
1
  import '../../styles/index.scss';
2
2
  import '../../styles/animations.scss';
3
3
  import { FC, PropsWithChildren } from 'react';
4
+ import { Theme } from '../ThemeProvider/types';
4
5
  export type UiProvidersProps = PropsWithChildren<{
5
- $darkMode?: boolean;
6
+ theme?: Theme;
7
+ darkTheme?: Theme;
8
+ darkMode?: boolean;
6
9
  }>;
7
10
  export type UiContextType = {
8
11
  rootRect: DOMRect;
@@ -32,13 +32,14 @@ var react_1 = require("react");
32
32
  var PortalsProvider_1 = require("../PortalsProvider");
33
33
  var SettingsProvider_1 = require("../SettingsProvider");
34
34
  var ThemeProvider_1 = require("../ThemeProvider/ThemeProvider");
35
+ var TrackingProvider_1 = require("../TrackingProvider");
35
36
  var defaultTheme_1 = require("../ThemeProvider/defaultTheme");
36
37
  exports.UiContext = (0, react_1.createContext)({
37
38
  rootRect: new DOMRect(),
38
39
  getElementScreenRect: function () { return new DOMRect(); },
39
40
  });
40
41
  var UiProviders = function (_a) {
41
- var $darkMode = _a.$darkMode, children = _a.children;
42
+ var _b = _a.theme, theme = _b === void 0 ? defaultTheme_1.defaultTheme : _b, darkTheme = _a.darkTheme, darkMode = _a.darkMode, children = _a.children;
42
43
  var rootRef = (0, react_1.useRef)(null);
43
44
  var getElementScreenRect = (0, react_1.useCallback)(function (element) {
44
45
  var _a, _b, _c;
@@ -57,6 +58,6 @@ var UiProviders = function (_a) {
57
58
  },
58
59
  // eslint-disable-next-line react-hooks/exhaustive-deps
59
60
  [rootRef.current]);
60
- return ((0, jsx_runtime_1.jsx)(ThemeProvider_1.ThemeProvider, { "$theme": defaultTheme_1.defaultTheme, "$darkMode": $darkMode, children: (0, jsx_runtime_1.jsx)(exports.UiContext.Provider, { value: value, children: (0, jsx_runtime_1.jsx)(styles.Root, { ref: rootRef, children: (0, jsx_runtime_1.jsx)(SettingsProvider_1.SettingsProvider, { children: (0, jsx_runtime_1.jsx)(PortalsProvider_1.PortalsProvider, { children: children }) }) }) }) }));
61
+ return ((0, jsx_runtime_1.jsx)(ThemeProvider_1.ThemeProvider, { "$theme": theme, "$darkTheme": darkTheme, "$darkMode": darkMode, children: (0, jsx_runtime_1.jsx)(exports.UiContext.Provider, { value: value, children: (0, jsx_runtime_1.jsx)(styles.Root, { ref: rootRef, children: (0, jsx_runtime_1.jsx)(SettingsProvider_1.SettingsProvider, { children: (0, jsx_runtime_1.jsx)(TrackingProvider_1.TrackingProvider, { children: (0, jsx_runtime_1.jsx)(PortalsProvider_1.PortalsProvider, { children: children }) }) }) }) }) }));
61
62
  };
62
63
  exports.UiProviders = UiProviders;
@@ -9,5 +9,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.Root = void 0;
11
11
  var styled_components_1 = __importDefault(require("styled-components"));
12
- exports.Root = styled_components_1.default.div.attrs({ className: 'Root' })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n font-family: var(--font-sans);\n font-size: var(--text-base);\n color: var(--color-neutral-900);\n width: 100%;\n height: 100%;\n"], ["\n position: relative;\n font-family: var(--font-sans);\n font-size: var(--text-base);\n color: var(--color-neutral-900);\n width: 100%;\n height: 100%;\n"])));
12
+ exports.Root = styled_components_1.default.div.attrs({ className: 'Root' })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n font-family: var(--font-sans);\n font-size: var(--text-base);\n color: var(--color-text-800);\n width: 100%;\n height: 100%;\n"], ["\n position: relative;\n font-family: var(--font-sans);\n font-size: var(--text-base);\n color: var(--color-text-800);\n width: 100%;\n height: 100%;\n"])));
13
13
  var templateObject_1;
@@ -1,5 +1,7 @@
1
1
  export * from './AuthenticationProvider';
2
2
  export * from './PortalsProvider';
3
3
  export * from './ThemeProvider';
4
+ export * from './TrackingProvider';
4
5
  export * from './UiProviders';
6
+ export * from './TrackingProvider/hooks';
5
7
  export * from './hooks';
@@ -17,5 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./AuthenticationProvider"), exports);
18
18
  __exportStar(require("./PortalsProvider"), exports);
19
19
  __exportStar(require("./ThemeProvider"), exports);
20
+ __exportStar(require("./TrackingProvider"), exports);
20
21
  __exportStar(require("./UiProviders"), exports);
22
+ __exportStar(require("./TrackingProvider/hooks"), exports);
21
23
  __exportStar(require("./hooks"), exports);
@@ -1,11 +1,19 @@
1
1
  import { Config } from '../config';
2
2
  import { Subject } from 'rxjs';
3
+ export declare class WebSocketError extends Error {
4
+ status: number;
5
+ constructor(status: number, message: string);
6
+ }
3
7
  export declare class WebSocketService {
4
8
  private static instance;
5
9
  private config;
6
10
  private socket;
7
11
  status: boolean | undefined;
8
12
  status$: Subject<boolean | undefined>;
13
+ error$: Subject<{
14
+ status: number;
15
+ message: string;
16
+ }>;
9
17
  private queue;
10
18
  private promises;
11
19
  onOpen?: () => void;
@@ -1,13 +1,40 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebSocketService = void 0;
18
+ exports.WebSocketService = exports.WebSocketError = void 0;
4
19
  var rxjs_1 = require("rxjs");
5
20
  var uuid_1 = require("uuid");
21
+ var WebSocketError = /** @class */ (function (_super) {
22
+ __extends(WebSocketError, _super);
23
+ function WebSocketError(status, message) {
24
+ var _this = _super.call(this, message) || this;
25
+ _this.status = status;
26
+ _this.name = 'WebSocketError';
27
+ return _this;
28
+ }
29
+ return WebSocketError;
30
+ }(Error));
31
+ exports.WebSocketError = WebSocketError;
6
32
  var WebSocketService = /** @class */ (function () {
7
33
  function WebSocketService(config) {
8
34
  this.socket = null;
9
35
  this.status = undefined;
10
36
  this.status$ = new rxjs_1.Subject();
37
+ this.error$ = new rxjs_1.Subject();
11
38
  this.queue = [];
12
39
  this.promises = {};
13
40
  this.onOpen = function () { };
@@ -84,6 +111,7 @@ var WebSocketService = /** @class */ (function () {
84
111
  var request = { id: id, name: name, data: data };
85
112
  _this.promises[id] = { resolve: resolve, reject: reject };
86
113
  if (!_this.socket || !_this.status) {
114
+ console.log('[WS] Queuing request:', request);
87
115
  _this.queue.push(request);
88
116
  return;
89
117
  }
@@ -103,7 +131,11 @@ var WebSocketService = /** @class */ (function () {
103
131
  console.log('[WS] Received response:', response);
104
132
  if (typeof ((_a = response.data) === null || _a === void 0 ? void 0 : _a.status) === 'number' &&
105
133
  response.data.status < 0) {
106
- this.promises[response.id].reject(new Error(response.data.message));
134
+ this.promises[response.id].reject(new WebSocketError(response.data.status, response.data.message));
135
+ this.error$.next({
136
+ status: response.data.status,
137
+ message: response.data.message || 'Unknown error',
138
+ });
107
139
  }
108
140
  else {
109
141
  this.promises[response.id].resolve(response.data);
@@ -1,6 +1,10 @@
1
- import { SqlRequestRow } from './sqlRequests';
1
+ import { ConditionDTO, SqlRequestRow } from './sqlRequests';
2
+ import { OrderByDTO } from './sqlRequests';
2
3
  export type GlobalSearchRequestDTO = {
3
- types: string[];
4
+ types: Record<string, {
5
+ conditions?: ConditionDTO[];
6
+ orderBy?: OrderByDTO[];
7
+ }>;
4
8
  searchTerm: string;
5
9
  limit?: number;
6
10
  };
@@ -1,3 +1,13 @@
1
1
  export declare const useLoadingRequestHandler: <TReq, TRes>(name: string) => ((data: TReq) => Promise<TRes>);
2
2
  export declare const useWebSocketRequestHandler: <TReq, TRes>(name: string) => ((data: TReq) => Promise<TRes>);
3
3
  export declare const useHttpRequestHandler: <TReq, TRes>(name: string) => ((data: TReq, files?: Record<string, File>) => Promise<TRes>);
4
+ export declare const useRequestState: <TReq, TRes>(name: string, loading?: boolean) => {
5
+ status: number | undefined;
6
+ isInitial: boolean;
7
+ isLoading: boolean;
8
+ isSuccess: boolean;
9
+ isError: boolean;
10
+ response: TRes | null;
11
+ sendRequest: (data: TReq) => Promise<TRes | undefined>;
12
+ reset: () => void;
13
+ };