@northern.tech/store 0.36.0 → 0.36.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/dist/actions.cjs.map +1 -1
  2. package/dist/actions.d.cts +123 -134
  3. package/dist/actions.d.ts +123 -134
  4. package/dist/actions.js.map +1 -1
  5. package/dist/api/general-api.cjs +1 -1
  6. package/dist/api/general-api.cjs.map +1 -1
  7. package/dist/api/general-api.d.cts +9 -10
  8. package/dist/api/general-api.d.ts +9 -10
  9. package/dist/api/general-api.js.map +1 -1
  10. package/dist/api/users-api.cjs +1 -1
  11. package/dist/api/users-api.cjs.map +1 -1
  12. package/dist/api/users-api.d.cts +1 -2
  13. package/dist/api/users-api.d.ts +1 -2
  14. package/dist/api/users-api.js.map +1 -1
  15. package/dist/appSlice/constants.cjs +0 -1
  16. package/dist/appSlice/constants.cjs.map +1 -1
  17. package/dist/appSlice/constants.d.cts +1 -1
  18. package/dist/appSlice/constants.d.ts +1 -1
  19. package/dist/appSlice/constants.js.map +1 -1
  20. package/dist/appSlice/index.cjs +2 -4
  21. package/dist/appSlice/index.cjs.map +1 -1
  22. package/dist/appSlice/index.d.cts +2 -2
  23. package/dist/appSlice/index.d.ts +2 -2
  24. package/dist/appSlice/index.js +2 -3
  25. package/dist/appSlice/index.js.map +1 -1
  26. package/dist/appSlice/mocks.cjs.map +1 -1
  27. package/dist/appSlice/mocks.d.cts +1 -1
  28. package/dist/appSlice/mocks.d.ts +1 -1
  29. package/dist/appSlice/mocks.js.map +1 -1
  30. package/dist/appSlice/selectors.cjs +2 -6
  31. package/dist/appSlice/selectors.cjs.map +1 -1
  32. package/dist/appSlice/selectors.d.cts +35 -128
  33. package/dist/appSlice/selectors.d.ts +35 -128
  34. package/dist/appSlice/selectors.js +2 -5
  35. package/dist/appSlice/selectors.js.map +1 -1
  36. package/dist/appSlice/thunks.cjs +0 -1
  37. package/dist/appSlice/thunks.d.cts +6 -31
  38. package/dist/appSlice/thunks.d.ts +6 -31
  39. package/dist/appSlice/thunks.js +2 -2
  40. package/dist/auth.cjs +1 -1
  41. package/dist/auth.cjs.map +1 -1
  42. package/dist/auth.d.cts +1 -1
  43. package/dist/auth.d.ts +1 -1
  44. package/dist/auth.js.map +1 -1
  45. package/dist/commonConstants.d.cts +1 -1
  46. package/dist/commonConstants.d.ts +1 -1
  47. package/dist/commonSelectors.cjs +1 -1
  48. package/dist/commonSelectors.cjs.map +1 -1
  49. package/dist/commonSelectors.d.cts +164 -166
  50. package/dist/commonSelectors.d.ts +164 -166
  51. package/dist/commonSelectors.js.map +1 -1
  52. package/dist/{constants-CIx3fnBv.d.cts → constants-6kYRTdox.d.cts} +1 -1
  53. package/dist/{constants-BciiayPt.d.ts → constants-6kYRTdox.d.ts} +1 -1
  54. package/dist/{constants-BIIEMVoG.d.ts → constants-B_7FCJQX.d.cts} +3 -6
  55. package/dist/{constants-BFTS6mge.d.cts → constants-B_7FCJQX.d.ts} +3 -6
  56. package/dist/{constants-D41U_jbR.d.cts → constants-BwKiHHaB.d.cts} +1 -1
  57. package/dist/{constants-5cdwz1iH.d.ts → constants-BwKiHHaB.d.ts} +1 -1
  58. package/dist/{constants-DK7fI3Rh.d.cts → constants-Db_RBdlV.d.cts} +1 -1
  59. package/dist/{constants-BWEsNG5c.d.ts → constants-Db_RBdlV.d.ts} +1 -1
  60. package/dist/{constants-CNhpIMME.d.cts → constants-OZiiFKiA.d.cts} +1 -1
  61. package/dist/{constants-y2XVLQWf.d.ts → constants-OZiiFKiA.d.ts} +1 -1
  62. package/dist/{constants-CjO3_FOH.d.ts → constants-OcdoVk6f.d.ts} +3 -4
  63. package/dist/{constants-G3wymKIl.d.cts → constants-Sn4gnNA3.d.cts} +1 -1
  64. package/dist/{constants-Cpgyuy_r.d.ts → constants-Sn4gnNA3.d.ts} +1 -1
  65. package/dist/{constants-BrGIx40B.d.cts → constants-_p6w8uEp.d.cts} +3 -4
  66. package/dist/constants.cjs +0 -1
  67. package/dist/constants.cjs.map +1 -1
  68. package/dist/constants.d.cts +8 -8
  69. package/dist/constants.d.ts +8 -8
  70. package/dist/constants.js.map +1 -1
  71. package/dist/deploymentsSlice/constants.d.cts +1 -1
  72. package/dist/deploymentsSlice/constants.d.ts +1 -1
  73. package/dist/deploymentsSlice/index.cjs +0 -1
  74. package/dist/deploymentsSlice/index.cjs.map +1 -1
  75. package/dist/deploymentsSlice/index.d.cts +1 -1
  76. package/dist/deploymentsSlice/index.d.ts +1 -1
  77. package/dist/deploymentsSlice/index.js.map +1 -1
  78. package/dist/deploymentsSlice/mocks.cjs.map +1 -1
  79. package/dist/deploymentsSlice/mocks.d.cts +1 -1
  80. package/dist/deploymentsSlice/mocks.d.ts +1 -1
  81. package/dist/deploymentsSlice/mocks.js.map +1 -1
  82. package/dist/deploymentsSlice/selectors.cjs +0 -1
  83. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  84. package/dist/deploymentsSlice/selectors.d.cts +15 -16
  85. package/dist/deploymentsSlice/selectors.d.ts +15 -16
  86. package/dist/deploymentsSlice/selectors.js.map +1 -1
  87. package/dist/deploymentsSlice/thunks.d.cts +21 -22
  88. package/dist/deploymentsSlice/thunks.d.ts +21 -22
  89. package/dist/devicesSlice/constants.d.cts +1 -1
  90. package/dist/devicesSlice/constants.d.ts +1 -1
  91. package/dist/devicesSlice/index.cjs +0 -1
  92. package/dist/devicesSlice/index.cjs.map +1 -1
  93. package/dist/devicesSlice/index.d.cts +1 -1
  94. package/dist/devicesSlice/index.d.ts +1 -1
  95. package/dist/devicesSlice/index.js.map +1 -1
  96. package/dist/devicesSlice/mocks.cjs +0 -1
  97. package/dist/devicesSlice/mocks.cjs.map +1 -1
  98. package/dist/devicesSlice/mocks.js.map +1 -1
  99. package/dist/devicesSlice/selectors.cjs +0 -1
  100. package/dist/devicesSlice/selectors.cjs.map +1 -1
  101. package/dist/devicesSlice/selectors.d.cts +79 -81
  102. package/dist/devicesSlice/selectors.d.ts +79 -81
  103. package/dist/devicesSlice/selectors.js.map +1 -1
  104. package/dist/devicesSlice/thunks.d.cts +67 -69
  105. package/dist/devicesSlice/thunks.d.ts +67 -69
  106. package/dist/{index-DUvrw_Ed.d.ts → index-5Q-iI4EB.d.cts} +17 -20
  107. package/dist/index-BBsUj1a8.d.ts +68 -0
  108. package/dist/index-BLvjQfGj.d.ts +119 -0
  109. package/dist/{index-BP0uAq36.d.cts → index-Bb4yvvgG.d.ts} +25 -28
  110. package/dist/index-Bj3OArhr.d.cts +68 -0
  111. package/dist/{index-CT5hgXm9.d.cts → index-ByfjrTdH.d.ts} +16 -19
  112. package/dist/index-C8QadAm7.d.cts +119 -0
  113. package/dist/{index-BI9O8JWe.d.ts → index-CPdMUfRr.d.ts} +41 -44
  114. package/dist/index-CSk4ENmk.d.cts +149 -0
  115. package/dist/index-Cf81vLTi.d.ts +149 -0
  116. package/dist/index-DBUt8xVc.d.cts +61 -0
  117. package/dist/index-DBUt8xVc.d.ts +61 -0
  118. package/dist/index-DLDY7bNT.d.ts +165 -0
  119. package/dist/{index-B64X5ozM.d.cts → index-DbfM03Gj.d.cts} +42 -45
  120. package/dist/{index-CkwVnIqd.d.ts → index-EPmsL6Lb.d.cts} +26 -29
  121. package/dist/index-Zs9RnVoR.d.cts +165 -0
  122. package/dist/liststatehook.cjs +5 -6
  123. package/dist/liststatehook.cjs.map +1 -1
  124. package/dist/liststatehook.d.cts +1 -1
  125. package/dist/liststatehook.d.ts +1 -1
  126. package/dist/liststatehook.js +1 -1
  127. package/dist/liststatehook.js.map +1 -1
  128. package/dist/locationutils.cjs +0 -1
  129. package/dist/locationutils.cjs.map +1 -1
  130. package/dist/locationutils.d.cts +3 -3
  131. package/dist/locationutils.d.ts +3 -3
  132. package/dist/locationutils.js.map +1 -1
  133. package/dist/monitorSlice/constants.d.cts +1 -1
  134. package/dist/monitorSlice/constants.d.ts +1 -1
  135. package/dist/monitorSlice/index.cjs +0 -1
  136. package/dist/monitorSlice/index.cjs.map +1 -1
  137. package/dist/monitorSlice/index.d.cts +1 -1
  138. package/dist/monitorSlice/index.d.ts +1 -1
  139. package/dist/monitorSlice/index.js.map +1 -1
  140. package/dist/monitorSlice/mocks.cjs +0 -1
  141. package/dist/monitorSlice/mocks.cjs.map +1 -1
  142. package/dist/monitorSlice/mocks.d.cts +1 -1
  143. package/dist/monitorSlice/mocks.d.ts +1 -1
  144. package/dist/monitorSlice/mocks.js.map +1 -1
  145. package/dist/monitorSlice/selectors.d.cts +1 -1
  146. package/dist/monitorSlice/selectors.d.ts +1 -1
  147. package/dist/monitorSlice/thunks.cjs +1 -3
  148. package/dist/monitorSlice/thunks.cjs.map +1 -1
  149. package/dist/monitorSlice/thunks.d.cts +11 -13
  150. package/dist/monitorSlice/thunks.d.ts +11 -13
  151. package/dist/monitorSlice/thunks.js +1 -2
  152. package/dist/monitorSlice/thunks.js.map +1 -1
  153. package/dist/onboardingSlice/constants.cjs.map +1 -1
  154. package/dist/onboardingSlice/constants.d.cts +1 -1
  155. package/dist/onboardingSlice/constants.d.ts +1 -1
  156. package/dist/onboardingSlice/constants.js.map +1 -1
  157. package/dist/onboardingSlice/index.cjs +0 -1
  158. package/dist/onboardingSlice/index.cjs.map +1 -1
  159. package/dist/onboardingSlice/index.d.cts +1 -1
  160. package/dist/onboardingSlice/index.d.ts +1 -1
  161. package/dist/onboardingSlice/index.js.map +1 -1
  162. package/dist/onboardingSlice/mocks.cjs.map +1 -1
  163. package/dist/onboardingSlice/mocks.d.cts +1 -1
  164. package/dist/onboardingSlice/mocks.d.ts +1 -1
  165. package/dist/onboardingSlice/mocks.js.map +1 -1
  166. package/dist/onboardingSlice/selectors.d.cts +2 -2
  167. package/dist/onboardingSlice/selectors.d.ts +2 -2
  168. package/dist/onboardingSlice/thunks.d.cts +22 -23
  169. package/dist/onboardingSlice/thunks.d.ts +22 -23
  170. package/dist/organizationSlice/constants.d.cts +1 -1
  171. package/dist/organizationSlice/constants.d.ts +1 -1
  172. package/dist/organizationSlice/index.cjs +0 -1
  173. package/dist/organizationSlice/index.cjs.map +1 -1
  174. package/dist/organizationSlice/index.d.cts +1 -1
  175. package/dist/organizationSlice/index.d.ts +1 -1
  176. package/dist/organizationSlice/index.js.map +1 -1
  177. package/dist/organizationSlice/mocks.cjs +0 -1
  178. package/dist/organizationSlice/mocks.cjs.map +1 -1
  179. package/dist/organizationSlice/mocks.d.cts +3 -4
  180. package/dist/organizationSlice/mocks.d.ts +3 -4
  181. package/dist/organizationSlice/mocks.js.map +1 -1
  182. package/dist/organizationSlice/selectors.cjs +0 -1
  183. package/dist/organizationSlice/selectors.cjs.map +1 -1
  184. package/dist/organizationSlice/selectors.d.cts +78 -81
  185. package/dist/organizationSlice/selectors.d.ts +78 -81
  186. package/dist/organizationSlice/selectors.js.map +1 -1
  187. package/dist/organizationSlice/thunks.d.cts +69 -72
  188. package/dist/organizationSlice/thunks.d.ts +69 -72
  189. package/dist/organizationSlice/types.d.cts +1 -1
  190. package/dist/organizationSlice/types.d.ts +1 -1
  191. package/dist/releasesSlice/constants.cjs.map +1 -1
  192. package/dist/releasesSlice/constants.d.cts +1 -1
  193. package/dist/releasesSlice/constants.d.ts +1 -1
  194. package/dist/releasesSlice/constants.js.map +1 -1
  195. package/dist/releasesSlice/index.cjs +0 -1
  196. package/dist/releasesSlice/index.cjs.map +1 -1
  197. package/dist/releasesSlice/index.d.cts +1 -1
  198. package/dist/releasesSlice/index.d.ts +1 -1
  199. package/dist/releasesSlice/index.js.map +1 -1
  200. package/dist/releasesSlice/mocks.cjs +0 -1
  201. package/dist/releasesSlice/mocks.cjs.map +1 -1
  202. package/dist/releasesSlice/mocks.d.cts +3 -6
  203. package/dist/releasesSlice/mocks.d.ts +3 -6
  204. package/dist/releasesSlice/mocks.js.map +1 -1
  205. package/dist/releasesSlice/selectors.cjs +0 -1
  206. package/dist/releasesSlice/selectors.cjs.map +1 -1
  207. package/dist/releasesSlice/selectors.d.cts +107 -110
  208. package/dist/releasesSlice/selectors.d.ts +107 -110
  209. package/dist/releasesSlice/selectors.js.map +1 -1
  210. package/dist/releasesSlice/thunks.cjs +4 -5
  211. package/dist/releasesSlice/thunks.cjs.map +1 -1
  212. package/dist/releasesSlice/thunks.d.cts +52 -55
  213. package/dist/releasesSlice/thunks.d.ts +52 -55
  214. package/dist/releasesSlice/thunks.js +3 -4
  215. package/dist/releasesSlice/thunks.js.map +1 -1
  216. package/dist/sockethook.cjs +1 -1
  217. package/dist/sockethook.cjs.map +1 -1
  218. package/dist/sockethook.js.map +1 -1
  219. package/dist/{store-BZo47jc-.d.ts → store-Co2ptTSm.d.ts} +30 -35
  220. package/dist/{store-BhRxVhtL.d.cts → store-Dd0Y2JCN.d.cts} +30 -35
  221. package/dist/store.cjs +0 -1
  222. package/dist/store.cjs.map +1 -1
  223. package/dist/store.d.cts +3 -3
  224. package/dist/store.d.ts +3 -3
  225. package/dist/store.js.map +1 -1
  226. package/dist/storehooks.cjs +6 -14
  227. package/dist/storehooks.cjs.map +1 -1
  228. package/dist/storehooks.d.cts +6 -43
  229. package/dist/storehooks.d.ts +6 -43
  230. package/dist/storehooks.js +7 -15
  231. package/dist/storehooks.js.map +1 -1
  232. package/dist/thunks.cjs +4 -44
  233. package/dist/thunks.cjs.map +1 -1
  234. package/dist/thunks.d.cts +2 -2
  235. package/dist/thunks.d.ts +2 -2
  236. package/dist/thunks.js +5 -44
  237. package/dist/thunks.js.map +1 -1
  238. package/dist/{types-COdPU2QQ.d.cts → types-B33vKVhi.d.cts} +4 -4
  239. package/dist/{types-BPyM8Inu.d.ts → types-BjtmX60L.d.ts} +4 -4
  240. package/dist/useDeploymentDevice.cjs +1 -1
  241. package/dist/useDeploymentDevice.cjs.map +1 -1
  242. package/dist/useDeploymentDevice.js.map +1 -1
  243. package/dist/usersSlice/constants.d.cts +1 -1
  244. package/dist/usersSlice/constants.d.ts +1 -1
  245. package/dist/usersSlice/index.cjs +0 -1
  246. package/dist/usersSlice/index.cjs.map +1 -1
  247. package/dist/usersSlice/index.d.cts +1 -1
  248. package/dist/usersSlice/index.d.ts +1 -1
  249. package/dist/usersSlice/index.js.map +1 -1
  250. package/dist/usersSlice/mocks.cjs +0 -1
  251. package/dist/usersSlice/mocks.cjs.map +1 -1
  252. package/dist/usersSlice/mocks.d.cts +4 -6
  253. package/dist/usersSlice/mocks.d.ts +4 -6
  254. package/dist/usersSlice/mocks.js.map +1 -1
  255. package/dist/usersSlice/selectors.cjs +0 -1
  256. package/dist/usersSlice/selectors.cjs.map +1 -1
  257. package/dist/usersSlice/selectors.d.cts +44 -47
  258. package/dist/usersSlice/selectors.d.ts +44 -47
  259. package/dist/usersSlice/selectors.js.map +1 -1
  260. package/dist/usersSlice/thunks.d.cts +92 -95
  261. package/dist/usersSlice/thunks.d.ts +92 -95
  262. package/dist/{utils-CHBWS_tH.d.ts → utils-C_9XEfi_.d.ts} +8 -9
  263. package/dist/{utils-Do9z5TL1.d.cts → utils-DbXmZmGq.d.cts} +8 -9
  264. package/dist/utils.cjs +0 -3
  265. package/dist/utils.cjs.map +1 -1
  266. package/dist/utils.d.cts +2 -2
  267. package/dist/utils.d.ts +2 -2
  268. package/dist/utils.js +1 -2
  269. package/dist/utils.js.map +1 -1
  270. package/package.json +7 -7
  271. package/dist/index-B3IF6ur9.d.cts +0 -168
  272. package/dist/index-BFlHWzjv.d.cts +0 -152
  273. package/dist/index-BbaS7MzW.d.cts +0 -71
  274. package/dist/index-Bp1WpATs.d.ts +0 -154
  275. package/dist/index-C6wNUfiV.d.ts +0 -71
  276. package/dist/index-CJkrL0oA.d.ts +0 -64
  277. package/dist/index-DaD3yorF.d.ts +0 -168
  278. package/dist/index-DwACbyUg.d.cts +0 -154
  279. package/dist/index-UPc3wvVd.d.cts +0 -64
  280. package/dist/index-ez3oxfRo.d.ts +0 -152
  281. /package/dist/{chunk-CKQMccvm.cjs → chunk-D6vf50IK.cjs} +0 -0
