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,192 @@
1
+ import { describe, expect, it } from "vitest";
2
+ function _assert_this_initialized(self) {
3
+ if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
4
+ return self;
5
+ }
6
+ function _call_super(_this, derived, args) {
7
+ 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));
8
+ }
9
+ function _class_call_check(instance, Constructor) {
10
+ if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
11
+ }
12
+ function _construct(Parent, args, Class) {
13
+ return _is_native_reflect_construct() ? _construct = Reflect.construct : _construct = function (Parent2, args2, Class2) {
14
+ var a = [null];
15
+ a.push.apply(a, args2);
16
+ var Constructor = Function.bind.apply(Parent2, a),
17
+ instance = new Constructor();
18
+ return Class2 && _set_prototype_of(instance, Class2.prototype), instance;
19
+ }, _construct.apply(null, arguments);
20
+ }
21
+ function _defineProperties(target, props) {
22
+ for (var i = 0; i < props.length; i++) {
23
+ var descriptor = props[i];
24
+ descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
25
+ }
26
+ }
27
+ function _create_class(Constructor, protoProps, staticProps) {
28
+ return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;
29
+ }
30
+ function _get_prototype_of(o) {
31
+ return _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function (o2) {
32
+ return o2.__proto__ || Object.getPrototypeOf(o2);
33
+ }, _get_prototype_of(o);
34
+ }
35
+ function _inherits(subClass, superClass) {
36
+ if (typeof superClass != "function" && superClass !== null) throw new TypeError("Super expression must either be null or a function");
37
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
38
+ constructor: {
39
+ value: subClass,
40
+ writable: !0,
41
+ configurable: !0
42
+ }
43
+ }), superClass && _set_prototype_of(subClass, superClass);
44
+ }
45
+ function _is_native_function(fn) {
46
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
47
+ }
48
+ function _possible_constructor_return(self, call) {
49
+ return call && (_type_of(call) === "object" || typeof call == "function") ? call : _assert_this_initialized(self);
50
+ }
51
+ function _set_prototype_of(o, p) {
52
+ return _set_prototype_of = Object.setPrototypeOf || function (o2, p2) {
53
+ return o2.__proto__ = p2, o2;
54
+ }, _set_prototype_of(o, p);
55
+ }
56
+ function _type_of(obj) {
57
+ "@swc/helpers - typeof";
58
+
59
+ return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
60
+ }
61
+ function _wrap_native_super(Class) {
62
+ var _cache = typeof Map == "function" ? /* @__PURE__ */new Map() : void 0;
63
+ return _wrap_native_super = function (Class2) {
64
+ if (Class2 === null || !_is_native_function(Class2)) return Class2;
65
+ if (typeof Class2 != "function") throw new TypeError("Super expression must either be null or a function");
66
+ if (typeof _cache < "u") {
67
+ if (_cache.has(Class2)) return _cache.get(Class2);
68
+ _cache.set(Class2, Wrapper);
69
+ }
70
+ function Wrapper() {
71
+ return _construct(Class2, arguments, _get_prototype_of(this).constructor);
72
+ }
73
+ return Wrapper.prototype = Object.create(Class2.prototype, {
74
+ constructor: {
75
+ value: Wrapper,
76
+ enumerable: !1,
77
+ writable: !0,
78
+ configurable: !0
79
+ }
80
+ }), _set_prototype_of(Wrapper, Class2);
81
+ }, _wrap_native_super(Class);
82
+ }
83
+ function _is_native_reflect_construct() {
84
+ try {
85
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
86
+ } catch {}
87
+ return (_is_native_reflect_construct = function () {
88
+ return !!result;
89
+ })();
90
+ }
91
+ var ReadOnlyURLSearchParams = /* @__PURE__ */function (URLSearchParams1) {
92
+ "use strict";
93
+
94
+ _inherits(ReadOnlyURLSearchParams2, URLSearchParams1);
95
+ function ReadOnlyURLSearchParams2() {
96
+ return _class_call_check(this, ReadOnlyURLSearchParams2), _call_super(this, ReadOnlyURLSearchParams2, arguments);
97
+ }
98
+ return _create_class(ReadOnlyURLSearchParams2, [{
99
+ key: "set",
100
+ value: function (_name, _value) {
101
+ throw new Error("useSearchParams returns a read-only URLSearchParams object");
102
+ }
103
+ }, {
104
+ key: "append",
105
+ value: function (_name, _value) {
106
+ throw new Error("useSearchParams returns a read-only URLSearchParams object");
107
+ }
108
+ }, {
109
+ key: "delete",
110
+ value: function (_name, _value) {
111
+ throw new Error("useSearchParams returns a read-only URLSearchParams object");
112
+ }
113
+ }]), ReadOnlyURLSearchParams2;
114
+ }(_wrap_native_super(URLSearchParams));
115
+ describe("ReadOnlyURLSearchParams", function () {
116
+ it("should allow reading values", function () {
117
+ var params = new ReadOnlyURLSearchParams([["sort", "price"], ["category", "electronics"]]);
118
+ expect(params.get("sort")).toBe("price"), expect(params.get("category")).toBe("electronics"), expect(params.get("nonexistent")).toBe(null);
119
+ }), it("should support has()", function () {
120
+ var params = new ReadOnlyURLSearchParams([["key", "value"]]);
121
+ expect(params.has("key")).toBe(!0), expect(params.has("missing")).toBe(!1);
122
+ }), it("should support getAll() for repeated params", function () {
123
+ var params = new ReadOnlyURLSearchParams([["tag", "a"], ["tag", "b"], ["tag", "c"]]);
124
+ expect(params.getAll("tag")).toEqual(["a", "b", "c"]);
125
+ }), it("should support iteration", function () {
126
+ var params = new ReadOnlyURLSearchParams([["a", "1"], ["b", "2"]]),
127
+ entries = Array.from(params.entries());
128
+ expect(entries).toEqual([["a", "1"], ["b", "2"]]);
129
+ }), it("should support toString()", function () {
130
+ var params = new ReadOnlyURLSearchParams([["sort", "price"], ["page", "1"]]);
131
+ expect(params.toString()).toBe("sort=price&page=1");
132
+ }), it("should throw on set()", function () {
133
+ var params = new ReadOnlyURLSearchParams([["key", "value"]]);
134
+ expect(function () {
135
+ return params.set("key", "new");
136
+ }).toThrow("useSearchParams returns a read-only URLSearchParams object");
137
+ }), it("should throw on append()", function () {
138
+ var params = new ReadOnlyURLSearchParams([["key", "value"]]);
139
+ expect(function () {
140
+ return params.append("key", "another");
141
+ }).toThrow("useSearchParams returns a read-only URLSearchParams object");
142
+ }), it("should throw on delete()", function () {
143
+ var params = new ReadOnlyURLSearchParams([["key", "value"]]);
144
+ expect(function () {
145
+ return params.delete("key");
146
+ }).toThrow("useSearchParams returns a read-only URLSearchParams object");
147
+ });
148
+ });
149
+ describe("useSearchParams param conversion", function () {
150
+ function paramsToEntries(params) {
151
+ return Object.entries(params).flatMap(function (param) {
152
+ var [key, value] = param;
153
+ return value === void 0 ? [] : Array.isArray(value) ? value.map(function (v) {
154
+ return [key, String(v)];
155
+ }) : [[key, String(value)]];
156
+ });
157
+ }
158
+ it("should convert simple string params", function () {
159
+ var params = {
160
+ sort: "price",
161
+ page: "1"
162
+ },
163
+ entries = paramsToEntries(params);
164
+ expect(entries).toEqual([["sort", "price"], ["page", "1"]]);
165
+ }), it("should expand array params into multiple entries", function () {
166
+ var params = {
167
+ tags: ["a", "b", "c"]
168
+ },
169
+ entries = paramsToEntries(params);
170
+ expect(entries).toEqual([["tags", "a"], ["tags", "b"], ["tags", "c"]]);
171
+ }), it("should filter out undefined values", function () {
172
+ var params = {
173
+ present: "yes",
174
+ missing: void 0
175
+ },
176
+ entries = paramsToEntries(params);
177
+ expect(entries).toEqual([["present", "yes"]]);
178
+ }), it("should handle mixed params", function () {
179
+ var params = {
180
+ single: "value",
181
+ multiple: ["x", "y"],
182
+ absent: void 0
183
+ },
184
+ entries = paramsToEntries(params);
185
+ expect(entries).toEqual([["single", "value"], ["multiple", "x"], ["multiple", "y"]]);
186
+ }), it("should handle empty params", function () {
187
+ var params = {},
188
+ entries = paramsToEntries(params);
189
+ expect(entries).toEqual([]);
190
+ });
191
+ });
192
+ //# sourceMappingURL=hooks.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","_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","ReadOnlyURLSearchParams","URLSearchParams1"],"sources":["../../src/hooks.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -15,6 +15,7 @@ import {
15
15
  usePathname,
