@multiplatform.one/router 5.0.26 → 6.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 (249) hide show
  1. package/dist/cjs/hooks/index.cjs +31 -0
  2. package/dist/cjs/hooks/index.native.js +34 -0
  3. package/dist/cjs/hooks/index.native.js.map +1 -0
  4. package/dist/cjs/hooks/useUrlState.cjs +185 -0
  5. package/dist/cjs/hooks/useUrlState.native.js +203 -0
  6. package/dist/cjs/hooks/useUrlState.native.js.map +1 -0
  7. package/dist/cjs/hooks/useUrlState.spec.cjs +280 -0
  8. package/dist/cjs/hooks/useUrlState.spec.native.js +315 -0
  9. package/dist/cjs/hooks/useUrlState.spec.native.js.map +1 -0
  10. package/dist/cjs/index.cjs +9 -6
  11. package/dist/cjs/index.native.js +16 -13
  12. package/dist/cjs/index.native.js.map +1 -6
  13. package/dist/cjs/index.storybook.cjs +34 -0
  14. package/dist/cjs/index.storybook.native.js +37 -0
  15. package/dist/cjs/index.storybook.native.js.map +1 -0
  16. package/dist/cjs/router/EmptyRouter.cjs +78 -0
  17. package/dist/cjs/router/EmptyRouter.native.js +106 -0
  18. package/dist/cjs/router/EmptyRouter.native.js.map +1 -0
  19. package/dist/cjs/router/ReactRouter.cjs +107 -0
  20. package/dist/cjs/router/ReactRouter.native.js +135 -0
  21. package/dist/cjs/router/ReactRouter.native.js.map +1 -0
  22. package/dist/cjs/router/index.cjs +17 -67
  23. package/dist/cjs/router/index.native.js +22 -81
  24. package/dist/cjs/router/index.native.js.map +1 -6
  25. package/dist/cjs/router/index.storybook-expo.cjs +8 -6
  26. package/dist/cjs/router/index.storybook-expo.native.js +14 -11
  27. package/dist/cjs/router/index.storybook-expo.native.js.map +1 -6
  28. package/dist/cjs/router/index.storybook.cjs +8 -6
  29. package/dist/cjs/router/index.storybook.native.js +14 -11
  30. package/dist/cjs/router/index.storybook.native.js.map +1 -6
  31. package/dist/cjs/router/index.webext.cjs +8 -6
  32. package/dist/cjs/router/index.webext.native.js +14 -11
  33. package/dist/cjs/router/index.webext.native.js.map +1 -6
  34. package/dist/cjs/types.cjs +7 -5
  35. package/dist/cjs/types.native.js +11 -5
  36. package/dist/cjs/types.native.js.map +1 -6
  37. package/dist/esm/hooks/index.mjs +3 -0
  38. package/dist/esm/hooks/index.mjs.map +1 -0
  39. package/dist/esm/hooks/index.native.js +3 -0
  40. package/dist/esm/hooks/index.native.js.map +1 -0
  41. package/dist/esm/hooks/useUrlState.mjs +157 -0
  42. package/dist/esm/hooks/useUrlState.mjs.map +1 -0
  43. package/dist/esm/hooks/useUrlState.native.js +172 -0
  44. package/dist/esm/hooks/useUrlState.native.js.map +1 -0
  45. package/dist/esm/hooks/useUrlState.spec.mjs +257 -0
  46. package/dist/esm/hooks/useUrlState.spec.mjs.map +1 -0
  47. package/dist/esm/hooks/useUrlState.spec.native.js +289 -0
  48. package/dist/esm/hooks/useUrlState.spec.native.js.map +1 -0
  49. package/dist/esm/index.mjs +1 -0
  50. package/dist/esm/index.mjs.map +1 -1
  51. package/dist/esm/index.native.js +4 -3
  52. package/dist/esm/index.native.js.map +1 -6
  53. package/dist/esm/index.storybook.mjs +5 -0
  54. package/dist/esm/index.storybook.mjs.map +1 -0
  55. package/dist/esm/index.storybook.native.js +5 -0
  56. package/dist/esm/index.storybook.native.js.map +1 -0
  57. package/dist/esm/router/EmptyRouter.mjs +49 -0
  58. package/dist/esm/router/EmptyRouter.mjs.map +1 -0
  59. package/dist/esm/router/EmptyRouter.native.js +74 -0
  60. package/dist/esm/router/EmptyRouter.native.js.map +1 -0
  61. package/dist/esm/router/ReactRouter.mjs +79 -0
  62. package/dist/esm/router/ReactRouter.mjs.map +1 -0
  63. package/dist/esm/router/ReactRouter.native.js +104 -0
  64. package/dist/esm/router/ReactRouter.native.js.map +1 -0
  65. package/dist/esm/router/index.mjs +1 -53
  66. package/dist/esm/router/index.mjs.map +1 -1
  67. package/dist/esm/router/index.native.js +3 -71
  68. package/dist/esm/router/index.native.js.map +1 -6
  69. package/dist/esm/router/index.storybook-expo.mjs +1 -1
  70. package/dist/esm/router/index.storybook-expo.mjs.map +1 -1
  71. package/dist/esm/router/index.storybook-expo.native.js +2 -2
  72. package/dist/esm/router/index.storybook-expo.native.js.map +1 -6
  73. package/dist/esm/router/index.storybook.mjs +1 -1
  74. package/dist/esm/router/index.storybook.mjs.map +1 -1
  75. package/dist/esm/router/index.storybook.native.js +2 -2
  76. package/dist/esm/router/index.storybook.native.js.map +1 -6
  77. package/dist/esm/router/index.webext.mjs +1 -1
  78. package/dist/esm/router/index.webext.mjs.map +1 -1
  79. package/dist/esm/router/index.webext.native.js +2 -2
  80. package/dist/esm/router/index.webext.native.js.map +1 -6
  81. package/dist/esm/types.native.js +2 -1
  82. package/dist/esm/types.native.js.map +1 -6
  83. package/dist/jsx/hooks/index.mjs +3 -0
  84. package/dist/jsx/hooks/index.mjs.map +1 -0
  85. package/dist/jsx/hooks/index.native.js +34 -0
  86. package/dist/jsx/hooks/index.native.js.map +1 -0
  87. package/dist/jsx/hooks/useUrlState.mjs +157 -0
  88. package/dist/jsx/hooks/useUrlState.mjs.map +1 -0
  89. package/dist/jsx/hooks/useUrlState.native.js +203 -0
  90. package/dist/jsx/hooks/useUrlState.native.js.map +1 -0
  91. package/dist/jsx/hooks/useUrlState.spec.mjs +257 -0
  92. package/dist/jsx/hooks/useUrlState.spec.mjs.map +1 -0
  93. package/dist/jsx/hooks/useUrlState.spec.native.js +315 -0
  94. package/dist/jsx/hooks/useUrlState.spec.native.js.map +1 -0
  95. package/dist/jsx/index.js +3 -2
  96. package/dist/jsx/index.js.map +1 -6
  97. package/dist/jsx/index.mjs +1 -0
  98. package/dist/jsx/index.mjs.map +1 -1
  99. package/dist/jsx/index.native.js +25 -3
  100. package/dist/jsx/index.native.js.map +1 -6
  101. package/dist/jsx/index.storybook.mjs +5 -0
  102. package/dist/jsx/index.storybook.mjs.map +1 -0
  103. package/dist/jsx/index.storybook.native.js +37 -0
  104. package/dist/jsx/index.storybook.native.js.map +1 -0
  105. package/dist/jsx/router/EmptyRouter.mjs +49 -0
  106. package/dist/jsx/router/EmptyRouter.mjs.map +1 -0
  107. package/dist/jsx/router/EmptyRouter.native.js +106 -0
  108. package/dist/jsx/router/EmptyRouter.native.js.map +1 -0
  109. package/dist/jsx/router/ReactRouter.mjs +79 -0
  110. package/dist/jsx/router/ReactRouter.mjs.map +1 -0
  111. package/dist/jsx/router/ReactRouter.native.js +135 -0
  112. package/dist/jsx/router/ReactRouter.native.js.map +1 -0
  113. package/dist/jsx/router/index.mjs +1 -53
  114. package/dist/jsx/router/index.mjs.map +1 -1
  115. package/dist/jsx/router/index.native.js +31 -68
  116. package/dist/jsx/router/index.native.js.map +1 -6
  117. package/dist/jsx/router/index.storybook-expo.mjs +1 -1
  118. package/dist/jsx/router/index.storybook-expo.mjs.map +1 -1
  119. package/dist/jsx/router/index.storybook-expo.native.js +23 -2
  120. package/dist/jsx/router/index.storybook-expo.native.js.map +1 -6
  121. package/dist/jsx/router/index.storybook.mjs +1 -1
  122. package/dist/jsx/router/index.storybook.mjs.map +1 -1
  123. package/dist/jsx/router/index.storybook.native.js +23 -2
  124. package/dist/jsx/router/index.storybook.native.js.map +1 -6
  125. package/dist/jsx/router/index.webext.mjs +1 -1
  126. package/dist/jsx/router/index.webext.mjs.map +1 -1
  127. package/dist/jsx/router/index.webext.native.js +23 -2
  128. package/dist/jsx/router/index.webext.native.js.map +1 -6
  129. package/dist/jsx/types.native.js +21 -1
  130. package/dist/jsx/types.native.js.map +1 -6
  131. package/package.json +46 -36
  132. package/src/hooks/README.md +232 -0
  133. package/src/hooks/index.ts +8 -0
  134. package/src/hooks/useUrlState.spec.ts +219 -0
  135. package/src/hooks/useUrlState.ts +231 -0
  136. package/src/index.storybook.ts +3 -0
  137. package/src/index.ts +1 -21
  138. package/src/router/EmptyRouter.tsx +50 -0
  139. package/src/router/{reactRouter.tsx → ReactRouter.tsx} +27 -22
  140. package/src/router/index.storybook-expo.tsx +1 -22
  141. package/src/router/index.storybook.tsx +1 -22
  142. package/src/router/index.tsx +1 -97
  143. package/src/router/index.webext.tsx +1 -22
  144. package/src/types.tsx +3 -24
  145. package/dist/cjs/index.js +0 -16
  146. package/dist/cjs/index.js.map +0 -6
  147. package/dist/cjs/router/emptyRouter.cjs +0 -55
  148. package/dist/cjs/router/emptyRouter.js +0 -47
  149. package/dist/cjs/router/emptyRouter.js.map +0 -6
  150. package/dist/cjs/router/emptyRouter.native.js +0 -77
  151. package/dist/cjs/router/emptyRouter.native.js.map +0 -6
  152. package/dist/cjs/router/index.electron.cjs +0 -18
  153. package/dist/cjs/router/index.electron.js +0 -15
  154. package/dist/cjs/router/index.electron.js.map +0 -6
  155. package/dist/cjs/router/index.electron.native.js +0 -20
  156. package/dist/cjs/router/index.electron.native.js.map +0 -6
  157. package/dist/cjs/router/index.js +0 -63
  158. package/dist/cjs/router/index.js.map +0 -6
  159. package/dist/cjs/router/index.storybook-expo.js +0 -15
  160. package/dist/cjs/router/index.storybook-expo.js.map +0 -6
  161. package/dist/cjs/router/index.storybook.js +0 -15
  162. package/dist/cjs/router/index.storybook.js.map +0 -6
  163. package/dist/cjs/router/index.webext.js +0 -15
  164. package/dist/cjs/router/index.webext.js.map +0 -6
  165. package/dist/cjs/router/reactRouter.cjs +0 -74
  166. package/dist/cjs/router/reactRouter.js +0 -48
  167. package/dist/cjs/router/reactRouter.js.map +0 -6
  168. package/dist/cjs/router/reactRouter.native.js +0 -96
  169. package/dist/cjs/router/reactRouter.native.js.map +0 -6
  170. package/dist/cjs/types.js +0 -14
  171. package/dist/cjs/types.js.map +0 -6
  172. package/dist/esm/index.js +0 -3
  173. package/dist/esm/index.js.map +0 -6
  174. package/dist/esm/router/emptyRouter.js +0 -31
  175. package/dist/esm/router/emptyRouter.js.map +0 -6
  176. package/dist/esm/router/emptyRouter.mjs +0 -29
  177. package/dist/esm/router/emptyRouter.mjs.map +0 -1
  178. package/dist/esm/router/emptyRouter.native.js +0 -54
  179. package/dist/esm/router/emptyRouter.native.js.map +0 -6
  180. package/dist/esm/router/index.electron.js +0 -2
  181. package/dist/esm/router/index.electron.js.map +0 -6
  182. package/dist/esm/router/index.electron.mjs +0 -2
  183. package/dist/esm/router/index.electron.mjs.map +0 -1
  184. package/dist/esm/router/index.electron.native.js +0 -2
  185. package/dist/esm/router/index.electron.native.js.map +0 -6
  186. package/dist/esm/router/index.js +0 -52
  187. package/dist/esm/router/index.js.map +0 -6
  188. package/dist/esm/router/index.storybook-expo.js +0 -2
  189. package/dist/esm/router/index.storybook-expo.js.map +0 -6
  190. package/dist/esm/router/index.storybook.js +0 -2
  191. package/dist/esm/router/index.storybook.js.map +0 -6
  192. package/dist/esm/router/index.webext.js +0 -2
  193. package/dist/esm/router/index.webext.js.map +0 -6
  194. package/dist/esm/router/reactRouter.js +0 -38
  195. package/dist/esm/router/reactRouter.js.map +0 -6
  196. package/dist/esm/router/reactRouter.mjs +0 -48
  197. package/dist/esm/router/reactRouter.mjs.map +0 -1
  198. package/dist/esm/router/reactRouter.native.js +0 -74
  199. package/dist/esm/router/reactRouter.native.js.map +0 -6
  200. package/dist/esm/types.js +0 -1
  201. package/dist/esm/types.js.map +0 -6
  202. package/dist/jsx/router/emptyRouter.js +0 -31
  203. package/dist/jsx/router/emptyRouter.js.map +0 -6
  204. package/dist/jsx/router/emptyRouter.mjs +0 -29
  205. package/dist/jsx/router/emptyRouter.mjs.map +0 -1
  206. package/dist/jsx/router/emptyRouter.native.js +0 -54
  207. package/dist/jsx/router/emptyRouter.native.js.map +0 -6
  208. package/dist/jsx/router/index.electron.js +0 -2
  209. package/dist/jsx/router/index.electron.js.map +0 -6
  210. package/dist/jsx/router/index.electron.mjs +0 -2
  211. package/dist/jsx/router/index.electron.mjs.map +0 -1
  212. package/dist/jsx/router/index.electron.native.js +0 -2
  213. package/dist/jsx/router/index.electron.native.js.map +0 -6
  214. package/dist/jsx/router/index.js +0 -52
  215. package/dist/jsx/router/index.js.map +0 -6
  216. package/dist/jsx/router/index.storybook-expo.js +0 -2
  217. package/dist/jsx/router/index.storybook-expo.js.map +0 -6
  218. package/dist/jsx/router/index.storybook.js +0 -2
  219. package/dist/jsx/router/index.storybook.js.map +0 -6
  220. package/dist/jsx/router/index.webext.js +0 -2
  221. package/dist/jsx/router/index.webext.js.map +0 -6
  222. package/dist/jsx/router/reactRouter.js +0 -38
  223. package/dist/jsx/router/reactRouter.js.map +0 -6
  224. package/dist/jsx/router/reactRouter.mjs +0 -48
  225. package/dist/jsx/router/reactRouter.mjs.map +0 -1
  226. package/dist/jsx/router/reactRouter.native.js +0 -74
  227. package/dist/jsx/router/reactRouter.native.js.map +0 -6
  228. package/dist/jsx/types.js +0 -1
  229. package/dist/jsx/types.js.map +0 -6
  230. package/src/router/emptyRouter.tsx +0 -56
  231. package/src/router/index.electron.tsx +0 -22
  232. package/types/index.d.ts +0 -3
  233. package/types/index.d.ts.map +0 -1
  234. package/types/router/emptyRouter.d.ts +0 -26
  235. package/types/router/emptyRouter.d.ts.map +0 -1
  236. package/types/router/index.d.ts +0 -27
  237. package/types/router/index.d.ts.map +0 -1
  238. package/types/router/index.electron.d.ts +0 -22
  239. package/types/router/index.electron.d.ts.map +0 -1
  240. package/types/router/index.storybook-expo.d.ts +0 -22
  241. package/types/router/index.storybook-expo.d.ts.map +0 -1
  242. package/types/router/index.storybook.d.ts +0 -22
  243. package/types/router/index.storybook.d.ts.map +0 -1
  244. package/types/router/index.webext.d.ts +0 -22
  245. package/types/router/index.webext.d.ts.map +0 -1
  246. package/types/router/reactRouter.d.ts +0 -27
  247. package/types/router/reactRouter.d.ts.map +0 -1
  248. package/types/types.d.ts +0 -60
  249. package/types/types.d.ts.map +0 -1
