@bigbinary/neeto-commons-frontend 3.0.6 → 3.0.9

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 (420) hide show
  1. package/cjs/configs/babel.js +50 -0
  2. package/cjs/configs/eslint/globals.js +14 -0
  3. package/cjs/configs/eslint/helpers/index.js +74 -0
  4. package/cjs/configs/eslint/imports/enforced.js +29 -0
  5. package/cjs/configs/eslint/imports/order.js +65 -0
  6. package/cjs/configs/eslint/index.js +171 -0
  7. package/cjs/configs/eslint/overrides.js +30 -0
  8. package/cjs/configs/eslint/promise.js +8 -0
  9. package/cjs/configs/eslint/react.js +92 -0
  10. package/cjs/configs/nanos/eslint/imports/order.js +25 -0
  11. package/cjs/configs/nanos/eslint/index.js +28 -0
  12. package/cjs/configs/nanos/tailwind.js +11 -0
  13. package/cjs/configs/nanos/webpack/resolve.js +48 -0
  14. package/cjs/configs/nextjs/eslint/imports/order.js +25 -0
  15. package/cjs/configs/nextjs/eslint/index.js +22 -0
  16. package/cjs/configs/nextjs/webpack/resolve.js +1 -0
  17. package/cjs/configs/prettier.js +16 -0
  18. package/cjs/configs/scripts/dead-code-eliminator/constants.js +12 -0
  19. package/cjs/configs/scripts/dead-code-eliminator/index.js +266 -0
  20. package/cjs/configs/scripts/getPkgTranslations.js +45 -0
  21. package/cjs/configs/scripts/jsdoc-builder/constants.mjs +42 -0
  22. package/cjs/configs/scripts/jsdoc-builder/index.mjs +67 -0
  23. package/cjs/configs/scripts/jsdoc-builder/utils.mjs +219 -0
  24. package/cjs/configs/scripts/remove-unused-translation-keys/constants.js +11 -0
  25. package/cjs/configs/scripts/remove-unused-translation-keys/index.js +186 -0
  26. package/cjs/configs/tailwind.js +13 -0
  27. package/cjs/configs/webpack/helpers/customize-default-rules.js +54 -0
  28. package/cjs/configs/webpack/index.js +58 -0
  29. package/cjs/configs/webpack/resolve.js +53 -0
  30. package/cjs/configs/webpack/rules.js +34 -0
  31. package/{constants.cjs.js → cjs/constants/index.js} +11 -10
  32. package/cjs/constants/index.js.map +1 -0
  33. package/cjs/cypress-configs/initializer.js +32 -0
  34. package/cjs/cypress-configs/plugins.js +105 -0
  35. package/cjs/cypress-configs/resolve.js +17 -0
  36. package/cjs/cypress-configs/webpack.config.js +19 -0
  37. package/cjs/cypress-utils/commands.js +276 -0
  38. package/cjs/cypress-utils/commands.js.map +1 -0
  39. package/cjs/cypress-utils/constants/index.js +14 -0
  40. package/cjs/cypress-utils/constants/index.js.map +1 -0
  41. package/cjs/cypress-utils/constants/routes.js +40 -0
  42. package/cjs/cypress-utils/constants/routes.js.map +1 -0
  43. package/cjs/cypress-utils/constants/selectors/common.js +103 -0
  44. package/cjs/cypress-utils/constants/selectors/common.js.map +1 -0
  45. package/cjs/cypress-utils/constants/selectors/editor.js +29 -0
  46. package/cjs/cypress-utils/constants/selectors/editor.js.map +1 -0
  47. package/cjs/cypress-utils/constants/selectors/ipRestriction.js +19 -0
  48. package/cjs/cypress-utils/constants/selectors/ipRestriction.js.map +1 -0
  49. package/cjs/cypress-utils/constants/selectors/login.js +21 -0
  50. package/cjs/cypress-utils/constants/selectors/login.js.map +1 -0
  51. package/cjs/cypress-utils/constants/selectors/member.js +65 -0
  52. package/cjs/cypress-utils/constants/selectors/member.js.map +1 -0
  53. package/cjs/cypress-utils/constants/selectors/navigation.js +28 -0
  54. package/cjs/cypress-utils/constants/selectors/navigation.js.map +1 -0
  55. package/cjs/cypress-utils/constants/selectors/roles.js +24 -0
  56. package/cjs/cypress-utils/constants/selectors/roles.js.map +1 -0
  57. package/cjs/cypress-utils/constants/selectors/signUp.js +23 -0
  58. package/cjs/cypress-utils/constants/selectors/signUp.js.map +1 -0
  59. package/cjs/cypress-utils/constants/selectors/tags.js +31 -0
  60. package/cjs/cypress-utils/constants/selectors/tags.js.map +1 -0
  61. package/cjs/cypress-utils/constants/texts/common.js +40 -0
  62. package/cjs/cypress-utils/constants/texts/common.js.map +1 -0
  63. package/cjs/cypress-utils/constants/texts/member.js +68 -0
  64. package/cjs/cypress-utils/constants/texts/member.js.map +1 -0
  65. package/cjs/cypress-utils/constants/texts/navigation.js +24 -0
  66. package/cjs/cypress-utils/constants/texts/navigation.js.map +1 -0
  67. package/cjs/cypress-utils/constants/texts/roles.js +25 -0
  68. package/cjs/cypress-utils/constants/texts/roles.js.map +1 -0
  69. package/cjs/cypress-utils/constants/texts/signUp.js +14 -0
  70. package/cjs/cypress-utils/constants/texts/signUp.js.map +1 -0
  71. package/cjs/cypress-utils/constants/texts/tags.js +28 -0
  72. package/cjs/cypress-utils/constants/texts/tags.js.map +1 -0
  73. package/cjs/cypress-utils/fixtures/fake.js +177 -0
  74. package/cjs/cypress-utils/fixtures/fake.js.map +1 -0
  75. package/cjs/cypress-utils/index.js +226 -0
  76. package/cjs/cypress-utils/index.js.map +1 -0
  77. package/cjs/cypress-utils/utils/authentication.js +45 -0
  78. package/cjs/cypress-utils/utils/authentication.js.map +1 -0
  79. package/cjs/cypress-utils/utils/common.js +92 -0
  80. package/cjs/cypress-utils/utils/common.js.map +1 -0
  81. package/cjs/cypress-utils/utils/date.js +28 -0
  82. package/cjs/cypress-utils/utils/date.js.map +1 -0
  83. package/cjs/cypress-utils/utils/email.js +165 -0
  84. package/cjs/cypress-utils/utils/email.js.map +1 -0
  85. package/cjs/cypress-utils/utils/member.js +352 -0
  86. package/cjs/cypress-utils/utils/member.js.map +1 -0
  87. package/cjs/cypress-utils/utils/navigation.js +208 -0
  88. package/cjs/cypress-utils/utils/navigation.js.map +1 -0
  89. package/cjs/cypress-utils/utils/organization.js +109 -0
  90. package/cjs/cypress-utils/utils/organization.js.map +1 -0
  91. package/cjs/cypress-utils/utils/validation.js +17 -0
  92. package/cjs/cypress-utils/utils/validation.js.map +1 -0
  93. package/cjs/initializers/axios/index.js +199 -0
  94. package/cjs/initializers/axios/index.js.map +1 -0
  95. package/cjs/initializers/axios/paramsSerializer.js +27 -0
  96. package/cjs/initializers/axios/paramsSerializer.js.map +1 -0
  97. package/cjs/initializers/constants.js +23 -0
  98. package/cjs/initializers/constants.js.map +1 -0
  99. package/cjs/initializers/globalProps.js +15 -0
  100. package/cjs/initializers/globalProps.js.map +1 -0
  101. package/cjs/initializers/i18n.js +74 -0
  102. package/cjs/initializers/i18n.js.map +1 -0
  103. package/cjs/initializers/index.js +51 -0
  104. package/cjs/initializers/index.js.map +1 -0
  105. package/cjs/initializers/logger.js +17 -0
  106. package/cjs/initializers/logger.js.map +1 -0
  107. package/cjs/initializers/reactDevTools.js +26 -0
  108. package/cjs/initializers/reactDevTools.js.map +1 -0
  109. package/cjs/initializers/utils/customFormatters.js +52 -0
  110. package/cjs/initializers/utils/customFormatters.js.map +1 -0
  111. package/cjs/initializers/utils/customPostProcessors.js +21 -0
  112. package/cjs/initializers/utils/customPostProcessors.js.map +1 -0
  113. package/cjs/initializers/utils.js +37 -0
  114. package/cjs/initializers/utils.js.map +1 -0
  115. package/cjs/react-utils/BrowserPushNotifications/devices.js +26 -0
  116. package/cjs/react-utils/BrowserPushNotifications/devices.js.map +1 -0
  117. package/cjs/react-utils/BrowserPushNotifications/index.js +19 -0
  118. package/cjs/react-utils/BrowserPushNotifications/index.js.map +1 -0
  119. package/cjs/react-utils/BrowserPushNotifications/pushHelper.js +116 -0
  120. package/cjs/react-utils/BrowserPushNotifications/pushHelper.js.map +1 -0
  121. package/cjs/react-utils/BrowserPushNotifications/registerServiceWorker.js +146 -0
  122. package/cjs/react-utils/BrowserPushNotifications/registerServiceWorker.js.map +1 -0
  123. package/cjs/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js +153 -0
  124. package/cjs/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js.map +1 -0
  125. package/cjs/react-utils/HoneybadgerErrorBoundary/constants.js +9 -0
  126. package/cjs/react-utils/HoneybadgerErrorBoundary/constants.js.map +1 -0
  127. package/cjs/react-utils/HoneybadgerErrorBoundary/index.js +59 -0
  128. package/cjs/react-utils/HoneybadgerErrorBoundary/index.js.map +1 -0
  129. package/cjs/react-utils/HoneybadgerErrorBoundary/utils.js +17 -0
  130. package/cjs/react-utils/HoneybadgerErrorBoundary/utils.js.map +1 -0
  131. package/cjs/react-utils/PrivateRoute.js +80 -0
  132. package/cjs/react-utils/PrivateRoute.js.map +1 -0
  133. package/cjs/react-utils/constants/constants.js +11 -0
  134. package/cjs/react-utils/constants/constants.js.map +1 -0
  135. package/cjs/react-utils/constants/index.js +28 -0
  136. package/cjs/react-utils/constants/index.js.map +1 -0
  137. package/cjs/react-utils/constants/query.js +11 -0
  138. package/cjs/react-utils/constants/query.js.map +1 -0
  139. package/cjs/react-utils/index.js +242 -0
  140. package/cjs/react-utils/index.js.map +1 -0
  141. package/cjs/react-utils/metaClick.js +16 -0
  142. package/cjs/react-utils/metaClick.js.map +1 -0
  143. package/cjs/react-utils/useDebounce.js +28 -0
  144. package/cjs/react-utils/useDebounce.js.map +1 -0
  145. package/cjs/react-utils/useDisplayErrorPage.js +23 -0
  146. package/cjs/react-utils/useDisplayErrorPage.js.map +1 -0
  147. package/cjs/react-utils/useFetchNeetoApps/apis/neeto_apps.js +17 -0
  148. package/cjs/react-utils/useFetchNeetoApps/apis/neeto_apps.js.map +1 -0
  149. package/cjs/react-utils/useFetchNeetoApps/index.js +14 -0
  150. package/cjs/react-utils/useFetchNeetoApps/index.js.map +1 -0
  151. package/cjs/react-utils/useFetchNeetoApps/useFetchNeetoApps.js +27 -0
  152. package/cjs/react-utils/useFetchNeetoApps/useFetchNeetoApps.js.map +1 -0
  153. package/cjs/react-utils/useFieldSubmit.js +33 -0
  154. package/cjs/react-utils/useFieldSubmit.js.map +1 -0
  155. package/cjs/react-utils/useFuncDebounce.js +27 -0
  156. package/cjs/react-utils/useFuncDebounce.js.map +1 -0
  157. package/cjs/react-utils/useHotKeys/constants.js +36 -0
  158. package/cjs/react-utils/useHotKeys/constants.js.map +1 -0
  159. package/cjs/react-utils/useHotKeys/index.js +14 -0
  160. package/cjs/react-utils/useHotKeys/index.js.map +1 -0
  161. package/cjs/react-utils/useHotKeys/useHotKeys.js +65 -0
  162. package/cjs/react-utils/useHotKeys/useHotKeys.js.map +1 -0
  163. package/cjs/react-utils/useHotKeys/utils.js +37 -0
  164. package/cjs/react-utils/useHotKeys/utils.js.map +1 -0
  165. package/cjs/react-utils/useIsElementVisibleInDom/index.js +14 -0
  166. package/cjs/react-utils/useIsElementVisibleInDom/index.js.map +1 -0
  167. package/cjs/react-utils/useIsElementVisibleInDom/useForceUpdate.js +23 -0
  168. package/cjs/react-utils/useIsElementVisibleInDom/useForceUpdate.js.map +1 -0
  169. package/cjs/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js +34 -0
  170. package/cjs/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js.map +1 -0
  171. package/cjs/react-utils/useKeyboardShortcutsPaneState.js +36 -0
  172. package/cjs/react-utils/useKeyboardShortcutsPaneState.js.map +1 -0
  173. package/cjs/react-utils/useLocalStorage.js +39 -0
  174. package/cjs/react-utils/useLocalStorage.js.map +1 -0
  175. package/cjs/react-utils/useMutationWithInvalidation.js +33 -0
  176. package/cjs/react-utils/useMutationWithInvalidation.js.map +1 -0
  177. package/cjs/react-utils/useOnClickOutside.js +32 -0
  178. package/cjs/react-utils/useOnClickOutside.js.map +1 -0
  179. package/cjs/react-utils/usePersistedQuery.js +59 -0
  180. package/cjs/react-utils/usePersistedQuery.js.map +1 -0
  181. package/cjs/react-utils/usePrevious.js +17 -0
  182. package/cjs/react-utils/usePrevious.js.map +1 -0
  183. package/cjs/react-utils/useQueryParams.js +15 -0
  184. package/cjs/react-utils/useQueryParams.js.map +1 -0
  185. package/cjs/react-utils/useRegisterNavigationCheckpoint.js +43 -0
  186. package/cjs/react-utils/useRegisterNavigationCheckpoint.js.map +1 -0
  187. package/cjs/react-utils/useStateWithDependency.js +23 -0
  188. package/cjs/react-utils/useStateWithDependency.js.map +1 -0
  189. package/cjs/react-utils/useTimer.js +51 -0
  190. package/cjs/react-utils/useTimer.js.map +1 -0
  191. package/cjs/react-utils/useUpdateEffect.js +21 -0
  192. package/cjs/react-utils/useUpdateEffect.js.map +1 -0
  193. package/cjs/react-utils/withImmutableActions.js +29 -0
  194. package/cjs/react-utils/withImmutableActions.js.map +1 -0
  195. package/cjs/react-utils/withT.js +14 -0
  196. package/cjs/react-utils/withT.js.map +1 -0
  197. package/cjs/react-utils/withTitle.js +44 -0
  198. package/cjs/react-utils/withTitle.js.map +1 -0
  199. package/cjs/utils/axios.js +17 -0
  200. package/cjs/utils/axios.js.map +1 -0
  201. package/cjs/utils/createSubscription.js +22 -0
  202. package/cjs/utils/createSubscription.js.map +1 -0
  203. package/cjs/utils/currencyFormat.js +50 -0
  204. package/cjs/utils/currencyFormat.js.map +1 -0
  205. package/cjs/utils/datetime.js +69 -0
  206. package/cjs/utils/datetime.js.map +1 -0
  207. package/cjs/utils/general.js +193 -0
  208. package/cjs/utils/general.js.map +1 -0
  209. package/cjs/utils/index.js +72 -0
  210. package/cjs/utils/index.js.map +1 -0
  211. package/cjs/utils/permissions.js +25 -0
  212. package/cjs/utils/permissions.js.map +1 -0
  213. package/configs/scripts/getPkgTranslations.js +1 -1
  214. package/configs/scripts/jsdoc-builder/constants.mjs +1 -1
  215. package/configs/scripts/jsdoc-builder/index.mjs +1 -1
  216. package/configs/webpack/rules.js +2 -1
  217. package/constants/index.js +13 -0
  218. package/constants/index.js.map +1 -0
  219. package/cypress-utils/commands.js +268 -0
  220. package/cypress-utils/commands.js.map +1 -0
  221. package/cypress-utils/constants/index.js +7 -0
  222. package/cypress-utils/constants/index.js.map +1 -0
  223. package/cypress-utils/constants/routes.js +33 -0
  224. package/cypress-utils/constants/routes.js.map +1 -0
  225. package/cypress-utils/constants/selectors/common.js +94 -0
  226. package/cypress-utils/constants/selectors/common.js.map +1 -0
  227. package/cypress-utils/constants/selectors/editor.js +22 -0
  228. package/cypress-utils/constants/selectors/editor.js.map +1 -0
  229. package/cypress-utils/constants/selectors/ipRestriction.js +12 -0
  230. package/cypress-utils/constants/selectors/ipRestriction.js.map +1 -0
  231. package/cypress-utils/constants/selectors/login.js +14 -0
  232. package/cypress-utils/constants/selectors/login.js.map +1 -0
  233. package/cypress-utils/constants/selectors/member.js +56 -0
  234. package/cypress-utils/constants/selectors/member.js.map +1 -0
  235. package/cypress-utils/constants/selectors/navigation.js +20 -0
  236. package/cypress-utils/constants/selectors/navigation.js.map +1 -0
  237. package/cypress-utils/constants/selectors/roles.js +17 -0
  238. package/cypress-utils/constants/selectors/roles.js.map +1 -0
  239. package/cypress-utils/constants/selectors/signUp.js +16 -0
  240. package/cypress-utils/constants/selectors/signUp.js.map +1 -0
  241. package/cypress-utils/constants/selectors/tags.js +23 -0
  242. package/cypress-utils/constants/selectors/tags.js.map +1 -0
  243. package/cypress-utils/constants/texts/common.js +33 -0
  244. package/cypress-utils/constants/texts/common.js.map +1 -0
  245. package/cypress-utils/constants/texts/member.js +59 -0
  246. package/cypress-utils/constants/texts/member.js.map +1 -0
  247. package/cypress-utils/constants/texts/navigation.js +16 -0
  248. package/cypress-utils/constants/texts/navigation.js.map +1 -0
  249. package/cypress-utils/constants/texts/roles.js +18 -0
  250. package/cypress-utils/constants/texts/roles.js.map +1 -0
  251. package/cypress-utils/constants/texts/signUp.js +7 -0
  252. package/cypress-utils/constants/texts/signUp.js.map +1 -0
  253. package/cypress-utils/constants/texts/tags.js +21 -0
  254. package/cypress-utils/constants/texts/tags.js.map +1 -0
  255. package/cypress-utils/fixtures/fake.js +171 -0
  256. package/cypress-utils/fixtures/fake.js.map +1 -0
  257. package/cypress-utils/index.js +21 -0
  258. package/cypress-utils/index.js.map +1 -0
  259. package/cypress-utils/utils/authentication.js +38 -0
  260. package/cypress-utils/utils/authentication.js.map +1 -0
  261. package/cypress-utils/utils/common.js +75 -0
  262. package/cypress-utils/utils/common.js.map +1 -0
  263. package/cypress-utils/utils/date.js +20 -0
  264. package/cypress-utils/utils/date.js.map +1 -0
  265. package/cypress-utils/utils/email.js +156 -0
  266. package/cypress-utils/utils/email.js.map +1 -0
  267. package/cypress-utils/utils/member.js +344 -0
  268. package/cypress-utils/utils/member.js.map +1 -0
  269. package/cypress-utils/utils/navigation.js +200 -0
  270. package/cypress-utils/utils/navigation.js.map +1 -0
  271. package/cypress-utils/utils/organization.js +102 -0
  272. package/cypress-utils/utils/organization.js.map +1 -0
  273. package/cypress-utils/utils/validation.js +10 -0
  274. package/cypress-utils/utils/validation.js.map +1 -0
  275. package/initializers/axios/index.js +192 -0
  276. package/initializers/axios/index.js.map +1 -0
  277. package/initializers/axios/paramsSerializer.js +18 -0
  278. package/initializers/axios/paramsSerializer.js.map +1 -0
  279. package/initializers/constants.js +13 -0
  280. package/initializers/constants.js.map +1 -0
  281. package/initializers/globalProps.js +8 -0
  282. package/initializers/globalProps.js.map +1 -0
  283. package/initializers/i18n.js +67 -0
  284. package/initializers/i18n.js.map +1 -0
  285. package/initializers/index.js +28 -0
  286. package/initializers/index.js.map +1 -0
  287. package/initializers/logger.js +10 -0
  288. package/initializers/logger.js.map +1 -0
  289. package/initializers/reactDevTools.js +19 -0
  290. package/initializers/reactDevTools.js.map +1 -0
  291. package/initializers/utils/customFormatters.js +43 -0
  292. package/initializers/utils/customFormatters.js.map +1 -0
  293. package/initializers/utils/customPostProcessors.js +14 -0
  294. package/initializers/utils/customPostProcessors.js.map +1 -0
  295. package/initializers/utils.js +29 -0
  296. package/initializers/utils.js.map +1 -0
  297. package/package.json +51 -158
  298. package/pure.d.ts +384 -0
  299. package/react-utils/BrowserPushNotifications/devices.js +18 -0
  300. package/react-utils/BrowserPushNotifications/devices.js.map +1 -0
  301. package/react-utils/BrowserPushNotifications/index.js +1 -0
  302. package/react-utils/BrowserPushNotifications/index.js.map +1 -0
  303. package/react-utils/BrowserPushNotifications/pushHelper.js +107 -0
  304. package/react-utils/BrowserPushNotifications/pushHelper.js.map +1 -0
  305. package/react-utils/BrowserPushNotifications/registerServiceWorker.js +137 -0
  306. package/react-utils/BrowserPushNotifications/registerServiceWorker.js.map +1 -0
  307. package/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js +144 -0
  308. package/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js.map +1 -0
  309. package/react-utils/HoneybadgerErrorBoundary/constants.js +1 -0
  310. package/react-utils/HoneybadgerErrorBoundary/constants.js.map +1 -0
  311. package/react-utils/HoneybadgerErrorBoundary/index.js +52 -0
  312. package/react-utils/HoneybadgerErrorBoundary/index.js.map +1 -0
  313. package/react-utils/HoneybadgerErrorBoundary/utils.js +9 -0
  314. package/react-utils/HoneybadgerErrorBoundary/utils.js.map +1 -0
  315. package/react-utils/PrivateRoute.js +72 -0
  316. package/react-utils/PrivateRoute.js.map +1 -0
  317. package/react-utils/constants/constants.js +3 -0
  318. package/react-utils/constants/constants.js.map +1 -0
  319. package/react-utils/constants/index.js +3 -0
  320. package/react-utils/constants/index.js.map +1 -0
  321. package/react-utils/constants/query.js +4 -0
  322. package/react-utils/constants/query.js.map +1 -0
  323. package/react-utils/index.js +33 -0
  324. package/react-utils/index.js.map +1 -0
  325. package/react-utils/metaClick.js +8 -0
  326. package/react-utils/metaClick.js.map +1 -0
  327. package/react-utils/useDebounce.js +20 -0
  328. package/react-utils/useDebounce.js.map +1 -0
  329. package/react-utils/useDisplayErrorPage.js +15 -0
  330. package/react-utils/useDisplayErrorPage.js.map +1 -0
  331. package/react-utils/useFetchNeetoApps/apis/neeto_apps.js +9 -0
  332. package/react-utils/useFetchNeetoApps/apis/neeto_apps.js.map +1 -0
  333. package/react-utils/useFetchNeetoApps/index.js +1 -0
  334. package/react-utils/useFetchNeetoApps/index.js.map +1 -0
  335. package/react-utils/useFetchNeetoApps/useFetchNeetoApps.js +19 -0
  336. package/react-utils/useFetchNeetoApps/useFetchNeetoApps.js.map +1 -0
  337. package/react-utils/useFieldSubmit.js +26 -0
  338. package/react-utils/useFieldSubmit.js.map +1 -0
  339. package/react-utils/useFuncDebounce.js +20 -0
  340. package/react-utils/useFuncDebounce.js.map +1 -0
  341. package/react-utils/useHotKeys/constants.js +25 -0
  342. package/react-utils/useHotKeys/constants.js.map +1 -0
  343. package/react-utils/useHotKeys/index.js +1 -0
  344. package/react-utils/useHotKeys/index.js.map +1 -0
  345. package/react-utils/useHotKeys/useHotKeys.js +57 -0
  346. package/react-utils/useHotKeys/useHotKeys.js.map +1 -0
  347. package/react-utils/useHotKeys/utils.js +29 -0
  348. package/react-utils/useHotKeys/utils.js.map +1 -0
  349. package/react-utils/useIsElementVisibleInDom/index.js +1 -0
  350. package/react-utils/useIsElementVisibleInDom/index.js.map +1 -0
  351. package/react-utils/useIsElementVisibleInDom/useForceUpdate.js +15 -0
  352. package/react-utils/useIsElementVisibleInDom/useForceUpdate.js.map +1 -0
  353. package/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js +26 -0
  354. package/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js.map +1 -0
  355. package/react-utils/useKeyboardShortcutsPaneState.js +29 -0
  356. package/react-utils/useKeyboardShortcutsPaneState.js.map +1 -0
  357. package/react-utils/useLocalStorage.js +31 -0
  358. package/react-utils/useLocalStorage.js.map +1 -0
  359. package/react-utils/useMutationWithInvalidation.js +25 -0
  360. package/react-utils/useMutationWithInvalidation.js.map +1 -0
  361. package/react-utils/useOnClickOutside.js +25 -0
  362. package/react-utils/useOnClickOutside.js.map +1 -0
  363. package/react-utils/usePersistedQuery.js +51 -0
  364. package/react-utils/usePersistedQuery.js.map +1 -0
  365. package/react-utils/usePrevious.js +10 -0
  366. package/react-utils/usePrevious.js.map +1 -0
  367. package/react-utils/useQueryParams.js +8 -0
  368. package/react-utils/useQueryParams.js.map +1 -0
  369. package/react-utils/useRegisterNavigationCheckpoint.js +35 -0
  370. package/react-utils/useRegisterNavigationCheckpoint.js.map +1 -0
  371. package/react-utils/useStateWithDependency.js +15 -0
  372. package/react-utils/useStateWithDependency.js.map +1 -0
  373. package/react-utils/useTimer.js +43 -0
  374. package/react-utils/useTimer.js.map +1 -0
  375. package/react-utils/useUpdateEffect.js +14 -0
  376. package/react-utils/useUpdateEffect.js.map +1 -0
  377. package/react-utils/withImmutableActions.js +22 -0
  378. package/react-utils/withImmutableActions.js.map +1 -0
  379. package/react-utils/withT.js +7 -0
  380. package/react-utils/withT.js.map +1 -0
  381. package/react-utils/withTitle.js +36 -0
  382. package/react-utils/withTitle.js.map +1 -0
  383. package/react-utils.d.ts +14 -2
  384. package/translations/en.json +100 -0
  385. package/utils/axios.js +10 -0
  386. package/utils/axios.js.map +1 -0
  387. package/utils/createSubscription.js +15 -0
  388. package/utils/createSubscription.js.map +1 -0
  389. package/utils/currencyFormat.js +42 -0
  390. package/utils/currencyFormat.js.map +1 -0
  391. package/utils/datetime.js +60 -0
  392. package/utils/datetime.js.map +1 -0
  393. package/utils/general.js +172 -0
  394. package/utils/general.js.map +1 -0
  395. package/utils/index.js +7 -0
  396. package/utils/index.js.map +1 -0
  397. package/utils/permissions.js +16 -0
  398. package/utils/permissions.js.map +1 -0
  399. package/utils.d.ts +18 -2
  400. package/README.md +0 -173
  401. package/constants.cjs.js.map +0 -1
  402. package/constants.js +0 -15
  403. package/constants.js.map +0 -1
  404. package/cypress-utils.cjs.js +0 -1819
  405. package/cypress-utils.cjs.js.map +0 -1
  406. package/cypress-utils.js +0 -1773
  407. package/cypress-utils.js.map +0 -1
  408. package/initializers.cjs.js +0 -2648
  409. package/initializers.cjs.js.map +0 -1
  410. package/initializers.js +0 -2634
  411. package/initializers.js.map +0 -1
  412. package/react-utils.cjs.js +0 -4915
  413. package/react-utils.cjs.js.map +0 -1
  414. package/react-utils.js +0 -4860
  415. package/react-utils.js.map +0 -1
  416. package/utils.cjs.js +0 -1280
  417. package/utils.cjs.js.map +0 -1
  418. package/utils.js +0 -1248
  419. package/utils.js.map +0 -1
  420. /package/{src → cjs}/translations/en.json +0 -0
