@webiny/app 0.0.0-unstable.eb196ccd2f → 0.0.0-unstable.eb81deee7e

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 (463) hide show
  1. package/App.d.ts +5 -6
  2. package/App.js +75 -88
  3. package/App.js.map +1 -1
  4. package/AppContainer.js +3 -6
  5. package/AppContainer.js.map +1 -1
  6. package/README.md +7 -15
  7. package/components/Image.d.ts +1 -2
  8. package/components/Image.js +12 -18
  9. package/components/Image.js.map +1 -1
  10. package/components/index.d.ts +1 -2
  11. package/components/index.js +1 -4
  12. package/config/RouterConfig/Route.d.ts +9 -10
  13. package/config/RouterConfig/Route.js +23 -37
  14. package/config/RouterConfig/Route.js.map +1 -1
  15. package/config/RouterConfig.d.ts +11 -14
  16. package/config/RouterConfig.js +12 -11
  17. package/config/RouterConfig.js.map +1 -1
  18. package/config.js +19 -20
  19. package/config.js.map +1 -1
  20. package/contexts/Ui/index.js +26 -28
  21. package/contexts/Ui/index.js.map +1 -1
  22. package/core/Plugin.d.ts +1 -1
  23. package/core/Plugin.js +9 -11
  24. package/core/Plugin.js.map +1 -1
  25. package/core/Plugins.d.ts +4 -3
  26. package/core/Plugins.js +18 -36
  27. package/core/Plugins.js.map +1 -1
  28. package/core/Provider.d.ts +1 -1
  29. package/core/Provider.js +6 -14
  30. package/core/Provider.js.map +1 -1
  31. package/core/createProvider.js +3 -6
  32. package/core/createProvider.js.map +1 -1
  33. package/core/createProviderPlugin.js +9 -14
  34. package/core/createProviderPlugin.js.map +1 -1
  35. package/errors/AuthenticationErrorEvent.d.ts +9 -0
  36. package/errors/AuthenticationErrorEvent.js +13 -0
  37. package/errors/AuthenticationErrorEvent.js.map +1 -0
  38. package/errors/NetworkErrorEvent.d.ts +15 -0
  39. package/errors/NetworkErrorEvent.js +13 -0
  40. package/errors/NetworkErrorEvent.js.map +1 -0
  41. package/errors/abstractions.d.ts +12 -0
  42. package/errors/abstractions.js +6 -0
  43. package/errors/abstractions.js.map +1 -0
  44. package/errors/index.d.ts +6 -0
  45. package/errors/index.js +3 -0
  46. package/errors/overlay/ErrorOverlay.d.ts +9 -0
  47. package/errors/overlay/ErrorOverlay.js +43 -0
  48. package/errors/overlay/ErrorOverlay.js.map +1 -0
  49. package/{plugins/NetworkErrorLinkPlugin/ErrorOverlay.d.ts → errors/overlay/GqlErrorOverlay.d.ts} +2 -2
  50. package/errors/overlay/GqlErrorOverlay.js +27 -0
  51. package/errors/overlay/GqlErrorOverlay.js.map +1 -0
  52. package/errors/overlay/LocalAwsLambdaTimeoutMessage.d.ts +2 -0
  53. package/errors/overlay/LocalAwsLambdaTimeoutMessage.js +20 -0
  54. package/errors/overlay/LocalAwsLambdaTimeoutMessage.js.map +1 -0
  55. package/errors/overlay/StyledComponents.d.ts +7 -0
  56. package/errors/overlay/StyledComponents.js +10 -0
  57. package/errors/overlay/StyledComponents.js.map +1 -0
  58. package/errors/overlay/Typography.d.ts +8 -0
  59. package/errors/overlay/Typography.js +13 -0
  60. package/errors/overlay/Typography.js.map +1 -0
  61. package/errors/overlay/assets/close_24px.js +19 -0
  62. package/errors/overlay/assets/close_24px.js.map +1 -0
  63. package/errors/overlay/createErrorOverlay.d.ts +7 -0
  64. package/errors/overlay/createErrorOverlay.js +15 -0
  65. package/errors/overlay/createErrorOverlay.js.map +1 -0
  66. package/exports/admin/env-config.d.ts +2 -0
  67. package/exports/admin/env-config.js +2 -0
  68. package/exports/admin/graphql-client.d.ts +1 -0
  69. package/exports/admin/graphql-client.js +1 -0
  70. package/exports/admin/local-storage.d.ts +2 -0
  71. package/exports/admin/local-storage.js +2 -0
  72. package/exports/admin/router.d.ts +5 -0
  73. package/exports/admin/router.js +5 -0
  74. package/exports/admin/security.d.ts +1 -0
  75. package/exports/admin/security.js +1 -0
  76. package/exports/admin.d.ts +8 -0
  77. package/exports/admin.js +8 -0
  78. package/features/apiStreamClient/FetchApiStreamClient.d.ts +9 -0
  79. package/features/apiStreamClient/FetchApiStreamClient.js +63 -0
  80. package/features/apiStreamClient/FetchApiStreamClient.js.map +1 -0
  81. package/features/apiStreamClient/__tests__/FetchApiStreamClient.test.d.ts +1 -0
  82. package/features/apiStreamClient/__tests__/FetchApiStreamClient.test.js +170 -0
  83. package/features/apiStreamClient/__tests__/FetchApiStreamClient.test.js.map +1 -0
  84. package/features/apiStreamClient/__tests__/readServerSentEvents.test.d.ts +1 -0
  85. package/features/apiStreamClient/__tests__/readServerSentEvents.test.js +160 -0
  86. package/features/apiStreamClient/__tests__/readServerSentEvents.test.js.map +1 -0
  87. package/features/apiStreamClient/abstractions.d.ts +44 -0
  88. package/features/apiStreamClient/abstractions.js +10 -0
  89. package/features/apiStreamClient/abstractions.js.map +1 -0
  90. package/features/apiStreamClient/feature.d.ts +3 -0
  91. package/features/apiStreamClient/feature.js +17 -0
  92. package/features/apiStreamClient/feature.js.map +1 -0
  93. package/features/apiStreamClient/index.d.ts +5 -0
  94. package/features/apiStreamClient/index.js +5 -0
  95. package/features/apiStreamClient/readServerSentEvents.d.ts +10 -0
  96. package/features/apiStreamClient/readServerSentEvents.js +29 -0
  97. package/features/apiStreamClient/readServerSentEvents.js.map +1 -0
  98. package/features/apiStreamClient/toPayloadHash.d.ts +14 -0
  99. package/features/apiStreamClient/toPayloadHash.js +7 -0
  100. package/features/apiStreamClient/toPayloadHash.js.map +1 -0
  101. package/features/envConfig/EnvConfig.d.ts +7 -0
  102. package/features/envConfig/EnvConfig.js +16 -0
  103. package/features/envConfig/EnvConfig.js.map +1 -0
  104. package/features/envConfig/abstractions.d.ts +28 -0
  105. package/features/envConfig/abstractions.js +5 -0
  106. package/features/envConfig/abstractions.js.map +1 -0
  107. package/features/envConfig/feature.d.ts +17 -0
  108. package/features/envConfig/feature.js +15 -0
  109. package/features/envConfig/feature.js.map +1 -0
  110. package/features/envConfig/index.d.ts +1 -0
  111. package/features/envConfig/index.js +1 -0
  112. package/features/eventPublisher/EventPublisher.d.ts +8 -0
  113. package/features/eventPublisher/EventPublisher.js +19 -0
  114. package/features/eventPublisher/EventPublisher.js.map +1 -0
  115. package/features/eventPublisher/abstractions.d.ts +18 -0
  116. package/features/eventPublisher/abstractions.js +12 -0
  117. package/features/eventPublisher/abstractions.js.map +1 -0
  118. package/features/eventPublisher/feature.d.ts +3 -0
  119. package/features/eventPublisher/feature.js +17 -0
  120. package/features/eventPublisher/feature.js.map +1 -0
  121. package/features/eventPublisher/index.d.ts +3 -0
  122. package/features/eventPublisher/index.js +2 -0
  123. package/features/graphqlClient/AuthenticationErrorPublishing.d.ts +13 -0
  124. package/features/graphqlClient/AuthenticationErrorPublishing.js +35 -0
  125. package/features/graphqlClient/AuthenticationErrorPublishing.js.map +1 -0
  126. package/features/graphqlClient/BatchingGraphQLClient.d.ts +16 -0
  127. package/features/graphqlClient/BatchingGraphQLClient.js +118 -0
  128. package/features/graphqlClient/BatchingGraphQLClient.js.map +1 -0
  129. package/features/graphqlClient/FetchGraphQLClient.d.ts +7 -0
  130. package/features/graphqlClient/FetchGraphQLClient.js +51 -0
  131. package/features/graphqlClient/FetchGraphQLClient.js.map +1 -0
  132. package/features/graphqlClient/NetworkErrorPublishing.d.ts +14 -0
  133. package/features/graphqlClient/NetworkErrorPublishing.js +48 -0
  134. package/features/graphqlClient/NetworkErrorPublishing.js.map +1 -0
  135. package/features/graphqlClient/RequestValue.d.ts +21 -0
  136. package/features/graphqlClient/RequestValue.js +46 -0
  137. package/features/graphqlClient/RequestValue.js.map +1 -0
  138. package/features/graphqlClient/RetryGraphQLClient.d.ts +18 -0
  139. package/features/graphqlClient/RetryGraphQLClient.js +45 -0
  140. package/features/graphqlClient/RetryGraphQLClient.js.map +1 -0
  141. package/features/graphqlClient/__tests__/GraphQLClient.test.d.ts +1 -0
  142. package/features/graphqlClient/__tests__/GraphQLClient.test.js +471 -0
  143. package/features/graphqlClient/__tests__/GraphQLClient.test.js.map +1 -0
  144. package/features/graphqlClient/abstractions.d.ts +18 -0
  145. package/features/graphqlClient/abstractions.js +5 -0
  146. package/features/graphqlClient/abstractions.js.map +1 -0
  147. package/features/graphqlClient/feature.d.ts +6 -0
  148. package/features/graphqlClient/feature.js +25 -0
  149. package/features/graphqlClient/feature.js.map +1 -0
  150. package/features/graphqlClient/index.d.ts +1 -0
  151. package/features/graphqlClient/index.js +1 -0
  152. package/features/graphqlClient/types.d.ts +5 -0
  153. package/features/graphqlClient/types.js +0 -0
  154. package/features/localStorage/BrowserLocalStorageGateway.d.ts +9 -0
  155. package/features/localStorage/BrowserLocalStorageGateway.js +61 -0
  156. package/features/localStorage/BrowserLocalStorageGateway.js.map +1 -0
  157. package/features/localStorage/LocalStorage.d.ts +12 -0
  158. package/features/localStorage/LocalStorage.js +34 -0
  159. package/features/localStorage/LocalStorage.js.map +1 -0
  160. package/features/localStorage/LocalStorageRepository.d.ts +20 -0
  161. package/features/localStorage/LocalStorageRepository.js +82 -0
  162. package/features/localStorage/LocalStorageRepository.js.map +1 -0
  163. package/features/localStorage/abstractions.d.ts +48 -0
  164. package/features/localStorage/abstractions.js +8 -0
  165. package/features/localStorage/abstractions.js.map +1 -0
  166. package/features/localStorage/feature.d.ts +12 -0
  167. package/features/localStorage/feature.js +23 -0
  168. package/features/localStorage/feature.js.map +1 -0
  169. package/features/localStorage/index.d.ts +1 -0
  170. package/features/localStorage/index.js +1 -0
  171. package/features/mainGraphQLClient/MainGraphQLClient.d.ts +11 -0
  172. package/features/mainGraphQLClient/MainGraphQLClient.js +27 -0
  173. package/features/mainGraphQLClient/MainGraphQLClient.js.map +1 -0
  174. package/features/mainGraphQLClient/abstractions.d.ts +17 -0
  175. package/features/mainGraphQLClient/abstractions.js +5 -0
  176. package/features/mainGraphQLClient/abstractions.js.map +1 -0
  177. package/features/mainGraphQLClient/feature.d.ts +3 -0
  178. package/features/mainGraphQLClient/feature.js +17 -0
  179. package/features/mainGraphQLClient/feature.js.map +1 -0
  180. package/features/mainGraphQLClient/index.d.ts +1 -0
  181. package/features/mainGraphQLClient/index.js +1 -0
  182. package/features/router/HistoryRouterGateway.d.ts +25 -0
  183. package/features/router/HistoryRouterGateway.js +100 -0
  184. package/features/router/HistoryRouterGateway.js.map +1 -0
  185. package/features/router/HistoryRouterGateway.test.d.ts +1 -0
  186. package/features/router/HistoryRouterGateway.test.js +195 -0
  187. package/features/router/HistoryRouterGateway.test.js.map +1 -0
  188. package/features/router/Route.d.ts +19 -0
  189. package/features/router/Route.js +43 -0
  190. package/features/router/Route.js.map +1 -0
  191. package/features/router/RouteUrl.d.ts +85 -0
  192. package/features/router/RouteUrl.js +99 -0
  193. package/features/router/RouteUrl.js.map +1 -0
  194. package/features/router/Router.d.ts +45 -0
  195. package/features/router/Router.js +72 -0
  196. package/features/router/Router.js.map +1 -0
  197. package/features/router/RouterPresenter.d.ts +23 -0
  198. package/features/router/RouterPresenter.js +62 -0
  199. package/features/router/RouterPresenter.js.map +1 -0
  200. package/features/router/RouterRepository.d.ts +32 -0
  201. package/features/router/RouterRepository.js +123 -0
  202. package/features/router/RouterRepository.js.map +1 -0
  203. package/features/router/RouterRepository.test.d.ts +1 -0
  204. package/features/router/RouterRepository.test.js +138 -0
  205. package/features/router/RouterRepository.test.js.map +1 -0
  206. package/features/router/abstractions.d.ts +90 -0
  207. package/features/router/abstractions.js +7 -0
  208. package/features/router/abstractions.js.map +1 -0
  209. package/features/router/feature.d.ts +4 -0
  210. package/features/router/feature.js +19 -0
  211. package/features/router/feature.js.map +1 -0
  212. package/features/router/index.d.ts +2 -0
  213. package/features/router/index.js +1 -0
  214. package/helpers/InterfaceGenerator/date.d.ts +15 -0
  215. package/helpers/InterfaceGenerator/date.js +0 -0
  216. package/helpers/InterfaceGenerator/id.d.ts +23 -0
  217. package/helpers/InterfaceGenerator/id.js +0 -0
  218. package/helpers/InterfaceGenerator/identity.d.ts +10 -0
  219. package/helpers/InterfaceGenerator/identity.js +0 -0
  220. package/helpers/InterfaceGenerator/index.d.ts +5 -0
  221. package/helpers/InterfaceGenerator/index.js +0 -0
  222. package/helpers/InterfaceGenerator/numeric.d.ts +12 -0
  223. package/helpers/InterfaceGenerator/numeric.js +0 -0
  224. package/helpers/InterfaceGenerator/truthful.d.ts +7 -0
  225. package/helpers/InterfaceGenerator/truthful.js +0 -0
  226. package/hooks/useHandler.js +12 -16
  227. package/hooks/useHandler.js.map +1 -1
  228. package/hooks/useHandlers.js +18 -20
  229. package/hooks/useHandlers.js.map +1 -1
  230. package/hooks/useRegisterLegacyPlugin.d.ts +1 -1
  231. package/hooks/useRegisterLegacyPlugin.js +7 -6
  232. package/hooks/useRegisterLegacyPlugin.js.map +1 -1
  233. package/hooks/useUi.d.ts +1 -1
  234. package/hooks/useUi.js +3 -4
  235. package/hooks/useUi.js.map +1 -1
  236. package/i18n/i18n.js +8 -4
  237. package/i18n/i18n.js.map +1 -1
  238. package/i18n/index.d.ts +1 -1
  239. package/i18n/index.js +1 -3
  240. package/index.d.ts +20 -15
  241. package/index.js +19 -19
  242. package/package.json +34 -42
  243. package/plugins/components/Image.d.ts +6 -0
  244. package/plugins/components/Image.js +12 -0
  245. package/plugins/components/Image.js.map +1 -0
  246. package/plugins/image.d.ts +2 -2
  247. package/plugins/image.js +95 -134
  248. package/plugins/image.js.map +1 -1
  249. package/plugins/index.d.ts +3 -3
  250. package/plugins/index.js +35 -59
  251. package/plugins/index.js.map +1 -1
  252. package/presentation/envConfig/useEnvConfig.d.ts +6 -0
  253. package/presentation/envConfig/useEnvConfig.js +9 -0
  254. package/presentation/envConfig/useEnvConfig.js.map +1 -0
  255. package/presentation/localStorage/index.d.ts +3 -0
  256. package/presentation/localStorage/index.js +3 -0
  257. package/presentation/localStorage/useLocalStorage.d.ts +6 -0
  258. package/presentation/localStorage/useLocalStorage.js +15 -0
  259. package/presentation/localStorage/useLocalStorage.js.map +1 -0
  260. package/presentation/localStorage/useLocalStorageValue.d.ts +1 -0
  261. package/presentation/localStorage/useLocalStorageValue.js +22 -0
  262. package/presentation/localStorage/useLocalStorageValue.js.map +1 -0
  263. package/presentation/localStorage/useLocalStorageValues.d.ts +5 -0
  264. package/presentation/localStorage/useLocalStorageValues.js +32 -0
  265. package/presentation/localStorage/useLocalStorageValues.js.map +1 -0
  266. package/presentation/router/RouteElementRegistry.d.ts +14 -0
  267. package/presentation/router/RouteElementRegistry.js +29 -0
  268. package/presentation/router/RouteElementRegistry.js.map +1 -0
  269. package/presentation/router/abstractions.d.ts +13 -0
  270. package/presentation/router/abstractions.js +5 -0
  271. package/presentation/router/abstractions.js.map +1 -0
  272. package/presentation/router/components/Redirect.d.ts +14 -0
  273. package/presentation/router/components/Redirect.js +13 -0
  274. package/presentation/router/components/Redirect.js.map +1 -0
  275. package/presentation/router/components/RouteContent.d.ts +2 -0
  276. package/presentation/router/components/RouteContent.js +20 -0
  277. package/presentation/router/components/RouteContent.js.map +1 -0
  278. package/presentation/router/components/RouteLink.d.ts +50 -0
  279. package/presentation/router/components/RouteLink.js +17 -0
  280. package/presentation/router/components/RouteLink.js.map +1 -0
  281. package/presentation/router/components/RouteParamsSync.d.ts +22 -0
  282. package/presentation/router/components/RouteParamsSync.js +53 -0
  283. package/presentation/router/components/RouteParamsSync.js.map +1 -0
  284. package/presentation/router/components/SimpleLink.d.ts +44 -0
  285. package/presentation/router/components/SimpleLink.js +24 -0
  286. package/presentation/router/components/SimpleLink.js.map +1 -0
  287. package/presentation/router/hooks/useRoute.d.ts +7 -0
  288. package/presentation/router/hooks/useRoute.js +23 -0
  289. package/presentation/router/hooks/useRoute.js.map +1 -0
  290. package/presentation/router/hooks/useRouter.d.ts +12 -0
  291. package/presentation/router/hooks/useRouter.js +30 -0
  292. package/presentation/router/hooks/useRouter.js.map +1 -0
  293. package/presentation/router/index.d.ts +6 -0
  294. package/presentation/router/index.js +4 -0
  295. package/presentation/router/types.d.ts +5 -0
  296. package/presentation/router/types.js +0 -0
  297. package/renderApp.d.ts +1 -1
  298. package/renderApp.js +7 -6
  299. package/renderApp.js.map +1 -1
  300. package/router.d.ts +5 -0
  301. package/router.js +5 -0
  302. package/rslib-runtime.js +14 -0
  303. package/rslib-runtime.js.map +1 -0
  304. package/shared/di/DiContainerProvider.d.ts +8 -0
  305. package/shared/di/DiContainerProvider.js +13 -0
  306. package/shared/di/DiContainerProvider.js.map +1 -0
  307. package/shared/di/createFeature.d.ts +11 -0
  308. package/shared/di/createFeature.js +10 -0
  309. package/shared/di/createFeature.js.map +1 -0
  310. package/shared/di/useFeature.d.ts +2 -0
  311. package/shared/di/useFeature.js +12 -0
  312. package/shared/di/useFeature.js.map +1 -0
  313. package/static/svg/close_24px.33adaadc.svg +1 -0
  314. package/types.d.ts +6 -24
  315. package/types.js +0 -14
  316. package/utils/createGenericContext.js +17 -21
  317. package/utils/createGenericContext.js.map +1 -1
  318. package/utils/createHashing.js +13 -16
  319. package/utils/createHashing.js.map +1 -1
  320. package/utils/index.d.ts +2 -10
  321. package/utils/index.js +2 -12
  322. package/utils/legacyPluginToReactComponent.js +12 -11
  323. package/utils/legacyPluginToReactComponent.js.map +1 -1
  324. package/apollo-client/InMemoryCache.d.ts +0 -8
  325. package/apollo-client/InMemoryCache.js +0 -20
  326. package/apollo-client/InMemoryCache.js.map +0 -1
  327. package/apollo-client/IntrospectionFragmentMatcher.d.ts +0 -11
  328. package/apollo-client/IntrospectionFragmentMatcher.js +0 -45
  329. package/apollo-client/IntrospectionFragmentMatcher.js.map +0 -1
  330. package/components/Routes.d.ts +0 -2
  331. package/components/Routes.js +0 -36
  332. package/components/Routes.js.map +0 -1
  333. package/components/View.d.ts +0 -8
  334. package/components/View.js +0 -19
  335. package/components/View.js.map +0 -1
  336. package/components/index.js.map +0 -1
  337. package/core/DebounceRender.d.ts +0 -12
  338. package/core/DebounceRender.js +0 -31
  339. package/core/DebounceRender.js.map +0 -1
  340. package/core/Routes.d.ts +0 -6
  341. package/core/Routes.js +0 -34
  342. package/core/Routes.js.map +0 -1
  343. package/hooks/useAutocomplete/index.d.ts +0 -1
  344. package/hooks/useAutocomplete/index.js +0 -3
  345. package/hooks/useAutocomplete/index.js.map +0 -1
  346. package/hooks/useAutocomplete/useAutocomplete.d.ts +0 -11
  347. package/hooks/useAutocomplete/useAutocomplete.js +0 -23
  348. package/hooks/useAutocomplete/useAutocomplete.js.map +0 -1
  349. package/hooks/useDataList/functions/getData.d.ts +0 -2
  350. package/hooks/useDataList/functions/getData.js +0 -4
  351. package/hooks/useDataList/functions/getData.js.map +0 -1
  352. package/hooks/useDataList/functions/getError.d.ts +0 -2
  353. package/hooks/useDataList/functions/getError.js +0 -4
  354. package/hooks/useDataList/functions/getError.js.map +0 -1
  355. package/hooks/useDataList/functions/getMeta.d.ts +0 -2
  356. package/hooks/useDataList/functions/getMeta.js +0 -4
  357. package/hooks/useDataList/functions/getMeta.js.map +0 -1
  358. package/hooks/useDataList/functions/index.d.ts +0 -3
  359. package/hooks/useDataList/functions/index.js +0 -5
  360. package/hooks/useDataList/functions/index.js.map +0 -1
  361. package/hooks/useDataList/functions/searchDataByKey.d.ts +0 -2
  362. package/hooks/useDataList/functions/searchDataByKey.js +0 -18
  363. package/hooks/useDataList/functions/searchDataByKey.js.map +0 -1
  364. package/hooks/useDataList/index.d.ts +0 -1
  365. package/hooks/useDataList/index.js +0 -3
  366. package/hooks/useDataList/index.js.map +0 -1
  367. package/hooks/useDataList/useDataList.d.ts +0 -36
  368. package/hooks/useDataList/useDataList.js +0 -183
  369. package/hooks/useDataList/useDataList.js.map +0 -1
  370. package/hooks/useDataList/utils/index.d.ts +0 -2
  371. package/hooks/useDataList/utils/index.js +0 -4
  372. package/hooks/useDataList/utils/index.js.map +0 -1
  373. package/hooks/useDataList/utils/prepareLoadListParams.d.ts +0 -10
  374. package/hooks/useDataList/utils/prepareLoadListParams.js +0 -38
  375. package/hooks/useDataList/utils/prepareLoadListParams.js.map +0 -1
  376. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.d.ts +0 -14
  377. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.js +0 -26
  378. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.js.map +0 -1
  379. package/hooks/useDataList/utils/types.d.ts +0 -40
  380. package/hooks/useDataList/utils/types.js +0 -3
  381. package/hooks/useDataList/utils/types.js.map +0 -1
  382. package/i18n/index.js.map +0 -1
  383. package/index.js.map +0 -1
  384. package/plugins/AddQuerySelectionPlugin.d.ts +0 -22
  385. package/plugins/AddQuerySelectionPlugin.js +0 -72
  386. package/plugins/AddQuerySelectionPlugin.js.map +0 -1
  387. package/plugins/ApolloCacheObjectIdPlugin.d.ts +0 -15
  388. package/plugins/ApolloCacheObjectIdPlugin.js +0 -16
  389. package/plugins/ApolloCacheObjectIdPlugin.js.map +0 -1
  390. package/plugins/ApolloDynamicLink.d.ts +0 -7
  391. package/plugins/ApolloDynamicLink.js +0 -31
  392. package/plugins/ApolloDynamicLink.js.map +0 -1
  393. package/plugins/ApolloLinkPlugin.d.ts +0 -13
  394. package/plugins/ApolloLinkPlugin.js +0 -22
  395. package/plugins/ApolloLinkPlugin.js.map +0 -1
  396. package/plugins/ConsoleLinkPlugin.d.ts +0 -8
  397. package/plugins/ConsoleLinkPlugin.js +0 -26
  398. package/plugins/ConsoleLinkPlugin.js.map +0 -1
  399. package/plugins/LocaleHeaderLinkPlugin.d.ts +0 -10
  400. package/plugins/LocaleHeaderLinkPlugin.js +0 -32
  401. package/plugins/LocaleHeaderLinkPlugin.js.map +0 -1
  402. package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.js +0 -66
  403. package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.js.map +0 -1
  404. package/plugins/NetworkErrorLinkPlugin/StyledComponents.d.ts +0 -9
  405. package/plugins/NetworkErrorLinkPlugin/StyledComponents.js +0 -78
  406. package/plugins/NetworkErrorLinkPlugin/StyledComponents.js.map +0 -1
  407. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.d.ts +0 -7
  408. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.js +0 -31
  409. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.js.map +0 -1
  410. package/plugins/NetworkErrorLinkPlugin.d.ts +0 -7
  411. package/plugins/NetworkErrorLinkPlugin.js +0 -30
  412. package/plugins/NetworkErrorLinkPlugin.js.map +0 -1
  413. package/plugins/OmitTypenameLinkPlugin.d.ts +0 -8
  414. package/plugins/OmitTypenameLinkPlugin.js +0 -21
  415. package/plugins/OmitTypenameLinkPlugin.js.map +0 -1
  416. package/plugins/RoutePlugin.d.ts +0 -12
  417. package/plugins/RoutePlugin.js +0 -16
  418. package/plugins/RoutePlugin.js.map +0 -1
  419. package/plugins/TenantHeaderLinkPlugin.d.ts +0 -10
  420. package/plugins/TenantHeaderLinkPlugin.js +0 -39
  421. package/plugins/TenantHeaderLinkPlugin.js.map +0 -1
  422. package/plugins/ViewPlugin.d.ts +0 -14
  423. package/plugins/ViewPlugin.js +0 -19
  424. package/plugins/ViewPlugin.js.map +0 -1
  425. package/react-butterfiles/Files.d.ts +0 -69
  426. package/react-butterfiles/Files.js +0 -227
  427. package/react-butterfiles/Files.js.map +0 -1
  428. package/react-butterfiles/index.d.ts +0 -2
  429. package/react-butterfiles/index.js +0 -4
  430. package/react-butterfiles/index.js.map +0 -1
  431. package/react-butterfiles/utils/generateId.d.ts +0 -1
  432. package/react-butterfiles/utils/generateId.js +0 -5
  433. package/react-butterfiles/utils/generateId.js.map +0 -1
  434. package/react-butterfiles/utils/readFileContent.d.ts +0 -1
  435. package/react-butterfiles/utils/readFileContent.js +0 -15
  436. package/react-butterfiles/utils/readFileContent.js.map +0 -1
  437. package/types.js.map +0 -1
  438. package/utils/getApiUrl.d.ts +0 -1
  439. package/utils/getApiUrl.js +0 -5
  440. package/utils/getApiUrl.js.map +0 -1
  441. package/utils/getGqlApiUrl.d.ts +0 -1
  442. package/utils/getGqlApiUrl.js +0 -6
  443. package/utils/getGqlApiUrl.js.map +0 -1
  444. package/utils/getHeadlessCmsGqlApiUrl.d.ts +0 -5
  445. package/utils/getHeadlessCmsGqlApiUrl.js +0 -12
  446. package/utils/getHeadlessCmsGqlApiUrl.js.map +0 -1
  447. package/utils/getLocaleCode.d.ts +0 -6
  448. package/utils/getLocaleCode.js +0 -33
  449. package/utils/getLocaleCode.js.map +0 -1
  450. package/utils/getPrerenderId.d.ts +0 -6
  451. package/utils/getPrerenderId.js +0 -5
  452. package/utils/getPrerenderId.js.map +0 -1
  453. package/utils/getTenantId.d.ts +0 -6
  454. package/utils/getTenantId.js +0 -45
  455. package/utils/getTenantId.js.map +0 -1
  456. package/utils/index.js.map +0 -1
  457. package/utils/isLocalhost.d.ts +0 -1
  458. package/utils/isLocalhost.js +0 -7
  459. package/utils/isLocalhost.js.map +0 -1
  460. package/utils/isPrerendering.d.ts +0 -1
  461. package/utils/isPrerendering.js +0 -5
  462. package/utils/isPrerendering.js.map +0 -1
  463. /package/{plugins/NetworkErrorLinkPlugin → errors/overlay}/assets/close_24px.svg +0 -0