@@ -1,55 +1,3 @@
1
- import { Link as OneLink, usePathname as useOnePathname, useRouter as useOneRouter } from "one";
2
- import { jsx } from "react/jsx-runtime";
3
- const mapResultState = state => state === "success" ? "success" : "error",
4
- mapLoadingState = state => state === "loaded" ? "loaded" : state === "loading" ? "loading" : "error",
5
- useRouter = () => {
6
- const router = useOneRouter();
7
- return {
8
- back: () => router.back(),
9
- canGoBack: () => router.canGoBack(),
10
- push: href => router.push(href),
11
- navigate: href => router.navigate(href),
12
- replace: href => router.replace(href),
13
- dismiss: count => router.dismiss(count),
14
- dismissAll: () => router.dismissAll(),
15
- canDismiss: () => router.canDismiss(),
16
- setParams: router.setParams,
17
- subscribe: listener => {
18
- const oneListener = state => {
19
- listener(mapResultState(state));
20
- };
21
- return router.subscribe(oneListener);
22
- },
23
- onLoadState: listener => {
24
- const oneListener = state => {
25
- listener(mapLoadingState(state));
26
- };
27
- return router.onLoadState(oneListener);
28
- }
29
- };
30
- },
31
- usePathname = useOnePathname,
32
- useParams = () => {
33
- const pathname = useOnePathname(),
34
- searchParams = new URLSearchParams(pathname),
35
- params = {};
36
- return searchParams.forEach((value, key) => {
37
- params[key] = value;
38
- }), params;
39
- },
40
- Link = ({
41
- href,
42
- replace,
43
- children,
44
- style,
45
- className,
46
- ...props
47
- }) => /* @__PURE__ */jsx(OneLink, {
48
- href,
49
- replace,
50
- ...props,
51
- children
52
- });
53
- Link.resolveHref = href => href.toString();
1
+ import { Link, useParams, usePathname, useRouter } from "one";
54
2
  export { Link, useParams, usePathname, useRouter };
