piral-core 1.0.0-pre.2217 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +4 -4
  3. package/app.codegen +36 -0
  4. package/app.codegen.d.ts +29 -0
  5. package/dist/codegen.js +5308 -0
  6. package/esm/Piral.d.ts +4 -4
  7. package/esm/Piral.js +8 -11
  8. package/esm/Piral.js.map +1 -1
  9. package/esm/PiralContext.d.ts +21 -0
  10. package/esm/PiralContext.js +34 -0
  11. package/esm/PiralContext.js.map +1 -0
  12. package/esm/RootListener.d.ts +2 -0
  13. package/esm/RootListener.js +23 -0
  14. package/esm/RootListener.js.map +1 -0
  15. package/esm/actions/app.d.ts +7 -4
  16. package/esm/actions/app.js +24 -14
  17. package/esm/actions/app.js.map +1 -1
  18. package/esm/actions/components.js +5 -6
  19. package/esm/actions/components.js.map +1 -1
  20. package/esm/actions/data.js +16 -17
  21. package/esm/actions/data.js.map +1 -1
  22. package/esm/actions/define.js +2 -3
  23. package/esm/actions/define.js.map +1 -1
  24. package/esm/actions/portal.d.ts +2 -0
  25. package/esm/actions/portal.js +9 -4
  26. package/esm/actions/portal.js.map +1 -1
  27. package/esm/actions/state.js +7 -4
  28. package/esm/actions/state.js.map +1 -1
  29. package/esm/components/ErrorBoundary.d.ts +14 -31
  30. package/esm/components/ErrorBoundary.js +22 -28
  31. package/esm/components/ErrorBoundary.js.map +1 -1
  32. package/esm/components/ExtensionSlot.d.ts +1 -0
  33. package/esm/components/ExtensionSlot.js +34 -11
  34. package/esm/components/ExtensionSlot.js.map +1 -1
  35. package/esm/components/ForeignComponentContainer.d.ts +19 -0
  36. package/esm/components/ForeignComponentContainer.js +46 -0
  37. package/esm/components/ForeignComponentContainer.js.map +1 -0
  38. package/esm/components/Mediator.js +15 -12
  39. package/esm/components/Mediator.js.map +1 -1
  40. package/esm/components/PiralGlobals.d.ts +6 -0
  41. package/esm/components/PiralGlobals.js +13 -0
  42. package/esm/components/PiralGlobals.js.map +1 -0
  43. package/esm/components/PiralRoutes.d.ts +5 -0
  44. package/esm/components/PiralRoutes.js +6 -11
  45. package/esm/components/PiralRoutes.js.map +1 -1
  46. package/esm/components/PiralSuspense.d.ts +5 -0
  47. package/esm/components/PiralSuspense.js +8 -0
  48. package/esm/components/PiralSuspense.js.map +1 -0
  49. package/esm/components/PiralView.d.ts +10 -1
  50. package/esm/components/PiralView.js +12 -25
  51. package/esm/components/PiralView.js.map +1 -1
  52. package/esm/components/PortalRenderer.d.ts +5 -0
  53. package/esm/components/PortalRenderer.js +7 -0
  54. package/esm/components/PortalRenderer.js.map +1 -0
  55. package/esm/components/ResponsiveLayout.d.ts +9 -1
  56. package/esm/components/ResponsiveLayout.js +5 -13
  57. package/esm/components/ResponsiveLayout.js.map +1 -1
  58. package/esm/components/SwitchErrorInfo.js +12 -10
  59. package/esm/components/SwitchErrorInfo.js.map +1 -1
  60. package/esm/components/components.d.ts +18 -6
  61. package/esm/components/components.js +21 -9
  62. package/esm/components/components.js.map +1 -1
  63. package/esm/components/index.d.ts +4 -10
  64. package/esm/components/index.js +4 -10
  65. package/esm/components/index.js.map +1 -1
  66. package/esm/components/wrapComponent.d.ts +7 -0
  67. package/esm/components/wrapComponent.js +42 -0
  68. package/esm/components/wrapComponent.js.map +1 -0
  69. package/esm/createInstance.d.ts +2 -2
  70. package/esm/createInstance.js +34 -30
  71. package/esm/createInstance.js.map +1 -1
  72. package/esm/defaults/DefaultErrorInfo.js +10 -0
  73. package/esm/defaults/DefaultErrorInfo.js.map +1 -0
  74. package/esm/{components → defaults}/DefaultLayout.js +1 -4
  75. package/esm/defaults/DefaultLayout.js.map +1 -0
  76. package/esm/{components/DefaultLoader.js → defaults/DefaultLoadingIndicator.js} +2 -2
  77. package/esm/defaults/DefaultLoadingIndicator.js.map +1 -0
  78. package/esm/defaults/DefaultRouteSwitch_v5.d.ts +3 -0
  79. package/esm/defaults/DefaultRouteSwitch_v5.js +11 -0
  80. package/esm/defaults/DefaultRouteSwitch_v5.js.map +1 -0
  81. package/esm/defaults/DefaultRouteSwitch_v6.d.ts +3 -0
  82. package/esm/defaults/DefaultRouteSwitch_v6.js +15 -0
  83. package/esm/defaults/DefaultRouteSwitch_v6.js.map +1 -0
  84. package/esm/defaults/DefaultRouter_v5.d.ts +3 -0
  85. package/esm/defaults/DefaultRouter_v5.js +7 -0
  86. package/esm/defaults/DefaultRouter_v5.js.map +1 -0
  87. package/esm/defaults/DefaultRouter_v6.d.ts +3 -0
  88. package/esm/defaults/DefaultRouter_v6.js +7 -0
  89. package/esm/defaults/DefaultRouter_v6.js.map +1 -0
  90. package/esm/defaults/navigator_none.d.ts +5 -0
  91. package/esm/defaults/navigator_none.js +30 -0
  92. package/esm/defaults/navigator_none.js.map +1 -0
  93. package/esm/defaults/navigator_v5.d.ts +6 -0
  94. package/esm/defaults/navigator_v5.js +81 -0
  95. package/esm/defaults/navigator_v5.js.map +1 -0
  96. package/esm/defaults/navigator_v6.d.ts +6 -0
  97. package/esm/defaults/navigator_v6.js +77 -0
  98. package/esm/defaults/navigator_v6.js.map +1 -0
  99. package/esm/helpers.d.ts +12 -26
  100. package/esm/helpers.js +14 -72
  101. package/esm/helpers.js.map +1 -1
  102. package/esm/hooks/action.js +2 -3
  103. package/esm/hooks/action.js.map +1 -1
  104. package/esm/hooks/actions.js +1 -1
  105. package/esm/hooks/actions.js.map +1 -1
  106. package/esm/hooks/globalState.d.ts +7 -0
  107. package/esm/hooks/globalState.js +10 -8
  108. package/esm/hooks/globalState.js.map +1 -1
  109. package/esm/hooks/index.d.ts +2 -5
  110. package/esm/hooks/index.js +2 -5
  111. package/esm/hooks/index.js.map +1 -1
  112. package/esm/hooks/media.js +8 -7
  113. package/esm/hooks/media.js.map +1 -1
  114. package/esm/hooks/piletApi.d.ts +7 -0
  115. package/esm/hooks/piletApi.js +14 -0
  116. package/esm/hooks/piletApi.js.map +1 -0
  117. package/esm/hooks/routes.d.ts +2 -0
  118. package/esm/hooks/routes.js +11 -0
  119. package/esm/hooks/routes.js.map +1 -0
  120. package/esm/hooks/setter.js +3 -2
  121. package/esm/hooks/setter.js.map +1 -1
  122. package/esm/hooks/sharedData.js +2 -2
  123. package/esm/hooks/sharedData.js.map +1 -1
  124. package/esm/index.d.ts +3 -1
  125. package/esm/index.js +3 -1
  126. package/esm/index.js.map +1 -1
  127. package/esm/modules/api.d.ts +2 -5
  128. package/esm/modules/api.js +9 -68
  129. package/esm/modules/api.js.map +1 -1
  130. package/esm/modules/core.d.ts +3 -0
  131. package/esm/modules/core.js +50 -0
  132. package/esm/modules/core.js.map +1 -0
  133. package/esm/modules/dependencies.d.ts +5 -6
  134. package/esm/modules/dependencies.js +9 -24
  135. package/esm/modules/dependencies.js.map +1 -1
  136. package/esm/modules/element.d.ts +5 -0
  137. package/esm/modules/element.js +169 -0
  138. package/esm/modules/element.js.map +1 -0
  139. package/esm/modules/index.d.ts +1 -0
  140. package/esm/modules/index.js +1 -0
  141. package/esm/modules/index.js.map +1 -1
  142. package/esm/setters/SetComponent.js +11 -0
  143. package/esm/setters/SetComponent.js.map +1 -0
  144. package/esm/setters/SetError.js +11 -0
  145. package/esm/setters/SetError.js.map +1 -0
  146. package/esm/setters/SetErrors.js +9 -0
  147. package/esm/setters/SetErrors.js.map +1 -0
  148. package/esm/setters/SetLayout.js +9 -0
  149. package/esm/setters/SetLayout.js.map +1 -0
  150. package/esm/setters/SetProvider.js +11 -0
  151. package/esm/setters/SetProvider.js.map +1 -0
  152. package/esm/setters/SetRedirect.js +12 -0
  153. package/esm/setters/SetRedirect.js.map +1 -0
  154. package/{lib/components → esm/setters}/SetRoute.d.ts +6 -2
  155. package/esm/setters/SetRoute.js +11 -0
  156. package/esm/setters/SetRoute.js.map +1 -0
  157. package/esm/setters/index.d.ts +7 -0
  158. package/esm/setters/index.js +8 -0
  159. package/esm/setters/index.js.map +1 -0
  160. package/esm/state/createActions.d.ts +2 -2
  161. package/esm/state/createActions.js +8 -12
  162. package/esm/state/createActions.js.map +1 -1
  163. package/esm/state/createGlobalState.d.ts +1 -2
  164. package/esm/state/createGlobalState.js +9 -34
  165. package/esm/state/createGlobalState.js.map +1 -1
  166. package/esm/state/stateContext.js +1 -1
  167. package/esm/state/stateContext.js.map +1 -1
  168. package/esm/state/withApi.d.ts +1 -1
  169. package/esm/state/withApi.js +19 -104
  170. package/esm/state/withApi.js.map +1 -1
  171. package/esm/tools/codegen.d.ts +21 -0
  172. package/esm/tools/codegen.js +145 -0
  173. package/esm/tools/codegen.js.map +1 -0
  174. package/esm/tools/debugger.d.ts +4 -0
  175. package/esm/tools/debugger.js +54 -0
  176. package/esm/tools/debugger.js.map +1 -0
  177. package/esm/tools/emulator.d.ts +3 -0
  178. package/esm/tools/emulator.js +11 -0
  179. package/esm/tools/emulator.js.map +1 -0
  180. package/esm/types/api.d.ts +37 -10
  181. package/esm/types/common.d.ts +11 -11
  182. package/esm/types/components.d.ts +74 -8
  183. package/esm/types/config.d.ts +24 -17
  184. package/esm/types/data.d.ts +2 -2
  185. package/esm/types/extension.d.ts +31 -4
  186. package/esm/types/index.d.ts +1 -0
  187. package/esm/types/index.js +1 -0
  188. package/esm/types/index.js.map +1 -1
  189. package/esm/types/instance.d.ts +26 -4
  190. package/esm/types/layout.d.ts +3 -3
  191. package/esm/types/navigation.d.ts +94 -0
  192. package/esm/types/navigation.js +2 -0
  193. package/esm/types/navigation.js.map +1 -0
  194. package/esm/types/plugin.d.ts +1 -14
  195. package/esm/types/state.d.ts +66 -27
  196. package/esm/types/utils.d.ts +1 -1
  197. package/esm/utils/compare.d.ts +1 -1
  198. package/esm/utils/compare.js +24 -7
  199. package/esm/utils/compare.js.map +1 -1
  200. package/esm/utils/data.js +6 -7
  201. package/esm/utils/data.js.map +1 -1
  202. package/esm/utils/extension.d.ts +16 -0
  203. package/esm/utils/extension.js +37 -0
  204. package/esm/utils/extension.js.map +1 -0
  205. package/esm/utils/foreign.d.ts +7 -2
  206. package/esm/utils/foreign.js +20 -9
  207. package/esm/utils/foreign.js.map +1 -1
  208. package/esm/utils/guid.js +3 -3
  209. package/esm/utils/guid.js.map +1 -1
  210. package/esm/utils/helpers.d.ts +11 -8
  211. package/esm/utils/helpers.js +29 -18
  212. package/esm/utils/helpers.js.map +1 -1
  213. package/esm/utils/index.d.ts +3 -1
  214. package/esm/utils/index.js +3 -1
  215. package/esm/utils/index.js.map +1 -1
  216. package/esm/utils/media.js +8 -8
  217. package/esm/utils/media.js.map +1 -1
  218. package/esm/utils/state.d.ts +57 -0
  219. package/esm/utils/state.js +83 -0
  220. package/esm/utils/state.js.map +1 -0
  221. package/esm/utils/storage.js +13 -14
  222. package/esm/utils/storage.js.map +1 -1
  223. package/lib/Piral.d.ts +4 -4
  224. package/lib/Piral.js +11 -13
  225. package/lib/Piral.js.map +1 -1
  226. package/lib/PiralContext.d.ts +21 -0
  227. package/lib/PiralContext.js +38 -0
  228. package/lib/PiralContext.js.map +1 -0
  229. package/lib/RootListener.d.ts +2 -0
  230. package/lib/RootListener.js +27 -0
  231. package/lib/RootListener.js.map +1 -0
  232. package/lib/actions/app.d.ts +7 -4
  233. package/lib/actions/app.js +27 -16
  234. package/lib/actions/app.js.map +1 -1
  235. package/lib/actions/components.js +5 -6
  236. package/lib/actions/components.js.map +1 -1
  237. package/lib/actions/data.js +17 -18
  238. package/lib/actions/data.js.map +1 -1
  239. package/lib/actions/define.js +2 -3
  240. package/lib/actions/define.js.map +1 -1
  241. package/lib/actions/index.js +1 -1
  242. package/lib/actions/portal.d.ts +2 -0
  243. package/lib/actions/portal.js +12 -5
  244. package/lib/actions/portal.js.map +1 -1
  245. package/lib/actions/state.js +7 -4
  246. package/lib/actions/state.js.map +1 -1
  247. package/lib/components/ErrorBoundary.d.ts +14 -31
  248. package/lib/components/ErrorBoundary.js +23 -28
  249. package/lib/components/ErrorBoundary.js.map +1 -1
  250. package/lib/components/ExtensionSlot.d.ts +1 -0
  251. package/lib/components/ExtensionSlot.js +37 -14
  252. package/lib/components/ExtensionSlot.js.map +1 -1
  253. package/lib/components/ForeignComponentContainer.d.ts +19 -0
  254. package/lib/components/ForeignComponentContainer.js +50 -0
  255. package/lib/components/ForeignComponentContainer.js.map +1 -0
  256. package/lib/components/Mediator.js +18 -14
  257. package/lib/components/Mediator.js.map +1 -1
  258. package/lib/components/PiralGlobals.d.ts +6 -0
  259. package/lib/components/PiralGlobals.js +17 -0
  260. package/lib/components/PiralGlobals.js.map +1 -0
  261. package/lib/components/PiralRoutes.d.ts +5 -0
  262. package/lib/components/PiralRoutes.js +8 -12
  263. package/lib/components/PiralRoutes.js.map +1 -1
  264. package/lib/components/PiralSuspense.d.ts +5 -0
  265. package/lib/components/PiralSuspense.js +12 -0
  266. package/lib/components/PiralSuspense.js.map +1 -0
  267. package/lib/components/PiralView.d.ts +10 -1
  268. package/lib/components/PiralView.js +15 -27
  269. package/lib/components/PiralView.js.map +1 -1
  270. package/lib/components/PortalRenderer.d.ts +5 -0
  271. package/lib/components/PortalRenderer.js +11 -0
  272. package/lib/components/PortalRenderer.js.map +1 -0
  273. package/lib/components/ResponsiveLayout.d.ts +9 -1
  274. package/lib/components/ResponsiveLayout.js +7 -14
  275. package/lib/components/ResponsiveLayout.js.map +1 -1
  276. package/lib/components/SwitchErrorInfo.js +15 -12
  277. package/lib/components/SwitchErrorInfo.js.map +1 -1
  278. package/lib/components/components.d.ts +18 -6
  279. package/lib/components/components.js +24 -12
  280. package/lib/components/components.js.map +1 -1
  281. package/lib/components/index.d.ts +4 -10
  282. package/lib/components/index.js +5 -11
  283. package/lib/components/index.js.map +1 -1
  284. package/lib/components/wrapComponent.d.ts +7 -0
  285. package/lib/components/wrapComponent.js +46 -0
  286. package/lib/components/wrapComponent.js.map +1 -0
  287. package/lib/createInstance.d.ts +2 -2
  288. package/lib/createInstance.js +40 -36
  289. package/lib/createInstance.js.map +1 -1
  290. package/lib/defaults/DefaultErrorInfo.js +14 -0
  291. package/lib/defaults/DefaultErrorInfo.js.map +1 -0
  292. package/lib/{components → defaults}/DefaultLayout.js +3 -5
  293. package/lib/defaults/DefaultLayout.js.map +1 -0
  294. package/lib/{components/DefaultLoader.js → defaults/DefaultLoadingIndicator.js} +4 -3
  295. package/lib/defaults/DefaultLoadingIndicator.js.map +1 -0
  296. package/lib/defaults/DefaultRouteSwitch_v5.d.ts +3 -0
  297. package/lib/defaults/DefaultRouteSwitch_v5.js +15 -0
  298. package/lib/defaults/DefaultRouteSwitch_v5.js.map +1 -0
  299. package/lib/defaults/DefaultRouteSwitch_v6.d.ts +3 -0
  300. package/lib/defaults/DefaultRouteSwitch_v6.js +19 -0
  301. package/lib/defaults/DefaultRouteSwitch_v6.js.map +1 -0
  302. package/lib/defaults/DefaultRouter_v5.d.ts +3 -0
  303. package/lib/defaults/DefaultRouter_v5.js +11 -0
  304. package/lib/defaults/DefaultRouter_v5.js.map +1 -0
  305. package/lib/defaults/DefaultRouter_v6.d.ts +3 -0
  306. package/lib/defaults/DefaultRouter_v6.js +11 -0
  307. package/lib/defaults/DefaultRouter_v6.js.map +1 -0
  308. package/lib/defaults/navigator_none.d.ts +5 -0
  309. package/lib/defaults/navigator_none.js +37 -0
  310. package/lib/defaults/navigator_none.js.map +1 -0
  311. package/lib/defaults/navigator_v5.d.ts +6 -0
  312. package/lib/defaults/navigator_v5.js +88 -0
  313. package/lib/defaults/navigator_v5.js.map +1 -0
  314. package/lib/defaults/navigator_v6.d.ts +6 -0
  315. package/lib/defaults/navigator_v6.js +84 -0
  316. package/lib/defaults/navigator_v6.js.map +1 -0
  317. package/lib/helpers.d.ts +12 -26
  318. package/lib/helpers.js +15 -75
  319. package/lib/helpers.js.map +1 -1
  320. package/lib/hooks/action.js +2 -3
  321. package/lib/hooks/action.js.map +1 -1
  322. package/lib/hooks/actions.js +4 -4
  323. package/lib/hooks/actions.js.map +1 -1
  324. package/lib/hooks/globalState.d.ts +7 -0
  325. package/lib/hooks/globalState.js +14 -11
  326. package/lib/hooks/globalState.js.map +1 -1
  327. package/lib/hooks/index.d.ts +2 -5
  328. package/lib/hooks/index.js +3 -6
  329. package/lib/hooks/index.js.map +1 -1
  330. package/lib/hooks/media.js +10 -9
  331. package/lib/hooks/media.js.map +1 -1
  332. package/lib/hooks/piletApi.d.ts +7 -0
  333. package/lib/hooks/piletApi.js +18 -0
  334. package/lib/hooks/piletApi.js.map +1 -0
  335. package/lib/hooks/routes.d.ts +2 -0
  336. package/lib/hooks/routes.js +15 -0
  337. package/lib/hooks/routes.js.map +1 -0
  338. package/lib/hooks/setter.js +4 -3
  339. package/lib/hooks/setter.js.map +1 -1
  340. package/lib/hooks/sharedData.js +3 -3
  341. package/lib/hooks/sharedData.js.map +1 -1
  342. package/lib/index.d.ts +3 -1
  343. package/lib/index.js +4 -2
  344. package/lib/index.js.map +1 -1
  345. package/lib/modules/api.d.ts +2 -5
  346. package/lib/modules/api.js +12 -74
  347. package/lib/modules/api.js.map +1 -1
  348. package/lib/modules/core.d.ts +3 -0
  349. package/lib/modules/core.js +54 -0
  350. package/lib/modules/core.js.map +1 -0
  351. package/lib/modules/dependencies.d.ts +5 -6
  352. package/lib/modules/dependencies.js +12 -27
  353. package/lib/modules/dependencies.js.map +1 -1
  354. package/lib/modules/element.d.ts +5 -0
  355. package/lib/modules/element.js +173 -0
  356. package/lib/modules/element.js.map +1 -0
  357. package/lib/modules/index.d.ts +1 -0
  358. package/lib/modules/index.js +2 -1
  359. package/lib/modules/index.js.map +1 -1
  360. package/lib/setters/SetComponent.js +15 -0
  361. package/lib/setters/SetComponent.js.map +1 -0
  362. package/lib/setters/SetError.js +15 -0
  363. package/lib/setters/SetError.js.map +1 -0
  364. package/lib/setters/SetErrors.js +13 -0
  365. package/lib/setters/SetErrors.js.map +1 -0
  366. package/lib/setters/SetLayout.js +13 -0
  367. package/lib/setters/SetLayout.js.map +1 -0
  368. package/lib/{components → setters}/SetProvider.js +4 -5
  369. package/lib/setters/SetProvider.js.map +1 -0
  370. package/lib/setters/SetRedirect.js +16 -0
  371. package/lib/setters/SetRedirect.js.map +1 -0
  372. package/{esm/components → lib/setters}/SetRoute.d.ts +6 -2
  373. package/lib/setters/SetRoute.js +15 -0
  374. package/lib/setters/SetRoute.js.map +1 -0
  375. package/lib/setters/index.d.ts +7 -0
  376. package/lib/setters/index.js +11 -0
  377. package/lib/setters/index.js.map +1 -0
  378. package/lib/state/createActions.d.ts +2 -2
  379. package/lib/state/createActions.js +9 -13
  380. package/lib/state/createActions.js.map +1 -1
  381. package/lib/state/createGlobalState.d.ts +1 -2
  382. package/lib/state/createGlobalState.js +9 -34
  383. package/lib/state/createGlobalState.js.map +1 -1
  384. package/lib/state/index.js +1 -1
  385. package/lib/state/stateContext.js +1 -1
  386. package/lib/state/stateContext.js.map +1 -1
  387. package/lib/state/withApi.d.ts +1 -1
  388. package/lib/state/withApi.js +20 -105
  389. package/lib/state/withApi.js.map +1 -1
  390. package/lib/tools/codegen.d.ts +21 -0
  391. package/lib/tools/codegen.js +152 -0
  392. package/lib/tools/codegen.js.map +1 -0
  393. package/lib/tools/debugger.d.ts +4 -0
  394. package/lib/tools/debugger.js +58 -0
  395. package/lib/tools/debugger.js.map +1 -0
  396. package/lib/tools/emulator.d.ts +3 -0
  397. package/lib/tools/emulator.js +15 -0
  398. package/lib/tools/emulator.js.map +1 -0
  399. package/lib/types/api.d.ts +37 -10
  400. package/lib/types/common.d.ts +11 -11
  401. package/lib/types/components.d.ts +74 -8
  402. package/lib/types/config.d.ts +24 -17
  403. package/lib/types/data.d.ts +2 -2
  404. package/lib/types/extension.d.ts +31 -4
  405. package/lib/types/index.d.ts +1 -0
  406. package/lib/types/index.js +2 -1
  407. package/lib/types/index.js.map +1 -1
  408. package/lib/types/instance.d.ts +26 -4
  409. package/lib/types/layout.d.ts +3 -3
  410. package/lib/types/navigation.d.ts +94 -0
  411. package/lib/types/navigation.js +3 -0
  412. package/lib/types/navigation.js.map +1 -0
  413. package/lib/types/plugin.d.ts +1 -14
  414. package/lib/types/state.d.ts +66 -27
  415. package/lib/types/utils.d.ts +1 -1
  416. package/lib/utils/compare.d.ts +1 -1
  417. package/lib/utils/compare.js +26 -9
  418. package/lib/utils/compare.js.map +1 -1
  419. package/lib/utils/data.js +6 -7
  420. package/lib/utils/data.js.map +1 -1
  421. package/lib/utils/extension.d.ts +16 -0
  422. package/lib/utils/extension.js +42 -0
  423. package/lib/utils/extension.js.map +1 -0
  424. package/lib/utils/foreign.d.ts +7 -2
  425. package/lib/utils/foreign.js +25 -12
  426. package/lib/utils/foreign.js.map +1 -1
  427. package/lib/utils/guid.js +3 -3
  428. package/lib/utils/guid.js.map +1 -1
  429. package/lib/utils/helpers.d.ts +11 -8
  430. package/lib/utils/helpers.js +31 -18
  431. package/lib/utils/helpers.js.map +1 -1
  432. package/lib/utils/index.d.ts +3 -1
  433. package/lib/utils/index.js +7 -2
  434. package/lib/utils/index.js.map +1 -1
  435. package/lib/utils/media.js +7 -7
  436. package/lib/utils/media.js.map +1 -1
  437. package/lib/utils/react.js +1 -1
  438. package/lib/utils/react.js.map +1 -1
  439. package/lib/utils/state.d.ts +57 -0
  440. package/lib/utils/state.js +94 -0
  441. package/lib/utils/state.js.map +1 -0
  442. package/lib/utils/storage.js +11 -12
  443. package/lib/utils/storage.js.map +1 -1
  444. package/package.json +55 -18
  445. package/src/Piral.test.tsx +7 -16
  446. package/src/Piral.tsx +12 -11
  447. package/src/PiralContext.tsx +43 -0
  448. package/src/RootListener.test.tsx +46 -0
  449. package/src/RootListener.tsx +26 -0
  450. package/src/actions/app.test.ts +114 -44
  451. package/src/actions/app.ts +33 -23
  452. package/src/actions/components.test.ts +11 -11
  453. package/src/actions/components.ts +5 -33
  454. package/src/actions/data.test.ts +50 -50
  455. package/src/actions/define.test.ts +2 -2
  456. package/src/actions/portal.test.ts +62 -17
  457. package/src/actions/portal.ts +19 -1
  458. package/src/actions/state.test.ts +3 -3
  459. package/src/actions/state.ts +8 -4
  460. package/src/components/ErrorBoundary.tsx +22 -49
  461. package/src/components/ExtensionSlot.test.tsx +115 -30
  462. package/src/components/ExtensionSlot.tsx +57 -18
  463. package/src/components/ForeignComponentContainer.test.tsx +100 -0
  464. package/src/components/ForeignComponentContainer.tsx +63 -0
  465. package/src/components/Mediator.test.tsx +16 -14
  466. package/src/components/Mediator.tsx +17 -9
  467. package/src/components/PiralGlobals.tsx +16 -0
  468. package/src/components/PiralRoutes.test.tsx +65 -57
  469. package/src/components/PiralRoutes.tsx +10 -17
  470. package/src/components/PiralSuspense.tsx +19 -0
  471. package/src/components/PiralView-server.test.tsx +61 -0
  472. package/src/components/PiralView.test.tsx +27 -26
  473. package/src/components/PiralView.tsx +28 -35
  474. package/src/components/PortalRenderer.tsx +12 -0
  475. package/src/components/ResponsiveLayout.test.tsx +18 -37
  476. package/src/components/ResponsiveLayout.tsx +18 -15
  477. package/src/components/SwitchErrorInfo.test.tsx +36 -0
  478. package/src/components/SwitchErrorInfo.tsx +5 -1
  479. package/src/components/components.tsx +20 -6
  480. package/src/components/index.ts +4 -10
  481. package/src/components/wrapComponent.tsx +74 -0
  482. package/src/createInstance.test.tsx +10 -0
  483. package/src/createInstance.tsx +19 -14
  484. package/src/{components → defaults}/DefaultErrorInfo.test.tsx +15 -18
  485. package/src/{components → defaults}/DefaultErrorInfo.tsx +2 -3
  486. package/src/defaults/DefaultLayout.test.tsx +23 -0
  487. package/src/defaults/DefaultLoadingIndicator.test.tsx +10 -0
  488. package/src/defaults/DefaultRouteSwitch_v5.tsx +15 -0
  489. package/src/defaults/DefaultRouteSwitch_v6.tsx +20 -0
  490. package/src/defaults/DefaultRouter_v5.tsx +8 -0
  491. package/src/defaults/DefaultRouter_v6.tsx +8 -0
  492. package/src/defaults/navigator_none.tsx +35 -0
  493. package/src/defaults/navigator_v5.tsx +99 -0
  494. package/src/defaults/navigator_v6.tsx +96 -0
  495. package/src/helpers.test.tsx +30 -49
  496. package/src/helpers.tsx +31 -108
  497. package/src/hooks/action.ts +2 -3
  498. package/src/hooks/globalState.ts +10 -9
  499. package/src/hooks/index.ts +2 -5
  500. package/src/hooks/media.ts +2 -1
  501. package/src/hooks/piletApi.ts +14 -0
  502. package/src/hooks/routes.ts +14 -0
  503. package/src/hooks/setter-server.test.ts +22 -0
  504. package/src/hooks/setter.test.ts +18 -0
  505. package/src/hooks/setter.ts +2 -1
  506. package/src/index.tsx +3 -1
  507. package/src/modules/api.test.ts +15 -26
  508. package/src/modules/api.ts +3 -65
  509. package/src/modules/core.test.ts +148 -0
  510. package/src/modules/core.ts +52 -0
  511. package/src/modules/dependencies.test.ts +16 -5
  512. package/src/modules/dependencies.ts +13 -31
  513. package/src/modules/element-server.test.ts +29 -0
  514. package/src/modules/element.test.ts +67 -0
  515. package/src/modules/element.ts +212 -0
  516. package/src/modules/index.ts +1 -0
  517. package/src/{components → setters}/SetComponent.test.tsx +9 -8
  518. package/src/{components → setters}/SetComponent.tsx +2 -2
  519. package/src/{components → setters}/SetError.test.tsx +9 -8
  520. package/src/{components → setters}/SetError.tsx +2 -2
  521. package/src/{components → setters}/SetErrors.test.tsx +9 -8
  522. package/src/{components → setters}/SetLayout.test.tsx +9 -8
  523. package/src/{components → setters}/SetProvider.test.tsx +9 -8
  524. package/src/{components → setters}/SetProvider.tsx +2 -2
  525. package/src/{components → setters}/SetRedirect.test.tsx +9 -8
  526. package/src/{components → setters}/SetRedirect.tsx +4 -4
  527. package/src/{components → setters}/SetRoute.test.tsx +9 -8
  528. package/src/{components → setters}/SetRoute.tsx +7 -4
  529. package/src/setters/index.ts +7 -0
  530. package/src/state/createActions.test.ts +2 -2
  531. package/src/state/createActions.ts +5 -3
  532. package/src/state/createGlobalState.test.ts +55 -54
  533. package/src/state/createGlobalState.ts +4 -28
  534. package/src/state/withApi.test.tsx +87 -40
  535. package/src/state/withApi.tsx +31 -165
  536. package/src/tools/codegen.ts +193 -0
  537. package/src/tools/debugger.ts +84 -0
  538. package/src/tools/emulator.ts +13 -0
  539. package/src/types/api.ts +50 -11
  540. package/src/types/components.ts +76 -7
  541. package/src/types/config.ts +23 -17
  542. package/src/types/extension.ts +38 -5
  543. package/src/types/index.ts +1 -0
  544. package/src/types/instance.ts +28 -4
  545. package/src/types/navigation.ts +101 -0
  546. package/src/types/plugin.ts +1 -15
  547. package/src/types/state.ts +65 -25
  548. package/src/types/utils.ts +1 -1
  549. package/src/utils/compare.test.ts +15 -15
  550. package/src/utils/compare.ts +23 -3
  551. package/src/utils/extension.test.tsx +21 -0
  552. package/src/utils/extension.tsx +48 -0
  553. package/src/utils/foreign.test.ts +29 -11
  554. package/src/utils/foreign.ts +34 -7
  555. package/src/utils/guid.test.ts +6 -1
  556. package/src/utils/helpers.test.ts +52 -0
  557. package/src/utils/helpers.ts +22 -8
  558. package/src/utils/index.ts +4 -1
  559. package/src/utils/media-server.test.ts +13 -0
  560. package/src/utils/media.ts +2 -2
  561. package/src/utils/state.test.ts +37 -0
  562. package/src/utils/state.ts +131 -0
  563. package/dependencies.codegen +0 -9
  564. package/dependencies.codegen.native.js +0 -2
  565. package/esm/components/DefaultErrorInfo.js +0 -12
  566. package/esm/components/DefaultErrorInfo.js.map +0 -1
  567. package/esm/components/DefaultLayout.js.map +0 -1
  568. package/esm/components/DefaultLoader.js.map +0 -1
  569. package/esm/components/SetComponent.js +0 -12
  570. package/esm/components/SetComponent.js.map +0 -1
  571. package/esm/components/SetError.js +0 -12
  572. package/esm/components/SetError.js.map +0 -1
  573. package/esm/components/SetErrors.js +0 -10
  574. package/esm/components/SetErrors.js.map +0 -1
  575. package/esm/components/SetLayout.js +0 -10
  576. package/esm/components/SetLayout.js.map +0 -1
  577. package/esm/components/SetProvider.js +0 -12
  578. package/esm/components/SetProvider.js.map +0 -1
  579. package/esm/components/SetRedirect.js +0 -14
  580. package/esm/components/SetRedirect.js.map +0 -1
  581. package/esm/components/SetRoute.js +0 -12
  582. package/esm/components/SetRoute.js.map +0 -1
  583. package/esm/hooks/debounce.d.ts +0 -8
  584. package/esm/hooks/debounce.js +0 -18
  585. package/esm/hooks/debounce.js.map +0 -1
  586. package/esm/hooks/lockBodyScroll.d.ts +0 -6
  587. package/esm/hooks/lockBodyScroll.js +0 -13
  588. package/esm/hooks/lockBodyScroll.js.map +0 -1
  589. package/esm/hooks/onClickOutside.d.ts +0 -8
  590. package/esm/hooks/onClickOutside.js +0 -23
  591. package/esm/hooks/onClickOutside.js.map +0 -1
  592. package/esm/hooks/onScreenVisible.d.ts +0 -11
  593. package/esm/hooks/onScreenVisible.js +0 -28
  594. package/esm/hooks/onScreenVisible.js.map +0 -1
  595. package/esm/hooks/promise.d.ts +0 -13
  596. package/esm/hooks/promise.js +0 -21
  597. package/esm/hooks/promise.js.map +0 -1
  598. package/esm/utils/events.d.ts +0 -3
  599. package/esm/utils/events.js +0 -35
  600. package/esm/utils/events.js.map +0 -1
  601. package/lib/components/DefaultErrorInfo.js +0 -15
  602. package/lib/components/DefaultErrorInfo.js.map +0 -1
  603. package/lib/components/DefaultLayout.js.map +0 -1
  604. package/lib/components/DefaultLoader.js.map +0 -1
  605. package/lib/components/SetComponent.js +0 -16
  606. package/lib/components/SetComponent.js.map +0 -1
  607. package/lib/components/SetError.js +0 -16
  608. package/lib/components/SetError.js.map +0 -1
  609. package/lib/components/SetErrors.js +0 -14
  610. package/lib/components/SetErrors.js.map +0 -1
  611. package/lib/components/SetLayout.js +0 -14
  612. package/lib/components/SetLayout.js.map +0 -1
  613. package/lib/components/SetProvider.js.map +0 -1
  614. package/lib/components/SetRedirect.js +0 -18
  615. package/lib/components/SetRedirect.js.map +0 -1
  616. package/lib/components/SetRoute.js +0 -16
  617. package/lib/components/SetRoute.js.map +0 -1
  618. package/lib/hooks/debounce.d.ts +0 -8
  619. package/lib/hooks/debounce.js +0 -22
  620. package/lib/hooks/debounce.js.map +0 -1
  621. package/lib/hooks/lockBodyScroll.d.ts +0 -6
  622. package/lib/hooks/lockBodyScroll.js +0 -17
  623. package/lib/hooks/lockBodyScroll.js.map +0 -1
  624. package/lib/hooks/onClickOutside.d.ts +0 -8
  625. package/lib/hooks/onClickOutside.js +0 -27
  626. package/lib/hooks/onClickOutside.js.map +0 -1
  627. package/lib/hooks/onScreenVisible.d.ts +0 -11
  628. package/lib/hooks/onScreenVisible.js +0 -32
  629. package/lib/hooks/onScreenVisible.js.map +0 -1
  630. package/lib/hooks/promise.d.ts +0 -13
  631. package/lib/hooks/promise.js +0 -25
  632. package/lib/hooks/promise.js.map +0 -1
  633. package/lib/utils/events.d.ts +0 -3
  634. package/lib/utils/events.js +0 -39
  635. package/lib/utils/events.js.map +0 -1
  636. package/src/components/DefaultLayout.test.tsx +0 -23
  637. package/src/components/DefaultLoader.test.tsx +0 -10
  638. package/src/hooks/debounce.test.ts +0 -67
  639. package/src/hooks/debounce.ts +0 -19
  640. package/src/hooks/globalState.test.ts +0 -47
  641. package/src/hooks/lockBodyScroll.test.ts +0 -24
  642. package/src/hooks/lockBodyScroll.ts +0 -13
  643. package/src/hooks/onClickOutside.test.ts +0 -113
  644. package/src/hooks/onClickOutside.ts +0 -25
  645. package/src/hooks/onScreenVisible.test.ts +0 -68
  646. package/src/hooks/onScreenVisible.ts +0 -28
  647. package/src/hooks/promise.test.ts +0 -76
  648. package/src/hooks/promise.ts +0 -35
  649. package/src/utils/events.test.ts +0 -65
  650. package/src/utils/events.ts +0 -39
  651. package/esm/{components → defaults}/DefaultErrorInfo.d.ts +0 -0
  652. package/esm/{components → defaults}/DefaultLayout.d.ts +0 -0
  653. package/esm/{components/DefaultLoader.d.ts → defaults/DefaultLoadingIndicator.d.ts} +0 -0
  654. package/esm/{components → setters}/SetComponent.d.ts +0 -0
  655. package/esm/{components → setters}/SetError.d.ts +0 -0
  656. package/esm/{components → setters}/SetErrors.d.ts +0 -0
  657. package/esm/{components → setters}/SetLayout.d.ts +0 -0
  658. package/esm/{components → setters}/SetProvider.d.ts +0 -0
  659. package/esm/{components → setters}/SetRedirect.d.ts +0 -0
  660. package/lib/{components → defaults}/DefaultErrorInfo.d.ts +0 -0
  661. package/lib/{components → defaults}/DefaultLayout.d.ts +0 -0
  662. package/lib/{components/DefaultLoader.d.ts → defaults/DefaultLoadingIndicator.d.ts} +0 -0
  663. package/lib/{components → setters}/SetComponent.d.ts +0 -0
  664. package/lib/{components → setters}/SetError.d.ts +0 -0
  665. package/lib/{components → setters}/SetErrors.d.ts +0 -0
  666. package/lib/{components → setters}/SetLayout.d.ts +0 -0
  667. package/lib/{components → setters}/SetProvider.d.ts +0 -0
  668. package/lib/{components → setters}/SetRedirect.d.ts +0 -0
  669. package/src/{components → defaults}/DefaultLayout.tsx +1 -1
  670. /package/src/{components/DefaultLoader.tsx → defaults/DefaultLoadingIndicator.tsx} +0 -0
  671. /package/src/{components → setters}/SetErrors.tsx +0 -0
  672. /package/src/{components → setters}/SetLayout.tsx +0 -0
