@northern.tech/store 0.41.3 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/dist/actions.d.cts +10 -11
  2. package/dist/actions.d.ts +10 -11
  3. package/dist/api/general-api.cjs +1 -1
  4. package/dist/api/general-api.cjs.map +1 -1
  5. package/dist/api/general-api.d.cts +0 -1
  6. package/dist/api/general-api.d.ts +0 -1
  7. package/dist/api/general-api.js +1 -1
  8. package/dist/api/users-api.cjs +1 -1
  9. package/dist/api/users-api.d.cts +1 -6
  10. package/dist/api/users-api.d.ts +1 -6
  11. package/dist/appSlice/constants.cjs +0 -5
  12. package/dist/appSlice/constants.cjs.map +1 -1
  13. package/dist/appSlice/constants.d.cts +1 -1
  14. package/dist/appSlice/constants.d.ts +1 -1
  15. package/dist/appSlice/constants.js +0 -5
  16. package/dist/appSlice/constants.js.map +1 -1
  17. package/dist/appSlice/index.cjs.map +1 -1
  18. package/dist/appSlice/index.d.cts +1 -1
  19. package/dist/appSlice/index.d.ts +1 -1
  20. package/dist/appSlice/index.js +1 -1
  21. package/dist/appSlice/mocks.d.cts +1 -2
  22. package/dist/appSlice/mocks.d.ts +1 -2
  23. package/dist/appSlice/selectors.cjs.map +1 -1
  24. package/dist/appSlice/selectors.d.cts +9 -10
  25. package/dist/appSlice/selectors.d.ts +9 -10
  26. package/dist/appSlice/thunks.d.cts +2 -3
  27. package/dist/appSlice/thunks.d.ts +2 -3
  28. package/dist/auth.cjs +1 -1
  29. package/dist/auth.d.cts +3 -10
  30. package/dist/auth.d.ts +3 -10
  31. package/dist/auth.js +1 -1
  32. package/dist/commonConstants.d.cts +1 -1
  33. package/dist/commonConstants.d.ts +1 -1
  34. package/dist/commonConstants.js +1 -1
  35. package/dist/commonSelectors.cjs +4 -3
  36. package/dist/commonSelectors.cjs.map +1 -1
  37. package/dist/commonSelectors.d.cts +20 -21
  38. package/dist/commonSelectors.d.ts +20 -21
  39. package/dist/commonSelectors.js +4 -3
  40. package/dist/commonSelectors.js.map +1 -1
  41. package/dist/{constants-Sn4gnNA3.d.ts → constants-B3Jdkn2b.d.cts} +2 -5
  42. package/dist/{constants-Sn4gnNA3.d.cts → constants-B3Jdkn2b.d.ts} +2 -5
  43. package/dist/{constants-CzjK2gV-.d.ts → constants-B_H4squx.d.ts} +4 -4
  44. package/dist/{constants-D9o0Cnk_.d.ts → constants-C6TIYaY4.d.cts} +1 -2
  45. package/dist/{constants-D9o0Cnk_.d.cts → constants-C6TIYaY4.d.ts} +1 -2
  46. package/dist/{constants-6kYRTdox.d.ts → constants-CEwun8TL.d.cts} +3 -2
  47. package/dist/{constants-6kYRTdox.d.cts → constants-CEwun8TL.d.ts} +3 -2
  48. package/dist/constants-C_SC_VKE.cjs.map +1 -1
  49. package/dist/{constants-xpheFFkA.js → constants-CerzXHnQ.js} +3 -3
  50. package/dist/{constants-xpheFFkA.js.map → constants-CerzXHnQ.js.map} +1 -1
  51. package/dist/{constants-DAi2zOZN.d.cts → constants-Rl3FJzFf.d.cts} +4 -4
  52. package/dist/{constants-B_7FCJQX.d.ts → constants-nKSWZ8oD.d.cts} +3 -8
  53. package/dist/{constants-B_7FCJQX.d.cts → constants-nKSWZ8oD.d.ts} +3 -8
  54. package/dist/constants.cjs +2 -0
  55. package/dist/constants.d.cts +6 -6
  56. package/dist/constants.d.ts +6 -6
  57. package/dist/constants.js +3 -3
  58. package/dist/deploymentsSlice/constants.d.cts +1 -1
  59. package/dist/deploymentsSlice/constants.d.ts +1 -1
  60. package/dist/deploymentsSlice/constants.js +1 -1
  61. package/dist/deploymentsSlice/index.cjs.map +1 -1
  62. package/dist/deploymentsSlice/index.d.cts +1 -1
  63. package/dist/deploymentsSlice/index.d.ts +1 -1
  64. package/dist/deploymentsSlice/index.js +1 -1
  65. package/dist/deploymentsSlice/mocks.d.cts +1 -2
  66. package/dist/deploymentsSlice/mocks.d.ts +1 -2
  67. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  68. package/dist/deploymentsSlice/selectors.d.cts +9 -10
  69. package/dist/deploymentsSlice/selectors.d.ts +9 -10
  70. package/dist/deploymentsSlice/selectors.js +1 -1
  71. package/dist/deploymentsSlice/thunks.d.cts +7 -13
  72. package/dist/deploymentsSlice/thunks.d.ts +7 -13
  73. package/dist/devicesSlice/constants.d.cts +1 -1
  74. package/dist/devicesSlice/constants.d.ts +1 -1
  75. package/dist/devicesSlice/constants.js +1 -1
  76. package/dist/devicesSlice/index.cjs +5 -2
  77. package/dist/devicesSlice/index.cjs.map +1 -1
  78. package/dist/devicesSlice/index.d.cts +2 -2
  79. package/dist/devicesSlice/index.d.ts +2 -2
  80. package/dist/devicesSlice/index.js +6 -3
  81. package/dist/devicesSlice/index.js.map +1 -1
  82. package/dist/devicesSlice/mocks.d.cts +1 -0
  83. package/dist/devicesSlice/mocks.d.ts +1 -0
  84. package/dist/devicesSlice/mocks.js +1 -1
  85. package/dist/devicesSlice/selectors.cjs +2 -0
  86. package/dist/devicesSlice/selectors.cjs.map +1 -1
  87. package/dist/devicesSlice/selectors.d.cts +41 -41
  88. package/dist/devicesSlice/selectors.d.ts +41 -41
  89. package/dist/devicesSlice/selectors.js +3 -2
  90. package/dist/devicesSlice/selectors.js.map +1 -1
  91. package/dist/devicesSlice/thunks.cjs +1 -2
  92. package/dist/devicesSlice/thunks.d.cts +13 -25
  93. package/dist/devicesSlice/thunks.d.ts +13 -25
  94. package/dist/devicesSlice/thunks.js +2 -2
  95. package/dist/{index-Bb4yvvgG.d.ts → index-B8td4-rY.d.ts} +1 -2
  96. package/dist/{index-C5oQrJGU.d.ts → index-BAGyeC-q.d.ts} +2 -3
  97. package/dist/{index-CgPgKMve.d.cts → index-BgF6rhXn.d.cts} +3 -4
  98. package/dist/{index-BtGhTFBc.d.ts → index-BpamudGf.d.ts} +15 -17
  99. package/dist/{index-CnH51JfB.d.ts → index-Bs0c1-WY.d.ts} +4 -9
  100. package/dist/{index-m1c0qk2s.d.ts → index-C8uiyxnb.d.ts} +2 -3
  101. package/dist/{index-CSOj22xK.d.cts → index-C_LGDJN2.d.cts} +2 -3
  102. package/dist/{index-H9zg_3UV.d.ts → index-ChKTa1aL.d.ts} +2 -3
  103. package/dist/{index-DBUt8xVc.d.ts → index-CoObjWL4.d.cts} +1 -2
  104. package/dist/{index-DBUt8xVc.d.cts → index-CoObjWL4.d.ts} +1 -2
  105. package/dist/{index-BCErsO5h.d.ts → index-CpfhQHfg.d.ts} +3 -4
  106. package/dist/{index-BQCnJ5gh.d.cts → index-Ctj2r57a.d.cts} +2 -3
  107. package/dist/{index-Dn1SqQYh.d.cts → index-DeOpb2oK.d.cts} +4 -9
  108. package/dist/{index-VEayiYkv.d.cts → index-DiAjzARZ.d.cts} +2 -3
  109. package/dist/{index-vXsWdis1.d.cts → index-DnKVKM0G.d.cts} +15 -17
  110. package/dist/{index-EPmsL6Lb.d.cts → index-mvxjivTJ.d.cts} +1 -2
  111. package/dist/liststatehook.cjs.map +1 -1
  112. package/dist/liststatehook.d.cts +0 -1
  113. package/dist/liststatehook.d.ts +0 -1
  114. package/dist/locationutils.cjs.map +1 -1
  115. package/dist/locationutils.d.cts +14 -67
  116. package/dist/locationutils.d.ts +14 -67
  117. package/dist/locationutils.js +1 -1
  118. package/dist/monitorSlice/constants.d.cts +1 -1
  119. package/dist/monitorSlice/constants.d.ts +1 -1
  120. package/dist/monitorSlice/index.cjs.map +1 -1
  121. package/dist/monitorSlice/index.d.cts +1 -1
  122. package/dist/monitorSlice/index.d.ts +1 -1
  123. package/dist/monitorSlice/index.js +1 -1
  124. package/dist/monitorSlice/mocks.d.cts +1 -2
  125. package/dist/monitorSlice/mocks.d.ts +1 -2
  126. package/dist/monitorSlice/mocks.js +1 -1
  127. package/dist/monitorSlice/selectors.d.cts +1 -2
  128. package/dist/monitorSlice/selectors.d.ts +1 -2
  129. package/dist/monitorSlice/thunks.d.cts +4 -5
  130. package/dist/monitorSlice/thunks.d.ts +4 -5
  131. package/dist/monitorSlice/thunks.js +1 -1
  132. package/dist/onboardingSlice/index.cjs.map +1 -1
  133. package/dist/onboardingSlice/index.d.cts +1 -1
  134. package/dist/onboardingSlice/index.d.ts +1 -1
  135. package/dist/onboardingSlice/mocks.d.cts +1 -2
  136. package/dist/onboardingSlice/mocks.d.ts +1 -2
  137. package/dist/onboardingSlice/selectors.d.cts +2 -3
  138. package/dist/onboardingSlice/selectors.d.ts +2 -3
  139. package/dist/onboardingSlice/thunks.d.cts +4 -4
  140. package/dist/onboardingSlice/thunks.d.ts +4 -4
  141. package/dist/organizationSlice/constants.js +1 -1
  142. package/dist/organizationSlice/index.cjs.map +1 -1
  143. package/dist/organizationSlice/index.d.cts +1 -1
  144. package/dist/organizationSlice/index.d.ts +1 -1
  145. package/dist/organizationSlice/index.js +1 -1
  146. package/dist/organizationSlice/mocks.d.cts +3 -3
  147. package/dist/organizationSlice/mocks.d.ts +3 -3
  148. package/dist/organizationSlice/mocks.js +1 -1
  149. package/dist/organizationSlice/selectors.cjs.map +1 -1
  150. package/dist/organizationSlice/selectors.d.cts +11 -16
  151. package/dist/organizationSlice/selectors.d.ts +11 -16
  152. package/dist/organizationSlice/selectors.js +1 -1
  153. package/dist/organizationSlice/thunks.d.cts +6 -7
  154. package/dist/organizationSlice/thunks.d.ts +6 -7
  155. package/dist/organizationSlice/types.d.cts +1 -1
  156. package/dist/organizationSlice/types.d.ts +1 -1
  157. package/dist/releasesSlice/constants.cjs +2 -0
  158. package/dist/releasesSlice/constants.cjs.map +1 -1
  159. package/dist/releasesSlice/constants.d.cts +2 -2
  160. package/dist/releasesSlice/constants.d.ts +2 -2
  161. package/dist/releasesSlice/constants.js +2 -1
  162. package/dist/releasesSlice/constants.js.map +1 -1
  163. package/dist/releasesSlice/index.cjs.map +1 -1
  164. package/dist/releasesSlice/index.d.cts +1 -1
  165. package/dist/releasesSlice/index.d.ts +1 -1
  166. package/dist/releasesSlice/index.js +1 -1
  167. package/dist/releasesSlice/mocks.js +1 -1
  168. package/dist/releasesSlice/selectors.cjs.map +1 -1
  169. package/dist/releasesSlice/selectors.d.cts +9 -10
  170. package/dist/releasesSlice/selectors.d.ts +9 -10
  171. package/dist/releasesSlice/thunks.cjs +1 -1
  172. package/dist/releasesSlice/thunks.cjs.map +1 -1
  173. package/dist/releasesSlice/thunks.d.cts +4 -5
  174. package/dist/releasesSlice/thunks.d.ts +4 -5
  175. package/dist/releasesSlice/thunks.js +1 -1
  176. package/dist/{rolldown-runtime-D6vf50IK.cjs → rolldown-runtime-VH7oDXx4.cjs} +1 -1
  177. package/dist/selectors.cjs +1 -0
  178. package/dist/selectors.d.cts +2 -2
  179. package/dist/selectors.d.ts +2 -2
  180. package/dist/selectors.js +2 -2
  181. package/dist/sockethook.cjs +1 -2
  182. package/dist/sockethook.cjs.map +1 -1
  183. package/dist/sockethook.d.cts +1 -8
  184. package/dist/sockethook.d.ts +1 -8
  185. package/dist/sockethook.js +1 -2
  186. package/dist/sockethook.js.map +1 -1
  187. package/dist/{store-CkgokFlk.d.ts → store-B2_hrsgP.d.ts} +27 -48
  188. package/dist/{store-CGP5pCH8.d.cts → store-DquBGT7j.d.cts} +27 -48
  189. package/dist/store.cjs.map +1 -1
  190. package/dist/store.d.cts +1 -1
  191. package/dist/store.d.ts +1 -1
  192. package/dist/store.js +1 -1
  193. package/dist/storehooks.cjs +31 -20
  194. package/dist/storehooks.cjs.map +1 -1
  195. package/dist/storehooks.d.cts +13 -4
  196. package/dist/storehooks.d.ts +13 -4
  197. package/dist/storehooks.js +32 -22
  198. package/dist/storehooks.js.map +1 -1
  199. package/dist/thunks.cjs +16 -107
  200. package/dist/thunks.cjs.map +1 -1
  201. package/dist/thunks.d.cts +2 -2
  202. package/dist/thunks.d.ts +2 -2
  203. package/dist/thunks.js +16 -106
  204. package/dist/thunks.js.map +1 -1
  205. package/dist/{types-uHmaedGU.d.ts → types-B3qGQoMx.d.ts} +3 -4
  206. package/dist/{types-yQ0ypHMZ.d.cts → types-B80ckxiy.d.cts} +3 -4
  207. package/dist/useDeploymentDevice.cjs +1 -1
  208. package/dist/useDeploymentDevice.cjs.map +1 -1
  209. package/dist/usersSlice/constants.d.cts +1 -1
  210. package/dist/usersSlice/constants.d.ts +1 -1
  211. package/dist/usersSlice/constants.js +1 -1
  212. package/dist/usersSlice/index.cjs.map +1 -1
  213. package/dist/usersSlice/index.d.cts +1 -1
  214. package/dist/usersSlice/index.d.ts +1 -1
  215. package/dist/usersSlice/index.js +1 -1
  216. package/dist/usersSlice/mocks.d.cts +2 -3
  217. package/dist/usersSlice/mocks.d.ts +2 -3
  218. package/dist/usersSlice/mocks.js +1 -1
  219. package/dist/usersSlice/selectors.cjs.map +1 -1
  220. package/dist/usersSlice/selectors.d.cts +10 -11
  221. package/dist/usersSlice/selectors.d.ts +10 -11
  222. package/dist/usersSlice/selectors.js +1 -1
  223. package/dist/usersSlice/thunks.d.cts +5 -6
  224. package/dist/usersSlice/thunks.d.ts +5 -6
  225. package/dist/utils.cjs +2 -2
  226. package/dist/utils.cjs.map +1 -1
  227. package/dist/utils.d.cts +1 -1
  228. package/dist/utils.d.ts +1 -1
  229. package/dist/utils.js +3 -3
  230. package/dist/utils.js.map +1 -1
  231. package/package.json +9 -9
