@northern.tech/store 0.46.4 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/dist/actions.d.cts +6 -6
  2. package/dist/actions.d.ts +6 -6
  3. package/dist/api/general-api.cjs +2 -2
  4. package/dist/api/general-api.cjs.map +1 -1
  5. package/dist/api/general-api.js +1 -1
  6. package/dist/api/general-api.js.map +1 -1
  7. package/dist/appSlice/constants.cjs +3 -4
  8. package/dist/appSlice/constants.cjs.map +1 -1
  9. package/dist/appSlice/constants.d.cts +1 -1
  10. package/dist/appSlice/constants.d.ts +1 -1
  11. package/dist/appSlice/constants.js +1 -2
  12. package/dist/appSlice/constants.js.map +1 -1
  13. package/dist/appSlice/index.d.cts +1 -1
  14. package/dist/appSlice/index.d.ts +1 -1
  15. package/dist/appSlice/index.js +1 -1
  16. package/dist/appSlice/mocks.d.cts +1 -1
  17. package/dist/appSlice/mocks.d.ts +1 -1
  18. package/dist/appSlice/selectors.cjs.map +1 -1
  19. package/dist/appSlice/selectors.d.cts +2 -130
  20. package/dist/appSlice/selectors.d.ts +2 -130
  21. package/dist/appSlice/selectors.js.map +1 -1
  22. package/dist/appSlice/thunks.d.cts +2 -2
  23. package/dist/appSlice/thunks.d.ts +2 -2
  24. package/dist/auth.cjs +3 -3
  25. package/dist/auth.cjs.map +1 -1
  26. package/dist/auth.d.cts +1 -1
  27. package/dist/auth.d.ts +1 -1
  28. package/dist/auth.js +2 -1
  29. package/dist/auth.js.map +1 -1
  30. package/dist/commonConstants.cjs +4 -3
  31. package/dist/commonConstants.d.cts +2 -2
  32. package/dist/commonConstants.d.ts +2 -2
  33. package/dist/commonConstants.js +1 -1
  34. package/dist/commonSelectors.cjs +1 -1
  35. package/dist/commonSelectors.d.cts +76 -369
  36. package/dist/commonSelectors.d.ts +76 -369
  37. package/dist/commonSelectors.js +1 -1
  38. package/dist/constants-CCkKh9KM.d.ts +109 -0
  39. package/dist/constants-CUwYPOYK.d.cts +109 -0
  40. package/dist/{constants-D5hACLhF.js → constants-DjiC_FnZ.js} +3 -269
  41. package/dist/constants-DjiC_FnZ.js.map +1 -0
  42. package/dist/{constants-MVizYy89.cjs → constants-DsOnY5o5.cjs} +1 -279
  43. package/dist/constants-DsOnY5o5.cjs.map +1 -0
  44. package/dist/{constants-nKSWZ8oD.d.ts → constants-tC3RR_Oo.d.cts} +2 -3
  45. package/dist/{constants-nKSWZ8oD.d.cts → constants-tC3RR_Oo.d.ts} +2 -3
  46. package/dist/constants.cjs +5 -5
  47. package/dist/constants.d.cts +3 -3
  48. package/dist/constants.d.ts +3 -3
  49. package/dist/constants.js +1 -1
  50. package/dist/deploymentsSlice/constants.cjs +1 -1
  51. package/dist/deploymentsSlice/constants.js +1 -1
  52. package/dist/deploymentsSlice/index.cjs +1 -1
  53. package/dist/deploymentsSlice/index.js +1 -1
  54. package/dist/deploymentsSlice/selectors.cjs +1 -1
  55. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  56. package/dist/deploymentsSlice/selectors.d.cts +2 -97
  57. package/dist/deploymentsSlice/selectors.d.ts +2 -97
  58. package/dist/deploymentsSlice/selectors.js +1 -1
  59. package/dist/deploymentsSlice/selectors.js.map +1 -1
  60. package/dist/deploymentsSlice/thunks.d.cts +4 -4
  61. package/dist/deploymentsSlice/thunks.d.ts +4 -4
  62. package/dist/devicesSlice/constants.cjs +1 -1
  63. package/dist/devicesSlice/constants.d.cts +1 -1
  64. package/dist/devicesSlice/constants.d.ts +1 -1
  65. package/dist/devicesSlice/constants.js +1 -1
  66. package/dist/devicesSlice/index.d.cts +1 -1
  67. package/dist/devicesSlice/index.d.ts +1 -1
  68. package/dist/devicesSlice/index.js +1 -1
  69. package/dist/devicesSlice/mocks.js +1 -1
  70. package/dist/devicesSlice/selectors.cjs +2 -2
  71. package/dist/devicesSlice/selectors.cjs.map +1 -1
  72. package/dist/devicesSlice/selectors.d.cts +2 -887
  73. package/dist/devicesSlice/selectors.d.ts +2 -887
  74. package/dist/devicesSlice/selectors.js +2 -2
  75. package/dist/devicesSlice/selectors.js.map +1 -1
  76. package/dist/devicesSlice/thunks.d.cts +4 -4
  77. package/dist/devicesSlice/thunks.d.ts +4 -4
  78. package/dist/{index-KxRmyFLr.d.cts → index-7jVuB4tG.d.cts} +2 -2
  79. package/dist/{index-fGVC5s1C.d.cts → index-BWtIaimn.d.cts} +2 -2
  80. package/dist/{index-BfmRpbiJ.d.cts → index-BcrZxKLw.d.cts} +2 -2
  81. package/dist/{index--SKVGToc.d.ts → index-C1vNDCYR.d.ts} +2 -2
  82. package/dist/{index-CRqnH_go.d.ts → index-C2za83Qs.d.ts} +2 -2
  83. package/dist/{index-xxqlerg5.d.ts → index-CThE5Gfh.d.ts} +2 -2
  84. package/dist/{index-BKU1G9-x.d.cts → index-CaNZaXie.d.cts} +2 -2
  85. package/dist/{index-BVNS-Aut.d.ts → index-CvMpbsOo.d.ts} +2 -2
  86. package/dist/{index-HjOSTTGF.d.cts → index-CzQRHJ6f.d.cts} +2 -2
  87. package/dist/{index-CqhXqGLt.d.cts → index-DNYeo7wc.d.cts} +2 -2
  88. package/dist/{index-D9GJhX1I.d.ts → index-DOPRnlaC.d.ts} +2 -2
  89. package/dist/{index-BMsafOyJ.d.ts → index-o_m7WKiR.d.ts} +2 -2
  90. package/dist/locationutils.cjs +1 -1
  91. package/dist/locationutils.d.cts +2 -2
  92. package/dist/locationutils.d.ts +2 -2
  93. package/dist/locationutils.js +1 -1
  94. package/dist/mockState.cjs +24 -0
  95. package/dist/mockState.cjs.map +1 -0
  96. package/dist/mockState.d.cts +7 -0
  97. package/dist/mockState.d.ts +7 -0
  98. package/dist/mockState.js +23 -0
  99. package/dist/mockState.js.map +1 -0
  100. package/dist/monitorSlice/constants.d.cts +1 -1
  101. package/dist/monitorSlice/constants.d.ts +1 -1
  102. package/dist/monitorSlice/index.d.cts +1 -1
  103. package/dist/monitorSlice/index.d.ts +1 -1
  104. package/dist/monitorSlice/index.js +1 -1
  105. package/dist/monitorSlice/mocks.d.cts +1 -1
  106. package/dist/monitorSlice/mocks.d.ts +1 -1
  107. package/dist/monitorSlice/mocks.js +1 -1
  108. package/dist/monitorSlice/selectors.cjs.map +1 -1
  109. package/dist/monitorSlice/selectors.d.cts +2 -10
  110. package/dist/monitorSlice/selectors.d.ts +2 -10
  111. package/dist/monitorSlice/selectors.js.map +1 -1
  112. package/dist/monitorSlice/thunks.cjs +2 -3
  113. package/dist/monitorSlice/thunks.cjs.map +1 -1
  114. package/dist/monitorSlice/thunks.d.cts +4 -4
  115. package/dist/monitorSlice/thunks.d.ts +4 -4
  116. package/dist/monitorSlice/thunks.js +3 -2
  117. package/dist/monitorSlice/thunks.js.map +1 -1
  118. package/dist/onboardingSlice/selectors.cjs.map +1 -1
  119. package/dist/onboardingSlice/selectors.d.cts +2 -6
  120. package/dist/onboardingSlice/selectors.d.ts +2 -6
  121. package/dist/onboardingSlice/selectors.js.map +1 -1
  122. package/dist/onboardingSlice/thunks.d.cts +3 -3
  123. package/dist/onboardingSlice/thunks.d.ts +3 -3
  124. package/dist/organizationSlice/constants.cjs +1 -1
  125. package/dist/organizationSlice/constants.js +1 -1
  126. package/dist/organizationSlice/index.cjs +1 -1
  127. package/dist/organizationSlice/index.d.cts +1 -1
  128. package/dist/organizationSlice/index.d.ts +1 -1
  129. package/dist/organizationSlice/index.js +1 -1
  130. package/dist/organizationSlice/mocks.d.cts +3 -3
  131. package/dist/organizationSlice/mocks.d.ts +3 -3
  132. package/dist/organizationSlice/mocks.js +1 -1
  133. package/dist/organizationSlice/selectors.cjs +1 -1
  134. package/dist/organizationSlice/selectors.cjs.map +1 -1
  135. package/dist/organizationSlice/selectors.d.cts +2 -472
  136. package/dist/organizationSlice/selectors.d.ts +2 -472
  137. package/dist/organizationSlice/selectors.js +1 -1
  138. package/dist/organizationSlice/selectors.js.map +1 -1
  139. package/dist/organizationSlice/thunks.d.cts +25 -21
  140. package/dist/organizationSlice/thunks.d.ts +25 -21
  141. package/dist/organizationSlice/types.d.cts +1 -1
  142. package/dist/organizationSlice/types.d.ts +1 -1
  143. package/dist/releasesSlice/index.d.cts +1 -1
  144. package/dist/releasesSlice/index.d.ts +1 -1
  145. package/dist/releasesSlice/index.js +1 -1
  146. package/dist/releasesSlice/mocks.js +1 -1
  147. package/dist/releasesSlice/selectors.cjs.map +1 -1
  148. package/dist/releasesSlice/selectors.d.cts +2 -795
  149. package/dist/releasesSlice/selectors.d.ts +2 -795
  150. package/dist/releasesSlice/selectors.js.map +1 -1
  151. package/dist/releasesSlice/thunks.cjs +17 -17
  152. package/dist/releasesSlice/thunks.cjs.map +1 -1
  153. package/dist/releasesSlice/thunks.d.cts +5 -5
  154. package/dist/releasesSlice/thunks.d.ts +5 -5
  155. package/dist/releasesSlice/thunks.js +2 -1
  156. package/dist/releasesSlice/thunks.js.map +1 -1
  157. package/dist/selectors-1394DVvN.d.ts +712 -0
  158. package/dist/selectors-Ba9LUr_0.d.ts +593 -0
  159. package/dist/selectors-CAo0fzIZ.d.ts +99 -0
  160. package/dist/selectors-CH-yXu-7.d.cts +84 -0
  161. package/dist/selectors-CQYkG1VI.d.cts +9 -0
  162. package/dist/selectors-D9t4It2i.d.ts +84 -0
  163. package/dist/selectors-DDsFLtxz.d.cts +712 -0
  164. package/dist/selectors-DFSv4A_m.d.ts +378 -0
  165. package/dist/selectors-DQKg681M.d.ts +363 -0
  166. package/dist/selectors-DeqP_VLU.d.cts +593 -0
  167. package/dist/selectors-LhR8TyWU.d.cts +378 -0
  168. package/dist/selectors-XzNyGFJI.d.cts +99 -0
  169. package/dist/selectors-aLOjKkxN.d.cts +14 -0
  170. package/dist/selectors-elCimAHX.d.ts +9 -0
  171. package/dist/selectors-jusUdUdc.d.cts +363 -0
  172. package/dist/selectors-vk0GUGHf.d.ts +14 -0
  173. package/dist/selectors.d.cts +9 -9
  174. package/dist/selectors.d.ts +9 -9
  175. package/dist/sockethook.cjs +4 -4
  176. package/dist/sockethook.cjs.map +1 -1
  177. package/dist/sockethook.js +2 -1
  178. package/dist/sockethook.js.map +1 -1
  179. package/dist/{store-Dw8Uo_Df.d.cts → store-CCvk8X-k.d.cts} +14 -33
  180. package/dist/{store-DLp6ajT8.d.ts → store-v5V-bbB_.d.ts} +15 -34
  181. package/dist/store.cjs +2 -4
  182. package/dist/store.cjs.map +1 -1
  183. package/dist/store.d.cts +2 -2
  184. package/dist/store.d.ts +2 -2
  185. package/dist/store.js +2 -4
  186. package/dist/store.js.map +1 -1
  187. package/dist/thunks.cjs +30 -38
  188. package/dist/thunks.cjs.map +1 -1
  189. package/dist/thunks.js +10 -17
  190. package/dist/thunks.js.map +1 -1
  191. package/dist/{types-DY0J79yF.d.ts → types-B2gphGj8.d.ts} +3 -3
  192. package/dist/{types-B67YW1jV.d.cts → types-CLASWtVP.d.cts} +3 -3
  193. package/dist/usersSlice/constants.cjs +1 -1
  194. package/dist/usersSlice/constants.js +1 -1
  195. package/dist/usersSlice/index.cjs +1 -1
  196. package/dist/usersSlice/index.d.cts +1 -1
  197. package/dist/usersSlice/index.d.ts +1 -1
  198. package/dist/usersSlice/index.js +1 -1
  199. package/dist/usersSlice/mocks.d.cts +1 -1
  200. package/dist/usersSlice/mocks.d.ts +1 -1
  201. package/dist/usersSlice/mocks.js +1 -1
  202. package/dist/usersSlice/selectors.cjs +3 -3
  203. package/dist/usersSlice/selectors.cjs.map +1 -1
  204. package/dist/usersSlice/selectors.d.cts +2 -466
  205. package/dist/usersSlice/selectors.d.ts +2 -466
  206. package/dist/usersSlice/selectors.js +2 -2
  207. package/dist/usersSlice/selectors.js.map +1 -1
  208. package/dist/usersSlice/thunks.d.cts +88 -88
  209. package/dist/usersSlice/thunks.d.ts +88 -88
  210. package/dist/utils.cjs +5 -10
  211. package/dist/utils.cjs.map +1 -1
  212. package/dist/utils.d.cts +1 -1
  213. package/dist/utils.d.ts +1 -1
  214. package/dist/utils.js +4 -8
  215. package/dist/utils.js.map +1 -1
  216. package/package.json +1 -1
  217. package/dist/constants-BJuY-ODE.d.ts +0 -124
  218. package/dist/constants-C2O55iZu.d.cts +0 -124
  219. package/dist/constants-D5hACLhF.js.map +0 -1
  220. package/dist/constants-MVizYy89.cjs.map +0 -1
  221. package/dist/storehooks.cjs +0 -249
  222. package/dist/storehooks.cjs.map +0 -1
  223. package/dist/storehooks.d.cts +0 -49
  224. package/dist/storehooks.d.ts +0 -49
  225. package/dist/storehooks.js +0 -241
  226. package/dist/storehooks.js.map +0 -1
