@multiplatform.one/router 5.0.27 → 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,93 +1,34 @@
1
1
  "use strict";
2
+
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
7
  var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
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
+ }
13
20
  return to;
14
21
  };
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
16
25
  var router_exports = {};
17
26
  __export(router_exports, {
18
- Link: () => Link,
19
- useParams: () => useParams,
20
- usePathname: () => usePathname,
21
- useRouter: () => useRouter
27
+ Link: () => import_one.Link,
28
+ useParams: () => import_one.useParams,
29
+ usePathname: () => import_one.usePathname,
30
+ useRouter: () => import_one.useRouter
22
31
  });
23
32
  module.exports = __toCommonJS(router_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime"), import_one = require("one"), mapResultState = function(state) {
25
- return state === "success" ? "success" : "error";
26
- }, mapLoadingState = function(state) {
27
- return state === "loaded" ? "loaded" : state === "loading" ? "loading" : "error";
28
- }, useRouter = function() {
29
- var router = (0, import_one.useRouter)();
30
- return {
31
- back: function() {
32
- return router.back();
33
- },
34
- canGoBack: function() {
35
- return router.canGoBack();
36
- },
37
- push: function(href) {
38
- return router.push(href);
39
- },
40
- navigate: function(href) {
41
- return router.navigate(href);
42
- },
43
- replace: function(href) {
44
- return router.replace(href);
45
- },
46
- dismiss: function(count) {
47
- return router.dismiss(count);
48
- },
49
- dismissAll: function() {
50
- return router.dismissAll();
51
- },
52
- canDismiss: function() {
53
- return router.canDismiss();
54
- },
55
- setParams: router.setParams,
56
- subscribe: function(listener) {
57
- var oneListener = function(state) {
58
- listener(mapResultState(state));
59
- };
60
- return router.subscribe(oneListener);
61
- },
62
- onLoadState: function(listener) {
63
- var oneListener = function(state) {
64
- listener(mapLoadingState(state));
65
- };
66
- return router.onLoadState(oneListener);
67
- }
68
- };
69
- }, usePathname = import_one.usePathname, useParams = function() {
70
- var pathname = (0, import_one.usePathname)(), searchParams = new URLSearchParams(pathname), params = {};
71
- return searchParams.forEach(function(value, key) {
72
- params[key] = value;
73
- }), params;
74
- }, Link = function(param) {
75
- var { href, replace, children, style, className, ...props } = param;
76
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_one.Link, {
77
- href,
78
- replace,
79
- ...props,
80
- children
81
- });
82
- };
83
- Link.resolveHref = function(href) {
84
- return href.toString();
85
- };
86
- // Annotate the CommonJS export names for ESM import in node:
87
- 0 && (module.exports = {
88
- Link,
89
- useParams,
90
- usePathname,
91
- useRouter
92
- });
93
- //# sourceMappingURL=index.js.map
33
+ var import_one = require("one");
34
+ //# 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": ";;;;;;;;;;;;;;;AAAA;;;;;;;;AAmBC,yBAAA,8BAED,aAIO,gBASDA,iBAAiB,SAACC,OAAAA;AACtB,SAAOA,UAAU,YAAY,YAAY;AAC3C,GAEMC,kBAAkB,SAACD,OAAAA;AACvB,SAAIA,UAAU,WAAiB,WAC3BA,UAAU,YAAkB,YACzB;AACT,GAEaE,YAAY,WAAA;AACvB,MAAMC,aAASC,WAAAA,WAAAA;AACf,SAAO;IACLC,MAAM,WAAA;aAAMF,OAAOE,KAAI;;IACvBC,WAAW,WAAA;aAAMH,OAAOG,UAAS;;IACjCC,MAAM,SAACC,MAAAA;aAAeL,OAAOI,KAAKC,IAAAA;;IAClCC,UAAU,SAACD,MAAAA;aAAeL,OAAOM,SAASD,IAAAA;;IAC1CE,SAAS,SAACF,MAAAA;aAAeL,OAAOO,QAAQF,IAAAA;;IACxCG,SAAS,SAACC,OAAAA;aAAmBT,OAAOQ,QAAQC,KAAAA;;IAC5CC,YAAY,WAAA;aAAMV,OAAOU,WAAU;;IACnCC,YAAY,WAAA;aAAMX,OAAOW,WAAU;;IACnCC,WAAWZ,OAAOY;IAClBC,WAAW,SAACC,UAAAA;AACV,UAAMC,cAAc,SAAClB,OAAAA;AACnBiB,iBAASlB,eAAeC,KAAAA,CAAAA;MAC1B;AACA,aAAOG,OAAOa,UAAUE,WAAAA;IAC1B;IACAC,aAAa,SAACF,UAAAA;AACZ,UAAMC,cAAc,SAAClB,OAAAA;AACnBiB,iBAAShB,gBAAgBD,KAAAA,CAAAA;MAC3B;AACA,aAAOG,OAAOgB,YAAYD,WAAAA;IAC5B;EACF;AACF,GAEaE,cAAcC,WAAAA,aAEdC,YAAY,WAAA;AACvB,MAAMC,eAAWF,WAAAA,aAAAA,GACXG,eAAe,IAAIC,gBAAgBF,QAAAA,GACnCG,SAAiC,CAAC;AACxCF,sBAAaG,QAAQ,SAACC,OAAOC,KAAAA;AAC3BH,WAAOG,GAAAA,IAAOD;EAChB,CAAA,GACOF;AACT,GAEaI,OAAsB,SAAA,OAAA;MAAC,EAClCtB,MACAE,SACAqB,UACAC,OACAC,WACA,GAAGC,MAAAA,IACJ;SACC,uCAAAC,KAACC,WAAAA,MAAAA;IAAQ5B;IAAYE;IAAmB,GAAGwB;;;;AAK7CJ,KAAKO,cAAc,SAAC7B,MAAAA;SAAeA,KAAK8B,SAAQ;;",
5
- "names": ["mapResultState", "state", "mapLoadingState", "useRouter", "router", "useOneRouter", "back", "canGoBack", "push", "href", "navigate", "replace", "dismiss", "count", "dismissAll", "canDismiss", "setParams", "subscribe", "listener", "oneListener", "onLoadState", "usePathname", "useOnePathname", "useParams", "pathname", "searchParams", "URLSearchParams", "params", "forEach", "value", "key", "Link", "children", "style", "className", "props", "_jsx", "OneLink", "resolveHref", "toString"]
6
- }
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","router_exports","__export","Link","import_one","useParams","usePathname","useRouter","module","exports"],"sources":["../../../src/router/index.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAC,UAAA,CAAAD,IAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAD,UAAA,CAAAC,SAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAF,UAAA,CAAAE,WAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAH,UAAA,CAAAG;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAwDb,YAAA,CAAAK,cAAA","ignoreList":[]}
@@ -3,16 +3,18 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
7
8
  get: () => from[key],