16
16
  useRootNavigationState,
17
17
  useRouter,
18
+ useSearchParams,
18
19
  useSegments,
19
20
  useUnstableGlobalHref
20
21
  } from "./hooks";
@@ -125,6 +126,7 @@ export {
125
126
  useRouter,
126
127
  useSafeAreaInsets,
127
128
  useScrollGroup,
129
+ useSearchParams,
128
130
  useSegments,
129
131
  useServerHeadInsertion,
130
132
  useUnstableGlobalHref,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,SAAS,iBAAiB;AA2C1B,SAAS,oBAAoB;AAE7B,cAAc;AAId,SAAS,cAAc,yBAAyB;AAChD,SAAS,6BAA6B;AAGtC,SAAS,wBAAyC;AAClD,SAAS,cAAc;AACvB,SAAS,YAAY;AAErB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,YAAY;AAErB,SAAS,aAAa;AACtB,SAAS,YAAY;AACrB,SAAS,iBAAsC;AAY/C,SAAS,yBAAyB;AAClC,SAAS,YAAY;AACrB,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,YAAY;AAErB,SAAS,cAAc;AACvB,SAAS,aAAa,aAAa;AAEnC,SAAS,cAAc;AACvB,YAAY,iBAAiB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,8BAA8B;AAGvC;AAAA,EACE;AAAA,OAIK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAOK;AAEP,SAAS,0BAAgD;AAEzD,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EAEE;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAE9B,SAAS,uBAAuB;AAChC,SAAS,WAAW,YAAY;AAChC,SAAS,sBAAsB;AAC/B,SAAS,uBAAkD;AAE3D,SAAS,sBAAsB;AAE/B,SAAS,eAAe,oBAAoB,qBAAqB;",
4
+ "mappings": "AAAA,SAAS,iBAAiB;AA2C1B,SAAS,oBAAoB;AAE7B,cAAc;AAId,SAAS,cAAc,yBAAyB;AAChD,SAAS,6BAA6B;AAGtC,SAAS,wBAAyC;AAClD,SAAS,cAAc;AACvB,SAAS,YAAY;AAErB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,YAAY;AAErB,SAAS,aAAa;AACtB,SAAS,YAAY;AACrB,SAAS,iBAAsC;AAY/C,SAAS,yBAAyB;AAClC,SAAS,YAAY;AACrB,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,YAAY;AAErB,SAAS,cAAc;AACvB,SAAS,aAAa,aAAa;AAEnC,SAAS,cAAc;AACvB,YAAY,iBAAiB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,8BAA8B;AAGvC;AAAA,EACE;AAAA,OAIK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAOK;AAEP,SAAS,0BAAgD;AAEzD,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EAEE;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAE9B,SAAS,uBAAuB;AAChC,SAAS,WAAW,YAAY;AAChC,SAAS,sBAAsB;AAC/B,SAAS,uBAAkD;AAE3D,SAAS,sBAAsB;AAE/B,SAAS,eAAe,oBAAoB,qBAAqB;",
5
5
  "names": []
6
6
  }
@@ -6,7 +6,7 @@ import { onClientLoaderResolve } from "./clientLoaderResolver.mjs";
6
6
  import { createMiddleware } from "./createMiddleware.mjs";
7
7
  import { getURL } from "./getURL.mjs";
8
8
  import { Head } from "./head";
9
- import { useActiveParams, useGlobalSearchParams, useLocalSearchParams, useNavigationContainerRef, useParams, usePathname, useRootNavigationState, useRouter, useSegments, useUnstableGlobalHref } from "./hooks.mjs";
9
+ import { useActiveParams, useGlobalSearchParams, useLocalSearchParams, useNavigationContainerRef, useParams, usePathname, useRootNavigationState, useRouter, useSearchParams, useSegments, useUnstableGlobalHref } from "./hooks.mjs";
10
10
  import { href } from "./href.mjs";
11
11
  import { Stack } from "./layouts/Stack.mjs";
12
12
  import { Tabs } from "./layouts/Tabs.mjs";
@@ -39,5 +39,5 @@ import { ScrollBehavior } from "./views/ScrollBehavior.mjs";
39
39
  import { SourceInspector } from "./views/SourceInspector.mjs";