@@ -1,12 +1,12 @@
1
- import { ht as DeviceAuthState, ut as AlertChannelKey } from "./constants-C2O55iZu.cjs";
1
+ import { ht as DeviceAuthState, ut as AlertChannelKey } from "./constants-CUwYPOYK.cjs";
2
2
  import { i as ReadState } from "./constants-D8-yUk19.cjs";
3
- import { a as UserSettings, i as UserSession, n as GlobalSettings, r as User, t as CustomColumn } from "./index-CqhXqGLt.cjs";
4
- import { c as SoftwareList, i as Release, n as Manifest, r as ManifestsList } from "./index-fGVC5s1C.cjs";
5
- import { d as TenantList, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card } from "./types-B67YW1jV.cjs";
3
+ import { a as UserSettings, i as UserSession, n as GlobalSettings, r as User, t as CustomColumn } from "./index-DNYeo7wc.cjs";
4
+ import { c as SoftwareList, i as Release, n as Manifest, r as ManifestsList } from "./index-BWtIaimn.cjs";
5
+ import { d as TenantList, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card } from "./types-CLASWtVP.cjs";
6
6
  import { n as OnboardingSliceType, t as OnboardingApproach } from "./index-CoObjWL4.cjs";
7
7
  import { i as DeploymentConfig, l as SelectionState, r as DeploymentByStatusKey, t as Deployment } from "./index-mvxjivTJ.cjs";
8
- import { i as DeviceGroup, l as DeviceTierLimits, o as DeviceListState, r as DeviceFilter, t as Device } from "./index-KxRmyFLr.cjs";
9
- import { a as Upload, i as SnackbarContent } from "./index-BKU1G9-x.cjs";
8
+ import { i as DeviceGroup, l as DeviceTierLimits, o as DeviceListState, r as DeviceFilter, t as Device } from "./index-7jVuB4tG.cjs";
9
+ import { a as Upload, i as SnackbarContent } from "./index-CaNZaXie.cjs";
10
10
  //#region src/actions.d.ts