8
9
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
9
10
  });
10
- return to;
11
- },
12
- __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
13
15
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
14
- value: !0
16
+ value: true
15
17
  }), mod);
16
18
  var index_storybook_expo_exports = {};
17
19
  module.exports = __toCommonJS(index_storybook_expo_exports);
18
- __reExport(index_storybook_expo_exports, require("./emptyRouter.cjs"), module.exports);
20
+ __reExport(index_storybook_expo_exports, require("./EmptyRouter.cjs"), module.exports);
@@ -1,20 +1,23 @@
1
1
  "use strict";
2
+
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
7
  var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from == "object" || typeof from == "function")
8
- for (let key of __getOwnPropNames(from))
9
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
10
14
  return to;
11
- }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
12
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ };
16
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
18
+ value: true
19
+ }), mod);
13
20
  var index_storybook_expo_exports = {};
14
21
  module.exports = __toCommonJS(index_storybook_expo_exports);
15
- __reExport(index_storybook_expo_exports, require("./emptyRouter"), module.exports);
16
- // Annotate the CommonJS export names for ESM import in node:
17
- 0 && (module.exports = {
18
- ...require("./emptyRouter")
19
- });
20
- //# sourceMappingURL=index.storybook-expo.js.map
22
+ __reExport(index_storybook_expo_exports, require("./EmptyRouter.native.js"), module.exports);
23
+ //# 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": ";;;;;;;;;;;;AAAA;;AAqBA,yCAAc,0BArBd;",
5
- "names": []
6
- }
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_storybook_expo_exports","module","exports"],"sources":["../../../src/router/index.storybook-expo.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,4BAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAP,YAAA,CAAAK,4BAAc","ignoreList":[]}
@@ -3,16 +3,18 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
7
8
  get: () => from[key],
8
9
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
9
10
  });
10
- return to;
11
- },
12
- __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
13
15
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
14
- value: !0
16
+ value: true
15
17
  }), mod);
16
18
  var index_storybook_exports = {};
17
19
  module.exports = __toCommonJS(index_storybook_exports);
18
- __reExport(index_storybook_exports, require("./emptyRouter.cjs"), module.exports);
20
+ __reExport(index_storybook_exports, require("./EmptyRouter.cjs"), module.exports);
@@ -1,20 +1,23 @@
1
1
  "use strict";