@@ -0,0 +1,25 @@
1
+ export var MODES = {
2
+ "default": "default",
3
+ global: "global",
4
+ scoped: "scoped"
5
+ };
6
+ export var DEFAULT_CONFIG = {
7
+ mode: MODES["default"],
8
+ unbindOnUnmount: true,
9
+ enabled: true
10
+ };
11
+ export var MAC_TO_WINDOWS_KEYS_MAP = {
12
+ option: "alt",
13
+ command: "ctrl",
14
+ "return": "enter",
15
+ "delete": "backspace"
16
+ };
17
+ export var OS = {
18
+ mac: "OS X",
19
+ windows: "Windows"
20
+ };
21
+ export var KEY_NAMES = {
22
+ "delete": "delete",
23
+ backspace: "backspace"
24
+ };
25
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["MODES","global","scoped","DEFAULT_CONFIG","mode","unbindOnUnmount","enabled","MAC_TO_WINDOWS_KEYS_MAP","option","command","OS","mac","windows","KEY_NAMES","backspace"],"sources":["../../../src/react-utils/useHotKeys/constants.js"],"sourcesContent":["export const MODES = {\n default: \"default\",\n global: \"global\",\n scoped: \"scoped\",\n};\n\nexport const DEFAULT_CONFIG = {\n mode: MODES.default,\n unbindOnUnmount: true,\n enabled: true,\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"OS X\", windows: \"Windows\" };\n\nexport const KEY_NAMES = { delete: \"delete\", backspace: \"backspace\" };\n"],"mappings":"AAAA,OAAO,IAAMA,KAAK,GAAG;EACnB,WAAS,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,IAAMC,cAAc,GAAG;EAC5BC,IAAI,EAAEJ,KAAK,WAAQ;EACnBK,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,IAAMC,uBAAuB,GAAG;EACrCC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAE,MAAM;EACf,UAAQ,OAAO;EACf,UAAQ;AACV,CAAC;AAED,OAAO,IAAMC,EAAE,GAAG;EAAEC,GAAG,EAAE,MAAM;EAAEC,OAAO,EAAE;AAAU,CAAC;AAErD,OAAO,IAAMC,SAAS,GAAG;EAAE,UAAQ,QAAQ;EAAEC,SAAS,EAAE;AAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export { default } from "./useHotKeys";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../src/react-utils/useHotKeys/index.js"],"sourcesContent":["export { default } from \"./useHotKeys\";\n"],"mappings":"AAAA,SAASA,OAAO"}
@@ -0,0 +1,57 @@
1
+ import { useEffect, useRef } from "react";
2
+ import Mousetrap from "mousetrap";
3
+ import "mousetrap-global-bind";
4
+ import { mergeLeft } from "ramda";
5
+ import { DEFAULT_CONFIG, MODES } from "./constants";
6
+ import { convertHotkeyToUsersPlatform } from "./utils";
7
+ var useHotKeys = function useHotKeys(hotkey, handler, userConfig) {
8
+ var ref = useRef(null);
9
+ var convertedHotkey = convertHotkeyToUsersPlatform(hotkey);
10
+ var config = mergeLeft(userConfig, DEFAULT_CONFIG);
11
+ if (!handler) {
12
+ throw new Error("You must provide a handler function to useHotKeys");
13
+ }
14
+ useEffect(function () {
15
+ if (!config.enabled) return undefined;
16
+ var mousetrapInstance = bindHotKey({
17
+ mode: config.mode,
18
+ hotkey: convertedHotkey,
19
+ handler: handler,
20
+ ref: ref
21
+ });
22
+ return function () {
23
+ unBindHotKey({
24
+ mousetrapInstance: mousetrapInstance,
25
+ mode: config.mode,
26
+ hotkey: convertedHotkey
27
+ });
28
+ };
29
+ }, [handler, config.mode, convertedHotkey, config]);
30
+ return config.mode === MODES.scoped ? ref : null;
31
+ };
32
+ var bindHotKey = function bindHotKey(_ref) {
33
+ var mode = _ref.mode,
34
+ hotkey = _ref.hotkey,
35
+ handler = _ref.handler,
36
+ ref = _ref.ref;
37
+ var mousetrapInstance;
38
+ switch (mode) {
39
+ case MODES.global:
40
+ Mousetrap.bindGlobal(hotkey, handler);
41
+ break;
42
+ case MODES.scoped:
43
+ mousetrapInstance = Mousetrap(ref.current).bind(hotkey, handler);
44
+ break;
45
+ default:
46
+ mousetrapInstance = Mousetrap.bind(hotkey, handler);
47
+ }
48
+ return mousetrapInstance;
49
+ };
50
+ var unBindHotKey = function unBindHotKey(_ref2) {
51
+ var mousetrapInstance = _ref2.mousetrapInstance,
52
+ mode = _ref2.mode,
53
+ hotkey = _ref2.hotkey;
54
+ return mode === MODES.global ? Mousetrap.unbindGlobal(hotkey) : mousetrapInstance === null || mousetrapInstance === void 0 ? void 0 : mousetrapInstance.unbind(hotkey);
55
+ };
56
+ export default useHotKeys;
57
+ //# sourceMappingURL=useHotKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHotKeys.js","names":["useEffect","useRef","Mousetrap","mergeLeft","DEFAULT_CONFIG","MODES","convertHotkeyToUsersPlatform","useHotKeys","hotkey","handler","userConfig","ref","convertedHotkey","config","Error","enabled","undefined","mousetrapInstance","bindHotKey","mode","unBindHotKey","scoped","_ref","global","bindGlobal","current","bind","_ref2","unbindGlobal","unbind"],"sources":["../../../src/react-utils/useHotKeys/useHotKeys.js"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nimport Mousetrap from \"mousetrap\";\nimport \"mousetrap-global-bind\";\nimport { mergeLeft } from \"ramda\";\n\nimport { DEFAULT_CONFIG, MODES } from \"./constants\";\nimport { convertHotkeyToUsersPlatform } from \"./utils\";\n\nconst useHotKeys = (hotkey, handler, userConfig) => {\n const ref = useRef(null);\n const convertedHotkey = convertHotkeyToUsersPlatform(hotkey);\n const config = mergeLeft(userConfig, DEFAULT_CONFIG);\n\n if (!handler) {\n throw new Error(\"You must provide a handler function to useHotKeys\");\n }\n\n useEffect(() => {\n if (!config.enabled) return undefined;\n\n const mousetrapInstance = bindHotKey({\n mode: config.mode,\n hotkey: convertedHotkey,\n handler,\n ref,\n });\n\n return () => {\n unBindHotKey({\n mousetrapInstance,\n mode: config.mode,\n hotkey: convertedHotkey,\n });\n };\n }, [handler, config.mode, convertedHotkey, config]);\n\n return config.mode === MODES.scoped ? ref : null;\n};\n\nconst bindHotKey = ({ mode, hotkey, handler, ref }) => {\n let mousetrapInstance;\n\n switch (mode) {\n case MODES.global:\n Mousetrap.bindGlobal(hotkey, handler);\n break;\n case MODES.scoped:\n mousetrapInstance = Mousetrap(ref.current).bind(hotkey, handler);\n break;\n default:\n mousetrapInstance = Mousetrap.bind(hotkey, handler);\n }\n\n return mousetrapInstance;\n};\n\nconst unBindHotKey = ({ mousetrapInstance, mode, hotkey }) =>\n mode === MODES.global\n ? Mousetrap.unbindGlobal(hotkey)\n : mousetrapInstance?.unbind(hotkey);\n\nexport default useHotKeys;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,OAAOC,SAAS,MAAM,WAAW;AACjC,OAAO,uBAAuB;AAC9B,SAASC,SAAS,QAAQ,OAAO;AAEjC,SAASC,cAAc,EAAEC,KAAK;AAC9B,SAASC,4BAA4B;AAErC,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAIC,MAAM,EAAEC,OAAO,EAAEC,UAAU,EAAK;EAClD,IAAMC,GAAG,GAAGV,MAAM,CAAC,IAAI,CAAC;EACxB,IAAMW,eAAe,GAAGN,4BAA4B,CAACE,MAAM,CAAC;EAC5D,IAAMK,MAAM,GAAGV,SAAS,CAACO,UAAU,EAAEN,cAAc,CAAC;EAEpD,IAAI,CAACK,OAAO,EAAE;IACZ,MAAM,IAAIK,KAAK,CAAC,mDAAmD,CAAC;EACtE;EAEAd,SAAS,CAAC,YAAM;IACd,IAAI,CAACa,MAAM,CAACE,OAAO,EAAE,OAAOC,SAAS;IAErC,IAAMC,iBAAiB,GAAGC,UAAU,CAAC;MACnCC,IAAI,EAAEN,MAAM,CAACM,IAAI;MACjBX,MAAM,EAAEI,eAAe;MACvBH,OAAO,EAAPA,OAAO;MACPE,GAAG,EAAHA;IACF,CAAC,CAAC;IAEF,OAAO,YAAM;MACXS,YAAY,CAAC;QACXH,iBAAiB,EAAjBA,iBAAiB;QACjBE,IAAI,EAAEN,MAAM,CAACM,IAAI;QACjBX,MAAM,EAAEI;MACV,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EAAE,CAACH,OAAO,EAAEI,MAAM,CAACM,IAAI,EAAEP,eAAe,EAAEC,MAAM,CAAC,CAAC;EAEnD,OAAOA,MAAM,CAACM,IAAI,KAAKd,KAAK,CAACgB,MAAM,GAAGV,GAAG,GAAG,IAAI;AAClD,CAAC;AAED,IAAMO,UAAU,GAAG,SAAbA,UAAUA,CAAAI,IAAA,EAAuC;EAAA,IAAjCH,IAAI,GAAAG,IAAA,CAAJH,IAAI;IAAEX,MAAM,GAAAc,IAAA,CAANd,MAAM;IAAEC,OAAO,GAAAa,IAAA,CAAPb,OAAO;IAAEE,GAAG,GAAAW,IAAA,CAAHX,GAAG;EAC9C,IAAIM,iBAAiB;EAErB,QAAQE,IAAI;IACV,KAAKd,KAAK,CAACkB,MAAM;MACfrB,SAAS,CAACsB,UAAU,CAAChB,MAAM,EAAEC,OAAO,CAAC;MACrC;IACF,KAAKJ,KAAK,CAACgB,MAAM;MACfJ,iBAAiB,GAAGf,SAAS,CAACS,GAAG,CAACc,OAAO,CAAC,CAACC,IAAI,CAAClB,MAAM,EAAEC,OAAO,CAAC;MAChE;IACF;MACEQ,iBAAiB,GAAGf,SAAS,CAACwB,IAAI,CAAClB,MAAM,EAAEC,OAAO,CAAC;EAAC;EAGxD,OAAOQ,iBAAiB;AAC1B,CAAC;AAED,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAAO,KAAA;EAAA,IAAMV,iBAAiB,GAAAU,KAAA,CAAjBV,iBAAiB;IAAEE,IAAI,GAAAQ,KAAA,CAAJR,IAAI;IAAEX,MAAM,GAAAmB,KAAA,CAANnB,MAAM;EAAA,OACrDW,IAAI,KAAKd,KAAK,CAACkB,MAAM,GACjBrB,SAAS,CAAC0B,YAAY,CAACpB,MAAM,CAAC,GAC9BS,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEY,MAAM,CAACrB,MAAM,CAAC;AAAA;AAEvC,eAAeD,UAAU"}
@@ -0,0 +1,29 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import platform from "platform";
3
+ import { toPairs } from "ramda";
4
+ import { MAC_TO_WINDOWS_KEYS_MAP, OS, KEY_NAMES } from "./constants";
5
+ var isMultipleHotkey = function isMultipleHotkey(hotkey) {
6
+ return Array.isArray(hotkey);
7
+ };
8
+ var replaceKeys = function replaceKeys(hotkey, keyName, replaceWith) {
9
+ return isMultipleHotkey(hotkey) ? hotkey.map(function (item) {
10
+ return item.replaceAll(keyName, replaceWith);
11
+ }) : hotkey.replaceAll(keyName, replaceWith);
12
+ };
13
+ var convertHotKeyToWindows = function convertHotKeyToWindows(hotkey) {
14
+ toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(function (_ref) {
15
+ var _ref2 = _slicedToArray(_ref, 2),
16
+ macKey = _ref2[0],
17
+ windowsKey = _ref2[1];
18
+ hotkey = replaceKeys(hotkey, macKey, windowsKey);
19
+ });
20
+ return hotkey;
21
+ };
22
+ export var convertHotkeyToUsersPlatform = function convertHotkeyToUsersPlatform(hotkey) {
23
+ var _platformInfo$os, _platformInfo$os$fami;
24
+ var platformInfo = platform.parse(navigator.userAgent);
25
+ var isOSX = (_platformInfo$os = platformInfo.os) === null || _platformInfo$os === void 0 ? void 0 : (_platformInfo$os$fami = _platformInfo$os.family) === null || _platformInfo$os$fami === void 0 ? void 0 : _platformInfo$os$fami.includes(OS.mac);
26
+ if (isOSX) return replaceKeys(hotkey, KEY_NAMES["delete"], KEY_NAMES.backspace);
27
+ return convertHotKeyToWindows(hotkey);
28
+ };
29
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["platform","toPairs","MAC_TO_WINDOWS_KEYS_MAP","OS","KEY_NAMES","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_platformInfo$os","_platformInfo$os$fami","platformInfo","parse","navigator","userAgent","isOSX","os","family","includes","mac","backspace"],"sources":["../../../src/react-utils/useHotKeys/utils.js"],"sourcesContent":["import platform from \"platform\";\nimport { toPairs } from \"ramda\";\n\nimport { MAC_TO_WINDOWS_KEYS_MAP, OS, KEY_NAMES } from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const platformInfo = platform.parse(navigator.userAgent);\n const isOSX = platformInfo.os?.family?.includes(OS.mac);\n if (isOSX) return replaceKeys(hotkey, KEY_NAMES.delete, KEY_NAMES.backspace);\n\n return convertHotKeyToWindows(hotkey);\n};\n"],"mappings":";AAAA,OAAOA,QAAQ,MAAM,UAAU;AAC/B,SAASC,OAAO,QAAQ,OAAO;AAE/B,SAASC,uBAAuB,EAAEC,EAAE,EAAEC,SAAS;AAE/C,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,MAAM;EAAA,OAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC;AAAA;AAExD,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIH,MAAM,EAAEI,OAAO,EAAEC,WAAW;EAAA,OAC/CN,gBAAgB,CAACC,MAAM,CAAC,GACpBA,MAAM,CAACM,GAAG,CAAC,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACC,UAAU,CAACJ,OAAO,EAAEC,WAAW,CAAC;EAAA,EAAC,GACzDL,MAAM,CAACQ,UAAU,CAACJ,OAAO,EAAEC,WAAW,CAAC;AAAA;AAE7C,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGT,MAAM,EAAI;EACvCL,OAAO,CAACC,uBAAuB,CAAC,CAACc,OAAO,CAAC,UAAAC,IAAA,EAA0B;IAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA;MAAxBG,MAAM,GAAAF,KAAA;MAAEG,UAAU,GAAAH,KAAA;IAC3DZ,MAAM,GAAGG,WAAW,CAACH,MAAM,EAAEc,MAAM,EAAEC,UAAU,CAAC;EAClD,CAAC,CAAC;EAEF,OAAOf,MAAM;AACf,CAAC;AAED,OAAO,IAAMgB,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAGhB,MAAM,EAAI;EAAA,IAAAiB,gBAAA,EAAAC,qBAAA;EACpD,IAAMC,YAAY,GAAGzB,QAAQ,CAAC0B,KAAK,CAACC,SAAS,CAACC,SAAS,CAAC;EACxD,IAAMC,KAAK,IAAAN,gBAAA,GAAGE,YAAY,CAACK,EAAE,cAAAP,gBAAA,wBAAAC,qBAAA,GAAfD,gBAAA,CAAiBQ,MAAM,cAAAP,qBAAA,uBAAvBA,qBAAA,CAAyBQ,QAAQ,CAAC7B,EAAE,CAAC8B,GAAG,CAAC;EACvD,IAAIJ,KAAK,EAAE,OAAOpB,WAAW,CAACH,MAAM,EAAEF,SAAS,UAAO,EAAEA,SAAS,CAAC8B,SAAS,CAAC;EAE5E,OAAOnB,sBAAsB,CAACT,MAAM,CAAC;AACvC,CAAC"}
@@ -0,0 +1 @@
1
+ export { default } from "./useIsElementVisibleInDom";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../src/react-utils/useIsElementVisibleInDom/index.js"],"sourcesContent":["export { default } from \"./useIsElementVisibleInDom\";\n"],"mappings":"AAAA,SAASA,OAAO"}
@@ -0,0 +1,15 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useState } from "react";
3
+ var useForceUpdate = function useForceUpdate() {
4
+ // eslint-disable-next-line react/hook-use-state
5
+ var _useState = useState(0),
6
+ _useState2 = _slicedToArray(_useState, 2),
7
+ setValue = _useState2[1];
8
+ return function () {
9
+ return setValue(function (value) {
10
+ return value + 1;
11
+ });
12
+ };
13
+ };
14
+ export default useForceUpdate;
15
+ //# sourceMappingURL=useForceUpdate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useForceUpdate.js","names":["useState","useForceUpdate","_useState","_useState2","_slicedToArray","setValue","value"],"sources":["../../../src/react-utils/useIsElementVisibleInDom/useForceUpdate.js"],"sourcesContent":["import { useState } from \"react\";\n\nconst useForceUpdate = () => {\n // eslint-disable-next-line react/hook-use-state\n const [, setValue] = useState(0);\n\n return () => setValue(value => value + 1);\n};\n\nexport default useForceUpdate;\n"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,OAAO;AAEhC,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;EAC3B;EACA,IAAAC,SAAA,GAAqBF,QAAQ,CAAC,CAAC,CAAC;IAAAG,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAAvBG,QAAQ,GAAAF,UAAA;EAEjB,OAAO;IAAA,OAAME,QAAQ,CAAC,UAAAC,KAAK;MAAA,OAAIA,KAAK,GAAG,CAAC;IAAA,EAAC;EAAA;AAC3C,CAAC;AAED,eAAeL,cAAc"}
@@ -0,0 +1,26 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useEffect, useState } from "react";
3
+ import useForceUpdate from "./useForceUpdate";
4
+ var useIsElementVisibleInDom = function useIsElementVisibleInDom(target) {
5
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
6
+ var _useState = useState(false),
7
+ _useState2 = _slicedToArray(_useState, 2),
8
+ isIntersecting = _useState2[0],
9
+ setIsIntersecting = _useState2[1];
10
+ var forceUpdate = useForceUpdate();
11
+ useEffect(function () {
12
+ if (!target) return forceUpdate();
13
+ var observer = new IntersectionObserver(function (_ref) {
14
+ var _ref2 = _slicedToArray(_ref, 1),
15
+ entry = _ref2[0];
16
+ return setIsIntersecting(entry.isIntersecting);
17
+ }, options);
18
+ observer.observe(target);
19
+ return function () {
20
+ return observer.unobserve(target);
21
+ };
22
+ }, [target, options]);
23
+ return isIntersecting;
24
+ };
25
+ export default useIsElementVisibleInDom;
26
+ //# sourceMappingURL=useIsElementVisibleInDom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsElementVisibleInDom.js","names":["useEffect","useState","useForceUpdate","useIsElementVisibleInDom","target","options","arguments","length","undefined","_useState","_useState2","_slicedToArray","isIntersecting","setIsIntersecting","forceUpdate","observer","IntersectionObserver","_ref","_ref2","entry","observe","unobserve"],"sources":["../../../src/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport useForceUpdate from \"./useForceUpdate\";\n\nconst useIsElementVisibleInDom = (target, options = undefined) => {\n const [isIntersecting, setIsIntersecting] = useState(false);\n const forceUpdate = useForceUpdate();\n\n useEffect(() => {\n if (!target) return forceUpdate();\n\n const observer = new IntersectionObserver(\n ([entry]) => setIsIntersecting(entry.isIntersecting),\n options\n );\n observer.observe(target);\n\n return () => observer.unobserve(target);\n }, [target, options]);\n\n return isIntersecting;\n};\n\nexport default useIsElementVisibleInDom;\n"],"mappings":";AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAE3C,OAAOC,cAAc;AAErB,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,MAAM,EAA0B;EAAA,IAAxBC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EAC3D,IAAAC,SAAA,GAA4CR,QAAQ,CAAC,KAAK,CAAC;IAAAS,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAApDG,cAAc,GAAAF,UAAA;IAAEG,iBAAiB,GAAAH,UAAA;EACxC,IAAMI,WAAW,GAAGZ,cAAc,EAAE;EAEpCF,SAAS,CAAC,YAAM;IACd,IAAI,CAACI,MAAM,EAAE,OAAOU,WAAW,EAAE;IAEjC,IAAMC,QAAQ,GAAG,IAAIC,oBAAoB,CACvC,UAAAC,IAAA;MAAA,IAAAC,KAAA,GAAAP,cAAA,CAAAM,IAAA;QAAEE,KAAK,GAAAD,KAAA;MAAA,OAAML,iBAAiB,CAACM,KAAK,CAACP,cAAc,CAAC;IAAA,GACpDP,OAAO,CACR;IACDU,QAAQ,CAACK,OAAO,CAAChB,MAAM,CAAC;IAExB,OAAO;MAAA,OAAMW,QAAQ,CAACM,SAAS,CAACjB,MAAM,CAAC;IAAA;EACzC,CAAC,EAAE,CAACA,MAAM,EAAEC,OAAO,CAAC,CAAC;EAErB,OAAOO,cAAc;AACvB,CAAC;AAED,eAAeT,wBAAwB"}
@@ -0,0 +1,29 @@
1
+ import { create } from "zustand";
2
+ import { shallow } from "zustand/shallow";
3
+ var useKeyboardShortcutsStore = create(function (set) {
4
+ return {
5
+ isOpen: false,
6
+ setIsOpen: function setIsOpen(arg) {
7
+ if (typeof arg === "function") {
8
+ set(function (state) {
9
+ return {
10
+ isOpen: arg(state.isOpen)
11
+ };
12
+ });
13
+ } else {
14
+ set({
15
+ isOpen: arg
16
+ });
17
+ }
18
+ }
19
+ };
20
+ });
21
+ var useKeyboardShortcutsPaneState = function useKeyboardShortcutsPaneState() {
22
+ return useKeyboardShortcutsStore(function (_ref) {
23
+ var isOpen = _ref.isOpen,
24
+ setIsOpen = _ref.setIsOpen;
25
+ return [isOpen, setIsOpen];
26
+ }, shallow);
27
+ };
28
+ export default useKeyboardShortcutsPaneState;
29
+ //# sourceMappingURL=useKeyboardShortcutsPaneState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardShortcutsPaneState.js","names":["create","shallow","useKeyboardShortcutsStore","set","isOpen","setIsOpen","arg","state","useKeyboardShortcutsPaneState","_ref"],"sources":["../../src/react-utils/useKeyboardShortcutsPaneState.js"],"sourcesContent":["import { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useKeyboardShortcutsStore = create(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n}));\n\nconst useKeyboardShortcutsPaneState = () =>\n useKeyboardShortcutsStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport default useKeyboardShortcutsPaneState;\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,SAAS;AAChC,SAASC,OAAO,QAAQ,iBAAiB;AAEzC,IAAMC,yBAAyB,GAAGF,MAAM,CAAC,UAAAG,GAAG;EAAA,OAAK;IAC/CC,MAAM,EAAE,KAAK;IAEbC,SAAS,EAAE,SAAAA,UAAAC,GAAG,EAAI;MAChB,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;QAC7BH,GAAG,CAAC,UAAAI,KAAK;UAAA,OAAK;YAAEH,MAAM,EAAEE,GAAG,CAACC,KAAK,CAACH,MAAM;UAAE,CAAC;QAAA,CAAC,CAAC;MAC/C,CAAC,MAAM;QACLD,GAAG,CAAC;UAAEC,MAAM,EAAEE;QAAI,CAAC,CAAC;MACtB;IACF;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAME,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAA;EAAA,OACjCN,yBAAyB,CACvB,UAAAO,IAAA;IAAA,IAAGL,MAAM,GAAAK,IAAA,CAANL,MAAM;MAAEC,SAAS,GAAAI,IAAA,CAATJ,SAAS;IAAA,OAAO,CAACD,MAAM,EAAEC,SAAS,CAAC;EAAA,GAC9CJ,OAAO,CACR;AAAA;AAEH,eAAeO,6BAA6B"}
@@ -0,0 +1,31 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useState } from "react";
3
+ import { isNil } from "ramda";
4
+ var getStorageValue = function getStorageValue(key, defaultValue) {
5
+ try {
6
+ var storedValue = localStorage.getItem(key);
7
+ return storedValue ? JSON.parse(storedValue) : defaultValue;
8
+ } catch (error) {
9
+ logger.error(error);
10
+ return defaultValue;
11
+ }
12
+ };
13
+ var useLocalStorage = function useLocalStorage(key, defaultValue) {
14
+ var _useState = useState(function () {
15
+ return getStorageValue(key, defaultValue);
16
+ }),
17
+ _useState2 = _slicedToArray(_useState, 2),
18
+ storedValue = _useState2[0],
19
+ setStoredValue = _useState2[1];
20
+ var setValue = function setValue(value) {
21
+ if (isNil(value)) {
22
+ localStorage.removeItem(key);
23
+ } else {
24
+ localStorage.setItem(key, JSON.stringify(value));
25
+ }
26
+ setStoredValue(value);
27
+ };
28
+ return [storedValue, setValue];
29
+ };
30
+ export default useLocalStorage;
31
+ //# sourceMappingURL=useLocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalStorage.js","names":["useState","isNil","getStorageValue","key","defaultValue","storedValue","localStorage","getItem","JSON","parse","error","logger","useLocalStorage","_useState","_useState2","_slicedToArray","setStoredValue","setValue","value","removeItem","setItem","stringify"],"sources":["../../src/react-utils/useLocalStorage.js"],"sourcesContent":["import { useState } from \"react\";\n\nimport { isNil } from \"ramda\";\n\nconst getStorageValue = (key, defaultValue) => {\n try {\n const storedValue = localStorage.getItem(key);\n\n return storedValue ? JSON.parse(storedValue) : defaultValue;\n } catch (error) {\n logger.error(error);\n\n return defaultValue;\n }\n};\n\nconst useLocalStorage = (key, defaultValue) => {\n const [storedValue, setStoredValue] = useState(() =>\n getStorageValue(key, defaultValue)\n );\n\n const setValue = value => {\n if (isNil(value)) {\n localStorage.removeItem(key);\n } else {\n localStorage.setItem(key, JSON.stringify(value));\n }\n setStoredValue(value);\n };\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,OAAO;AAEhC,SAASC,KAAK,QAAQ,OAAO;AAE7B,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,GAAG,EAAEC,YAAY,EAAK;EAC7C,IAAI;IACF,IAAMC,WAAW,GAAGC,YAAY,CAACC,OAAO,CAACJ,GAAG,CAAC;IAE7C,OAAOE,WAAW,GAAGG,IAAI,CAACC,KAAK,CAACJ,WAAW,CAAC,GAAGD,YAAY;EAC7D,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdC,MAAM,CAACD,KAAK,CAACA,KAAK,CAAC;IAEnB,OAAON,YAAY;EACrB;AACF,CAAC;AAED,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,CAAIT,GAAG,EAAEC,YAAY,EAAK;EAC7C,IAAAS,SAAA,GAAsCb,QAAQ,CAAC;MAAA,OAC7CE,eAAe,CAACC,GAAG,EAAEC,YAAY,CAAC;IAAA,EACnC;IAAAU,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAFMR,WAAW,GAAAS,UAAA;IAAEE,cAAc,GAAAF,UAAA;EAIlC,IAAMG,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,KAAK,EAAI;IACxB,IAAIjB,KAAK,CAACiB,KAAK,CAAC,EAAE;MAChBZ,YAAY,CAACa,UAAU,CAAChB,GAAG,CAAC;IAC9B,CAAC,MAAM;MACLG,YAAY,CAACc,OAAO,CAACjB,GAAG,EAAEK,IAAI,CAACa,SAAS,CAACH,KAAK,CAAC,CAAC;IAClD;IACAF,cAAc,CAACE,KAAK,CAAC;EACvB,CAAC;EAED,OAAO,CAACb,WAAW,EAAEY,QAAQ,CAAC;AAChC,CAAC;AAED,eAAeL,eAAe"}
@@ -0,0 +1,25 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["keysToInvalidate"],
4
+ _excluded2 = ["onSuccess"];
5
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
+ import { useQueryClient, useMutation } from "react-query";
8
+ var useMutationWithInvalidation = function useMutationWithInvalidation(mutationFn, _ref) {
9
+ var keysToInvalidate = _ref.keysToInvalidate,
10
+ options = _objectWithoutProperties(_ref, _excluded);
11
+ var queryClient = useQueryClient();
12
+ var _onSuccess = options.onSuccess,
13
+ otherOptions = _objectWithoutProperties(options, _excluded2);
14
+ return useMutation(mutationFn, _objectSpread({
15
+ onSuccess: function onSuccess(data, variables, context) {
16
+ keysToInvalidate.forEach(function (key) {
17
+ var keyToInvalidate = typeof key === "function" ? key(data, variables, context) : key;
18
+ queryClient.invalidateQueries(keyToInvalidate);
19
+ });
20
+ _onSuccess === null || _onSuccess === void 0 ? void 0 : _onSuccess(data, variables, context);
21
+ }
22
+ }, otherOptions));
23
+ };
24
+ export default useMutationWithInvalidation;
25
+ //# sourceMappingURL=useMutationWithInvalidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMutationWithInvalidation.js","names":["useQueryClient","useMutation","useMutationWithInvalidation","mutationFn","_ref","keysToInvalidate","options","_objectWithoutProperties","_excluded","queryClient","onSuccess","otherOptions","_excluded2","_objectSpread","data","variables","context","forEach","key","keyToInvalidate","invalidateQueries"],"sources":["../../src/react-utils/useMutationWithInvalidation.js"],"sourcesContent":["import { useQueryClient, useMutation } from \"react-query\";\n\nconst useMutationWithInvalidation = (\n mutationFn,\n { keysToInvalidate, ...options }\n) => {\n const queryClient = useQueryClient();\n const { onSuccess, ...otherOptions } = options;\n\n return useMutation(mutationFn, {\n onSuccess: (data, variables, context) => {\n keysToInvalidate.forEach(key => {\n const keyToInvalidate =\n typeof key === \"function\" ? key(data, variables, context) : key;\n queryClient.invalidateQueries(keyToInvalidate);\n });\n onSuccess?.(data, variables, context);\n },\n ...otherOptions,\n });\n};\n\nexport default useMutationWithInvalidation;\n"],"mappings":";;;;;;AAAA,SAASA,cAAc,EAAEC,WAAW,QAAQ,aAAa;AAEzD,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAC/BC,UAAU,EAAAC,IAAA,EAEP;EAAA,IADDC,gBAAgB,GAAAD,IAAA,CAAhBC,gBAAgB;IAAKC,OAAO,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAE9B,IAAMC,WAAW,GAAGT,cAAc,EAAE;EACpC,IAAQU,UAAS,GAAsBJ,OAAO,CAAtCI,SAAS;IAAKC,YAAY,GAAAJ,wBAAA,CAAKD,OAAO,EAAAM,UAAA;EAE9C,OAAOX,WAAW,CAACE,UAAU,EAAAU,aAAA;IAC3BH,SAAS,EAAE,SAAAA,UAACI,IAAI,EAAEC,SAAS,EAAEC,OAAO,EAAK;MACvCX,gBAAgB,CAACY,OAAO,CAAC,UAAAC,GAAG,EAAI;QAC9B,IAAMC,eAAe,GACnB,OAAOD,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACJ,IAAI,EAAEC,SAAS,EAAEC,OAAO,CAAC,GAAGE,GAAG;QACjET,WAAW,CAACW,iBAAiB,CAACD,eAAe,CAAC;MAChD,CAAC,CAAC;MACFT,UAAS,aAATA,UAAS,uBAATA,UAAS,CAAGI,IAAI,EAAEC,SAAS,EAAEC,OAAO,CAAC;IACvC;EAAC,GACEL,YAAY,EACf;AACJ,CAAC;AAED,eAAeT,2BAA2B"}
@@ -0,0 +1,25 @@
1
+ import { useEffect } from "react";
2
+ var useOnClickOutside = function useOnClickOutside(ref, handler) {
3
+ var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
4
+ _ref$enabled = _ref.enabled,
5
+ enabled = _ref$enabled === void 0 ? true : _ref$enabled;
6
+ useEffect(function () {
7
+ var listener = function listener(event) {
8
+ // Do nothing if clicking ref's element or descendent elements
9
+ if (!ref.current || ref.current.contains(event.target)) {
10
+ return;
11
+ }
12
+ handler(event);
13
+ };
14
+ if (enabled) {
15
+ document.addEventListener("mousedown", listener);
16
+ document.addEventListener("touchstart", listener);
17
+ }
18
+ return function () {
19
+ document.removeEventListener("mousedown", listener);
20
+ document.removeEventListener("touchstart", listener);
21
+ };
22
+ }, [handler, enabled]);
23
+ };
24
+ export default useOnClickOutside;
25
+ //# sourceMappingURL=useOnClickOutside.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnClickOutside.js","names":["useEffect","useOnClickOutside","ref","handler","_ref","arguments","length","undefined","_ref$enabled","enabled","listener","event","current","contains","target","document","addEventListener","removeEventListener"],"sources":["../../src/react-utils/useOnClickOutside.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useOnClickOutside = (ref, handler, { enabled = true } = {}) => {\n useEffect(() => {\n const listener = event => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n handler(event);\n };\n\n if (enabled) {\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [handler, enabled]);\n};\n\nexport default useOnClickOutside;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AAEjC,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,GAAG,EAAEC,OAAO,EAA8B;EAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAP,CAAC,CAAC;IAAAG,YAAA,GAAAJ,IAAA,CAArBK,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,IAAI,GAAAA,YAAA;EACvDR,SAAS,CAAC,YAAM;IACd,IAAMU,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,KAAK,EAAI;MACxB;MACA,IAAI,CAACT,GAAG,CAACU,OAAO,IAAIV,GAAG,CAACU,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QACtD;MACF;MACAX,OAAO,CAACQ,KAAK,CAAC;IAChB,CAAC;IAED,IAAIF,OAAO,EAAE;MACXM,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEN,QAAQ,CAAC;MAChDK,QAAQ,CAACC,gBAAgB,CAAC,YAAY,EAAEN,QAAQ,CAAC;IACnD;IAEA,OAAO,YAAM;MACXK,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEP,QAAQ,CAAC;MACnDK,QAAQ,CAACE,mBAAmB,CAAC,YAAY,EAAEP,QAAQ,CAAC;IACtD,CAAC;EACH,CAAC,EAAE,CAACP,OAAO,EAAEM,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,eAAeR,iBAAiB"}
@@ -0,0 +1,51 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ import { useEffect } from "react";
5
+ import { getFromLocalStorage } from "@bigbinary/neeto-commons-frontend/utils";
6
+ import { isNil } from "ramda";
7
+ import { useQuery } from "react-query";
8
+ import { QUERY_CACHE_NAME_SPACE } from "./constants";
9
+ var localStorageQueryCache = {
10
+ set: function set(key, data) {
11
+ var cache = localStorageQueryCache.getAll();
12
+ var newCache = _objectSpread(_objectSpread({}, cache), {}, _defineProperty({}, key, {
13
+ data: data,
14
+ modifiedAt: Date.now()
15
+ }));
16
+ localStorage.setItem(QUERY_CACHE_NAME_SPACE, JSON.stringify(newCache));
17
+ },
18
+ getAll: function getAll() {
19
+ var cache = getFromLocalStorage(QUERY_CACHE_NAME_SPACE);
20
+ if (!cache) return {};
21
+ return cache;
22
+ },
23
+ get: function get(key) {
24
+ return localStorageQueryCache.getAll()[key];
25
+ }
26
+ };
27
+ var isOutdated = function isOutdated(localCache, staleTime) {
28
+ if (isNil(localCache)) return true;
29
+ if (isNil(staleTime)) return false;
30
+ return localCache.modifiedAt <= Date.now() - staleTime;
31
+ };
32
+ var usePersistedQuery = function usePersistedQuery(queryKey, fetch, options) {
33
+ var queryResult = useQuery(queryKey, fetch, options);
34
+ var localCache = localStorageQueryCache.get(queryKey);
35
+ useEffect(function () {
36
+ if (!queryResult.isSuccess) return;
37
+ localStorageQueryCache.set(queryKey, queryResult.data);
38
+ }, [queryKey, queryResult.data, queryResult.isSuccess]);
39
+ if (isOutdated(localCache, options === null || options === void 0 ? void 0 : options.staleTime)) {
40
+ return _objectSpread(_objectSpread({}, queryResult), {}, {
41
+ isFreshLoading: queryResult.isLoading
42
+ });
43
+ }
44
+ return _objectSpread(_objectSpread({}, queryResult), {}, {
45
+ data: queryResult.data || localCache.data,
46
+ isFreshLoading: false
47
+ });
48
+ };
49
+ usePersistedQuery.getCache = localStorageQueryCache.get;
50
+ export default usePersistedQuery;
51
+ //# sourceMappingURL=usePersistedQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePersistedQuery.js","names":["useEffect","getFromLocalStorage","isNil","useQuery","QUERY_CACHE_NAME_SPACE","localStorageQueryCache","set","key","data","cache","getAll","newCache","_objectSpread","_defineProperty","modifiedAt","Date","now","localStorage","setItem","JSON","stringify","get","isOutdated","localCache","staleTime","usePersistedQuery","queryKey","fetch","options","queryResult","isSuccess","isFreshLoading","isLoading","getCache"],"sources":["../../src/react-utils/usePersistedQuery.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { getFromLocalStorage } from \"neetocommons/utils\";\nimport { isNil } from \"ramda\";\nimport { useQuery } from \"react-query\";\n\nimport { QUERY_CACHE_NAME_SPACE } from \"./constants\";\n\nconst localStorageQueryCache = {\n set: (key, data) => {\n const cache = localStorageQueryCache.getAll();\n const newCache = { ...cache, [key]: { data, modifiedAt: Date.now() } };\n localStorage.setItem(QUERY_CACHE_NAME_SPACE, JSON.stringify(newCache));\n },\n getAll: () => {\n const cache = getFromLocalStorage(QUERY_CACHE_NAME_SPACE);\n if (!cache) return {};\n\n return cache;\n },\n get: key => localStorageQueryCache.getAll()[key],\n};\n\nconst isOutdated = (localCache, staleTime) => {\n if (isNil(localCache)) return true;\n\n if (isNil(staleTime)) return false;\n\n return localCache.modifiedAt <= Date.now() - staleTime;\n};\n\nconst usePersistedQuery = (queryKey, fetch, options) => {\n const queryResult = useQuery(queryKey, fetch, options);\n const localCache = localStorageQueryCache.get(queryKey);\n\n useEffect(() => {\n if (!queryResult.isSuccess) return;\n localStorageQueryCache.set(queryKey, queryResult.data);\n }, [queryKey, queryResult.data, queryResult.isSuccess]);\n\n if (isOutdated(localCache, options?.staleTime)) {\n return { ...queryResult, isFreshLoading: queryResult.isLoading };\n }\n\n return {\n ...queryResult,\n data: queryResult.data || localCache.data,\n isFreshLoading: false,\n };\n};\n\nusePersistedQuery.getCache = localStorageQueryCache.get;\n\nexport default usePersistedQuery;\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,OAAO;AAEjC,SAASC,mBAAmB;AAC5B,SAASC,KAAK,QAAQ,OAAO;AAC7B,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,sBAAsB;AAE/B,IAAMC,sBAAsB,GAAG;EAC7BC,GAAG,EAAE,SAAAA,IAACC,GAAG,EAAEC,IAAI,EAAK;IAClB,IAAMC,KAAK,GAAGJ,sBAAsB,CAACK,MAAM,EAAE;IAC7C,IAAMC,QAAQ,GAAAC,aAAA,CAAAA,aAAA,KAAQH,KAAK,OAAAI,eAAA,KAAGN,GAAG,EAAG;MAAEC,IAAI,EAAJA,IAAI;MAAEM,UAAU,EAAEC,IAAI,CAACC,GAAG;IAAG,CAAC,EAAE;IACtEC,YAAY,CAACC,OAAO,CAACd,sBAAsB,EAAEe,IAAI,CAACC,SAAS,CAACT,QAAQ,CAAC,CAAC;EACxE,CAAC;EACDD,MAAM,EAAE,SAAAA,OAAA,EAAM;IACZ,IAAMD,KAAK,GAAGR,mBAAmB,CAACG,sBAAsB,CAAC;IACzD,IAAI,CAACK,KAAK,EAAE,OAAO,CAAC,CAAC;IAErB,OAAOA,KAAK;EACd,CAAC;EACDY,GAAG,EAAE,SAAAA,IAAAd,GAAG;IAAA,OAAIF,sBAAsB,CAACK,MAAM,EAAE,CAACH,GAAG,CAAC;EAAA;AAClD,CAAC;AAED,IAAMe,UAAU,GAAG,SAAbA,UAAUA,CAAIC,UAAU,EAAEC,SAAS,EAAK;EAC5C,IAAItB,KAAK,CAACqB,UAAU,CAAC,EAAE,OAAO,IAAI;EAElC,IAAIrB,KAAK,CAACsB,SAAS,CAAC,EAAE,OAAO,KAAK;EAElC,OAAOD,UAAU,CAACT,UAAU,IAAIC,IAAI,CAACC,GAAG,EAAE,GAAGQ,SAAS;AACxD,CAAC;AAED,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,QAAQ,EAAEC,KAAK,EAAEC,OAAO,EAAK;EACtD,IAAMC,WAAW,GAAG1B,QAAQ,CAACuB,QAAQ,EAAEC,KAAK,EAAEC,OAAO,CAAC;EACtD,IAAML,UAAU,GAAGlB,sBAAsB,CAACgB,GAAG,CAACK,QAAQ,CAAC;EAEvD1B,SAAS,CAAC,YAAM;IACd,IAAI,CAAC6B,WAAW,CAACC,SAAS,EAAE;IAC5BzB,sBAAsB,CAACC,GAAG,CAACoB,QAAQ,EAAEG,WAAW,CAACrB,IAAI,CAAC;EACxD,CAAC,EAAE,CAACkB,QAAQ,EAAEG,WAAW,CAACrB,IAAI,EAAEqB,WAAW,CAACC,SAAS,CAAC,CAAC;EAEvD,IAAIR,UAAU,CAACC,UAAU,EAAEK,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEJ,SAAS,CAAC,EAAE;IAC9C,OAAAZ,aAAA,CAAAA,aAAA,KAAYiB,WAAW;MAAEE,cAAc,EAAEF,WAAW,CAACG;IAAS;EAChE;EAEA,OAAApB,aAAA,CAAAA,aAAA,KACKiB,WAAW;IACdrB,IAAI,EAAEqB,WAAW,CAACrB,IAAI,IAAIe,UAAU,CAACf,IAAI;IACzCuB,cAAc,EAAE;EAAK;AAEzB,CAAC;AAEDN,iBAAiB,CAACQ,QAAQ,GAAG5B,sBAAsB,CAACgB,GAAG;AAEvD,eAAeI,iBAAiB"}
@@ -0,0 +1,10 @@
1
+ import { useEffect, useRef } from "react";
2
+ var usePrevious = function usePrevious(value) {
3
+ var ref = useRef(value);
4
+ useEffect(function () {
5
+ ref.current = value;
6
+ }, [value]);
7
+ return ref.current;
8
+ };
9
+ export default usePrevious;
10
+ //# sourceMappingURL=usePrevious.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrevious.js","names":["useEffect","useRef","usePrevious","value","ref","current"],"sources":["../../src/react-utils/usePrevious.js"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nconst usePrevious = value => {\n const ref = useRef(value);\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n\nexport default usePrevious;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAI;EAC3B,IAAMC,GAAG,GAAGH,MAAM,CAACE,KAAK,CAAC;EAEzBH,SAAS,CAAC,YAAM;IACdI,GAAG,CAACC,OAAO,GAAGF,KAAK;EACrB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,GAAG,CAACC,OAAO;AACpB,CAAC;AAED,eAAeH,WAAW"}
@@ -0,0 +1,8 @@
1
+ import { useLocation } from "react-router-dom";
2
+ import { parseQueryParams } from "../utils";
3
+ var useQueryParams = function useQueryParams(options) {
4
+ var location = useLocation();
5
+ return parseQueryParams(location.search, options);
6
+ };
7
+ export default useQueryParams;
8
+ //# sourceMappingURL=useQueryParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useQueryParams.js","names":["useLocation","parseQueryParams","useQueryParams","options","location","search"],"sources":["../../src/react-utils/useQueryParams.js"],"sourcesContent":["import { useLocation } from \"react-router-dom\";\n\nimport { parseQueryParams } from \"utils\";\n\nconst useQueryParams = options => {\n const location = useLocation();\n\n return parseQueryParams(location.search, options);\n};\n\nexport default useQueryParams;\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,kBAAkB;AAE9C,SAASC,gBAAgB;AAEzB,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,OAAO,EAAI;EAChC,IAAMC,QAAQ,GAAGJ,WAAW,EAAE;EAE9B,OAAOC,gBAAgB,CAACG,QAAQ,CAACC,MAAM,EAAEF,OAAO,CAAC;AACnD,CAAC;AAED,eAAeD,cAAc"}
@@ -0,0 +1,35 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import { useEffect } from "react";
3
+ import { mergeDeepLeft, pick, prop } from "ramda";
4
+ import { create } from "zustand";
5
+ import { shallow } from "zustand/shallow";
6
+ import withImmutableActions from "./withImmutableActions";
7
+
8
+ /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
9
+ var useCheckpointStore = create(withImmutableActions(function (set) {
10
+ return {
11
+ checkpoints: {},
12
+ setCheckpoint: function setCheckpoint(key, path) {
13
+ return set(mergeDeepLeft({
14
+ checkpoints: _defineProperty({}, key, path)
15
+ }));
16
+ }
17
+ };
18
+ }));
19
+ var useRegisterNavigationCheckpoint = function useRegisterNavigationCheckpoint(key) {
20
+ var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.pathname + window.location.search;
21
+ var setCheckpoint = useCheckpointStore(prop("setCheckpoint"));
22
+ useEffect(function () {
23
+ setCheckpoint(key, path);
24
+ }, [key, path]);
25
+ };
26
+ export var useNavigationCheckpoints = function useNavigationCheckpoints() {
27
+ for (var _len = arguments.length, keys = new Array(_len), _key = 0; _key < _len; _key++) {
28
+ keys[_key] = arguments[_key];
29
+ }
30
+ return useCheckpointStore(function (store) {
31
+ return pick(keys, store.checkpoints);
32
+ }, shallow);
33
+ };
34
+ export default useRegisterNavigationCheckpoint;
35
+ //# sourceMappingURL=useRegisterNavigationCheckpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRegisterNavigationCheckpoint.js","names":["useEffect","mergeDeepLeft","pick","prop","create","shallow","withImmutableActions","useCheckpointStore","set","checkpoints","setCheckpoint","key","path","_defineProperty","useRegisterNavigationCheckpoint","arguments","length","undefined","window","location","pathname","search","useNavigationCheckpoints","_len","keys","Array","_key","store"],"sources":["../../src/react-utils/useRegisterNavigationCheckpoint.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { mergeDeepLeft, pick, prop } from \"ramda\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nimport withImmutableActions from \"./withImmutableActions\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useCheckpointStore = create(\n withImmutableActions(set => ({\n checkpoints: {},\n setCheckpoint: (key, path) =>\n set(mergeDeepLeft({ checkpoints: { [key]: path } })),\n }))\n);\n\nconst useRegisterNavigationCheckpoint = (\n key,\n path = window.location.pathname + window.location.search\n) => {\n const setCheckpoint = useCheckpointStore(prop(\"setCheckpoint\"));\n\n useEffect(() => {\n setCheckpoint(key, path);\n }, [key, path]);\n};\n\nexport const useNavigationCheckpoints = (...keys) =>\n useCheckpointStore(store => pick(keys, store.checkpoints), shallow);\n\nexport default useRegisterNavigationCheckpoint;\n"],"mappings":";AAAA,SAASA,SAAS,QAAQ,OAAO;AAEjC,SAASC,aAAa,EAAEC,IAAI,EAAEC,IAAI,QAAQ,OAAO;AACjD,SAASC,MAAM,QAAQ,SAAS;AAChC,SAASC,OAAO,QAAQ,iBAAiB;AAEzC,OAAOC,oBAAoB;;AAE3B;AACA,IAAMC,kBAAkB,GAAGH,MAAM,CAC/BE,oBAAoB,CAAC,UAAAE,GAAG;EAAA,OAAK;IAC3BC,WAAW,EAAE,CAAC,CAAC;IACfC,aAAa,EAAE,SAAAA,cAACC,GAAG,EAAEC,IAAI;MAAA,OACvBJ,GAAG,CAACP,aAAa,CAAC;QAAEQ,WAAW,EAAAI,eAAA,KAAKF,GAAG,EAAGC,IAAI;MAAG,CAAC,CAAC,CAAC;IAAA;EACxD,CAAC;AAAA,CAAC,CAAC,CACJ;AAED,IAAME,+BAA+B,GAAG,SAAlCA,+BAA+BA,CACnCH,GAAG,EAEA;EAAA,IADHC,IAAI,GAAAG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGG,MAAM,CAACC,QAAQ,CAACC,QAAQ,GAAGF,MAAM,CAACC,QAAQ,CAACE,MAAM;EAExD,IAAMX,aAAa,GAAGH,kBAAkB,CAACJ,IAAI,CAAC,eAAe,CAAC,CAAC;EAE/DH,SAAS,CAAC,YAAM;IACdU,aAAa,CAACC,GAAG,EAAEC,IAAI,CAAC;EAC1B,CAAC,EAAE,CAACD,GAAG,EAAEC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,OAAO,IAAMU,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAA;EAAA,SAAAC,IAAA,GAAAR,SAAA,CAAAC,MAAA,EAAOQ,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAX,SAAA,CAAAW,IAAA;EAAA;EAAA,OAC9CnB,kBAAkB,CAAC,UAAAoB,KAAK;IAAA,OAAIzB,IAAI,CAACsB,IAAI,EAAEG,KAAK,CAAClB,WAAW,CAAC;EAAA,GAAEJ,OAAO,CAAC;AAAA;AAErE,eAAeS,+BAA+B"}
@@ -0,0 +1,15 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useState, useEffect } from "react";
3
+ var useStateWithDependency = function useStateWithDependency(defaultValue) {
4
+ var dependencies = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [defaultValue];
5
+ var _useState = useState(defaultValue),
6
+ _useState2 = _slicedToArray(_useState, 2),
7
+ value = _useState2[0],
8
+ setValue = _useState2[1];
9
+ useEffect(function () {
10
+ setValue(defaultValue);
11
+ }, dependencies);
12
+ return [value, setValue];
13
+ };
14
+ export default useStateWithDependency;
15
+ //# sourceMappingURL=useStateWithDependency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStateWithDependency.js","names":["useState","useEffect","useStateWithDependency","defaultValue","dependencies","arguments","length","undefined","_useState","_useState2","_slicedToArray","value","setValue"],"sources":["../../src/react-utils/useStateWithDependency.js"],"sourcesContent":["import { useState, useEffect } from \"react\";\n\nconst useStateWithDependency = (\n defaultValue,\n dependencies = [defaultValue]\n) => {\n const [value, setValue] = useState(defaultValue);\n\n useEffect(() => {\n setValue(defaultValue);\n }, dependencies);\n\n return [value, setValue];\n};\n\nexport default useStateWithDependency;\n"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAE3C,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAC1BC,YAAY,EAET;EAAA,IADHC,YAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAACF,YAAY,CAAC;EAE7B,IAAAK,SAAA,GAA0BR,QAAQ,CAACG,YAAY,CAAC;IAAAM,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAAzCG,KAAK,GAAAF,UAAA;IAAEG,QAAQ,GAAAH,UAAA;EAEtBR,SAAS,CAAC,YAAM;IACdW,QAAQ,CAACT,YAAY,CAAC;EACxB,CAAC,EAAEC,YAAY,CAAC;EAEhB,OAAO,CAACO,KAAK,EAAEC,QAAQ,CAAC;AAC1B,CAAC;AAED,eAAeV,sBAAsB"}
@@ -0,0 +1,43 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import { useEffect, useMemo } from "react";
3
+ import { isEmpty, omit, prop } from "ramda";
4
+ import { v4 as uuid } from "uuid";
5
+ import { create } from "zustand";
6
+ var useTimerStore = create(function () {
7
+ return {};
8
+ });
9
+ setInterval(function () {
10
+ var currentState = useTimerStore.getState();
11
+ var nextState = {};
12
+ var now = Date.now();
13
+ for (var key in currentState) {
14
+ var _currentState$key = currentState[key],
15
+ lastUpdated = _currentState$key.lastUpdated,
16
+ interval = _currentState$key.interval;
17
+ var shouldUpdate = now - lastUpdated >= interval;
18
+ if (shouldUpdate) nextState[key] = {
19
+ lastUpdated: now,
20
+ interval: interval
21
+ };
22
+ }
23
+ if (!isEmpty(nextState)) useTimerStore.setState(nextState);
24
+ }, 1000);
25
+ var useTimer = function useTimer() {
26
+ var interval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 60;
27
+ var key = useMemo(function () {
28
+ return uuid();
29
+ }, []);
30
+ useEffect(function () {
31
+ useTimerStore.setState(_defineProperty({}, key, {
32
+ lastUpdated: Date.now(),
33
+ interval: 1000 * interval // convert seconds to ms
34
+ }));
35
+
36
+ return function () {
37
+ return useTimerStore.setState(omit([key], useTimerStore.getState()), true);
38
+ };
39
+ }, [interval, key]);
40
+ return useTimerStore(prop(key));
41
+ };
42
+ export default useTimer;
43
+ //# sourceMappingURL=useTimer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTimer.js","names":["useEffect","useMemo","isEmpty","omit","prop","v4","uuid","create","useTimerStore","setInterval","currentState","getState","nextState","now","Date","key","_currentState$key","lastUpdated","interval","shouldUpdate","setState","useTimer","arguments","length","undefined","_defineProperty"],"sources":["../../src/react-utils/useTimer.js"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\n\nimport { isEmpty, omit, prop } from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\nimport { create } from \"zustand\";\n\nconst useTimerStore = create(() => ({}));\n\nsetInterval(() => {\n const currentState = useTimerStore.getState();\n const nextState = {};\n const now = Date.now();\n\n for (const key in currentState) {\n const { lastUpdated, interval } = currentState[key];\n const shouldUpdate = now - lastUpdated >= interval;\n if (shouldUpdate) nextState[key] = { lastUpdated: now, interval };\n }\n\n if (!isEmpty(nextState)) useTimerStore.setState(nextState);\n}, 1000);\n\nconst useTimer = (interval = 60) => {\n const key = useMemo(() => uuid(), []);\n\n useEffect(() => {\n useTimerStore.setState({\n [key]: {\n lastUpdated: Date.now(),\n interval: 1000 * interval, // convert seconds to ms\n },\n });\n\n return () =>\n useTimerStore.setState(omit([key], useTimerStore.getState()), true);\n }, [interval, key]);\n\n return useTimerStore(prop(key));\n};\n\nexport default useTimer;\n"],"mappings":";AAAA,SAASA,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAE1C,SAASC,OAAO,EAAEC,IAAI,EAAEC,IAAI,QAAQ,OAAO;AAC3C,SAASC,EAAE,IAAIC,IAAI,QAAQ,MAAM;AACjC,SAASC,MAAM,QAAQ,SAAS;AAEhC,IAAMC,aAAa,GAAGD,MAAM,CAAC;EAAA,OAAO,CAAC,CAAC;AAAA,CAAC,CAAC;AAExCE,WAAW,CAAC,YAAM;EAChB,IAAMC,YAAY,GAAGF,aAAa,CAACG,QAAQ,EAAE;EAC7C,IAAMC,SAAS,GAAG,CAAC,CAAC;EACpB,IAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,EAAE;EAEtB,KAAK,IAAME,GAAG,IAAIL,YAAY,EAAE;IAC9B,IAAAM,iBAAA,GAAkCN,YAAY,CAACK,GAAG,CAAC;MAA3CE,WAAW,GAAAD,iBAAA,CAAXC,WAAW;MAAEC,QAAQ,GAAAF,iBAAA,CAARE,QAAQ;IAC7B,IAAMC,YAAY,GAAGN,GAAG,GAAGI,WAAW,IAAIC,QAAQ;IAClD,IAAIC,YAAY,EAAEP,SAAS,CAACG,GAAG,CAAC,GAAG;MAAEE,WAAW,EAAEJ,GAAG;MAAEK,QAAQ,EAARA;IAAS,CAAC;EACnE;EAEA,IAAI,CAAChB,OAAO,CAACU,SAAS,CAAC,EAAEJ,aAAa,CAACY,QAAQ,CAACR,SAAS,CAAC;AAC5D,CAAC,EAAE,IAAI,CAAC;AAER,IAAMS,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAsB;EAAA,IAAlBH,QAAQ,GAAAI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC7B,IAAMP,GAAG,GAAGd,OAAO,CAAC;IAAA,OAAMK,IAAI,EAAE;EAAA,GAAE,EAAE,CAAC;EAErCN,SAAS,CAAC,YAAM;IACdQ,aAAa,CAACY,QAAQ,CAAAK,eAAA,KACnBV,GAAG,EAAG;MACLE,WAAW,EAAEH,IAAI,CAACD,GAAG,EAAE;MACvBK,QAAQ,EAAE,IAAI,GAAGA,QAAQ,CAAE;IAC7B,CAAC,EACD;;IAEF,OAAO;MAAA,OACLV,aAAa,CAACY,QAAQ,CAACjB,IAAI,CAAC,CAACY,GAAG,CAAC,EAAEP,aAAa,CAACG,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC;IAAA;EACvE,CAAC,EAAE,CAACO,QAAQ,EAAEH,GAAG,CAAC,CAAC;EAEnB,OAAOP,aAAa,CAACJ,IAAI,CAACW,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,eAAeM,QAAQ"}
@@ -0,0 +1,14 @@
1
+ import { useEffect, useRef } from "react";
2
+ var useUpdateEffect = function useUpdateEffect(callback) {
3
+ var dependencies = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
4
+ var isInitialMount = useRef(true);
5
+ useEffect(function () {
6
+ if (isInitialMount.current) {
7
+ isInitialMount.current = false;
8
+ return;
9
+ }
10
+ callback();
11
+ }, dependencies);
12
+ };
13
+ export default useUpdateEffect;
14
+ //# sourceMappingURL=useUpdateEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpdateEffect.js","names":["useEffect","useRef","useUpdateEffect","callback","dependencies","arguments","length","undefined","isInitialMount","current"],"sources":["../../src/react-utils/useUpdateEffect.js"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nconst useUpdateEffect = (callback, dependencies = []) => {\n const isInitialMount = useRef(true);\n\n useEffect(() => {\n if (isInitialMount.current) {\n isInitialMount.current = false;\n\n return;\n }\n callback();\n }, dependencies);\n};\nexport default useUpdateEffect;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,QAAQ,EAAwB;EAAA,IAAtBC,YAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAClD,IAAMG,cAAc,GAAGP,MAAM,CAAC,IAAI,CAAC;EAEnCD,SAAS,CAAC,YAAM;IACd,IAAIQ,cAAc,CAACC,OAAO,EAAE;MAC1BD,cAAc,CAACC,OAAO,GAAG,KAAK;MAE9B;IACF;IACAN,QAAQ,EAAE;EACZ,CAAC,EAAEC,YAAY,CAAC;AAClB,CAAC;AACD,eAAeF,eAAe"}
@@ -0,0 +1,22 @@
1
+ import { isEmpty, keys } from "ramda";
2
+ var setWithoutModifyingActions = function setWithoutModifyingActions(set) {
3
+ return function (partial) {
4
+ return set(function (previous) {
5
+ if (typeof partial === "function") partial = partial(previous);
6
+ var overwrittenActions = keys(partial).filter(function (key) {
7
+ return typeof (previous === null || previous === void 0 ? void 0 : previous[key]) === "function" && partial[key] !== previous[key];
8
+ });
9
+ if (!isEmpty(overwrittenActions)) {
10
+ throw new Error("Actions should not be modified. Touched action(s): ".concat(overwrittenActions.join(", ")));
11
+ }
12
+ return partial;
13
+ }, false);
14
+ };
15
+ };
16
+ var withImmutableActions = function withImmutableActions(config) {
17
+ return function (set, get, api) {
18
+ return config(setWithoutModifyingActions(set), get, api);
19
+ };
20
+ };
21
+ export default withImmutableActions;
22
+ //# sourceMappingURL=withImmutableActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withImmutableActions.js","names":["isEmpty","keys","setWithoutModifyingActions","set","partial","previous","overwrittenActions","filter","key","Error","concat","join","withImmutableActions","config","get","api"],"sources":["../../src/react-utils/withImmutableActions.js"],"sourcesContent":["import { isEmpty, keys } from \"ramda\";\n\nconst setWithoutModifyingActions = set => partial =>\n set(previous => {\n if (typeof partial === \"function\") partial = partial(previous);\n\n const overwrittenActions = keys(partial).filter(\n key =>\n typeof previous?.[key] === \"function\" && partial[key] !== previous[key]\n );\n if (!isEmpty(overwrittenActions)) {\n throw new Error(\n `Actions should not be modified. Touched action(s): ${overwrittenActions.join(\n \", \"\n )}`\n );\n }\n\n return partial;\n }, false);\n\nconst withImmutableActions = config => (set, get, api) =>\n config(setWithoutModifyingActions(set), get, api);\n\nexport default withImmutableActions;\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,IAAI,QAAQ,OAAO;AAErC,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAGC,GAAG;EAAA,OAAI,UAAAC,OAAO;IAAA,OAC/CD,GAAG,CAAC,UAAAE,QAAQ,EAAI;MACd,IAAI,OAAOD,OAAO,KAAK,UAAU,EAAEA,OAAO,GAAGA,OAAO,CAACC,QAAQ,CAAC;MAE9D,IAAMC,kBAAkB,GAAGL,IAAI,CAACG,OAAO,CAAC,CAACG,MAAM,CAC7C,UAAAC,GAAG;QAAA,OACD,QAAOH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGG,GAAG,CAAC,MAAK,UAAU,IAAIJ,OAAO,CAACI,GAAG,CAAC,KAAKH,QAAQ,CAACG,GAAG,CAAC;MAAA,EAC1E;MACD,IAAI,CAACR,OAAO,CAACM,kBAAkB,CAAC,EAAE;QAChC,MAAM,IAAIG,KAAK,uDAAAC,MAAA,CACyCJ,kBAAkB,CAACK,IAAI,CAC3E,IAAI,CACL,EACF;MACH;MAEA,OAAOP,OAAO;IAChB,CAAC,EAAE,KAAK,CAAC;EAAA;AAAA;AAEX,IAAMQ,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGC,MAAM;EAAA,OAAI,UAACV,GAAG,EAAEW,GAAG,EAAEC,GAAG;IAAA,OACnDF,MAAM,CAACX,0BAA0B,CAACC,GAAG,CAAC,EAAEW,GAAG,EAAEC,GAAG,CAAC;EAAA;AAAA;AAEnD,eAAeH,oBAAoB"}