@@ -1,32 +1,38 @@
1
1
  // tslint:disable-next-line
2
2
  export const removeIndicator = null;
3
3
 
4
+ // to avoid creating unnecessary empty arrays
5
+ export const none = [];
6
+
7
+ // to avoid creating unnecessary empty functions
8
+ export const noop = () => {};
9
+
4
10
  export function prependItem<T>(items: Array<T>, item: T) {
5
- return [item, ...(items || [])];
11
+ return [item, ...(items || none)];
6
12
  }
7
13
 
8
14
  export function appendItem<T>(items: Array<T>, item: T) {
9
- return [...(items || []), item];
15
+ return [...(items || none), item];
10
16
  }
11
17
 
12
18
  export function prependItems<T>(items: Array<T>, newItems: Array<T>) {
13
- return [...newItems, ...(items || [])];
19
+ return [...newItems, ...(items || none)];
14
20
  }
15
21
 
16
22
  export function appendItems<T>(items: Array<T>, newItems: Array<T>) {
17
- return [...(items || []), ...newItems];
23
+ return [...(items || none), ...newItems];
18
24
  }
19
25
 
20
26
  export function excludeItem<T>(items: Array<T>, item: T) {
21
- return (items || []).filter((m) => m !== item);
27
+ return (items || none).filter((m) => m !== item);
22
28
  }
23
29
 
24
30
  export function includeItem<T>(items: Array<T>, item: T) {
25
- return prependItem(excludeItem(items, item), item);
31
+ return appendItem(excludeItem(items, item), item);
26
32
  }
27
33
 
28
34
  export function replaceOrAddItem<T>(items: Array<T>, item: T, predicate: (item: T) => boolean) {
29
- const newItems = [...(items || [])];
35
+ const newItems = [...(items || none)];
30
36
 
31
37
  for (let i = 0; i < newItems.length; i++) {
32
38
  if (predicate(newItems[i])) {
@@ -59,7 +65,7 @@ export function removeNested<T, U = any>(obj: T, predicate: (item: U) => boolean
59
65
  }
60
66
 
61
67
  export function excludeOn<T>(items: Array<T>, predicate: (item: T) => boolean) {
62
- return (items || []).filter((m) => !predicate(m));
68
+ return (items || none).filter((m) => !predicate(m));
63
69
  }
64
70
 
65
71
  export function updateKey<T, TKey extends keyof T>(obj: T, key: TKey, value: T[TKey]): T {
@@ -77,3 +83,11 @@ export function withoutKey<T, TKey extends keyof T>(obj: T, key: TKey): T {
77
83
  const { [key]: _, ...newObj } = obj || {};
78
84
  return newObj as any;
79
85
  }
86
+
87
+ export function tryParseJson(content: string) {
88
+ try {
89
+ return JSON.parse(content);
90
+ } catch {
91
+ return {};
92
+ }
93
+ }
@@ -1,9 +1,12 @@
1
+ export { isfunc, requireModule } from 'piral-base';
2
+
1
3
  export * from './compare';
2
4
  export * from './data';
3
- export * from './events';
5
+ export * from './extension';
4
6
  export * from './foreign';
5
7
  export * from './guid';
6
8
  export * from './helpers';
7
9
  export * from './media';
8
10
  export * from './react';
11
+ export * from './state';
9
12
  export * from './storage';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @jest-environment node
3
+ */
4
+ import { getCurrentLayout } from './media';
5
+
6
+ describe('Media Module', () => {
7
+ it('in here window should be undefined', () => {
8
+ expect(typeof window).toBe('undefined');
9
+ const breakpoints = ['min-width: 200px', 'max-width: 199px'];
10
+ const result = getCurrentLayout(breakpoints, ['foo', 'bar'], 'qxz');
11
+ expect(result).toBe('qxz');
12
+ });
13
+ });
@@ -7,10 +7,10 @@ export const defaultBreakpoints: LayoutBreakpoints = ['(min-width: 991px)', '(mi
7
7
 
8
8
  const mm =
9
9
  typeof window === 'undefined' || !isfunc(window.matchMedia)
10
- ? () => ({ matches: [] })
10
+ ? () => ({ matches: undefined })
11
11
  : (q: string) => window.matchMedia(q);
12
12
 
13
- export function getCurrentLayout<T>(breakpoints: Array<string>, layouts: Array<T>, defaultLayout: T) {
13
+ export function getCurrentLayout<T>(breakpoints: Array<string> = defaultBreakpoints, layouts: Array<T>, defaultLayout: T) {
14
14
  const query = breakpoints.findIndex((q) => mm(q).matches);
15
15
  const layout = layouts[query];
16
16
  return layout !== undefined ? layout : defaultLayout;
@@ -0,0 +1,37 @@
1
+ import { withAll, withRootExtension } from './state';
2
+ import { RootListener } from '../RootListener';
3
+
4
+ describe('State Module', () => {
5
+ it('withRootExtension should create an extension key', () => {
6
+ const dispatch = withRootExtension('test', RootListener);
7
+ const result = dispatch({ registry: { extensions: {} } });
8
+ expect(result['registry']['extensions']['test']).toBeTruthy();
9
+ });
10
+
11
+ it('withAll should return identity state with no dispatcher', () => {
12
+ const dispatchers = withAll();
13
+ const result = dispatchers({ state: ['foo', 'boo'] });
14
+ expect(result).toEqual({ state: ['foo', 'boo'] });
15
+ });
16
+
17
+ it('withAll should return identity state with identity dispatcher', () => {
18
+ const dispatchers = withAll((s) => s);
19
+ const result = dispatchers({ state: ['foo', 'boo'] });
20
+ expect(result).toEqual({ state: ['foo', 'boo'] });
21
+ });
22
+
23
+ it('withAll should return empty state with blank dispatcher', () => {
24
+ const dispatchers = withAll((s) => ({}));
25
+ const result = dispatchers({ state: ['foo', 'boo'] });
26
+ expect(result).toEqual({});
27
+ });
28
+
29
+ it('withAll should return mutated state of all dispatchers', () => {
30
+ const dispatchers = withAll(
31
+ (s) => ({ ...s, foo: 'bar' }),
32
+ (s) => ({ ...s, bar: 'qxz' }),
33
+ );
34
+ const result = dispatchers({ state: ['foo', 'boo'] });
35
+ expect(result).toEqual({ state: ['foo', 'boo'], foo: 'bar', bar: 'qxz' });
36
+ });
37
+ });
@@ -0,0 +1,131 @@
1
+ import { cloneElement, ComponentType, createElement } from 'react';
2
+ import { RouteComponentProps } from 'react-router';
3
+ import { toExtension } from './extension';
4
+ import { withKey, withoutKey, appendItem, excludeOn } from './helpers';
5
+ import { GlobalState, PageRegistration, ExtensionRegistration } from '../types';
6
+
7
+ /**
8
+ * Returns a dispatcher that includes all mentioned dispatchers.
9
+ * @param dispatchers The dispatchers to include.
10
+ */
11
+ export function withAll(...dispatchers: Array<(state: GlobalState) => GlobalState>) {
12
+ return (state: GlobalState): GlobalState => {
13
+ for (const dispatcher of dispatchers) {
14
+ state = dispatcher(state);
15
+ }
16
+
17
+ return state;
18
+ };
19
+ }
20
+
21
+ /**
22
+ * Returns a dispatcher that adds a page registration.
23
+ * @param name The path of the page to register.
24
+ * @param value The value of the page to register.
25
+ * @returns The dispatcher.
26
+ */
27
+ export function withPage(name: string, value: PageRegistration) {
28
+ return (state: GlobalState): GlobalState => ({
29
+ ...state,
30
+ registry: {
31
+ ...state.registry,
32
+ pages: withKey(state.registry.pages, name, value),
33
+ },
34
+ });
35
+ }
36
+
37
+ /**
38
+ * Returns a dispatcher that removes a page registration.
39
+ * @param name The path of the page to unregister.
40
+ * @returns The dispatcher.
41
+ */
42
+ export function withoutPage(name: string) {
43
+ return (state: GlobalState): GlobalState => ({
44
+ ...state,
45
+ registry: {
46
+ ...state.registry,
47
+ pages: withoutKey(state.registry.pages, name),
48
+ },
49
+ });
50
+ }
51
+
52
+ /**
53
+ * Returns a dispatcher that adds an extension registration.
54
+ * @param name The name of the extension to register.
55
+ * @param value The value of the extension to register.
56
+ * @returns The dispatcher.
57
+ */
58
+ export function withExtension(name: string, value: ExtensionRegistration) {
59
+ return (state: GlobalState): GlobalState => ({
60
+ ...state,
61
+ registry: {
62
+ ...state.registry,
63
+ extensions: withKey(state.registry.extensions, name, appendItem(state.registry.extensions[name], value)),
64
+ },
65
+ });
66
+ }
67
+
68
+ /**
69
+ * Returns a dispatcher that removes an extension registration.
70
+ * @param name The name of the extension to unregister.
71
+ * @param reference The reference for the extension.
72
+ * @returns The dispatcher.
73
+ */
74
+ export function withoutExtension(name: string, reference: any) {
75
+ return (state: GlobalState): GlobalState => ({
76
+ ...state,
77
+ registry: {
78
+ ...state.registry,
79
+ extensions: withKey(
80
+ state.registry.extensions,
81
+ name,
82
+ excludeOn(state.registry.extensions[name], (m) => m.reference === reference),
83
+ ),
84
+ },
85
+ });
86
+ }
87
+
88
+ /**
89
+ * Returns a dispatcher that adds an extension registration from the root (no Pilet API).
90
+ * @param name The name of the extension to register.
91
+ * @param component The extension's component to use.
92
+ * @returns The dispatcher.
93
+ */
94
+ export function withRootExtension<T>(name: string, component: ComponentType<T>) {
95
+ return withExtension(name, {
96
+ component: toExtension(component),
97
+ defaults: {},
98
+ pilet: '',
99
+ reference: component,
100
+ });
101
+ }
102
+
103
+ /**
104
+ * Returns a dispatcher that adds another provider.
105
+ * @param provider The provider to include.
106
+ * @returns The dispatcher.
107
+ */
108
+ export function withProvider(provider: JSX.Element) {
109
+ const wrapper: React.FC = (props) => cloneElement(provider, props);
110
+
111
+ return (state: GlobalState): GlobalState => ({
112
+ ...state,
113
+ provider: !state.provider ? wrapper : (props) => createElement(state.provider, undefined, wrapper(props)),
114
+ });
115
+ }
116
+
117
+ /**
118
+ * Returns a dispatcher that registers another route.
119
+ * @param path The path of the route to register.
120
+ * @param component The component representing the route.
121
+ * @returns The dispatcher.
122
+ */
123
+ export function withRoute<T extends { [K in keyof T]?: string } = {}>(
124
+ path: string,
125
+ component: ComponentType<RouteComponentProps<T>>,
126
+ ) {
127
+ return (state: GlobalState): GlobalState => ({
128
+ ...state,
129
+ routes: withKey(state.routes, path, component),
130
+ });
131
+ }
@@ -1,9 +0,0 @@
1
- module.exports = function() {
2
- const appName = process.env.BUILD_PCKG_NAME || '';
3
- const externals = (process.env.SHARED_DEPENDENCIES || '').split(',');
4
- const deps = [`deps['${appName}']={}`, ...externals.map(name => `deps['${name}']=require('${name}')`)];
5
- const code = deps.join(';');
6
- return `module.exports = function(deps){
7
- ${code}
8
- }`;
9
- };
@@ -1,2 +0,0 @@
1
- // required for piral-native; otherwise non-essential
2
- module.exports = function() {};
@@ -1,12 +0,0 @@
1
- import { __assign } from "tslib";
2
- import * as React from 'react';
3
- import { ExtensionSlot } from './ExtensionSlot';
4
- import { SwitchErrorInfo } from './SwitchErrorInfo';
5
- /**
6
- * The default error info component. Just uses the "error" extension slot.
7
- * Leverage the default one by registration of respective extensions using
8
- * the "error" name.
9
- */
10
- export var DefaultErrorInfo = function (props) { return (React.createElement(ExtensionSlot, { name: "error", params: props, empty: function () { return React.createElement(SwitchErrorInfo, __assign({ key: "default_error" }, props)); } })); };
11
- DefaultErrorInfo.displayName = 'DefaultErrorInfo';
12
- //# sourceMappingURL=DefaultErrorInfo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultErrorInfo.js","sourceRoot":"","sources":["../../src/components/DefaultErrorInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;;GAIG;AACH,MAAM,CAAC,IAAM,gBAAgB,GAA6B,UAAC,KAAK,IAAK,OAAA,CACnE,oBAAC,aAAa,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,cAAM,OAAA,oBAAC,eAAe,aAAC,GAAG,EAAC,eAAe,IAAK,KAAK,EAAI,EAAlD,CAAkD,GAAI,CAC/G,EAFoE,CAEpE,CAAC;AACF,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultLayout.js","sourceRoot":"","sources":["../../src/components/DefaultLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,IAAM,aAAa,GAA0B,UAAC,EAAY;QAAV,QAAQ,cAAA;IAAO,OAAA,aAAa,CAAC,QAAQ,CAAC;AAAvB,CAAuB,CAAC;AAC9F,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultLoader.js","sourceRoot":"","sources":["../../src/components/DefaultLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;GAEG;AACH,MAAM,CAAC,IAAM,uBAAuB,GAAoC,cAAM,OAAA,2CAAkB,EAAlB,CAAkB,CAAC;AACjG,uBAAuB,CAAC,WAAW,GAAG,yBAAyB,CAAC"}
@@ -1,12 +0,0 @@
1
- import { useAction, useSetter } from '../hooks';
2
- /**
3
- * The component capable of setting a layout component at mounting.
4
- */
5
- export function SetComponent(_a) {
6
- var name = _a.name, component = _a.component;
7
- var setComponent = useAction('setComponent');
8
- useSetter(function () { return component && setComponent(name, component); });
9
- // tslint:disable-next-line:no-null-keyword
10
- return null;
11
- }
12
- //# sourceMappingURL=SetComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetComponent.js","sourceRoot":"","sources":["../../src/components/SetComponent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAiBhD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAqC,EAGvC;QAFxB,IAAI,UAAA,EACJ,SAAS,eAAA;IAET,IAAM,YAAY,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IAC/C,SAAS,CAAC,cAAM,OAAA,SAAS,IAAI,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,EAA1C,CAA0C,CAAC,CAAC;IAC5D,2CAA2C;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,12 +0,0 @@
1
- import { useAction, useSetter } from '../hooks';
2
- /**
3
- * The component capable of setting a globally defined error handler component at mounting.
4
- */
5
- export function SetError(_a) {
6
- var type = _a.type, component = _a.component;
7
- var setErrorComponent = useAction('setErrorComponent');
8
- useSetter(function () { return component && setErrorComponent(type, component); });
9
- // tslint:disable-next-line:no-null-keyword
10
- return null;
11
- }
12
- //# sourceMappingURL=SetError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetError.js","sourceRoot":"","sources":["../../src/components/SetError.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAiBhD;;GAEG;AACH,MAAM,UAAU,QAAQ,CAA0C,EAG5C;QAFpB,IAAI,UAAA,EACJ,SAAS,eAAA;IAET,IAAM,iBAAiB,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACzD,SAAS,CAAC,cAAM,OAAA,SAAS,IAAI,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,EAA/C,CAA+C,CAAC,CAAC;IACjE,2CAA2C;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,10 +0,0 @@
1
- import * as React from 'react';
2
- import { SetError } from './SetError';
3
- /**
4
- * The component capable of batch setting error handling components.
5
- */
6
- export function SetErrors(_a) {
7
- var _b = _a.errors, errors = _b === void 0 ? {} : _b;
8
- return (React.createElement(React.Fragment, null, Object.keys(errors).map(function (key) { return (React.createElement(SetError, { type: key, component: errors[key], key: key })); })));
9
- }
10
- //# sourceMappingURL=SetErrors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetErrors.js","sourceRoot":"","sources":["../../src/components/SetErrors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAatC;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,EAA+B;QAA7B,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA;IACrC,OAAO,CACL,0CACG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,GAAQ,IAAK,OAAA,CACrC,oBAAC,QAAQ,IAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAI,CAC1D,EAFsC,CAEtC,CAAC,CACD,CACJ,CAAC;AACJ,CAAC"}
@@ -1,10 +0,0 @@
1
- import * as React from 'react';
2
- import { SetComponent } from './SetComponent';
3
- /**
4
- * The component capable of batch setting layout components.
5
- */
6
- export function SetLayout(_a) {
7
- var _b = _a.layout, layout = _b === void 0 ? {} : _b;
8
- return (React.createElement(React.Fragment, null, Object.keys(layout).map(function (key) { return (React.createElement(SetComponent, { name: key, component: layout[key], key: key })); })));
9
- }
10
- //# sourceMappingURL=SetLayout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetLayout.js","sourceRoot":"","sources":["../../src/components/SetLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAa9C;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,EAA+B;QAA7B,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA;IACrC,OAAO,CACL,0CACG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,GAAQ,IAAK,OAAA,CACrC,oBAAC,YAAY,IAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAI,CAC9D,EAFsC,CAEtC,CAAC,CACD,CACJ,CAAC;AACJ,CAAC"}
@@ -1,12 +0,0 @@
1
- import { useAction, useSetter } from '../hooks';
2
- /**
3
- * The component capable of setting a global provider at mounting.
4
- */
5
- export function SetProvider(_a) {
6
- var provider = _a.provider;
7
- var includeProvider = useAction('includeProvider');
8
- useSetter(function () { return provider && includeProvider(provider); });
9
- // tslint:disable-next-line:no-null-keyword
10
- return null;
11
- }
12
- //# sourceMappingURL=SetProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetProvider.js","sourceRoot":"","sources":["../../src/components/SetProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAYhD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAA8B;QAA5B,QAAQ,cAAA;IACpC,IAAM,eAAe,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACrD,SAAS,CAAC,cAAM,OAAA,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,EAArC,CAAqC,CAAC,CAAC;IACvD,2CAA2C;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,14 +0,0 @@
1
- import * as React from 'react';
2
- import { Redirect } from 'react-router';
3
- import { useAction, useSetter } from '../hooks';
4
- /**
5
- * The component capable of setting a global redirect route at mounting.
6
- */
7
- export function SetRedirect(_a) {
8
- var from = _a.from, to = _a.to;
9
- var setRoute = useAction('setRoute');
10
- useSetter(function () { return setRoute(from, function () { return React.createElement(Redirect, { to: to }); }); });
11
- // tslint:disable-next-line:no-null-keyword
12
- return null;
13
- }
14
- //# sourceMappingURL=SetRedirect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetRedirect.js","sourceRoot":"","sources":["../../src/components/SetRedirect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAgBhD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAA8B;QAA5B,IAAI,UAAA,EAAE,EAAE,QAAA;IACpC,IAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACvC,SAAS,CAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,EAAE,cAAM,OAAA,oBAAC,QAAQ,IAAC,EAAE,EAAE,EAAE,GAAI,EAApB,CAAoB,CAAC,EAA1C,CAA0C,CAAC,CAAC;IAC5D,2CAA2C;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,12 +0,0 @@
1
- import { useAction, useSetter } from '../hooks';
2
- /**
3
- * The component capable of setting a global route at mounting.
4
- */
5
- export function SetRoute(_a) {
6
- var path = _a.path, component = _a.component;
7
- var setRoute = useAction('setRoute');
8
- useSetter(function () { return component && setRoute(path, component); });
9
- // tslint:disable-next-line:no-null-keyword
10
- return null;
11
- }
12
- //# sourceMappingURL=SetRoute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetRoute.js","sourceRoot":"","sources":["../../src/components/SetRoute.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAgBhD;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAS,EAAqC;QAAnC,IAAI,UAAA,EAAE,SAAS,eAAA;IAChD,IAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACvC,SAAS,CAAC,cAAM,OAAA,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAtC,CAAsC,CAAC,CAAC;IACxD,2CAA2C;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Hook that returns the debounced (i.e., delayed) value.
3
- * Useful when user input should not fire immediately, but rather
4
- * only after a certain timespan without any changes passed.
5
- * @param value The value to consider.
6
- * @param delay The timespan to pass before applying the value.
7
- */
8
- export declare function useDebounce<T>(value: T, delay?: number): T;
@@ -1,18 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
- /**
3
- * Hook that returns the debounced (i.e., delayed) value.
4
- * Useful when user input should not fire immediately, but rather
5
- * only after a certain timespan without any changes passed.
6
- * @param value The value to consider.
7
- * @param delay The timespan to pass before applying the value.
8
- */
9
- export function useDebounce(value, delay) {
10
- if (delay === void 0) { delay = 300; }
11
- var _a = useState(value), debouncedValue = _a[0], setDebouncedValue = _a[1];
12
- useEffect(function () {
13
- var handler = setTimeout(function () { return setDebouncedValue(value); }, delay);
14
- return function () { return clearTimeout(handler); };
15
- }, [value, delay]);
16
- return debouncedValue;
17
- }
18
- //# sourceMappingURL=debounce.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/hooks/debounce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAI,KAAQ,EAAE,KAAW;IAAX,sBAAA,EAAA,WAAW;IAC5C,IAAA,KAAsC,QAAQ,CAAC,KAAK,CAAC,EAApD,cAAc,QAAA,EAAE,iBAAiB,QAAmB,CAAC;IAE5D,SAAS,CAAC;QACR,IAAM,OAAO,GAAG,UAAU,CAAC,cAAM,OAAA,iBAAiB,CAAC,KAAK,CAAC,EAAxB,CAAwB,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,cAAM,OAAA,YAAY,CAAC,OAAO,CAAC,EAArB,CAAqB,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Hook that locks scrolling on the main document.
3
- * Useful for preventing the standard scrolling in context of
4
- * a modal dialog.
5
- */
6
- export declare function useLockBodyScroll(): void;
@@ -1,13 +0,0 @@
1
- import { useLayoutEffect } from 'react';
2
- /**
3
- * Hook that locks scrolling on the main document.
4
- * Useful for preventing the standard scrolling in context of
5
- * a modal dialog.
6
- */
7
- export function useLockBodyScroll() {
8
- useLayoutEffect(function () {
9
- document.body.style.overflow = 'hidden';
10
- return function () { return (document.body.style.overflow = 'visible'); };
11
- }, []);
12
- }
13
- //# sourceMappingURL=lockBodyScroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lockBodyScroll.js","sourceRoot":"","sources":["../../src/hooks/lockBodyScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,eAAe,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,OAAO,cAAM,OAAA,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,EAA1C,CAA0C,CAAC;IAC1D,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -1,8 +0,0 @@
1
- import { RefObject } from 'react';
2
- /**
3
- * Hook that detects if a click outside the given reference
4
- * has been performed.
5
- * @param ref The reference to the element.
6
- * @param handler The callback to invoke when an outside click happened.
7
- */
8
- export declare function useOnClickOutside<T extends HTMLElement>(ref: RefObject<T>, handler: (event: MouseEvent) => void): void;
@@ -1,23 +0,0 @@
1
- import { useEffect } from 'react';
2
- /**
3
- * Hook that detects if a click outside the given reference
4
- * has been performed.
5
- * @param ref The reference to the element.
6
- * @param handler The callback to invoke when an outside click happened.
7
- */
8
- export function useOnClickOutside(ref, handler) {
9
- useEffect(function () {
10
- var listener = function (event) {
11
- if (ref.current && !ref.current.contains(event.target)) {
12
- handler(event);
13
- }
14
- };
15
- document.addEventListener('mousedown', listener);
16
- document.addEventListener('touchstart', listener);
17
- return function () {
18
- document.removeEventListener('mousedown', listener);
19
- document.removeEventListener('touchstart', listener);
20
- };
21
- }, [handler]);
22
- }
23
- //# sourceMappingURL=onClickOutside.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onClickOutside.js","sourceRoot":"","sources":["../../src/hooks/onClickOutside.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAwB,GAAiB,EAAE,OAAoC;IAC9G,SAAS,CAAC;QACR,IAAM,QAAQ,GAAG,UAAC,KAAiB;YACjC,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;gBAC9D,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjD,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAElD,OAAO;YACL,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACpD,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChB,CAAC"}
@@ -1,11 +0,0 @@
1
- import { RefObject } from 'react';
2
- /**
3
- * Hook that detects if a reference element within the main document is
4
- * visible.
5
- * Useful for performing some animation or triggering certain actions (e.g.,
6
- * loading data for infinity scrolling) when an element appears or is close
7
- * to appear on screen.
8
- * @param ref The reference element to be visible.
9
- * @param rootMargin The tolerance level to the reference element.
10
- */
11
- export declare function useOnScreenVisible<T extends HTMLElement>(ref: RefObject<T>, rootMargin?: string): boolean;
@@ -1,28 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
- /**
3
- * Hook that detects if a reference element within the main document is
4
- * visible.
5
- * Useful for performing some animation or triggering certain actions (e.g.,
6
- * loading data for infinity scrolling) when an element appears or is close
7
- * to appear on screen.
8
- * @param ref The reference element to be visible.
9
- * @param rootMargin The tolerance level to the reference element.
10
- */
11
- export function useOnScreenVisible(ref, rootMargin) {
12
- if (rootMargin === void 0) { rootMargin = '0px'; }
13
- var _a = useState(false), isIntersecting = _a[0], setIntersecting = _a[1];
14
- useEffect(function () {
15
- var observer = new IntersectionObserver(function (_a) {
16
- var entry = _a[0];
17
- return setIntersecting(entry.isIntersecting);
18
- }, {
19
- rootMargin: rootMargin,
20
- });
21
- if (ref.current) {
22
- observer.observe(ref.current);
23
- }
24
- return function () { return observer.unobserve(ref.current); };
25
- }, []);
26
- return isIntersecting;
27
- }
28
- //# sourceMappingURL=onScreenVisible.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onScreenVisible.js","sourceRoot":"","sources":["../../src/hooks/onScreenVisible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAwB,GAAiB,EAAE,UAAkB;IAAlB,2BAAA,EAAA,kBAAkB;IACvF,IAAA,KAAoC,QAAQ,CAAC,KAAK,CAAC,EAAlD,cAAc,QAAA,EAAE,eAAe,QAAmB,CAAC;IAE1D,SAAS,CAAC;QACR,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,UAAC,EAAO;gBAAN,KAAK,QAAA;YAAM,OAAA,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC;QAArC,CAAqC,EAAE;YAC5F,UAAU,YAAA;SACX,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC/B;QAED,OAAO,cAAM,OAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAA/B,CAA+B,CAAC;IAC/C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * The currently captured Promise state.
3
- */
4
- export interface UsePromiseResult<T> {
5
- loading: boolean;
6
- data: T;
7
- error: any;
8
- }
9
- /**
10
- * Hook for introducing a complete local loading state for a promise.
11
- * @param promise The callback for the promise to wait for.
12
- */
13
- export declare function usePromise<T>(promise: () => Promise<T>): UsePromiseResult<T>;
@@ -1,21 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
- /**
3
- * Hook for introducing a complete local loading state for a promise.
4
- * @param promise The callback for the promise to wait for.
5
- */
6
- export function usePromise(promise) {
7
- var _a = useState({
8
- loading: true,
9
- data: undefined,
10
- error: undefined,
11
- }), result = _a[0], setResult = _a[1];
12
- useEffect(function () {
13
- var cancelled = false;
14
- promise().then(function (data) { return !cancelled && setResult({ data: data, error: undefined, loading: false }); }, function (error) { return !cancelled && setResult({ data: undefined, error: error, loading: false }); });
15
- return function () {
16
- cancelled = true;
17
- };
18
- }, []);
19
- return result;
20
- }
21
- //# sourceMappingURL=promise.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../src/hooks/promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAW5C;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAI,OAAyB;IAC/C,IAAA,KAAsB,QAAQ,CAAsB;QACxD,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACjB,CAAC,EAJK,MAAM,QAAA,EAAE,SAAS,QAItB,CAAC;IACH,SAAS,CAAC;QACR,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,OAAO,EAAE,CAAC,IAAI,CACZ,UAAC,IAAI,IAAK,OAAA,CAAC,SAAS,IAAI,SAAS,CAAC,EAAE,IAAI,MAAA,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAnE,CAAmE,EAC7E,UAAC,KAAK,IAAK,OAAA,CAAC,SAAS,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,OAAA,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAnE,CAAmE,CAC/E,CAAC;QAEF,OAAO;YACL,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,3 +0,0 @@
1
- import { EventEmitter } from '../types';
2
- export declare type EventListeners = Array<[any, any]>;
3
- export declare function createListener(state: any): EventEmitter;