one 1.2.79 → 1.2.81

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 (178) hide show
  1. package/dist/cjs/Root.cjs +1 -1
  2. package/dist/cjs/Root.js +1 -1
  3. package/dist/cjs/Root.js.map +1 -1
  4. package/dist/cjs/Root.native.js +1 -1
  5. package/dist/cjs/Root.native.js.map +1 -1
  6. package/dist/cjs/drawer.cjs +27 -0
  7. package/dist/cjs/drawer.js +22 -0
  8. package/dist/cjs/drawer.js.map +6 -0
  9. package/dist/cjs/drawer.native.js +30 -0
  10. package/dist/cjs/drawer.native.js.map +1 -0
  11. package/dist/cjs/hooks.cjs +25 -2
  12. package/dist/cjs/hooks.js +23 -2
  13. package/dist/cjs/hooks.js.map +1 -1
  14. package/dist/cjs/hooks.native.js +147 -14
  15. package/dist/cjs/hooks.native.js.map +1 -1
  16. package/dist/cjs/hooks.test.cjs +73 -0
  17. package/dist/cjs/hooks.test.js +98 -0
  18. package/dist/cjs/hooks.test.js.map +6 -0
  19. package/dist/cjs/hooks.test.native.js +194 -0
  20. package/dist/cjs/hooks.test.native.js.map +1 -0
  21. package/dist/cjs/index.cjs +1 -0
  22. package/dist/cjs/index.js +1 -0
  23. package/dist/cjs/index.js.map +1 -1
  24. package/dist/cjs/index.native.js +1 -0
  25. package/dist/cjs/index.native.js.map +1 -1
  26. package/dist/cjs/link/prefetchIntent.cjs +122 -0
  27. package/dist/cjs/link/prefetchIntent.js +85 -0
  28. package/dist/cjs/link/prefetchIntent.js.map +6 -0
  29. package/dist/cjs/link/prefetchIntent.native.js +155 -0
  30. package/dist/cjs/link/prefetchIntent.native.js.map +1 -0
  31. package/dist/cjs/link/prefetchIntent.test.cjs +217 -0
  32. package/dist/cjs/link/prefetchIntent.test.js +149 -0
  33. package/dist/cjs/link/prefetchIntent.test.js.map +6 -0
  34. package/dist/cjs/link/prefetchIntent.test.native.js +239 -0
  35. package/dist/cjs/link/prefetchIntent.test.native.js.map +1 -0
  36. package/dist/cjs/link/prefetchViewport.cjs +67 -0
  37. package/dist/cjs/link/prefetchViewport.js +55 -0
  38. package/dist/cjs/link/prefetchViewport.js.map +6 -0
  39. package/dist/cjs/link/prefetchViewport.native.js +83 -0
  40. package/dist/cjs/link/prefetchViewport.native.js.map +1 -0
  41. package/dist/cjs/link/prefetchViewport.test.cjs +57 -0
  42. package/dist/cjs/link/prefetchViewport.test.js +59 -0
  43. package/dist/cjs/link/prefetchViewport.test.js.map +6 -0
  44. package/dist/cjs/link/prefetchViewport.test.native.js +85 -0
  45. package/dist/cjs/link/prefetchViewport.test.native.js.map +1 -0
  46. package/dist/cjs/router/findRouteNode.cjs +26 -0
  47. package/dist/cjs/router/findRouteNode.js +28 -0
  48. package/dist/cjs/router/findRouteNode.js.map +1 -1
  49. package/dist/cjs/router/findRouteNode.native.js +31 -0
  50. package/dist/cjs/router/findRouteNode.native.js.map +1 -1
  51. package/dist/cjs/router/router.cjs +11 -13
  52. package/dist/cjs/router/router.js +8 -10
  53. package/dist/cjs/router/router.js.map +2 -2
  54. package/dist/cjs/router/router.native.js +38 -122
  55. package/dist/cjs/router/router.native.js.map +1 -1
  56. package/dist/cjs/views/PreloadLinks.cjs +102 -18
  57. package/dist/cjs/views/PreloadLinks.js +95 -19
  58. package/dist/cjs/views/PreloadLinks.js.map +1 -1
  59. package/dist/cjs/vite/one.cjs +3 -0
  60. package/dist/cjs/vite/one.js +3 -0
  61. package/dist/cjs/vite/one.js.map +1 -1
  62. package/dist/cjs/vite/one.native.js +4 -0
  63. package/dist/cjs/vite/one.native.js.map +1 -1
  64. package/dist/esm/Root.js +1 -1
  65. package/dist/esm/Root.js.map +1 -1
  66. package/dist/esm/Root.mjs +1 -1
  67. package/dist/esm/Root.mjs.map +1 -1
  68. package/dist/esm/Root.native.js +1 -1
  69. package/dist/esm/Root.native.js.map +1 -1
  70. package/dist/esm/drawer.js +6 -0
  71. package/dist/esm/drawer.js.map +6 -0
  72. package/dist/esm/drawer.mjs +3 -0
  73. package/dist/esm/drawer.mjs.map +1 -0
  74. package/dist/esm/drawer.native.js +3 -0
  75. package/dist/esm/drawer.native.js.map +1 -0
  76. package/dist/esm/hooks.js +23 -2
  77. package/dist/esm/hooks.js.map +1 -1
  78. package/dist/esm/hooks.mjs +25 -3
  79. package/dist/esm/hooks.mjs.map +1 -1
  80. package/dist/esm/hooks.native.js +147 -15
  81. package/dist/esm/hooks.native.js.map +1 -1
  82. package/dist/esm/hooks.test.js +98 -0
  83. package/dist/esm/hooks.test.js.map +6 -0
  84. package/dist/esm/hooks.test.mjs +74 -0
  85. package/dist/esm/hooks.test.mjs.map +1 -0
  86. package/dist/esm/hooks.test.native.js +192 -0
  87. package/dist/esm/hooks.test.native.js.map +1 -0
  88. package/dist/esm/index.js +2 -0
  89. package/dist/esm/index.js.map +1 -1
  90. package/dist/esm/index.mjs +2 -2
  91. package/dist/esm/index.mjs.map +1 -1
  92. package/dist/esm/index.native.js +2 -2
  93. package/dist/esm/index.native.js.map +1 -1
  94. package/dist/esm/link/prefetchIntent.js +69 -0
  95. package/dist/esm/link/prefetchIntent.js.map +6 -0
  96. package/dist/esm/link/prefetchIntent.mjs +97 -0
  97. package/dist/esm/link/prefetchIntent.mjs.map +1 -0
  98. package/dist/esm/link/prefetchIntent.native.js +127 -0
  99. package/dist/esm/link/prefetchIntent.native.js.map +1 -0
  100. package/dist/esm/link/prefetchIntent.test.js +150 -0
  101. package/dist/esm/link/prefetchIntent.test.js.map +6 -0
  102. package/dist/esm/link/prefetchIntent.test.mjs +218 -0
  103. package/dist/esm/link/prefetchIntent.test.mjs.map +1 -0
  104. package/dist/esm/link/prefetchIntent.test.native.js +237 -0
  105. package/dist/esm/link/prefetchIntent.test.native.js.map +1 -0
  106. package/dist/esm/link/prefetchViewport.js +39 -0
  107. package/dist/esm/link/prefetchViewport.js.map +6 -0
  108. package/dist/esm/link/prefetchViewport.mjs +42 -0
  109. package/dist/esm/link/prefetchViewport.mjs.map +1 -0
  110. package/dist/esm/link/prefetchViewport.native.js +55 -0
  111. package/dist/esm/link/prefetchViewport.native.js.map +1 -0
  112. package/dist/esm/link/prefetchViewport.test.js +60 -0
  113. package/dist/esm/link/prefetchViewport.test.js.map +6 -0
  114. package/dist/esm/link/prefetchViewport.test.mjs +58 -0
  115. package/dist/esm/link/prefetchViewport.test.mjs.map +1 -0
  116. package/dist/esm/link/prefetchViewport.test.native.js +83 -0
  117. package/dist/esm/link/prefetchViewport.test.native.js.map +1 -0
  118. package/dist/esm/router/findRouteNode.js +28 -0
  119. package/dist/esm/router/findRouteNode.js.map +1 -1
  120. package/dist/esm/router/findRouteNode.mjs +26 -1
  121. package/dist/esm/router/findRouteNode.mjs.map +1 -1
  122. package/dist/esm/router/findRouteNode.native.js +31 -1
  123. package/dist/esm/router/findRouteNode.native.js.map +1 -1
  124. package/dist/esm/router/router.js +10 -11
  125. package/dist/esm/router/router.js.map +2 -2
  126. package/dist/esm/router/router.mjs +12 -14
  127. package/dist/esm/router/router.mjs.map +1 -1
  128. package/dist/esm/router/router.native.js +39 -123
  129. package/dist/esm/router/router.native.js.map +1 -1
  130. package/dist/esm/views/PreloadLinks.js +86 -17
  131. package/dist/esm/views/PreloadLinks.js.map +1 -1
  132. package/dist/esm/views/PreloadLinks.mjs +87 -14
  133. package/dist/esm/views/PreloadLinks.mjs.map +1 -1
  134. package/dist/esm/vite/one.js +3 -0
  135. package/dist/esm/vite/one.js.map +1 -1
  136. package/dist/esm/vite/one.mjs +3 -0
  137. package/dist/esm/vite/one.mjs.map +1 -1
  138. package/dist/esm/vite/one.native.js +4 -0
  139. package/dist/esm/vite/one.native.js.map +1 -1
  140. package/package.json +33 -12
  141. package/src/Root.tsx +1 -1
  142. package/src/drawer.ts +1 -0
  143. package/src/hooks.test.ts +157 -0
  144. package/src/hooks.tsx +79 -23
  145. package/src/index.ts +1 -0
  146. package/src/link/prefetchIntent.test.ts +416 -0
  147. package/src/link/prefetchIntent.ts +174 -0
  148. package/src/link/prefetchViewport.test.ts +120 -0
  149. package/src/link/prefetchViewport.ts +62 -0
  150. package/src/router/findRouteNode.ts +67 -0
  151. package/src/router/router.ts +68 -41
  152. package/src/views/PreloadLinks.tsx +156 -20
  153. package/src/vite/one.ts +4 -0
  154. package/src/vite/types.ts +12 -0
  155. package/types/drawer.d.ts +2 -0
  156. package/types/drawer.d.ts.map +1 -0
  157. package/types/hooks.d.ts +22 -0
  158. package/types/hooks.d.ts.map +1 -1
  159. package/types/hooks.test.d.ts +2 -0
  160. package/types/hooks.test.d.ts.map +1 -0
  161. package/types/index.d.ts +1 -1
  162. package/types/index.d.ts.map +1 -1
  163. package/types/link/prefetchIntent.d.ts +43 -0
  164. package/types/link/prefetchIntent.d.ts.map +1 -0
  165. package/types/link/prefetchIntent.test.d.ts +2 -0
  166. package/types/link/prefetchIntent.test.d.ts.map +1 -0
  167. package/types/link/prefetchViewport.d.ts +16 -0
  168. package/types/link/prefetchViewport.d.ts.map +1 -0
  169. package/types/link/prefetchViewport.test.d.ts +2 -0
  170. package/types/link/prefetchViewport.test.d.ts.map +1 -0
  171. package/types/router/findRouteNode.d.ts +11 -0
  172. package/types/router/findRouteNode.d.ts.map +1 -1
  173. package/types/router/router.d.ts.map +1 -1
  174. package/types/views/PreloadLinks.d.ts +9 -0
  175. package/types/views/PreloadLinks.d.ts.map +1 -1
  176. package/types/vite/one.d.ts.map +1 -1
  177. package/types/vite/types.d.ts +11 -0
  178. package/types/vite/types.d.ts.map +1 -1