11
11
  declare const _default: {
12
12
  receivedQrCode: import("@reduxjs/toolkit").ActionCreatorWithPayload<string | null, "users/receivedQrCode">;
package/dist/actions.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- import { ht as DeviceAuthState, ut as AlertChannelKey } from "./constants-BJuY-ODE.js";
1
+ import { ht as DeviceAuthState, ut as AlertChannelKey } from "./constants-CCkKh9KM.js";
2
2
  import { i as ReadState } from "./constants-D8-yUk19.js";
3
- import { a as UserSettings, i as UserSession, n as GlobalSettings, r as User, t as CustomColumn } from "./index--SKVGToc.js";
4
- import { c as SoftwareList, i as Release, n as Manifest, r as ManifestsList } from "./index-BMsafOyJ.js";
5
- import { d as TenantList, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card } from "./types-DY0J79yF.js";
3
+ import { a as UserSettings, i as UserSession, n as GlobalSettings, r as User, t as CustomColumn } from "./index-C1vNDCYR.js";
4
+ import { c as SoftwareList, i as Release, n as Manifest, r as ManifestsList } from "./index-o_m7WKiR.js";
5
+ import { d as TenantList, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card } from "./types-B2gphGj8.js";
6
6
  import { n as OnboardingSliceType, t as OnboardingApproach } from "./index-CoObjWL4.js";
7
7
  import { i as DeploymentConfig, l as SelectionState, r as DeploymentByStatusKey, t as Deployment } from "./index-B8td4-rY.js";
8
- import { i as DeviceGroup, l as DeviceTierLimits, o as DeviceListState, r as DeviceFilter, t as Device } from "./index-D9GJhX1I.js";
9
- import { a as Upload, i as SnackbarContent } from "./index-xxqlerg5.js";
8
+ import { i as DeviceGroup, l as DeviceTierLimits, o as DeviceListState, r as DeviceFilter, t as Device } from "./index-DOPRnlaC.js";
9
+ import { a as Upload, i as SnackbarContent } from "./index-CThE5Gfh.js";
10
10
  //#region src/actions.d.ts
11
11
  declare const _default: {
12
12
  receivedQrCode: import("@reduxjs/toolkit").ActionCreatorWithPayload<string | null, "users/receivedQrCode">;
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_rolldown_runtime = require("../rolldown-runtime-VH7oDXx4.cjs");
6
- const require_constants = require("../constants-MVizYy89.cjs");
7
6
  const require_auth = require("../auth.cjs");
7
+ let _northern_tech_utils_constants = require("@northern.tech/utils/constants");
8
8
  let universal_cookie = require("universal-cookie");
9
9
  universal_cookie = require_rolldown_runtime.__toESM(universal_cookie, 1);
10
10
  let axios = require("axios");
@@ -23,7 +23,7 @@ const unauthorizedRedirect = (error) => {
23
23
  return Promise.reject(error);
24
24
  };
25
25
  const commonRequestConfig = {
26
- timeout: require_constants.TIMEOUTS.refreshDefault,
26
+ timeout: _northern_tech_utils_constants.TIMEOUTS.refreshDefault,
27
27
  headers: { "Content-Type": "application/json" }
28
28
  };
29
29
  const authenticatedRequest = axios.default.create(commonRequestConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"general-api.cjs","names":["Cookies","isCancel","getToken","TIMEOUTS"],"sources":["../../src/api/general-api.ts"],"sourcesContent":["// Copyright 2017 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { AxiosError, AxiosProgressEvent, AxiosRequestConfig, GenericAbortSignal, InternalAxiosRequestConfig } from 'axios';\nimport axios, { isCancel } from 'axios';\nimport Cookies from 'universal-cookie';\n\nimport { cleanUp, getToken } from '../auth';\nimport { TIMEOUTS } from '../constants';\n\nconst cookies = new Cookies();\n\nconst unauthorizedRedirect = (error: AxiosError): Promise<never> => {\n if (!isCancel(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith('/subscription')) {\n // a new jwt might have been set by sso while the current request was in-flight with an old token\n // => reload instead of logging out\n if (cookies.get('JWT', { doNotParse: true })) {\n window.location.reload();\n return Promise.reject(error);\n }\n cleanUp();\n window.location.replace('/ui/');\n }\n return Promise.reject(error);\n};\n\nexport const commonRequestConfig: AxiosRequestConfig = { timeout: TIMEOUTS.refreshDefault, headers: { 'Content-Type': 'application/json' } };\n\nexport const authenticatedRequest = axios.create(commonRequestConfig);\nauthenticatedRequest.interceptors.response.use(res => res, unauthorizedRedirect);\nauthenticatedRequest.interceptors.request.use(\n (config: InternalAxiosRequestConfig) => {\n config.headers.Authorization = `Bearer ${getToken()}`;\n return config;\n },\n (error: AxiosError) => Promise.reject(error)\n);\n\nconst Api = {\n get: authenticatedRequest.get,\n delete: <T = unknown, D = unknown>(url: string, data?: D) => authenticatedRequest.request<T>({ method: 'delete', url, data }),\n patch: authenticatedRequest.patch,\n post: authenticatedRequest.post,\n postUnauthorized: <T = unknown, D = unknown>(url: string, data?: D, config: AxiosRequestConfig = {}) =>\n axios.post<T>(url, data, { ...commonRequestConfig, ...config }),\n put: authenticatedRequest.put,\n upload: <T = unknown>(url: string, formData: FormData, progress: (event: AxiosProgressEvent) => void, cancelSignal: GenericAbortSignal) =>\n authenticatedRequest.post<T>(url, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: progress,\n timeout: 0,\n signal: cancelSignal\n }),\n uploadPut: <T = unknown>(url: string, formData: FormData, progress: (event: AxiosProgressEvent) => void, cancelSignal: GenericAbortSignal) =>\n authenticatedRequest.put<T>(url, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: progress,\n timeout: 0,\n signal: cancelSignal\n })\n};\n\nexport default Api;\n"],"mappings":";;;;;;;;;;;;AAoBA,MAAM,UAAU,IAAIA,iBAAAA,QAAQ;AAE5B,MAAM,wBAAwB,UAAsC;CAClE,IAAI,EAAA,GAACC,MAAAA,SAAAA,CAAS,KAAK,KAAK,MAAM,UAAU,WAAW,OAAOC,aAAAA,SAAS,KAAK,CAAC,OAAO,SAAS,SAAS,SAAS,eAAe,GAAG;EAG3H,IAAI,QAAQ,IAAI,OAAO,EAAE,YAAY,KAAK,CAAC,GAAG;GAC5C,OAAO,SAAS,OAAO;GACvB,OAAO,QAAQ,OAAO,KAAK;EAC7B;EACA,aAAA,QAAQ;EACR,OAAO,SAAS,QAAQ,MAAM;CAChC;CACA,OAAO,QAAQ,OAAO,KAAK;AAC7B;AAEA,MAAa,sBAA0C;CAAE,SAASC,kBAAAA,SAAS;CAAgB,SAAS,EAAE,gBAAgB,mBAAmB;AAAE;AAE3I,MAAa,uBAAuB,MAAA,QAAM,OAAO,mBAAmB;AACpE,qBAAqB,aAAa,SAAS,KAAI,QAAO,KAAK,oBAAoB;AAC/E,qBAAqB,aAAa,QAAQ,KACvC,WAAuC;CACtC,OAAO,QAAQ,gBAAgB,UAAUD,aAAAA,SAAS;CAClD,OAAO;AACT,IACC,UAAsB,QAAQ,OAAO,KAAK,CAC7C;AAEA,MAAM,MAAM;CACV,KAAK,qBAAqB;CAC1B,SAAmC,KAAa,SAAa,qBAAqB,QAAW;EAAE,QAAQ;EAAU;EAAK;CAAK,CAAC;CAC5H,OAAO,qBAAqB;CAC5B,MAAM,qBAAqB;CAC3B,mBAA6C,KAAa,MAAU,SAA6B,CAAC,MAChG,MAAA,QAAM,KAAQ,KAAK,MAAM;EAAE,GAAG;EAAqB,GAAG;CAAO,CAAC;CAChE,KAAK,qBAAqB;CAC1B,SAAsB,KAAa,UAAoB,UAA+C,iBACpG,qBAAqB,KAAQ,KAAK,UAAU;EAC1C,SAAS,EAAE,gBAAgB,sBAAsB;EACjD,kBAAkB;EAClB,SAAS;EACT,QAAQ;CACV,CAAC;CACH,YAAyB,KAAa,UAAoB,UAA+C,iBACvG,qBAAqB,IAAO,KAAK,UAAU;EACzC,SAAS,EAAE,gBAAgB,sBAAsB;EACjD,kBAAkB;EAClB,SAAS;EACT,QAAQ;CACV,CAAC;AACL"}
1
+ {"version":3,"file":"general-api.cjs","names":["Cookies","isCancel","getToken","TIMEOUTS"],"sources":["../../src/api/general-api.ts"],"sourcesContent":["// Copyright 2017 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { TIMEOUTS } from '@northern.tech/utils/constants';\nimport type { AxiosError, AxiosProgressEvent, AxiosRequestConfig, GenericAbortSignal, InternalAxiosRequestConfig } from 'axios';\nimport axios, { isCancel } from 'axios';\nimport Cookies from 'universal-cookie';\n\nimport { cleanUp, getToken } from '../auth';\n\nconst cookies = new Cookies();\n\nconst unauthorizedRedirect = (error: AxiosError): Promise<never> => {\n if (!isCancel(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith('/subscription')) {\n // a new jwt might have been set by sso while the current request was in-flight with an old token\n // => reload instead of logging out\n if (cookies.get('JWT', { doNotParse: true })) {\n window.location.reload();\n return Promise.reject(error);\n }\n cleanUp();\n window.location.replace('/ui/');\n }\n return Promise.reject(error);\n};\n\nexport const commonRequestConfig: AxiosRequestConfig = { timeout: TIMEOUTS.refreshDefault, headers: { 'Content-Type': 'application/json' } };\n\nexport const authenticatedRequest = axios.create(commonRequestConfig);\nauthenticatedRequest.interceptors.response.use(res => res, unauthorizedRedirect);\nauthenticatedRequest.interceptors.request.use(\n (config: InternalAxiosRequestConfig) => {\n config.headers.Authorization = `Bearer ${getToken()}`;\n return config;\n },\n (error: AxiosError) => Promise.reject(error)\n);\n\nconst Api = {\n get: authenticatedRequest.get,\n delete: <T = unknown, D = unknown>(url: string, data?: D) => authenticatedRequest.request<T>({ method: 'delete', url, data }),\n patch: authenticatedRequest.patch,\n post: authenticatedRequest.post,\n postUnauthorized: <T = unknown, D = unknown>(url: string, data?: D, config: AxiosRequestConfig = {}) =>\n axios.post<T>(url, data, { ...commonRequestConfig, ...config }),\n put: authenticatedRequest.put,\n upload: <T = unknown>(url: string, formData: FormData, progress: (event: AxiosProgressEvent) => void, cancelSignal: GenericAbortSignal) =>\n authenticatedRequest.post<T>(url, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: progress,\n timeout: 0,\n signal: cancelSignal\n }),\n uploadPut: <T = unknown>(url: string, formData: FormData, progress: (event: AxiosProgressEvent) => void, cancelSignal: GenericAbortSignal) =>\n authenticatedRequest.put<T>(url, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: progress,\n timeout: 0,\n signal: cancelSignal\n })\n};\n\nexport default Api;\n"],"mappings":";;;;;;;;;;;;AAoBA,MAAM,UAAU,IAAIA,iBAAAA,QAAQ;AAE5B,MAAM,wBAAwB,UAAsC;CAClE,IAAI,EAAA,GAACC,MAAAA,SAAAA,CAAS,KAAK,KAAK,MAAM,UAAU,WAAW,OAAOC,aAAAA,SAAS,KAAK,CAAC,OAAO,SAAS,SAAS,SAAS,eAAe,GAAG;EAG3H,IAAI,QAAQ,IAAI,OAAO,EAAE,YAAY,KAAK,CAAC,GAAG;GAC5C,OAAO,SAAS,OAAO;GACvB,OAAO,QAAQ,OAAO,KAAK;EAC7B;EACA,aAAA,QAAQ;EACR,OAAO,SAAS,QAAQ,MAAM;CAChC;CACA,OAAO,QAAQ,OAAO,KAAK;AAC7B;AAEA,MAAa,sBAA0C;CAAE,SAASC,+BAAAA,SAAS;CAAgB,SAAS,EAAE,gBAAgB,mBAAmB;AAAE;AAE3I,MAAa,uBAAuB,MAAA,QAAM,OAAO,mBAAmB;AACpE,qBAAqB,aAAa,SAAS,KAAI,QAAO,KAAK,oBAAoB;AAC/E,qBAAqB,aAAa,QAAQ,KACvC,WAAuC;CACtC,OAAO,QAAQ,gBAAgB,UAAUD,aAAAA,SAAS;CAClD,OAAO;AACT,IACC,UAAsB,QAAQ,OAAO,KAAK,CAC7C;AAEA,MAAM,MAAM;CACV,KAAK,qBAAqB;CAC1B,SAAmC,KAAa,SAAa,qBAAqB,QAAW;EAAE,QAAQ;EAAU;EAAK;CAAK,CAAC;CAC5H,OAAO,qBAAqB;CAC5B,MAAM,qBAAqB;CAC3B,mBAA6C,KAAa,MAAU,SAA6B,CAAC,MAChG,MAAA,QAAM,KAAQ,KAAK,MAAM;EAAE,GAAG;EAAqB,GAAG;CAAO,CAAC;CAChE,KAAK,qBAAqB;CAC1B,SAAsB,KAAa,UAAoB,UAA+C,iBACpG,qBAAqB,KAAQ,KAAK,UAAU;EAC1C,SAAS,EAAE,gBAAgB,sBAAsB;EACjD,kBAAkB;EAClB,SAAS;EACT,QAAQ;CACV,CAAC;CACH,YAAyB,KAAa,UAAoB,UAA+C,iBACvG,qBAAqB,IAAO,KAAK,UAAU;EACzC,SAAS,EAAE,gBAAgB,sBAAsB;EACjD,kBAAkB;EAClB,SAAS;EACT,QAAQ;CACV,CAAC;AACL"}
@@ -1,5 +1,5 @@
1
- import { Pt as TIMEOUTS } from "../constants-D5hACLhF.js";
2
1
  import { cleanUp, getToken } from "../auth.js";
2
+ import { TIMEOUTS } from "@northern.tech/utils/constants";
3
3
  import Cookies from "universal-cookie";
4
4
  import axios, { isCancel } from "axios";
5
5
  //#region src/api/general-api.ts
@@ -1 +1 @@
1
- {"version":3,"file":"general-api.js","names":[],"sources":["../../src/api/general-api.ts"],"sourcesContent":["// Copyright 2017 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { AxiosError, AxiosProgressEvent, AxiosRequestConfig, GenericAbortSignal, InternalAxiosRequestConfig } from 'axios';\nimport axios, { isCancel } from 'axios';\nimport Cookies from 'universal-cookie';\n\nimport { cleanUp, getToken } from '../auth';\nimport { TIMEOUTS } from '../constants';\n\nconst cookies = new Cookies();\n\nconst unauthorizedRedirect = (error: AxiosError): Promise<never> => {\n if (!isCancel(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith('/subscription')) {\n // a new jwt might have been set by sso while the current request was in-flight with an old token\n // => reload instead of logging out\n if (cookies.get('JWT', { doNotParse: true })) {\n window.location.reload();\n return Promise.reject(error);\n }\n cleanUp();\n window.location.replace('/ui/');\n }\n return Promise.reject(error);\n};\n\nexport const commonRequestConfig: AxiosRequestConfig = { timeout: TIMEOUTS.refreshDefault, headers: { 'Content-Type': 'application/json' } };\n\nexport const authenticatedRequest = axios.create(commonRequestConfig);\nauthenticatedRequest.interceptors.response.use(res => res, unauthorizedRedirect);\nauthenticatedRequest.interceptors.request.use(\n (config: InternalAxiosRequestConfig) => {\n config.headers.Authorization = `Bearer ${getToken()}`;\n return config;\n },\n (error: AxiosError) => Promise.reject(error)\n);\n\nconst Api = {\n get: authenticatedRequest.get,\n delete: <T = unknown, D = unknown>(url: string, data?: D) => authenticatedRequest.request<T>({ method: 'delete', url, data }),\n patch: authenticatedRequest.patch,\n post: authenticatedRequest.post,\n postUnauthorized: <T = unknown, D = unknown>(url: string, data?: D, config: AxiosRequestConfig = {}) =>\n axios.post<T>(url, data, { ...commonRequestConfig, ...config }),\n put: authenticatedRequest.put,\n upload: <T = unknown>(url: string, formData: FormData, progress: (event: AxiosProgressEvent) => void, cancelSignal: GenericAbortSignal) =>\n authenticatedRequest.post<T>(url, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: progress,\n timeout: 0,\n signal: cancelSignal\n }),\n uploadPut: <T = unknown>(url: string, formData: FormData, progress: (event: AxiosProgressEvent) => void, cancelSignal: GenericAbortSignal) =>\n authenticatedRequest.put<T>(url, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: progress,\n timeout: 0,\n signal: cancelSignal\n })\n};\n\nexport default Api;\n"],"mappings":";;;;;AAoBA,MAAM,UAAU,IAAI,QAAQ;AAE5B,MAAM,wBAAwB,UAAsC;CAClE,IAAI,CAAC,SAAS,KAAK,KAAK,MAAM,UAAU,WAAW,OAAO,SAAS,KAAK,CAAC,OAAO,SAAS,SAAS,SAAS,eAAe,GAAG;EAG3H,IAAI,QAAQ,IAAI,OAAO,EAAE,YAAY,KAAK,CAAC,GAAG;GAC5C,OAAO,SAAS,OAAO;GACvB,OAAO,QAAQ,OAAO,KAAK;EAC7B;EACA,QAAQ;EACR,OAAO,SAAS,QAAQ,MAAM;CAChC;CACA,OAAO,QAAQ,OAAO,KAAK;AAC7B;AAEA,MAAa,sBAA0C;CAAE,SAAS,SAAS;CAAgB,SAAS,EAAE,gBAAgB,mBAAmB;AAAE;AAE3I,MAAa,uBAAuB,MAAM,OAAO,mBAAmB;AACpE,qBAAqB,aAAa,SAAS,KAAI,QAAO,KAAK,oBAAoB;AAC/E,qBAAqB,aAAa,QAAQ,KACvC,WAAuC;CACtC,OAAO,QAAQ,gBAAgB,UAAU,SAAS;CAClD,OAAO;AACT,IACC,UAAsB,QAAQ,OAAO,KAAK,CAC7C;AAEA,MAAM,MAAM;CACV,KAAK,qBAAqB;CAC1B,SAAmC,KAAa,SAAa,qBAAqB,QAAW;EAAE,QAAQ;EAAU;EAAK;CAAK,CAAC;CAC5H,OAAO,qBAAqB;CAC5B,MAAM,qBAAqB;CAC3B,mBAA6C,KAAa,MAAU,SAA6B,CAAC,MAChG,MAAM,KAAQ,KAAK,MAAM;EAAE,GAAG;EAAqB,GAAG;CAAO,CAAC;CAChE,KAAK,qBAAqB;CAC1B,SAAsB,KAAa,UAAoB,UAA+C,iBACpG,qBAAqB,KAAQ,KAAK,UAAU;EAC1C,SAAS,EAAE,gBAAgB,sBAAsB;EACjD,kBAAkB;EAClB,SAAS;EACT,QAAQ;CACV,CAAC;CACH,YAAyB,KAAa,UAAoB,UAA+C,iBACvG,qBAAqB,IAAO,KAAK,UAAU;EACzC,SAAS,EAAE,gBAAgB,sBAAsB;EACjD,kBAAkB;EAClB,SAAS;EACT,QAAQ;CACV,CAAC;AACL"}
1
+ {"version":3,"file":"general-api.js","names":[],"sources":["../../src/api/general-api.ts"],"sourcesContent":["// Copyright 2017 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { TIMEOUTS } from '@northern.tech/utils/constants';\nimport type { AxiosError, AxiosProgressEvent, AxiosRequestConfig, GenericAbortSignal, InternalAxiosRequestConfig } from 'axios';\nimport axios, { isCancel } from 'axios';\nimport Cookies from 'universal-cookie';\n\nimport { cleanUp, getToken } from '../auth';\n\nconst cookies = new Cookies();\n\nconst unauthorizedRedirect = (error: AxiosError): Promise<never> => {\n if (!isCancel(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith('/subscription')) {\n // a new jwt might have been set by sso while the current request was in-flight with an old token\n // => reload instead of logging out\n if (cookies.get('JWT', { doNotParse: true })) {\n window.location.reload();\n return Promise.reject(error);\n }\n cleanUp();\n window.location.replace('/ui/');\n }\n return Promise.reject(error);\n};\n\nexport const commonRequestConfig: AxiosRequestConfig = { timeout: TIMEOUTS.refreshDefault, headers: { 'Content-Type': 'application/json' } };\n\nexport const authenticatedRequest = axios.create(commonRequestConfig);\nauthenticatedRequest.interceptors.response.use(res => res, unauthorizedRedirect);\nauthenticatedRequest.interceptors.request.use(\n (config: InternalAxiosRequestConfig) => {\n config.headers.Authorization = `Bearer ${getToken()}`;\n return config;\n },\n (error: AxiosError) => Promise.reject(error)\n);\n\nconst Api = {\n get: authenticatedRequest.get,\n delete: <T = unknown, D = unknown>(url: string, data?: D) => authenticatedRequest.request<T>({ method: 'delete', url, data }),\n patch: authenticatedRequest.patch,\n post: authenticatedRequest.post,\n postUnauthorized: <T = unknown, D = unknown>(url: string, data?: D, config: AxiosRequestConfig = {}) =>\n axios.post<T>(url, data, { ...commonRequestConfig, ...config }),\n put: authenticatedRequest.put,\n upload: <T = unknown>(url: string, formData: FormData, progress: (event: AxiosProgressEvent) => void, cancelSignal: GenericAbortSignal) =>\n authenticatedRequest.post<T>(url, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: progress,\n timeout: 0,\n signal: cancelSignal\n }),\n uploadPut: <T = unknown>(url: string, formData: FormData, progress: (event: AxiosProgressEvent) => void, cancelSignal: GenericAbortSignal) =>\n authenticatedRequest.put<T>(url, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: progress,\n timeout: 0,\n signal: cancelSignal\n })\n};\n\nexport default Api;\n"],"mappings":";;;;;AAoBA,MAAM,UAAU,IAAI,QAAQ;AAE5B,MAAM,wBAAwB,UAAsC;CAClE,IAAI,CAAC,SAAS,KAAK,KAAK,MAAM,UAAU,WAAW,OAAO,SAAS,KAAK,CAAC,OAAO,SAAS,SAAS,SAAS,eAAe,GAAG;EAG3H,IAAI,QAAQ,IAAI,OAAO,EAAE,YAAY,KAAK,CAAC,GAAG;GAC5C,OAAO,SAAS,OAAO;GACvB,OAAO,QAAQ,OAAO,KAAK;EAC7B;EACA,QAAQ;EACR,OAAO,SAAS,QAAQ,MAAM;CAChC;CACA,OAAO,QAAQ,OAAO,KAAK;AAC7B;AAEA,MAAa,sBAA0C;CAAE,SAAS,SAAS;CAAgB,SAAS,EAAE,gBAAgB,mBAAmB;AAAE;AAE3I,MAAa,uBAAuB,MAAM,OAAO,mBAAmB;AACpE,qBAAqB,aAAa,SAAS,KAAI,QAAO,KAAK,oBAAoB;AAC/E,qBAAqB,aAAa,QAAQ,KACvC,WAAuC;CACtC,OAAO,QAAQ,gBAAgB,UAAU,SAAS;CAClD,OAAO;AACT,IACC,UAAsB,QAAQ,OAAO,KAAK,CAC7C;AAEA,MAAM,MAAM;CACV,KAAK,qBAAqB;CAC1B,SAAmC,KAAa,SAAa,qBAAqB,QAAW;EAAE,QAAQ;EAAU;EAAK;CAAK,CAAC;CAC5H,OAAO,qBAAqB;CAC5B,MAAM,qBAAqB;CAC3B,mBAA6C,KAAa,MAAU,SAA6B,CAAC,MAChG,MAAM,KAAQ,KAAK,MAAM;EAAE,GAAG;EAAqB,GAAG;CAAO,CAAC;CAChE,KAAK,qBAAqB;CAC1B,SAAsB,KAAa,UAAoB,UAA+C,iBACpG,qBAAqB,KAAQ,KAAK,UAAU;EAC1C,SAAS,EAAE,gBAAgB,sBAAsB;EACjD,kBAAkB;EAClB,SAAS;EACT,QAAQ;CACV,CAAC;CACH,YAAyB,KAAa,UAAoB,UAA+C,iBACvG,qBAAqB,IAAO,KAAK,UAAU;EACzC,SAAS,EAAE,gBAAgB,sBAAsB;EACjD,kBAAkB;EAClB,SAAS;EACT,QAAQ;CACV,CAAC;AACL"}
@@ -1,4 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let _northern_tech_utils_constants = require("@northern.tech/utils/constants");
2
3
  let _mui_icons_material = require("@mui/icons-material");
3
4
  let _northern_tech_utils = require("@northern.tech/utils");
4
5
  //#region src/appSlice/constants.ts
@@ -176,14 +177,12 @@ const BENEFITS = {
176
177
  };
177
178
  const yes = _northern_tech_utils.yes;
178
179
  const canAccess = yes;
179
- const DARK_MODE = "dark";
180
- const LIGHT_MODE = "light";
181
180
  //#endregion
182
181
  exports.ADDONS = ADDONS;
183
182
  exports.BEGINNING_OF_TIME = BEGINNING_OF_TIME;
184
183
  exports.BENEFITS = BENEFITS;
185
- exports.DARK_MODE = DARK_MODE;
186
- exports.LIGHT_MODE = LIGHT_MODE;
184
+ exports.DARK_MODE = _northern_tech_utils_constants.DARK_MODE;
185
+ exports.LIGHT_MODE = _northern_tech_utils_constants.LIGHT_MODE;
187
186
  exports.PLANS = PLANS;
188
187
  exports.canAccess = canAccess;
189
188
  exports.chartTypes = chartTypes;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.cjs","names":["BarChartIcon","PieChartIcon","yesUtil"],"sources":["../../src/appSlice/constants.ts"],"sourcesContent":["// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { BarChart as BarChartIcon, PieChartOutlined as PieChartIcon } from '@mui/icons-material';\n\nimport { yes as yesUtil } from '@northern.tech/utils';\n\nexport const chartTypes = {\n bar: { key: 'bar', Icon: BarChartIcon },\n pie: { key: 'pie', Icon: PieChartIcon }\n} as const;\nexport const emptyChartSelection = { software: '', group: '', chartType: chartTypes.bar.key, attribute: 'artifact_name' };\nexport const defaultReportType = 'distribution';\nexport const defaultReports = [{ ...emptyChartSelection, group: null, attribute: 'artifact_name', type: defaultReportType }];\n\nexport const BEGINNING_OF_TIME = '2016-01-01T00:00:00.000Z';\n\nexport const locations = {\n cn: { key: 'cn', title: 'China', location: 'hosted.mender.cn' },\n eu: { key: 'eu', title: 'EU', location: 'eu.hosted.mender.io' },\n us: { key: 'us', title: 'US', location: 'hosted.mender.io' }\n} as const;\nexport type AvailablePlans = 'os' | 'professional' | 'enterprise';\n\nexport type Plan = {\n description: string;\n id: AvailablePlans;\n name: string;\n};\n\nexport type AvailableAddon = 'configure' | 'troubleshoot' | 'monitor';\n\nexport const PLANS: { [key in AvailablePlans]: Plan } = {\n os: {\n id: 'os',\n name: 'Basic',\n description:\n 'The core features of Mender. To continue using Enterprise Trial features—like Delta updates, scheduled deployments, phased rollouts, device filtering, dynamic groups, RBAC, audit logs, and more—please upgrade to a higher plan.'\n },\n professional: {\n id: 'professional',\n name: 'Professional',\n description: 'Everything in Basic, plus enhanced update management and automation features.'\n },\n enterprise: {\n id: 'enterprise',\n name: 'Enterprise',\n description:\n 'Every advanced feature of Mender, tailored for complex and large-scale deployments. Not available as a monthly subscription — ask us for a quote.'\n }\n} as const;\nexport type Addon = {\n description: string;\n eligible: AvailablePlans[];\n id: string;\n needs: string[];\n title: string;\n};\n\nexport type AddonId = keyof typeof ADDONS;\n\n// the needs names need to be aligned with the name of the features in the appReducer, as they will be checked in the addonselection\nexport const ADDONS: { [key in AvailableAddon]: Addon } = {\n configure: {\n id: 'configure',\n title: 'Configure',\n description: 'Seamlessly configure applications and devices remotely – configure each device to its environment.',\n needs: ['hasDeviceConfig'],\n eligible: ['os', 'professional', 'enterprise']\n },\n monitor: {\n id: 'monitor',\n title: 'Monitor',\n description: 'Detect and analyze health issues of devices, services and applications. Set up alerts so you can act quickly.',\n needs: ['hasMonitor'],\n eligible: ['professional', 'enterprise']\n },\n troubleshoot: {\n id: 'troubleshoot',\n title: 'Troubleshoot',\n description: 'Secure, remote access to your devices – quickly diagnose and fix issues in real time.',\n needs: ['hasDeviceConnect'],\n eligible: ['os', 'professional', 'enterprise']\n }\n};\n\nexport const BENEFITS = {\n auditlog: {\n id: 'auditlog',\n benefit: 'gain access to logs for important events such as changes to devices, deployments and user management, as well as remote terminal session replays',\n requiredPlan: PLANS.enterprise.id\n },\n dashboard: { id: 'dashboard', benefit: 'actionable insights into the devices you are updating with Mender', requiredPlan: PLANS.enterprise.id },\n deltaGeneration: {\n id: 'deltaGeneration',\n benefit: 'automatic delta artifacts generation to minimize data transfer and improve the update delivery',\n requiredPlan: PLANS.enterprise.id\n },\n deviceConfiguration: { id: 'deviceConfiguration', benefit: 'device configuration features', requiredAddon: ADDONS.configure.id },\n deviceMonitor: { id: 'deviceMonitor', benefit: 'device monitoring features', requiredAddon: ADDONS.monitor.id, requiredPlan: PLANS.professional.id },\n deviceTroubleshoot: { id: 'deviceTroubleshoot', benefit: 'device troubleshooting features', requiredAddon: ADDONS.troubleshoot.id },\n dynamicGroups: { id: 'dynamicGroups', benefit: 'create dynamic groups to ease device management', requiredPlan: PLANS.enterprise.id },\n fullFiltering: { id: 'fullFiltering', benefit: 'filtering by multiple attributes to improve the device overview', requiredPlan: PLANS.professional.id },\n pausedDeployments: {\n id: 'pausedDeployments',\n benefit: 'granular control about update rollout to allow synchronization across your fleet',\n requiredPlan: PLANS.enterprise.id\n },\n phasedDeployments: { id: 'phasedDeployments', benefit: 'choose to roll out deployments in multiple phases', requiredPlan: PLANS.enterprise.id },\n rbac: { id: 'rbac', benefit: 'granular role based access control', requiredPlan: PLANS.enterprise.id },\n retryDeployments: { id: 'retryDeployments', benefit: 'optional retries for failed rollout attempts', requiredPlan: PLANS.professional.id },\n scheduledDeployments: {\n id: 'scheduledDeployments',\n benefit: 'scheduled deployments to steer the distribution of your updates.',\n requiredPlan: PLANS.professional.id\n },\n manifests: {\n id: 'manifests',\n benefit: 'orchestrate multi-component updates with manifests for complex device software management',\n requiredPlan: PLANS.enterprise.id\n },\n webhookEvents: {\n id: 'webhookEvents',\n benefit: 'receive inventory events and select which type(s) of events the webhook will receive',\n requiredPlan: PLANS.professional.id\n },\n\n default: { id: 'default', benefit: 'gain access to this feature', requiredPlan: PLANS.enterprise.id }\n} as const;\n\nexport const yes = yesUtil;\nexport const canAccess = yes;\n\nexport const DARK_MODE = 'dark';\nexport const LIGHT_MODE = 'light';\n"],"mappings":";;;;AAiBA,MAAa,aAAa;CACxB,KAAK;EAAE,KAAK;EAAO,MAAMA,oBAAAA;CAAa;CACtC,KAAK;EAAE,KAAK;EAAO,MAAMC,oBAAAA;CAAa;AACxC;AACA,MAAa,sBAAsB;CAAE,UAAU;CAAI,OAAO;CAAI,WAAW,WAAW,IAAI;CAAK,WAAW;AAAgB;AACxH,MAAa,oBAAoB;AACjC,MAAa,iBAAiB,CAAC;CAAE,GAAG;CAAqB,OAAO;CAAM,WAAW;CAAiB,MAAM;AAAkB,CAAC;AAE3H,MAAa,oBAAoB;AAEjC,MAAa,YAAY;CACvB,IAAI;EAAE,KAAK;EAAM,OAAO;EAAS,UAAU;CAAmB;CAC9D,IAAI;EAAE,KAAK;EAAM,OAAO;EAAM,UAAU;CAAsB;CAC9D,IAAI;EAAE,KAAK;EAAM,OAAO;EAAM,UAAU;CAAmB;AAC7D;AAWA,MAAa,QAA2C;CACtD,IAAI;EACF,IAAI;EACJ,MAAM;EACN,aACE;CACJ;CACA,cAAc;EACZ,IAAI;EACJ,MAAM;EACN,aAAa;CACf;CACA,YAAY;EACV,IAAI;EACJ,MAAM;EACN,aACE;CACJ;AACF;AAYA,MAAa,SAA6C;CACxD,WAAW;EACT,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,iBAAiB;EACzB,UAAU;GAAC;GAAM;GAAgB;EAAY;CAC/C;CACA,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,YAAY;EACpB,UAAU,CAAC,gBAAgB,YAAY;CACzC;CACA,cAAc;EACZ,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,kBAAkB;EAC1B,UAAU;GAAC;GAAM;GAAgB;EAAY;CAC/C;AACF;AAEA,MAAa,WAAW;CACtB,UAAU;EACR,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,WAAW;EAAE,IAAI;EAAa,SAAS;EAAqE,cAAc,MAAM,WAAW;CAAG;CAC9I,iBAAiB;EACf,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,qBAAqB;EAAE,IAAI;EAAuB,SAAS;EAAiC,eAAe,OAAO,UAAU;CAAG;CAC/H,eAAe;EAAE,IAAI;EAAiB,SAAS;EAA8B,eAAe,OAAO,QAAQ;EAAI,cAAc,MAAM,aAAa;CAAG;CACnJ,oBAAoB;EAAE,IAAI;EAAsB,SAAS;EAAmC,eAAe,OAAO,aAAa;CAAG;CAClI,eAAe;EAAE,IAAI;EAAiB,SAAS;EAAmD,cAAc,MAAM,WAAW;CAAG;CACpI,eAAe;EAAE,IAAI;EAAiB,SAAS;EAAmE,cAAc,MAAM,aAAa;CAAG;CACtJ,mBAAmB;EACjB,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,mBAAmB;EAAE,IAAI;EAAqB,SAAS;EAAqD,cAAc,MAAM,WAAW;CAAG;CAC9I,MAAM;EAAE,IAAI;EAAQ,SAAS;EAAsC,cAAc,MAAM,WAAW;CAAG;CACrG,kBAAkB;EAAE,IAAI;EAAoB,SAAS;EAAgD,cAAc,MAAM,aAAa;CAAG;CACzI,sBAAsB;EACpB,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,aAAa;CACnC;CACA,WAAW;EACT,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,eAAe;EACb,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,aAAa;CACnC;CAEA,SAAS;EAAE,IAAI;EAAW,SAAS;EAA+B,cAAc,MAAM,WAAW;CAAG;AACtG;AAEA,MAAa,MAAMC,qBAAAA;AACnB,MAAa,YAAY;AAEzB,MAAa,YAAY;AACzB,MAAa,aAAa"}
1
+ {"version":3,"file":"constants.cjs","names":["BarChartIcon","PieChartIcon","yesUtil"],"sources":["../../src/appSlice/constants.ts"],"sourcesContent":["// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { BarChart as BarChartIcon, PieChartOutlined as PieChartIcon } from '@mui/icons-material';\n\nimport { yes as yesUtil } from '@northern.tech/utils';\nimport { DARK_MODE, LIGHT_MODE } from '@northern.tech/utils/constants';\n\nexport const chartTypes = {\n bar: { key: 'bar', Icon: BarChartIcon },\n pie: { key: 'pie', Icon: PieChartIcon }\n} as const;\nexport const emptyChartSelection = { software: '', group: '', chartType: chartTypes.bar.key, attribute: 'artifact_name' };\nexport const defaultReportType = 'distribution';\nexport const defaultReports = [{ ...emptyChartSelection, group: null, attribute: 'artifact_name', type: defaultReportType }];\n\nexport const BEGINNING_OF_TIME = '2016-01-01T00:00:00.000Z';\n\nexport const locations = {\n cn: { key: 'cn', title: 'China', location: 'hosted.mender.cn' },\n eu: { key: 'eu', title: 'EU', location: 'eu.hosted.mender.io' },\n us: { key: 'us', title: 'US', location: 'hosted.mender.io' }\n} as const;\nexport type AvailablePlans = 'os' | 'professional' | 'enterprise';\n\nexport type Plan = {\n description: string;\n id: AvailablePlans;\n name: string;\n};\n\nexport type AvailableAddon = 'configure' | 'troubleshoot' | 'monitor';\n\nexport const PLANS: { [key in AvailablePlans]: Plan } = {\n os: {\n id: 'os',\n name: 'Basic',\n description:\n 'The core features of Mender. To continue using Enterprise Trial features—like Delta updates, scheduled deployments, phased rollouts, device filtering, dynamic groups, RBAC, audit logs, and more—please upgrade to a higher plan.'\n },\n professional: {\n id: 'professional',\n name: 'Professional',\n description: 'Everything in Basic, plus enhanced update management and automation features.'\n },\n enterprise: {\n id: 'enterprise',\n name: 'Enterprise',\n description:\n 'Every advanced feature of Mender, tailored for complex and large-scale deployments. Not available as a monthly subscription — ask us for a quote.'\n }\n} as const;\nexport type Addon = {\n description: string;\n eligible: AvailablePlans[];\n id: string;\n needs: string[];\n title: string;\n};\n\nexport type AddonId = keyof typeof ADDONS;\n\n// the needs names need to be aligned with the name of the features in the appReducer, as they will be checked in the addonselection\nexport const ADDONS: { [key in AvailableAddon]: Addon } = {\n configure: {\n id: 'configure',\n title: 'Configure',\n description: 'Seamlessly configure applications and devices remotely – configure each device to its environment.',\n needs: ['hasDeviceConfig'],\n eligible: ['os', 'professional', 'enterprise']\n },\n monitor: {\n id: 'monitor',\n title: 'Monitor',\n description: 'Detect and analyze health issues of devices, services and applications. Set up alerts so you can act quickly.',\n needs: ['hasMonitor'],\n eligible: ['professional', 'enterprise']\n },\n troubleshoot: {\n id: 'troubleshoot',\n title: 'Troubleshoot',\n description: 'Secure, remote access to your devices – quickly diagnose and fix issues in real time.',\n needs: ['hasDeviceConnect'],\n eligible: ['os', 'professional', 'enterprise']\n }\n};\n\nexport const BENEFITS = {\n auditlog: {\n id: 'auditlog',\n benefit: 'gain access to logs for important events such as changes to devices, deployments and user management, as well as remote terminal session replays',\n requiredPlan: PLANS.enterprise.id\n },\n dashboard: { id: 'dashboard', benefit: 'actionable insights into the devices you are updating with Mender', requiredPlan: PLANS.enterprise.id },\n deltaGeneration: {\n id: 'deltaGeneration',\n benefit: 'automatic delta artifacts generation to minimize data transfer and improve the update delivery',\n requiredPlan: PLANS.enterprise.id\n },\n deviceConfiguration: { id: 'deviceConfiguration', benefit: 'device configuration features', requiredAddon: ADDONS.configure.id },\n deviceMonitor: { id: 'deviceMonitor', benefit: 'device monitoring features', requiredAddon: ADDONS.monitor.id, requiredPlan: PLANS.professional.id },\n deviceTroubleshoot: { id: 'deviceTroubleshoot', benefit: 'device troubleshooting features', requiredAddon: ADDONS.troubleshoot.id },\n dynamicGroups: { id: 'dynamicGroups', benefit: 'create dynamic groups to ease device management', requiredPlan: PLANS.enterprise.id },\n fullFiltering: { id: 'fullFiltering', benefit: 'filtering by multiple attributes to improve the device overview', requiredPlan: PLANS.professional.id },\n pausedDeployments: {\n id: 'pausedDeployments',\n benefit: 'granular control about update rollout to allow synchronization across your fleet',\n requiredPlan: PLANS.enterprise.id\n },\n phasedDeployments: { id: 'phasedDeployments', benefit: 'choose to roll out deployments in multiple phases', requiredPlan: PLANS.enterprise.id },\n rbac: { id: 'rbac', benefit: 'granular role based access control', requiredPlan: PLANS.enterprise.id },\n retryDeployments: { id: 'retryDeployments', benefit: 'optional retries for failed rollout attempts', requiredPlan: PLANS.professional.id },\n scheduledDeployments: {\n id: 'scheduledDeployments',\n benefit: 'scheduled deployments to steer the distribution of your updates.',\n requiredPlan: PLANS.professional.id\n },\n manifests: {\n id: 'manifests',\n benefit: 'orchestrate multi-component updates with manifests for complex device software management',\n requiredPlan: PLANS.enterprise.id\n },\n webhookEvents: {\n id: 'webhookEvents',\n benefit: 'receive inventory events and select which type(s) of events the webhook will receive',\n requiredPlan: PLANS.professional.id\n },\n\n default: { id: 'default', benefit: 'gain access to this feature', requiredPlan: PLANS.enterprise.id }\n} as const;\n\nexport const yes = yesUtil;\nexport const canAccess = yes;\n\nexport { DARK_MODE, LIGHT_MODE };\n"],"mappings":";;;;;AAkBA,MAAa,aAAa;CACxB,KAAK;EAAE,KAAK;EAAO,MAAMA,oBAAAA;CAAa;CACtC,KAAK;EAAE,KAAK;EAAO,MAAMC,oBAAAA;CAAa;AACxC;AACA,MAAa,sBAAsB;CAAE,UAAU;CAAI,OAAO;CAAI,WAAW,WAAW,IAAI;CAAK,WAAW;AAAgB;AACxH,MAAa,oBAAoB;AACjC,MAAa,iBAAiB,CAAC;CAAE,GAAG;CAAqB,OAAO;CAAM,WAAW;CAAiB,MAAM;AAAkB,CAAC;AAE3H,MAAa,oBAAoB;AAEjC,MAAa,YAAY;CACvB,IAAI;EAAE,KAAK;EAAM,OAAO;EAAS,UAAU;CAAmB;CAC9D,IAAI;EAAE,KAAK;EAAM,OAAO;EAAM,UAAU;CAAsB;CAC9D,IAAI;EAAE,KAAK;EAAM,OAAO;EAAM,UAAU;CAAmB;AAC7D;AAWA,MAAa,QAA2C;CACtD,IAAI;EACF,IAAI;EACJ,MAAM;EACN,aACE;CACJ;CACA,cAAc;EACZ,IAAI;EACJ,MAAM;EACN,aAAa;CACf;CACA,YAAY;EACV,IAAI;EACJ,MAAM;EACN,aACE;CACJ;AACF;AAYA,MAAa,SAA6C;CACxD,WAAW;EACT,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,iBAAiB;EACzB,UAAU;GAAC;GAAM;GAAgB;EAAY;CAC/C;CACA,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,YAAY;EACpB,UAAU,CAAC,gBAAgB,YAAY;CACzC;CACA,cAAc;EACZ,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,kBAAkB;EAC1B,UAAU;GAAC;GAAM;GAAgB;EAAY;CAC/C;AACF;AAEA,MAAa,WAAW;CACtB,UAAU;EACR,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,WAAW;EAAE,IAAI;EAAa,SAAS;EAAqE,cAAc,MAAM,WAAW;CAAG;CAC9I,iBAAiB;EACf,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,qBAAqB;EAAE,IAAI;EAAuB,SAAS;EAAiC,eAAe,OAAO,UAAU;CAAG;CAC/H,eAAe;EAAE,IAAI;EAAiB,SAAS;EAA8B,eAAe,OAAO,QAAQ;EAAI,cAAc,MAAM,aAAa;CAAG;CACnJ,oBAAoB;EAAE,IAAI;EAAsB,SAAS;EAAmC,eAAe,OAAO,aAAa;CAAG;CAClI,eAAe;EAAE,IAAI;EAAiB,SAAS;EAAmD,cAAc,MAAM,WAAW;CAAG;CACpI,eAAe;EAAE,IAAI;EAAiB,SAAS;EAAmE,cAAc,MAAM,aAAa;CAAG;CACtJ,mBAAmB;EACjB,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,mBAAmB;EAAE,IAAI;EAAqB,SAAS;EAAqD,cAAc,MAAM,WAAW;CAAG;CAC9I,MAAM;EAAE,IAAI;EAAQ,SAAS;EAAsC,cAAc,MAAM,WAAW;CAAG;CACrG,kBAAkB;EAAE,IAAI;EAAoB,SAAS;EAAgD,cAAc,MAAM,aAAa;CAAG;CACzI,sBAAsB;EACpB,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,aAAa;CACnC;CACA,WAAW;EACT,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,eAAe;EACb,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,aAAa;CACnC;CAEA,SAAS;EAAE,IAAI;EAAW,SAAS;EAA+B,cAAc,MAAM,WAAW;CAAG;AACtG;AAEA,MAAa,MAAMC,qBAAAA;AACnB,MAAa,YAAY"}
@@ -1,2 +1,2 @@
1
- import { _ as locations, a as AvailablePlans, c as DARK_MODE, d as Plan, f as canAccess, g as emptyChartSelection, h as defaultReports, i as AvailableAddon, l as LIGHT_MODE, m as defaultReportType, n as Addon, o as BEGINNING_OF_TIME, p as chartTypes, r as AddonId, s as BENEFITS, t as ADDONS, u as PLANS, v as yes } from "../constants-nKSWZ8oD.cjs";
1
+ import { _ as locations, a as AvailablePlans, c as DARK_MODE, d as Plan, f as canAccess, g as emptyChartSelection, h as defaultReports, i as AvailableAddon, l as LIGHT_MODE, m as defaultReportType, n as Addon, o as BEGINNING_OF_TIME, p as chartTypes, r as AddonId, s as BENEFITS, t as ADDONS, u as PLANS, v as yes } from "../constants-tC3RR_Oo.cjs";
2
2
  export { ADDONS, Addon, AddonId, AvailableAddon, AvailablePlans, BEGINNING_OF_TIME, BENEFITS, DARK_MODE, LIGHT_MODE, PLANS, Plan, canAccess, chartTypes, defaultReportType, defaultReports, emptyChartSelection, locations, yes };
@@ -1,2 +1,2 @@
1
- import { _ as locations, a as AvailablePlans, c as DARK_MODE, d as Plan, f as canAccess, g as emptyChartSelection, h as defaultReports, i as AvailableAddon, l as LIGHT_MODE, m as defaultReportType, n as Addon, o as BEGINNING_OF_TIME, p as chartTypes, r as AddonId, s as BENEFITS, t as ADDONS, u as PLANS, v as yes } from "../constants-nKSWZ8oD.js";
1
+ import { _ as locations, a as AvailablePlans, c as DARK_MODE, d as Plan, f as canAccess, g as emptyChartSelection, h as defaultReports, i as AvailableAddon, l as LIGHT_MODE, m as defaultReportType, n as Addon, o as BEGINNING_OF_TIME, p as chartTypes, r as AddonId, s as BENEFITS, t as ADDONS, u as PLANS, v as yes } from "../constants-tC3RR_Oo.js";
2
2
  export { ADDONS, Addon, AddonId, AvailableAddon, AvailablePlans, BEGINNING_OF_TIME, BENEFITS, DARK_MODE, LIGHT_MODE, PLANS, Plan, canAccess, chartTypes, defaultReportType, defaultReports, emptyChartSelection, locations, yes };
@@ -1,3 +1,4 @@
1
+ import { DARK_MODE, LIGHT_MODE } from "@northern.tech/utils/constants";
1
2
  import { BarChart, PieChartOutlined } from "@mui/icons-material";
2
3
  import { yes as yes$1 } from "@northern.tech/utils";
3
4
  //#region src/appSlice/constants.ts
@@ -175,8 +176,6 @@ const BENEFITS = {
175
176
  };
176
177
  const yes = yes$1;
177
178
  const canAccess = yes;
178
- const DARK_MODE = "dark";
179
- const LIGHT_MODE = "light";
180
179
  //#endregion
181
180
  export { ADDONS, BEGINNING_OF_TIME, BENEFITS, DARK_MODE, LIGHT_MODE, PLANS, canAccess, chartTypes, defaultReportType, defaultReports, emptyChartSelection, locations, yes };
182
181
 
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["BarChartIcon","PieChartIcon","yesUtil"],"sources":["../../src/appSlice/constants.ts"],"sourcesContent":["// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { BarChart as BarChartIcon, PieChartOutlined as PieChartIcon } from '@mui/icons-material';\n\nimport { yes as yesUtil } from '@northern.tech/utils';\n\nexport const chartTypes = {\n bar: { key: 'bar', Icon: BarChartIcon },\n pie: { key: 'pie', Icon: PieChartIcon }\n} as const;\nexport const emptyChartSelection = { software: '', group: '', chartType: chartTypes.bar.key, attribute: 'artifact_name' };\nexport const defaultReportType = 'distribution';\nexport const defaultReports = [{ ...emptyChartSelection, group: null, attribute: 'artifact_name', type: defaultReportType }];\n\nexport const BEGINNING_OF_TIME = '2016-01-01T00:00:00.000Z';\n\nexport const locations = {\n cn: { key: 'cn', title: 'China', location: 'hosted.mender.cn' },\n eu: { key: 'eu', title: 'EU', location: 'eu.hosted.mender.io' },\n us: { key: 'us', title: 'US', location: 'hosted.mender.io' }\n} as const;\nexport type AvailablePlans = 'os' | 'professional' | 'enterprise';\n\nexport type Plan = {\n description: string;\n id: AvailablePlans;\n name: string;\n};\n\nexport type AvailableAddon = 'configure' | 'troubleshoot' | 'monitor';\n\nexport const PLANS: { [key in AvailablePlans]: Plan } = {\n os: {\n id: 'os',\n name: 'Basic',\n description:\n 'The core features of Mender. To continue using Enterprise Trial features—like Delta updates, scheduled deployments, phased rollouts, device filtering, dynamic groups, RBAC, audit logs, and more—please upgrade to a higher plan.'\n },\n professional: {\n id: 'professional',\n name: 'Professional',\n description: 'Everything in Basic, plus enhanced update management and automation features.'\n },\n enterprise: {\n id: 'enterprise',\n name: 'Enterprise',\n description:\n 'Every advanced feature of Mender, tailored for complex and large-scale deployments. Not available as a monthly subscription — ask us for a quote.'\n }\n} as const;\nexport type Addon = {\n description: string;\n eligible: AvailablePlans[];\n id: string;\n needs: string[];\n title: string;\n};\n\nexport type AddonId = keyof typeof ADDONS;\n\n// the needs names need to be aligned with the name of the features in the appReducer, as they will be checked in the addonselection\nexport const ADDONS: { [key in AvailableAddon]: Addon } = {\n configure: {\n id: 'configure',\n title: 'Configure',\n description: 'Seamlessly configure applications and devices remotely – configure each device to its environment.',\n needs: ['hasDeviceConfig'],\n eligible: ['os', 'professional', 'enterprise']\n },\n monitor: {\n id: 'monitor',\n title: 'Monitor',\n description: 'Detect and analyze health issues of devices, services and applications. Set up alerts so you can act quickly.',\n needs: ['hasMonitor'],\n eligible: ['professional', 'enterprise']\n },\n troubleshoot: {\n id: 'troubleshoot',\n title: 'Troubleshoot',\n description: 'Secure, remote access to your devices – quickly diagnose and fix issues in real time.',\n needs: ['hasDeviceConnect'],\n eligible: ['os', 'professional', 'enterprise']\n }\n};\n\nexport const BENEFITS = {\n auditlog: {\n id: 'auditlog',\n benefit: 'gain access to logs for important events such as changes to devices, deployments and user management, as well as remote terminal session replays',\n requiredPlan: PLANS.enterprise.id\n },\n dashboard: { id: 'dashboard', benefit: 'actionable insights into the devices you are updating with Mender', requiredPlan: PLANS.enterprise.id },\n deltaGeneration: {\n id: 'deltaGeneration',\n benefit: 'automatic delta artifacts generation to minimize data transfer and improve the update delivery',\n requiredPlan: PLANS.enterprise.id\n },\n deviceConfiguration: { id: 'deviceConfiguration', benefit: 'device configuration features', requiredAddon: ADDONS.configure.id },\n deviceMonitor: { id: 'deviceMonitor', benefit: 'device monitoring features', requiredAddon: ADDONS.monitor.id, requiredPlan: PLANS.professional.id },\n deviceTroubleshoot: { id: 'deviceTroubleshoot', benefit: 'device troubleshooting features', requiredAddon: ADDONS.troubleshoot.id },\n dynamicGroups: { id: 'dynamicGroups', benefit: 'create dynamic groups to ease device management', requiredPlan: PLANS.enterprise.id },\n fullFiltering: { id: 'fullFiltering', benefit: 'filtering by multiple attributes to improve the device overview', requiredPlan: PLANS.professional.id },\n pausedDeployments: {\n id: 'pausedDeployments',\n benefit: 'granular control about update rollout to allow synchronization across your fleet',\n requiredPlan: PLANS.enterprise.id\n },\n phasedDeployments: { id: 'phasedDeployments', benefit: 'choose to roll out deployments in multiple phases', requiredPlan: PLANS.enterprise.id },\n rbac: { id: 'rbac', benefit: 'granular role based access control', requiredPlan: PLANS.enterprise.id },\n retryDeployments: { id: 'retryDeployments', benefit: 'optional retries for failed rollout attempts', requiredPlan: PLANS.professional.id },\n scheduledDeployments: {\n id: 'scheduledDeployments',\n benefit: 'scheduled deployments to steer the distribution of your updates.',\n requiredPlan: PLANS.professional.id\n },\n manifests: {\n id: 'manifests',\n benefit: 'orchestrate multi-component updates with manifests for complex device software management',\n requiredPlan: PLANS.enterprise.id\n },\n webhookEvents: {\n id: 'webhookEvents',\n benefit: 'receive inventory events and select which type(s) of events the webhook will receive',\n requiredPlan: PLANS.professional.id\n },\n\n default: { id: 'default', benefit: 'gain access to this feature', requiredPlan: PLANS.enterprise.id }\n} as const;\n\nexport const yes = yesUtil;\nexport const canAccess = yes;\n\nexport const DARK_MODE = 'dark';\nexport const LIGHT_MODE = 'light';\n"],"mappings":";;;AAiBA,MAAa,aAAa;CACxB,KAAK;EAAE,KAAK;EAAO,MAAMA;CAAa;CACtC,KAAK;EAAE,KAAK;EAAO,MAAMC;CAAa;AACxC;AACA,MAAa,sBAAsB;CAAE,UAAU;CAAI,OAAO;CAAI,WAAW,WAAW,IAAI;CAAK,WAAW;AAAgB;AACxH,MAAa,oBAAoB;AACjC,MAAa,iBAAiB,CAAC;CAAE,GAAG;CAAqB,OAAO;CAAM,WAAW;CAAiB,MAAM;AAAkB,CAAC;AAE3H,MAAa,oBAAoB;AAEjC,MAAa,YAAY;CACvB,IAAI;EAAE,KAAK;EAAM,OAAO;EAAS,UAAU;CAAmB;CAC9D,IAAI;EAAE,KAAK;EAAM,OAAO;EAAM,UAAU;CAAsB;CAC9D,IAAI;EAAE,KAAK;EAAM,OAAO;EAAM,UAAU;CAAmB;AAC7D;AAWA,MAAa,QAA2C;CACtD,IAAI;EACF,IAAI;EACJ,MAAM;EACN,aACE;CACJ;CACA,cAAc;EACZ,IAAI;EACJ,MAAM;EACN,aAAa;CACf;CACA,YAAY;EACV,IAAI;EACJ,MAAM;EACN,aACE;CACJ;AACF;AAYA,MAAa,SAA6C;CACxD,WAAW;EACT,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,iBAAiB;EACzB,UAAU;GAAC;GAAM;GAAgB;EAAY;CAC/C;CACA,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,YAAY;EACpB,UAAU,CAAC,gBAAgB,YAAY;CACzC;CACA,cAAc;EACZ,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,kBAAkB;EAC1B,UAAU;GAAC;GAAM;GAAgB;EAAY;CAC/C;AACF;AAEA,MAAa,WAAW;CACtB,UAAU;EACR,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,WAAW;EAAE,IAAI;EAAa,SAAS;EAAqE,cAAc,MAAM,WAAW;CAAG;CAC9I,iBAAiB;EACf,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,qBAAqB;EAAE,IAAI;EAAuB,SAAS;EAAiC,eAAe,OAAO,UAAU;CAAG;CAC/H,eAAe;EAAE,IAAI;EAAiB,SAAS;EAA8B,eAAe,OAAO,QAAQ;EAAI,cAAc,MAAM,aAAa;CAAG;CACnJ,oBAAoB;EAAE,IAAI;EAAsB,SAAS;EAAmC,eAAe,OAAO,aAAa;CAAG;CAClI,eAAe;EAAE,IAAI;EAAiB,SAAS;EAAmD,cAAc,MAAM,WAAW;CAAG;CACpI,eAAe;EAAE,IAAI;EAAiB,SAAS;EAAmE,cAAc,MAAM,aAAa;CAAG;CACtJ,mBAAmB;EACjB,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,mBAAmB;EAAE,IAAI;EAAqB,SAAS;EAAqD,cAAc,MAAM,WAAW;CAAG;CAC9I,MAAM;EAAE,IAAI;EAAQ,SAAS;EAAsC,cAAc,MAAM,WAAW;CAAG;CACrG,kBAAkB;EAAE,IAAI;EAAoB,SAAS;EAAgD,cAAc,MAAM,aAAa;CAAG;CACzI,sBAAsB;EACpB,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,aAAa;CACnC;CACA,WAAW;EACT,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,eAAe;EACb,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,aAAa;CACnC;CAEA,SAAS;EAAE,IAAI;EAAW,SAAS;EAA+B,cAAc,MAAM,WAAW;CAAG;AACtG;AAEA,MAAa,MAAMC;AACnB,MAAa,YAAY;AAEzB,MAAa,YAAY;AACzB,MAAa,aAAa"}
1
+ {"version":3,"file":"constants.js","names":["BarChartIcon","PieChartIcon","yesUtil"],"sources":["../../src/appSlice/constants.ts"],"sourcesContent":["// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { BarChart as BarChartIcon, PieChartOutlined as PieChartIcon } from '@mui/icons-material';\n\nimport { yes as yesUtil } from '@northern.tech/utils';\nimport { DARK_MODE, LIGHT_MODE } from '@northern.tech/utils/constants';\n\nexport const chartTypes = {\n bar: { key: 'bar', Icon: BarChartIcon },\n pie: { key: 'pie', Icon: PieChartIcon }\n} as const;\nexport const emptyChartSelection = { software: '', group: '', chartType: chartTypes.bar.key, attribute: 'artifact_name' };\nexport const defaultReportType = 'distribution';\nexport const defaultReports = [{ ...emptyChartSelection, group: null, attribute: 'artifact_name', type: defaultReportType }];\n\nexport const BEGINNING_OF_TIME = '2016-01-01T00:00:00.000Z';\n\nexport const locations = {\n cn: { key: 'cn', title: 'China', location: 'hosted.mender.cn' },\n eu: { key: 'eu', title: 'EU', location: 'eu.hosted.mender.io' },\n us: { key: 'us', title: 'US', location: 'hosted.mender.io' }\n} as const;\nexport type AvailablePlans = 'os' | 'professional' | 'enterprise';\n\nexport type Plan = {\n description: string;\n id: AvailablePlans;\n name: string;\n};\n\nexport type AvailableAddon = 'configure' | 'troubleshoot' | 'monitor';\n\nexport const PLANS: { [key in AvailablePlans]: Plan } = {\n os: {\n id: 'os',\n name: 'Basic',\n description:\n 'The core features of Mender. To continue using Enterprise Trial features—like Delta updates, scheduled deployments, phased rollouts, device filtering, dynamic groups, RBAC, audit logs, and more—please upgrade to a higher plan.'\n },\n professional: {\n id: 'professional',\n name: 'Professional',\n description: 'Everything in Basic, plus enhanced update management and automation features.'\n },\n enterprise: {\n id: 'enterprise',\n name: 'Enterprise',\n description:\n 'Every advanced feature of Mender, tailored for complex and large-scale deployments. Not available as a monthly subscription — ask us for a quote.'\n }\n} as const;\nexport type Addon = {\n description: string;\n eligible: AvailablePlans[];\n id: string;\n needs: string[];\n title: string;\n};\n\nexport type AddonId = keyof typeof ADDONS;\n\n// the needs names need to be aligned with the name of the features in the appReducer, as they will be checked in the addonselection\nexport const ADDONS: { [key in AvailableAddon]: Addon } = {\n configure: {\n id: 'configure',\n title: 'Configure',\n description: 'Seamlessly configure applications and devices remotely – configure each device to its environment.',\n needs: ['hasDeviceConfig'],\n eligible: ['os', 'professional', 'enterprise']\n },\n monitor: {\n id: 'monitor',\n title: 'Monitor',\n description: 'Detect and analyze health issues of devices, services and applications. Set up alerts so you can act quickly.',\n needs: ['hasMonitor'],\n eligible: ['professional', 'enterprise']\n },\n troubleshoot: {\n id: 'troubleshoot',\n title: 'Troubleshoot',\n description: 'Secure, remote access to your devices – quickly diagnose and fix issues in real time.',\n needs: ['hasDeviceConnect'],\n eligible: ['os', 'professional', 'enterprise']\n }\n};\n\nexport const BENEFITS = {\n auditlog: {\n id: 'auditlog',\n benefit: 'gain access to logs for important events such as changes to devices, deployments and user management, as well as remote terminal session replays',\n requiredPlan: PLANS.enterprise.id\n },\n dashboard: { id: 'dashboard', benefit: 'actionable insights into the devices you are updating with Mender', requiredPlan: PLANS.enterprise.id },\n deltaGeneration: {\n id: 'deltaGeneration',\n benefit: 'automatic delta artifacts generation to minimize data transfer and improve the update delivery',\n requiredPlan: PLANS.enterprise.id\n },\n deviceConfiguration: { id: 'deviceConfiguration', benefit: 'device configuration features', requiredAddon: ADDONS.configure.id },\n deviceMonitor: { id: 'deviceMonitor', benefit: 'device monitoring features', requiredAddon: ADDONS.monitor.id, requiredPlan: PLANS.professional.id },\n deviceTroubleshoot: { id: 'deviceTroubleshoot', benefit: 'device troubleshooting features', requiredAddon: ADDONS.troubleshoot.id },\n dynamicGroups: { id: 'dynamicGroups', benefit: 'create dynamic groups to ease device management', requiredPlan: PLANS.enterprise.id },\n fullFiltering: { id: 'fullFiltering', benefit: 'filtering by multiple attributes to improve the device overview', requiredPlan: PLANS.professional.id },\n pausedDeployments: {\n id: 'pausedDeployments',\n benefit: 'granular control about update rollout to allow synchronization across your fleet',\n requiredPlan: PLANS.enterprise.id\n },\n phasedDeployments: { id: 'phasedDeployments', benefit: 'choose to roll out deployments in multiple phases', requiredPlan: PLANS.enterprise.id },\n rbac: { id: 'rbac', benefit: 'granular role based access control', requiredPlan: PLANS.enterprise.id },\n retryDeployments: { id: 'retryDeployments', benefit: 'optional retries for failed rollout attempts', requiredPlan: PLANS.professional.id },\n scheduledDeployments: {\n id: 'scheduledDeployments',\n benefit: 'scheduled deployments to steer the distribution of your updates.',\n requiredPlan: PLANS.professional.id\n },\n manifests: {\n id: 'manifests',\n benefit: 'orchestrate multi-component updates with manifests for complex device software management',\n requiredPlan: PLANS.enterprise.id\n },\n webhookEvents: {\n id: 'webhookEvents',\n benefit: 'receive inventory events and select which type(s) of events the webhook will receive',\n requiredPlan: PLANS.professional.id\n },\n\n default: { id: 'default', benefit: 'gain access to this feature', requiredPlan: PLANS.enterprise.id }\n} as const;\n\nexport const yes = yesUtil;\nexport const canAccess = yes;\n\nexport { DARK_MODE, LIGHT_MODE };\n"],"mappings":";;;;AAkBA,MAAa,aAAa;CACxB,KAAK;EAAE,KAAK;EAAO,MAAMA;CAAa;CACtC,KAAK;EAAE,KAAK;EAAO,MAAMC;CAAa;AACxC;AACA,MAAa,sBAAsB;CAAE,UAAU;CAAI,OAAO;CAAI,WAAW,WAAW,IAAI;CAAK,WAAW;AAAgB;AACxH,MAAa,oBAAoB;AACjC,MAAa,iBAAiB,CAAC;CAAE,GAAG;CAAqB,OAAO;CAAM,WAAW;CAAiB,MAAM;AAAkB,CAAC;AAE3H,MAAa,oBAAoB;AAEjC,MAAa,YAAY;CACvB,IAAI;EAAE,KAAK;EAAM,OAAO;EAAS,UAAU;CAAmB;CAC9D,IAAI;EAAE,KAAK;EAAM,OAAO;EAAM,UAAU;CAAsB;CAC9D,IAAI;EAAE,KAAK;EAAM,OAAO;EAAM,UAAU;CAAmB;AAC7D;AAWA,MAAa,QAA2C;CACtD,IAAI;EACF,IAAI;EACJ,MAAM;EACN,aACE;CACJ;CACA,cAAc;EACZ,IAAI;EACJ,MAAM;EACN,aAAa;CACf;CACA,YAAY;EACV,IAAI;EACJ,MAAM;EACN,aACE;CACJ;AACF;AAYA,MAAa,SAA6C;CACxD,WAAW;EACT,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,iBAAiB;EACzB,UAAU;GAAC;GAAM;GAAgB;EAAY;CAC/C;CACA,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,YAAY;EACpB,UAAU,CAAC,gBAAgB,YAAY;CACzC;CACA,cAAc;EACZ,IAAI;EACJ,OAAO;EACP,aAAa;EACb,OAAO,CAAC,kBAAkB;EAC1B,UAAU;GAAC;GAAM;GAAgB;EAAY;CAC/C;AACF;AAEA,MAAa,WAAW;CACtB,UAAU;EACR,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,WAAW;EAAE,IAAI;EAAa,SAAS;EAAqE,cAAc,MAAM,WAAW;CAAG;CAC9I,iBAAiB;EACf,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,qBAAqB;EAAE,IAAI;EAAuB,SAAS;EAAiC,eAAe,OAAO,UAAU;CAAG;CAC/H,eAAe;EAAE,IAAI;EAAiB,SAAS;EAA8B,eAAe,OAAO,QAAQ;EAAI,cAAc,MAAM,aAAa;CAAG;CACnJ,oBAAoB;EAAE,IAAI;EAAsB,SAAS;EAAmC,eAAe,OAAO,aAAa;CAAG;CAClI,eAAe;EAAE,IAAI;EAAiB,SAAS;EAAmD,cAAc,MAAM,WAAW;CAAG;CACpI,eAAe;EAAE,IAAI;EAAiB,SAAS;EAAmE,cAAc,MAAM,aAAa;CAAG;CACtJ,mBAAmB;EACjB,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,mBAAmB;EAAE,IAAI;EAAqB,SAAS;EAAqD,cAAc,MAAM,WAAW;CAAG;CAC9I,MAAM;EAAE,IAAI;EAAQ,SAAS;EAAsC,cAAc,MAAM,WAAW;CAAG;CACrG,kBAAkB;EAAE,IAAI;EAAoB,SAAS;EAAgD,cAAc,MAAM,aAAa;CAAG;CACzI,sBAAsB;EACpB,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,aAAa;CACnC;CACA,WAAW;EACT,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,WAAW;CACjC;CACA,eAAe;EACb,IAAI;EACJ,SAAS;EACT,cAAc,MAAM,aAAa;CACnC;CAEA,SAAS;EAAE,IAAI;EAAW,SAAS;EAA+B,cAAc,MAAM,WAAW;CAAG;AACtG;AAEA,MAAa,MAAMC;AACnB,MAAa,YAAY"}
@@ -1,2 +1,2 @@
1
- import { a as Upload, c as appSlice, i as SnackbarContent, l as initialState, n as SearchState, o as _default, r as SentryConfig, s as actions, t as AppSliceType, u as sliceName } from "../index-BKU1G9-x.cjs";
1
+ import { a as Upload, c as appSlice, i as SnackbarContent, l as initialState, n as SearchState, o as _default, r as SentryConfig, s as actions, t as AppSliceType, u as sliceName } from "../index-CaNZaXie.cjs";
2
2
  export { AppSliceType, SearchState, SentryConfig, SnackbarContent, Upload, actions, appSlice, _default as default, initialState, sliceName };
@@ -1,2 +1,2 @@
1
- import { a as Upload, c as appSlice, i as SnackbarContent, l as initialState, n as SearchState, o as _default, r as SentryConfig, s as actions, t as AppSliceType, u as sliceName } from "../index-xxqlerg5.js";
1
+ import { a as Upload, c as appSlice, i as SnackbarContent, l as initialState, n as SearchState, o as _default, r as SentryConfig, s as actions, t as AppSliceType, u as sliceName } from "../index-CThE5Gfh.js";
2
2
  export { AppSliceType, SearchState, SentryConfig, SnackbarContent, Upload, actions, appSlice, _default as default, initialState, sliceName };
@@ -1,4 +1,4 @@
1
- import { f as SORTING_OPTIONS } from "../constants-D5hACLhF.js";
1
+ import { f as SORTING_OPTIONS } from "../constants-DjiC_FnZ.js";
2
2
  import { createSlice } from "@reduxjs/toolkit";
3
3
  //#region src/appSlice/index.ts
4
4
  const sliceName = "app";
@@ -1,4 +1,4 @@
1
- import { r as SentryConfig } from "../index-BKU1G9-x.cjs";
1
+ import { r as SentryConfig } from "../index-CaNZaXie.cjs";
2
2
  //#region src/appSlice/mocks.d.ts
3
3
  export declare const mockState: {
4
4
  searchState: {
@@ -1,4 +1,4 @@
1
- import { r as SentryConfig } from "../index-xxqlerg5.js";
1
+ import { r as SentryConfig } from "../index-CThE5Gfh.js";
2
2
  //#region src/appSlice/mocks.d.ts
3
3
  export declare const mockState: {
4
4
  searchState: {
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.cjs","names":["createSelector"],"sources":["../../src/appSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport type { RootState } from '../store';\n\nexport const getDocsVersion = (state: RootState) => state.app.docsVersion;\nexport const getFeatures = (state: RootState) => state.app.features;\nexport const getVersionInformation = (state: RootState) => state.app.versionInformation;\nexport const getSearchState = (state: RootState) => state.app.searchState;\nexport const getUploads = (state: RootState) => state.app.uploadsById;\nexport const getSnackbar = (state: RootState) => state.app.snackbar;\nexport const getHostAddress = (state: RootState) => state.app.hostAddress;\nexport const getHostedAnnouncement = (state: RootState) => state.app.hostedAnnouncement;\nexport const getRecaptchaKey = (state: RootState) => state.app.recaptchaSiteKey;\nexport const getStripeKey = (state: RootState) => state.app.stripeAPIKey;\nexport const getTrackerCode = (state: RootState) => state.app.trackerCode;\nexport const getSentryConfig = (state: RootState) => state.app.sentry;\nexport const getCommit = (state: RootState) => state.app.commit;\nexport const getIsFirstLogin = (state: RootState) => state.app.firstLoginAfterSignup;\nexport const getFeedbackProbability = (state: RootState) => state.app.feedbackProbability;\nexport const getAppInitDone = (state: RootState) => state.app.appInitDone;\n\nexport const getIsUploading = createSelector([getUploads], uploadsById => !!Object.keys(uploadsById).length);\nexport const getSearchedDevices = createSelector([getSearchState], ({ deviceIds }) => deviceIds);\n\nexport const getIsPreview = createSelector([getVersionInformation], ({ version }) => version === 'next');\n"],"mappings":";;;AAiBA,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAC9D,MAAa,eAAe,UAAqB,MAAM,IAAI;AAC3D,MAAa,yBAAyB,UAAqB,MAAM,IAAI;AACrE,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAC9D,MAAa,cAAc,UAAqB,MAAM,IAAI;AAC1D,MAAa,eAAe,UAAqB,MAAM,IAAI;AAC3D,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAC9D,MAAa,yBAAyB,UAAqB,MAAM,IAAI;AACrE,MAAa,mBAAmB,UAAqB,MAAM,IAAI;AAC/D,MAAa,gBAAgB,UAAqB,MAAM,IAAI;AAC5D,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAC9D,MAAa,mBAAmB,UAAqB,MAAM,IAAI;AAC/D,MAAa,aAAa,UAAqB,MAAM,IAAI;AACzD,MAAa,mBAAmB,UAAqB,MAAM,IAAI;AAC/D,MAAa,0BAA0B,UAAqB,MAAM,IAAI;AACtE,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAE9D,MAAa,kBAAA,GAAiBA,iBAAAA,eAAAA,CAAe,CAAC,UAAU,IAAG,gBAAe,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,MAAM;AAC3G,MAAa,sBAAA,GAAqBA,iBAAAA,eAAAA,CAAe,CAAC,cAAc,IAAI,EAAE,gBAAgB,SAAS;AAE/F,MAAa,gBAAA,GAAeA,iBAAAA,eAAAA,CAAe,CAAC,qBAAqB,IAAI,EAAE,cAAc,YAAY,MAAM"}
1
+ {"version":3,"file":"selectors.cjs","names":["createSelector"],"sources":["../../src/appSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport type { AppSliceType } from '.';\n\nexport type AppState = { app: AppSliceType };\n\nexport const getDocsVersion = (state: AppState) => state.app.docsVersion;\nexport const getFeatures = (state: AppState) => state.app.features;\nexport const getVersionInformation = (state: AppState) => state.app.versionInformation;\nexport const getSearchState = (state: AppState) => state.app.searchState;\nexport const getUploads = (state: AppState) => state.app.uploadsById;\nexport const getSnackbar = (state: AppState) => state.app.snackbar;\nexport const getHostAddress = (state: AppState) => state.app.hostAddress;\nexport const getHostedAnnouncement = (state: AppState) => state.app.hostedAnnouncement;\nexport const getRecaptchaKey = (state: AppState) => state.app.recaptchaSiteKey;\nexport const getStripeKey = (state: AppState) => state.app.stripeAPIKey;\nexport const getTrackerCode = (state: AppState) => state.app.trackerCode;\nexport const getSentryConfig = (state: AppState) => state.app.sentry;\nexport const getCommit = (state: AppState) => state.app.commit;\nexport const getIsFirstLogin = (state: AppState) => state.app.firstLoginAfterSignup;\nexport const getFeedbackProbability = (state: AppState) => state.app.feedbackProbability;\nexport const getAppInitDone = (state: AppState) => state.app.appInitDone;\n\nexport const getIsUploading = createSelector([getUploads], uploadsById => !!Object.keys(uploadsById).length);\nexport const getSearchedDevices = createSelector([getSearchState], ({ deviceIds }) => deviceIds);\n\nexport const getIsPreview = createSelector([getVersionInformation], ({ version }) => version === 'next');\n"],"mappings":";;;AAmBA,MAAa,kBAAkB,UAAoB,MAAM,IAAI;AAC7D,MAAa,eAAe,UAAoB,MAAM,IAAI;AAC1D,MAAa,yBAAyB,UAAoB,MAAM,IAAI;AACpE,MAAa,kBAAkB,UAAoB,MAAM,IAAI;AAC7D,MAAa,cAAc,UAAoB,MAAM,IAAI;AACzD,MAAa,eAAe,UAAoB,MAAM,IAAI;AAC1D,MAAa,kBAAkB,UAAoB,MAAM,IAAI;AAC7D,MAAa,yBAAyB,UAAoB,MAAM,IAAI;AACpE,MAAa,mBAAmB,UAAoB,MAAM,IAAI;AAC9D,MAAa,gBAAgB,UAAoB,MAAM,IAAI;AAC3D,MAAa,kBAAkB,UAAoB,MAAM,IAAI;AAC7D,MAAa,mBAAmB,UAAoB,MAAM,IAAI;AAC9D,MAAa,aAAa,UAAoB,MAAM,IAAI;AACxD,MAAa,mBAAmB,UAAoB,MAAM,IAAI;AAC9D,MAAa,0BAA0B,UAAoB,MAAM,IAAI;AACrE,MAAa,kBAAkB,UAAoB,MAAM,IAAI;AAE7D,MAAa,kBAAA,GAAiBA,iBAAAA,eAAAA,CAAe,CAAC,UAAU,IAAG,gBAAe,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,MAAM;AAC3G,MAAa,sBAAA,GAAqBA,iBAAAA,eAAAA,CAAe,CAAC,cAAc,IAAI,EAAE,gBAAgB,SAAS;AAE/F,MAAa,gBAAA,GAAeA,iBAAAA,eAAAA,CAAe,CAAC,qBAAqB,IAAI,EAAE,cAAc,YAAY,MAAM"}
@@ -1,130 +1,2 @@
1
- import { o as UserSliceType } from "../index-CqhXqGLt.cjs";
2
- import { a as ReleaseSliceType } from "../index-fGVC5s1C.cjs";
3
- import { n as OnboardingSliceType } from "../index-CoObjWL4.cjs";
4
- import { o as DeploymentsSliceType } from "../index-mvxjivTJ.cjs";
5
- import { c as DeviceSliceType } from "../index-KxRmyFLr.cjs";
6
- import { a as Upload, i as SnackbarContent, n as SearchState, r as SentryConfig, t as AppSliceType } from "../index-BKU1G9-x.cjs";
7
- import { t as MonitorSliceType } from "../index-BfmRpbiJ.cjs";
8
- import { t as OrganizationSliceType } from "../index-HjOSTTGF.cjs";
9
- import { r as RootState } from "../store-Dw8Uo_Df.cjs";
10
- //#region src/appSlice/selectors.d.ts
11
- export declare const getDocsVersion: (state: RootState) => string;
12
- export declare const getFeatures: (state: RootState) => Record<string, boolean>;
13
- export declare const getVersionInformation: (state: RootState) => {
14
- docsVersion?: string;
15
- version?: string;
16
- };
17
- export declare const getSearchState: (state: RootState) => SearchState;
18
- export declare const getUploads: (state: RootState) => Record<string, Upload>;
19
- export declare const getSnackbar: (state: RootState) => SnackbarContent;
20
- export declare const getHostAddress: (state: RootState) => string | null;
21
- export declare const getHostedAnnouncement: (state: RootState) => string;
22
- export declare const getRecaptchaKey: (state: RootState) => string;
23
- export declare const getStripeKey: (state: RootState) => string;
24
- export declare const getTrackerCode: (state: RootState) => string;
25
- export declare const getSentryConfig: (state: RootState) => SentryConfig;
26
- export declare const getCommit: (state: RootState) => string;
27
- export declare const getIsFirstLogin: (state: RootState) => boolean;
28
- export declare const getFeedbackProbability: (state: RootState) => number;
29
- export declare const getAppInitDone: (state: RootState) => boolean;
30
- export declare const getIsUploading: ((state: {
31
- app: AppSliceType;
32
- devices: DeviceSliceType;
33
- deployments: DeploymentsSliceType;
34
- monitor: MonitorSliceType;
35
- onboarding: OnboardingSliceType;
36
- organization: OrganizationSliceType;
37
- releases: ReleaseSliceType;
38
- users: UserSliceType;
39
- }) => boolean) & {
40
- clearCache: () => void;
41
- resultsCount: () => number;
42
- resetResultsCount: () => void;
43
- } & {
44
- resultFunc: (resultFuncArgs_0: Record<string, Upload>) => boolean;
45
- memoizedResultFunc: ((resultFuncArgs_0: Record<string, Upload>) => boolean) & {
46
- clearCache: () => void;
47
- resultsCount: () => number;
48
- resetResultsCount: () => void;
49
- };
50
- lastResult: () => boolean;
51
- dependencies: [(state: RootState) => Record<string, Upload>];
52
- recomputations: () => number;
53
- resetRecomputations: () => void;
54
- dependencyRecomputations: () => number;
55
- resetDependencyRecomputations: () => void;
56
- } & {
57
- memoize: typeof import("reselect").weakMapMemoize;
58
- argsMemoize: typeof import("reselect").weakMapMemoize;
59
- };
60
- export declare const getSearchedDevices: ((state: {
61
- app: AppSliceType;
62
- devices: DeviceSliceType;
63
- deployments: DeploymentsSliceType;
64
- monitor: MonitorSliceType;
65
- onboarding: OnboardingSliceType;
66
- organization: OrganizationSliceType;
67
- releases: ReleaseSliceType;
68
- users: UserSliceType;
69
- }) => string[]) & {
70
- clearCache: () => void;
71
- resultsCount: () => number;
72
- resetResultsCount: () => void;
73
- } & {
74
- resultFunc: (resultFuncArgs_0: SearchState) => string[];
75
- memoizedResultFunc: ((resultFuncArgs_0: SearchState) => string[]) & {
76
- clearCache: () => void;
77
- resultsCount: () => number;
78
- resetResultsCount: () => void;
79
- };
80
- lastResult: () => string[];
81
- dependencies: [(state: RootState) => SearchState];
82
- recomputations: () => number;
83
- resetRecomputations: () => void;
84
- dependencyRecomputations: () => number;
85
- resetDependencyRecomputations: () => void;
86
- } & {
87
- memoize: typeof import("reselect").weakMapMemoize;
88
- argsMemoize: typeof import("reselect").weakMapMemoize;
89
- };
90
- export declare const getIsPreview: ((state: {
91
- app: AppSliceType;
92
- devices: DeviceSliceType;
93
- deployments: DeploymentsSliceType;
94
- monitor: MonitorSliceType;
95
- onboarding: OnboardingSliceType;
96
- organization: OrganizationSliceType;
97
- releases: ReleaseSliceType;
98
- users: UserSliceType;
99
- }) => boolean) & {
100
- clearCache: () => void;
101
- resultsCount: () => number;
102
- resetResultsCount: () => void;
103
- } & {
104
- resultFunc: (resultFuncArgs_0: {
105
- docsVersion?: string;
106
- version?: string;
107
- }) => boolean;
108
- memoizedResultFunc: ((resultFuncArgs_0: {
109
- docsVersion?: string;
110
- version?: string;
111
- }) => boolean) & {
112
- clearCache: () => void;
113
- resultsCount: () => number;
114
- resetResultsCount: () => void;
115
- };
116
- lastResult: () => boolean;
117
- dependencies: [(state: RootState) => {
118
- docsVersion?: string;
119
- version?: string;
120
- }];
121
- recomputations: () => number;
122
- resetRecomputations: () => void;
123
- dependencyRecomputations: () => number;
124
- resetDependencyRecomputations: () => void;
125
- } & {
126
- memoize: typeof import("reselect").weakMapMemoize;
127
- argsMemoize: typeof import("reselect").weakMapMemoize;
128
- };
129
- //#endregion
130
- //# sourceMappingURL=selectors.d.cts.map
1
+ import { _ as getStripeKey, a as getFeatures, b as getVersionInformation, c as getHostedAnnouncement, d as getIsUploading, f as getRecaptchaKey, g as getSnackbar, h as getSentryConfig, i as getDocsVersion, l as getIsFirstLogin, m as getSearchedDevices, n as getAppInitDone, o as getFeedbackProbability, p as getSearchState, r as getCommit, s as getHostAddress, t as AppState, u as getIsPreview, v as getTrackerCode, y as getUploads } from "../selectors-XzNyGFJI.cjs";
2
+ export { AppState, getAppInitDone, getCommit, getDocsVersion, getFeatures, getFeedbackProbability, getHostAddress, getHostedAnnouncement, getIsFirstLogin, getIsPreview, getIsUploading, getRecaptchaKey, getSearchState, getSearchedDevices, getSentryConfig, getSnackbar, getStripeKey, getTrackerCode, getUploads, getVersionInformation };
@@ -1,130 +1,2 @@
1
- import { o as UserSliceType } from "../index--SKVGToc.js";
2
- import { a as ReleaseSliceType } from "../index-BMsafOyJ.js";
3
- import { n as OnboardingSliceType } from "../index-CoObjWL4.js";
4
- import { o as DeploymentsSliceType } from "../index-B8td4-rY.js";
5
- import { c as DeviceSliceType } from "../index-D9GJhX1I.js";
6
- import { a as Upload, i as SnackbarContent, n as SearchState, r as SentryConfig, t as AppSliceType } from "../index-xxqlerg5.js";
7
- import { t as MonitorSliceType } from "../index-CRqnH_go.js";
8
- import { t as OrganizationSliceType } from "../index-BVNS-Aut.js";
9
- import { r as RootState } from "../store-DLp6ajT8.js";
10
- //#region src/appSlice/selectors.d.ts
11
- export declare const getDocsVersion: (state: RootState) => string;
12
- export declare const getFeatures: (state: RootState) => Record<string, boolean>;
13
- export declare const getVersionInformation: (state: RootState) => {
14
- docsVersion?: string;
15
- version?: string;
16
- };
17
- export declare const getSearchState: (state: RootState) => SearchState;
18
- export declare const getUploads: (state: RootState) => Record<string, Upload>;
19
- export declare const getSnackbar: (state: RootState) => SnackbarContent;
20
- export declare const getHostAddress: (state: RootState) => string | null;
21
- export declare const getHostedAnnouncement: (state: RootState) => string;
22
- export declare const getRecaptchaKey: (state: RootState) => string;
23
- export declare const getStripeKey: (state: RootState) => string;
24
- export declare const getTrackerCode: (state: RootState) => string;
25
- export declare const getSentryConfig: (state: RootState) => SentryConfig;
26
- export declare const getCommit: (state: RootState) => string;
27
- export declare const getIsFirstLogin: (state: RootState) => boolean;
28
- export declare const getFeedbackProbability: (state: RootState) => number;
29
- export declare const getAppInitDone: (state: RootState) => boolean;
30
- export declare const getIsUploading: ((state: {
31
- app: AppSliceType;
32
- devices: DeviceSliceType;
33
- deployments: DeploymentsSliceType;
34
- monitor: MonitorSliceType;
35
- onboarding: OnboardingSliceType;
36
- organization: OrganizationSliceType;
37
- releases: ReleaseSliceType;
38
- users: UserSliceType;
39
- }) => boolean) & {
40
- clearCache: () => void;
41
- resultsCount: () => number;
42
- resetResultsCount: () => void;
43
- } & {
44
- resultFunc: (resultFuncArgs_0: Record<string, Upload>) => boolean;
45
- memoizedResultFunc: ((resultFuncArgs_0: Record<string, Upload>) => boolean) & {
46
- clearCache: () => void;
47
- resultsCount: () => number;
48
- resetResultsCount: () => void;
49
- };
50
- lastResult: () => boolean;
51
- dependencies: [(state: RootState) => Record<string, Upload>];
52
- recomputations: () => number;
53
- resetRecomputations: () => void;
54
- dependencyRecomputations: () => number;
55
- resetDependencyRecomputations: () => void;
56
- } & {
57
- memoize: typeof import("reselect").weakMapMemoize;
58
- argsMemoize: typeof import("reselect").weakMapMemoize;
59
- };
60
- export declare const getSearchedDevices: ((state: {
61
- app: AppSliceType;
62
- devices: DeviceSliceType;
63
- deployments: DeploymentsSliceType;
64
- monitor: MonitorSliceType;
65
- onboarding: OnboardingSliceType;
66
- organization: OrganizationSliceType;
67
- releases: ReleaseSliceType;
68
- users: UserSliceType;
69
- }) => string[]) & {
70
- clearCache: () => void;
71
- resultsCount: () => number;
72
- resetResultsCount: () => void;
73
- } & {
74
- resultFunc: (resultFuncArgs_0: SearchState) => string[];
75
- memoizedResultFunc: ((resultFuncArgs_0: SearchState) => string[]) & {
76
- clearCache: () => void;
77
- resultsCount: () => number;
78
- resetResultsCount: () => void;
79
- };
80
- lastResult: () => string[];
81
- dependencies: [(state: RootState) => SearchState];
82
- recomputations: () => number;
83
- resetRecomputations: () => void;
84
- dependencyRecomputations: () => number;
85
- resetDependencyRecomputations: () => void;
86
- } & {
87
- memoize: typeof import("reselect").weakMapMemoize;
88
- argsMemoize: typeof import("reselect").weakMapMemoize;
89
- };
90
- export declare const getIsPreview: ((state: {
91
- app: AppSliceType;
92
- devices: DeviceSliceType;
93
- deployments: DeploymentsSliceType;
94
- monitor: MonitorSliceType;
95
- onboarding: OnboardingSliceType;
96
- organization: OrganizationSliceType;
97
- releases: ReleaseSliceType;
98
- users: UserSliceType;
99
- }) => boolean) & {
100
- clearCache: () => void;
101
- resultsCount: () => number;
102
- resetResultsCount: () => void;
103
- } & {
104
- resultFunc: (resultFuncArgs_0: {
105
- docsVersion?: string;
106
- version?: string;
107
- }) => boolean;
108
- memoizedResultFunc: ((resultFuncArgs_0: {
109
- docsVersion?: string;
110
- version?: string;
111
- }) => boolean) & {
112
- clearCache: () => void;
113
- resultsCount: () => number;
114
- resetResultsCount: () => void;
115
- };
116
- lastResult: () => boolean;
117
- dependencies: [(state: RootState) => {
118
- docsVersion?: string;
119
- version?: string;
120
- }];
121
- recomputations: () => number;
122
- resetRecomputations: () => void;
123
- dependencyRecomputations: () => number;
124
- resetDependencyRecomputations: () => void;
125
- } & {
126
- memoize: typeof import("reselect").weakMapMemoize;
127
- argsMemoize: typeof import("reselect").weakMapMemoize;
128
- };
129
- //#endregion
130
- //# sourceMappingURL=selectors.d.ts.map
1
+ import { _ as getStripeKey, a as getFeatures, b as getVersionInformation, c as getHostedAnnouncement, d as getIsUploading, f as getRecaptchaKey, g as getSnackbar, h as getSentryConfig, i as getDocsVersion, l as getIsFirstLogin, m as getSearchedDevices, n as getAppInitDone, o as getFeedbackProbability, p as getSearchState, r as getCommit, s as getHostAddress, t as AppState, u as getIsPreview, v as getTrackerCode, y as getUploads } from "../selectors-CAo0fzIZ.js";
2
+ export { AppState, getAppInitDone, getCommit, getDocsVersion, getFeatures, getFeedbackProbability, getHostAddress, getHostedAnnouncement, getIsFirstLogin, getIsPreview, getIsUploading, getRecaptchaKey, getSearchState, getSearchedDevices, getSentryConfig, getSnackbar, getStripeKey, getTrackerCode, getUploads, getVersionInformation };
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.js","names":[],"sources":["../../src/appSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport type { RootState } from '../store';\n\nexport const getDocsVersion = (state: RootState) => state.app.docsVersion;\nexport const getFeatures = (state: RootState) => state.app.features;\nexport const getVersionInformation = (state: RootState) => state.app.versionInformation;\nexport const getSearchState = (state: RootState) => state.app.searchState;\nexport const getUploads = (state: RootState) => state.app.uploadsById;\nexport const getSnackbar = (state: RootState) => state.app.snackbar;\nexport const getHostAddress = (state: RootState) => state.app.hostAddress;\nexport const getHostedAnnouncement = (state: RootState) => state.app.hostedAnnouncement;\nexport const getRecaptchaKey = (state: RootState) => state.app.recaptchaSiteKey;\nexport const getStripeKey = (state: RootState) => state.app.stripeAPIKey;\nexport const getTrackerCode = (state: RootState) => state.app.trackerCode;\nexport const getSentryConfig = (state: RootState) => state.app.sentry;\nexport const getCommit = (state: RootState) => state.app.commit;\nexport const getIsFirstLogin = (state: RootState) => state.app.firstLoginAfterSignup;\nexport const getFeedbackProbability = (state: RootState) => state.app.feedbackProbability;\nexport const getAppInitDone = (state: RootState) => state.app.appInitDone;\n\nexport const getIsUploading = createSelector([getUploads], uploadsById => !!Object.keys(uploadsById).length);\nexport const getSearchedDevices = createSelector([getSearchState], ({ deviceIds }) => deviceIds);\n\nexport const getIsPreview = createSelector([getVersionInformation], ({ version }) => version === 'next');\n"],"mappings":";;AAiBA,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAC9D,MAAa,eAAe,UAAqB,MAAM,IAAI;AAC3D,MAAa,yBAAyB,UAAqB,MAAM,IAAI;AACrE,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAC9D,MAAa,cAAc,UAAqB,MAAM,IAAI;AAC1D,MAAa,eAAe,UAAqB,MAAM,IAAI;AAC3D,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAC9D,MAAa,yBAAyB,UAAqB,MAAM,IAAI;AACrE,MAAa,mBAAmB,UAAqB,MAAM,IAAI;AAC/D,MAAa,gBAAgB,UAAqB,MAAM,IAAI;AAC5D,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAC9D,MAAa,mBAAmB,UAAqB,MAAM,IAAI;AAC/D,MAAa,aAAa,UAAqB,MAAM,IAAI;AACzD,MAAa,mBAAmB,UAAqB,MAAM,IAAI;AAC/D,MAAa,0BAA0B,UAAqB,MAAM,IAAI;AACtE,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAE9D,MAAa,iBAAiB,eAAe,CAAC,UAAU,IAAG,gBAAe,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,MAAM;AAC3G,MAAa,qBAAqB,eAAe,CAAC,cAAc,IAAI,EAAE,gBAAgB,SAAS;AAE/F,MAAa,eAAe,eAAe,CAAC,qBAAqB,IAAI,EAAE,cAAc,YAAY,MAAM"}
1
+ {"version":3,"file":"selectors.js","names":[],"sources":["../../src/appSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport type { AppSliceType } from '.';\n\nexport type AppState = { app: AppSliceType };\n\nexport const getDocsVersion = (state: AppState) => state.app.docsVersion;\nexport const getFeatures = (state: AppState) => state.app.features;\nexport const getVersionInformation = (state: AppState) => state.app.versionInformation;\nexport const getSearchState = (state: AppState) => state.app.searchState;\nexport const getUploads = (state: AppState) => state.app.uploadsById;\nexport const getSnackbar = (state: AppState) => state.app.snackbar;\nexport const getHostAddress = (state: AppState) => state.app.hostAddress;\nexport const getHostedAnnouncement = (state: AppState) => state.app.hostedAnnouncement;\nexport const getRecaptchaKey = (state: AppState) => state.app.recaptchaSiteKey;\nexport const getStripeKey = (state: AppState) => state.app.stripeAPIKey;\nexport const getTrackerCode = (state: AppState) => state.app.trackerCode;\nexport const getSentryConfig = (state: AppState) => state.app.sentry;\nexport const getCommit = (state: AppState) => state.app.commit;\nexport const getIsFirstLogin = (state: AppState) => state.app.firstLoginAfterSignup;\nexport const getFeedbackProbability = (state: AppState) => state.app.feedbackProbability;\nexport const getAppInitDone = (state: AppState) => state.app.appInitDone;\n\nexport const getIsUploading = createSelector([getUploads], uploadsById => !!Object.keys(uploadsById).length);\nexport const getSearchedDevices = createSelector([getSearchState], ({ deviceIds }) => deviceIds);\n\nexport const getIsPreview = createSelector([getVersionInformation], ({ version }) => version === 'next');\n"],"mappings":";;AAmBA,MAAa,kBAAkB,UAAoB,MAAM,IAAI;AAC7D,MAAa,eAAe,UAAoB,MAAM,IAAI;AAC1D,MAAa,yBAAyB,UAAoB,MAAM,IAAI;AACpE,MAAa,kBAAkB,UAAoB,MAAM,IAAI;AAC7D,MAAa,cAAc,UAAoB,MAAM,IAAI;AACzD,MAAa,eAAe,UAAoB,MAAM,IAAI;AAC1D,MAAa,kBAAkB,UAAoB,MAAM,IAAI;AAC7D,MAAa,yBAAyB,UAAoB,MAAM,IAAI;AACpE,MAAa,mBAAmB,UAAoB,MAAM,IAAI;AAC9D,MAAa,gBAAgB,UAAoB,MAAM,IAAI;AAC3D,MAAa,kBAAkB,UAAoB,MAAM,IAAI;AAC7D,MAAa,mBAAmB,UAAoB,MAAM,IAAI;AAC9D,MAAa,aAAa,UAAoB,MAAM,IAAI;AACxD,MAAa,mBAAmB,UAAoB,MAAM,IAAI;AAC9D,MAAa,0BAA0B,UAAoB,MAAM,IAAI;AACrE,MAAa,kBAAkB,UAAoB,MAAM,IAAI;AAE7D,MAAa,iBAAiB,eAAe,CAAC,UAAU,IAAG,gBAAe,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,MAAM;AAC3G,MAAa,qBAAqB,eAAe,CAAC,cAAc,IAAI,EAAE,gBAAgB,SAAS;AAE/F,MAAa,eAAe,eAAe,CAAC,qBAAqB,IAAI,EAAE,cAAc,YAAY,MAAM"}
@@ -1,5 +1,5 @@
1
- import { n as SearchState } from "../index-BKU1G9-x.cjs";
2
- import { r as RootState, t as AppDispatch } from "../store-Dw8Uo_Df.cjs";
1
+ import { n as SearchState } from "../index-CaNZaXie.cjs";
2
+ import { i as RootState, t as AppDispatch } from "../store-CCvk8X-k.cjs";
3
3
  //#region src/appSlice/thunks.d.ts
4
4
  export declare const setFirstLoginAfterSignup: import("@reduxjs/toolkit").AsyncThunk<void, boolean, {
5
5
  dispatch: AppDispatch;