@@ -1,10 +1,10 @@
1
- import { St as FilterOperator, T as SortOptions, m as DeviceIssueOptionKey, mt as DeviceAuthState, n as ALL_DEVICE_STATES } from "./constants-CzjK2gV-.js";
2
- import { s as DeviceDeployment } from "./index-Bb4yvvgG.js";
1
+ import { Ct as FilterOperator, T as SortOptions, ht as DeviceAuthState, m as DeviceIssueOptionKey, n as ALL_DEVICE_STATES } from "./constants-B_H4squx.js";
2
+ import { s as DeviceDeployment } from "./index-B8td4-rY.js";
3
3
  import { PayloadAction } from "@reduxjs/toolkit";
4
- import { ConnectionState, Device, DeviceConfiguration, DeviceState, DeviceTierLimits, MonitorConfiguration, Scope, SortCriteria, Status } from "@northern.tech/types/MenderTypes";
5
-
4
+ import { AttributeResponse, ConnectionState, Device, DeviceConfiguration, DeviceState, DeviceTierLimits, MonitorConfiguration, Scope, SortCriteria, Status } from "@northern.tech/types/MenderTypes";
6
5
  //#region src/devicesSlice/index.d.ts
7
6
  declare const sliceName = "devices";
7
+ type DeviceTierLimits$1 = Omit<DeviceTierLimits, 'test'>;
8
8
  type DeviceSelectedAttribute = {
9
9
  attribute: string;
10
10
  scope: string;
@@ -52,16 +52,17 @@ type UiDeviceAttributes = {
52
52
  system: Record<string, string>;
53
53
  tags?: Record<string, string>;
54
54
  };
55
+ type DeviceComponents = Record<string, AttributeResponse[]>;
55
56
  type Device$1 = Device & UiDeviceAttributes & {
56
57
  check_in_time_exact?: string;
57
58
  check_in_time_rounded?: string;
59
+ components?: DeviceComponents;
58
60
  config?: DeviceConfiguration;
59
61
  connect_status?: ConnectionState['status'];
60
62
  connect_updated_ts?: string;
61
63
  deploymentsCount?: number;
62
64
  deviceDeployments?: DeviceDeployment;
63
65
  etag?: string;
64
- gatewayIds?: string[];
65
66
  group?: string;
66
67
  id: string;
67
68
  isNew?: boolean;
@@ -96,7 +97,7 @@ type DeviceGroups = {
96
97
  type DeviceSliceType = {
97
98
  byId: Record<string, Device$1>;
98
99
  byStatus: Record<DeviceAuthState, {
99
- counts: DeviceTierLimits & {
100
+ counts: DeviceTierLimits$1 & {
100
101
  total: number;
101
102
  };
102
103
  deviceIds: string[];
@@ -107,9 +108,10 @@ type DeviceSliceType = {
107
108
  filteringAttributesLimit: number;
108
109
  filters: DeviceFilter[];
109
110
  groups: DeviceGroups;
110
- limits: DeviceTierLimits;
111
+ limits: DeviceTierLimits$1;
111
112
  reports: DeviceReport[];
112
113
  testDeviceCount: number;
114
+ testDeviceLimit: number;
113
115
  total: number;
114
116
  };
115
117
  declare const initialState: DeviceSliceType;
@@ -127,9 +129,7 @@ declare const devicesSlice: import("@reduxjs/toolkit").Slice<DeviceSliceType, {
127
129
  group: DeviceGroup;
128
130
  groupName: string;
129
131
  }>) => void;
130
- selectGroup: (state: import("immer").WritableDraft<DeviceSliceType>, {
131
- payload: group
132
- }: PayloadAction<string | undefined>) => void;
132
+ selectGroup: (state: import("immer").WritableDraft<DeviceSliceType>, { payload: group }: PayloadAction<string | undefined>) => void;
133
133
  removeGroup: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<string>) => void;
134
134
  setDeviceListState: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<Partial<DeviceListState>>) => void;
135
135
  setFilterAttributes: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<FilteringAttributes>) => void;
@@ -143,7 +143,7 @@ declare const devicesSlice: import("@reduxjs/toolkit").Slice<DeviceSliceType, {
143
143
  total: number;
144
144
  }>) => void;
145
145
  setDevicesCountByStatus: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<{
146
- countsPerTier: DeviceTierLimits;
146
+ countsPerTier: DeviceTierLimits$1;
147
147
  status: DeviceAuthState;
148
148
  }>) => void;
149
149
  setDeviceLimits: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<DeviceTierLimits>) => void;
@@ -170,9 +170,7 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
170
170
  group: DeviceGroup;
171
171
  groupName: string;
172
172
  }>) => void;
173
- selectGroup: (state: import("immer").WritableDraft<DeviceSliceType>, {
174
- payload: group
175
- }: PayloadAction<string | undefined>) => void;
173
+ selectGroup: (state: import("immer").WritableDraft<DeviceSliceType>, { payload: group }: PayloadAction<string | undefined>) => void;
176
174
  removeGroup: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<string>) => void;
177
175
  setDeviceListState: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<Partial<DeviceListState>>) => void;
178
176
  setFilterAttributes: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<FilteringAttributes>) => void;
@@ -186,7 +184,7 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
186
184
  total: number;
187
185
  }>) => void;
188
186
  setDevicesCountByStatus: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<{
189
- countsPerTier: DeviceTierLimits;
187
+ countsPerTier: DeviceTierLimits$1;
190
188
  status: DeviceAuthState;
191
189
  }>) => void;
192
190
  setDeviceLimits: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<DeviceTierLimits>) => void;
@@ -201,5 +199,5 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
201
199
  }, "devices">;
202
200
  declare const _default: import("redux").Reducer<DeviceSliceType>;
203
201
  //#endregion
204
- export { DeviceListState as a, InventoryAttributes as c, devicesSlice as d, initialState as f, DeviceGroups as i, _default as l, DeviceFilter as n, DeviceSelectedAttribute as o, sliceName as p, DeviceGroup as r, DeviceSliceType as s, Device$1 as t, actions as u };
205
- //# sourceMappingURL=index-BtGhTFBc.d.ts.map
202
+ export { DeviceGroups as a, DeviceSliceType as c, _default as d, actions as f, sliceName as h, DeviceGroup as i, DeviceTierLimits$1 as l, initialState as m, DeviceComponents as n, DeviceListState as o, devicesSlice as p, DeviceFilter as r, DeviceSelectedAttribute as s, Device$1 as t, InventoryAttributes as u };
203
+ //# sourceMappingURL=index-BpamudGf.d.ts.map
@@ -1,7 +1,6 @@
1
- import { T as SortOptions } from "./constants-CzjK2gV-.js";
1
+ import { T as SortOptions } from "./constants-B_H4squx.js";
2
2
  import { PayloadAction } from "@reduxjs/toolkit";
3
3
  import { SnackbarProps } from "@mui/material";
4
-
5
4
  //#region src/appSlice/index.d.ts
6
5
  declare const sliceName = "app";
7
6
  interface SnackbarContent extends Pick<SnackbarProps, 'action' | 'autoHideDuration' | 'message' | 'open'> {
@@ -59,9 +58,7 @@ type AppSliceType = {
59
58
  declare const initialState: AppSliceType;
60
59
  declare const appSlice: import("@reduxjs/toolkit").Slice<AppSliceType, {
61
60
  setFeatures: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<Record<string, boolean>>) => void;
62
- setSnackbar: (state: import("immer").WritableDraft<AppSliceType>, {
63
- payload
64
- }: PayloadAction<SnackbarContent | string>) => void;
61
+ setSnackbar: (state: import("immer").WritableDraft<AppSliceType>, { payload }: PayloadAction<SnackbarContent | string>) => void;
65
62
  setFirstLoginAfterSignup: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<boolean>) => void;
66
63
  setAnnouncement: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<string>) => void;
67
64
  setSearchState: (state: import("immer").WritableDraft<AppSliceType>, action: {
@@ -87,9 +84,7 @@ declare const appSlice: import("@reduxjs/toolkit").Slice<AppSliceType, {
87
84
  }, "app", "app", import("@reduxjs/toolkit").SliceSelectors<AppSliceType>>;
88
85
  declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
89
86
  setFeatures: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<Record<string, boolean>>) => void;
90
- setSnackbar: (state: import("immer").WritableDraft<AppSliceType>, {
91
- payload
92
- }: PayloadAction<SnackbarContent | string>) => void;
87
+ setSnackbar: (state: import("immer").WritableDraft<AppSliceType>, { payload }: PayloadAction<SnackbarContent | string>) => void;
93
88
  setFirstLoginAfterSignup: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<boolean>) => void;
94
89
  setAnnouncement: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<string>) => void;