40
40
  import { useScrollGroup } from "./useScrollGroup.mjs";
41
41
  import { getServerData, setResponseHeaders, setServerData } from "./vite/one-server-only.mjs";
42
- export { ErrorBoundary, Head, Link, LoadProgressBar, Navigator, ParamValidationError, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, createApp, createMiddleware, createRoute, getLoaderTimingHistory, getServerData, getURL, href, isResponse, onClientLoaderResolve, redirect, refetchLoader, registerPreloadedRoute, render, route, router, routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useBlocker, useFocusEffect, useGlobalSearchParams, useIsFocused, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useMatch, useMatches, useNavigation, useNavigationContainerRef, usePageMatch, useParams, usePathname, useRootNavigationState, useRouter, useSafeAreaInsets, useScrollGroup, useSegments, useServerHeadInsertion, useUnstableGlobalHref, useValidationState, validateParams, watchFile, withLayoutContext, zodParamValidator };
42
+ export { ErrorBoundary, Head, Link, LoadProgressBar, Navigator, ParamValidationError, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, createApp, createMiddleware, createRoute, getLoaderTimingHistory, getServerData, getURL, href, isResponse, onClientLoaderResolve, redirect, refetchLoader, registerPreloadedRoute, render, route, router, routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useBlocker, useFocusEffect, useGlobalSearchParams, useIsFocused, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useMatch, useMatches, useNavigation, useNavigationContainerRef, usePageMatch, useParams, usePathname, useRootNavigationState, useRouter, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useUnstableGlobalHref, useValidationState, validateParams, watchFile, withLayoutContext, zodParamValidator };
43
43
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createApp","useIsFocused","SafeAreaView","useSafeAreaInsets","onClientLoaderResolve","createMiddleware","getURL","Head","useActiveParams","useGlobalSearchParams","useLocalSearchParams","useNavigationContainerRef","useParams","usePathname","useRootNavigationState","useRouter","useSegments","useUnstableGlobalHref","href","Stack","Tabs","Protected","withLayoutContext","Link","Redirect","useLinkTo","Root","render","createRoute","route","router","routerStore","useNavigation","registerPreloadedRoute","useBlocker","validateParams","zodParamValidator","ParamValidationError","RouteValidationError","useValidationState","useFocusEffect","getLoaderTimingHistory","refetchLoader","useLoader","useLoaderState","useMatches","useMatch","usePageMatch","setClientMatches","useServerHeadInsertion","isResponse","redirect","watchFile","ErrorBoundary","LoadProgressBar","Navigator","Slot","ScrollBehavior","SourceInspector","useScrollGroup","getServerData","setResponseHeaders","setServerData"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AA2C1B,SAASC,YAAA,QAAoB;AAE7B,cAAc;AAId,SAASC,YAAA,EAAcC,iBAAA,QAAyB;AAChD,SAASC,qBAAA,QAA6B;AAGtC,SAASC,gBAAA,QAAyC;AAClD,SAASC,MAAA,QAAc;AACvB,SAASC,IAAA,QAAY;AAErB,SACEC,eAAA,EACAC,qBAAA,EACAC,oBAAA,EACAC,yBAAA,EACAC,SAAA,EACAC,WAAA,EACAC,sBAAA,EACAC,SAAA,EACAC,WAAA,EACAC,qBAAA,QACK;AACP,SAASC,IAAA,QAAY;AAErB,SAASC,KAAA,QAAa;AACtB,SAASC,IAAA,QAAY;AACrB,SAASC,SAAA,QAAsC;AAY/C,SAASC,iBAAA,QAAyB;AAClC,SAASC,IAAA,QAAY;AACrB,SAASC,QAAA,QAAgB;AACzB,SAASC,SAAA,QAAiB;AAC1B,SAASC,IAAA,QAAY;AAErB,SAASC,MAAA,QAAc;AACvB,SAASC,WAAA,EAAaC,KAAA,QAAa;AAEnC,SAASC,MAAA,QAAc;AACvB,YAAYC,WAAA,MAAiB;AAC7B,SAASC,aAAA,QAAqB;AAC9B,SAASC,sBAAA,QAA8B;AAGvC,SACEC,UAAA,QAIK;AAEP,SACEC,cAAA,EACAC,iBAAA,EACAC,oBAAA,EACAC,oBAAA,QAOK;AAEP,SAASC,kBAAA,QAAgD;AAEzD,SAASC,cAAA,QAAsB;AAC/B,SACEC,sBAAA,EACAC,aAAA,EACAC,SAAA,EACAC,cAAA,QAEK;AACP,SACEC,UAAA,EACAC,QAAA,EACAC,YAAA,EACAC,gBAAA,QAEK;AACP,SAEEC,sBAAA,QACK;AACP,SAASC,UAAA,QAAkB;AAC3B,SAASC,QAAA,QAAgB;AACzB,SAASC,SAAA,QAAiB;AAC1B,SAASC,aAAA,QAAqB;AAE9B,SAASC,eAAA,QAAuB;AAChC,SAASC,SAAA,EAAWC,IAAA,QAAY;AAChC,SAASC,cAAA,QAAsB;AAC/B,SAASC,eAAA,QAAkD;AAE3D,SAASC,cAAA,QAAsB;AAE/B,SAASC,aAAA,EAAeC,kBAAA,EAAoBC,aAAA,QAAqB","ignoreList":[]}
1
+ {"version":3,"names":["createApp","useIsFocused","SafeAreaView","useSafeAreaInsets","onClientLoaderResolve","createMiddleware","getURL","Head","useActiveParams","useGlobalSearchParams","useLocalSearchParams","useNavigationContainerRef","useParams","usePathname","useRootNavigationState","useRouter","useSearchParams","useSegments","useUnstableGlobalHref","href","Stack","Tabs","Protected","withLayoutContext","Link","Redirect","useLinkTo","Root","render","createRoute","route","router","routerStore","useNavigation","registerPreloadedRoute","useBlocker","validateParams","zodParamValidator","ParamValidationError","RouteValidationError","useValidationState","useFocusEffect","getLoaderTimingHistory","refetchLoader","useLoader","useLoaderState","useMatches","useMatch","usePageMatch","setClientMatches","useServerHeadInsertion","isResponse","redirect","watchFile","ErrorBoundary","LoadProgressBar","Navigator","Slot","ScrollBehavior","SourceInspector","useScrollGroup","getServerData","setResponseHeaders","setServerData"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AA2C1B,SAASC,YAAA,QAAoB;AAE7B,cAAc;AAId,SAASC,YAAA,EAAcC,iBAAA,QAAyB;AAChD,SAASC,qBAAA,QAA6B;AAGtC,SAASC,gBAAA,QAAyC;AAClD,SAASC,MAAA,QAAc;AACvB,SAASC,IAAA,QAAY;AAErB,SACEC,eAAA,EACAC,qBAAA,EACAC,oBAAA,EACAC,yBAAA,EACAC,SAAA,EACAC,WAAA,EACAC,sBAAA,EACAC,SAAA,EACAC,eAAA,EACAC,WAAA,EACAC,qBAAA,QACK;AACP,SAASC,IAAA,QAAY;AAErB,SAASC,KAAA,QAAa;AACtB,SAASC,IAAA,QAAY;AACrB,SAASC,SAAA,QAAsC;AAY/C,SAASC,iBAAA,QAAyB;AAClC,SAASC,IAAA,QAAY;AACrB,SAASC,QAAA,QAAgB;AACzB,SAASC,SAAA,QAAiB;AAC1B,SAASC,IAAA,QAAY;AAErB,SAASC,MAAA,QAAc;AACvB,SAASC,WAAA,EAAaC,KAAA,QAAa;AAEnC,SAASC,MAAA,QAAc;AACvB,YAAYC,WAAA,MAAiB;AAC7B,SAASC,aAAA,QAAqB;AAC9B,SAASC,sBAAA,QAA8B;AAGvC,SACEC,UAAA,QAIK;AAEP,SACEC,cAAA,EACAC,iBAAA,EACAC,oBAAA,EACAC,oBAAA,QAOK;AAEP,SAASC,kBAAA,QAAgD;AAEzD,SAASC,cAAA,QAAsB;AAC/B,SACEC,sBAAA,EACAC,aAAA,EACAC,SAAA,EACAC,cAAA,QAEK;AACP,SACEC,UAAA,EACAC,QAAA,EACAC,YAAA,EACAC,gBAAA,QAEK;AACP,SAEEC,sBAAA,QACK;AACP,SAASC,UAAA,QAAkB;AAC3B,SAASC,QAAA,QAAgB;AACzB,SAASC,SAAA,QAAiB;AAC1B,SAASC,aAAA,QAAqB;AAE9B,SAASC,eAAA,QAAuB;AAChC,SAASC,SAAA,EAAWC,IAAA,QAAY;AAChC,SAASC,cAAA,QAAsB;AAC/B,SAASC,eAAA,QAAkD;AAE3D,SAASC,cAAA,QAAsB;AAE/B,SAASC,aAAA,EAAeC,kBAAA,EAAoBC,aAAA,QAAqB","ignoreList":[]}
@@ -6,7 +6,7 @@ import { onClientLoaderResolve } from "./clientLoaderResolver.native.js";
6
6
  import { createMiddleware } from "./createMiddleware.native.js";
7
7
  import { getURL } from "./getURL.native.js";
8
8
  import { Head } from "./head";
9
- import { useActiveParams, useGlobalSearchParams, useLocalSearchParams, useNavigationContainerRef, useParams, usePathname, useRootNavigationState, useRouter, useSegments, useUnstableGlobalHref } from "./hooks.native.js";
9
+ import { useActiveParams, useGlobalSearchParams, useLocalSearchParams, useNavigationContainerRef, useParams, usePathname, useRootNavigationState, useRouter, useSearchParams, useSegments, useUnstableGlobalHref } from "./hooks.native.js";
10
10
  import { href } from "./href.native.js";
11
11
  import { Stack } from "./layouts/Stack.native.js";
12
12
  import { Tabs } from "./layouts/Tabs.native.js";
@@ -39,5 +39,5 @@ import { ScrollBehavior } from "./views/ScrollBehavior.native.js";
39
39
  import { SourceInspector } from "./views/SourceInspector.native.js";
40
40
  import { useScrollGroup } from "./useScrollGroup.native.js";
41
41
  import { getServerData, setResponseHeaders, setServerData } from "./vite/one-server-only.native.js";
42
- export { ErrorBoundary, Head, Link, LoadProgressBar, Navigator, ParamValidationError, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, createApp, createMiddleware, createRoute, getLoaderTimingHistory, getServerData, getURL, href, isResponse, onClientLoaderResolve, redirect, refetchLoader, registerPreloadedRoute, render, route, router, _routerStore as routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useBlocker, useFocusEffect, useGlobalSearchParams, useIsFocused, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useMatch, useMatches, useNavigation, useNavigationContainerRef, usePageMatch, useParams, usePathname, useRootNavigationState, useRouter, useSafeAreaInsets, useScrollGroup, useSegments, useServerHeadInsertion, useUnstableGlobalHref, useValidationState, validateParams, watchFile, withLayoutContext, zodParamValidator };
42
+ export { ErrorBoundary, Head, Link, LoadProgressBar, Navigator, ParamValidationError, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, createApp, createMiddleware, createRoute, getLoaderTimingHistory, getServerData, getURL, href, isResponse, onClientLoaderResolve, redirect, refetchLoader, registerPreloadedRoute, render, route, router, _routerStore as routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useBlocker, useFocusEffect, useGlobalSearchParams, useIsFocused, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useMatch, useMatches, useNavigation, useNavigationContainerRef, usePageMatch, useParams, usePathname, useRootNavigationState, useRouter, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useUnstableGlobalHref, useValidationState, validateParams, watchFile, withLayoutContext, zodParamValidator };
43
43
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createApp","useIsFocused","SafeAreaView","useSafeAreaInsets","onClientLoaderResolve","createMiddleware","getURL","Head","useActiveParams","useGlobalSearchParams","useLocalSearchParams","useNavigationContainerRef","useParams","usePathname","useRootNavigationState","useRouter","useSegments","useUnstableGlobalHref","href","Stack","Tabs","Protected","withLayoutContext","Link","Redirect","useLinkTo","Root","render","createRoute","route","router","_routerStore","useNavigation","registerPreloadedRoute","useBlocker","validateParams","zodParamValidator","ParamValidationError","RouteValidationError","useValidationState","useFocusEffect","getLoaderTimingHistory","refetchLoader","useLoader","useLoaderState","useMatches","useMatch","usePageMatch","setClientMatches","useServerHeadInsertion","isResponse","redirect","watchFile","ErrorBoundary","LoadProgressBar","Navigator","Slot","ScrollBehavior","SourceInspector","useScrollGroup","getServerData","setResponseHeaders","setServerData"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AA2C1B,SAASC,YAAA,QAAoB;AAE7B,cAAc;AAId,SAASC,YAAA,EAAcC,iBAAA,QAAyB;AAChD,SAASC,qBAAA,QAA6B;AAGtC,SAASC,gBAAA,QAAyC;AAClD,SAASC,MAAA,QAAc;AACvB,SAASC,IAAA,QAAY;AAErB,SAAAC,eAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,yBAAA,EAAAC,SAAA,EAAAC,WAAA,EAAAC,sBAAA,EAAAC,SAAA,EAAAC,WAAA,EAAAC,qBAAA;AAAA,SACEC,IAAA;AAAA,SACAC,KAAA;AAAA,SACAC,IAAA;AAAA,SACAC,SAAA;AAAA,SACAC,iBAAA;AAAA,SACAC,IAAA;AAAA,SACAC,QAAA;AAAA,SACAC,SAAA;AAAA,SACAC,IAAA;AAAA,SACAC,MAAA;AAAA,SACKC,WAAA,EAAAC,KAAA;AACP,SAASC,MAAA,QAAY;AAErB,YAASC,YAAa;AACtB,SAASC,aAAY;AACrB,SAASC,sBAAsC;AAY/C,SAASC,UAAA,gCAAyB;AAClC,SAASC,cAAY,EAAAC,iBAAA,EAAAC,oBAAA,EAAAC,oBAAA;AACrB,SAASC,kBAAgB;AACzB,SAASC,cAAA,QAAiB;AAC1B,SAASC,sBAAY,EAAAC,aAAA,EAAAC,SAAA,EAAAC,cAAA;AAErB,SAASC,UAAA,EAAAC,QAAc,EAAAC,YAAA,EAAAC,gBAAA;AACvB,SAASC,sBAAa,QAAa;AAEnC,SAASC,UAAA,QAAc;AACvB,SAAAC,QAAY,oCAAiB;AAC7B,SAASC,SAAA,qCAAqB;AAC9B,SAASC,aAAA,yCAA8B;AAGvC,SAAAC,eAAA;AAAA,SACEC,SAAA,EAAAC,IAAA;AAAA,SAIKC,cAAA;AAEP,SAAAC,eAAA;AAAA,SACEC,cAAA;AAAA,SACAC,aAAA,EAAAC,kBAAA,EAAAC,aAAA;AAAA,SAEAT,aAAA,EAAA9C,IAAA,EASFgB,IAAA,EAEA+B,eAAS,EACTC,SAAA,EACElB,oBAAA,EACAhB,SAAA,EACAG,QAAA,EACAE,IAAA,EAAAY,oBAEK,EACPpC,YAAA,EACEuD,cAAA,EACAD,IAAA,EACAE,eAAA,EACAvC,KAAA,EAAAC,IAAA,EAGFpB,SAAA,EAEEK,gBAAA,EAAAuB,WACK,EACPa,sBAAS,EACTmB,aAAS,EACTtD,MAAA,EACAY,IAAA,EAEAgC,UAAS,EACT9C,qBAAoB,EACpB+C,QAAS,EACTT,aAAS,EAETT,sBAAS,EAETN,MAAA,E","ignoreList":[]}
1
+ {"version":3,"names":["createApp","useIsFocused","SafeAreaView","useSafeAreaInsets","onClientLoaderResolve","createMiddleware","getURL","Head","useActiveParams","useGlobalSearchParams","useLocalSearchParams","useNavigationContainerRef","useParams","usePathname","useRootNavigationState","useRouter","useSearchParams","useSegments","useUnstableGlobalHref","href","Stack","Tabs","Protected","withLayoutContext","Link","Redirect","useLinkTo","Root","render","createRoute","route","router","_routerStore","useNavigation","registerPreloadedRoute","useBlocker","validateParams","zodParamValidator","ParamValidationError","RouteValidationError","useValidationState","useFocusEffect","getLoaderTimingHistory","refetchLoader","useLoader","useLoaderState","useMatches","useMatch","usePageMatch","setClientMatches","useServerHeadInsertion","isResponse","redirect","watchFile","ErrorBoundary","LoadProgressBar","Navigator","Slot","ScrollBehavior","SourceInspector","useScrollGroup","getServerData","setResponseHeaders","setServerData"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AA2C1B,SAASC,YAAA,QAAoB;AAE7B,cAAc;AAId,SAASC,YAAA,EAAcC,iBAAA,QAAyB;AAChD,SAASC,qBAAA,QAA6B;AAGtC,SAASC,gBAAA,QAAyC;AAClD,SAASC,MAAA,QAAc;AACvB,SAASC,IAAA,QAAY;AAErB,SAAAC,eAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,yBAAA,EAAAC,SAAA,EAAAC,WAAA,EAAAC,sBAAA,EAAAC,SAAA,EAAAC,eAAA,EAAAC,WAAA,EAAAC,qBAAA;AAAA,SACEC,IAAA;AAAA,SACAC,KAAA;AAAA,SACAC,IAAA;AAAA,SACAC,SAAA;AAAA,SACAC,iBAAA;AAAA,SACAC,IAAA;AAAA,SACAC,QAAA;AAAA,SACAC,SAAA;AAAA,SACAC,IAAA;AAAA,SACAC,MAAA;AAAA,SACAC,WAAA,EAAAC,KAAA;AAAA,SACKC,MAAA;AACP,YAASC,YAAY;AAErB,SAASC,aAAa;AACtB,SAASC,sBAAY;AACrB,SAASC,UAAA,QAAsC;AAY/C,SAASC,cAAA,EAAAC,iBAAyB,EAAAC,oBAAA,EAAAC,oBAAA;AAClC,SAASC,kBAAY;AACrB,SAASC,cAAA,QAAgB;AACzB,SAASC,sBAAiB,EAAAC,aAAA,EAAAC,SAAA,EAAAC,cAAA;AAC1B,SAASC,UAAA,EAAYC,QAAA,EAAAC,YAAA,EAAAC,gBAAA;AAErB,SAASC,sBAAc;AACvB,SAASC,UAAA,QAAa,8BAAa;AAEnC,SAASC,QAAA,QAAc;AACvB,SAAAC,SAAY,qCAAiB;AAC7B,SAASC,aAAA,QAAqB;AAC9B,SAASC,eAAA,2CAA8B;AAGvC,SAAAC,SAAA,EAAAC,IAAA;AAAA,SACEC,cAAA;AAAA,SAIKC,eAAA;AAEP,SAAAC,cAAA;AAAA,SACEC,aAAA,EAAAC,kBAAA,EAAAC,aAAA;AAAA,SAEAT,aAAA,EACA/C,IAAA,EAAAiB,IAAA,EASF+B,eAAS,EAETC,SAAS,EACTlB,oBAAA,EACEhB,SAAA,EACAG,QAAA,EACAE,IAAA,EACAY,oBAAA,EAAArC,YAEK,EACPwD,cAAA,EACED,IAAA,EACAE,eAAA,EACAvC,KAAA,EACAC,IAAA,EAAArB,SAEK,EACPK,gBAAA,EAEEwB,WAAA,EAAAa,sBACK,EACPmB,aAAS,EACTvD,MAAA,EACAa,IAAA,EACAgC,UAAS,EAET/C,qBAAS,EACTgD,QAAS,EACTT,aAAS,EACTT,sBAAS,EAETN,MAAA,EAEAE,KAAA,E","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ function createPrefetchIntent(options) {
2
+ const { onPrefetch, maxReach = 500, perpWeight = 5, minSpeed = 8 } = options, done = /* @__PURE__ */ new Set();
3
+ let rects = [], px = 0, py = 0, vx = 0, vy = 0, moveCount = 0, lastPrefetchMove = 0;
4
+ function setRects(newRects) {
5
+ rects = newRects.filter((r) => !done.has(r.h));
6
+ }
7
+ function move(x, y, dx, dy) {
8
+ moveCount++;
9
+ const smooth = moveCount < 3 ? 0.3 : 0.6;
10
+ vx = vx * smooth + dx * (1 - smooth), vy = vy * smooth + dy * (1 - smooth), px = x, py = y;
11
+ const speed = Math.sqrt(vx * vx + vy * vy);
12
+ if (speed < minSpeed) return;
13
+ const ux = vx / speed, uy = vy / speed;
14
+ let best = 1 / 0, href = "";
15
+ for (const { r, h } of rects) {
16
+ 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;
17
+ if (along < 0) continue;
18
+ 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;
19
+ if (perp > radius) continue;
20
+ const score = along + perp * perpWeight;
21
+ score < best && (best = score, href = h);
22
+ }
23
+ href && best < maxReach && moveCount - lastPrefetchMove > 1 && (done.add(href), rects = rects.filter((r) => r.h !== href), lastPrefetchMove = moveCount, onPrefetch(href));
24
+ }
25
+ const nodes = /* @__PURE__ */ new Map();
26
+ function observe(el, href) {
27
+ return nodes.set(el, href), () => {
28
+ nodes.delete(el), done.delete(href);
29
+ };
30
+ }
31
+ return { setRects, move, observe, nodes, done };
32
+ }
33
+ let instance = null, started = !1;
34
+ function startPrefetchIntent(onPrefetch) {
35
+ if (started) return instance;
36
+ started = !0, instance = createPrefetchIntent({ onPrefetch });
37
+ let frame = 0, px = 0, py = 0;
38
+ function measure() {
39
+ if (!instance.nodes.size) return setTimeout(measure, 300);
40
+ const io = new IntersectionObserver((entries) => {
41
+ io.disconnect(), instance.setRects(
42
+ entries.filter((e) => e.isIntersecting).map((e) => ({
43
+ r: e.boundingClientRect,
44
+ h: instance.nodes.get(e.target)
45
+ })).filter((x) => x.h)
46
+ ), setTimeout(measure, 300);
47
+ });
48
+ instance.nodes.forEach((_, el) => io.observe(el));
49
+ }
50
+ return measure(), document.addEventListener(
51
+ "mousemove",
52
+ (e) => {
53
+ if (++frame % 4) return;
54
+ const dx = e.clientX - px, dy = e.clientY - py;
55
+ px = e.clientX, py = e.clientY, instance.move(px, py, dx, dy);
56
+ },
57
+ { passive: !0 }
58
+ ), instance;
59
+ }
60
+ function observePrefetchIntent(el, href) {
61
+ return instance ? instance.observe(el, href) : () => {
62
+ };
63
+ }
64
+ export {
65
+ createPrefetchIntent,
66
+ observePrefetchIntent,
67
+ startPrefetchIntent
68
+ };
69
+ //# sourceMappingURL=prefetchIntent.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/link/prefetchIntent.ts"],
4
+ "mappings": "AA0BO,SAAS,qBAAqB,SAAgC;AACnE,QAAM,EAAE,YAAY,WAAW,KAAK,aAAa,GAAG,WAAW,EAAE,IAAI,SAE/D,OAAO,oBAAI,IAAY;AAC7B,MAAI,QAAqB,CAAC,GACtB,KAAK,GACP,KAAK,GACL,KAAK,GACL,KAAK,GACH,YAAY,GACZ,mBAAmB;AAEvB,WAAS,SAAS,UAAuB;AACvC,YAAQ,SAAS,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AAAA,EAC/C;AAEA,WAAS,KAAK,GAAW,GAAW,IAAY,IAAY;AAC1D;AAEA,UAAM,SAAS,YAAY,IAAI,MAAM;AACrC,SAAK,KAAK,SAAS,MAAM,IAAI,SAC7B,KAAK,KAAK,SAAS,MAAM,IAAI,SAC7B,KAAK,GACL,KAAK;AAEL,UAAM,QAAQ,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE;AACzC,QAAI,QAAQ,SAAU;AAGtB,UAAM,KAAK,KAAK,OACV,KAAK,KAAK;AAEhB,QAAI,OAAO,OACP,OAAO;AAEX,eAAW,EAAE,GAAG,EAAE,KAAK,OAAO;AAE5B,YAAM,MAAM,EAAE,OAAO,EAAE,SAAS,IAAI,IAC9B,MAAM,EAAE,MAAM,EAAE,UAAU,IAAI,IAC9B,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,GAGlC,QAAQ,KAAK,KAAK,KAAK;AAC7B,UAAI,QAAQ,EAAG;AAGf,YAAM,QAAQ,KAAK,QAAQ,IACrB,QAAQ,KAAK,QAAQ,IACrB,OAAO,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK,GAI9C,aAAa,KAAK,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI,IAC/C,iBAAiB,KAAK,IAAI,KAAK,IAAI,OAAO,GAAI,GAC9C,SAAS,aAAa,iBAAiB;AAC7C,UAAI,OAAO,OAAQ;AAKnB,YAAM,QAAQ,QAAQ,OAAO;AAC7B,MAAI,QAAQ,SACV,OAAO,OACP,OAAO;AAAA,IAEX;AAIA,IAAI,QAAQ,OAAO,YAAY,YAAY,mBAAmB,MAC5D,KAAK,IAAI,IAAI,GACb,QAAQ,MAAM,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,GACxC,mBAAmB,WACnB,WAAW,IAAI;AAAA,EAEnB;AAGA,QAAM,QAAQ,oBAAI,IAAyB;AAE3C,WAAS,QAAQ,IAAiB,MAAc;AAC9C,iBAAM,IAAI,IAAI,IAAI,GACX,MAAM;AACX,YAAM,OAAO,EAAE,GACf,KAAK,OAAO,IAAI;AAAA,IAClB;AAAA,EACF;AAEA,SAAO,EAAE,UAAU,MAAM,SAAS,OAAO,KAAK;AAChD;AAGA,IAAI,WAA2D,MAC3D,UAAU;AAEP,SAAS,oBAAoB,YAAoC;AACtE,MAAI,QAAS,QAAO;AACpB,YAAU,IAEV,WAAW,qBAAqB,EAAE,WAAW,CAAC;AAE9C,MAAI,QAAQ,GACR,KAAK,GACP,KAAK;AAGP,WAAS,UAAU;AACjB,QAAI,CAAC,SAAU,MAAM,KAAM,QAAO,WAAW,SAAS,GAAG;AACzD,UAAM,KAAK,IAAI,qBAAqB,CAAC,YAAY;AAC/C,SAAG,WAAW,GACd,SAAU;AAAA,QACR,QACG,OAAO,CAAC,MAAM,EAAE,cAAc,EAC9B,IAAI,CAAC,OAAO;AAAA,UACX,GAAG,EAAE;AAAA,UACL,GAAG,SAAU,MAAM,IAAI,EAAE,MAAqB;AAAA,QAChD,EAAE,EACD,OAAO,CAAC,MAAM,EAAE,CAAC;AAAA,MACtB,GACA,WAAW,SAAS,GAAG;AAAA,IACzB,CAAC;AACD,aAAU,MAAM,QAAQ,CAAC,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC;AAAA,EACnD;AACA,iBAAQ,GAER,SAAS;AAAA,IACP;AAAA,IACA,CAAC,MAAM;AAEL,UAAI,EAAE,QAAQ,EAAG;AAEjB,YAAM,KAAK,EAAE,UAAU,IACjB,KAAK,EAAE,UAAU;AACvB,WAAK,EAAE,SACP,KAAK,EAAE,SAEP,SAAU,KAAK,IAAI,IAAI,IAAI,EAAE;AAAA,IAC/B;AAAA,IACA,EAAE,SAAS,GAAK;AAAA,EAClB,GAEO;AACT;AAEO,SAAS,sBAAsB,IAAiB,MAAc;AACnE,SAAK,WACE,SAAS,QAAQ,IAAI,IAAI,IADV,MAAM;AAAA,EAAC;AAE/B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,97 @@
1
+ function createPrefetchIntent(options) {
2
+ const {
3
+ onPrefetch,
4
+ maxReach = 500,
5
+ perpWeight = 5,
6
+ minSpeed = 8
7
+ } = options,
8
+ done = /* @__PURE__ */new Set();
9
+ let rects = [],
10
+ px = 0,
11
+ py = 0,
12
+ vx = 0,
13
+ vy = 0,
14
+ moveCount = 0,
15
+ lastPrefetchMove = 0;
16
+ function setRects(newRects) {
17
+ rects = newRects.filter(r => !done.has(r.h));
18
+ }
19
+ function move(x, y, dx, dy) {
20
+ moveCount++;
21
+ const smooth = moveCount < 3 ? 0.3 : 0.6;
22
+ vx = vx * smooth + dx * (1 - smooth), vy = vy * smooth + dy * (1 - smooth), px = x, py = y;
23
+ const speed = Math.sqrt(vx * vx + vy * vy);
24
+ if (speed < minSpeed) return;
25
+ const ux = vx / speed,
26
+ uy = vy / speed;
27
+ let best = 1 / 0,
28
+ href = "";
29
+ for (const {
30
+ r,
31
+ h
32
+ } of rects) {
33
+ const cx = (r.left + r.right) / 2 - px,
34
+ cy = (r.top + r.bottom) / 2 - py,
35
+ dist = Math.sqrt(cx * cx + cy * cy),
36
+ along = cx * ux + cy * uy;
37
+ if (along < 0) continue;
38
+ const perpX = cx - along * ux,
39
+ perpY = cy - along * uy,
40
+ perp = Math.sqrt(perpX * perpX + perpY * perpY),
41
+ baseRadius = Math.max(r.width, r.height) / 2 + 30,
42
+ distanceFactor = Math.max(0.2, 1 - dist / 1e3),
43
+ radius = baseRadius * distanceFactor + 20;
44
+ if (perp > radius) continue;
45
+ const score = along + perp * perpWeight;
46
+ score < best && (best = score, href = h);
47
+ }
48
+ href && best < maxReach && moveCount - lastPrefetchMove > 1 && (done.add(href), rects = rects.filter(r => r.h !== href), lastPrefetchMove = moveCount, onPrefetch(href));
49
+ }
50
+ const nodes = /* @__PURE__ */new Map();
51
+ function observe(el, href) {
52
+ return nodes.set(el, href), () => {
53
+ nodes.delete(el), done.delete(href);
54
+ };
55
+ }
56
+ return {
57
+ setRects,
58
+ move,
59
+ observe,
60
+ nodes,
61
+ done
62
+ };
63
+ }
64
+ let instance = null,
65
+ started = !1;
66
+ function startPrefetchIntent(onPrefetch) {
67
+ if (started) return instance;
68
+ started = !0, instance = createPrefetchIntent({
69
+ onPrefetch
70
+ });
71
+ let frame = 0,
72
+ px = 0,
73
+ py = 0;
74
+ function measure() {
75
+ if (!instance.nodes.size) return setTimeout(measure, 300);
76
+ const io = new IntersectionObserver(entries => {
77
+ io.disconnect(), instance.setRects(entries.filter(e => e.isIntersecting).map(e => ({
78
+ r: e.boundingClientRect,
79
+ h: instance.nodes.get(e.target)
80
+ })).filter(x => x.h)), setTimeout(measure, 300);
81
+ });
82
+ instance.nodes.forEach((_, el) => io.observe(el));
83
+ }
84
+ return measure(), document.addEventListener("mousemove", e => {
85
+ if (++frame % 4) return;
86
+ const dx = e.clientX - px,
87
+ dy = e.clientY - py;
88
+ px = e.clientX, py = e.clientY, instance.move(px, py, dx, dy);
89
+ }, {
90
+ passive: !0
91
+ }), instance;
92
+ }
93
+ function observePrefetchIntent(el, href) {
94
+ return instance ? instance.observe(el, href) : () => {};
95
+ }
96
+ export { createPrefetchIntent, observePrefetchIntent, startPrefetchIntent };
97
+ //# sourceMappingURL=prefetchIntent.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createPrefetchIntent","options","onPrefetch","maxReach","perpWeight","minSpeed","done","Set","rects","px","py","vx","vy","moveCount","lastPrefetchMove","setRects","newRects","filter","r","has","h","move","x","y","dx","dy","smooth","speed","Math","sqrt","ux","uy","best","href","cx","left","right","cy","top","bottom","dist","along","perpX","perpY","perp","baseRadius","max","width","height","distanceFactor","radius","score","add","nodes","Map","observe","el","set","delete","instance","started","startPrefetchIntent","frame","measure","size","setTimeout","io","IntersectionObserver","entries","disconnect","e","isIntersecting","map","boundingClientRect","get","target","forEach","_","document","addEventListener","clientX","clientY","passive","observePrefetchIntent"],"sources":["../../../src/link/prefetchIntent.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,127 @@
1
+ function createPrefetchIntent(options) {
2
+ var {
3
+ onPrefetch,
4
+ maxReach = 500,
5
+ perpWeight = 5,
6
+ minSpeed = 8
7
+ } = options,
8
+ done = /* @__PURE__ */new Set(),
9
+ rects = [],
10
+ px = 0,
11
+ py = 0,
12
+ vx = 0,
13
+ vy = 0,
14
+ moveCount = 0,
15
+ lastPrefetchMove = 0;
16
+ function setRects(newRects) {
17
+ rects = newRects.filter(function (r) {
18
+ return !done.has(r.h);
19
+ });
20
+ }
21
+ function move(x, y, dx, dy) {
22
+ moveCount++;
23
+ var smooth = moveCount < 3 ? 0.3 : 0.6;
24
+ vx = vx * smooth + dx * (1 - smooth), vy = vy * smooth + dy * (1 - smooth), px = x, py = y;
25
+ var speed = Math.sqrt(vx * vx + vy * vy);
26
+ if (!(speed < minSpeed)) {
27
+ var ux = vx / speed,
28
+ uy = vy / speed,
29
+ best = 1 / 0,
30
+ href = "",
31
+ _iteratorNormalCompletion = !0,
32
+ _didIteratorError = !1,
33
+ _iteratorError = void 0;
34
+ try {
35
+ for (var _iterator = rects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
36
+ var {
37
+ r,
38
+ h
39
+ } = _step.value,
40
+ cx = (r.left + r.right) / 2 - px,
41
+ cy = (r.top + r.bottom) / 2 - py,
42
+ dist = Math.sqrt(cx * cx + cy * cy),
43
+ along = cx * ux + cy * uy;
44
+ if (!(along < 0)) {
45
+ var perpX = cx - along * ux,
46
+ perpY = cy - along * uy,
47
+ perp = Math.sqrt(perpX * perpX + perpY * perpY),
48
+ baseRadius = Math.max(r.width, r.height) / 2 + 30,
49
+ distanceFactor = Math.max(0.2, 1 - dist / 1e3),
50
+ radius = baseRadius * distanceFactor + 20;
51
+ if (!(perp > radius)) {
52
+ var score = along + perp * perpWeight;
53
+ score < best && (best = score, href = h);
54
+ }
55
+ }
56
+ }
57
+ } catch (err) {
58
+ _didIteratorError = !0, _iteratorError = err;
59
+ } finally {
60
+ try {
61
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
62
+ } finally {
63
+ if (_didIteratorError) throw _iteratorError;
64
+ }
65
+ }
66
+ href && best < maxReach && moveCount - lastPrefetchMove > 1 && (done.add(href), rects = rects.filter(function (r2) {
67
+ return r2.h !== href;
68
+ }), lastPrefetchMove = moveCount, onPrefetch(href));
69
+ }
70
+ }
71
+ var nodes = /* @__PURE__ */new Map();
72
+ function observe(el, href) {
73
+ return nodes.set(el, href), function () {
74
+ nodes.delete(el), done.delete(href);
75
+ };
76
+ }
77
+ return {
78
+ setRects,
79
+ move,
80
+ observe,
81
+ nodes,
82
+ done
83
+ };
84
+ }
85
+ var instance = null,
86
+ started = !1;
87
+ function startPrefetchIntent(onPrefetch) {
88
+ if (started) return instance;
89
+ started = !0, instance = createPrefetchIntent({
90
+ onPrefetch
91
+ });
92
+ var frame = 0,
93
+ px = 0,
94
+ py = 0;
95
+ function measure() {
96
+ if (!instance.nodes.size) return setTimeout(measure, 300);
97
+ var io = new IntersectionObserver(function (entries) {
98
+ io.disconnect(), instance.setRects(entries.filter(function (e) {
99
+ return e.isIntersecting;
100
+ }).map(function (e) {
101
+ return {
102
+ r: e.boundingClientRect,
103
+ h: instance.nodes.get(e.target)
104
+ };
105
+ }).filter(function (x) {
106
+ return x.h;
107
+ })), setTimeout(measure, 300);
108
+ });
109
+ instance.nodes.forEach(function (_, el) {
110
+ return io.observe(el);
111
+ });
112
+ }
113
+ return measure(), document.addEventListener("mousemove", function (e) {
114
+ if (!(++frame % 4)) {
115
+ var dx = e.clientX - px,
116
+ dy = e.clientY - py;
117
+ px = e.clientX, py = e.clientY, instance.move(px, py, dx, dy);
118
+ }
119
+ }, {
120
+ passive: !0
121
+ }), instance;
122
+ }
123
+ function observePrefetchIntent(el, href) {
124
+ return instance ? instance.observe(el, href) : function () {};
125
+ }
126
+ export { createPrefetchIntent, observePrefetchIntent, startPrefetchIntent };
127
+ //# sourceMappingURL=prefetchIntent.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createPrefetchIntent","options","onPrefetch","maxReach","perpWeight","minSpeed","done","Set","rects","px","py","vx","vy","moveCount","lastPrefetchMove","setRects","newRects","filter","r","has","h","move","x","y","dx","dy","smooth","speed","Math","sqrt","ux","uy","best","href","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","value","cx","left","right","cy","top","bottom","dist","along","perpX","perpY","perp","baseRadius","max","width","height","distanceFactor","radius","score","err","return","add","r2","nodes","Map","observe","el","set","delete","instance","started","startPrefetchIntent","frame","measure","size","setTimeout"],"sources":["../../../src/link/prefetchIntent.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}