55
3
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["Link","OneLink","usePathname","useOnePathname","useRouter","useOneRouter","jsx","mapResultState","state","mapLoadingState","router","back","canGoBack","push","href","navigate","replace","dismiss","count","dismissAll","canDismiss","setParams","subscribe","listener","oneListener","onLoadState","useParams","pathname","searchParams","URLSearchParams","params","forEach","value","key","children","style","className","props","resolveHref","toString"],"sources":["../../../src/router/index.tsx"],"sourcesContent":[null],"mappings":"AAqBA,SACEA,IAAA,IAAQC,OAAA,EACRC,WAAA,IAAeC,cAAA,EACfC,SAAA,IAAaC,YAAA,QACR;AAkEL,SAAAC,GAAA;AAzDF,MAAMC,cAAA,GAAkBC,KAAA,IACfA,KAAA,KAAU,YAAY,YAAY;EAGrCC,eAAA,GAAmBD,KAAA,IACnBA,KAAA,KAAU,WAAiB,WAC3BA,KAAA,KAAU,YAAkB,YACzB;EAGIJ,SAAA,GAAYA,CAAA,KAAc;IACrC,MAAMM,MAAA,GAASL,YAAA,CAAa;IAC5B,OAAO;MACLM,IAAA,EAAMA,CAAA,KAAMD,MAAA,CAAOC,IAAA,CAAK;MACxBC,SAAA,EAAWA,CAAA,KAAMF,MAAA,CAAOE,SAAA,CAAU;MAClCC,IAAA,EAAOC,IAAA,IAAeJ,MAAA,CAAOG,IAAA,CAAKC,IAAI;MACtCC,QAAA,EAAWD,IAAA,IAAeJ,MAAA,CAAOK,QAAA,CAASD,IAAI;MAC9CE,OAAA,EAAUF,IAAA,IAAeJ,MAAA,CAAOM,OAAA,CAAQF,IAAI;MAC5CG,OAAA,EAAUC,KAAA,IAAmBR,MAAA,CAAOO,OAAA,CAAQC,KAAK;MACjDC,UAAA,EAAYA,CAAA,KAAMT,MAAA,CAAOS,UAAA,CAAW;MACpCC,UAAA,EAAYA,CAAA,KAAMV,MAAA,CAAOU,UAAA,CAAW;MACpCC,SAAA,EAAWX,MAAA,CAAOW,SAAA;MAClBC,SAAA,EAAYC,QAAA,IAAa;QACvB,MAAMC,WAAA,GAAehB,KAAA,IAAmB;UACtCe,QAAA,CAAShB,cAAA,CAAeC,KAAK,CAAC;QAChC;QACA,OAAOE,MAAA,CAAOY,SAAA,CAAUE,WAAW;MACrC;MACAC,WAAA,EAAcF,QAAA,IAAa;QACzB,MAAMC,WAAA,GAAehB,KAAA,IAAmB;UACtCe,QAAA,CAASd,eAAA,CAAgBD,KAAK,CAAC;QACjC;QACA,OAAOE,MAAA,CAAOe,WAAA,CAAYD,WAAW;MACvC;IACF;EACF;EAEatB,WAAA,GAAcC,cAAA;EAEduB,SAAA,GAAYA,CAAA,KAAM;IAC7B,MAAMC,QAAA,GAAWxB,cAAA,CAAe;MAC1ByB,YAAA,GAAe,IAAIC,eAAA,CAAgBF,QAAQ;MAC3CG,MAAA,GAAiC,CAAC;IACxC,OAAAF,YAAA,CAAaG,OAAA,CAAQ,CAACC,KAAA,EAAOC,GAAA,KAAQ;MACnCH,MAAA,CAAOG,GAAG,IAAID,KAAA;IAChB,CAAC,GACMF,MAAA;EACT;EAEa9B,IAAA,GAAsBA,CAAC;IAClCc,IAAA;IACAE,OAAA;IACAkB,QAAA;IACAC,KAAA;IACAC,SAAA;IACA,GAAGC;EACL,MACE,eAAA/B,GAAA,CAACL,OAAA;IAAQa,IAAA;IAAYE,OAAA;IAAmB,GAAGqB,KAAA;IACxCH;EAAA,CACH;AAGFlC,IAAA,CAAKsC,WAAA,GAAexB,IAAA,IAAeA,IAAA,CAAKyB,QAAA,CAAS","ignoreList":[]}
1
+ {"version":3,"names":["Link","useParams","usePathname","useRouter"],"sources":["../../../src/router/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAA,EAAMC,SAAA,EAAWC,WAAA,EAAaC,SAAA,QAAiB","ignoreList":[]}
@@ -1,71 +1,3 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Link as OneLink, usePathname as useOnePathname, useRouter as useOneRouter } from "one";
3
- var mapResultState = function(state) {
4
- return state === "success" ? "success" : "error";
5
- }, mapLoadingState = function(state) {
6
- return state === "loaded" ? "loaded" : state === "loading" ? "loading" : "error";
7
- }, useRouter = function() {
8
- var router = useOneRouter();
9
- return {
10
- back: function() {
11
- return router.back();
12
- },
13
- canGoBack: function() {
14
- return router.canGoBack();
15
- },
16
- push: function(href) {
17
- return router.push(href);
18
- },
19
- navigate: function(href) {
20
- return router.navigate(href);
21
- },
22
- replace: function(href) {
23
- return router.replace(href);
24
- },
25
- dismiss: function(count) {
26
- return router.dismiss(count);
27
- },
28
- dismissAll: function() {
29
- return router.dismissAll();
30
- },
31
- canDismiss: function() {
32
- return router.canDismiss();
33
- },
34
- setParams: router.setParams,
35
- subscribe: function(listener) {
36
- var oneListener = function(state) {
37
- listener(mapResultState(state));
38
- };
39
- return router.subscribe(oneListener);
40
- },
41
- onLoadState: function(listener) {
42
- var oneListener = function(state) {
43
- listener(mapLoadingState(state));
44
- };
45
- return router.onLoadState(oneListener);
46
- }
47
- };
48
- }, usePathname = useOnePathname, useParams = function() {
49
- var pathname = useOnePathname(), searchParams = new URLSearchParams(pathname), params = {};
50
- return searchParams.forEach(function(value, key) {
51
- params[key] = value;
52
- }), params;
53
- }, Link = function(param) {
54
- var { href, replace, children, style, className, ...props } = param;
55
- return /* @__PURE__ */ _jsx(OneLink, {
56
- href,
57
- replace,
58
- ...props,
59
- children
60
- });
61
- };
62
- Link.resolveHref = function(href) {
63
- return href.toString();
64
- };
65
- export {
66
- Link,
67
- useParams,
68
- usePathname,
69
- useRouter
70
- };
71
- //# sourceMappingURL=index.js.map
1
+ import { Link, useParams, usePathname, useRouter } from "one";
2
+ export { Link, useParams, usePathname, useRouter };
3
+ //# sourceMappingURL=index.native.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/router/home/clayrisser/Projects/bitspur/multiplatform.one/multiplatform.one/packages/router/src/router/index.tsx"],
4
- "mappings": "AAmBC,SAAA,OAAA,YAAA;AAED,SACEA,QAAQC,SACRC,eAAeC,gBACfC,aAAaC,oBACR;AASP,IAAMC,iBAAiB,SAACC,OAAAA;AACtB,SAAOA,UAAU,YAAY,YAAY;AAC3C,GAEMC,kBAAkB,SAACD,OAAAA;AACvB,SAAIA,UAAU,WAAiB,WAC3BA,UAAU,YAAkB,YACzB;AACT,GAEaH,YAAY,WAAA;AACvB,MAAMK,SAASJ,aAAAA;AACf,SAAO;IACLK,MAAM,WAAA;aAAMD,OAAOC,KAAI;;IACvBC,WAAW,WAAA;aAAMF,OAAOE,UAAS;;IACjCC,MAAM,SAACC,MAAAA;aAAeJ,OAAOG,KAAKC,IAAAA;;IAClCC,UAAU,SAACD,MAAAA;aAAeJ,OAAOK,SAASD,IAAAA;;IAC1CE,SAAS,SAACF,MAAAA;aAAeJ,OAAOM,QAAQF,IAAAA;;IACxCG,SAAS,SAACC,OAAAA;aAAmBR,OAAOO,QAAQC,KAAAA;;IAC5CC,YAAY,WAAA;aAAMT,OAAOS,WAAU;;IACnCC,YAAY,WAAA;aAAMV,OAAOU,WAAU;;IACnCC,WAAWX,OAAOW;IAClBC,WAAW,SAACC,UAAAA;AACV,UAAMC,cAAc,SAAChB,OAAAA;AACnBe,iBAAShB,eAAeC,KAAAA,CAAAA;MAC1B;AACA,aAAOE,OAAOY,UAAUE,WAAAA;IAC1B;IACAC,aAAa,SAACF,UAAAA;AACZ,UAAMC,cAAc,SAAChB,OAAAA;AACnBe,iBAASd,gBAAgBD,KAAAA,CAAAA;MAC3B;AACA,aAAOE,OAAOe,YAAYD,WAAAA;IAC5B;EACF;AACF,GAEarB,cAAcC,gBAEdsB,YAAY,WAAA;AACvB,MAAMC,WAAWvB,eAAAA,GACXwB,eAAe,IAAIC,gBAAgBF,QAAAA,GACnCG,SAAiC,CAAC;AACxCF,sBAAaG,QAAQ,SAACC,OAAOC,KAAAA;AAC3BH,WAAOG,GAAAA,IAAOD;EAChB,CAAA,GACOF;AACT,GAEa7B,OAAsB,SAAA,OAAA;MAAC,EAClCa,MACAE,SACAkB,UACAC,OACAC,WACA,GAAGC,MAAAA,IACJ;SACC,qBAACnC,SAAAA;IAAQY;IAAYE;IAAmB,GAAGqB;;;;AAK7CpC,KAAKqC,cAAc,SAACxB,MAAAA;SAAeA,KAAKyB,SAAQ;;",
5
- "names": ["Link", "OneLink", "usePathname", "useOnePathname", "useRouter", "useOneRouter", "mapResultState", "state", "mapLoadingState", "router", "back", "canGoBack", "push", "href", "navigate", "replace", "dismiss", "count", "dismissAll", "canDismiss", "setParams", "subscribe", "listener", "oneListener", "onLoadState", "useParams", "pathname", "searchParams", "URLSearchParams", "params", "forEach", "value", "key", "children", "style", "className", "props", "resolveHref", "toString"]
6
- }
1
+ {"version":3,"names":["Link","useParams","usePathname","useRouter"],"sources":["../../../src/router/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAA,EAAMC,SAAA,EAAWC,WAAA,EAAaC,SAAA,QAAiB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export * from "./emptyRouter.mjs";
1
+ export * from "./EmptyRouter.mjs";
2
2
  //# sourceMappingURL=index.storybook-expo.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/router/index.storybook-expo.tsx"],"sourcesContent":[null],"mappings":"AAqBA,cAAc","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/router/index.storybook-expo.tsx"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export * from "./emptyRouter";
2
- //# sourceMappingURL=index.storybook-expo.js.map
1
+ export * from "./EmptyRouter.native.js";
2
+ //# sourceMappingURL=index.storybook-expo.native.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/router/home/clayrisser/Projects/bitspur/multiplatform.one/multiplatform.one/packages/router/src/router/index.storybook-expo.tsx"],
4
- "mappings": "AAqBA,cAAc;",
5
- "names": []
6
- }
1
+ {"version":3,"names":[],"sources":["../../../src/router/index.storybook-expo.tsx"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export * from "./emptyRouter.mjs";
1
+ export * from "./EmptyRouter.mjs";
2
2
  //# sourceMappingURL=index.storybook.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/router/index.storybook.tsx"],"sourcesContent":[null],"mappings":"AAqBA,cAAc","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/router/index.storybook.tsx"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export * from "./emptyRouter";
2
- //# sourceMappingURL=index.storybook.js.map
1
+ export * from "./EmptyRouter.native.js";
2
+ //# sourceMappingURL=index.storybook.native.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/router/home/clayrisser/Projects/bitspur/multiplatform.one/multiplatform.one/packages/router/src/router/index.storybook.tsx"],
4
- "mappings": "AAqBA,cAAc;",
5
- "names": []
6
- }
1
+ {"version":3,"names":[],"sources":["../../../src/router/index.storybook.tsx"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export * from "./reactRouter.mjs";
1
+ export * from "./ReactRouter.mjs";
2
2
  //# sourceMappingURL=index.webext.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/router/index.webext.tsx"],"sourcesContent":[null],"mappings":"AAqBA,cAAc","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/router/index.webext.tsx"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export * from "./reactRouter";
2
- //# sourceMappingURL=index.webext.js.map
1
+ export * from "./ReactRouter.native.js";
2
+ //# sourceMappingURL=index.webext.native.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/router/home/clayrisser/Projects/bitspur/multiplatform.one/multiplatform.one/packages/router/src/router/index.webext.tsx"],
4
- "mappings": "AAqBA,cAAc;",
5
- "names": []
6
- }
1
+ {"version":3,"names":[],"sources":["../../../src/router/index.webext.tsx"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1 +1,2 @@
1
- //# sourceMappingURL=types.js.map
1
+
2
+ //# sourceMappingURL=types.native.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "mappings": "",
5
- "names": []
6
- }
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import { useSearchParams, useUrlState, useShareableUrl, useTypedSearchParams } from "./useUrlState.mjs";
2
+ export { useSearchParams, useShareableUrl, useTypedSearchParams, useUrlState };
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSearchParams","useUrlState","useShareableUrl","useTypedSearchParams"],"sources":["../../../src/hooks/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,eAAA,EACAC,WAAA,EACAC,eAAA,EACAC,oBAAA,QAGK","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var hooks_exports = {};
26
+ __export(hooks_exports, {
27
+ useSearchParams: () => import_useUrlState.useSearchParams,
28
+ useShareableUrl: () => import_useUrlState.useShareableUrl,
29
+ useTypedSearchParams: () => import_useUrlState.useTypedSearchParams,
30
+ useUrlState: () => import_useUrlState.useUrlState
31
+ });
32
+ module.exports = __toCommonJS(hooks_exports);
33
+ var import_useUrlState = require("./useUrlState.native.js");
34
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all"],"sources":["../../../src/hooks/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;AAAA,IACEA,SAAA,GAAAC,MAAA,CAAAC,cAAA;AAAA,IACAC,gBAAA,GAAAF,MAAA,CAAAG,wBAAA;AAAA,IACAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AAAA,IACAC,YAAA,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAAA,IAAAC,QAGK,GAAAA,CAAAC,MAAA,EAAAC,GAAA","ignoreList":[]}
@@ -0,0 +1,157 @@
1
+ import { useCallback, useEffect, useMemo, useRef } from "react";
2
+ import { isWeb } from "@multiplatform.one/platform";
3
+ import { useParams, useRouter } from "../router/index.mjs";
4
+ function useSearchParams() {
5
+ const router = useRouter();
6
+ const currentParams = useParams();
7
+ const debounceTimerRef = useRef(void 0);
8
+ const searchParams = useMemo(() => {
9
+ const params = {};
10
+ Object.entries(currentParams).forEach(([key, value]) => {
11
+ if (value !== void 0 && value !== null) {
12
+ params[key] = value;
13
+ }
14
+ });
15
+ return params;
16
+ }, [currentParams]);
17
+ const setSearchParams = useCallback((newParams, options = {}) => {
18
+ const {
19
+ replace: _replace = true,
20
+ debounceMs = 0
21
+ } = options;
22
+ const updateParams = () => {
23
+ const updatedParams = typeof newParams === "function" ? newParams(searchParams) : newParams;
24
+ const cleanParams = {};
25
+ Object.entries(updatedParams).forEach(([key, value]) => {
26
+ if (value !== void 0 && value !== null && value !== "") {
27
+ cleanParams[key] = value;
28
+ }
29
+ });
30
+ router.setParams(cleanParams);
31
+ };
32
+ if (debounceMs > 0) {
33
+ if (debounceTimerRef.current) {
34
+ clearTimeout(debounceTimerRef.current);
35
+ }
36
+ debounceTimerRef.current = setTimeout(updateParams, debounceMs);
37
+ } else {
38
+ updateParams();
39
+ }
40
+ }, [router, searchParams]);
41
+ useEffect(() => {
42
+ return () => {
43
+ if (debounceTimerRef.current) {
44
+ clearTimeout(debounceTimerRef.current);
45
+ }
46
+ };
47
+ }, []);
48
+ return [searchParams, setSearchParams];
49
+ }
50
+ function useUrlState(defaultValues, options = {}) {
51
+ const {
52
+ debounceMs = 500,
53
+ serialize = value => {
54
+ const params = {};
55
+ Object.entries(value).forEach(([key, val]) => {
56
+ if (val !== void 0 && val !== null && val !== "") {
57
+ if (Array.isArray(val)) {
58
+ params[key] = val.map(String);
59
+ } else if (typeof val === "object") {
60
+ params[key] = JSON.stringify(val);
61
+ } else {
62
+ params[key] = String(val);
63
+ }
64
+ }
65
+ });
66
+ return params;
67
+ },
68
+ deserialize = params => {
69
+ const result = {};
70
+ Object.entries(params).forEach(([key, value]) => {
71
+ if (key in defaultValues) {
72
+ const defaultValue = defaultValues[key];
73
+ if (value === void 0) {
74
+ result[key] = defaultValue;
75
+ } else if (Array.isArray(defaultValue)) {
76
+ result[key] = Array.isArray(value) ? value : [value];
77
+ } else if (typeof defaultValue === "boolean") {
78
+ result[key] = value === "true";
79
+ } else if (typeof defaultValue === "number") {
80
+ result[key] = Number(value);
81
+ } else if (typeof defaultValue === "object" && defaultValue !== null) {
82
+ try {
83
+ result[key] = JSON.parse(String(value));
84
+ } catch {
85
+ result[key] = defaultValue;
86
+ }
87
+ } else {
88
+ result[key] = value;
89
+ }
90
+ }
91
+ });
92
+ Object.keys(defaultValues).forEach(key => {
93
+ if (!(key in result)) {
94
+ result[key] = defaultValues[key];
95
+ }
96
+ });
97
+ return result;
98
+ }
99
+ } = options;
100
+ const [searchParams, setSearchParams] = useSearchParams();
101
+ const currentState = useMemo(() => {
102
+ return deserialize(searchParams);
103
+ }, [searchParams, deserialize]);
104
+ const setState = useCallback(newState => {
105
+ const updatedState = typeof newState === "function" ? newState(currentState) : newState;
106
+ const mergedState = {
107
+ ...currentState,
108
+ ...updatedState
109
+ };
110
+ const serialized = serialize(mergedState);
111
+ setSearchParams(serialized, {
112
+ debounceMs
113
+ });
114
+ }, [currentState, serialize, setSearchParams, debounceMs]);
115
+ return [currentState, setState];
116
+ }
117
+ function useShareableUrl() {
118
+ const params = useParams();
119
+ const shareableUrl = useMemo(() => {
120
+ if (!isWeb || typeof window === "undefined") {
121
+ return "";
122
+ }
123
+ const url = new URL(window.location.href);
124
+ url.search = "";
125
+ Object.entries(params).forEach(([key, value]) => {
126
+ if (value !== void 0 && value !== null && value !== "") {
127
+ if (Array.isArray(value)) {
128
+ value.forEach(v => url.searchParams.append(key, String(v)));
129
+ } else {
130
+ url.searchParams.set(key, String(value));
131
+ }
132
+ }
133
+ });
134
+ return url.toString();
135
+ }, [params]);
136
+ return shareableUrl;
137
+ }
138
+ function useTypedSearchParams(schema) {
139
+ const params = useParams();
140
+ const typedParams = useMemo(() => {
141
+ const result = {};
142
+ Object.entries(schema).forEach(([key, config]) => {
143
+ const rawValue = params[key];
144
+ if (config.parse) {
145
+ result[key] = config.parse(rawValue);
146
+ } else if (rawValue === void 0) {
147
+ result[key] = config.default;
148
+ } else {
149
+ result[key] = rawValue;
150
+ }
151
+ });
152
+ return result;
153
+ }, [params, schema]);
154
+ return typedParams;
155
+ }
156
+ export { useSearchParams, useShareableUrl, useTypedSearchParams, useUrlState };
157
+ //# sourceMappingURL=useUrlState.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","isWeb","useParams","useRouter","useSearchParams","router","currentParams","debounceTimerRef","searchParams","params","Object","entries","forEach","key","value","setSearchParams","newParams","options","replace","_replace","debounceMs","updateParams","updatedParams","cleanParams","setParams","current","clearTimeout","setTimeout","useUrlState","defaultValues","serialize","val","Array","isArray","map","String","JSON","stringify","deserialize","result","defaultValue","Number","parse","keys","currentState","setState","newState","updatedState","mergedState","serialized","useShareableUrl","shareableUrl","window","url","URL","location","href","search","v","append","set","toString","useTypedSearchParams","schema","typedParams","config","rawValue","default"],"sources":["../../../src/hooks/useUrlState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}