95
90
  setSearchState: (state: import("immer").WritableDraft<AppSliceType>, action: {
@@ -116,4 +111,4 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
116
111
  declare const _default: import("redux").Reducer<AppSliceType>;
117
112
  //#endregion
118
113
  export { Upload as a, appSlice as c, SnackbarContent as i, initialState as l, SearchState as n, _default as o, SentryConfig as r, actions as s, AppSliceType as t, sliceName as u };
119
- //# sourceMappingURL=index-CnH51JfB.d.ts.map
114
+ //# sourceMappingURL=index-Bs0c1-WY.d.ts.map
@@ -1,7 +1,6 @@
1
- import { T as SortOptions } from "./constants-CzjK2gV-.js";
1
+ import { T as SortOptions } from "./constants-B_H4squx.js";
2
2
  import { PayloadAction } from "@reduxjs/toolkit";
3
3
  import { ArtifactV1, ArtifactV2, DeltaJobDetailsItem, DeltaJobsListItem, Manifest, ReleaseV1, ReleaseV2, Software, Tags, Update } from "@northern.tech/types/MenderTypes";
4
-
5
4
  //#region src/releasesSlice/index.d.ts
6
5
  type Update$1 = Omit<Update, 'meta_data'>;
7
6
  type Artifact = Omit<ArtifactV1, 'updates'> & Omit<ArtifactV2, 'updates'> & {
@@ -162,4 +161,4 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
162
161
  declare const _default: import("redux").Reducer<ReleaseSliceType>;
163
162
  //#endregion
164
163
  export { ReleasesList as a, _default as c, releaseSlice as d, sliceName as f, ReleaseSliceType as i, actions as l, ManifestsList as n, SoftwareKind as o, Release as r, SoftwareList as s, Artifact as t, initialState as u };
165
- //# sourceMappingURL=index-m1c0qk2s.d.ts.map
164
+ //# sourceMappingURL=index-C8uiyxnb.d.ts.map
@@ -1,7 +1,6 @@
1
- import { d as TenantList, f as Webhook, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, t as AuditLog$1 } from "./types-yQ0ypHMZ.cjs";
1
+ import { d as TenantList, f as Webhook, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, t as AuditLog$1 } from "./types-B80ckxiy.cjs";
2
2
  import { AuditLog, BillingProfile, Event, Integration } from "@northern.tech/types/MenderTypes";
3
3
  import { PayloadAction } from "@reduxjs/toolkit";
4
-
5
4
  //#region src/organizationSlice/index.d.ts
6
5
  declare const sliceName = "organization";
7
6
  type OrganizationSliceType = {
@@ -65,4 +64,4 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
65
64
  declare const _default: import("redux").Reducer<OrganizationSliceType>;
66
65
  //#endregion
67
66
  export { organizationSlice as a, initialState as i, _default as n, sliceName as o, actions as r, OrganizationSliceType as t };
68
- //# sourceMappingURL=index-CSOj22xK.d.cts.map
67
+ //# sourceMappingURL=index-C_LGDJN2.d.cts.map
@@ -1,7 +1,6 @@
1
- import { d as TenantList, f as Webhook, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, t as AuditLog$1 } from "./types-uHmaedGU.js";
1
+ import { d as TenantList, f as Webhook, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, t as AuditLog$1 } from "./types-B3qGQoMx.js";
2
2
  import { PayloadAction } from "@reduxjs/toolkit";
3
3
  import { AuditLog, BillingProfile, Event, Integration } from "@northern.tech/types/MenderTypes";
4
-
5
4
  //#region src/organizationSlice/index.d.ts
6
5
  declare const sliceName = "organization";
7
6
  type OrganizationSliceType = {
@@ -65,4 +64,4 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
65
64
  declare const _default: import("redux").Reducer<OrganizationSliceType>;
66
65
  //#endregion
67
66
  export { organizationSlice as a, initialState as i, _default as n, sliceName as o, actions as r, OrganizationSliceType as t };
68
- //# sourceMappingURL=index-H9zg_3UV.d.ts.map
67
+ //# sourceMappingURL=index-ChKTa1aL.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { PayloadAction } from "@reduxjs/toolkit";
2
-
3
2
  //#region src/onboardingSlice/index.d.ts
4
3
  declare const sliceName = "onboarding";
5
4
  type OnboardingApproach = 'virtual' | 'physical' | 'mcu';
@@ -58,4 +57,4 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
58
57
  declare const _default: import("redux").Reducer<OnboardingSliceType>;
59
58
  //#endregion
60
59
  export { initialState as a, actions as i, OnboardingSliceType as n, onboardingSlice as o, _default as r, sliceName as s, OnboardingApproach as t };
61
- //# sourceMappingURL=index-DBUt8xVc.d.ts.map
60
+ //# sourceMappingURL=index-CoObjWL4.d.cts.map
@@ -1,5 +1,4 @@
1
1
  import { PayloadAction } from "@reduxjs/toolkit";
2
-
3
2
  //#region src/onboardingSlice/index.d.ts
4
3
  declare const sliceName = "onboarding";
5
4
  type OnboardingApproach = 'virtual' | 'physical' | 'mcu';
@@ -58,4 +57,4 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
58
57
  declare const _default: import("redux").Reducer<OnboardingSliceType>;
59
58
  //#endregion
60
59
  export { initialState as a, actions as i, OnboardingSliceType as n, onboardingSlice as o, _default as r, sliceName as s, OnboardingApproach as t };
61
- //# sourceMappingURL=index-DBUt8xVc.d.cts.map
60
+ //# sourceMappingURL=index-CoObjWL4.d.ts.map
@@ -1,8 +1,7 @@
1
- import { S as Role, St as FilterOperator, v as PermissionSet } from "./constants-CzjK2gV-.js";
2
- import { i as ReadState } from "./constants-Sn4gnNA3.js";
1
+ import { Ct as FilterOperator, S as Role, v as PermissionSet } from "./constants-B_H4squx.js";
2
+ import { i as ReadState } from "./constants-B3Jdkn2b.js";
3
3
  import { PayloadAction } from "@reduxjs/toolkit";
4
4
  import { DeploymentPhase, TenantInfo, TenantsIdName, User } from "@northern.tech/types/MenderTypes";
5
-
6
5
  //#region src/usersSlice/index.d.ts
7
6
  declare const sliceName = "users";
8
7
  type User$1 = User & TenantInfo & {
@@ -146,4 +145,4 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
146
145
  declare const _default: import("redux").Reducer<UserSliceType>;
147
146
  //#endregion
148
147
  export { UserSettings as a, actions as c, usersSlice as d, UserSession as i, initialState as l, GlobalSettings as n, UserSliceType as o, User$1 as r, _default as s, CustomColumn as t, sliceName as u };
149
- //# sourceMappingURL=index-BCErsO5h.d.ts.map
148
+ //# sourceMappingURL=index-CpfhQHfg.d.ts.map
@@ -1,7 +1,6 @@
1
- import { lt as AlertChannelKey, m as DeviceIssueOptionKey } from "./constants-DAi2zOZN.cjs";
1
+ import { m as DeviceIssueOptionKey, ut as AlertChannelKey } from "./constants-Rl3FJzFf.cjs";
2
2
  import { Alert } from "@northern.tech/types/MenderTypes";
3
3
  import { PayloadAction } from "@reduxjs/toolkit";
4
-
5
4
  //#region src/monitorSlice/index.d.ts
6
5
  declare const sliceName = "monitor";
7
6
  type IssueCounts = Record<DeviceIssueOptionKey, {
@@ -89,4 +88,4 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
89
88
  declare const _default: import("redux").Reducer<MonitorSliceType>;
90
89
  //#endregion
91
90
  export { monitorSlice as a, initialState as i, _default as n, sliceName as o, actions as r, MonitorSliceType as t };
92
- //# sourceMappingURL=index-BQCnJ5gh.d.cts.map
91
+ //# sourceMappingURL=index-Ctj2r57a.d.cts.map
@@ -1,7 +1,6 @@
1
- import { T as SortOptions } from "./constants-DAi2zOZN.cjs";
1
+ import { T as SortOptions } from "./constants-Rl3FJzFf.cjs";
2
2
  import { PayloadAction } from "@reduxjs/toolkit";
3
3
  import { SnackbarProps } from "@mui/material";
4
-
5
4
  //#region src/appSlice/index.d.ts
6
5
  declare const sliceName = "app";
7
6
  interface SnackbarContent extends Pick<SnackbarProps, 'action' | 'autoHideDuration' | 'message' | 'open'> {
@@ -59,9 +58,7 @@ type AppSliceType = {
59
58
  declare const initialState: AppSliceType;
60
59
  declare const appSlice: import("@reduxjs/toolkit").Slice<AppSliceType, {
61
60
  setFeatures: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<Record<string, boolean>>) => void;
62
- setSnackbar: (state: import("immer").WritableDraft<AppSliceType>, {
63
- payload
64
- }: PayloadAction<SnackbarContent | string>) => void;
61
+ setSnackbar: (state: import("immer").WritableDraft<AppSliceType>, { payload }: PayloadAction<SnackbarContent | string>) => void;
65
62
  setFirstLoginAfterSignup: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<boolean>) => void;
66
63
  setAnnouncement: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<string>) => void;
67
64
  setSearchState: (state: import("immer").WritableDraft<AppSliceType>, action: {
@@ -87,9 +84,7 @@ declare const appSlice: import("@reduxjs/toolkit").Slice<AppSliceType, {
87
84
  }, "app", "app", import("@reduxjs/toolkit").SliceSelectors<AppSliceType>>;
88
85
  declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
89
86
  setFeatures: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<Record<string, boolean>>) => void;
90
- setSnackbar: (state: import("immer").WritableDraft<AppSliceType>, {
91
- payload
92
- }: PayloadAction<SnackbarContent | string>) => void;
87
+ setSnackbar: (state: import("immer").WritableDraft<AppSliceType>, { payload }: PayloadAction<SnackbarContent | string>) => void;
93
88
  setFirstLoginAfterSignup: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<boolean>) => void;
94
89
  setAnnouncement: (state: import("immer").WritableDraft<AppSliceType>, action: PayloadAction<string>) => void;
95
90
  setSearchState: (state: import("immer").WritableDraft<AppSliceType>, action: {
@@ -116,4 +111,4 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
116
111
  declare const _default: import("redux").Reducer<AppSliceType>;
117
112
  //#endregion
118
113
  export { Upload as a, appSlice as c, SnackbarContent as i, initialState as l, SearchState as n, _default as o, SentryConfig as r, actions as s, AppSliceType as t, sliceName as u };
119
- //# sourceMappingURL=index-Dn1SqQYh.d.cts.map
114
+ //# sourceMappingURL=index-DeOpb2oK.d.cts.map
@@ -1,7 +1,6 @@
1
- import { T as SortOptions } from "./constants-DAi2zOZN.cjs";
1
+ import { T as SortOptions } from "./constants-Rl3FJzFf.cjs";
2
2
  import { ArtifactV1, ArtifactV2, DeltaJobDetailsItem, DeltaJobsListItem, Manifest, ReleaseV1, ReleaseV2, Software, Tags, Update } from "@northern.tech/types/MenderTypes";
3
3
  import { PayloadAction } from "@reduxjs/toolkit";
4
-
5
4
  //#region src/releasesSlice/index.d.ts
6
5
  type Update$1 = Omit<Update, 'meta_data'>;
7
6
  type Artifact = Omit<ArtifactV1, 'updates'> & Omit<ArtifactV2, 'updates'> & {
@@ -162,4 +161,4 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
162
161
  declare const _default: import("redux").Reducer<ReleaseSliceType>;
163
162
  //#endregion
164
163
  export { ReleasesList as a, _default as c, releaseSlice as d, sliceName as f, ReleaseSliceType as i, actions as l, ManifestsList as n, SoftwareKind as o, Release as r, SoftwareList as s, Artifact as t, initialState as u };
165
- //# sourceMappingURL=index-VEayiYkv.d.cts.map
164
+ //# sourceMappingURL=index-DiAjzARZ.d.cts.map
@@ -1,10 +1,10 @@
1
- import { St as FilterOperator, T as SortOptions, m as DeviceIssueOptionKey, mt as DeviceAuthState, n as ALL_DEVICE_STATES } from "./constants-DAi2zOZN.cjs";
2
- import { s as DeviceDeployment } from "./index-EPmsL6Lb.cjs";
3
- import { ConnectionState, Device, DeviceConfiguration, DeviceState, DeviceTierLimits, MonitorConfiguration, Scope, SortCriteria, Status } from "@northern.tech/types/MenderTypes";
1
+ import { Ct as FilterOperator, T as SortOptions, ht as DeviceAuthState, m as DeviceIssueOptionKey, n as ALL_DEVICE_STATES } from "./constants-Rl3FJzFf.cjs";
2
+ import { s as DeviceDeployment } from "./index-mvxjivTJ.cjs";
3
+ import { AttributeResponse, ConnectionState, Device, DeviceConfiguration, DeviceState, DeviceTierLimits, MonitorConfiguration, Scope, SortCriteria, Status } from "@northern.tech/types/MenderTypes";
4
4
  import { PayloadAction } from "@reduxjs/toolkit";
5
-
6
5
  //#region src/devicesSlice/index.d.ts
7
6
  declare const sliceName = "devices";
7
+ type DeviceTierLimits$1 = Omit<DeviceTierLimits, 'test'>;
8
8
  type DeviceSelectedAttribute = {
9
9
  attribute: string;
10
10
  scope: string;
@@ -52,16 +52,17 @@ type UiDeviceAttributes = {
52
52
  system: Record<string, string>;
53
53
  tags?: Record<string, string>;
54
54
  };
55
+ type DeviceComponents = Record<string, AttributeResponse[]>;
55
56
  type Device$1 = Device & UiDeviceAttributes & {
56
57
  check_in_time_exact?: string;
57
58
  check_in_time_rounded?: string;
59
+ components?: DeviceComponents;
58
60
  config?: DeviceConfiguration;
59
61
  connect_status?: ConnectionState['status'];
60
62
  connect_updated_ts?: string;
61
63
  deploymentsCount?: number;
62
64
  deviceDeployments?: DeviceDeployment;
63
65
  etag?: string;
64
- gatewayIds?: string[];
65
66
  group?: string;
66
67
  id: string;
67
68
  isNew?: boolean;
@@ -96,7 +97,7 @@ type DeviceGroups = {
96
97
  type DeviceSliceType = {
97
98
  byId: Record<string, Device$1>;
98
99
  byStatus: Record<DeviceAuthState, {
99
- counts: DeviceTierLimits & {
100
+ counts: DeviceTierLimits$1 & {
100
101
  total: number;
101
102
  };
102
103
  deviceIds: string[];
@@ -107,9 +108,10 @@ type DeviceSliceType = {
107
108
  filteringAttributesLimit: number;
108
109
  filters: DeviceFilter[];
109
110
  groups: DeviceGroups;
110
- limits: DeviceTierLimits;
111
+ limits: DeviceTierLimits$1;
111
112
  reports: DeviceReport[];
112
113
  testDeviceCount: number;
114
+ testDeviceLimit: number;
113
115
  total: number;
114
116
  };
115
117
  declare const initialState: DeviceSliceType;
@@ -127,9 +129,7 @@ declare const devicesSlice: import("@reduxjs/toolkit").Slice<DeviceSliceType, {
127
129
  group: DeviceGroup;
128
130
  groupName: string;
129
131
  }>) => void;
130
- selectGroup: (state: import("immer").WritableDraft<DeviceSliceType>, {
131
- payload: group
132
- }: PayloadAction<string | undefined>) => void;
132
+ selectGroup: (state: import("immer").WritableDraft<DeviceSliceType>, { payload: group }: PayloadAction<string | undefined>) => void;
133
133
  removeGroup: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<string>) => void;
134
134
  setDeviceListState: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<Partial<DeviceListState>>) => void;
135
135
  setFilterAttributes: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<FilteringAttributes>) => void;
@@ -143,7 +143,7 @@ declare const devicesSlice: import("@reduxjs/toolkit").Slice<DeviceSliceType, {
143
143
  total: number;
144
144
  }>) => void;
145
145
  setDevicesCountByStatus: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<{
146
- countsPerTier: DeviceTierLimits;
146
+ countsPerTier: DeviceTierLimits$1;
147
147
  status: DeviceAuthState;
148
148
  }>) => void;
149
149
  setDeviceLimits: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<DeviceTierLimits>) => void;
@@ -170,9 +170,7 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
170
170
  group: DeviceGroup;
171
171
  groupName: string;
172
172
  }>) => void;
173
- selectGroup: (state: import("immer").WritableDraft<DeviceSliceType>, {
174
- payload: group
175
- }: PayloadAction<string | undefined>) => void;
173
+ selectGroup: (state: import("immer").WritableDraft<DeviceSliceType>, { payload: group }: PayloadAction<string | undefined>) => void;
176
174
  removeGroup: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<string>) => void;
177
175
  setDeviceListState: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<Partial<DeviceListState>>) => void;
178
176
  setFilterAttributes: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<FilteringAttributes>) => void;
@@ -186,7 +184,7 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
186
184
  total: number;
187
185
  }>) => void;
188
186
  setDevicesCountByStatus: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<{
189
- countsPerTier: DeviceTierLimits;
187
+ countsPerTier: DeviceTierLimits$1;
190
188
  status: DeviceAuthState;
191
189
  }>) => void;
192
190
  setDeviceLimits: (state: import("immer").WritableDraft<DeviceSliceType>, action: PayloadAction<DeviceTierLimits>) => void;
@@ -201,5 +199,5 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
201
199
  }, "devices">;