@@ -0,0 +1,29 @@
1
+ import { createImplementation } from "@webiny/di";
2
+ import { RouteElementRegistry } from "./abstractions.js";
3
+ class RouteElementRegistryImplementation {
4
+ register(routeName, element) {
5
+ this.elements.set(routeName, element);
6
+ }
7
+ getElement(routeName) {
8
+ return this.elements.get(routeName) ?? null;
9
+ }
10
+ clear() {
11
+ this.elements.clear();
12
+ }
13
+ list() {
14
+ return [
15
+ ...this.elements.keys()
16
+ ];
17
+ }
18
+ constructor(){
19
+ this.elements = new Map();
20
+ }
21
+ }
22
+ const DefaultRouteElementRegistry = createImplementation({
23
+ implementation: RouteElementRegistryImplementation,
24
+ abstraction: RouteElementRegistry,
25
+ dependencies: []
26
+ });
27
+ export { DefaultRouteElementRegistry };
28
+
29
+ //# sourceMappingURL=RouteElementRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/router/RouteElementRegistry.js","sources":["../../../src/presentation/router/RouteElementRegistry.ts"],"sourcesContent":["import React from \"react\";\nimport { createImplementation } from \"@webiny/di\";\nimport { RouteElementRegistry } from \"./abstractions.js\";\n\nclass RouteElementRegistryImplementation {\n private readonly elements = new Map<string, React.ReactNode>();\n\n /** Register a React element for a given route. */\n register(routeName: string, element: React.ReactNode): void {\n this.elements.set(routeName, element);\n }\n\n /** Get the element for a matched route by name. */\n getElement(routeName: string): React.ReactNode | null {\n return this.elements.get(routeName) ?? null;\n }\n\n /** Clear all registered elements. Useful in tests or hot reloads. */\n clear(): void {\n this.elements.clear();\n }\n\n /** List all registered route names. */\n list(): string[] {\n return [...this.elements.keys()];\n }\n}\n\nexport const DefaultRouteElementRegistry = createImplementation({\n implementation: RouteElementRegistryImplementation,\n abstraction: RouteElementRegistry,\n dependencies: []\n});\n"],"names":["RouteElementRegistryImplementation","routeName","element","Map","DefaultRouteElementRegistry","createImplementation","RouteElementRegistry"],"mappings":";;AAIA,MAAMA;IAIF,SAASC,SAAiB,EAAEC,OAAwB,EAAQ;QACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACD,WAAWC;IACjC;IAGA,WAAWD,SAAiB,EAA0B;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,cAAc;IAC3C;IAGA,QAAc;QACV,IAAI,CAAC,QAAQ,CAAC,KAAK;IACvB;IAGA,OAAiB;QACb,OAAO;eAAI,IAAI,CAAC,QAAQ,CAAC,IAAI;SAAG;IACpC;;aApBiB,QAAQ,GAAG,IAAIE;;AAqBpC;AAEO,MAAMC,8BAA8BC,qBAAqB;IAC5D,gBAAgBL;IAChB,aAAaM;IACb,cAAc,EAAE;AACpB"}
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { Abstraction } from "@webiny/di";
3
+ interface IRouteElementRegistry {
4
+ register(name: string, element: React.ReactElement): void;
5
+ getElement(routeName: string): React.ReactNode | null;
6
+ clear(): void;
7
+ list(): string[];
8
+ }
9
+ export declare const RouteElementRegistry: Abstraction<IRouteElementRegistry>;
10
+ export declare namespace RouteElementRegistry {
11
+ type Interface = IRouteElementRegistry;
12
+ }
13
+ export {};
@@ -0,0 +1,5 @@
1
+ import { Abstraction } from "@webiny/di";
2
+ const RouteElementRegistry = new Abstraction("RouteElementRegistry");
3
+ export { RouteElementRegistry };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/router/abstractions.js","sources":["../../../src/presentation/router/abstractions.ts"],"sourcesContent":["import React from \"react\";\nimport { Abstraction } from \"@webiny/di\";\n\ninterface IRouteElementRegistry {\n register(name: string, element: React.ReactElement): void;\n getElement(routeName: string): React.ReactNode | null;\n clear(): void;\n list(): string[];\n}\n\nexport const RouteElementRegistry = new Abstraction<IRouteElementRegistry>(\"RouteElementRegistry\");\n\nexport namespace RouteElementRegistry {\n export type Interface = IRouteElementRegistry;\n}\n"],"names":["RouteElementRegistry","Abstraction"],"mappings":";AAUO,MAAMA,uBAAuB,IAAIC,YAAmC"}
@@ -0,0 +1,14 @@
1
+ import type { Route, RouteParamsDefinition, RouteParamsInfer } from "../../../features/router/Route.js";
2
+ import type { RequiredKeysOf } from "type-fest";
3
+ export type RedirectProps<TParams extends RouteParamsDefinition | undefined> = [
4
+ TParams extends RouteParamsDefinition ? RequiredKeysOf<RouteParamsInfer<TParams>> extends never ? {
5
+ route: Route<TParams>;
6
+ params?: RouteParamsInfer<TParams>;
7
+ } : {
8
+ route: Route<TParams>;
9
+ params: RouteParamsInfer<TParams>;
10
+ } : {
11
+ route: Route<TParams>;
12
+ }
13
+ ][0];
14
+ export declare const RedirectComponent: <TParams extends RouteParamsDefinition | undefined>(props: RedirectProps<TParams>) => null;
@@ -0,0 +1,13 @@
1
+ import { useEffect } from "react";
2
+ import { useRouter } from "../../../router.js";
3
+ const RedirectComponent = (props)=>{
4
+ const router = useRouter();
5
+ const { route, ...rest } = props;
6
+ useEffect(()=>{
7
+ router.goToRoute(route, rest.params);
8
+ }, []);
9
+ return null;
10
+ };
11
+ export { RedirectComponent };
12
+
13
+ //# sourceMappingURL=Redirect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/router/components/Redirect.js","sources":["../../../../src/presentation/router/components/Redirect.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport type { Route, RouteParamsDefinition, RouteParamsInfer } from \"~/features/router/Route.js\";\nimport { useRouter } from \"~/router.js\";\nimport type { RequiredKeysOf } from \"type-fest\";\n\nexport type RedirectProps<TParams extends RouteParamsDefinition | undefined> = [\n TParams extends RouteParamsDefinition\n ? RequiredKeysOf<RouteParamsInfer<TParams>> extends never\n ? { route: Route<TParams>; params?: RouteParamsInfer<TParams> }\n : { route: Route<TParams>; params: RouteParamsInfer<TParams> }\n : { route: Route<TParams> }\n][0];\n\nexport const RedirectComponent = <TParams extends RouteParamsDefinition | undefined>(\n props: RedirectProps<TParams>\n) => {\n const router = useRouter();\n const { route, ...rest } = props as any;\n\n useEffect(() => {\n router.goToRoute(route, rest.params);\n }, []);\n\n return null;\n};\n"],"names":["RedirectComponent","props","router","useRouter","route","rest","useEffect"],"mappings":";;AAaO,MAAMA,oBAAoB,CAC7BC;IAEA,MAAMC,SAASC;IACf,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGJ;IAE3BK,UAAU;QACNJ,OAAO,SAAS,CAACE,OAAOC,KAAK,MAAM;IACvC,GAAG,EAAE;IAEL,OAAO;AACX"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const RouteContent: () => React.JSX.Element | null;
@@ -0,0 +1,20 @@
1
+ import react from "react";
2
+ import { DevToolsSection } from "@webiny/react-properties";
3
+ import { RouteElementRegistry, useRoute } from "../index.js";
4
+ import { useContainer } from "../../../shared/di/DiContainerProvider.js";
5
+ const RouteContent = ()=>{
6
+ const { route } = useRoute();
7
+ const container = useContainer();
8
+ const elementRegistry = container.resolve(RouteElementRegistry);
9
+ if (!route) return null;
10
+ const element = elementRegistry.getElement(route.name);
11
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(DevToolsSection, {
12
+ name: "Current Route",
13
+ group: "Router",
14
+ data: route,
15
+ views: "raw"
16
+ }), element ?? null);
17
+ };
18
+ export { RouteContent };
19
+
20
+ //# sourceMappingURL=RouteContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/router/components/RouteContent.js","sources":["../../../../src/presentation/router/components/RouteContent.tsx"],"sourcesContent":["import React from \"react\";\nimport { DevToolsSection } from \"@webiny/react-properties\";\nimport { RouteElementRegistry, useRoute } from \"~/presentation/router/index.js\";\nimport { useContainer } from \"~/shared/di/DiContainerProvider.js\";\n\nexport const RouteContent = () => {\n const { route } = useRoute();\n const container = useContainer();\n const elementRegistry = container.resolve(RouteElementRegistry);\n\n if (!route) {\n return null;\n }\n\n const element = elementRegistry.getElement(route.name);\n\n return (\n <>\n <DevToolsSection name={\"Current Route\"} group={\"Router\"} data={route} views={\"raw\"} />\n {element ?? null}\n </>\n );\n};\n"],"names":["RouteContent","route","useRoute","container","useContainer","elementRegistry","RouteElementRegistry","element","DevToolsSection"],"mappings":";;;;AAKO,MAAMA,eAAe;IACxB,MAAM,EAAEC,KAAK,EAAE,GAAGC;IAClB,MAAMC,YAAYC;IAClB,MAAMC,kBAAkBF,UAAU,OAAO,CAACG;IAE1C,IAAI,CAACL,OACD,OAAO;IAGX,MAAMM,UAAUF,gBAAgB,UAAU,CAACJ,MAAM,IAAI;IAErD,OAAO,WAAP,GACI,wDACI,oBAACO,iBAAeA;QAAC,MAAM;QAAiB,OAAO;QAAU,MAAMP;QAAO,OAAO;QAC5EM,WAAW;AAGxB"}
@@ -0,0 +1,50 @@
1
+ import React from "react";
2
+ import type { Route, RouteParamsDefinition, RouteParamsInfer } from "../../../features/router/Route.js";
3
+ type BaseAnchorAttributes = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "href">;
4
+ export type RouteLinkProps<TParams extends RouteParamsDefinition | undefined> = [
5
+ TParams extends RouteParamsDefinition ? {
6
+ route: Route<TParams>;
7
+ params: RouteParamsInfer<TParams>;
8
+ } : {
9
+ route: Route<TParams>;
10
+ }
11
+ ][0] & BaseAnchorAttributes;
12
+ export declare const RouteLink: (<TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element) & {
13
+ original: <TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element;
14
+ originalName: string;
15
+ displayName: string;
16
+ } & {
17
+ original: (<TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element) & {
18
+ original: <TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element;
19
+ originalName: string;
20
+ displayName: string;
21
+ };
22
+ originalName: string;
23
+ displayName: string;
24
+ } & {
25
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(<TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element) & {
26
+ original: <TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element;
27
+ originalName: string;
28
+ displayName: string;
29
+ }>) => (props: unknown) => React.JSX.Element;
30
+ };
31
+ export declare const RouteLinkComponent: (<TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element) & {
32
+ original: <TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element;
33
+ originalName: string;
34
+ displayName: string;
35
+ } & {
36
+ original: (<TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element) & {
37
+ original: <TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element;
38
+ originalName: string;
39
+ displayName: string;
40
+ };
41
+ originalName: string;
42
+ displayName: string;
43
+ } & {
44
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(<TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element) & {
45
+ original: <TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => React.JSX.Element;
46
+ originalName: string;
47
+ displayName: string;
48
+ }>) => (props: unknown) => React.JSX.Element;
49
+ };
50
+ export {};
@@ -0,0 +1,17 @@
1
+ import react from "react";
2
+ import { makeDecoratable } from "@webiny/react-composition";
3
+ import { SimpleLink } from "./SimpleLink.js";
4
+ import { useRouter } from "../../../router.js";
5
+ const RouteLink = makeDecoratable("RouteLink", (props)=>{
6
+ const router = useRouter();
7
+ const { children, route, ...rest } = props;
8
+ const href = rest.params ? router.getLink(route, rest.params) : router.getLink(route);
9
+ return /*#__PURE__*/ react.createElement(SimpleLink, {
10
+ to: href,
11
+ ...rest
12
+ }, children);
13
+ });
14
+ const RouteLinkComponent = RouteLink;
15
+ export { RouteLink, RouteLinkComponent };
16
+
17
+ //# sourceMappingURL=RouteLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/router/components/RouteLink.js","sources":["../../../../src/presentation/router/components/RouteLink.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport type { Route, RouteParamsDefinition, RouteParamsInfer } from \"~/features/router/Route.js\";\nimport { SimpleLink } from \"./SimpleLink.js\";\nimport { useRouter } from \"~/router.js\";\n\ntype BaseAnchorAttributes = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, \"href\">;\n\n// The props are generic over the Route's schema.\nexport type RouteLinkProps<TParams extends RouteParamsDefinition | undefined> = [\n TParams extends RouteParamsDefinition\n ? {\n route: Route<TParams>;\n params: RouteParamsInfer<TParams>;\n }\n : { route: Route<TParams> }\n][0] &\n BaseAnchorAttributes;\n\nexport const RouteLink = makeDecoratable(\n \"RouteLink\",\n <TParams extends RouteParamsDefinition | undefined>(props: RouteLinkProps<TParams>) => {\n const router = useRouter();\n\n const { children, route, ...rest } = props as any;\n\n const href = rest.params ? router.getLink(route!, rest.params) : router.getLink(route!);\n\n return (\n <SimpleLink to={href} {...rest}>\n {children}\n </SimpleLink>\n );\n }\n);\n\nexport const RouteLinkComponent = RouteLink;\n"],"names":["RouteLink","makeDecoratable","props","router","useRouter","children","route","rest","href","SimpleLink","RouteLinkComponent"],"mappings":";;;;AAmBO,MAAMA,YAAYC,gBACrB,aACA,CAAoDC;IAChD,MAAMC,SAASC;IAEf,MAAM,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGL;IAErC,MAAMM,OAAOD,KAAK,MAAM,GAAGJ,OAAO,OAAO,CAACG,OAAQC,KAAK,MAAM,IAAIJ,OAAO,OAAO,CAACG;IAEhF,OAAO,WAAP,GACI,oBAACG,YAAUA;QAAC,IAAID;QAAO,GAAGD,IAAI;OACzBF;AAGb;AAGG,MAAMK,qBAAqBV"}
@@ -0,0 +1,22 @@
1
+ import type { Route, RouteParamsDefinition } from "../../../features/router/Route.js";
2
+ export interface RouteParamFieldConfig<T> {
3
+ param: string;
4
+ read: () => T | undefined;
5
+ write: (value: T | undefined) => void;
6
+ storageKey?: string;
7
+ }
8
+ export interface RouteParamField {
9
+ param: string;
10
+ read: () => unknown;
11
+ write: (value: unknown) => void;
12
+ storageKey?: string;
13
+ }
14
+ export interface RouteParamFieldBuilder {
15
+ create<T>(config: RouteParamFieldConfig<T>): RouteParamField;
16
+ }
17
+ interface RouteParamsSyncProps<TParams extends RouteParamsDefinition | undefined> {
18
+ route: Route<TParams>;
19
+ fields: (builder: RouteParamFieldBuilder) => RouteParamField[];
20
+ }
21
+ export declare function RouteParamsSync<TParams extends RouteParamsDefinition | undefined>({ route: routeDefinition, fields: buildFields }: RouteParamsSyncProps<TParams>): null;
22
+ export {};
@@ -0,0 +1,53 @@
1
+ import { useEffect, useRef } from "react";
2
+ import { reaction } from "mobx";
3
+ import { useRoute } from "../hooks/useRoute.js";
4
+ import { useLocalStorage } from "../../localStorage/useLocalStorage.js";
5
+ const fieldBuilder = {
6
+ create (config) {
7
+ return config;
8
+ }
9
+ };
10
+ function RouteParamsSync({ route: routeDefinition, fields: buildFields }) {
11
+ const localStorage = useLocalStorage();
12
+ const { route, setRouteParams, replaceRouteParams } = useRoute(routeDefinition);
13
+ const syncingFromUrl = useRef(false);
14
+ const fields = buildFields(fieldBuilder);
15
+ useEffect(()=>{
16
+ syncingFromUrl.current = true;
17
+ for (const field of fields){
18
+ const urlValue = route.params[field.param];
19
+ field.write(urlValue);
20
+ }
21
+ queueMicrotask(()=>{
22
+ syncingFromUrl.current = false;
23
+ });
24
+ }, fields.map((f)=>route.params[f.param]));
25
+ useEffect(()=>reaction(()=>{
26
+ const values = {};
27
+ for (const field of fields)values[field.param] = field.read();
28
+ return values;
29
+ }, (values)=>{
30
+ for (const field of fields)if (field.storageKey) {
31
+ const val = values[field.param];
32
+ if (null != val && "" !== val) localStorage.set(field.storageKey, val);
33
+ else localStorage.remove(field.storageKey);
34
+ }
35
+ const update = syncingFromUrl.current ? replaceRouteParams : setRouteParams;
36
+ update((params)=>{
37
+ const next = {
38
+ ...params
39
+ };
40
+ for (const field of fields)next[field.param] = values[field.param];
41
+ return next;
42
+ });
43
+ }, {
44
+ equals: (a, b)=>{
45
+ for (const field of fields)if (a[field.param] !== b[field.param]) return false;
46
+ return true;
47
+ }
48
+ }), []);
49
+ return null;
50
+ }
51
+ export { RouteParamsSync };
52
+
53
+ //# sourceMappingURL=RouteParamsSync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/router/components/RouteParamsSync.js","sources":["../../../../src/presentation/router/components/RouteParamsSync.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { reaction } from \"mobx\";\nimport type { Route, RouteParamsDefinition } from \"~/features/router/Route.js\";\nimport { useRoute } from \"~/presentation/router/hooks/useRoute.js\";\nimport { useLocalStorage } from \"~/presentation/localStorage/useLocalStorage.js\";\n\nexport interface RouteParamFieldConfig<T> {\n param: string;\n read: () => T | undefined;\n write: (value: T | undefined) => void;\n storageKey?: string;\n}\n\nexport interface RouteParamField {\n param: string;\n read: () => unknown;\n write: (value: unknown) => void;\n storageKey?: string;\n}\n\nexport interface RouteParamFieldBuilder {\n create<T>(config: RouteParamFieldConfig<T>): RouteParamField;\n}\n\nconst fieldBuilder: RouteParamFieldBuilder = {\n create<T>(config: RouteParamFieldConfig<T>): RouteParamField {\n return config as RouteParamField;\n }\n};\n\ninterface RouteParamsSyncProps<TParams extends RouteParamsDefinition | undefined> {\n route: Route<TParams>;\n fields: (builder: RouteParamFieldBuilder) => RouteParamField[];\n}\n\nexport function RouteParamsSync<TParams extends RouteParamsDefinition | undefined>({\n route: routeDefinition,\n fields: buildFields\n}: RouteParamsSyncProps<TParams>) {\n const localStorage = useLocalStorage();\n const { route, setRouteParams, replaceRouteParams } = useRoute(routeDefinition);\n const syncingFromUrl = useRef(false);\n const fields = buildFields(fieldBuilder);\n\n // URL → State: apply route params to presenter state on browser navigation.\n useEffect(\n () => {\n syncingFromUrl.current = true;\n\n for (const field of fields) {\n const urlValue = (route.params as Record<string, unknown>)[field.param];\n field.write(urlValue);\n }\n\n queueMicrotask(() => {\n syncingFromUrl.current = false;\n });\n },\n fields.map(f => (route.params as Record<string, unknown>)[f.param])\n );\n\n // State → URL: when MobX observable values change, update route params.\n useEffect(() => {\n return reaction(\n () => {\n const values: Record<string, unknown> = {};\n for (const field of fields) {\n values[field.param] = field.read();\n }\n return values;\n },\n values => {\n for (const field of fields) {\n if (field.storageKey) {\n const val = values[field.param];\n if (val !== undefined && val !== null && val !== \"\") {\n localStorage.set(field.storageKey, val);\n } else {\n localStorage.remove(field.storageKey);\n }\n }\n }\n\n const update = syncingFromUrl.current ? replaceRouteParams : setRouteParams;\n\n update((params: Record<string, unknown>) => {\n const next = { ...params };\n for (const field of fields) {\n next[field.param] = values[field.param];\n }\n return next;\n });\n },\n {\n equals: (a, b) => {\n for (const field of fields) {\n if (a[field.param] !== b[field.param]) {\n return false;\n }\n }\n return true;\n }\n }\n );\n }, []);\n\n return null;\n}\n"],"names":["fieldBuilder","config","RouteParamsSync","routeDefinition","buildFields","localStorage","useLocalStorage","route","setRouteParams","replaceRouteParams","useRoute","syncingFromUrl","useRef","fields","useEffect","field","urlValue","queueMicrotask","f","reaction","values","val","update","params","next","a","b"],"mappings":";;;;AAwBA,MAAMA,eAAuC;IACzC,QAAUC,MAAgC;QACtC,OAAOA;IACX;AACJ;AAOO,SAASC,gBAAmE,EAC/E,OAAOC,eAAe,EACtB,QAAQC,WAAW,EACS;IAC5B,MAAMC,eAAeC;IACrB,MAAM,EAAEC,KAAK,EAAEC,cAAc,EAAEC,kBAAkB,EAAE,GAAGC,SAASP;IAC/D,MAAMQ,iBAAiBC,OAAO;IAC9B,MAAMC,SAAST,YAAYJ;IAG3Bc,UACI;QACIH,eAAe,OAAO,GAAG;QAEzB,KAAK,MAAMI,SAASF,OAAQ;YACxB,MAAMG,WAAYT,MAAM,MAAkC,CAACQ,MAAM,KAAK,CAAC;YACvEA,MAAM,KAAK,CAACC;QAChB;QAEAC,eAAe;YACXN,eAAe,OAAO,GAAG;QAC7B;IACJ,GACAE,OAAO,GAAG,CAACK,CAAAA,IAAMX,MAAM,MAAkC,CAACW,EAAE,KAAK,CAAC;IAItEJ,UAAU,IACCK,SACH;YACI,MAAMC,SAAkC,CAAC;YACzC,KAAK,MAAML,SAASF,OAChBO,MAAM,CAACL,MAAM,KAAK,CAAC,GAAGA,MAAM,IAAI;YAEpC,OAAOK;QACX,GACAA,CAAAA;YACI,KAAK,MAAML,SAASF,OAChB,IAAIE,MAAM,UAAU,EAAE;gBAClB,MAAMM,MAAMD,MAAM,CAACL,MAAM,KAAK,CAAC;gBAC/B,IAAIM,QAAAA,OAAqCA,AAAQ,OAARA,KACrChB,aAAa,GAAG,CAACU,MAAM,UAAU,EAAEM;qBAEnChB,aAAa,MAAM,CAACU,MAAM,UAAU;YAE5C;YAGJ,MAAMO,SAASX,eAAe,OAAO,GAAGF,qBAAqBD;YAE7Dc,OAAO,CAACC;gBACJ,MAAMC,OAAO;oBAAE,GAAGD,MAAM;gBAAC;gBACzB,KAAK,MAAMR,SAASF,OAChBW,IAAI,CAACT,MAAM,KAAK,CAAC,GAAGK,MAAM,CAACL,MAAM,KAAK,CAAC;gBAE3C,OAAOS;YACX;QACJ,GACA;YACI,QAAQ,CAACC,GAAGC;gBACR,KAAK,MAAMX,SAASF,OAChB,IAAIY,CAAC,CAACV,MAAM,KAAK,CAAC,KAAKW,CAAC,CAACX,MAAM,KAAK,CAAC,EACjC,OAAO;gBAGf,OAAO;YACX;QACJ,IAEL,EAAE;IAEL,OAAO;AACX"}
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ type BaseAnchorAttributes = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "href">;
3
+ export type SimpleLinkProps = BaseAnchorAttributes & {
4
+ to: string;
5
+ };
6
+ export declare const SimpleLink: (({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element) & {
7
+ original: ({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element;
8
+ originalName: string;
9
+ displayName: string;
10
+ } & {
11
+ original: (({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element) & {
12
+ original: ({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element;
13
+ originalName: string;
14
+ displayName: string;
15
+ };
16
+ originalName: string;
17
+ displayName: string;
18
+ } & {
19
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element) & {
20
+ original: ({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element;
21
+ originalName: string;
22
+ displayName: string;
23
+ }>) => (props: unknown) => React.JSX.Element;
24
+ };
25
+ export declare const LinkComponent: (({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element) & {
26
+ original: ({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element;
27
+ originalName: string;
28
+ displayName: string;
29
+ } & {
30
+ original: (({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element) & {
31
+ original: ({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element;
32
+ originalName: string;
33
+ displayName: string;
34
+ };
35
+ originalName: string;
36
+ displayName: string;
37
+ } & {
38
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element) & {
39
+ original: ({ children, to, ...rest }: SimpleLinkProps) => React.JSX.Element;
40
+ originalName: string;
41
+ displayName: string;
42
+ }>) => (props: unknown) => React.JSX.Element;
43
+ };
44
+ export {};
@@ -0,0 +1,24 @@
1
+ import react from "react";
2
+ import { makeDecoratable } from "@webiny/react-composition";
3
+ import { RouterGateway } from "../../../features/router/abstractions.js";
4
+ import { useContainer } from "../../../shared/di/DiContainerProvider.js";
5
+ const SimpleLink = makeDecoratable("SimpleLink", ({ children, to, ...rest })=>{
6
+ const container = useContainer();
7
+ const routerGateway = container.resolve(RouterGateway);
8
+ const handleClick = (event)=>{
9
+ if (event.defaultPrevented || 0 !== event.button || event.metaKey || event.altKey || event.ctrlKey || event.shiftKey || "_blank" === rest.target) return;
10
+ event.preventDefault();
11
+ routerGateway.pushState(to);
12
+ };
13
+ const onClick = rest.onClick ?? handleClick;
14
+ return /*#__PURE__*/ react.createElement("a", {
15
+ href: to,
16
+ rel: "noreferrer noopener",
17
+ ...rest,
18
+ onClick: onClick
19
+ }, children);
20
+ });
21
+ const LinkComponent = SimpleLink;
22
+ export { LinkComponent, SimpleLink };
23
+
24
+ //# sourceMappingURL=SimpleLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/router/components/SimpleLink.js","sources":["../../../../src/presentation/router/components/SimpleLink.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { RouterGateway } from \"~/features/router/abstractions.js\";\nimport { useContainer } from \"~/shared/di/DiContainerProvider.js\";\n\ntype BaseAnchorAttributes = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, \"href\">;\n\nexport type SimpleLinkProps = BaseAnchorAttributes & {\n to: string;\n};\n\nexport const SimpleLink = makeDecoratable(\n \"SimpleLink\",\n ({ children, to, ...rest }: SimpleLinkProps) => {\n const container = useContainer();\n\n const routerGateway = container.resolve(RouterGateway);\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n // Respect cmd+click / ctrl+click / middle click → open in new tab\n if (\n event.defaultPrevented ||\n event.button !== 0 ||\n event.metaKey ||\n event.altKey ||\n event.ctrlKey ||\n event.shiftKey ||\n rest.target === \"_blank\"\n ) {\n return;\n }\n\n event.preventDefault();\n routerGateway.pushState(to);\n };\n\n const onClick = rest.onClick ?? handleClick;\n\n return (\n <a href={to} rel=\"noreferrer noopener\" {...rest} onClick={onClick}>\n {children}\n </a>\n );\n }\n);\n\nexport const LinkComponent = SimpleLink;\n"],"names":["SimpleLink","makeDecoratable","children","to","rest","container","useContainer","routerGateway","RouterGateway","handleClick","event","onClick","LinkComponent"],"mappings":";;;;AAWO,MAAMA,aAAaC,gBACtB,cACA,CAAC,EAAEC,QAAQ,EAAEC,EAAE,EAAE,GAAGC,MAAuB;IACvC,MAAMC,YAAYC;IAElB,MAAMC,gBAAgBF,UAAU,OAAO,CAACG;IAExC,MAAMC,cAAc,CAACC;QAEjB,IACIA,MAAM,gBAAgB,IACtBA,AAAiB,MAAjBA,MAAM,MAAM,IACZA,MAAM,OAAO,IACbA,MAAM,MAAM,IACZA,MAAM,OAAO,IACbA,MAAM,QAAQ,IACdN,AAAgB,aAAhBA,KAAK,MAAM,EAEX;QAGJM,MAAM,cAAc;QACpBH,cAAc,SAAS,CAACJ;IAC5B;IAEA,MAAMQ,UAAUP,KAAK,OAAO,IAAIK;IAEhC,OAAO,WAAP,GACI,oBAAC;QAAE,MAAMN;QAAI,KAAI;QAAuB,GAAGC,IAAI;QAAE,SAASO;OACrDT;AAGb;AAGG,MAAMU,gBAAgBZ"}
@@ -0,0 +1,7 @@
1
+ import type { Route, RouteParamsDefinition, RouteParamsInfer } from "../../../features/router/Route.js";
2
+ import { MatchedRoute } from "../../../features/router/abstractions.js";
3
+ export declare function useRoute<TParams extends RouteParamsDefinition | undefined = undefined>(route?: Route<TParams>): {
4
+ route: MatchedRoute<TParams extends RouteParamsDefinition ? RouteParamsInfer<TParams> : undefined>;
5
+ setRouteParams: <T extends Record<string, any>>(cb: (params: T) => T) => void;
6
+ replaceRouteParams: <T extends Record<string, any>>(cb: (params: T) => T) => void;
7
+ };
@@ -0,0 +1,23 @@
1
+ import { useEffect, useState } from "react";
2
+ import { autorun } from "mobx";
3
+ import { RouterFeature } from "../../../features/router/feature.js";
4
+ import { useFeature } from "../../../shared/di/useFeature.js";
5
+ function useRoute(route) {
6
+ const { presenter } = useFeature(RouterFeature);
7
+ const [currentRoute, setCurrentRoute] = useState(presenter.vm.currentRoute);
8
+ useEffect(()=>{
9
+ autorun(()=>{
10
+ const route = presenter.vm.currentRoute;
11
+ if (!route) return;
12
+ setCurrentRoute(route);
13
+ });
14
+ }, []);
15
+ return {
16
+ route: currentRoute,
17
+ setRouteParams: presenter.setRouteParams.bind(presenter),
18
+ replaceRouteParams: presenter.replaceRouteParams.bind(presenter)
19
+ };
20
+ }
21
+ export { useRoute };
22
+
23
+ //# sourceMappingURL=useRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/router/hooks/useRoute.js","sources":["../../../../src/presentation/router/hooks/useRoute.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { autorun } from \"mobx\";\nimport type { Route, RouteParamsDefinition, RouteParamsInfer } from \"~/features/router/Route.js\";\nimport { MatchedRoute } from \"~/features/router/abstractions.js\";\nimport { RouterFeature } from \"~/features/router/feature.js\";\nimport { useFeature } from \"~/shared/di/useFeature.js\";\n\nexport function useRoute<TParams extends RouteParamsDefinition | undefined = undefined>(\n // oxlint-disable-next-line typescript/no-unused-vars\n route?: Route<TParams>\n) {\n const { presenter } = useFeature(RouterFeature);\n const [currentRoute, setCurrentRoute] = useState<MatchedRoute | undefined>(\n presenter.vm.currentRoute\n );\n\n useEffect(() => {\n autorun(() => {\n const route = presenter.vm.currentRoute;\n\n if (!route) {\n return;\n }\n\n setCurrentRoute(route);\n });\n }, []);\n\n // TODO: add validation (the requested route must match the current route)\n\n return {\n route: currentRoute as MatchedRoute<\n TParams extends RouteParamsDefinition ? RouteParamsInfer<TParams> : undefined\n >,\n setRouteParams: presenter.setRouteParams.bind(presenter),\n replaceRouteParams: presenter.replaceRouteParams.bind(presenter)\n };\n}\n"],"names":["useRoute","route","presenter","useFeature","RouterFeature","currentRoute","setCurrentRoute","useState","useEffect","autorun"],"mappings":";;;;AAOO,SAASA,SAEZC,KAAsB;IAEtB,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAWC;IACjC,MAAM,CAACC,cAAcC,gBAAgB,GAAGC,SACpCL,UAAU,EAAE,CAAC,YAAY;IAG7BM,UAAU;QACNC,QAAQ;YACJ,MAAMR,QAAQC,UAAU,EAAE,CAAC,YAAY;YAEvC,IAAI,CAACD,OACD;YAGJK,gBAAgBL;QACpB;IACJ,GAAG,EAAE;IAIL,OAAO;QACH,OAAOI;QAGP,gBAAgBH,UAAU,cAAc,CAAC,IAAI,CAACA;QAC9C,oBAAoBA,UAAU,kBAAkB,CAAC,IAAI,CAACA;IAC1D;AACJ"}
@@ -0,0 +1,12 @@
1
+ import { type ReactRoute } from "../../../presentation/router/index.js";
2
+ export declare const useRouter: () => {
3
+ goToRoute: <TParams extends import("../../../features/router/Route").RouteParamsDefinition | undefined>(route: import("../../..").Route<TParams>, ...args: import("../../../features/router/abstractions").RouteParamsArgs<TParams>) => void;
4
+ goBack: () => void;
5
+ getLink: <TParams extends import("../../../features/router/Route").RouteParamsDefinition | undefined>(route: import("../../..").Route<TParams>, ...args: import("../../../features/router/abstractions").RouteParamsArgs<TParams>) => string;
6
+ addTransitionGuard: (config: import("../../../features/router").RouteTransitionGuardConfig) => import("../../../features/router").GuardDisposer;
7
+ isTransitionBlocked: () => boolean;
8
+ unblockTransition: () => void;
9
+ confirmTransition: () => void;
10
+ cancelTransition: () => void;
11
+ setRoutes: (routes: ReactRoute[]) => void;
12
+ };
@@ -0,0 +1,30 @@
1
+ import { RouteElementRegistry } from "../index.js";
2
+ import { RouterFeature } from "../../../features/router/feature.js";
3
+ import { useFeature } from "../../../shared/di/useFeature.js";
4
+ import { useContainer } from "../../../shared/di/DiContainerProvider.js";
5
+ const useRouter = ()=>{
6
+ const { presenter } = useFeature(RouterFeature);
7
+ const container = useContainer();
8
+ const registry = container.resolve(RouteElementRegistry);
9
+ return {
10
+ goToRoute: presenter.goToRoute.bind(presenter),
11
+ goBack: presenter.goBack.bind(presenter),
12
+ getLink: presenter.getLink.bind(presenter),
13
+ addTransitionGuard: presenter.addTransitionGuard.bind(presenter),
14
+ isTransitionBlocked: presenter.isTransitionBlocked.bind(presenter),
15
+ unblockTransition: presenter.unblockTransition.bind(presenter),
16
+ confirmTransition: presenter.confirmTransition.bind(presenter),
17
+ cancelTransition: presenter.cancelTransition.bind(presenter),
18
+ setRoutes: (routes)=>{
19
+ const cleanRoutes = [];
20
+ for (const route of routes){
21
+ cleanRoutes.push(route.route);
22
+ registry.register(route.route.name, route.element);
23
+ }
24
+ presenter.bootstrap(cleanRoutes);
25
+ }
26
+ };
27
+ };
28
+ export { useRouter };
29
+
30
+ //# sourceMappingURL=useRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/router/hooks/useRouter.js","sources":["../../../../src/presentation/router/hooks/useRouter.ts"],"sourcesContent":["import { type ReactRoute, RouteElementRegistry } from \"~/presentation/router/index.js\";\nimport { RouterFeature } from \"~/features/router/feature.js\";\nimport { useFeature } from \"~/shared/di/useFeature.js\";\nimport { useContainer } from \"~/shared/di/DiContainerProvider.js\";\n\nexport const useRouter = () => {\n const { presenter } = useFeature(RouterFeature);\n const container = useContainer();\n const registry = container.resolve(RouteElementRegistry);\n\n return {\n goToRoute: presenter.goToRoute.bind(presenter),\n goBack: presenter.goBack.bind(presenter),\n getLink: presenter.getLink.bind(presenter),\n addTransitionGuard: presenter.addTransitionGuard.bind(presenter),\n isTransitionBlocked: presenter.isTransitionBlocked.bind(presenter),\n unblockTransition: presenter.unblockTransition.bind(presenter),\n confirmTransition: presenter.confirmTransition.bind(presenter),\n cancelTransition: presenter.cancelTransition.bind(presenter),\n setRoutes: (routes: ReactRoute[]) => {\n const cleanRoutes = [];\n\n for (const route of routes) {\n cleanRoutes.push(route.route);\n registry.register(route.route.name, route.element);\n }\n\n presenter.bootstrap(cleanRoutes);\n }\n };\n};\n"],"names":["useRouter","presenter","useFeature","RouterFeature","container","useContainer","registry","RouteElementRegistry","routes","cleanRoutes","route"],"mappings":";;;;AAKO,MAAMA,YAAY;IACrB,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAWC;IACjC,MAAMC,YAAYC;IAClB,MAAMC,WAAWF,UAAU,OAAO,CAACG;IAEnC,OAAO;QACH,WAAWN,UAAU,SAAS,CAAC,IAAI,CAACA;QACpC,QAAQA,UAAU,MAAM,CAAC,IAAI,CAACA;QAC9B,SAASA,UAAU,OAAO,CAAC,IAAI,CAACA;QAChC,oBAAoBA,UAAU,kBAAkB,CAAC,IAAI,CAACA;QACtD,qBAAqBA,UAAU,mBAAmB,CAAC,IAAI,CAACA;QACxD,mBAAmBA,UAAU,iBAAiB,CAAC,IAAI,CAACA;QACpD,mBAAmBA,UAAU,iBAAiB,CAAC,IAAI,CAACA;QACpD,kBAAkBA,UAAU,gBAAgB,CAAC,IAAI,CAACA;QAClD,WAAW,CAACO;YACR,MAAMC,cAAc,EAAE;YAEtB,KAAK,MAAMC,SAASF,OAAQ;gBACxBC,YAAY,IAAI,CAACC,MAAM,KAAK;gBAC5BJ,SAAS,QAAQ,CAACI,MAAM,KAAK,CAAC,IAAI,EAAEA,MAAM,OAAO;YACrD;YAEAT,UAAU,SAAS,CAACQ;QACxB;IACJ;AACJ"}
@@ -0,0 +1,6 @@
1
+ export { useRouter } from "./hooks/useRouter.js";
2
+ export { useRoute } from "./hooks/useRoute.js";
3
+ export { RouteParamsSync } from "./components/RouteParamsSync.js";
4
+ export type { RouteParamField, RouteParamFieldBuilder, RouteParamFieldConfig } from "./components/RouteParamsSync.js";
5
+ export { RouteElementRegistry } from "./abstractions.js";
6
+ export type { ReactRoute } from "./types.js";
@@ -0,0 +1,4 @@
1
+ export { useRouter } from "./hooks/useRouter.js";
2
+ export { useRoute } from "./hooks/useRoute.js";
3
+ export { RouteParamsSync } from "./components/RouteParamsSync.js";
4
+ export { RouteElementRegistry } from "./abstractions.js";
@@ -0,0 +1,5 @@
1
+ import type { Route } from "../../features/router/Route.js";
2
+ export type ReactRoute = {
3
+ route: Route<any>;
4
+ element: React.JSX.Element;
5
+ };
File without changes
package/renderApp.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { Root } from "react-dom/client";
2
- export declare const renderApp: (app: JSX.Element) => Root;
2
+ export declare const renderApp: (app: React.JSX.Element) => Root;
package/renderApp.js CHANGED
@@ -1,9 +1,10 @@
1
- import ReactDOMClient from "react-dom/client";
2
- export const renderApp = app => {
3
- const container = document.getElementById("root");
4
- const root = ReactDOMClient.createRoot(container);
5
- root.render(app);
6
- return root;
1
+ import client from "react-dom/client";
2
+ const renderApp = (app)=>{
3
+ const container = document.getElementById("root");
4
+ const root = client.createRoot(container);
5
+ root.render(app);
6
+ return root;
7
7
  };
8
+ export { renderApp };
8
9
 
9
10
  //# sourceMappingURL=renderApp.js.map
package/renderApp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ReactDOMClient","renderApp","app","container","document","getElementById","root","createRoot","render"],"sources":["renderApp.tsx"],"sourcesContent":["import type { Root } from \"react-dom/client\";\nimport ReactDOMClient from \"react-dom/client\";\n\nexport const renderApp = (app: JSX.Element): Root => {\n const container = document.getElementById(\"root\")!;\n\n const root = ReactDOMClient.createRoot(container);\n root.render(app);\n return root;\n};\n"],"mappings":"AACA,OAAOA,cAAc,MAAM,kBAAkB;AAE7C,OAAO,MAAMC,SAAS,GAAIC,GAAgB,IAAW;EACjD,MAAMC,SAAS,GAAGC,QAAQ,CAACC,cAAc,CAAC,MAAM,CAAE;EAElD,MAAMC,IAAI,GAAGN,cAAc,CAACO,UAAU,CAACJ,SAAS,CAAC;EACjDG,IAAI,CAACE,MAAM,CAACN,GAAG,CAAC;EAChB,OAAOI,IAAI;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"renderApp.js","sources":["../src/renderApp.tsx"],"sourcesContent":["import type { Root } from \"react-dom/client\";\nimport ReactDOMClient from \"react-dom/client\";\n\nexport const renderApp = (app: React.JSX.Element): Root => {\n const container = document.getElementById(\"root\")!;\n\n const root = ReactDOMClient.createRoot(container);\n root.render(app);\n return root;\n};\n"],"names":["renderApp","app","container","document","root","ReactDOMClient"],"mappings":";AAGO,MAAMA,YAAY,CAACC;IACtB,MAAMC,YAAYC,SAAS,cAAc,CAAC;IAE1C,MAAMC,OAAOC,OAAAA,UAAyB,CAACH;IACvCE,KAAK,MAAM,CAACH;IACZ,OAAOG;AACX"}
package/router.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export { Route } from "./features/router/Route.js";
2
+ export { useRouter } from "./presentation/router/hooks/useRouter.js";
3
+ export { useRoute } from "./presentation/router/hooks/useRoute.js";
4
+ export { RouteLink, type RouteLinkProps } from "./presentation/router/components/RouteLink.js";
5
+ export { SimpleLink, type SimpleLinkProps } from "./presentation/router/components/SimpleLink.js";
package/router.js ADDED
@@ -0,0 +1,5 @@
1
+ export { Route } from "./features/router/Route.js";
2
+ export { useRouter } from "./presentation/router/hooks/useRouter.js";
3
+ export { useRoute } from "./presentation/router/hooks/useRoute.js";
4
+ export { RouteLink } from "./presentation/router/components/RouteLink.js";
5
+ export { SimpleLink } from "./presentation/router/components/SimpleLink.js";
@@ -0,0 +1,14 @@
1
+ var __webpack_require__ = {};
2
+ (()=>{
3
+ __webpack_require__.g = (()=>{
4
+ if ('object' == typeof globalThis) return globalThis;
5
+ try {
6
+ return this || new Function('return this')();
7
+ } catch (e) {
8
+ if ('object' == typeof window) return window;
9
+ }
10
+ })();
11
+ })();
12
+ export { __webpack_require__ };
13
+
14
+ //# sourceMappingURL=rslib-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rslib-runtime.js","sources":["webpack://webpack/runtime/global"],"sourcesContent":["__webpack_require__.g = (() => {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();"],"names":["__webpack_require__","globalThis","Function","e","window"],"mappings":";;IAAAA,oBAAoB,CAAC,GAAG,AAAC;QACxB,IAAI,AAAsB,YAAtB,OAAOC,YAAyB,OAAOA;QAC3C,IAAI;YACH,OAAO,IAAI,IAAI,IAAIC,SAAS;QAC7B,EAAE,OAAOC,GAAG;YACX,IAAI,AAAkB,YAAlB,OAAOC,QAAqB,OAAOA;QACxC;IACD"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { Container } from "@webiny/di";
3
+ export interface DiContainerProviderProps {
4
+ container: Container;
5
+ children: React.ReactNode;
6
+ }
7
+ export declare const DiContainerProvider: ({ container, children }: DiContainerProviderProps) => React.JSX.Element;
8
+ export declare const useContainer: () => Container;
@@ -0,0 +1,13 @@
1
+ import react from "react";
2
+ import { createGenericContext } from "../../utils/createGenericContext.js";
3
+ const DiContainerContext = createGenericContext("DiContainer");
4
+ const DiContainerProvider = ({ container, children })=>/*#__PURE__*/ react.createElement(DiContainerContext.Provider, {
5
+ container: container
6
+ }, children);
7
+ const useContainer = ()=>{
8
+ const context = DiContainerContext.useHook();
9
+ return context.container;
10
+ };
11
+ export { DiContainerProvider, useContainer };
12
+
13
+ //# sourceMappingURL=DiContainerProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared/di/DiContainerProvider.js","sources":["../../../src/shared/di/DiContainerProvider.tsx"],"sourcesContent":["import React from \"react\";\nimport { Container } from \"@webiny/di\";\nimport { createGenericContext } from \"~/utils/createGenericContext.js\";\n\ntype DiContainerContext = { container: Container };\n\nconst DiContainerContext = createGenericContext<DiContainerContext>(\"DiContainer\");\n\nexport interface DiContainerProviderProps {\n container: Container;\n children: React.ReactNode;\n}\n\nexport const DiContainerProvider = ({ container, children }: DiContainerProviderProps) => {\n return (\n <DiContainerContext.Provider container={container}>{children}</DiContainerContext.Provider>\n );\n};\n\nexport const useContainer = () => {\n const context = DiContainerContext.useHook();\n\n return context.container;\n};\n"],"names":["DiContainerContext","createGenericContext","DiContainerProvider","container","children","useContainer","context"],"mappings":";;AAMA,MAAMA,qBAAqBC,qBAAyC;AAO7D,MAAMC,sBAAsB,CAAC,EAAEC,SAAS,EAAEC,QAAQ,EAA4B,GAC1E,WAAP,GACI,oBAACJ,mBAAmB,QAAQ;QAAC,WAAWG;OAAYC;AAIrD,MAAMC,eAAe;IACxB,MAAMC,UAAUN,mBAAmB,OAAO;IAE1C,OAAOM,QAAQ,SAAS;AAC5B"}
@@ -0,0 +1,11 @@
1
+ import { Container } from "@webiny/di";
2
+ export interface FeatureDefinition<TExports = any, TParams extends any[] = []> {
3
+ name: string;
4
+ register: (container: Container, ...args: TParams) => void;
5
+ resolve: (container: Container) => TExports;
6
+ }
7
+ export declare function createFeature<TExports = any, TParams extends any[] = []>(def: {
8
+ name: string;
9
+ register: (container: Container, ...args: TParams) => void;
10
+ resolve: (container: Container) => TExports;
11
+ }): FeatureDefinition<TExports, TParams>;
@@ -0,0 +1,10 @@
1
+ function createFeature(def) {
2
+ return {
3
+ name: def.name,
4
+ register: def.register,
5
+ resolve: (container)=>def.resolve(container)
6
+ };
7
+ }
8
+ export { createFeature };
9
+
10
+ //# sourceMappingURL=createFeature.js.map