2
+
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
7
  var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from == "object" || typeof from == "function")
8
- for (let key of __getOwnPropNames(from))
9
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
10
14
  return to;
11
- }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
12
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ };
16
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
18
+ value: true
19
+ }), mod);
13
20
  var index_storybook_exports = {};
14
21
  module.exports = __toCommonJS(index_storybook_exports);
15
- __reExport(index_storybook_exports, require("./emptyRouter"), module.exports);
16
- // Annotate the CommonJS export names for ESM import in node:
17
- 0 && (module.exports = {
18
- ...require("./emptyRouter")
19
- });
20
- //# sourceMappingURL=index.storybook.js.map
22
+ __reExport(index_storybook_exports, require("./EmptyRouter.native.js"), module.exports);
23
+ //# 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": ";;;;;;;;;;;;AAAA;;AAqBA,oCAAc,0BArBd;",
5
- "names": []
6
- }
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_storybook_exports","module","exports"],"sources":["../../../src/router/index.storybook.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,uBAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAP,YAAA,CAAAK,uBAAc","ignoreList":[]}
@@ -3,16 +3,18 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
7
8
  get: () => from[key],
8
9
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
9
10
  });
10
- return to;
11
- },
12
- __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
13
15
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
14
- value: !0
16
+ value: true
15
17
  }), mod);
16
18
  var index_webext_exports = {};
17
19
  module.exports = __toCommonJS(index_webext_exports);
18
- __reExport(index_webext_exports, require("./reactRouter.cjs"), module.exports);
20
+ __reExport(index_webext_exports, require("./ReactRouter.cjs"), module.exports);
@@ -1,20 +1,23 @@
1
1
  "use strict";
2
+
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
7
  var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from == "object" || typeof from == "function")
8
- for (let key of __getOwnPropNames(from))
9
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
10
14
  return to;
11
- }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
12
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ };
16
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
18
+ value: true
19
+ }), mod);
13
20
  var index_webext_exports = {};
14
21
  module.exports = __toCommonJS(index_webext_exports);
15
- __reExport(index_webext_exports, require("./reactRouter"), module.exports);
16
- // Annotate the CommonJS export names for ESM import in node:
17
- 0 && (module.exports = {
18
- ...require("./reactRouter")
19
- });
20
- //# sourceMappingURL=index.webext.js.map
22
+ __reExport(index_webext_exports, require("./ReactRouter.native.js"), module.exports);
23
+ //# 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": ";;;;;;;;;;;;AAAA;;AAqBA,iCAAc,0BArBd;",
5
- "names": []
6
- }
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_webext_exports","module","exports"],"sources":["../../../src/router/index.webext.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,oBAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAP,YAAA,CAAAK,oBAAc","ignoreList":[]}
@@ -3,14 +3,16 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
7
- get: () => from[key],
8
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
9
- });
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
8
+ get: () => from[key],
9
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
10
+ });
11
+ }
10
12
  return to;
11
13
  };
12
14
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
13
- value: !0
15
+ value: true
14
16
  }), mod);
15
17
  var types_exports = {};
16
18
  module.exports = __toCommonJS(types_exports);
@@ -1,15 +1,21 @@
1
1
  "use strict";
2
+
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
7
  var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from == "object" || typeof from == "function")
8
- for (let key of __getOwnPropNames(from))
9
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
10
14
  return to;
11
15
  };
12
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
17
+ value: true
18
+ }), mod);
13
19
  var types_exports = {};
14
20
  module.exports = __toCommonJS(types_exports);
15
- //# sourceMappingURL=types.js.map
21
+ //# sourceMappingURL=types.native.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/home/clayrisser/Projects/bitspur/multiplatform.one/multiplatform.one/packages/router/src/types.tsx"],
4
- "mappings": ";;;;;;;;;;;;AAAA;;",
5
- "names": []
6
- }
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","types_exports"],"sources":["../../src/types.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA","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,3 @@
1
+ import { useSearchParams, useUrlState, useShareableUrl, useTypedSearchParams } from "./useUrlState.native.js";
2
+ export { useSearchParams, useShareableUrl, useTypedSearchParams, useUrlState };
3
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSearchParams","useUrlState","useShareableUrl","useTypedSearchParams"],"sources":["../../../src/hooks/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,eAAA,EAAAC,WAAA,EAAAC,eAAA,EAAAC,oBAAA;AAAA,SAEEH,eAAA,EACAE,eAAA,EACAC,oBAAA,EAAAF,WAGK","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":[]}