@@ -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 gateway: { id: 'gateway', benefit: 'see devices connected to your gateway device for easy access', requiredPlans: 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":"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"}
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 gateway: { id: 'gateway', benefit: 'see devices connected to your gateway device for easy access', requiredPlans: 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":"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"}
@@ -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-BFTS6mge.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-B_7FCJQX.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-BIIEMVoG.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-B_7FCJQX.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 +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 gateway: { id: 'gateway', benefit: 'see devices connected to your gateway device for easy access', requiredPlans: 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":"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"}
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 gateway: { id: 'gateway', benefit: 'see devices connected to your gateway device for easy access', requiredPlans: 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":"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"}
@@ -2,7 +2,6 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- require("../chunk-CKQMccvm.cjs");
6
5
  let _reduxjs_toolkit = require("@reduxjs/toolkit");
7
6
  let _northern_tech_utils_constants = require("@northern.tech/utils/constants");
8
7
  //#region src/appSlice/index.ts
@@ -62,9 +61,8 @@ const initialState = {
62
61
  newThreshold: getYesterday(),
63
62
  offlineThreshold: getYesterday(),
64
63
  versionInformation: {
65
- Integration: "",
66
- "Mender-Artifact": "",
67
- "Meta-Mender": ""
64
+ docsVersion: "",
65
+ version: ""
68
66
  },
69
67
  yesterday: void 0
70
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["SORTING_OPTIONS"],"sources":["../../src/appSlice/index.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 type { SnackbarProps } from '@mui/material';\n\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport type { SortOptions } from '../constants';\nimport { SORTING_OPTIONS } from '../constants';\n\nexport const sliceName = 'app';\n\nconst getYesterday = () => {\n const today = new Date();\n today.setDate(today.getDate() - 1);\n return today.toISOString();\n};\n\nexport type Repository = {\n name: string;\n version: string;\n};\n\nexport type VersionRelease = Partial<{ [versionInfo: string]: VersionRelease }> & {\n release?: string;\n release_date?: string;\n repos?: Repository[];\n supported_until?: string;\n};\n\nexport type SaasVersion = {\n date: string;\n tag: string;\n};\n\nexport type ReleaseData = {\n lts: string[];\n releases: {\n [version: string]: VersionRelease;\n };\n saas: SaasVersion[];\n};\nexport type TagData = { name: string }[];\n\nexport interface SnackbarContent extends Pick<SnackbarProps, 'action' | 'autoHideDuration' | 'message' | 'open'> {\n preventClickToCopy?: boolean;\n}\n\nexport interface SearchState {\n deviceIds: string[];\n isSearching: boolean;\n page?: number;\n perPage?: number;\n searchTerm: string;\n searchTotal: number;\n sort: SortOptions;\n}\n\nexport interface Upload {\n cancelSource: any;\n inprogress?: boolean;\n name?: string;\n progress: number;\n size?: number;\n}\n\ntype UILatestRelease = {\n releaseDate: string;\n repos: Record<string, string>;\n};\n\ntype VersionInformation = {\n [key: string]: string | UILatestRelease | undefined;\n backend?: string;\n GUI?: string;\n latestRelease?: UILatestRelease;\n};\n\nexport type SentryConfig = {\n isReduxEnabled?: string; // no parsing done here as this has to be accessed outside of the store\n location: string;\n replaysSessionSampleRate?: number;\n tracesSampleRate?: number;\n};\n\nexport type AppSliceType = {\n appInitDone: boolean;\n cancelSource: any;\n commit: string;\n demoArtifactLink: string;\n docsVersion: string;\n features: Record<string, boolean>;\n feedbackProbability: number;\n firstLoginAfterSignup: boolean;\n hostAddress: string | null;\n hostedAnnouncement: string;\n newThreshold: string;\n offlineThreshold: string;\n recaptchaSiteKey: string;\n searchState: SearchState;\n sentry: SentryConfig;\n snackbar: SnackbarContent;\n stripeAPIKey: string;\n trackerCode: string;\n uploadsById: Record<string, Upload>;\n versionInformation: VersionInformation;\n yesterday?: string;\n};\n\nexport const initialState: AppSliceType = {\n appInitDone: false,\n cancelSource: undefined,\n commit: '',\n demoArtifactLink: 'https://dgsbl4vditpls.cloudfront.net/mender-demo-artifact.mender',\n hostAddress: null,\n snackbar: {\n action: undefined,\n autoHideDuration: undefined,\n message: '',\n open: false,\n preventClickToCopy: false\n },\n // return boolean rather than organization details\n features: {\n hasAiEnabled: false,\n hasAuditlogs: false,\n hasDeltaProgress: false,\n hasMultitenancy: false,\n hasDeviceConfig: false,\n hasDeviceConnect: false,\n hasFeedbackEnabled: false,\n hasManifestsEnabled: false,\n hasMonitor: false,\n hasMCUEnabled: false,\n isHosted: true,\n isEnterprise: false\n },\n feedbackProbability: 0.3,\n firstLoginAfterSignup: false,\n hostedAnnouncement: '',\n docsVersion: '',\n recaptchaSiteKey: '',\n searchState: {\n deviceIds: [],\n searchTerm: '',\n searchTotal: 0,\n isSearching: false,\n sort: {\n direction: SORTING_OPTIONS.desc\n // key: null,\n // scope: null\n }\n },\n sentry: {\n location: '',\n replaysSessionSampleRate: 0.1,\n tracesSampleRate: 1.0\n },\n stripeAPIKey: '',\n trackerCode: '',\n uploadsById: {\n // id: { progress: 0, cancelSource: undefined }\n },\n newThreshold: getYesterday(),\n offlineThreshold: getYesterday(),\n versionInformation: {\n Integration: '',\n 'Mender-Artifact': '',\n 'Meta-Mender': ''\n },\n yesterday: undefined\n};\n\nexport const appSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n setFeatures: (state, action: PayloadAction<Record<string, boolean>>) => {\n state.features = {\n ...state.features,\n ...action.payload\n };\n },\n setSnackbar: (state, { payload }: PayloadAction<SnackbarContent | string>) => {\n if (typeof payload === 'string' || payload instanceof String) {\n state.snackbar = {\n ...initialState.snackbar,\n message: payload,\n open: !!payload\n };\n return;\n }\n const { message, autoHideDuration, action, preventClickToCopy = false } = payload;\n state.snackbar = {\n message,\n autoHideDuration,\n action,\n preventClickToCopy,\n open: !!message\n };\n },\n setFirstLoginAfterSignup: (state, action: PayloadAction<boolean>) => {\n state.firstLoginAfterSignup = action.payload;\n },\n setAnnouncement: (state, action: PayloadAction<string>) => {\n state.hostedAnnouncement = action.payload;\n },\n setSearchState: (state, action) => {\n state.searchState = {\n ...state.searchState,\n ...action.payload\n };\n },\n setOfflineThreshold: (state, action: PayloadAction<string>) => {\n state.offlineThreshold = action.payload;\n },\n initUpload: (state, action: PayloadAction<{ id: string; upload: Upload }>) => {\n const { id, upload } = action.payload;\n state.uploadsById[id] = upload;\n },\n uploadProgress: (state, action: PayloadAction<{ id: string; progress: number }>) => {\n const { id, progress } = action.payload;\n state.uploadsById[id] = {\n ...state.uploadsById[id],\n progress\n };\n },\n cleanUpUpload: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: current, ...remainder } = state.uploadsById;\n state.uploadsById = remainder;\n },\n setVersionInformation: (state, action: PayloadAction<VersionInformation>) => {\n state.versionInformation = {\n ...state.versionInformation,\n ...action.payload\n };\n },\n setEnvironmentData: (state, action) => ({ ...state, ...action.payload }),\n setAppInitDone: state => {\n state.appInitDone = true;\n }\n }\n});\n\nexport const actions = appSlice.actions;\nexport default appSlice.reducer;\n"],"mappings":";;;;;;;;AAqBA,MAAa,YAAY;AAEzB,MAAM,qBAAqB;CACzB,MAAM,wBAAQ,IAAI,MAAM;CACxB,MAAM,QAAQ,MAAM,SAAS,GAAG,EAAE;CAClC,OAAO,MAAM,aAAa;;AA8F5B,MAAa,eAA6B;CACxC,aAAa;CACb,cAAc,KAAA;CACd,QAAQ;CACR,kBAAkB;CAClB,aAAa;CACb,UAAU;EACR,QAAQ,KAAA;EACR,kBAAkB,KAAA;EAClB,SAAS;EACT,MAAM;EACN,oBAAoB;EACrB;CAED,UAAU;EACR,cAAc;EACd,cAAc;EACd,kBAAkB;EAClB,iBAAiB;EACjB,iBAAiB;EACjB,kBAAkB;EAClB,oBAAoB;EACpB,qBAAqB;EACrB,YAAY;EACZ,eAAe;EACf,UAAU;EACV,cAAc;EACf;CACD,qBAAqB;CACrB,uBAAuB;CACvB,oBAAoB;CACpB,aAAa;CACb,kBAAkB;CAClB,aAAa;EACX,WAAW,EAAE;EACb,YAAY;EACZ,aAAa;EACb,aAAa;EACb,MAAM,EACJ,WAAWA,+BAAAA,gBAAgB,MAG5B;EACF;CACD,QAAQ;EACN,UAAU;EACV,0BAA0B;EAC1B,kBAAkB;EACnB;CACD,cAAc;CACd,aAAa;CACb,aAAa,EAEZ;CACD,cAAc,cAAc;CAC5B,kBAAkB,cAAc;CAChC,oBAAoB;EAClB,aAAa;EACb,mBAAmB;EACnB,eAAe;EAChB;CACD,WAAW,KAAA;CACZ;AAED,MAAa,YAAA,GAAA,iBAAA,aAAuB;CAClC,MAAA;CACA;CACA,UAAU;EACR,cAAc,OAAO,WAAmD;GACtE,MAAM,WAAW;IACf,GAAG,MAAM;IACT,GAAG,OAAO;IACX;;EAEH,cAAc,OAAO,EAAE,cAAuD;GAC5E,IAAI,OAAO,YAAY,YAAY,mBAAmB,QAAQ;IAC5D,MAAM,WAAW;KACf,GAAG,aAAa;KAChB,SAAS;KACT,MAAM,CAAC,CAAC;KACT;IACD;;GAEF,MAAM,EAAE,SAAS,kBAAkB,QAAQ,qBAAqB,UAAU;GAC1E,MAAM,WAAW;IACf;IACA;IACA;IACA;IACA,MAAM,CAAC,CAAC;IACT;;EAEH,2BAA2B,OAAO,WAAmC;GACnE,MAAM,wBAAwB,OAAO;;EAEvC,kBAAkB,OAAO,WAAkC;GACzD,MAAM,qBAAqB,OAAO;;EAEpC,iBAAiB,OAAO,WAAW;GACjC,MAAM,cAAc;IAClB,GAAG,MAAM;IACT,GAAG,OAAO;IACX;;EAEH,sBAAsB,OAAO,WAAkC;GAC7D,MAAM,mBAAmB,OAAO;;EAElC,aAAa,OAAO,WAA0D;GAC5E,MAAM,EAAE,IAAI,WAAW,OAAO;GAC9B,MAAM,YAAY,MAAM;;EAE1B,iBAAiB,OAAO,WAA4D;GAClF,MAAM,EAAE,IAAI,aAAa,OAAO;GAChC,MAAM,YAAY,MAAM;IACtB,GAAG,MAAM,YAAY;IACrB;IACD;;EAEH,gBAAgB,OAAO,WAAkC;GAEvD,MAAM,GAAG,OAAO,UAAU,SAAS,GAAG,cAAc,MAAM;GAC1D,MAAM,cAAc;;EAEtB,wBAAwB,OAAO,WAA8C;GAC3E,MAAM,qBAAqB;IACzB,GAAG,MAAM;IACT,GAAG,OAAO;IACX;;EAEH,qBAAqB,OAAO,YAAY;GAAE,GAAG;GAAO,GAAG,OAAO;GAAS;EACvE,iBAAgB,UAAS;GACvB,MAAM,cAAc;;EAEvB;CACF,CAAC;AAEF,MAAa,UAAU,SAAS;AAChC,IAAA,mBAAe,SAAS"}
1
+ {"version":3,"file":"index.cjs","names":["SORTING_OPTIONS"],"sources":["../../src/appSlice/index.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 type { SnackbarProps } from '@mui/material';\n\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport type { SortOptions } from '../constants';\nimport { SORTING_OPTIONS } from '../constants';\n\nexport const sliceName = 'app';\n\nconst getYesterday = () => {\n const today = new Date();\n today.setDate(today.getDate() - 1);\n return today.toISOString();\n};\n\nexport interface SnackbarContent extends Pick<SnackbarProps, 'action' | 'autoHideDuration' | 'message' | 'open'> {\n preventClickToCopy?: boolean;\n}\n\nexport interface SearchState {\n deviceIds: string[];\n isSearching: boolean;\n page?: number;\n perPage?: number;\n searchTerm: string;\n searchTotal: number;\n sort: SortOptions;\n}\n\nexport interface Upload {\n cancelSource: any;\n inprogress?: boolean;\n name?: string;\n progress: number;\n size?: number;\n}\n\ntype VersionInformation = {\n docsVersion?: string;\n version?: string;\n};\n\nexport type SentryConfig = {\n isReduxEnabled?: string; // no parsing done here as this has to be accessed outside of the store\n location: string;\n replaysSessionSampleRate?: number;\n tracesSampleRate?: number;\n};\n\nexport type AppSliceType = {\n appInitDone: boolean;\n cancelSource: any;\n commit: string;\n demoArtifactLink: string;\n docsVersion: string;\n features: Record<string, boolean>;\n feedbackProbability: number;\n firstLoginAfterSignup: boolean;\n hostAddress: string | null;\n hostedAnnouncement: string;\n newThreshold: string;\n offlineThreshold: string;\n recaptchaSiteKey: string;\n searchState: SearchState;\n sentry: SentryConfig;\n snackbar: SnackbarContent;\n stripeAPIKey: string;\n trackerCode: string;\n uploadsById: Record<string, Upload>;\n versionInformation: VersionInformation;\n yesterday?: string;\n};\n\nexport const initialState: AppSliceType = {\n appInitDone: false,\n cancelSource: undefined,\n commit: '',\n demoArtifactLink: 'https://dgsbl4vditpls.cloudfront.net/mender-demo-artifact.mender',\n hostAddress: null,\n snackbar: {\n action: undefined,\n autoHideDuration: undefined,\n message: '',\n open: false,\n preventClickToCopy: false\n },\n // return boolean rather than organization details\n features: {\n hasAiEnabled: false,\n hasAuditlogs: false,\n hasDeltaProgress: false,\n hasMultitenancy: false,\n hasDeviceConfig: false,\n hasDeviceConnect: false,\n hasFeedbackEnabled: false,\n hasManifestsEnabled: false,\n hasMonitor: false,\n hasMCUEnabled: false,\n isHosted: true,\n isEnterprise: false\n },\n feedbackProbability: 0.3,\n firstLoginAfterSignup: false,\n hostedAnnouncement: '',\n docsVersion: '',\n recaptchaSiteKey: '',\n searchState: {\n deviceIds: [],\n searchTerm: '',\n searchTotal: 0,\n isSearching: false,\n sort: {\n direction: SORTING_OPTIONS.desc\n // key: null,\n // scope: null\n }\n },\n sentry: {\n location: '',\n replaysSessionSampleRate: 0.1,\n tracesSampleRate: 1.0\n },\n stripeAPIKey: '',\n trackerCode: '',\n uploadsById: {\n // id: { progress: 0, cancelSource: undefined }\n },\n newThreshold: getYesterday(),\n offlineThreshold: getYesterday(),\n versionInformation: { docsVersion: '', version: '' },\n yesterday: undefined\n};\n\nexport const appSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n setFeatures: (state, action: PayloadAction<Record<string, boolean>>) => {\n state.features = {\n ...state.features,\n ...action.payload\n };\n },\n setSnackbar: (state, { payload }: PayloadAction<SnackbarContent | string>) => {\n if (typeof payload === 'string' || payload instanceof String) {\n state.snackbar = {\n ...initialState.snackbar,\n message: payload,\n open: !!payload\n };\n return;\n }\n const { message, autoHideDuration, action, preventClickToCopy = false } = payload;\n state.snackbar = {\n message,\n autoHideDuration,\n action,\n preventClickToCopy,\n open: !!message\n };\n },\n setFirstLoginAfterSignup: (state, action: PayloadAction<boolean>) => {\n state.firstLoginAfterSignup = action.payload;\n },\n setAnnouncement: (state, action: PayloadAction<string>) => {\n state.hostedAnnouncement = action.payload;\n },\n setSearchState: (state, action) => {\n state.searchState = {\n ...state.searchState,\n ...action.payload\n };\n },\n setOfflineThreshold: (state, action: PayloadAction<string>) => {\n state.offlineThreshold = action.payload;\n },\n initUpload: (state, action: PayloadAction<{ id: string; upload: Upload }>) => {\n const { id, upload } = action.payload;\n state.uploadsById[id] = upload;\n },\n uploadProgress: (state, action: PayloadAction<{ id: string; progress: number }>) => {\n const { id, progress } = action.payload;\n state.uploadsById[id] = {\n ...state.uploadsById[id],\n progress\n };\n },\n cleanUpUpload: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: current, ...remainder } = state.uploadsById;\n state.uploadsById = remainder;\n },\n setVersionInformation: (state, action: PayloadAction<VersionInformation>) => {\n state.versionInformation = {\n ...state.versionInformation,\n ...action.payload\n };\n },\n setEnvironmentData: (state, action) => ({ ...state, ...action.payload }),\n setAppInitDone: state => {\n state.appInitDone = true;\n }\n }\n});\n\nexport const actions = appSlice.actions;\nexport default appSlice.reducer;\n"],"mappings":";;;;;;;AAqBA,MAAa,YAAY;AAEzB,MAAM,qBAAqB;CACzB,MAAM,wBAAQ,IAAI,KAAK;CACvB,MAAM,QAAQ,MAAM,QAAQ,IAAI,CAAC;CACjC,OAAO,MAAM,YAAY;AAC3B;AA4DA,MAAa,eAA6B;CACxC,aAAa;CACb,cAAc,KAAA;CACd,QAAQ;CACR,kBAAkB;CAClB,aAAa;CACb,UAAU;EACR,QAAQ,KAAA;EACR,kBAAkB,KAAA;EAClB,SAAS;EACT,MAAM;EACN,oBAAoB;CACtB;CAEA,UAAU;EACR,cAAc;EACd,cAAc;EACd,kBAAkB;EAClB,iBAAiB;EACjB,iBAAiB;EACjB,kBAAkB;EAClB,oBAAoB;EACpB,qBAAqB;EACrB,YAAY;EACZ,eAAe;EACf,UAAU;EACV,cAAc;CAChB;CACA,qBAAqB;CACrB,uBAAuB;CACvB,oBAAoB;CACpB,aAAa;CACb,kBAAkB;CAClB,aAAa;EACX,WAAW,CAAC;EACZ,YAAY;EACZ,aAAa;EACb,aAAa;EACb,MAAM,EACJ,WAAWA,+BAAAA,gBAAgB,KAG7B;CACF;CACA,QAAQ;EACN,UAAU;EACV,0BAA0B;EAC1B,kBAAkB;CACpB;CACA,cAAc;CACd,aAAa;CACb,aAAa,CAEb;CACA,cAAc,aAAa;CAC3B,kBAAkB,aAAa;CAC/B,oBAAoB;EAAE,aAAa;EAAI,SAAS;CAAG;CACnD,WAAW,KAAA;AACb;AAEA,MAAa,YAAA,GAAA,iBAAA,aAAuB;CAClC,MAAA;CACA;CACA,UAAU;EACR,cAAc,OAAO,WAAmD;GACtE,MAAM,WAAW;IACf,GAAG,MAAM;IACT,GAAG,OAAO;GACZ;EACF;EACA,cAAc,OAAO,EAAE,cAAuD;GAC5E,IAAI,OAAO,YAAY,YAAY,mBAAmB,QAAQ;IAC5D,MAAM,WAAW;KACf,GAAG,aAAa;KAChB,SAAS;KACT,MAAM,CAAC,CAAC;IACV;IACA;GACF;GACA,MAAM,EAAE,SAAS,kBAAkB,QAAQ,qBAAqB,UAAU;GAC1E,MAAM,WAAW;IACf;IACA;IACA;IACA;IACA,MAAM,CAAC,CAAC;GACV;EACF;EACA,2BAA2B,OAAO,WAAmC;GACnE,MAAM,wBAAwB,OAAO;EACvC;EACA,kBAAkB,OAAO,WAAkC;GACzD,MAAM,qBAAqB,OAAO;EACpC;EACA,iBAAiB,OAAO,WAAW;GACjC,MAAM,cAAc;IAClB,GAAG,MAAM;IACT,GAAG,OAAO;GACZ;EACF;EACA,sBAAsB,OAAO,WAAkC;GAC7D,MAAM,mBAAmB,OAAO;EAClC;EACA,aAAa,OAAO,WAA0D;GAC5E,MAAM,EAAE,IAAI,WAAW,OAAO;GAC9B,MAAM,YAAY,MAAM;EAC1B;EACA,iBAAiB,OAAO,WAA4D;GAClF,MAAM,EAAE,IAAI,aAAa,OAAO;GAChC,MAAM,YAAY,MAAM;IACtB,GAAG,MAAM,YAAY;IACrB;GACF;EACF;EACA,gBAAgB,OAAO,WAAkC;GAEvD,MAAM,GAAG,OAAO,UAAU,SAAS,GAAG,cAAc,MAAM;GAC1D,MAAM,cAAc;EACtB;EACA,wBAAwB,OAAO,WAA8C;GAC3E,MAAM,qBAAqB;IACzB,GAAG,MAAM;IACT,GAAG,OAAO;GACZ;EACF;EACA,qBAAqB,OAAO,YAAY;GAAE,GAAG;GAAO,GAAG,OAAO;EAAQ;EACtE,iBAAgB,UAAS;GACvB,MAAM,cAAc;EACtB;CACF;AACF,CAAC;AAED,MAAa,UAAU,SAAS;AAChC,IAAA,mBAAe,SAAS"}
@@ -1,2 +1,2 @@
1
- import { a as SearchState, c as TagData, d as _default, f as actions, h as sliceName, i as SaasVersion, l as Upload, m as initialState, n as ReleaseData, o as SentryConfig, p as appSlice, r as Repository, s as SnackbarContent, t as AppSliceType, u as VersionRelease } from "../index-DwACbyUg.cjs";
2
- export { AppSliceType, ReleaseData, Repository, SaasVersion, SearchState, SentryConfig, SnackbarContent, TagData, Upload, VersionRelease, actions, appSlice, _default as default, initialState, sliceName };
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-C8QadAm7.cjs";
2
+ export { AppSliceType, SearchState, SentryConfig, SnackbarContent, Upload, actions, appSlice, _default as default, initialState, sliceName };
@@ -1,2 +1,2 @@
1
- import { a as SearchState, c as TagData, d as _default, f as actions, h as sliceName, i as SaasVersion, l as Upload, m as initialState, n as ReleaseData, o as SentryConfig, p as appSlice, r as Repository, s as SnackbarContent, t as AppSliceType, u as VersionRelease } from "../index-Bp1WpATs.js";
2
- export { AppSliceType, ReleaseData, Repository, SaasVersion, SearchState, SentryConfig, SnackbarContent, TagData, Upload, VersionRelease, actions, appSlice, _default as default, initialState, sliceName };
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-BLvjQfGj.js";
2
+ export { AppSliceType, SearchState, SentryConfig, SnackbarContent, Upload, actions, appSlice, _default as default, initialState, sliceName };
@@ -57,9 +57,8 @@ const initialState = {
57
57
  newThreshold: getYesterday(),
58
58
  offlineThreshold: getYesterday(),
59
59
  versionInformation: {
60
- Integration: "",
61
- "Mender-Artifact": "",
62
- "Meta-Mender": ""
60
+ docsVersion: "",
61
+ version: ""
63
62
  },
64
63
  yesterday: void 0
65
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/appSlice/index.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 type { SnackbarProps } from '@mui/material';\n\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport type { SortOptions } from '../constants';\nimport { SORTING_OPTIONS } from '../constants';\n\nexport const sliceName = 'app';\n\nconst getYesterday = () => {\n const today = new Date();\n today.setDate(today.getDate() - 1);\n return today.toISOString();\n};\n\nexport type Repository = {\n name: string;\n version: string;\n};\n\nexport type VersionRelease = Partial<{ [versionInfo: string]: VersionRelease }> & {\n release?: string;\n release_date?: string;\n repos?: Repository[];\n supported_until?: string;\n};\n\nexport type SaasVersion = {\n date: string;\n tag: string;\n};\n\nexport type ReleaseData = {\n lts: string[];\n releases: {\n [version: string]: VersionRelease;\n };\n saas: SaasVersion[];\n};\nexport type TagData = { name: string }[];\n\nexport interface SnackbarContent extends Pick<SnackbarProps, 'action' | 'autoHideDuration' | 'message' | 'open'> {\n preventClickToCopy?: boolean;\n}\n\nexport interface SearchState {\n deviceIds: string[];\n isSearching: boolean;\n page?: number;\n perPage?: number;\n searchTerm: string;\n searchTotal: number;\n sort: SortOptions;\n}\n\nexport interface Upload {\n cancelSource: any;\n inprogress?: boolean;\n name?: string;\n progress: number;\n size?: number;\n}\n\ntype UILatestRelease = {\n releaseDate: string;\n repos: Record<string, string>;\n};\n\ntype VersionInformation = {\n [key: string]: string | UILatestRelease | undefined;\n backend?: string;\n GUI?: string;\n latestRelease?: UILatestRelease;\n};\n\nexport type SentryConfig = {\n isReduxEnabled?: string; // no parsing done here as this has to be accessed outside of the store\n location: string;\n replaysSessionSampleRate?: number;\n tracesSampleRate?: number;\n};\n\nexport type AppSliceType = {\n appInitDone: boolean;\n cancelSource: any;\n commit: string;\n demoArtifactLink: string;\n docsVersion: string;\n features: Record<string, boolean>;\n feedbackProbability: number;\n firstLoginAfterSignup: boolean;\n hostAddress: string | null;\n hostedAnnouncement: string;\n newThreshold: string;\n offlineThreshold: string;\n recaptchaSiteKey: string;\n searchState: SearchState;\n sentry: SentryConfig;\n snackbar: SnackbarContent;\n stripeAPIKey: string;\n trackerCode: string;\n uploadsById: Record<string, Upload>;\n versionInformation: VersionInformation;\n yesterday?: string;\n};\n\nexport const initialState: AppSliceType = {\n appInitDone: false,\n cancelSource: undefined,\n commit: '',\n demoArtifactLink: 'https://dgsbl4vditpls.cloudfront.net/mender-demo-artifact.mender',\n hostAddress: null,\n snackbar: {\n action: undefined,\n autoHideDuration: undefined,\n message: '',\n open: false,\n preventClickToCopy: false\n },\n // return boolean rather than organization details\n features: {\n hasAiEnabled: false,\n hasAuditlogs: false,\n hasDeltaProgress: false,\n hasMultitenancy: false,\n hasDeviceConfig: false,\n hasDeviceConnect: false,\n hasFeedbackEnabled: false,\n hasManifestsEnabled: false,\n hasMonitor: false,\n hasMCUEnabled: false,\n isHosted: true,\n isEnterprise: false\n },\n feedbackProbability: 0.3,\n firstLoginAfterSignup: false,\n hostedAnnouncement: '',\n docsVersion: '',\n recaptchaSiteKey: '',\n searchState: {\n deviceIds: [],\n searchTerm: '',\n searchTotal: 0,\n isSearching: false,\n sort: {\n direction: SORTING_OPTIONS.desc\n // key: null,\n // scope: null\n }\n },\n sentry: {\n location: '',\n replaysSessionSampleRate: 0.1,\n tracesSampleRate: 1.0\n },\n stripeAPIKey: '',\n trackerCode: '',\n uploadsById: {\n // id: { progress: 0, cancelSource: undefined }\n },\n newThreshold: getYesterday(),\n offlineThreshold: getYesterday(),\n versionInformation: {\n Integration: '',\n 'Mender-Artifact': '',\n 'Meta-Mender': ''\n },\n yesterday: undefined\n};\n\nexport const appSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n setFeatures: (state, action: PayloadAction<Record<string, boolean>>) => {\n state.features = {\n ...state.features,\n ...action.payload\n };\n },\n setSnackbar: (state, { payload }: PayloadAction<SnackbarContent | string>) => {\n if (typeof payload === 'string' || payload instanceof String) {\n state.snackbar = {\n ...initialState.snackbar,\n message: payload,\n open: !!payload\n };\n return;\n }\n const { message, autoHideDuration, action, preventClickToCopy = false } = payload;\n state.snackbar = {\n message,\n autoHideDuration,\n action,\n preventClickToCopy,\n open: !!message\n };\n },\n setFirstLoginAfterSignup: (state, action: PayloadAction<boolean>) => {\n state.firstLoginAfterSignup = action.payload;\n },\n setAnnouncement: (state, action: PayloadAction<string>) => {\n state.hostedAnnouncement = action.payload;\n },\n setSearchState: (state, action) => {\n state.searchState = {\n ...state.searchState,\n ...action.payload\n };\n },\n setOfflineThreshold: (state, action: PayloadAction<string>) => {\n state.offlineThreshold = action.payload;\n },\n initUpload: (state, action: PayloadAction<{ id: string; upload: Upload }>) => {\n const { id, upload } = action.payload;\n state.uploadsById[id] = upload;\n },\n uploadProgress: (state, action: PayloadAction<{ id: string; progress: number }>) => {\n const { id, progress } = action.payload;\n state.uploadsById[id] = {\n ...state.uploadsById[id],\n progress\n };\n },\n cleanUpUpload: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: current, ...remainder } = state.uploadsById;\n state.uploadsById = remainder;\n },\n setVersionInformation: (state, action: PayloadAction<VersionInformation>) => {\n state.versionInformation = {\n ...state.versionInformation,\n ...action.payload\n };\n },\n setEnvironmentData: (state, action) => ({ ...state, ...action.payload }),\n setAppInitDone: state => {\n state.appInitDone = true;\n }\n }\n});\n\nexport const actions = appSlice.actions;\nexport default appSlice.reducer;\n"],"mappings":";;;AAqBA,MAAa,YAAY;AAEzB,MAAM,qBAAqB;CACzB,MAAM,wBAAQ,IAAI,MAAM;CACxB,MAAM,QAAQ,MAAM,SAAS,GAAG,EAAE;CAClC,OAAO,MAAM,aAAa;;AA8F5B,MAAa,eAA6B;CACxC,aAAa;CACb,cAAc,KAAA;CACd,QAAQ;CACR,kBAAkB;CAClB,aAAa;CACb,UAAU;EACR,QAAQ,KAAA;EACR,kBAAkB,KAAA;EAClB,SAAS;EACT,MAAM;EACN,oBAAoB;EACrB;CAED,UAAU;EACR,cAAc;EACd,cAAc;EACd,kBAAkB;EAClB,iBAAiB;EACjB,iBAAiB;EACjB,kBAAkB;EAClB,oBAAoB;EACpB,qBAAqB;EACrB,YAAY;EACZ,eAAe;EACf,UAAU;EACV,cAAc;EACf;CACD,qBAAqB;CACrB,uBAAuB;CACvB,oBAAoB;CACpB,aAAa;CACb,kBAAkB;CAClB,aAAa;EACX,WAAW,EAAE;EACb,YAAY;EACZ,aAAa;EACb,aAAa;EACb,MAAM,EACJ,WAAW,gBAAgB,MAG5B;EACF;CACD,QAAQ;EACN,UAAU;EACV,0BAA0B;EAC1B,kBAAkB;EACnB;CACD,cAAc;CACd,aAAa;CACb,aAAa,EAEZ;CACD,cAAc,cAAc;CAC5B,kBAAkB,cAAc;CAChC,oBAAoB;EAClB,aAAa;EACb,mBAAmB;EACnB,eAAe;EAChB;CACD,WAAW,KAAA;CACZ;AAED,MAAa,WAAW,YAAY;CAClC,MAAA;CACA;CACA,UAAU;EACR,cAAc,OAAO,WAAmD;GACtE,MAAM,WAAW;IACf,GAAG,MAAM;IACT,GAAG,OAAO;IACX;;EAEH,cAAc,OAAO,EAAE,cAAuD;GAC5E,IAAI,OAAO,YAAY,YAAY,mBAAmB,QAAQ;IAC5D,MAAM,WAAW;KACf,GAAG,aAAa;KAChB,SAAS;KACT,MAAM,CAAC,CAAC;KACT;IACD;;GAEF,MAAM,EAAE,SAAS,kBAAkB,QAAQ,qBAAqB,UAAU;GAC1E,MAAM,WAAW;IACf;IACA;IACA;IACA;IACA,MAAM,CAAC,CAAC;IACT;;EAEH,2BAA2B,OAAO,WAAmC;GACnE,MAAM,wBAAwB,OAAO;;EAEvC,kBAAkB,OAAO,WAAkC;GACzD,MAAM,qBAAqB,OAAO;;EAEpC,iBAAiB,OAAO,WAAW;GACjC,MAAM,cAAc;IAClB,GAAG,MAAM;IACT,GAAG,OAAO;IACX;;EAEH,sBAAsB,OAAO,WAAkC;GAC7D,MAAM,mBAAmB,OAAO;;EAElC,aAAa,OAAO,WAA0D;GAC5E,MAAM,EAAE,IAAI,WAAW,OAAO;GAC9B,MAAM,YAAY,MAAM;;EAE1B,iBAAiB,OAAO,WAA4D;GAClF,MAAM,EAAE,IAAI,aAAa,OAAO;GAChC,MAAM,YAAY,MAAM;IACtB,GAAG,MAAM,YAAY;IACrB;IACD;;EAEH,gBAAgB,OAAO,WAAkC;GAEvD,MAAM,GAAG,OAAO,UAAU,SAAS,GAAG,cAAc,MAAM;GAC1D,MAAM,cAAc;;EAEtB,wBAAwB,OAAO,WAA8C;GAC3E,MAAM,qBAAqB;IACzB,GAAG,MAAM;IACT,GAAG,OAAO;IACX;;EAEH,qBAAqB,OAAO,YAAY;GAAE,GAAG;GAAO,GAAG,OAAO;GAAS;EACvE,iBAAgB,UAAS;GACvB,MAAM,cAAc;;EAEvB;CACF,CAAC;AAEF,MAAa,UAAU,SAAS;AAChC,IAAA,mBAAe,SAAS"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/appSlice/index.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 type { SnackbarProps } from '@mui/material';\n\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport type { SortOptions } from '../constants';\nimport { SORTING_OPTIONS } from '../constants';\n\nexport const sliceName = 'app';\n\nconst getYesterday = () => {\n const today = new Date();\n today.setDate(today.getDate() - 1);\n return today.toISOString();\n};\n\nexport interface SnackbarContent extends Pick<SnackbarProps, 'action' | 'autoHideDuration' | 'message' | 'open'> {\n preventClickToCopy?: boolean;\n}\n\nexport interface SearchState {\n deviceIds: string[];\n isSearching: boolean;\n page?: number;\n perPage?: number;\n searchTerm: string;\n searchTotal: number;\n sort: SortOptions;\n}\n\nexport interface Upload {\n cancelSource: any;\n inprogress?: boolean;\n name?: string;\n progress: number;\n size?: number;\n}\n\ntype VersionInformation = {\n docsVersion?: string;\n version?: string;\n};\n\nexport type SentryConfig = {\n isReduxEnabled?: string; // no parsing done here as this has to be accessed outside of the store\n location: string;\n replaysSessionSampleRate?: number;\n tracesSampleRate?: number;\n};\n\nexport type AppSliceType = {\n appInitDone: boolean;\n cancelSource: any;\n commit: string;\n demoArtifactLink: string;\n docsVersion: string;\n features: Record<string, boolean>;\n feedbackProbability: number;\n firstLoginAfterSignup: boolean;\n hostAddress: string | null;\n hostedAnnouncement: string;\n newThreshold: string;\n offlineThreshold: string;\n recaptchaSiteKey: string;\n searchState: SearchState;\n sentry: SentryConfig;\n snackbar: SnackbarContent;\n stripeAPIKey: string;\n trackerCode: string;\n uploadsById: Record<string, Upload>;\n versionInformation: VersionInformation;\n yesterday?: string;\n};\n\nexport const initialState: AppSliceType = {\n appInitDone: false,\n cancelSource: undefined,\n commit: '',\n demoArtifactLink: 'https://dgsbl4vditpls.cloudfront.net/mender-demo-artifact.mender',\n hostAddress: null,\n snackbar: {\n action: undefined,\n autoHideDuration: undefined,\n message: '',\n open: false,\n preventClickToCopy: false\n },\n // return boolean rather than organization details\n features: {\n hasAiEnabled: false,\n hasAuditlogs: false,\n hasDeltaProgress: false,\n hasMultitenancy: false,\n hasDeviceConfig: false,\n hasDeviceConnect: false,\n hasFeedbackEnabled: false,\n hasManifestsEnabled: false,\n hasMonitor: false,\n hasMCUEnabled: false,\n isHosted: true,\n isEnterprise: false\n },\n feedbackProbability: 0.3,\n firstLoginAfterSignup: false,\n hostedAnnouncement: '',\n docsVersion: '',\n recaptchaSiteKey: '',\n searchState: {\n deviceIds: [],\n searchTerm: '',\n searchTotal: 0,\n isSearching: false,\n sort: {\n direction: SORTING_OPTIONS.desc\n // key: null,\n // scope: null\n }\n },\n sentry: {\n location: '',\n replaysSessionSampleRate: 0.1,\n tracesSampleRate: 1.0\n },\n stripeAPIKey: '',\n trackerCode: '',\n uploadsById: {\n // id: { progress: 0, cancelSource: undefined }\n },\n newThreshold: getYesterday(),\n offlineThreshold: getYesterday(),\n versionInformation: { docsVersion: '', version: '' },\n yesterday: undefined\n};\n\nexport const appSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n setFeatures: (state, action: PayloadAction<Record<string, boolean>>) => {\n state.features = {\n ...state.features,\n ...action.payload\n };\n },\n setSnackbar: (state, { payload }: PayloadAction<SnackbarContent | string>) => {\n if (typeof payload === 'string' || payload instanceof String) {\n state.snackbar = {\n ...initialState.snackbar,\n message: payload,\n open: !!payload\n };\n return;\n }\n const { message, autoHideDuration, action, preventClickToCopy = false } = payload;\n state.snackbar = {\n message,\n autoHideDuration,\n action,\n preventClickToCopy,\n open: !!message\n };\n },\n setFirstLoginAfterSignup: (state, action: PayloadAction<boolean>) => {\n state.firstLoginAfterSignup = action.payload;\n },\n setAnnouncement: (state, action: PayloadAction<string>) => {\n state.hostedAnnouncement = action.payload;\n },\n setSearchState: (state, action) => {\n state.searchState = {\n ...state.searchState,\n ...action.payload\n };\n },\n setOfflineThreshold: (state, action: PayloadAction<string>) => {\n state.offlineThreshold = action.payload;\n },\n initUpload: (state, action: PayloadAction<{ id: string; upload: Upload }>) => {\n const { id, upload } = action.payload;\n state.uploadsById[id] = upload;\n },\n uploadProgress: (state, action: PayloadAction<{ id: string; progress: number }>) => {\n const { id, progress } = action.payload;\n state.uploadsById[id] = {\n ...state.uploadsById[id],\n progress\n };\n },\n cleanUpUpload: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: current, ...remainder } = state.uploadsById;\n state.uploadsById = remainder;\n },\n setVersionInformation: (state, action: PayloadAction<VersionInformation>) => {\n state.versionInformation = {\n ...state.versionInformation,\n ...action.payload\n };\n },\n setEnvironmentData: (state, action) => ({ ...state, ...action.payload }),\n setAppInitDone: state => {\n state.appInitDone = true;\n }\n }\n});\n\nexport const actions = appSlice.actions;\nexport default appSlice.reducer;\n"],"mappings":";;;AAqBA,MAAa,YAAY;AAEzB,MAAM,qBAAqB;CACzB,MAAM,wBAAQ,IAAI,KAAK;CACvB,MAAM,QAAQ,MAAM,QAAQ,IAAI,CAAC;CACjC,OAAO,MAAM,YAAY;AAC3B;AA4DA,MAAa,eAA6B;CACxC,aAAa;CACb,cAAc,KAAA;CACd,QAAQ;CACR,kBAAkB;CAClB,aAAa;CACb,UAAU;EACR,QAAQ,KAAA;EACR,kBAAkB,KAAA;EAClB,SAAS;EACT,MAAM;EACN,oBAAoB;CACtB;CAEA,UAAU;EACR,cAAc;EACd,cAAc;EACd,kBAAkB;EAClB,iBAAiB;EACjB,iBAAiB;EACjB,kBAAkB;EAClB,oBAAoB;EACpB,qBAAqB;EACrB,YAAY;EACZ,eAAe;EACf,UAAU;EACV,cAAc;CAChB;CACA,qBAAqB;CACrB,uBAAuB;CACvB,oBAAoB;CACpB,aAAa;CACb,kBAAkB;CAClB,aAAa;EACX,WAAW,CAAC;EACZ,YAAY;EACZ,aAAa;EACb,aAAa;EACb,MAAM,EACJ,WAAW,gBAAgB,KAG7B;CACF;CACA,QAAQ;EACN,UAAU;EACV,0BAA0B;EAC1B,kBAAkB;CACpB;CACA,cAAc;CACd,aAAa;CACb,aAAa,CAEb;CACA,cAAc,aAAa;CAC3B,kBAAkB,aAAa;CAC/B,oBAAoB;EAAE,aAAa;EAAI,SAAS;CAAG;CACnD,WAAW,KAAA;AACb;AAEA,MAAa,WAAW,YAAY;CAClC,MAAA;CACA;CACA,UAAU;EACR,cAAc,OAAO,WAAmD;GACtE,MAAM,WAAW;IACf,GAAG,MAAM;IACT,GAAG,OAAO;GACZ;EACF;EACA,cAAc,OAAO,EAAE,cAAuD;GAC5E,IAAI,OAAO,YAAY,YAAY,mBAAmB,QAAQ;IAC5D,MAAM,WAAW;KACf,GAAG,aAAa;KAChB,SAAS;KACT,MAAM,CAAC,CAAC;IACV;IACA;GACF;GACA,MAAM,EAAE,SAAS,kBAAkB,QAAQ,qBAAqB,UAAU;GAC1E,MAAM,WAAW;IACf;IACA;IACA;IACA;IACA,MAAM,CAAC,CAAC;GACV;EACF;EACA,2BAA2B,OAAO,WAAmC;GACnE,MAAM,wBAAwB,OAAO;EACvC;EACA,kBAAkB,OAAO,WAAkC;GACzD,MAAM,qBAAqB,OAAO;EACpC;EACA,iBAAiB,OAAO,WAAW;GACjC,MAAM,cAAc;IAClB,GAAG,MAAM;IACT,GAAG,OAAO;GACZ;EACF;EACA,sBAAsB,OAAO,WAAkC;GAC7D,MAAM,mBAAmB,OAAO;EAClC;EACA,aAAa,OAAO,WAA0D;GAC5E,MAAM,EAAE,IAAI,WAAW,OAAO;GAC9B,MAAM,YAAY,MAAM;EAC1B;EACA,iBAAiB,OAAO,WAA4D;GAClF,MAAM,EAAE,IAAI,aAAa,OAAO;GAChC,MAAM,YAAY,MAAM;IACtB,GAAG,MAAM,YAAY;IACrB;GACF;EACF;EACA,gBAAgB,OAAO,WAAkC;GAEvD,MAAM,GAAG,OAAO,UAAU,SAAS,GAAG,cAAc,MAAM;GAC1D,MAAM,cAAc;EACtB;EACA,wBAAwB,OAAO,WAA8C;GAC3E,MAAM,qBAAqB;IACzB,GAAG,MAAM;IACT,GAAG,OAAO;GACZ;EACF;EACA,qBAAqB,OAAO,YAAY;GAAE,GAAG;GAAO,GAAG,OAAO;EAAQ;EACtE,iBAAgB,UAAS;GACvB,MAAM,cAAc;EACtB;CACF;AACF,CAAC;AAED,MAAa,UAAU,SAAS;AAChC,IAAA,mBAAe,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"mocks.cjs","names":["initialState"],"sources":["../../src/appSlice/mocks.ts"],"sourcesContent":["// Copyright 2025 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 { initialState } from './index';\n\nexport const mockState = {\n ...initialState,\n searchState: {\n ...initialState.searchState,\n deviceIds: [],\n searchTerm: '',\n searchTotal: 0,\n sort: {}\n },\n snackbar: {},\n uploadsById: {},\n versionInformation: {}\n};\n"],"mappings":";;;AAeA,MAAa,YAAY;CACvB,GAAGA,uBAAAA;CACH,aAAa;EACX,GAAGA,uBAAAA,aAAa;EAChB,WAAW,EAAE;EACb,YAAY;EACZ,aAAa;EACb,MAAM,EAAE;EACT;CACD,UAAU,EAAE;CACZ,aAAa,EAAE;CACf,oBAAoB,EAAE;CACvB"}
1
+ {"version":3,"file":"mocks.cjs","names":["initialState"],"sources":["../../src/appSlice/mocks.ts"],"sourcesContent":["// Copyright 2025 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 { initialState } from './index';\n\nexport const mockState = {\n ...initialState,\n searchState: {\n ...initialState.searchState,\n deviceIds: [],\n searchTerm: '',\n searchTotal: 0,\n sort: {}\n },\n snackbar: {},\n uploadsById: {},\n versionInformation: {}\n};\n"],"mappings":";;;AAeA,MAAa,YAAY;CACvB,GAAGA,uBAAAA;CACH,aAAa;EACX,GAAGA,uBAAAA,aAAa;EAChB,WAAW,CAAC;EACZ,YAAY;EACZ,aAAa;EACb,MAAM,CAAC;CACT;CACA,UAAU,CAAC;CACX,aAAa,CAAC;CACd,oBAAoB,CAAC;AACvB"}
@@ -1,4 +1,4 @@
1
- import { o as SentryConfig } from "../index-DwACbyUg.cjs";
1
+ import { r as SentryConfig } from "../index-C8QadAm7.cjs";
2
2
 
3
3
  //#region src/appSlice/mocks.d.ts
4
4
  declare const mockState: {
@@ -1,4 +1,4 @@
1
- import { o as SentryConfig } from "../index-Bp1WpATs.js";
1
+ import { r as SentryConfig } from "../index-BLvjQfGj.js";
2
2
 
3
3
  //#region src/appSlice/mocks.d.ts
4
4
  declare const mockState: {
@@ -1 +1 @@
1
- {"version":3,"file":"mocks.js","names":[],"sources":["../../src/appSlice/mocks.ts"],"sourcesContent":["// Copyright 2025 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 { initialState } from './index';\n\nexport const mockState = {\n ...initialState,\n searchState: {\n ...initialState.searchState,\n deviceIds: [],\n searchTerm: '',\n searchTotal: 0,\n sort: {}\n },\n snackbar: {},\n uploadsById: {},\n versionInformation: {}\n};\n"],"mappings":";;AAeA,MAAa,YAAY;CACvB,GAAG;CACH,aAAa;EACX,GAAG,aAAa;EAChB,WAAW,EAAE;EACb,YAAY;EACZ,aAAa;EACb,MAAM,EAAE;EACT;CACD,UAAU,EAAE;CACZ,aAAa,EAAE;CACf,oBAAoB,EAAE;CACvB"}
1
+ {"version":3,"file":"mocks.js","names":[],"sources":["../../src/appSlice/mocks.ts"],"sourcesContent":["// Copyright 2025 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 { initialState } from './index';\n\nexport const mockState = {\n ...initialState,\n searchState: {\n ...initialState.searchState,\n deviceIds: [],\n searchTerm: '',\n searchTotal: 0,\n sort: {}\n },\n snackbar: {},\n uploadsById: {},\n versionInformation: {}\n};\n"],"mappings":";;AAeA,MAAa,YAAY;CACvB,GAAG;CACH,aAAa;EACX,GAAG,aAAa;EAChB,WAAW,CAAC;EACZ,YAAY;EACZ,aAAa;EACb,MAAM,CAAC;CACT;CACA,UAAU,CAAC;CACX,aAAa,CAAC;CACd,oBAAoB,CAAC;AACvB"}
@@ -1,5 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("../chunk-CKQMccvm.cjs");
3
2
  let _reduxjs_toolkit = require("@reduxjs/toolkit");
4
3
  let _northern_tech_utils_helpers = require("@northern.tech/utils/helpers");
5
4
  //#region src/appSlice/selectors.ts
@@ -21,11 +20,8 @@ const getFeedbackProbability = (state) => state.app.feedbackProbability;
21
20
  const getAppInitDone = (state) => state.app.appInitDone;
22
21
  const getIsUploading = (0, _reduxjs_toolkit.createSelector)([getUploads], (uploadsById) => !!Object.keys(uploadsById).length);
23
22
  const getSearchedDevices = (0, _reduxjs_toolkit.createSelector)([getSearchState], ({ deviceIds }) => deviceIds);
24
- const getVersionInformation = (0, _reduxjs_toolkit.createSelector)([getFullVersionInformation, getFeatures], ({ Integration, ...remainder }, { isHosted }) => isHosted && Integration !== "next" ? remainder : {
25
- ...remainder,
26
- Integration
27
- });
28
- const getIsPreview = (0, _reduxjs_toolkit.createSelector)([getFullVersionInformation], ({ Integration }) => (0, _northern_tech_utils_helpers.versionCompare)(Integration, "next") > -1);
23
+ const getVersionInformation = (0, _reduxjs_toolkit.createSelector)([getFullVersionInformation, getFeatures], ({ version, ...remainder }, { isHosted }) => isHosted && version !== "next" ? remainder : { ...remainder });
24
+ const getIsPreview = (0, _reduxjs_toolkit.createSelector)([getFullVersionInformation], ({ version }) => (0, _northern_tech_utils_helpers.versionCompare)(version, "next") > -1);
29
25
  //#endregion
30
26
  exports.getAppInitDone = getAppInitDone;
31
27
  exports.getCommit = getCommit;
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.cjs","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 { versionCompare } from '@northern.tech/utils/helpers';\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 getFullVersionInformation = (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);\nexport const getVersionInformation = createSelector([getFullVersionInformation, getFeatures], ({ Integration, ...remainder }, { isHosted }) =>\n isHosted && Integration !== 'next' ? remainder : { ...remainder, Integration }\n);\nexport const getIsPreview = createSelector([getFullVersionInformation], ({ Integration }) => versionCompare(Integration, 'next') > -1);\n"],"mappings":";;;;;AAkBA,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAC9D,MAAa,eAAe,UAAqB,MAAM,IAAI;AAC3D,MAAa,6BAA6B,UAAqB,MAAM,IAAI;AACzE,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,GAAA,iBAAA,gBAAgC,CAAC,WAAW,GAAE,gBAAe,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,OAAO;AAC5G,MAAa,sBAAA,GAAA,iBAAA,gBAAoC,CAAC,eAAe,GAAG,EAAE,gBAAgB,UAAU;AAChG,MAAa,yBAAA,GAAA,iBAAA,gBAAuC,CAAC,2BAA2B,YAAY,GAAG,EAAE,aAAa,GAAG,aAAa,EAAE,eAC9H,YAAY,gBAAgB,SAAS,YAAY;CAAE,GAAG;CAAW;CAAa,CAC/E;AACD,MAAa,gBAAA,GAAA,iBAAA,gBAA8B,CAAC,0BAA0B,GAAG,EAAE,mBAAA,GAAA,6BAAA,gBAAiC,aAAa,OAAO,GAAG,GAAG"}
1
+ {"version":3,"file":"selectors.cjs","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 { versionCompare } from '@northern.tech/utils/helpers';\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 getFullVersionInformation = (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);\nexport const getVersionInformation = createSelector([getFullVersionInformation, getFeatures], ({ version, ...remainder }, { isHosted }) =>\n isHosted && version !== 'next' ? remainder : { ...remainder }\n);\nexport const getIsPreview = createSelector([getFullVersionInformation], ({ version }) => versionCompare(version, 'next') > -1);\n"],"mappings":";;;;AAkBA,MAAa,kBAAkB,UAAqB,MAAM,IAAI;AAC9D,MAAa,eAAe,UAAqB,MAAM,IAAI;AAC3D,MAAa,6BAA6B,UAAqB,MAAM,IAAI;AACzE,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,GAAA,iBAAA,gBAAgC,CAAC,UAAU,IAAG,gBAAe,CAAC,CAAC,OAAO,KAAK,WAAW,EAAE,MAAM;AAC3G,MAAa,sBAAA,GAAA,iBAAA,gBAAoC,CAAC,cAAc,IAAI,EAAE,gBAAgB,SAAS;AAC/F,MAAa,yBAAA,GAAA,iBAAA,gBAAuC,CAAC,2BAA2B,WAAW,IAAI,EAAE,SAAS,GAAG,aAAa,EAAE,eAC1H,YAAY,YAAY,SAAS,YAAY,EAAE,GAAG,UAAU,CAC9D;AACA,MAAa,gBAAA,GAAA,iBAAA,gBAA8B,CAAC,yBAAyB,IAAI,EAAE,eAAA,GAAA,6BAAA,gBAA6B,SAAS,MAAM,IAAI,EAAE"}
@@ -1,28 +1,19 @@
1
- import { o as UserSliceType } from "../index-BFlHWzjv.cjs";
2
- import { i as ReleaseSliceType } from "../index-B3IF6ur9.cjs";
3
- import { n as OnboardingSliceType } from "../index-UPc3wvVd.cjs";
4
- import { o as DeploymentsSliceType } from "../index-BP0uAq36.cjs";
5
- import { s as DeviceSliceType } from "../index-B64X5ozM.cjs";
6
- import { a as SearchState, l as Upload, o as SentryConfig, s as SnackbarContent, t as AppSliceType } from "../index-DwACbyUg.cjs";
7
- import { t as MonitorSliceType } from "../index-CT5hgXm9.cjs";
8
- import { t as OrganizationSliceType } from "../index-BbaS7MzW.cjs";
9
- import { r as RootState } from "../store-BhRxVhtL.cjs";
10
- import * as _$reselect from "reselect";
1
+ import { o as UserSliceType } from "../index-CSk4ENmk.cjs";
2
+ import { i as ReleaseSliceType } from "../index-Zs9RnVoR.cjs";
3
+ import { n as OnboardingSliceType } from "../index-DBUt8xVc.cjs";
4
+ import { o as DeploymentsSliceType } from "../index-EPmsL6Lb.cjs";
5
+ import { s as DeviceSliceType } from "../index-DbfM03Gj.cjs";
6
+ import { a as Upload, i as SnackbarContent, n as SearchState, r as SentryConfig, t as AppSliceType } from "../index-C8QadAm7.cjs";
7
+ import { t as MonitorSliceType } from "../index-5Q-iI4EB.cjs";
8
+ import { t as OrganizationSliceType } from "../index-Bj3OArhr.cjs";
9
+ import { r as RootState } from "../store-Dd0Y2JCN.cjs";
11
10
 
12
11
  //#region src/appSlice/selectors.d.ts
13
12
  declare const getDocsVersion: (state: RootState) => string;
14
13
  declare const getFeatures: (state: RootState) => Record<string, boolean>;
15
14
  declare const getFullVersionInformation: (state: RootState) => {
16
- [key: string]: string | {
17
- releaseDate: string;
18
- repos: Record<string, string>;
19
- } | undefined;
20
- backend?: string;
21
- GUI?: string;
22
- latestRelease?: {
23
- releaseDate: string;
24
- repos: Record<string, string>;
25
- };
15
+ docsVersion?: string;
16
+ version?: string;
26
17
  };
27
18
  declare const getSearchState: (state: RootState) => SearchState;
28
19
  declare const getUploads: (state: RootState) => Record<string, Upload>;
@@ -64,8 +55,8 @@ declare const getIsUploading: ((state: {
64
55
  dependencyRecomputations: () => number;
65
56
  resetDependencyRecomputations: () => void;
66
57
  } & {
67
- memoize: typeof _$reselect.weakMapMemoize;
68
- argsMemoize: typeof _$reselect.weakMapMemoize;
58
+ memoize: typeof import("reselect").weakMapMemoize;
59
+ argsMemoize: typeof import("reselect").weakMapMemoize;
69
60
  };
70
61
  declare const getSearchedDevices: ((state: {
71
62
  app: AppSliceType;
@@ -94,8 +85,8 @@ declare const getSearchedDevices: ((state: {
94
85
  dependencyRecomputations: () => number;
95
86
  resetDependencyRecomputations: () => void;
96
87
  } & {
97
- memoize: typeof _$reselect.weakMapMemoize;
98
- argsMemoize: typeof _$reselect.weakMapMemoize;
88
+ memoize: typeof import("reselect").weakMapMemoize;
89
+ argsMemoize: typeof import("reselect").weakMapMemoize;
99
90
  };
100
91
  declare const getVersionInformation: ((state: {
101
92
  app: AppSliceType;
@@ -107,102 +98,42 @@ declare const getVersionInformation: ((state: {
107
98
  releases: ReleaseSliceType;
108
99
  users: UserSliceType;
109
100
  }) => {
110
- [key: string]: string | {
111
- releaseDate: string;
112
- repos: Record<string, string>;
113
- } | undefined;
114
- backend?: string;
115
- GUI?: string;
116
- latestRelease?: {
117
- releaseDate: string;
118
- repos: Record<string, string>;
119
- };
101
+ docsVersion?: string;
120
102
  }) & {
121
103
  clearCache: () => void;
122
104
  resultsCount: () => number;
123
105
  resetResultsCount: () => void;
124
106
  } & {
125
107
  resultFunc: (resultFuncArgs_0: {
126
- [key: string]: string | {
127
- releaseDate: string;
128
- repos: Record<string, string>;
129
- } | undefined;
130
- backend?: string;
131
- GUI?: string;
132
- latestRelease?: {
133
- releaseDate: string;
134
- repos: Record<string, string>;
135
- };
108
+ docsVersion?: string;
109
+ version?: string;
136
110
  }, resultFuncArgs_1: Record<string, boolean>) => {
137
- [key: string]: string | {
138
- releaseDate: string;
139
- repos: Record<string, string>;
140
- } | undefined;
141
- backend?: string;
142
- GUI?: string;
143
- latestRelease?: {
144
- releaseDate: string;
145
- repos: Record<string, string>;
146
- };
111
+ docsVersion?: string;
147
112
  };
148
113
  memoizedResultFunc: ((resultFuncArgs_0: {
149
- [key: string]: string | {
150
- releaseDate: string;
151
- repos: Record<string, string>;
152
- } | undefined;
153
- backend?: string;
154
- GUI?: string;
155
- latestRelease?: {
156
- releaseDate: string;
157
- repos: Record<string, string>;
158
- };
114
+ docsVersion?: string;
115
+ version?: string;
159
116
  }, resultFuncArgs_1: Record<string, boolean>) => {
160
- [key: string]: string | {
161
- releaseDate: string;
162
- repos: Record<string, string>;
163
- } | undefined;
164
- backend?: string;
165
- GUI?: string;
166
- latestRelease?: {
167
- releaseDate: string;
168
- repos: Record<string, string>;
169
- };
117
+ docsVersion?: string;
170
118
  }) & {
171
119
  clearCache: () => void;
172
120
  resultsCount: () => number;
173
121
  resetResultsCount: () => void;
174
122
  };
175
123
  lastResult: () => {
176
- [key: string]: string | {
177
- releaseDate: string;
178
- repos: Record<string, string>;
179
- } | undefined;
180
- backend?: string;
181
- GUI?: string;
182
- latestRelease?: {
183
- releaseDate: string;
184
- repos: Record<string, string>;
185
- };
124
+ docsVersion?: string;
186
125
  };
187
126
  dependencies: [(state: RootState) => {
188
- [key: string]: string | {
189
- releaseDate: string;
190
- repos: Record<string, string>;
191
- } | undefined;
192
- backend?: string;
193
- GUI?: string;
194
- latestRelease?: {
195
- releaseDate: string;
196
- repos: Record<string, string>;
197
- };
127
+ docsVersion?: string;
128
+ version?: string;
198
129
  }, (state: RootState) => Record<string, boolean>];
199
130
  recomputations: () => number;
200
131
  resetRecomputations: () => void;
201
132
  dependencyRecomputations: () => number;
202
133
  resetDependencyRecomputations: () => void;
203
134
  } & {
204
- memoize: typeof _$reselect.weakMapMemoize;
205
- argsMemoize: typeof _$reselect.weakMapMemoize;
135
+ memoize: typeof import("reselect").weakMapMemoize;
136
+ argsMemoize: typeof import("reselect").weakMapMemoize;
206
137
  };
207
138
  declare const getIsPreview: ((state: {
208
139
  app: AppSliceType;
@@ -219,28 +150,12 @@ declare const getIsPreview: ((state: {
219
150
  resetResultsCount: () => void;
220
151
  } & {
221
152
  resultFunc: (resultFuncArgs_0: {
222
- [key: string]: string | {
223
- releaseDate: string;
224
- repos: Record<string, string>;
225
- } | undefined;
226
- backend?: string;
227
- GUI?: string;
228
- latestRelease?: {
229
- releaseDate: string;
230
- repos: Record<string, string>;
231
- };
153
+ docsVersion?: string;
154
+ version?: string;
232
155
  }) => boolean;
233
156
  memoizedResultFunc: ((resultFuncArgs_0: {
234
- [key: string]: string | {
235
- releaseDate: string;
236
- repos: Record<string, string>;
237
- } | undefined;
238
- backend?: string;
239
- GUI?: string;
240
- latestRelease?: {
241
- releaseDate: string;
242
- repos: Record<string, string>;
243
- };
157
+ docsVersion?: string;
158
+ version?: string;
244
159
  }) => boolean) & {
245
160
  clearCache: () => void;
246
161
  resultsCount: () => number;
@@ -248,24 +163,16 @@ declare const getIsPreview: ((state: {
248
163
  };
249
164
  lastResult: () => boolean;
250
165
  dependencies: [(state: RootState) => {
251
- [key: string]: string | {
252
- releaseDate: string;
253
- repos: Record<string, string>;
254
- } | undefined;
255
- backend?: string;
256
- GUI?: string;
257
- latestRelease?: {
258
- releaseDate: string;
259
- repos: Record<string, string>;
260
- };
166
+ docsVersion?: string;
167
+ version?: string;
261
168
  }];
262
169
  recomputations: () => number;
263
170
  resetRecomputations: () => void;
264
171
  dependencyRecomputations: () => number;
265
172
  resetDependencyRecomputations: () => void;
266
173
  } & {
267
- memoize: typeof _$reselect.weakMapMemoize;
268
- argsMemoize: typeof _$reselect.weakMapMemoize;
174
+ memoize: typeof import("reselect").weakMapMemoize;
175
+ argsMemoize: typeof import("reselect").weakMapMemoize;
269
176
  };
270
177
  //#endregion
271
178
  export { getAppInitDone, getCommit, getDocsVersion, getFeatures, getFeedbackProbability, getFullVersionInformation, getHostAddress, getHostedAnnouncement, getIsFirstLogin, getIsPreview, getIsUploading, getRecaptchaKey, getSearchState, getSearchedDevices, getSentryConfig, getSnackbar, getStripeKey, getTrackerCode, getUploads, getVersionInformation };