@@ -0,0 +1,98 @@
1
+ var import_vitest = require("vitest");
2
+ class ReadOnlyURLSearchParams extends URLSearchParams {
3
+ set(_name, _value) {
4
+ throw new Error("useSearchParams returns a read-only URLSearchParams object");
5
+ }
6
+ append(_name, _value) {
7
+ throw new Error("useSearchParams returns a read-only URLSearchParams object");
8
+ }
9
+ delete(_name, _value) {
10
+ throw new Error("useSearchParams returns a read-only URLSearchParams object");
11
+ }
12
+ }
13
+ (0, import_vitest.describe)("ReadOnlyURLSearchParams", () => {
14
+ (0, import_vitest.it)("should allow reading values", () => {
15
+ const params = new ReadOnlyURLSearchParams([
16
+ ["sort", "price"],
17
+ ["category", "electronics"]
18
+ ]);
19
+ (0, import_vitest.expect)(params.get("sort")).toBe("price"), (0, import_vitest.expect)(params.get("category")).toBe("electronics"), (0, import_vitest.expect)(params.get("nonexistent")).toBe(null);
20
+ }), (0, import_vitest.it)("should support has()", () => {
21
+ const params = new ReadOnlyURLSearchParams([["key", "value"]]);
22
+ (0, import_vitest.expect)(params.has("key")).toBe(!0), (0, import_vitest.expect)(params.has("missing")).toBe(!1);
23
+ }), (0, import_vitest.it)("should support getAll() for repeated params", () => {
24
+ const params = new ReadOnlyURLSearchParams([
25
+ ["tag", "a"],
26
+ ["tag", "b"],
27
+ ["tag", "c"]
28
+ ]);
29
+ (0, import_vitest.expect)(params.getAll("tag")).toEqual(["a", "b", "c"]);
30
+ }), (0, import_vitest.it)("should support iteration", () => {
31
+ const params = new ReadOnlyURLSearchParams([
32
+ ["a", "1"],
33
+ ["b", "2"]
34
+ ]), entries = Array.from(params.entries());
35
+ (0, import_vitest.expect)(entries).toEqual([
36
+ ["a", "1"],
37
+ ["b", "2"]
38
+ ]);
39
+ }), (0, import_vitest.it)("should support toString()", () => {
40
+ const params = new ReadOnlyURLSearchParams([
41
+ ["sort", "price"],
42
+ ["page", "1"]
43
+ ]);
44
+ (0, import_vitest.expect)(params.toString()).toBe("sort=price&page=1");
45
+ }), (0, import_vitest.it)("should throw on set()", () => {
46
+ const params = new ReadOnlyURLSearchParams([["key", "value"]]);
47
+ (0, import_vitest.expect)(() => params.set("key", "new")).toThrow(
48
+ "useSearchParams returns a read-only URLSearchParams object"
49
+ );
50
+ }), (0, import_vitest.it)("should throw on append()", () => {
51
+ const params = new ReadOnlyURLSearchParams([["key", "value"]]);
52
+ (0, import_vitest.expect)(() => params.append("key", "another")).toThrow(
53
+ "useSearchParams returns a read-only URLSearchParams object"
54
+ );
55
+ }), (0, import_vitest.it)("should throw on delete()", () => {
56
+ const params = new ReadOnlyURLSearchParams([["key", "value"]]);
57
+ (0, import_vitest.expect)(() => params.delete("key")).toThrow(
58
+ "useSearchParams returns a read-only URLSearchParams object"
59
+ );
60
+ });
61
+ });
62
+ (0, import_vitest.describe)("useSearchParams param conversion", () => {
63
+ function paramsToEntries(params) {
64
+ return Object.entries(params).flatMap(([key, value]) => value === void 0 ? [] : Array.isArray(value) ? value.map((v) => [key, String(v)]) : [[key, String(value)]]);
65
+ }
66
+ (0, import_vitest.it)("should convert simple string params", () => {
67
+ const entries = paramsToEntries({ sort: "price", page: "1" });
68
+ (0, import_vitest.expect)(entries).toEqual([
69
+ ["sort", "price"],
70
+ ["page", "1"]
71
+ ]);
72
+ }), (0, import_vitest.it)("should expand array params into multiple entries", () => {
73
+ const entries = paramsToEntries({ tags: ["a", "b", "c"] });
74
+ (0, import_vitest.expect)(entries).toEqual([
75
+ ["tags", "a"],
76
+ ["tags", "b"],
77
+ ["tags", "c"]
78
+ ]);
79
+ }), (0, import_vitest.it)("should filter out undefined values", () => {
80
+ const entries = paramsToEntries({ present: "yes", missing: void 0 });
81
+ (0, import_vitest.expect)(entries).toEqual([["present", "yes"]]);
82
+ }), (0, import_vitest.it)("should handle mixed params", () => {
83
+ const entries = paramsToEntries({
84
+ single: "value",
85
+ multiple: ["x", "y"],
86
+ absent: void 0
87
+ });
88
+ (0, import_vitest.expect)(entries).toEqual([
89
+ ["single", "value"],
90
+ ["multiple", "x"],
91
+ ["multiple", "y"]
92
+ ]);
93
+ }), (0, import_vitest.it)("should handle empty params", () => {
94
+ const entries = paramsToEntries({});
95
+ (0, import_vitest.expect)(entries).toEqual([]);
96
+ });
97
+ });
98
+ //# sourceMappingURL=hooks.test.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/hooks.test.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+
3
+ var import_vitest = require("vitest");
4
+ function _assert_this_initialized(self) {
5
+ if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
6
+ return self;
7
+ }
8
+ function _call_super(_this, derived, args) {
9
+ return derived = _get_prototype_of(derived), _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
10
+ }
11
+ function _class_call_check(instance, Constructor) {
12
+ if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
13
+ }
14
+ function _construct(Parent, args, Class) {
15
+ return _is_native_reflect_construct() ? _construct = Reflect.construct : _construct = function (Parent2, args2, Class2) {
16
+ var a = [null];
17
+ a.push.apply(a, args2);
18
+ var Constructor = Function.bind.apply(Parent2, a),
19
+ instance = new Constructor();
20
+ return Class2 && _set_prototype_of(instance, Class2.prototype), instance;
21
+ }, _construct.apply(null, arguments);
22
+ }
23
+ function _defineProperties(target, props) {
24
+ for (var i = 0; i < props.length; i++) {
25
+ var descriptor = props[i];
26
+ descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
27
+ }
28
+ }
29
+ function _create_class(Constructor, protoProps, staticProps) {
30
+ return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;
31
+ }
32
+ function _get_prototype_of(o) {
33
+ return _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function (o2) {
34
+ return o2.__proto__ || Object.getPrototypeOf(o2);
35
+ }, _get_prototype_of(o);
36
+ }
37
+ function _inherits(subClass, superClass) {
38
+ if (typeof superClass != "function" && superClass !== null) throw new TypeError("Super expression must either be null or a function");
39
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
40
+ constructor: {
41
+ value: subClass,
42
+ writable: !0,
43
+ configurable: !0
44
+ }
45
+ }), superClass && _set_prototype_of(subClass, superClass);
46
+ }
47
+ function _is_native_function(fn) {
48
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
49
+ }
50
+ function _possible_constructor_return(self, call) {
51
+ return call && (_type_of(call) === "object" || typeof call == "function") ? call : _assert_this_initialized(self);
52
+ }
53
+ function _set_prototype_of(o, p) {
54
+ return _set_prototype_of = Object.setPrototypeOf || function (o2, p2) {
55
+ return o2.__proto__ = p2, o2;
56
+ }, _set_prototype_of(o, p);
57
+ }
58
+ function _type_of(obj) {
59
+ "@swc/helpers - typeof";
60
+
61
+ return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
62
+ }
63
+ function _wrap_native_super(Class) {
64
+ var _cache = typeof Map == "function" ? /* @__PURE__ */new Map() : void 0;
65
+ return _wrap_native_super = function (Class2) {
66
+ if (Class2 === null || !_is_native_function(Class2)) return Class2;
67
+ if (typeof Class2 != "function") throw new TypeError("Super expression must either be null or a function");
68
+ if (typeof _cache < "u") {
69
+ if (_cache.has(Class2)) return _cache.get(Class2);
70
+ _cache.set(Class2, Wrapper);
71
+ }
72
+ function Wrapper() {
73
+ return _construct(Class2, arguments, _get_prototype_of(this).constructor);
74
+ }
75
+ return Wrapper.prototype = Object.create(Class2.prototype, {
76
+ constructor: {
77
+ value: Wrapper,
78
+ enumerable: !1,
79
+ writable: !0,
80
+ configurable: !0
81
+ }
82
+ }), _set_prototype_of(Wrapper, Class2);
83
+ }, _wrap_native_super(Class);
84
+ }
85
+ function _is_native_reflect_construct() {
86
+ try {
87
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
88
+ } catch {}
89
+ return (_is_native_reflect_construct = function () {
90
+ return !!result;
91
+ })();
92
+ }
93
+ var ReadOnlyURLSearchParams = /* @__PURE__ */function (URLSearchParams1) {
94
+ "use strict";
95
+
96
+ _inherits(ReadOnlyURLSearchParams2, URLSearchParams1);
97
+ function ReadOnlyURLSearchParams2() {
98
+ return _class_call_check(this, ReadOnlyURLSearchParams2), _call_super(this, ReadOnlyURLSearchParams2, arguments);
99
+ }
100
+ return _create_class(ReadOnlyURLSearchParams2, [{
101
+ key: "set",
102
+ value: function (_name, _value) {
103
+ throw new Error("useSearchParams returns a read-only URLSearchParams object");
104
+ }
105
+ }, {
106
+ key: "append",
107
+ value: function (_name, _value) {
108
+ throw new Error("useSearchParams returns a read-only URLSearchParams object");
109
+ }
110
+ }, {
111
+ key: "delete",
112
+ value: function (_name, _value) {
113
+ throw new Error("useSearchParams returns a read-only URLSearchParams object");
114
+ }
115
+ }]), ReadOnlyURLSearchParams2;
116
+ }(_wrap_native_super(URLSearchParams));
117
+ (0, import_vitest.describe)("ReadOnlyURLSearchParams", function () {
118
+ (0, import_vitest.it)("should allow reading values", function () {
119
+ var params = new ReadOnlyURLSearchParams([["sort", "price"], ["category", "electronics"]]);
120
+ (0, import_vitest.expect)(params.get("sort")).toBe("price"), (0, import_vitest.expect)(params.get("category")).toBe("electronics"), (0, import_vitest.expect)(params.get("nonexistent")).toBe(null);
121
+ }), (0, import_vitest.it)("should support has()", function () {
122
+ var params = new ReadOnlyURLSearchParams([["key", "value"]]);
123
+ (0, import_vitest.expect)(params.has("key")).toBe(!0), (0, import_vitest.expect)(params.has("missing")).toBe(!1);
124
+ }), (0, import_vitest.it)("should support getAll() for repeated params", function () {
125
+ var params = new ReadOnlyURLSearchParams([["tag", "a"], ["tag", "b"], ["tag", "c"]]);
126
+ (0, import_vitest.expect)(params.getAll("tag")).toEqual(["a", "b", "c"]);
127
+ }), (0, import_vitest.it)("should support iteration", function () {
128
+ var params = new ReadOnlyURLSearchParams([["a", "1"], ["b", "2"]]),
129
+ entries = Array.from(params.entries());
130
+ (0, import_vitest.expect)(entries).toEqual([["a", "1"], ["b", "2"]]);
131
+ }), (0, import_vitest.it)("should support toString()", function () {
132
+ var params = new ReadOnlyURLSearchParams([["sort", "price"], ["page", "1"]]);
133
+ (0, import_vitest.expect)(params.toString()).toBe("sort=price&page=1");
134
+ }), (0, import_vitest.it)("should throw on set()", function () {
135
+ var params = new ReadOnlyURLSearchParams([["key", "value"]]);
136
+ (0, import_vitest.expect)(function () {
137
+ return params.set("key", "new");
138
+ }).toThrow("useSearchParams returns a read-only URLSearchParams object");
139
+ }), (0, import_vitest.it)("should throw on append()", function () {
140
+ var params = new ReadOnlyURLSearchParams([["key", "value"]]);
141
+ (0, import_vitest.expect)(function () {
142
+ return params.append("key", "another");
143
+ }).toThrow("useSearchParams returns a read-only URLSearchParams object");
144
+ }), (0, import_vitest.it)("should throw on delete()", function () {
145
+ var params = new ReadOnlyURLSearchParams([["key", "value"]]);
146
+ (0, import_vitest.expect)(function () {
147
+ return params.delete("key");
148
+ }).toThrow("useSearchParams returns a read-only URLSearchParams object");
149
+ });
150
+ });
151
+ (0, import_vitest.describe)("useSearchParams param conversion", function () {
152
+ function paramsToEntries(params) {
153
+ return Object.entries(params).flatMap(function (param) {
154
+ var [key, value] = param;
155
+ return value === void 0 ? [] : Array.isArray(value) ? value.map(function (v) {
156
+ return [key, String(v)];
157
+ }) : [[key, String(value)]];
158
+ });
159
+ }
160
+ (0, import_vitest.it)("should convert simple string params", function () {
161
+ var params = {
162
+ sort: "price",
163
+ page: "1"
164
+ },
165
+ entries = paramsToEntries(params);
166
+ (0, import_vitest.expect)(entries).toEqual([["sort", "price"], ["page", "1"]]);
167
+ }), (0, import_vitest.it)("should expand array params into multiple entries", function () {
168
+ var params = {
169
+ tags: ["a", "b", "c"]
170
+ },
171
+ entries = paramsToEntries(params);
172
+ (0, import_vitest.expect)(entries).toEqual([["tags", "a"], ["tags", "b"], ["tags", "c"]]);
173
+ }), (0, import_vitest.it)("should filter out undefined values", function () {
174
+ var params = {
175
+ present: "yes",
176
+ missing: void 0
177
+ },
178
+ entries = paramsToEntries(params);
179
+ (0, import_vitest.expect)(entries).toEqual([["present", "yes"]]);
180
+ }), (0, import_vitest.it)("should handle mixed params", function () {
181
+ var params = {
182
+ single: "value",
183
+ multiple: ["x", "y"],
184
+ absent: void 0
185
+ },
186
+ entries = paramsToEntries(params);
187
+ (0, import_vitest.expect)(entries).toEqual([["single", "value"], ["multiple", "x"], ["multiple", "y"]]);
188
+ }), (0, import_vitest.it)("should handle empty params", function () {
189
+ var params = {},
190
+ entries = paramsToEntries(params);
191
+ (0, import_vitest.expect)(entries).toEqual([]);
192
+ });
193
+ });
194
+ //# sourceMappingURL=hooks.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["import_vitest","require","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","value","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","obj","Symbol","_wrap_native_super","_cache","Map","has","get","set","Wrapper","result","Boolean","valueOf"],"sources":["../../src/hooks.test.ts"],"sourcesContent":[null],"mappings":"AAAA;;AAKA,IAAAA,aAAM,GAAAC,OAAA;AAAgD,SACvCC,wBAAqCA,CAAAC,IAAA;EAChD,IAAAA,IAAM,KAAI,KAAM,GAClB,UAAAC,cAAA;EACS,OAAOD,IAAA;AACd;AAA4E,SAC9EE,YAAAC,KAAA,EAAAC,OAAA,EAAAC,IAAA;EACS,OAAOD,OAAe,GAAAE,iBAAuB,CAAAF,OAAA,GAAAG,4BAAA,CAAAJ,KAAA,EAAAK,4BAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,OAAA,EAAAC,IAAA,QAAAC,iBAAA,CAAAH,KAAA,EAAAQ,WAAA,IAAAP,OAAA,CAAAQ,KAAA,CAAAT,KAAA,EAAAE,IAAA;AACpD;AAA4E,SAC9EQ,kBAAAC,QAAA,EAAAC,WAAA;EACF,MAAAD,QAAA,YAAAC,WAAA,GAEA,UAAAC,SAAA,oCAAoC;AAClC;AACE,SAAAC,UAAeA,CAAAC,MAAI,EAAAb,IAAA,EAAAc,KAAA;EAAwB,OACxCX,4BAAe,KAAAS,UAAA,GAAAR,OAAA,CAAAC,SAAA,GAAAO,UAAA,YAAAA,CAAAG,OAAA,EAAAC,KAAA,EAAAC,MAAA;IAAA,IACfC,CAAA,IACF,KAED;IAGDA,CAAA,CAAAC,IAED,CAAAZ,KAAA,CAAAW,CAAA,EAAAF,KAAA;IACE,IAAAN,WAAe,GAAAU,QAAI,CAAAC,IAAA,CAAAd,KAAA,CAAAQ,OAA0B,EAAAG,CAAA;MAAAT,QAAc,GAAE,IAAAC,WAAA;IAE7D,OAAAO,MAAA,IAAAK,iBAAc,CAAAb,QAAU,EAAEQ,MAAK,CAAIM,SACnC,GAAAd,QAAA;EACF,CAAC,EAAAG,UAED,CAAAL,KAAA,OAAGiB,SAAA;AACD;AAA2C,SACxCC,iBAAUA,CAAAC,MAAA,EAAAC,KAAA;EAAA,KACV,IAAAC,CAAA,GAAO,GAAGA,CAAA,GAAAD,KAAA,CAAAE,MAAA,EAAAD,CAAA;IAAA,IACVE,UAAU,GAAAH,KAAA,CAAAC,CAAA;IACbE,UAAC,CAAAC,UAAA,GAAAD,UAAA,CAAAC,UAAA,QAAAD,UAAA,CAAAE,YAAA,kBAAAF,UAAA,KAAAA,UAAA,CAAAG,QAAA,QAAAC,MAAA,CAAAC,cAAA,CAAAT,MAAA,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EAED;AAAoD;AAIpD,SAAAO,aAAeA,CAAI3B,WAAA,EAAA4B,UAAA,EAAwBC,WAAA;EAAA,OACxCD,UAAQ,IAAAb,iBAAA,CAAAf,WAAA,CAAAa,SAAA,EAAAe,UAAA,GAAAC,WAAA,IAAAd,iBAAA,CAAAf,WAAA,EAAA6B,WAAA,GAAA7B,WAAA;AAAA;AACA,SAGLT,iBAAgBA,CAAAuC,CAAA,EAAK;EAC3B,OAAAvC,iBAAA,GAAAiC,MAAO,CAAAO,cAAiB,GAAAP,MAAA,CAAAQ,cAAA,aAAAC,EAAA;IAAA,OACrBA,EAAK,CAAAC,SAAG,IAAAV,MAAA,CAAAQ,cAAA,CAAAC,EAAA;EAAA,GAAA1C,iBACA,CAAAuC,CAAA;AAAA;AACV,SACFK,SAEDA,CAAAC,QAAA,EAAGC,UAAA;EACD,WAAMA,UAAa,kBAAAA,UAAwB,iBACxC,IAAApC,SAAe;EAAAmC,QACf,CAAAvB,SAAW,GAAAW,MAAA,CAAAc,MAAA,CAAAD,UAAA,IAAAA,UAAA,CAAAxB,SAAA;IACdjB,WAAC;MAED2C,KAAA,EAAAH,QAAA;MACDb,QAED;MACED,YAAM,EAAS;IAEf;EAAuC,IACrCe,UAAA,IAAAzB,iBAAA,CAAAwB,QAAA,EAAAC,UAAA;AAAA;AACF,SACDG,mBAEEA,CAAAC,EAAA;EACD,OAAA/B,QAAM,CAAAgC,QAAa,CAAAC,IAAA,CAAAF,EAAA,EAAAG,OAAA,gBAAiC,MAAS;AAE7D;AAA8C,SAC5CpD,6BAAAP,IAAA,EAAA0D,IAAA;EAAA,OACFA,IAAA,KAAAE,QAAA,CAAAF,IAAA,yBAAAA,IAAA,kBAAAA,IAAA,GAAA3D,wBAAA,CAAAC,IAAA;AAAA;AAIA,SAAA2B,iBAAmBA,CAAAkB,CAAA,EAAAgB,CAAA;EAEnB,OAAAlC,iBAAA,GAAAY,MAAO,CAAMO,cAAc,cAAQE,EAAA,EAAAc,EAAA;IAAA,OACjCd,EAAA,CAAAC,SAAA,GAAAa,EAAA,EAAAd,EAAA;EAAA,GACFrB,iBAAA,CAAAkB,CAAA,EAAAgB,CAAA;AAAA;AAEJ,SAACD,SAAAG,GAAA;EAAA,uBAED;;EAGE,OAAAA,GAAS,WAAAC,MACP,MACoB,IAAAD,GAAA,CAAApD,WAAA,KAAAqD,MAAA,qBAAAD,GAAA;AACpB;AAKC,SACHE,mBAAA9C,KAAA;EAEA,IAAA+C,MAAA,UAAAC,GAAG,oCAAAA,GAAuC,KAAM;EAE9C,OAAAF,kBAAgB,YAAAA,CADC3C,MAAM;IAGvB,IAAAA,MAAA,cAAAiC,mBAAwB,CAAAjC,MAAA,UAAAA,MAAA;IAAA,IACrB,OAAQA,MAAA,IAAO,YAChB,MAAC,IAAQN,SAAG;IACd,IAAC,OAAAkD,MAAA;MACF,IAEDA,MAAA,CAAAE,GAAA,CAAA9C,MAAA,CAAG,SAAA4C,MAAA,CAAAG,GAAA,CAAA/C,MAAA;MAED4C,MAAM,CAAAI,GAAA,CAAAhD,MAAU,EAAAiD,OAAA;IAEhB;IAAwB,SACrBA,OAAWA,CAAA;MACZ,OAACtD,UAAW,CAAAK,MAAA,EAAAO,SAAA,EAAAvB,iBAAA,OAAAK,WAAA;IAAA;IAEd,OAAC4D,OAAA,CAAA3C,SAAA,GAAAW,MAAA,CAAAc,MAAA,CAAA/B,MAAA,CAAAM,SAAA;MACFjB,WAED;QAEE2C,KAAM,EAAAiB,OAAU;QAEhBnC,UAAA;QACDE,QAED;QAMED,YAAgB;MAJd;IAAQ,EACR,EAAAV,iBAAmB,CAAA4C,OAAA,EAAAjD,MAAA;EAAA,GAAA2C,kBACX,CAAA9C,KAAA;AAAA;AAIV,SAAAX,4BAAcA,CAAA,EAAE;EAAQ,IACtB;IAAkB,IACjBgE,MAAA,IAAAC,OAAe,CAAA7C,SAAA,CAAA8C,OAAA,CAAAhB,IAAA,CAAAjD,OAAA,CAAAC,SAAA,CAAA+D,OAAA,qBAChB,CAAC;EAAe,EAClB,MAAC,CACH;EAIE,QAAMjE,4BAAgC,YAAAA,CAAA;IAEtC,SAAAgE,MAAA;EACF,CAAC;AACH","ignoreList":[]}
@@ -87,6 +87,7 @@ __export(index_exports, {
87
87
  useRouter: () => import_hooks.useRouter,
88
88
  useSafeAreaInsets: () => import_react_native_safe_area_context.useSafeAreaInsets,
89
89
  useScrollGroup: () => import_useScrollGroup.useScrollGroup,
90
+ useSearchParams: () => import_hooks.useSearchParams,
90
91
  useSegments: () => import_hooks.useSegments,
91
92
  useServerHeadInsertion: () => import_useServerHeadInsertion.useServerHeadInsertion,
92
93
  useUnstableGlobalHref: () => import_hooks.useUnstableGlobalHref,
package/dist/cjs/index.js CHANGED
@@ -76,6 +76,7 @@ __export(index_exports, {
76
76
  useRouter: () => import_hooks.useRouter,
77
77
  useSafeAreaInsets: () => import_react_native_safe_area_context.useSafeAreaInsets,
78
78
  useScrollGroup: () => import_useScrollGroup.useScrollGroup,
79
+ useSearchParams: () => import_hooks.useSearchParams,
79
80
  useSegments: () => import_hooks.useSegments,
80
81
  useServerHeadInsertion: () => import_useServerHeadInsertion.useServerHeadInsertion,
81
82
  useUnstableGlobalHref: () => import_hooks.useUnstableGlobalHref,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0B,wBA2C1B,cAA6B;AAE7B,0BAAc,+BA7Cd;AAiDA,4CAAgD,2CAChD,8BAAsC,mCAGtC,0BAAkD,+BAClD,gBAAuB,qBACvB,cAAqB,mBAErB,eAWO,oBACP,cAAqB,mBAErB,eAAsB,4BACtB,cAAqB,2BACrB,mBAA+C,8BAY/C,2BAAkC,wCAClC,cAAqB,wBACrB,kBAAyB,4BACzB,mBAA0B,6BAC1B,cAAqB,mBAErB,gBAAuB,qBACvB,qBAAmC,iCAEnC,wBAAuB,oCACvB,cAA6B,wCAC7B,uBAA8B,mCAC9B,uBAAuC,mCAGvC,oBAKO,yBAEP,wBAWO,6BAEP,gBAAyD,4BAEzD,wBAA+B,6BAC/B,mBAMO,wBACP,oBAMO,yBACP,gCAGO,qCACP,oBAA2B,+BAC3B,kBAAyB,6BACzB,mBAA0B,8BAC1B,uBAA8B,kCAE9B,yBAAgC,oCAChC,mBAAgC,8BAChC,wBAA+B,mCAC/B,yBAA2D,oCAE3D,wBAA+B,6BAE/B,yBAAiE;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0B,wBA2C1B,cAA6B;AAE7B,0BAAc,+BA7Cd;AAiDA,4CAAgD,2CAChD,8BAAsC,mCAGtC,0BAAkD,+BAClD,gBAAuB,qBACvB,cAAqB,mBAErB,eAYO,oBACP,cAAqB,mBAErB,eAAsB,4BACtB,cAAqB,2BACrB,mBAA+C,8BAY/C,2BAAkC,wCAClC,cAAqB,wBACrB,kBAAyB,4BACzB,mBAA0B,6BAC1B,cAAqB,mBAErB,gBAAuB,qBACvB,qBAAmC,iCAEnC,wBAAuB,oCACvB,cAA6B,wCAC7B,uBAA8B,mCAC9B,uBAAuC,mCAGvC,oBAKO,yBAEP,wBAWO,6BAEP,gBAAyD,4BAEzD,wBAA+B,6BAC/B,mBAMO,wBACP,oBAMO,yBACP,gCAGO,qCACP,oBAA2B,+BAC3B,kBAAyB,6BACzB,mBAA0B,8BAC1B,uBAA8B,kCAE9B,yBAAgC,oCAChC,mBAAgC,8BAChC,wBAA+B,mCAC/B,yBAA2D,oCAE3D,wBAA+B,6BAE/B,yBAAiE;",
5
5
  "names": []
6
6
  }
@@ -89,6 +89,7 @@ __export(index_exports, {
89
89
  useRouter: () => import_hooks.useRouter,
90
90
  useSafeAreaInsets: () => import_react_native_safe_area_context.useSafeAreaInsets,
91
91
  useScrollGroup: () => import_useScrollGroup.useScrollGroup,
92
+ useSearchParams: () => import_hooks.useSearchParams,
92
93
  useSegments: () => import_hooks.useSegments,
93
94
  useServerHeadInsertion: () => import_useServerHeadInsertion.useServerHeadInsertion,
94
95
  useUnstableGlobalHref: () => import_hooks.useUnstableGlobalHref,
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","ErrorBoundary","import_ErrorBoundary","Head","import_head","Link","import_Link","LoadProgressBar","import_LoadProgressBar","Navigator","import_Navigator","ParamValidationError","import_validateParams","Protected","import_Protected","Redirect","import_Redirect","Root","import_Root","RouteValidationError","SafeAreaView","import_react_native_safe_area_context","ScrollBehavior","import_ScrollBehavior","Slot","SourceInspector","import_SourceInspector","Stack","import_Stack","Tabs","import_Tabs","createApp","import_createApp","createMiddleware","import_createMiddleware","createRoute","import_createRoute","getLoaderTimingHistory","import_useLoader","getServerData","import_one_server_only","getURL","import_getURL","href","import_href","isResponse","import_isResponse","onClientLoaderResolve","import_clientLoaderResolver","redirect","import_redirect","refetchLoader","registerPreloadedRoute","import_useViteRoutes","render","import_render","route","router","import_imperative_api","routerStore","_routerStore","setClientMatches","import_useMatches","setResponseHeaders","setServerData","useActiveParams","import_hooks","useBlocker","import_useBlocker","useFocusEffect","import_useFocusEffect","useGlobalSearchParams","useIsFocused","import_core","useLinkTo","import_useLinkTo","useLoader","useLoaderState","useLocalSearchParams","useMatch","useMatches","useNavigation","import_useNavigation","useNavigationContainerRef","usePageMatch","useParams","usePathname","useRootNavigationState","useRouter","useSafeAreaInsets","useScrollGroup","import_useScrollGroup","useSegments","useServerHeadInsertion","import_useServerHeadInsertion","useUnstableGlobalHref","useValidationState","import_router","validateParams","watchFile","import_watchFile","withLayoutContext","import_withLayoutContext","zodParamValidator","module","exports","require","__reExport"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAA;EAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;IAAAC,KAAA;EAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAC,oBAAA,CAAAD,aAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAC,WAAA,CAAAD,IAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAC,WAAA,CAAAD,IAAA;EAAAE,eAAA,EAAAA,CAAA,KAAAC,sBAAA,CAAAD,eAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,SAAA;EAAAE,oBAAA,EAAAA,CAAA,KAAAC,qBAAA,CAAAD,oBAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,SAAA;EAAAE,QAAA,EAAAA,CAAA,KAAAC,eAAA,CAAAD,QAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAC,WAAA,CAAAD,IAAA;EAAAE,oBAAA,EAAAA,CAAA,KAAAP,qBAAA,CAAAO,oBAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAC,qCAAA,CAAAD,YAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAC,qBAAA,CAAAD,cAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAd,gBAAA,CAAAc,IAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAC,sBAAA,CAAAD,eAAA;EAAAE,KAAA,EAAAA,CAAA,KAAAC,YAAA,CAAAD,KAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAC,WAAA,CAAAD,IAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,SAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAC,uBAAA,CAAAD,gBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAC,kBAAA,CAAAD,WAAA;EAAAE,sBAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,sBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAC,sBAAA,CAAAD,aAAA;EAAAE,MAAA,EAAAA,CAAA,KAAAC,aAAA,CAAAD,MAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAC,WAAA,CAAAD,IAAA;EAAAE,UAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,UAAA;EAAAE,qBAAA,EAAAA,CAAA,KAAAC,2BAAA,CAAAD,qBAAA;EAAAE,QAAA,EAAAA,CAAA,KAAAC,eAAA,CAAAD,QAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAb,gBAAA,CAAAa,aAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAC,oBAAA,CAAAD,sBAAA;EAAAE,MAAA,EAAAA,CAAA,KAAAC,aAAA,CAAAD,MAAA;EAAAE,KAAA,EAAAA,CAAA,KAAApB,kBAAA,CAAAoB,KAAA;EAAAC,MAAA,EAAAA,CAAA,KAAAC,qBAAA,CAAAD,MAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAC,YAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,gBAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAvB,sBAAA,CAAAuB,kBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAxB,sBAAA,CAAAwB,aAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAC,YAAA,CAAAD,eAAA;EAAAE,UAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,UAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAC,qBAAA,CAAAD,cAAA;EAAAE,qBAAA,EAAAA,CAAA,KAAAL,YAAA,CAAAK,qBAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAC,WAAA,CAAAD,YAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,SAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAtC,gBAAA,CAAAsC,SAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAvC,gBAAA,CAAAuC,cAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAZ,YAAA,CAAAY,oBAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAjB,iBAAA,CAAAiB,QAAA;EAAAC,UAAA,EAAAA,CAAA,KAAAlB,iBAAA,CAAAkB,UAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAC,oBAAA,CAAAD,aAAA;EAAAE,yBAAA,EAAAA,CAAA,KAAAjB,YAAA,CAAAiB,yBAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAtB,iBAAA,CAAAsB,YAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAnB,YAAA,CAAAmB,SAAA;EAAAC,WAAA,EAAAA,CAAA,KAAApB,YAAA,CAAAoB,WAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAArB,YAAA,CAAAqB,sBAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAtB,YAAA,CAAAsB,SAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAApE,qCAAA,CAAAoE,iBAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAC,qBAAA,CAAAD,cAAA;EAAAE,WAAA,EAAAA,CAAA,KAAA1B,YAAA,CAAA0B,WAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAC,6BAAA,CAAAD,sBAAA;EAAAE,qBAAA,EAAAA,CAAA,KAAA7B,YAAA,CAAA6B,qBAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAC,aAAA,CAAAD,kBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAtF,qBAAA,CAAAsF,cAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,SAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAC,wBAAA,CAAAD,iBAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAA3F,qBAAA,CAAA2F;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAA/G,YAA0B,CAAAK,aAAA;AA6C1B,IAAAiC,gBAAA,GAAA0E,OAAc;EAAAjC,WA7Cd,GAAAiC,OAAA;AAiDAC,UAAA,CAAA5G,aAAA,EAAA2G,OAAA,qBAAgD,GAAAF,MAAA,CAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","ErrorBoundary","import_ErrorBoundary","Head","import_head","Link","import_Link","LoadProgressBar","import_LoadProgressBar","Navigator","import_Navigator","ParamValidationError","import_validateParams","Protected","import_Protected","Redirect","import_Redirect","Root","import_Root","RouteValidationError","SafeAreaView","import_react_native_safe_area_context","ScrollBehavior","import_ScrollBehavior","Slot","SourceInspector","import_SourceInspector","Stack","import_Stack","Tabs","import_Tabs","createApp","import_createApp","createMiddleware","import_createMiddleware","createRoute","import_createRoute","getLoaderTimingHistory","import_useLoader","getServerData","import_one_server_only","getURL","import_getURL","href","import_href","isResponse","import_isResponse","onClientLoaderResolve","import_clientLoaderResolver","redirect","import_redirect","refetchLoader","registerPreloadedRoute","import_useViteRoutes","render","import_render","route","router","import_imperative_api","routerStore","_routerStore","setClientMatches","import_useMatches","setResponseHeaders","setServerData","useActiveParams","import_hooks","useBlocker","import_useBlocker","useFocusEffect","import_useFocusEffect","useGlobalSearchParams","useIsFocused","import_core","useLinkTo","import_useLinkTo","useLoader","useLoaderState","useLocalSearchParams","useMatch","useMatches","useNavigation","import_useNavigation","useNavigationContainerRef","usePageMatch","useParams","usePathname","useRootNavigationState","useRouter","useSafeAreaInsets","useScrollGroup","import_useScrollGroup","useSearchParams","useSegments","useServerHeadInsertion","import_useServerHeadInsertion","useUnstableGlobalHref","useValidationState","import_router","validateParams","watchFile","import_watchFile","withLayoutContext","import_withLayoutContext","zodParamValidator","module","exports","require","__reExport"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,122 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var prefetchIntent_exports = {};
22
+ __export(prefetchIntent_exports, {
23
+ createPrefetchIntent: () => createPrefetchIntent,
24
+ observePrefetchIntent: () => observePrefetchIntent,
25
+ startPrefetchIntent: () => startPrefetchIntent
26
+ });
27
+ module.exports = __toCommonJS(prefetchIntent_exports);
28
+ function createPrefetchIntent(options) {
29
+ const {
30
+ onPrefetch,
31
+ maxReach = 500,
32
+ perpWeight = 5,
33
+ minSpeed = 8
34
+ } = options,
35
+ done = /* @__PURE__ */new Set();
36
+ let rects = [],
37
+ px = 0,
38
+ py = 0,
39
+ vx = 0,
40
+ vy = 0,
41
+ moveCount = 0,
42
+ lastPrefetchMove = 0;
43
+ function setRects(newRects) {
44
+ rects = newRects.filter(r => !done.has(r.h));
45
+ }
46
+ function move(x, y, dx, dy) {
47
+ moveCount++;
48
+ const smooth = moveCount < 3 ? 0.3 : 0.6;
49
+ vx = vx * smooth + dx * (1 - smooth), vy = vy * smooth + dy * (1 - smooth), px = x, py = y;
50
+ const speed = Math.sqrt(vx * vx + vy * vy);
51
+ if (speed < minSpeed) return;
52
+ const ux = vx / speed,
53
+ uy = vy / speed;
54
+ let best = 1 / 0,
55
+ href = "";
56
+ for (const {
57
+ r,
58
+ h
59
+ } of rects) {
60
+ const cx = (r.left + r.right) / 2 - px,
61
+ cy = (r.top + r.bottom) / 2 - py,
62
+ dist = Math.sqrt(cx * cx + cy * cy),
63
+ along = cx * ux + cy * uy;
64
+ if (along < 0) continue;
65
+ const perpX = cx - along * ux,
66
+ perpY = cy - along * uy,
67
+ perp = Math.sqrt(perpX * perpX + perpY * perpY),
68
+ baseRadius = Math.max(r.width, r.height) / 2 + 30,
69
+ distanceFactor = Math.max(0.2, 1 - dist / 1e3),
70
+ radius = baseRadius * distanceFactor + 20;
71
+ if (perp > radius) continue;
72
+ const score = along + perp * perpWeight;
73
+ score < best && (best = score, href = h);
74
+ }
75
+ href && best < maxReach && moveCount - lastPrefetchMove > 1 && (done.add(href), rects = rects.filter(r => r.h !== href), lastPrefetchMove = moveCount, onPrefetch(href));
76
+ }
77
+ const nodes = /* @__PURE__ */new Map();
78
+ function observe(el, href) {
79
+ return nodes.set(el, href), () => {
80
+ nodes.delete(el), done.delete(href);
81
+ };
82
+ }
83
+ return {
84
+ setRects,
85
+ move,
86
+ observe,
87
+ nodes,
88
+ done
89
+ };
90
+ }
91
+ let instance = null,
92
+ started = !1;
93
+ function startPrefetchIntent(onPrefetch) {
94
+ if (started) return instance;
95
+ started = !0, instance = createPrefetchIntent({
96
+ onPrefetch
97
+ });
98
+ let frame = 0,
99
+ px = 0,
100
+ py = 0;
101
+ function measure() {
102
+ if (!instance.nodes.size) return setTimeout(measure, 300);
103
+ const io = new IntersectionObserver(entries => {
104
+ io.disconnect(), instance.setRects(entries.filter(e => e.isIntersecting).map(e => ({
105
+ r: e.boundingClientRect,
106
+ h: instance.nodes.get(e.target)
107
+ })).filter(x => x.h)), setTimeout(measure, 300);
108
+ });
109
+ instance.nodes.forEach((_, el) => io.observe(el));
110
+ }
111
+ return measure(), document.addEventListener("mousemove", e => {
112
+ if (++frame % 4) return;
113
+ const dx = e.clientX - px,
114
+ dy = e.clientY - py;
115
+ px = e.clientX, py = e.clientY, instance.move(px, py, dx, dy);
116
+ }, {
117
+ passive: !0
118
+ }), instance;
119
+ }
120
+ function observePrefetchIntent(el, href) {
121
+ return instance ? instance.observe(el, href) : () => {};
122
+ }
@@ -0,0 +1,85 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var prefetchIntent_exports = {};
16
+ __export(prefetchIntent_exports, {
17
+ createPrefetchIntent: () => createPrefetchIntent,
18
+ observePrefetchIntent: () => observePrefetchIntent,
19
+ startPrefetchIntent: () => startPrefetchIntent
20
+ });
21
+ module.exports = __toCommonJS(prefetchIntent_exports);
22
+ function createPrefetchIntent(options) {
23
+ const { onPrefetch, maxReach = 500, perpWeight = 5, minSpeed = 8 } = options, done = /* @__PURE__ */ new Set();
24
+ let rects = [], px = 0, py = 0, vx = 0, vy = 0, moveCount = 0, lastPrefetchMove = 0;
25
+ function setRects(newRects) {
26
+ rects = newRects.filter((r) => !done.has(r.h));
27
+ }
28
+ function move(x, y, dx, dy) {
29
+ moveCount++;
30
+ const smooth = moveCount < 3 ? 0.3 : 0.6;
31
+ vx = vx * smooth + dx * (1 - smooth), vy = vy * smooth + dy * (1 - smooth), px = x, py = y;
32
+ const speed = Math.sqrt(vx * vx + vy * vy);
33
+ if (speed < minSpeed) return;
34
+ const ux = vx / speed, uy = vy / speed;
35
+ let best = 1 / 0, href = "";
36
+ for (const { r, h } of rects) {
37
+ const cx = (r.left + r.right) / 2 - px, cy = (r.top + r.bottom) / 2 - py, dist = Math.sqrt(cx * cx + cy * cy), along = cx * ux + cy * uy;
38
+ if (along < 0) continue;
39
+ const perpX = cx - along * ux, perpY = cy - along * uy, perp = Math.sqrt(perpX * perpX + perpY * perpY), baseRadius = Math.max(r.width, r.height) / 2 + 30, distanceFactor = Math.max(0.2, 1 - dist / 1e3), radius = baseRadius * distanceFactor + 20;
40
+ if (perp > radius) continue;
41
+ const score = along + perp * perpWeight;
42
+ score < best && (best = score, href = h);
43
+ }
44
+ href && best < maxReach && moveCount - lastPrefetchMove > 1 && (done.add(href), rects = rects.filter((r) => r.h !== href), lastPrefetchMove = moveCount, onPrefetch(href));
45
+ }
46
+ const nodes = /* @__PURE__ */ new Map();
47
+ function observe(el, href) {
48
+ return nodes.set(el, href), () => {
49
+ nodes.delete(el), done.delete(href);
50
+ };
51
+ }
52
+ return { setRects, move, observe, nodes, done };
53
+ }
54
+ let instance = null, started = !1;
55
+ function startPrefetchIntent(onPrefetch) {
56
+ if (started) return instance;
57
+ started = !0, instance = createPrefetchIntent({ onPrefetch });
58
+ let frame = 0, px = 0, py = 0;
59
+ function measure() {
60
+ if (!instance.nodes.size) return setTimeout(measure, 300);
61
+ const io = new IntersectionObserver((entries) => {
62
+ io.disconnect(), instance.setRects(
63
+ entries.filter((e) => e.isIntersecting).map((e) => ({
64
+ r: e.boundingClientRect,
65
+ h: instance.nodes.get(e.target)
66
+ })).filter((x) => x.h)
67
+ ), setTimeout(measure, 300);
68
+ });
69
+ instance.nodes.forEach((_, el) => io.observe(el));
70
+ }
71
+ return measure(), document.addEventListener(
72
+ "mousemove",
73
+ (e) => {
74
+ if (++frame % 4) return;
75
+ const dx = e.clientX - px, dy = e.clientY - py;
76
+ px = e.clientX, py = e.clientY, instance.move(px, py, dx, dy);
77
+ },
78
+ { passive: !0 }
79
+ ), instance;
80
+ }
81
+ function observePrefetchIntent(el, href) {
82
+ return instance ? instance.observe(el, href) : () => {
83
+ };
84
+ }
85
+ //# sourceMappingURL=prefetchIntent.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/link/prefetchIntent.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }