piral-core 1.0.0-pre.2296 → 1.0.1-beta.5640

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 +12 -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 -69
  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 +34 -9
  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 -75
  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 +34 -9
  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 +51 -20
  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 -66
  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 +47 -10
  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,35 +0,0 @@
1
- function nameOf(type) {
2
- return "piral-" + type;
3
- }
4
- export function createListener(state) {
5
- var eventListeners = [];
6
- return {
7
- on: function (type, callback) {
8
- var listener = function (_a) {
9
- var detail = _a.detail;
10
- return detail && detail.state === state && callback(detail.arg);
11
- };
12
- document.body.addEventListener(nameOf(type), listener);
13
- eventListeners.push([callback, listener]);
14
- return this;
15
- },
16
- off: function (type, callback) {
17
- var listener = eventListeners.filter(function (m) { return m[0] === callback; })[0];
18
- if (listener) {
19
- document.body.removeEventListener(nameOf(type), listener[1]);
20
- eventListeners.splice(eventListeners.indexOf(listener), 1);
21
- }
22
- return this;
23
- },
24
- emit: function (type, arg) {
25
- var ce = document.createEvent('CustomEvent');
26
- ce.initCustomEvent(nameOf(type), false, false, {
27
- arg: arg,
28
- state: state,
29
- });
30
- document.body.dispatchEvent(ce);
31
- return this;
32
- },
33
- };
34
- }
35
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/utils/events.ts"],"names":[],"mappings":"AAIA,SAAS,MAAM,CAAC,IAAqB;IACnC,OAAO,WAAS,IAAM,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAU;IACvC,IAAM,cAAc,GAAmB,EAAE,CAAC;IAE1C,OAAO;QACL,EAAE,EAAF,UAAG,IAAI,EAAE,QAAQ;YACf,IAAM,QAAQ,GAAG,UAAC,EAAuB;oBAArB,MAAM,YAAA;gBAAoB,OAAA,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;YAAxD,CAAwD,CAAC;YACvG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;YACvD,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,GAAG,YAAC,IAAI,EAAE,QAAQ;YACT,IAAA,QAAQ,GAAI,cAAc,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAjB,CAAiB,CAAC,GAAnD,CAAoD;YAEnE,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5D;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,YAAC,IAAI,EAAE,GAAG;YACZ,IAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC/C,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC7C,GAAG,KAAA;gBACH,KAAK,OAAA;aACN,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultErrorInfo = void 0;
4
- var tslib_1 = require("tslib");
5
- var React = require("react");
6
- var ExtensionSlot_1 = require("./ExtensionSlot");
7
- var SwitchErrorInfo_1 = require("./SwitchErrorInfo");
8
- /**
9
- * The default error info component. Just uses the "error" extension slot.
10
- * Leverage the default one by registration of respective extensions using
11
- * the "error" name.
12
- */
13
- exports.DefaultErrorInfo = function (props) { return (React.createElement(ExtensionSlot_1.ExtensionSlot, { name: "error", params: props, empty: function () { return React.createElement(SwitchErrorInfo_1.SwitchErrorInfo, tslib_1.__assign({ key: "default_error" }, props)); } })); };
14
- exports.DefaultErrorInfo.displayName = 'DefaultErrorInfo';
15
- //# sourceMappingURL=DefaultErrorInfo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultErrorInfo.js","sourceRoot":"","sources":["../../src/components/DefaultErrorInfo.tsx"],"names":[],"mappings":";;;;AAAA,6BAA+B;AAC/B,iDAAgD;AAChD,qDAAoD;AAGpD;;;;GAIG;AACU,QAAA,gBAAgB,GAA6B,UAAC,KAAK,IAAK,OAAA,CACnE,oBAAC,6BAAa,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,cAAM,OAAA,oBAAC,iCAAe,qBAAC,GAAG,EAAC,eAAe,IAAK,KAAK,EAAI,EAAlD,CAAkD,GAAI,CAC/G,EAFoE,CAEpE,CAAC;AACF,wBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultLayout.js","sourceRoot":"","sources":["../../src/components/DefaultLayout.tsx"],"names":[],"mappings":";;;AAEA,kCAAyC;AAEzC;;GAEG;AACU,QAAA,aAAa,GAA0B,UAAC,EAAY;QAAV,QAAQ,cAAA;IAAO,OAAA,qBAAa,CAAC,QAAQ,CAAC;AAAvB,CAAuB,CAAC;AAC9F,qBAAa,CAAC,WAAW,GAAG,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultLoader.js","sourceRoot":"","sources":["../../src/components/DefaultLoader.tsx"],"names":[],"mappings":";;;AAAA,6BAA+B;AAG/B;;GAEG;AACU,QAAA,uBAAuB,GAAoC,cAAM,OAAA,2CAAkB,EAAlB,CAAkB,CAAC;AACjG,+BAAuB,CAAC,WAAW,GAAG,yBAAyB,CAAC"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SetComponent = void 0;
4
- var hooks_1 = require("../hooks");
5
- /**
6
- * The component capable of setting a layout component at mounting.
7
- */
8
- function SetComponent(_a) {
9
- var name = _a.name, component = _a.component;
10
- var setComponent = hooks_1.useAction('setComponent');
11
- hooks_1.useSetter(function () { return component && setComponent(name, component); });
12
- // tslint:disable-next-line:no-null-keyword
13
- return null;
14
- }
15
- exports.SetComponent = SetComponent;
16
- //# sourceMappingURL=SetComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetComponent.js","sourceRoot":"","sources":["../../src/components/SetComponent.tsx"],"names":[],"mappings":";;;AACA,kCAAgD;AAiBhD;;GAEG;AACH,SAAgB,YAAY,CAAqC,EAGvC;QAFxB,IAAI,UAAA,EACJ,SAAS,eAAA;IAET,IAAM,YAAY,GAAG,iBAAS,CAAC,cAAc,CAAC,CAAC;IAC/C,iBAAS,CAAC,cAAM,OAAA,SAAS,IAAI,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,EAA1C,CAA0C,CAAC,CAAC;IAC5D,2CAA2C;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AARD,oCAQC"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SetError = void 0;
4
- var hooks_1 = require("../hooks");
5
- /**
6
- * The component capable of setting a globally defined error handler component at mounting.
7
- */
8
- function SetError(_a) {
9
- var type = _a.type, component = _a.component;
10
- var setErrorComponent = hooks_1.useAction('setErrorComponent');
11
- hooks_1.useSetter(function () { return component && setErrorComponent(type, component); });
12
- // tslint:disable-next-line:no-null-keyword
13
- return null;
14
- }
15
- exports.SetError = SetError;
16
- //# sourceMappingURL=SetError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetError.js","sourceRoot":"","sources":["../../src/components/SetError.tsx"],"names":[],"mappings":";;;AACA,kCAAgD;AAiBhD;;GAEG;AACH,SAAgB,QAAQ,CAA0C,EAG5C;QAFpB,IAAI,UAAA,EACJ,SAAS,eAAA;IAET,IAAM,iBAAiB,GAAG,iBAAS,CAAC,mBAAmB,CAAC,CAAC;IACzD,iBAAS,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;AARD,4BAQC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SetErrors = void 0;
4
- var React = require("react");
5
- var SetError_1 = require("./SetError");
6
- /**
7
- * The component capable of batch setting error handling components.
8
- */
9
- function SetErrors(_a) {
10
- var _b = _a.errors, errors = _b === void 0 ? {} : _b;
11
- return (React.createElement(React.Fragment, null, Object.keys(errors).map(function (key) { return (React.createElement(SetError_1.SetError, { type: key, component: errors[key], key: key })); })));
12
- }
13
- exports.SetErrors = SetErrors;
14
- //# sourceMappingURL=SetErrors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetErrors.js","sourceRoot":"","sources":["../../src/components/SetErrors.tsx"],"names":[],"mappings":";;;AAAA,6BAA+B;AAC/B,uCAAsC;AAatC;;GAEG;AACH,SAAgB,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,mBAAQ,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;AARD,8BAQC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SetLayout = void 0;
4
- var React = require("react");
5
- var SetComponent_1 = require("./SetComponent");
6
- /**
7
- * The component capable of batch setting layout components.
8
- */
9
- function SetLayout(_a) {
10
- var _b = _a.layout, layout = _b === void 0 ? {} : _b;
11
- return (React.createElement(React.Fragment, null, Object.keys(layout).map(function (key) { return (React.createElement(SetComponent_1.SetComponent, { name: key, component: layout[key], key: key })); })));
12
- }
13
- exports.SetLayout = SetLayout;
14
- //# sourceMappingURL=SetLayout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetLayout.js","sourceRoot":"","sources":["../../src/components/SetLayout.tsx"],"names":[],"mappings":";;;AAAA,6BAA+B;AAC/B,+CAA8C;AAa9C;;GAEG;AACH,SAAgB,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,2BAAY,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;AARD,8BAQC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetProvider.js","sourceRoot":"","sources":["../../src/components/SetProvider.tsx"],"names":[],"mappings":";;;AACA,kCAAgD;AAYhD;;GAEG;AACH,SAAgB,WAAW,CAAC,EAA8B;QAA5B,QAAQ,cAAA;IACpC,IAAM,eAAe,GAAG,iBAAS,CAAC,iBAAiB,CAAC,CAAC;IACrD,iBAAS,CAAC,cAAM,OAAA,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,EAArC,CAAqC,CAAC,CAAC;IACvD,2CAA2C;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AALD,kCAKC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SetRedirect = void 0;
4
- var React = require("react");
5
- var react_router_1 = require("react-router");
6
- var hooks_1 = require("../hooks");
7
- /**
8
- * The component capable of setting a global redirect route at mounting.
9
- */
10
- function SetRedirect(_a) {
11
- var from = _a.from, to = _a.to;
12
- var setRoute = hooks_1.useAction('setRoute');
13
- hooks_1.useSetter(function () { return setRoute(from, function () { return React.createElement(react_router_1.Redirect, { to: to }); }); });
14
- // tslint:disable-next-line:no-null-keyword
15
- return null;
16
- }
17
- exports.SetRedirect = SetRedirect;
18
- //# sourceMappingURL=SetRedirect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetRedirect.js","sourceRoot":"","sources":["../../src/components/SetRedirect.tsx"],"names":[],"mappings":";;;AAAA,6BAA+B;AAC/B,6CAAwC;AACxC,kCAAgD;AAgBhD;;GAEG;AACH,SAAgB,WAAW,CAAC,EAA8B;QAA5B,IAAI,UAAA,EAAE,EAAE,QAAA;IACpC,IAAM,QAAQ,GAAG,iBAAS,CAAC,UAAU,CAAC,CAAC;IACvC,iBAAS,CAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,EAAE,cAAM,OAAA,oBAAC,uBAAQ,IAAC,EAAE,EAAE,EAAE,GAAI,EAApB,CAAoB,CAAC,EAA1C,CAA0C,CAAC,CAAC;IAC5D,2CAA2C;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AALD,kCAKC"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SetRoute = void 0;
4
- var hooks_1 = require("../hooks");
5
- /**
6
- * The component capable of setting a global route at mounting.
7
- */
8
- function SetRoute(_a) {
9
- var path = _a.path, component = _a.component;
10
- var setRoute = hooks_1.useAction('setRoute');
11
- hooks_1.useSetter(function () { return component && setRoute(path, component); });
12
- // tslint:disable-next-line:no-null-keyword
13
- return null;
14
- }
15
- exports.SetRoute = SetRoute;
16
- //# sourceMappingURL=SetRoute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetRoute.js","sourceRoot":"","sources":["../../src/components/SetRoute.tsx"],"names":[],"mappings":";;;AAEA,kCAAgD;AAgBhD;;GAEG;AACH,SAAgB,QAAQ,CAAS,EAAqC;QAAnC,IAAI,UAAA,EAAE,SAAS,eAAA;IAChD,IAAM,QAAQ,GAAG,iBAAS,CAAC,UAAU,CAAC,CAAC;IACvC,iBAAS,CAAC,cAAM,OAAA,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAtC,CAAsC,CAAC,CAAC;IACxD,2CAA2C;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AALD,4BAKC"}
@@ -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,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useDebounce = void 0;
4
- var react_1 = require("react");
5
- /**
6
- * Hook that returns the debounced (i.e., delayed) value.
7
- * Useful when user input should not fire immediately, but rather
8
- * only after a certain timespan without any changes passed.
9
- * @param value The value to consider.
10
- * @param delay The timespan to pass before applying the value.
11
- */
12
- function useDebounce(value, delay) {
13
- if (delay === void 0) { delay = 300; }
14
- var _a = react_1.useState(value), debouncedValue = _a[0], setDebouncedValue = _a[1];
15
- react_1.useEffect(function () {
16
- var handler = setTimeout(function () { return setDebouncedValue(value); }, delay);
17
- return function () { return clearTimeout(handler); };
18
- }, [value, delay]);
19
- return debouncedValue;
20
- }
21
- exports.useDebounce = useDebounce;
22
- //# sourceMappingURL=debounce.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/hooks/debounce.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAE5C;;;;;;GAMG;AACH,SAAgB,WAAW,CAAI,KAAQ,EAAE,KAAW;IAAX,sBAAA,EAAA,WAAW;IAC5C,IAAA,KAAsC,gBAAQ,CAAC,KAAK,CAAC,EAApD,cAAc,QAAA,EAAE,iBAAiB,QAAmB,CAAC;IAE5D,iBAAS,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;AATD,kCASC"}
@@ -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,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useLockBodyScroll = void 0;
4
- var react_1 = require("react");
5
- /**
6
- * Hook that locks scrolling on the main document.
7
- * Useful for preventing the standard scrolling in context of
8
- * a modal dialog.
9
- */
10
- function useLockBodyScroll() {
11
- react_1.useLayoutEffect(function () {
12
- document.body.style.overflow = 'hidden';
13
- return function () { return (document.body.style.overflow = 'visible'); };
14
- }, []);
15
- }
16
- exports.useLockBodyScroll = useLockBodyScroll;
17
- //# sourceMappingURL=lockBodyScroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lockBodyScroll.js","sourceRoot":"","sources":["../../src/hooks/lockBodyScroll.ts"],"names":[],"mappings":";;;AAAA,+BAAwC;AAExC;;;;GAIG;AACH,SAAgB,iBAAiB;IAC/B,uBAAe,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;AALD,8CAKC"}
@@ -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,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useOnClickOutside = void 0;
4
- var react_1 = require("react");
5
- /**
6
- * Hook that detects if a click outside the given reference
7
- * has been performed.
8
- * @param ref The reference to the element.
9
- * @param handler The callback to invoke when an outside click happened.
10
- */
11
- function useOnClickOutside(ref, handler) {
12
- react_1.useEffect(function () {
13
- var listener = function (event) {
14
- if (ref.current && !ref.current.contains(event.target)) {
15
- handler(event);
16
- }
17
- };
18
- document.addEventListener('mousedown', listener);
19
- document.addEventListener('touchstart', listener);
20
- return function () {
21
- document.removeEventListener('mousedown', listener);
22
- document.removeEventListener('touchstart', listener);
23
- };
24
- }, [handler]);
25
- }
26
- exports.useOnClickOutside = useOnClickOutside;
27
- //# sourceMappingURL=onClickOutside.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onClickOutside.js","sourceRoot":"","sources":["../../src/hooks/onClickOutside.ts"],"names":[],"mappings":";;;AAAA,+BAA6C;AAE7C;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAwB,GAAiB,EAAE,OAAoC;IAC9G,iBAAS,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;AAhBD,8CAgBC"}
@@ -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,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useOnScreenVisible = void 0;
4
- var react_1 = require("react");
5
- /**
6
- * Hook that detects if a reference element within the main document is
7
- * visible.
8
- * Useful for performing some animation or triggering certain actions (e.g.,
9
- * loading data for infinity scrolling) when an element appears or is close
10
- * to appear on screen.
11
- * @param ref The reference element to be visible.
12
- * @param rootMargin The tolerance level to the reference element.
13
- */
14
- function useOnScreenVisible(ref, rootMargin) {
15
- if (rootMargin === void 0) { rootMargin = '0px'; }
16
- var _a = react_1.useState(false), isIntersecting = _a[0], setIntersecting = _a[1];
17
- react_1.useEffect(function () {
18
- var observer = new IntersectionObserver(function (_a) {
19
- var entry = _a[0];
20
- return setIntersecting(entry.isIntersecting);
21
- }, {
22
- rootMargin: rootMargin,
23
- });
24
- if (ref.current) {
25
- observer.observe(ref.current);
26
- }
27
- return function () { return observer.unobserve(ref.current); };
28
- }, []);
29
- return isIntersecting;
30
- }
31
- exports.useOnScreenVisible = useOnScreenVisible;
32
- //# sourceMappingURL=onScreenVisible.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onScreenVisible.js","sourceRoot":"","sources":["../../src/hooks/onScreenVisible.ts"],"names":[],"mappings":";;;AAAA,+BAAuD;AAEvD;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAAwB,GAAiB,EAAE,UAAkB;IAAlB,2BAAA,EAAA,kBAAkB;IACvF,IAAA,KAAoC,gBAAQ,CAAC,KAAK,CAAC,EAAlD,cAAc,QAAA,EAAE,eAAe,QAAmB,CAAC;IAE1D,iBAAS,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;AAhBD,gDAgBC"}
@@ -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,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.usePromise = void 0;
4
- var react_1 = require("react");
5
- /**
6
- * Hook for introducing a complete local loading state for a promise.
7
- * @param promise The callback for the promise to wait for.
8
- */
9
- function usePromise(promise) {
10
- var _a = react_1.useState({
11
- loading: true,
12
- data: undefined,
13
- error: undefined,
14
- }), result = _a[0], setResult = _a[1];
15
- react_1.useEffect(function () {
16
- var cancelled = false;
17
- promise().then(function (data) { return !cancelled && setResult({ data: data, error: undefined, loading: false }); }, function (error) { return !cancelled && setResult({ data: undefined, error: error, loading: false }); });
18
- return function () {
19
- cancelled = true;
20
- };
21
- }, []);
22
- return result;
23
- }
24
- exports.usePromise = usePromise;
25
- //# sourceMappingURL=promise.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../src/hooks/promise.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAW5C;;;GAGG;AACH,SAAgB,UAAU,CAAI,OAAyB;IAC/C,IAAA,KAAsB,gBAAQ,CAAsB;QACxD,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACjB,CAAC,EAJK,MAAM,QAAA,EAAE,SAAS,QAItB,CAAC;IACH,iBAAS,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;AAnBD,gCAmBC"}
@@ -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;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createListener = void 0;
4
- function nameOf(type) {
5
- return "piral-" + type;
6
- }
7
- function createListener(state) {
8
- var eventListeners = [];
9
- return {
10
- on: function (type, callback) {
11
- var listener = function (_a) {
12
- var detail = _a.detail;
13
- return detail && detail.state === state && callback(detail.arg);
14
- };
15
- document.body.addEventListener(nameOf(type), listener);
16
- eventListeners.push([callback, listener]);
17
- return this;
18
- },
19
- off: function (type, callback) {
20
- var listener = eventListeners.filter(function (m) { return m[0] === callback; })[0];
21
- if (listener) {
22
- document.body.removeEventListener(nameOf(type), listener[1]);
23
- eventListeners.splice(eventListeners.indexOf(listener), 1);
24
- }
25
- return this;
26
- },
27
- emit: function (type, arg) {
28
- var ce = document.createEvent('CustomEvent');
29
- ce.initCustomEvent(nameOf(type), false, false, {
30
- arg: arg,
31
- state: state,
32
- });
33
- document.body.dispatchEvent(ce);
34
- return this;
35
- },
36
- };
37
- }
38
- exports.createListener = createListener;
39
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/utils/events.ts"],"names":[],"mappings":";;;AAIA,SAAS,MAAM,CAAC,IAAqB;IACnC,OAAO,WAAS,IAAM,CAAC;AACzB,CAAC;AAED,SAAgB,cAAc,CAAC,KAAU;IACvC,IAAM,cAAc,GAAmB,EAAE,CAAC;IAE1C,OAAO;QACL,EAAE,EAAF,UAAG,IAAI,EAAE,QAAQ;YACf,IAAM,QAAQ,GAAG,UAAC,EAAuB;oBAArB,MAAM,YAAA;gBAAoB,OAAA,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;YAAxD,CAAwD,CAAC;YACvG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;YACvD,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,GAAG,YAAC,IAAI,EAAE,QAAQ;YACT,IAAA,QAAQ,GAAI,cAAc,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAjB,CAAiB,CAAC,GAAnD,CAAoD;YAEnE,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5D;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,YAAC,IAAI,EAAE,GAAG;YACZ,IAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC/C,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC7C,GAAG,KAAA;gBACH,KAAK,OAAA;aACN,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AA9BD,wCA8BC"}
@@ -1,23 +0,0 @@
1
- import * as React from 'react';
2
- import { DefaultLayout } from './DefaultLayout';
3
- import { mount } from 'enzyme';
4
-
5
- describe('Default Layout Component', () => {
6
- it('renders correctly for desktop', () => {
7
- const children = <div></div>;
8
- const node = mount(<DefaultLayout currentLayout="desktop" children={children} />);
9
- expect(node.find('div').length).toBe(1);
10
- });
11
-
12
- it('renders correctly for mobile', () => {
13
- const children = <div></div>;
14
- const node = mount(<DefaultLayout currentLayout="mobile" children={children} />);
15
- expect(node.find('div').length).toBe(1);
16
- });
17
-
18
- it('renders correctly for tablet', () => {
19
- const children = <div></div>;
20
- const node = mount(<DefaultLayout currentLayout="tablet" children={children} />);
21
- expect(node.find('div').length).toBe(1);
22
- });
23
- });
@@ -1,10 +0,0 @@
1
- import * as React from 'react';
2
- import { DefaultLoadingIndicator } from './DefaultLoader';
3
- import { mount } from 'enzyme';
4
-
5
- describe('Default Loader Component', () => {
6
- it('renders correctly', () => {
7
- const node = mount(<DefaultLoadingIndicator />);
8
- expect(node.find('div').length).toBe(1);
9
- });
10
- });
@@ -1,67 +0,0 @@
1
- import * as React from 'react';
2
- import { useDebounce } from './debounce';
3
-
4
- jest.mock('react');
5
-
6
- describe('Debounce Hook Module', () => {
7
- it('just returns initial value if nothing has been changed', () => {
8
- const usedEffect = jest.fn();
9
- const usedState = jest.fn((value) => [value]);
10
- (React as any).useState = usedState;
11
- (React as any).useEffect = usedEffect;
12
- const result = useDebounce('foo');
13
- expect(usedEffect).toHaveBeenCalled();
14
- expect(usedState).toHaveBeenCalled();
15
- expect(result).toBe('foo');
16
- });
17
-
18
- it('invokes useEffect immediately, but does not set value immediately', () => {
19
- const usedEffect = jest.fn((fn) => fn());
20
- const setValue = jest.fn();
21
- const usedState = jest.fn((value) => [value, setValue]);
22
- (React as any).useState = usedState;
23
- (React as any).useEffect = usedEffect;
24
- useDebounce('foo');
25
- expect(setValue).not.toHaveBeenCalled();
26
- });
27
-
28
- it('invokes useEffect immediately, but sets value immediately if 0', () => {
29
- jest.useFakeTimers();
30
- const usedEffect = jest.fn((fn) => fn());
31
- const setValue = jest.fn();
32
- const usedState = jest.fn((value) => [value, setValue]);
33
- (React as any).useState = usedState;
34
- (React as any).useEffect = usedEffect;
35
- useDebounce('foo', 0);
36
- jest.advanceTimersByTime(0);
37
- expect(setValue).toHaveBeenCalled();
38
- });
39
-
40
- it('invokes useEffect immediately, but sets value after wait time', () => {
41
- jest.useFakeTimers();
42
- const usedEffect = jest.fn((fn) => fn());
43
- const setValue = jest.fn();
44
- const usedState = jest.fn((value) => [value, setValue]);
45
- (React as any).useState = usedState;
46
- (React as any).useEffect = usedEffect;
47
- expect(setValue).not.toHaveBeenCalled();
48
- useDebounce('foo', 300);
49
- jest.advanceTimersByTime(300);
50
- expect(setValue).toHaveBeenCalled();
51
- });
52
-
53
- it('invokes useEffect immediately and resets timer if needed', () => {
54
- jest.useFakeTimers();
55
- const usedEffect = jest.fn((fn) => fn());
56
- const setValue = jest.fn();
57
- const usedState = jest.fn((value) => [value, setValue]);
58
- (React as any).useState = usedState;
59
- (React as any).useEffect = usedEffect;
60
- expect(setValue).not.toHaveBeenCalled();
61
- useDebounce('foo', 300);
62
- jest.advanceTimersByTime(250);
63
- usedEffect.mock.results[0].value();
64
- jest.advanceTimersByTime(50);
65
- expect(setValue).not.toHaveBeenCalled();
66
- });
67
- });
@@ -1,19 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
-
3
- /**
4
- * Hook that returns the debounced (i.e., delayed) value.
5
- * Useful when user input should not fire immediately, but rather
6
- * only after a certain timespan without any changes passed.
7
- * @param value The value to consider.
8
- * @param delay The timespan to pass before applying the value.
9
- */
10
- export function useDebounce<T>(value: T, delay = 300) {
11
- const [debouncedValue, setDebouncedValue] = useState(value);
12
-
13
- useEffect(() => {
14
- const handler = setTimeout(() => setDebouncedValue(value), delay);
15
- return () => clearTimeout(handler);
16
- }, [value, delay]);
17
-
18
- return debouncedValue;
19
- }
@@ -1,47 +0,0 @@
1
- import { useGlobalState } from './globalState';
2
-
3
- jest.mock('react', () => {
4
- const { Atom } = require('@libre/atom');
5
- const state = Atom.of({
6
- foo: 5,
7
- bar: {
8
- qxz: 'hello',
9
- },
10
- list: [1, 2, 3],
11
- });
12
- return {
13
- createContext: jest.fn(),
14
- useContext: () => ({ state }),
15
- useState: (v) => [v, jest.fn()],
16
- useMemo: (f) => f(),
17
- useLayoutEffect: (f) => f(),
18
- };
19
- });
20
-
21
- describe('GlobalState Hook Module', () => {
22
- it('selects key from state', () => {
23
- const result = useGlobalState((m) => (m as any).foo);
24
- expect(result).toBe(5);
25
- });
26
-
27
- it('gets full state object', () => {
28
- const result = useGlobalState();
29
- expect(result).toEqual({
30
- foo: 5,
31
- bar: {
32
- qxz: 'hello',
33
- },
34
- list: [1, 2, 3],
35
- });
36
- });
37
-
38
- it('selects nested values', () => {
39
- const result = useGlobalState((m) => (m as any).bar.qxz);
40
- expect(result).toBe('hello');
41
- });
42
-
43
- it('selection works against array members', () => {
44
- const result = useGlobalState((m) => (m as any).list[2]);
45
- expect(result).toBe(3);
46
- });
47
- });