202
200
  declare const _default: import("redux").Reducer<DeviceSliceType>;
203
201
  //#endregion
204
- export { DeviceListState as a, InventoryAttributes as c, devicesSlice as d, initialState as f, DeviceGroups as i, _default as l, DeviceFilter as n, DeviceSelectedAttribute as o, sliceName as p, DeviceGroup as r, DeviceSliceType as s, Device$1 as t, actions as u };
205
- //# sourceMappingURL=index-vXsWdis1.d.cts.map
202
+ export { DeviceGroups as a, DeviceSliceType as c, _default as d, actions as f, sliceName as h, DeviceGroup as i, DeviceTierLimits$1 as l, initialState as m, DeviceComponents as n, DeviceListState as o, devicesSlice as p, DeviceFilter as r, DeviceSelectedAttribute as s, Device$1 as t, InventoryAttributes as u };
203
+ //# sourceMappingURL=index-DnKVKM0G.d.cts.map
@@ -1,6 +1,5 @@
1
1
  import { DeploymentV1, DeploymentV2, DeviceWithImage, Filter, FilterPredicate, Limit, Scope } from "@northern.tech/types/MenderTypes";
2
2
  import { PayloadAction } from "@reduxjs/toolkit";
3
-
4
3
  //#region src/deploymentsSlice/index.d.ts
5
4
  declare const sliceName = "deployments";
6
5
  type Filter$1 = {
@@ -153,4 +152,4 @@ declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
153
152
  declare const _default: import("redux").Reducer<DeploymentsSliceType>;
154
153
  //#endregion
155
154
  export { DeploymentStatus as a, SelectionListState as c, actions as d, deploymentsSlice as f, DeploymentConfig as i, SelectionState as l, sliceName as m, DeploymentByStatus as n, DeploymentsSliceType as o, initialState as p, DeploymentByStatusKey as r, DeviceDeployment as s, Deployment as t, _default as u };
156
- //# sourceMappingURL=index-EPmsL6Lb.d.cts.map
155
+ //# sourceMappingURL=index-mvxjivTJ.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"liststatehook.cjs","names":["formatAuditlogs","parseAuditlogsQuery","formatPageState","commonProcessor","formatDeployments","generateDeploymentsPath","parseDeploymentsQuery","formatDeviceSearch","generateDevicePath","parseDeviceQuery","formatReleases","generateReleasesPath","parseReleasesQuery","formatTenants","generateTenantPath","parseTenantsQuery"],"sources":["../src/liststatehook.ts"],"sourcesContent":["// Copyright 2022 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 { useCallback, useMemo } from 'react';\nimport type { Location, NavigateOptions } from 'react-router';\nimport { useLocation, useNavigate, useNavigationType, useSearchParams } from 'react-router';\n\nimport type { CommonProcessorResult, FormatPageStateDefaults, PageState } from './locationutils';\nimport {\n commonProcessor,\n formatAuditlogs,\n formatDeployments,\n formatDeviceSearch,\n formatPageState,\n formatReleases,\n formatTenants,\n generateDeploymentsPath,\n generateDevicePath,\n generateReleasesPath,\n generateTenantPath,\n parseAuditlogsQuery,\n parseDeploymentsQuery,\n parseDeviceQuery,\n parseReleasesQuery,\n parseTenantsQuery\n} from './locationutils';\n\ntype ProcessorConfig<TFormat, TLocate, TParse> = {\n format: TFormat;\n locate: TLocate;\n parse: TParse;\n};\n\ntype Processors = {\n auditlogs: ProcessorConfig<typeof formatAuditlogs, () => undefined, typeof parseAuditlogsQuery>;\n common: ProcessorConfig<typeof formatPageState, () => undefined, typeof commonProcessor>;\n deployments: ProcessorConfig<typeof formatDeployments, typeof generateDeploymentsPath, typeof parseDeploymentsQuery>;\n devices: ProcessorConfig<typeof formatDeviceSearch, typeof generateDevicePath, typeof parseDeviceQuery>;\n releases: ProcessorConfig<typeof formatReleases, typeof generateReleasesPath, typeof parseReleasesQuery>;\n tenants: ProcessorConfig<typeof formatTenants, typeof generateTenantPath, typeof parseTenantsQuery>;\n};\n\nexport const defaultProcessors: Processors = {\n auditlogs: {\n format: formatAuditlogs,\n locate: () => undefined,\n parse: parseAuditlogsQuery\n },\n common: {\n format: formatPageState,\n locate: () => undefined,\n parse: commonProcessor\n },\n deployments: {\n format: formatDeployments,\n locate: generateDeploymentsPath,\n parse: parseDeploymentsQuery\n },\n devices: {\n format: formatDeviceSearch,\n locate: generateDevicePath,\n parse: parseDeviceQuery\n },\n releases: {\n format: formatReleases,\n locate: generateReleasesPath,\n parse: parseReleasesQuery\n },\n tenants: {\n format: formatTenants,\n locate: generateTenantPath,\n parse: parseTenantsQuery\n }\n};\n\ntype ProcessorKey = keyof Omit<Processors, 'common'>;\n\ntype LocationExtras = Record<string, unknown>;\n\ntype LocationParamsValue = PageState & CommonProcessorResult['sort'] & Record<string, unknown>;\n\ntype SetValueParams = {\n [key: string]: unknown;\n pageState: PageState;\n};\n\ntype UseLocationParamsReturn = [\n value: LocationParamsValue,\n setValue: (newValue: SetValueParams, options?: NavigateOptions) => void,\n options: { shouldInitializeFromUrl: boolean }\n];\n\nexport const useLocationParams = (key: ProcessorKey, extras: LocationExtras, processors: Processors = defaultProcessors): UseLocationParamsReturn => {\n const [searchParams] = useSearchParams();\n const navigate = useNavigate();\n const location = useLocation();\n const navigationType = useNavigationType();\n\n // POP (back/ forward/ initial load) -> rely on url state - otherwise on stored redux state\n const shouldInitializeFromUrl = navigationType === 'POP';\n\n const extrasString = JSON.stringify(extras);\n const searchParamsString = searchParams.toString();\n\n const value = useMemo(() => {\n const { pageState, params, sort } = processors.common.parse(searchParams);\n const extendedExtras = { ...extras, pageState, location };\n return {\n ...pageState,\n sort,\n ...(processors[key].parse as (params: URLSearchParams, extras: typeof extendedExtras) => Record<string, unknown>)(params, extendedExtras)\n } as LocationParamsValue;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [extrasString, key, location.search, location.pathname, searchParamsString]);\n\n const setValue = useCallback(\n (newValue: SetValueParams, options: NavigateOptions = {}): void => {\n const locateFn = processors[key].locate as (params: { location: Location; pageState: PageState }) => string | undefined;\n const pathname = locateFn({ pageState: newValue.pageState, location });\n const formatFn = processors[key].format as (value: SetValueParams, extras: LocationExtras) => string;\n const searchQuery = [processors.common.format(newValue.pageState, extras as FormatPageStateDefaults), formatFn(newValue, extras)]\n .filter(i => i)\n .join('&');\n navigate({ pathname, replace: true, search: `?${searchQuery}`, ...options });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [extrasString, key]\n );\n\n return [value, setValue, { shouldInitializeFromUrl }];\n};\n"],"mappings":";;;;;AAoDA,MAAa,oBAAgC;CAC3C,WAAW;EACT,QAAQA,sBAAAA;EACR,cAAc,KAAA;EACd,OAAOC,sBAAAA;CACT;CACA,QAAQ;EACN,QAAQC,sBAAAA;EACR,cAAc,KAAA;EACd,OAAOC,sBAAAA;CACT;CACA,aAAa;EACX,QAAQC,sBAAAA;EACR,QAAQC,sBAAAA;EACR,OAAOC,sBAAAA;CACT;CACA,SAAS;EACP,QAAQC,sBAAAA;EACR,QAAQC,sBAAAA;EACR,OAAOC,sBAAAA;CACT;CACA,UAAU;EACR,QAAQC,sBAAAA;EACR,QAAQC,sBAAAA;EACR,OAAOC,sBAAAA;CACT;CACA,SAAS;EACP,QAAQC,sBAAAA;EACR,QAAQC,sBAAAA;EACR,OAAOC,sBAAAA;CACT;AACF;AAmBA,MAAa,qBAAqB,KAAmB,QAAwB,aAAyB,sBAA+C;CACnJ,MAAM,CAAC,iBAAA,GAAA,aAAA,gBAAA,CAAgC;CACvC,MAAM,YAAA,GAAA,aAAA,YAAA,CAAuB;CAC7B,MAAM,YAAA,GAAA,aAAA,YAAA,CAAuB;CAI7B,MAAM,2BAAA,GAAA,aAAA,kBAAA,CAAuC,MAAM;CAEnD,MAAM,eAAe,KAAK,UAAU,MAAM;CAC1C,MAAM,qBAAqB,aAAa,SAAS;CA2BjD,OAAO;2BAzBqB;GAC1B,MAAM,EAAE,WAAW,QAAQ,SAAS,WAAW,OAAO,MAAM,YAAY;GACxE,MAAM,iBAAiB;IAAE,GAAG;IAAQ;IAAW;GAAS;GACxD,OAAO;IACL,GAAG;IACH;IACA,GAAI,WAAW,IAAI,CAAC,MAA8F,QAAQ,cAAc;GAC1I;EAEF,GAAG;GAAC;GAAc;GAAK,SAAS;GAAQ,SAAS;GAAU;EAAkB,CAgBjE;0BAbT,UAA0B,UAA2B,CAAC,MAAY;GACjE,MAAM,WAAW,WAAW,IAAI,CAAC;GACjC,MAAM,WAAW,SAAS;IAAE,WAAW,SAAS;IAAW;GAAS,CAAC;GACrE,MAAM,WAAW,WAAW,IAAI,CAAC;GACjC,MAAM,cAAc,CAAC,WAAW,OAAO,OAAO,SAAS,WAAW,MAAiC,GAAG,SAAS,UAAU,MAAM,CAAC,CAAC,CAC9H,QAAO,MAAK,CAAC,CAAC,CACd,KAAK,GAAG;GACX,SAAS;IAAE;IAAU,SAAS;IAAM,QAAQ,IAAI;IAAe,GAAG;GAAQ,CAAC;EAC7E,GAEA,CAAC,cAAc,GAAG,CAGE;EAAG,EAAE,wBAAwB;CAAC;AACtD"}
1
+ {"version":3,"file":"liststatehook.cjs","names":["formatAuditlogs","parseAuditlogsQuery","formatPageState","commonProcessor","formatDeployments","generateDeploymentsPath","parseDeploymentsQuery","formatDeviceSearch","generateDevicePath","parseDeviceQuery","formatReleases","generateReleasesPath","parseReleasesQuery","formatTenants","generateTenantPath","parseTenantsQuery","useSearchParams","useNavigate","useLocation","useNavigationType","useMemo","useCallback"],"sources":["../src/liststatehook.ts"],"sourcesContent":["// Copyright 2022 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 { useCallback, useMemo } from 'react';\nimport type { Location, NavigateOptions } from 'react-router';\nimport { useLocation, useNavigate, useNavigationType, useSearchParams } from 'react-router';\n\nimport type { CommonProcessorResult, FormatPageStateDefaults, PageState } from './locationutils';\nimport {\n commonProcessor,\n formatAuditlogs,\n formatDeployments,\n formatDeviceSearch,\n formatPageState,\n formatReleases,\n formatTenants,\n generateDeploymentsPath,\n generateDevicePath,\n generateReleasesPath,\n generateTenantPath,\n parseAuditlogsQuery,\n parseDeploymentsQuery,\n parseDeviceQuery,\n parseReleasesQuery,\n parseTenantsQuery\n} from './locationutils';\n\ntype ProcessorConfig<TFormat, TLocate, TParse> = {\n format: TFormat;\n locate: TLocate;\n parse: TParse;\n};\n\ntype Processors = {\n auditlogs: ProcessorConfig<typeof formatAuditlogs, () => undefined, typeof parseAuditlogsQuery>;\n common: ProcessorConfig<typeof formatPageState, () => undefined, typeof commonProcessor>;\n deployments: ProcessorConfig<typeof formatDeployments, typeof generateDeploymentsPath, typeof parseDeploymentsQuery>;\n devices: ProcessorConfig<typeof formatDeviceSearch, typeof generateDevicePath, typeof parseDeviceQuery>;\n releases: ProcessorConfig<typeof formatReleases, typeof generateReleasesPath, typeof parseReleasesQuery>;\n tenants: ProcessorConfig<typeof formatTenants, typeof generateTenantPath, typeof parseTenantsQuery>;\n};\n\nexport const defaultProcessors: Processors = {\n auditlogs: {\n format: formatAuditlogs,\n locate: () => undefined,\n parse: parseAuditlogsQuery\n },\n common: {\n format: formatPageState,\n locate: () => undefined,\n parse: commonProcessor\n },\n deployments: {\n format: formatDeployments,\n locate: generateDeploymentsPath,\n parse: parseDeploymentsQuery\n },\n devices: {\n format: formatDeviceSearch,\n locate: generateDevicePath,\n parse: parseDeviceQuery\n },\n releases: {\n format: formatReleases,\n locate: generateReleasesPath,\n parse: parseReleasesQuery\n },\n tenants: {\n format: formatTenants,\n locate: generateTenantPath,\n parse: parseTenantsQuery\n }\n};\n\ntype ProcessorKey = keyof Omit<Processors, 'common'>;\n\ntype LocationExtras = Record<string, unknown>;\n\ntype LocationParamsValue = PageState & CommonProcessorResult['sort'] & Record<string, unknown>;\n\ntype SetValueParams = {\n [key: string]: unknown;\n pageState: PageState;\n};\n\ntype UseLocationParamsReturn = [\n value: LocationParamsValue,\n setValue: (newValue: SetValueParams, options?: NavigateOptions) => void,\n options: { shouldInitializeFromUrl: boolean }\n];\n\nexport const useLocationParams = (key: ProcessorKey, extras: LocationExtras, processors: Processors = defaultProcessors): UseLocationParamsReturn => {\n const [searchParams] = useSearchParams();\n const navigate = useNavigate();\n const location = useLocation();\n const navigationType = useNavigationType();\n\n // POP (back/ forward/ initial load) -> rely on url state - otherwise on stored redux state\n const shouldInitializeFromUrl = navigationType === 'POP';\n\n const extrasString = JSON.stringify(extras);\n const searchParamsString = searchParams.toString();\n\n const value = useMemo(() => {\n const { pageState, params, sort } = processors.common.parse(searchParams);\n const extendedExtras = { ...extras, pageState, location };\n return {\n ...pageState,\n sort,\n ...(processors[key].parse as (params: URLSearchParams, extras: typeof extendedExtras) => Record<string, unknown>)(params, extendedExtras)\n } as LocationParamsValue;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [extrasString, key, location.search, location.pathname, searchParamsString]);\n\n const setValue = useCallback(\n (newValue: SetValueParams, options: NavigateOptions = {}): void => {\n const locateFn = processors[key].locate as (params: { location: Location; pageState: PageState }) => string | undefined;\n const pathname = locateFn({ pageState: newValue.pageState, location });\n const formatFn = processors[key].format as (value: SetValueParams, extras: LocationExtras) => string;\n const searchQuery = [processors.common.format(newValue.pageState, extras as FormatPageStateDefaults), formatFn(newValue, extras)]\n .filter(i => i)\n .join('&');\n navigate({ pathname, replace: true, search: `?${searchQuery}`, ...options });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [extrasString, key]\n );\n\n return [value, setValue, { shouldInitializeFromUrl }];\n};\n"],"mappings":";;;;;AAoDA,MAAa,oBAAgC;CAC3C,WAAW;EACT,QAAQA,sBAAAA;EACR,cAAc,KAAA;EACd,OAAOC,sBAAAA;CACT;CACA,QAAQ;EACN,QAAQC,sBAAAA;EACR,cAAc,KAAA;EACd,OAAOC,sBAAAA;CACT;CACA,aAAa;EACX,QAAQC,sBAAAA;EACR,QAAQC,sBAAAA;EACR,OAAOC,sBAAAA;CACT;CACA,SAAS;EACP,QAAQC,sBAAAA;EACR,QAAQC,sBAAAA;EACR,OAAOC,sBAAAA;CACT;CACA,UAAU;EACR,QAAQC,sBAAAA;EACR,QAAQC,sBAAAA;EACR,OAAOC,sBAAAA;CACT;CACA,SAAS;EACP,QAAQC,sBAAAA;EACR,QAAQC,sBAAAA;EACR,OAAOC,sBAAAA;CACT;AACF;AAmBA,MAAa,qBAAqB,KAAmB,QAAwB,aAAyB,sBAA+C;CACnJ,MAAM,CAAC,iBAAA,GAAgBC,aAAAA,gBAAAA,CAAgB;CACvC,MAAM,YAAA,GAAWC,aAAAA,YAAAA,CAAY;CAC7B,MAAM,YAAA,GAAWC,aAAAA,YAAAA,CAAY;CAI7B,MAAM,2BAAA,GAHiBC,aAAAA,kBAAAA,CAGsB,MAAM;CAEnD,MAAM,eAAe,KAAK,UAAU,MAAM;CAC1C,MAAM,qBAAqB,aAAa,SAAS;CA2BjD,OAAO;GAzBOC,GAAAA,MAAAA,QAAAA,OAAc;GAC1B,MAAM,EAAE,WAAW,QAAQ,SAAS,WAAW,OAAO,MAAM,YAAY;GACxE,MAAM,iBAAiB;IAAE,GAAG;IAAQ;IAAW;GAAS;GACxD,OAAO;IACL,GAAG;IACH;IACA,GAAI,WAAW,IAAI,CAAC,MAA8F,QAAQ,cAAc;GAC1I;EAEF,GAAG;GAAC;GAAc;GAAK,SAAS;GAAQ,SAAS;GAAU;EAAkB,CAgBjE;GAdKC,GAAAA,MAAAA,YAAAA,EACd,UAA0B,UAA2B,CAAC,MAAY;GACjE,MAAM,WAAW,WAAW,IAAI,CAAC;GACjC,MAAM,WAAW,SAAS;IAAE,WAAW,SAAS;IAAW;GAAS,CAAC;GACrE,MAAM,WAAW,WAAW,IAAI,CAAC;GACjC,MAAM,cAAc,CAAC,WAAW,OAAO,OAAO,SAAS,WAAW,MAAiC,GAAG,SAAS,UAAU,MAAM,CAAC,CAAC,CAC9H,QAAO,MAAK,CAAC,CAAC,CACd,KAAK,GAAG;GACX,SAAS;IAAE;IAAU,SAAS;IAAM,QAAQ,IAAI;IAAe,GAAG;GAAQ,CAAC;EAC7E,GAEA,CAAC,cAAc,GAAG,CAGE;EAAG,EAAE,wBAAwB;CAAC;AACtD"}
@@ -1,6 +1,5 @@
1
1
  import { CommonProcessorResult, PageState, commonProcessor, formatAuditlogs, formatDeployments, formatDeviceSearch, formatPageState, formatReleases, formatTenants, generateDeploymentsPath, generateDevicePath, generateReleasesPath, generateTenantPath, parseAuditlogsQuery, parseDeploymentsQuery, parseDeviceQuery, parseReleasesQuery, parseTenantsQuery } from "./locationutils.cjs";
2
2
  import { NavigateOptions } from "react-router";
3
-
4
3
  //#region src/liststatehook.d.ts
5
4
  type ProcessorConfig<TFormat, TLocate, TParse> = {
6
5
  format: TFormat;
@@ -1,6 +1,5 @@
1
1
  import { CommonProcessorResult, PageState, commonProcessor, formatAuditlogs, formatDeployments, formatDeviceSearch, formatPageState, formatReleases, formatTenants, generateDeploymentsPath, generateDevicePath, generateReleasesPath, generateTenantPath, parseAuditlogsQuery, parseDeploymentsQuery, parseDeviceQuery, parseReleasesQuery, parseTenantsQuery } from "./locationutils.js";
2
2
  import { NavigateOptions } from "react-router";
3
-
4
3
  //#region src/liststatehook.d.ts
5
4
  type ProcessorConfig<TFormat, TLocate, TParse> = {
6
5
  format: TFormat;