@tanstack/solid-router 2.0.0-alpha.2 → 2.0.0-alpha.3

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 (204) hide show
  1. package/dist/cjs/Asset.cjs +124 -167
  2. package/dist/cjs/Asset.cjs.map +1 -1
  3. package/dist/cjs/CatchBoundary.cjs +52 -68
  4. package/dist/cjs/CatchBoundary.cjs.map +1 -1
  5. package/dist/cjs/ClientOnly.cjs +61 -39
  6. package/dist/cjs/ClientOnly.cjs.map +1 -1
  7. package/dist/cjs/HeadContent.cjs +35 -27
  8. package/dist/cjs/HeadContent.cjs.map +1 -1
  9. package/dist/cjs/HeadContent.dev.cjs +48 -41
  10. package/dist/cjs/HeadContent.dev.cjs.map +1 -1
  11. package/dist/cjs/Match.cjs +367 -442
  12. package/dist/cjs/Match.cjs.map +1 -1
  13. package/dist/cjs/Matches.cjs +114 -158
  14. package/dist/cjs/Matches.cjs.map +1 -1
  15. package/dist/cjs/RouterProvider.cjs +29 -41
  16. package/dist/cjs/RouterProvider.cjs.map +1 -1
  17. package/dist/cjs/SafeFragment.cjs +7 -5
  18. package/dist/cjs/SafeFragment.cjs.map +1 -1
  19. package/dist/cjs/ScriptOnce.cjs +20 -22
  20. package/dist/cjs/ScriptOnce.cjs.map +1 -1
  21. package/dist/cjs/Scripts.cjs +43 -58
  22. package/dist/cjs/Scripts.cjs.map +1 -1
  23. package/dist/cjs/ScrollRestoration.cjs +26 -28
  24. package/dist/cjs/ScrollRestoration.cjs.map +1 -1
  25. package/dist/cjs/Transitioner.cjs +91 -124
  26. package/dist/cjs/Transitioner.cjs.map +1 -1
  27. package/dist/cjs/_virtual/_rolldown/runtime.cjs +23 -0
  28. package/dist/cjs/awaited.cjs +31 -53
  29. package/dist/cjs/awaited.cjs.map +1 -1
  30. package/dist/cjs/fileRoute.cjs +96 -91
  31. package/dist/cjs/fileRoute.cjs.map +1 -1
  32. package/dist/cjs/fileRoute.d.cts +2 -2
  33. package/dist/cjs/headContentUtils.cjs +132 -170
  34. package/dist/cjs/headContentUtils.cjs.map +1 -1
  35. package/dist/cjs/index.cjs +245 -176
  36. package/dist/cjs/index.dev.cjs +245 -176
  37. package/dist/cjs/lazyRouteComponent.cjs +48 -54
  38. package/dist/cjs/lazyRouteComponent.cjs.map +1 -1
  39. package/dist/cjs/link.cjs +310 -345
  40. package/dist/cjs/link.cjs.map +1 -1
  41. package/dist/cjs/matchContext.cjs +9 -23
  42. package/dist/cjs/matchContext.cjs.map +1 -1
  43. package/dist/cjs/not-found.cjs +26 -34
  44. package/dist/cjs/not-found.cjs.map +1 -1
  45. package/dist/cjs/renderRouteNotFound.cjs +23 -16
  46. package/dist/cjs/renderRouteNotFound.cjs.map +1 -1
  47. package/dist/cjs/route.cjs +200 -215
  48. package/dist/cjs/route.cjs.map +1 -1
  49. package/dist/cjs/router.cjs +18 -16
  50. package/dist/cjs/router.cjs.map +1 -1
  51. package/dist/cjs/routerContext.cjs +8 -22
  52. package/dist/cjs/routerContext.cjs.map +1 -1
  53. package/dist/cjs/scroll-restoration.cjs +25 -35
  54. package/dist/cjs/scroll-restoration.cjs.map +1 -1
  55. package/dist/cjs/ssr/RouterClient.cjs +18 -23
  56. package/dist/cjs/ssr/RouterClient.cjs.map +1 -1
  57. package/dist/cjs/ssr/RouterServer.cjs +10 -10
  58. package/dist/cjs/ssr/RouterServer.cjs.map +1 -1
  59. package/dist/cjs/ssr/client.cjs +2 -4
  60. package/dist/cjs/ssr/defaultRenderHandler.cjs +12 -16
  61. package/dist/cjs/ssr/defaultRenderHandler.cjs.map +1 -1
  62. package/dist/cjs/ssr/defaultStreamHandler.cjs +13 -18
  63. package/dist/cjs/ssr/defaultStreamHandler.cjs.map +1 -1
  64. package/dist/cjs/ssr/renderRouterToStream.cjs +26 -54
  65. package/dist/cjs/ssr/renderRouterToStream.cjs.map +1 -1
  66. package/dist/cjs/ssr/renderRouterToString.cjs +33 -57
  67. package/dist/cjs/ssr/renderRouterToString.cjs.map +1 -1
  68. package/dist/cjs/ssr/server.cjs +18 -18
  69. package/dist/cjs/useBlocker.cjs +140 -177
  70. package/dist/cjs/useBlocker.cjs.map +1 -1
  71. package/dist/cjs/useBlocker.d.cts +8 -5
  72. package/dist/cjs/useCanGoBack.cjs +6 -5
  73. package/dist/cjs/useCanGoBack.cjs.map +1 -1
  74. package/dist/cjs/useLoaderData.cjs +12 -11
  75. package/dist/cjs/useLoaderData.cjs.map +1 -1
  76. package/dist/cjs/useLoaderDeps.cjs +12 -14
  77. package/dist/cjs/useLoaderDeps.cjs.map +1 -1
  78. package/dist/cjs/useLocation.cjs +6 -7
  79. package/dist/cjs/useLocation.cjs.map +1 -1
  80. package/dist/cjs/useMatch.cjs +25 -46
  81. package/dist/cjs/useMatch.cjs.map +1 -1
  82. package/dist/cjs/useNavigate.cjs +20 -38
  83. package/dist/cjs/useNavigate.cjs.map +1 -1
  84. package/dist/cjs/useParams.cjs +14 -13
  85. package/dist/cjs/useParams.cjs.map +1 -1
  86. package/dist/cjs/useRouteContext.cjs +9 -8
  87. package/dist/cjs/useRouteContext.cjs.map +1 -1
  88. package/dist/cjs/useRouter.cjs +13 -26
  89. package/dist/cjs/useRouter.cjs.map +1 -1
  90. package/dist/cjs/useRouterState.cjs +38 -45
  91. package/dist/cjs/useRouterState.cjs.map +1 -1
  92. package/dist/cjs/useSearch.cjs +13 -12
  93. package/dist/cjs/useSearch.cjs.map +1 -1
  94. package/dist/cjs/utils.cjs +57 -49
  95. package/dist/cjs/utils.cjs.map +1 -1
  96. package/dist/esm/Asset.js +122 -166
  97. package/dist/esm/Asset.js.map +1 -1
  98. package/dist/esm/CatchBoundary.js +48 -50
  99. package/dist/esm/CatchBoundary.js.map +1 -1
  100. package/dist/esm/ClientOnly.js +58 -22
  101. package/dist/esm/ClientOnly.js.map +1 -1
  102. package/dist/esm/HeadContent.dev.js +46 -40
  103. package/dist/esm/HeadContent.dev.js.map +1 -1
  104. package/dist/esm/HeadContent.js +33 -26
  105. package/dist/esm/HeadContent.js.map +1 -1
  106. package/dist/esm/Match.js +359 -422
  107. package/dist/esm/Match.js.map +1 -1
  108. package/dist/esm/Matches.js +107 -142
  109. package/dist/esm/Matches.js.map +1 -1
  110. package/dist/esm/RouterProvider.js +26 -40
  111. package/dist/esm/RouterProvider.js.map +1 -1
  112. package/dist/esm/SafeFragment.js +6 -5
  113. package/dist/esm/SafeFragment.js.map +1 -1
  114. package/dist/esm/ScriptOnce.js +18 -21
  115. package/dist/esm/ScriptOnce.js.map +1 -1
  116. package/dist/esm/Scripts.js +42 -58
  117. package/dist/esm/Scripts.js.map +1 -1
  118. package/dist/esm/ScrollRestoration.js +25 -29
  119. package/dist/esm/ScrollRestoration.js.map +1 -1
  120. package/dist/esm/Transitioner.js +87 -105
  121. package/dist/esm/Transitioner.js.map +1 -1
  122. package/dist/esm/awaited.js +28 -36
  123. package/dist/esm/awaited.js.map +1 -1
  124. package/dist/esm/fileRoute.d.ts +2 -2
  125. package/dist/esm/fileRoute.js +90 -92
  126. package/dist/esm/fileRoute.js.map +1 -1
  127. package/dist/esm/headContentUtils.js +129 -152
  128. package/dist/esm/headContentUtils.js.map +1 -1
  129. package/dist/esm/index.dev.js +15 -115
  130. package/dist/esm/index.js +17 -116
  131. package/dist/esm/lazyRouteComponent.js +46 -53
  132. package/dist/esm/lazyRouteComponent.js.map +1 -1
  133. package/dist/esm/link.js +306 -329
  134. package/dist/esm/link.js.map +1 -1
  135. package/dist/esm/matchContext.js +7 -7
  136. package/dist/esm/matchContext.js.map +1 -1
  137. package/dist/esm/not-found.js +23 -33
  138. package/dist/esm/not-found.js.map +1 -1
  139. package/dist/esm/renderRouteNotFound.js +20 -15
  140. package/dist/esm/renderRouteNotFound.js.map +1 -1
  141. package/dist/esm/route.js +193 -218
  142. package/dist/esm/route.js.map +1 -1
  143. package/dist/esm/router.js +17 -17
  144. package/dist/esm/router.js.map +1 -1
  145. package/dist/esm/routerContext.js +6 -5
  146. package/dist/esm/routerContext.js.map +1 -1
  147. package/dist/esm/scroll-restoration.js +23 -34
  148. package/dist/esm/scroll-restoration.js.map +1 -1
  149. package/dist/esm/ssr/RouterClient.js +16 -22
  150. package/dist/esm/ssr/RouterClient.js.map +1 -1
  151. package/dist/esm/ssr/RouterServer.js +9 -10
  152. package/dist/esm/ssr/RouterServer.js.map +1 -1
  153. package/dist/esm/ssr/client.js +1 -4
  154. package/dist/esm/ssr/defaultRenderHandler.js +11 -15
  155. package/dist/esm/ssr/defaultRenderHandler.js.map +1 -1
  156. package/dist/esm/ssr/defaultStreamHandler.js +12 -17
  157. package/dist/esm/ssr/defaultStreamHandler.js.map +1 -1
  158. package/dist/esm/ssr/renderRouterToStream.js +23 -36
  159. package/dist/esm/ssr/renderRouterToStream.js.map +1 -1
  160. package/dist/esm/ssr/renderRouterToString.js +31 -40
  161. package/dist/esm/ssr/renderRouterToString.js.map +1 -1
  162. package/dist/esm/ssr/server.js +3 -10
  163. package/dist/esm/useBlocker.d.ts +8 -5
  164. package/dist/esm/useBlocker.js +136 -159
  165. package/dist/esm/useBlocker.js.map +1 -1
  166. package/dist/esm/useCanGoBack.js +6 -5
  167. package/dist/esm/useCanGoBack.js.map +1 -1
  168. package/dist/esm/useLoaderData.js +12 -11
  169. package/dist/esm/useLoaderData.js.map +1 -1
  170. package/dist/esm/useLoaderDeps.js +12 -14
  171. package/dist/esm/useLoaderDeps.js.map +1 -1
  172. package/dist/esm/useLocation.js +6 -7
  173. package/dist/esm/useLocation.js.map +1 -1
  174. package/dist/esm/useMatch.js +21 -28
  175. package/dist/esm/useMatch.js.map +1 -1
  176. package/dist/esm/useNavigate.js +18 -22
  177. package/dist/esm/useNavigate.js.map +1 -1
  178. package/dist/esm/useParams.js +14 -13
  179. package/dist/esm/useParams.js.map +1 -1
  180. package/dist/esm/useRouteContext.js +9 -8
  181. package/dist/esm/useRouteContext.js.map +1 -1
  182. package/dist/esm/useRouter.js +9 -8
  183. package/dist/esm/useRouter.js.map +1 -1
  184. package/dist/esm/useRouterState.js +36 -44
  185. package/dist/esm/useRouterState.js.map +1 -1
  186. package/dist/esm/useSearch.js +13 -12
  187. package/dist/esm/useSearch.js.map +1 -1
  188. package/dist/esm/utils.js +55 -33
  189. package/dist/esm/utils.js.map +1 -1
  190. package/dist/source/fileRoute.d.ts +2 -2
  191. package/dist/source/useBlocker.d.ts +8 -5
  192. package/dist/source/useBlocker.jsx +2 -2
  193. package/dist/source/useBlocker.jsx.map +1 -1
  194. package/package.json +3 -3
  195. package/src/fileRoute.ts +2 -2
  196. package/src/useBlocker.tsx +15 -10
  197. package/dist/cjs/index.cjs.map +0 -1
  198. package/dist/cjs/index.dev.cjs.map +0 -1
  199. package/dist/cjs/ssr/client.cjs.map +0 -1
  200. package/dist/cjs/ssr/server.cjs.map +0 -1
  201. package/dist/esm/index.dev.js.map +0 -1
  202. package/dist/esm/index.js.map +0 -1
  203. package/dist/esm/ssr/client.js.map +0 -1
  204. package/dist/esm/ssr/server.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useMatch.cjs","sources":["../../src/useMatch.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport { useRouterState } from './useRouterState'\nimport { dummyMatchContext, matchContext } from './matchContext'\nimport type {\n AnyRouter,\n MakeRouteMatch,\n MakeRouteMatchUnion,\n RegisteredRouter,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n} from '@tanstack/router-core'\n\nexport interface UseMatchBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (\n match: MakeRouteMatch<TRouter['routeTree'], TFrom, TStrict>,\n ) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseMatchRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseMatchBaseOptions<TRouter, TFrom, true, true, TSelected>,\n) => Solid.Accessor<UseMatchResult<TRouter, TFrom, true, TSelected>>\n\nexport type UseMatchOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseMatchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseMatchResult<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TSelected,\n> = unknown extends TSelected\n ? TStrict extends true\n ? MakeRouteMatch<TRouter['routeTree'], TFrom, TStrict>\n : MakeRouteMatchUnion<TRouter>\n : TSelected\n\nexport function useMatch<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseMatchOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Solid.Accessor<\n ThrowOrOptional<UseMatchResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n const nearestMatchId = Solid.useContext(\n opts.from ? dummyMatchContext : matchContext,\n )\n\n // Create a signal to track error state separately from the match\n const matchState: Solid.Accessor<{\n match: any\n shouldThrowError: boolean\n }> = useRouterState({\n select: (state: any) => {\n const match = state.matches.find((d: any) =>\n opts.from ? opts.from === d.routeId : d.id === nearestMatchId(),\n )\n\n if (match === undefined) {\n // During navigation transitions, check if the match exists in pendingMatches\n const pendingMatch = state.pendingMatches?.find((d: any) =>\n opts.from ? opts.from === d.routeId : d.id === nearestMatchId(),\n )\n\n // Determine if we should throw an error\n const shouldThrowError =\n !pendingMatch && !state.isTransitioning && (opts.shouldThrow ?? true)\n\n return { match: undefined, shouldThrowError }\n }\n\n return {\n match: opts.select ? opts.select(match) : match,\n shouldThrowError: false,\n }\n },\n } as any)\n\n if (Solid.untrack(matchState).shouldThrowError) {\n invariant(\n false,\n `Could not find ${opts.from ? `an active match from \"${opts.from}\"` : 'a nearest match!'}`,\n )\n }\n\n // Return an accessor that extracts just the match value\n return Solid.createMemo(() => matchState().match) as any\n}\n"],"names":["useMatch","opts","nearestMatchId","Solid","useContext","from","dummyMatchContext","matchContext","matchState","useRouterState","select","state","match","matches","find","d","routeId","id","undefined","pendingMatch","pendingMatches","shouldThrowError","isTransitioning","shouldThrow","untrack","invariant","createMemo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAsDO,SAASA,SAOdC,MASA;AACA,QAAMC,iBAAiBC,iBAAMC,WAC3BH,KAAKI,OAAOC,aAAAA,oBAAoBC,yBAClC;AAGA,QAAMC,aAGDC,eAAAA,eAAe;AAAA,IAClBC,QAAQA,CAACC,UAAe;AACtB,YAAMC,QAAQD,MAAME,QAAQC,KAAK,CAACC,MAChCd,KAAKI,OAAOJ,KAAKI,SAASU,EAAEC,UAAUD,EAAEE,OAAOf,gBACjD;AAEA,UAAIU,UAAUM,QAAW;AAEvB,cAAMC,eAAeR,MAAMS,gBAAgBN,KAAK,CAACC,MAC/Cd,KAAKI,OAAOJ,KAAKI,SAASU,EAAEC,UAAUD,EAAEE,OAAOf,gBACjD;AAGA,cAAMmB,mBACJ,CAACF,gBAAgB,CAACR,MAAMW,oBAAoBrB,KAAKsB,eAAe;AAElE,eAAO;AAAA,UAAEX,OAAOM;AAAAA,UAAWG;AAAAA,QAAAA;AAAAA,MAC7B;AAEA,aAAO;AAAA,QACLT,OAAOX,KAAKS,SAAST,KAAKS,OAAOE,KAAK,IAAIA;AAAAA,QAC1CS,kBAAkB;AAAA,MAAA;AAAA,IAEtB;AAAA,EAAA,CACM;AAER,MAAIlB,iBAAMqB,QAAQhB,UAAU,EAAEa,kBAAkB;AAC9CI,cACE,OACA,kBAAkBxB,KAAKI,OAAO,yBAAyBJ,KAAKI,IAAI,MAAM,kBAAkB,EAC1F;AAAA,EACF;AAGA,SAAOF,iBAAMuB,WAAW,MAAMlB,WAAAA,EAAaI,KAAK;AAClD;;"}
1
+ {"version":3,"file":"useMatch.cjs","names":["Solid","invariant","useRouterState","dummyMatchContext","matchContext","AnyRouter","MakeRouteMatch","MakeRouteMatchUnion","RegisteredRouter","StrictOrFrom","ThrowConstraint","ThrowOrOptional","UseMatchBaseOptions","select","match","TRouter","TFrom","TStrict","TSelected","shouldThrow","TThrow","UseMatchRoute","opts","Accessor","UseMatchResult","UseMatchOptions","useMatch","nearestMatchId","useContext","from","matchState","shouldThrowError","state","matches","find","d","routeId","id","undefined","pendingMatch","pendingMatches","isTransitioning","untrack","createMemo"],"sources":["../../src/useMatch.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport { useRouterState } from './useRouterState'\nimport { dummyMatchContext, matchContext } from './matchContext'\nimport type {\n AnyRouter,\n MakeRouteMatch,\n MakeRouteMatchUnion,\n RegisteredRouter,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n} from '@tanstack/router-core'\n\nexport interface UseMatchBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (\n match: MakeRouteMatch<TRouter['routeTree'], TFrom, TStrict>,\n ) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseMatchRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseMatchBaseOptions<TRouter, TFrom, true, true, TSelected>,\n) => Solid.Accessor<UseMatchResult<TRouter, TFrom, true, TSelected>>\n\nexport type UseMatchOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseMatchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseMatchResult<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TSelected,\n> = unknown extends TSelected\n ? TStrict extends true\n ? MakeRouteMatch<TRouter['routeTree'], TFrom, TStrict>\n : MakeRouteMatchUnion<TRouter>\n : TSelected\n\nexport function useMatch<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseMatchOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Solid.Accessor<\n ThrowOrOptional<UseMatchResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n const nearestMatchId = Solid.useContext(\n opts.from ? dummyMatchContext : matchContext,\n )\n\n // Create a signal to track error state separately from the match\n const matchState: Solid.Accessor<{\n match: any\n shouldThrowError: boolean\n }> = useRouterState({\n select: (state: any) => {\n const match = state.matches.find((d: any) =>\n opts.from ? opts.from === d.routeId : d.id === nearestMatchId(),\n )\n\n if (match === undefined) {\n // During navigation transitions, check if the match exists in pendingMatches\n const pendingMatch = state.pendingMatches?.find((d: any) =>\n opts.from ? opts.from === d.routeId : d.id === nearestMatchId(),\n )\n\n // Determine if we should throw an error\n const shouldThrowError =\n !pendingMatch && !state.isTransitioning && (opts.shouldThrow ?? true)\n\n return { match: undefined, shouldThrowError }\n }\n\n return {\n match: opts.select ? opts.select(match) : match,\n shouldThrowError: false,\n }\n },\n } as any)\n\n if (Solid.untrack(matchState).shouldThrowError) {\n invariant(\n false,\n `Could not find ${opts.from ? `an active match from \"${opts.from}\"` : 'a nearest match!'}`,\n )\n }\n\n // Return an accessor that extracts just the match value\n return Solid.createMemo(() => matchState().match) as any\n}\n"],"mappings":";;;;;;;;AAsDA,SAAgB0B,SAOdJ,MASA;CACA,MAAMK,iBAAiB3B,SAAM4B,WAC3BN,KAAKO,OAAO1B,qBAAAA,oBAAoBC,qBAAAA,aACjC;CAGD,MAAM0B,aAGD5B,uBAAAA,eAAe,EAClBW,SAASmB,UAAe;EACtB,MAAMlB,QAAQkB,MAAMC,QAAQC,MAAMC,MAChCb,KAAKO,OAAOP,KAAKO,SAASM,EAAEC,UAAUD,EAAEE,OAAOV,gBACjD,CAAC;AAED,MAAIb,UAAUwB,KAAAA,EAUZ,QAAO;GAAExB,OAAOwB,KAAAA;GAAWP,kBAFzB,CANmBC,MAAMQ,gBAAgBN,MAAMC,MAC/Cb,KAAKO,OAAOP,KAAKO,SAASM,EAAEC,UAAUD,EAAEE,OAAOV,gBACjD,CAAC,IAIkB,CAACK,MAAMS,oBAAoBnB,KAAKH,eAAe;GAErB;AAG/C,SAAO;GACLL,OAAOQ,KAAKT,SAASS,KAAKT,OAAOC,MAAM,GAAGA;GAC1CiB,kBAAkB;GACnB;IAEJ,CAAQ;AAET,KAAI/B,SAAM0C,QAAQZ,WAAW,CAACC,iBAC5B9B,EAAAA,GAAAA,eAAAA,SACE,OACA,kBAAkBqB,KAAKO,OAAO,yBAAyBP,KAAKO,KAAI,KAAM,qBACvE;AAIH,QAAO7B,SAAM2C,iBAAiBb,YAAY,CAAChB,MAAM"}
@@ -1,44 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Solid = require("solid-js");
4
- const useRouter = require("./useRouter.cjs");
5
- function _interopNamespaceDefault(e) {
6
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
7
- if (e) {
8
- for (const k in e) {
9
- if (k !== "default") {
10
- const d = Object.getOwnPropertyDescriptor(e, k);
11
- Object.defineProperty(n, k, d.get ? d : {
12
- enumerable: true,
13
- get: () => e[k]
14
- });
15
- }
16
- }
17
- }
18
- n.default = e;
19
- return Object.freeze(n);
20
- }
21
- const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
2
+ const require_useRouter = require("./useRouter.cjs");
3
+ let solid_js = require("solid-js");
4
+ solid_js = require_runtime.__toESM(solid_js);
5
+ //#region src/useNavigate.tsx
22
6
  function useNavigate(_defaultOpts) {
23
- const router = useRouter.useRouter();
24
- return ((options) => {
25
- return router.navigate({
26
- ...options,
27
- from: options.from ?? _defaultOpts?.from
28
- });
29
- });
7
+ const router = require_useRouter.useRouter();
8
+ return ((options) => {
9
+ return router.navigate({
10
+ ...options,
11
+ from: options.from ?? _defaultOpts?.from
12
+ });
13
+ });
30
14
  }
31
15
  function Navigate(props) {
32
- const {
33
- navigate
34
- } = useRouter.useRouter();
35
- Solid__namespace.onSettled(() => {
36
- navigate({
37
- ...props
38
- });
39
- });
40
- return null;
16
+ const { navigate } = require_useRouter.useRouter();
17
+ solid_js.onSettled(() => {
18
+ navigate({ ...props });
19
+ });
20
+ return null;
41
21
  }
22
+ //#endregion
42
23
  exports.Navigate = Navigate;
43
24
  exports.useNavigate = useNavigate;
44
- //# sourceMappingURL=useNavigate.cjs.map
25
+
26
+ //# sourceMappingURL=useNavigate.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigate.cjs","sources":["../../src/useNavigate.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n FromPathOption,\n NavigateOptions,\n RegisteredRouter,\n UseNavigateResult,\n} from '@tanstack/router-core'\n\nexport function useNavigate<\n TRouter extends AnyRouter = RegisteredRouter,\n TDefaultFrom extends string = string,\n>(_defaultOpts?: {\n from?: FromPathOption<TRouter, TDefaultFrom>\n}): UseNavigateResult<TDefaultFrom> {\n const router = useRouter()\n\n return ((options: NavigateOptions) => {\n return router.navigate({\n ...options,\n from: options.from ?? _defaultOpts?.from,\n })\n }) as UseNavigateResult<TDefaultFrom>\n}\n\nexport function Navigate<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string = string,\n const TTo extends string | undefined = undefined,\n const TMaskFrom extends string = TFrom,\n const TMaskTo extends string = '',\n>(props: NavigateOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>): null {\n const { navigate } = useRouter()\n\n Solid.onSettled(() => {\n navigate({\n ...props,\n })\n })\n\n return null\n}\n"],"names":["useNavigate","_defaultOpts","router","useRouter","options","navigate","from","Navigate","props","Solid","onSettled"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAUO,SAASA,YAGdC,cAEkC;AAClC,QAAMC,SAASC,UAAAA,UAAAA;AAEf,UAAQ,CAACC,YAA6B;AACpC,WAAOF,OAAOG,SAAS;AAAA,MACrB,GAAGD;AAAAA,MACHE,MAAMF,QAAQE,QAAQL,cAAcK;AAAAA,IAAAA,CACrC;AAAA,EACH;AACF;AAEO,SAASC,SAMdC,OAAuE;AACvE,QAAM;AAAA,IAAEH;AAAAA,EAAAA,IAAaF,oBAAAA;AAErBM,mBAAMC,UAAU,MAAM;AACpBL,aAAS;AAAA,MACP,GAAGG;AAAAA,IAAAA,CACJ;AAAA,EACH,CAAC;AAED,SAAO;AACT;;;"}
1
+ {"version":3,"file":"useNavigate.cjs","names":["Solid","useRouter","AnyRouter","FromPathOption","NavigateOptions","RegisteredRouter","UseNavigateResult","useNavigate","_defaultOpts","from","TRouter","TDefaultFrom","router","options","navigate","Navigate","TFrom","props","TTo","TMaskFrom","TMaskTo","onSettled"],"sources":["../../src/useNavigate.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n FromPathOption,\n NavigateOptions,\n RegisteredRouter,\n UseNavigateResult,\n} from '@tanstack/router-core'\n\nexport function useNavigate<\n TRouter extends AnyRouter = RegisteredRouter,\n TDefaultFrom extends string = string,\n>(_defaultOpts?: {\n from?: FromPathOption<TRouter, TDefaultFrom>\n}): UseNavigateResult<TDefaultFrom> {\n const router = useRouter()\n\n return ((options: NavigateOptions) => {\n return router.navigate({\n ...options,\n from: options.from ?? _defaultOpts?.from,\n })\n }) as UseNavigateResult<TDefaultFrom>\n}\n\nexport function Navigate<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string = string,\n const TTo extends string | undefined = undefined,\n const TMaskFrom extends string = TFrom,\n const TMaskTo extends string = '',\n>(props: NavigateOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>): null {\n const { navigate } = useRouter()\n\n Solid.onSettled(() => {\n navigate({\n ...props,\n })\n })\n\n return null\n}\n"],"mappings":";;;;;AAUA,SAAgBO,YAGdC,cAEkC;CAClC,MAAMI,SAASX,kBAAAA,WAAW;AAE1B,UAASY,YAA6B;AACpC,SAAOD,OAAOE,SAAS;GACrB,GAAGD;GACHJ,MAAMI,QAAQJ,QAAQD,cAAcC;GACrC,CAAC;;;AAIN,SAAgBM,SAMdE,OAAuE;CACvE,MAAM,EAAEH,aAAab,kBAAAA,WAAW;AAEhCD,UAAMqB,gBAAgB;AACpBP,WAAS,EACP,GAAGG,OACJ,CAAC;GACF;AAEF,QAAO"}
@@ -1,16 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const useMatch = require("./useMatch.cjs");
1
+ const require_useMatch = require("./useMatch.cjs");
2
+ //#region src/useParams.tsx
4
3
  function useParams(opts) {
5
- return useMatch.useMatch({
6
- from: opts.from,
7
- shouldThrow: opts.shouldThrow,
8
- strict: opts.strict,
9
- select: (match) => {
10
- const params = opts.strict === false ? match.params : match._strictParams;
11
- return opts.select ? opts.select(params) : params;
12
- }
13
- });
4
+ return require_useMatch.useMatch({
5
+ from: opts.from,
6
+ shouldThrow: opts.shouldThrow,
7
+ strict: opts.strict,
8
+ select: (match) => {
9
+ const params = opts.strict === false ? match.params : match._strictParams;
10
+ return opts.select ? opts.select(params) : params;
11
+ }
12
+ });
14
13
  }
14
+ //#endregion
15
15
  exports.useParams = useParams;
16
- //# sourceMappingURL=useParams.cjs.map
16
+
17
+ //# sourceMappingURL=useParams.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useParams.cjs","sources":["../../src/useParams.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseParams,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n UseParamsResult,\n} from '@tanstack/router-core'\n\nexport interface UseParamsBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (params: ResolveUseParams<TRouter, TFrom, TStrict>) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseParamsOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseParamsBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseParamsRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseParamsBaseOptions<\n TRouter,\n TFrom,\n /* TStrict */ true,\n /* TThrow */ true,\n TSelected\n >,\n) => Accessor<UseParamsResult<TRouter, TFrom, true, TSelected>>\n\nexport function useParams<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseParamsOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Accessor<\n ThrowOrOptional<UseParamsResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n return useMatch({\n from: opts.from!,\n shouldThrow: opts.shouldThrow,\n strict: opts.strict,\n select: (match) => {\n const params = opts.strict === false ? match.params : match._strictParams\n\n return opts.select ? opts.select(params) : params\n },\n }) as Accessor<any>\n}\n"],"names":["useParams","opts","useMatch","from","shouldThrow","strict","select","match","params","_strictParams"],"mappings":";;;AA6CO,SAASA,UAOdC,MASA;AACA,SAAOC,kBAAS;AAAA,IACdC,MAAMF,KAAKE;AAAAA,IACXC,aAAaH,KAAKG;AAAAA,IAClBC,QAAQJ,KAAKI;AAAAA,IACbC,QAASC,CAAAA,UAAU;AACjB,YAAMC,SAASP,KAAKI,WAAW,QAAQE,MAAMC,SAASD,MAAME;AAE5D,aAAOR,KAAKK,SAASL,KAAKK,OAAOE,MAAM,IAAIA;AAAAA,IAC7C;AAAA,EAAA,CACD;AACH;;"}
1
+ {"version":3,"file":"useParams.cjs","names":["useMatch","Accessor","AnyRouter","RegisteredRouter","ResolveUseParams","StrictOrFrom","ThrowConstraint","ThrowOrOptional","UseParamsResult","UseParamsBaseOptions","select","params","TRouter","TFrom","TStrict","TSelected","shouldThrow","TThrow","UseParamsOptions","UseParamsRoute","opts","useParams","from","strict","match","_strictParams"],"sources":["../../src/useParams.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseParams,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n UseParamsResult,\n} from '@tanstack/router-core'\n\nexport interface UseParamsBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (params: ResolveUseParams<TRouter, TFrom, TStrict>) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseParamsOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseParamsBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseParamsRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseParamsBaseOptions<\n TRouter,\n TFrom,\n /* TStrict */ true,\n /* TThrow */ true,\n TSelected\n >,\n) => Accessor<UseParamsResult<TRouter, TFrom, true, TSelected>>\n\nexport function useParams<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseParamsOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Accessor<\n ThrowOrOptional<UseParamsResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n return useMatch({\n from: opts.from!,\n shouldThrow: opts.shouldThrow,\n strict: opts.strict,\n select: (match) => {\n const params = opts.strict === false ? match.params : match._strictParams\n\n return opts.select ? opts.select(params) : params\n },\n }) as Accessor<any>\n}\n"],"mappings":";;AA6CA,SAAgBqB,UAOdD,MASA;AACA,QAAOpB,iBAAAA,SAAS;EACdsB,MAAMF,KAAKE;EACXN,aAAaI,KAAKJ;EAClBO,QAAQH,KAAKG;EACbb,SAASc,UAAU;GACjB,MAAMb,SAASS,KAAKG,WAAW,QAAQC,MAAMb,SAASa,MAAMC;AAE5D,UAAOL,KAAKV,SAASU,KAAKV,OAAOC,OAAO,GAAGA;;EAE9C,CAAC"}
@@ -1,11 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const useMatch = require("./useMatch.cjs");
1
+ const require_useMatch = require("./useMatch.cjs");
2
+ //#region src/useRouteContext.ts
4
3
  function useRouteContext(opts) {
5
- return useMatch.useMatch({
6
- ...opts,
7
- select: (match) => opts.select ? opts.select(match.context) : match.context
8
- });
4
+ return require_useMatch.useMatch({
5
+ ...opts,
6
+ select: (match) => opts.select ? opts.select(match.context) : match.context
7
+ });
9
8
  }
9
+ //#endregion
10
10
  exports.useRouteContext = useRouteContext;
11
- //# sourceMappingURL=useRouteContext.cjs.map
11
+
12
+ //# sourceMappingURL=useRouteContext.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRouteContext.cjs","sources":["../../src/useRouteContext.ts"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n UseRouteContextBaseOptions,\n UseRouteContextOptions,\n UseRouteContextResult,\n} from '@tanstack/router-core'\n\nexport type UseRouteContextRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouteContextBaseOptions<TRouter, TFrom, true, TSelected>,\n) => Accessor<UseRouteContextResult<TRouter, TFrom, true, TSelected>>\n\nexport function useRouteContext<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseRouteContextOptions<TRouter, TFrom, TStrict, TSelected>,\n): Accessor<UseRouteContextResult<TRouter, TFrom, TStrict, TSelected>> {\n return useMatch({\n ...(opts as any),\n select: (match) =>\n opts.select ? opts.select(match.context) : match.context,\n }) as any\n}\n"],"names":["useMatch"],"mappings":";;;AAiBO,SAAS,gBAMd,MACqE;AACrE,SAAOA,kBAAS;AAAA,IACd,GAAI;AAAA,IACJ,QAAQ,CAAC,UACP,KAAK,SAAS,KAAK,OAAO,MAAM,OAAO,IAAI,MAAM;AAAA,EAAA,CACpD;AACH;;"}
1
+ {"version":3,"file":"useRouteContext.cjs","names":[],"sources":["../../src/useRouteContext.ts"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n UseRouteContextBaseOptions,\n UseRouteContextOptions,\n UseRouteContextResult,\n} from '@tanstack/router-core'\n\nexport type UseRouteContextRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouteContextBaseOptions<TRouter, TFrom, true, TSelected>,\n) => Accessor<UseRouteContextResult<TRouter, TFrom, true, TSelected>>\n\nexport function useRouteContext<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseRouteContextOptions<TRouter, TFrom, TStrict, TSelected>,\n): Accessor<UseRouteContextResult<TRouter, TFrom, TStrict, TSelected>> {\n return useMatch({\n ...(opts as any),\n select: (match) =>\n opts.select ? opts.select(match.context) : match.context,\n }) as any\n}\n"],"mappings":";;AAiBA,SAAgB,gBAMd,MACqE;AACrE,QAAO,iBAAA,SAAS;EACd,GAAI;EACJ,SAAS,UACP,KAAK,SAAS,KAAK,OAAO,MAAM,QAAQ,GAAG,MAAM;EACpD,CAAC"}
@@ -1,29 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Solid = require("solid-js");
4
- const warning = require("tiny-warning");
5
- const routerContext = require("./routerContext.cjs");
6
- function _interopNamespaceDefault(e) {
7
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
8
- if (e) {
9
- for (const k in e) {
10
- if (k !== "default") {
11
- const d = Object.getOwnPropertyDescriptor(e, k);
12
- Object.defineProperty(n, k, d.get ? d : {
13
- enumerable: true,
14
- get: () => e[k]
15
- });
16
- }
17
- }
18
- }
19
- n.default = e;
20
- return Object.freeze(n);
21
- }
22
- const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
2
+ const require_routerContext = require("./routerContext.cjs");
3
+ let solid_js = require("solid-js");
4
+ solid_js = require_runtime.__toESM(solid_js);
5
+ let tiny_warning = require("tiny-warning");
6
+ tiny_warning = require_runtime.__toESM(tiny_warning);
7
+ //#region src/useRouter.tsx
23
8
  function useRouter(opts) {
24
- const value = Solid__namespace.useContext(routerContext.routerContext);
25
- warning(!((opts?.warn ?? true) && !value), "useRouter must be used inside a <RouterProvider> component!");
26
- return value;
9
+ const value = solid_js.useContext(require_routerContext.routerContext);
10
+ (0, tiny_warning.default)(!((opts?.warn ?? true) && !value), "useRouter must be used inside a <RouterProvider> component!");
11
+ return value;
27
12
  }
13
+ //#endregion
28
14
  exports.useRouter = useRouter;
29
- //# sourceMappingURL=useRouter.cjs.map
15
+
16
+ //# sourceMappingURL=useRouter.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRouter.cjs","sources":["../../src/useRouter.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport warning from 'tiny-warning'\nimport { routerContext } from './routerContext'\nimport type { AnyRouter, RegisteredRouter } from '@tanstack/router-core'\n\nexport function useRouter<TRouter extends AnyRouter = RegisteredRouter>(opts?: {\n warn?: boolean\n}): TRouter {\n const value = Solid.useContext(routerContext as any)\n warning(\n !((opts?.warn ?? true) && !value),\n 'useRouter must be used inside a <RouterProvider> component!',\n )\n return value as any\n}\n"],"names":["useRouter","opts","value","Solid","useContext","routerContext","warning","warn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAKO,SAASA,UAAwDC,MAE5D;AACV,QAAMC,QAAQC,iBAAMC,WAAWC,2BAAoB;AACnDC,UACE,GAAGL,MAAMM,QAAQ,SAAS,CAACL,QAC3B,6DACF;AACA,SAAOA;AACT;;"}
1
+ {"version":3,"file":"useRouter.cjs","names":["Solid","warning","routerContext","AnyRouter","RegisteredRouter","useRouter","opts","warn","TRouter","value","useContext"],"sources":["../../src/useRouter.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport warning from 'tiny-warning'\nimport { routerContext } from './routerContext'\nimport type { AnyRouter, RegisteredRouter } from '@tanstack/router-core'\n\nexport function useRouter<TRouter extends AnyRouter = RegisteredRouter>(opts?: {\n warn?: boolean\n}): TRouter {\n const value = Solid.useContext(routerContext as any)\n warning(\n !((opts?.warn ?? true) && !value),\n 'useRouter must be used inside a <RouterProvider> component!',\n )\n return value as any\n}\n"],"mappings":";;;;;;;AAKA,SAAgBK,UAAwDC,MAE5D;CACV,MAAMG,QAAQT,SAAMU,WAAWR,sBAAAA,cAAqB;AACpDD,EAAAA,GAAAA,aAAAA,SACE,GAAGK,MAAMC,QAAQ,SAAS,CAACE,QAC3B,8DACD;AACD,QAAOA"}
@@ -1,52 +1,45 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Solid = require("solid-js");
4
- const isServer = require("@tanstack/router-core/isServer");
5
- const useRouter = require("./useRouter.cjs");
1
+ require("./_virtual/_rolldown/runtime.cjs");
2
+ const require_useRouter = require("./useRouter.cjs");
3
+ let solid_js = require("solid-js");
4
+ let _tanstack_router_core_isServer = require("@tanstack/router-core/isServer");
5
+ //#region src/useRouterState.tsx
6
6
  function deepEqual(a, b) {
7
- if (Object.is(a, b)) return true;
8
- if (isPromiseLike(a) || isPromiseLike(b)) return false;
9
- if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
10
- return false;
11
- }
12
- const keysA = Object.keys(a);
13
- const keysB = Object.keys(b);
14
- if (keysA.length !== keysB.length) return false;
15
- for (const key of keysA) {
16
- if (!Object.prototype.hasOwnProperty.call(b, key)) return false;
17
- if (!deepEqual(a[key], b[key])) return false;
18
- }
19
- return true;
7
+ if (Object.is(a, b)) return true;
8
+ if (isPromiseLike(a) || isPromiseLike(b)) return false;
9
+ if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) return false;
10
+ const keysA = Object.keys(a);
11
+ const keysB = Object.keys(b);
12
+ if (keysA.length !== keysB.length) return false;
13
+ for (const key of keysA) {
14
+ if (!Object.prototype.hasOwnProperty.call(b, key)) return false;
15
+ if (!deepEqual(a[key], b[key])) return false;
16
+ }
17
+ return true;
20
18
  }
21
19
  function isPromiseLike(value) {
22
- return !!value && (typeof value === "object" || typeof value === "function") && typeof value.then === "function";
20
+ return !!value && (typeof value === "object" || typeof value === "function") && typeof value.then === "function";
23
21
  }
24
22
  function useRouterState(opts) {
25
- const contextRouter = useRouter.useRouter({
26
- warn: opts?.router === void 0
27
- });
28
- const router = opts?.router || contextRouter;
29
- const _isServer = isServer.isServer ?? router.isServer;
30
- if (_isServer) {
31
- const state = router.state;
32
- const selected2 = Solid.createMemo(() => opts?.select ? opts.select(state) : state);
33
- return selected2;
34
- }
35
- const selector = (state) => {
36
- if (opts?.select) return opts.select(state);
37
- return state;
38
- };
39
- const [storeState, setStoreState] = Solid.createSignal(router.__store.get());
40
- const unsub = router.__store.subscribe((s) => {
41
- setStoreState(s);
42
- }).unsubscribe;
43
- Solid.onCleanup(() => {
44
- unsub();
45
- });
46
- const selected = Solid.createMemo(() => selector(storeState()), void 0, {
47
- equals: (a, b) => deepEqual(a, b)
48
- });
49
- return selected;
23
+ const contextRouter = require_useRouter.useRouter({ warn: opts?.router === void 0 });
24
+ const router = opts?.router || contextRouter;
25
+ if (_tanstack_router_core_isServer.isServer ?? router.isServer) {
26
+ const state = router.state;
27
+ return (0, solid_js.createMemo)(() => opts?.select ? opts.select(state) : state);
28
+ }
29
+ const selector = (state) => {
30
+ if (opts?.select) return opts.select(state);
31
+ return state;
32
+ };
33
+ const [storeState, setStoreState] = (0, solid_js.createSignal)(router.__store.get());
34
+ const unsub = router.__store.subscribe((s) => {
35
+ setStoreState(s);
36
+ }).unsubscribe;
37
+ (0, solid_js.onCleanup)(() => {
38
+ unsub();
39
+ });
40
+ return (0, solid_js.createMemo)(() => selector(storeState()), void 0, { equals: (a, b) => deepEqual(a, b) });
50
41
  }
42
+ //#endregion
51
43
  exports.useRouterState = useRouterState;
52
- //# sourceMappingURL=useRouterState.cjs.map
44
+
45
+ //# sourceMappingURL=useRouterState.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRouterState.cjs","sources":["../../src/useRouterState.tsx"],"sourcesContent":["import { createMemo, createSignal, onCleanup } from 'solid-js'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\nfunction deepEqual(a: any, b: any): boolean {\n if (Object.is(a, b)) return true\n\n if (isPromiseLike(a) || isPromiseLike(b)) return false\n\n if (\n typeof a !== 'object' ||\n a === null ||\n typeof b !== 'object' ||\n b === null\n ) {\n return false\n }\n\n const keysA = Object.keys(a)\n const keysB = Object.keys(b)\n\n if (keysA.length !== keysB.length) return false\n\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false\n if (!deepEqual(a[key], b[key])) return false\n }\n\n return true\n}\n\nfunction isPromiseLike(value: unknown): value is PromiseLike<unknown> {\n return (\n !!value &&\n (typeof value === 'object' || typeof value === 'function') &&\n typeof (value as PromiseLike<unknown>).then === 'function'\n )\n}\n\nexport type UseRouterStateOptions<TRouter extends AnyRouter, TSelected> = {\n router?: TRouter\n select?: (state: RouterState<TRouter['routeTree']>) => TSelected\n}\n\nexport type UseRouterStateResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected ? RouterState<TRouter['routeTree']> : TSelected\n\nexport function useRouterState<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouterStateOptions<TRouter, TSelected>,\n): Accessor<UseRouterStateResult<TRouter, TSelected>> {\n const contextRouter = useRouter<TRouter>({\n warn: opts?.router === undefined,\n })\n const router = opts?.router || contextRouter\n\n // During SSR we render exactly once and do not need reactivity.\n // Avoid subscribing to the store on the server since the server store\n // implementation does not provide subscribe() semantics.\n const _isServer = isServer ?? router.isServer\n if (_isServer) {\n const state = router.state as RouterState<TRouter['routeTree']>\n const selected = createMemo(() =>\n opts?.select ? opts.select(state) : state,\n ) as Accessor<UseRouterStateResult<TRouter, TSelected>>\n return selected\n }\n\n const selector = (state: any) => {\n if (opts?.select) return opts.select(state)\n\n return state\n }\n\n // Track the latest store state in a signal that updates via subscription.\n // We store the full state so that the selector (which may read reactive\n // props like props.matchId) re-runs inside a Solid tracking scope (the\n // createMemo below) rather than inside the store subscriber callback\n // where reactive reads would be untracked.\n const [storeState, setStoreState] = createSignal(router.__store.get())\n\n const unsub = router.__store.subscribe((s) => {\n setStoreState(s)\n }).unsubscribe\n\n onCleanup(() => {\n unsub()\n })\n\n // Run the selector inside a memo so that:\n // 1. Reactive values read by the selector (e.g. props.matchId) are tracked\n // 2. The result is memoized and only updates when the selected value changes\n const selected = createMemo(() => selector(storeState()), undefined, {\n equals: (a: any, b: any) => deepEqual(a, b),\n })\n\n return selected as Accessor<UseRouterStateResult<TRouter, TSelected>>\n}\n"],"names":["deepEqual","a","b","Object","is","isPromiseLike","keysA","keys","keysB","length","key","prototype","hasOwnProperty","call","value","then","useRouterState","opts","contextRouter","useRouter","warn","router","undefined","_isServer","isServer","state","selected","createMemo","select","selector","storeState","setStoreState","createSignal","__store","get","unsub","subscribe","s","unsubscribe","onCleanup","equals"],"mappings":";;;;;AAUA,SAASA,UAAUC,GAAQC,GAAiB;AAC1C,MAAIC,OAAOC,GAAGH,GAAGC,CAAC,EAAG,QAAO;AAE5B,MAAIG,cAAcJ,CAAC,KAAKI,cAAcH,CAAC,EAAG,QAAO;AAEjD,MACE,OAAOD,MAAM,YACbA,MAAM,QACN,OAAOC,MAAM,YACbA,MAAM,MACN;AACA,WAAO;AAAA,EACT;AAEA,QAAMI,QAAQH,OAAOI,KAAKN,CAAC;AAC3B,QAAMO,QAAQL,OAAOI,KAAKL,CAAC;AAE3B,MAAII,MAAMG,WAAWD,MAAMC,OAAQ,QAAO;AAE1C,aAAWC,OAAOJ,OAAO;AACvB,QAAI,CAACH,OAAOQ,UAAUC,eAAeC,KAAKX,GAAGQ,GAAG,EAAG,QAAO;AAC1D,QAAI,CAACV,UAAUC,EAAES,GAAG,GAAGR,EAAEQ,GAAG,CAAC,EAAG,QAAO;AAAA,EACzC;AAEA,SAAO;AACT;AAEA,SAASL,cAAcS,OAA+C;AACpE,SACE,CAAC,CAACA,UACD,OAAOA,UAAU,YAAY,OAAOA,UAAU,eAC/C,OAAQA,MAA+BC,SAAS;AAEpD;AAYO,SAASC,eAIdC,MACoD;AACpD,QAAMC,gBAAgBC,UAAAA,UAAmB;AAAA,IACvCC,MAAMH,MAAMI,WAAWC;AAAAA,EAAAA,CACxB;AACD,QAAMD,SAASJ,MAAMI,UAAUH;AAK/B,QAAMK,YAAYC,qBAAYH,OAAOG;AACrC,MAAID,WAAW;AACb,UAAME,QAAQJ,OAAOI;AACrB,UAAMC,YAAWC,iBAAW,MAC1BV,MAAMW,SAASX,KAAKW,OAAOH,KAAK,IAAIA,KACtC;AACA,WAAOC;AAAAA,EACT;AAEA,QAAMG,WAAWA,CAACJ,UAAe;AAC/B,QAAIR,MAAMW,OAAQ,QAAOX,KAAKW,OAAOH,KAAK;AAE1C,WAAOA;AAAAA,EACT;AAOA,QAAM,CAACK,YAAYC,aAAa,IAAIC,MAAAA,aAAaX,OAAOY,QAAQC,KAAK;AAErE,QAAMC,QAAQd,OAAOY,QAAQG,UAAWC,CAAAA,MAAM;AAC5CN,kBAAcM,CAAC;AAAA,EACjB,CAAC,EAAEC;AAEHC,QAAAA,UAAU,MAAM;AACdJ,UAAAA;AAAAA,EACF,CAAC;AAKD,QAAMT,WAAWC,MAAAA,WAAW,MAAME,SAASC,WAAAA,CAAY,GAAGR,QAAW;AAAA,IACnEkB,QAAQA,CAACvC,GAAQC,MAAWF,UAAUC,GAAGC,CAAC;AAAA,EAAA,CAC3C;AAED,SAAOwB;AACT;;"}
1
+ {"version":3,"file":"useRouterState.cjs","names":["createMemo","createSignal","onCleanup","isServer","useRouter","AnyRouter","RegisteredRouter","RouterState","Accessor","deepEqual","a","b","Object","is","isPromiseLike","keysA","keys","keysB","length","key","prototype","hasOwnProperty","call","value","PromiseLike","then","UseRouterStateOptions","router","TRouter","select","state","TSelected","UseRouterStateResult","useRouterState","opts","contextRouter","warn","undefined","_isServer","selected","selector","storeState","setStoreState","__store","get","unsub","subscribe","s","unsubscribe","equals"],"sources":["../../src/useRouterState.tsx"],"sourcesContent":["import { createMemo, createSignal, onCleanup } from 'solid-js'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\nfunction deepEqual(a: any, b: any): boolean {\n if (Object.is(a, b)) return true\n\n if (isPromiseLike(a) || isPromiseLike(b)) return false\n\n if (\n typeof a !== 'object' ||\n a === null ||\n typeof b !== 'object' ||\n b === null\n ) {\n return false\n }\n\n const keysA = Object.keys(a)\n const keysB = Object.keys(b)\n\n if (keysA.length !== keysB.length) return false\n\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false\n if (!deepEqual(a[key], b[key])) return false\n }\n\n return true\n}\n\nfunction isPromiseLike(value: unknown): value is PromiseLike<unknown> {\n return (\n !!value &&\n (typeof value === 'object' || typeof value === 'function') &&\n typeof (value as PromiseLike<unknown>).then === 'function'\n )\n}\n\nexport type UseRouterStateOptions<TRouter extends AnyRouter, TSelected> = {\n router?: TRouter\n select?: (state: RouterState<TRouter['routeTree']>) => TSelected\n}\n\nexport type UseRouterStateResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected ? RouterState<TRouter['routeTree']> : TSelected\n\nexport function useRouterState<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouterStateOptions<TRouter, TSelected>,\n): Accessor<UseRouterStateResult<TRouter, TSelected>> {\n const contextRouter = useRouter<TRouter>({\n warn: opts?.router === undefined,\n })\n const router = opts?.router || contextRouter\n\n // During SSR we render exactly once and do not need reactivity.\n // Avoid subscribing to the store on the server since the server store\n // implementation does not provide subscribe() semantics.\n const _isServer = isServer ?? router.isServer\n if (_isServer) {\n const state = router.state as RouterState<TRouter['routeTree']>\n const selected = createMemo(() =>\n opts?.select ? opts.select(state) : state,\n ) as Accessor<UseRouterStateResult<TRouter, TSelected>>\n return selected\n }\n\n const selector = (state: any) => {\n if (opts?.select) return opts.select(state)\n\n return state\n }\n\n // Track the latest store state in a signal that updates via subscription.\n // We store the full state so that the selector (which may read reactive\n // props like props.matchId) re-runs inside a Solid tracking scope (the\n // createMemo below) rather than inside the store subscriber callback\n // where reactive reads would be untracked.\n const [storeState, setStoreState] = createSignal(router.__store.get())\n\n const unsub = router.__store.subscribe((s) => {\n setStoreState(s)\n }).unsubscribe\n\n onCleanup(() => {\n unsub()\n })\n\n // Run the selector inside a memo so that:\n // 1. Reactive values read by the selector (e.g. props.matchId) are tracked\n // 2. The result is memoized and only updates when the selected value changes\n const selected = createMemo(() => selector(storeState()), undefined, {\n equals: (a: any, b: any) => deepEqual(a, b),\n })\n\n return selected as Accessor<UseRouterStateResult<TRouter, TSelected>>\n}\n"],"mappings":";;;;;AAUA,SAASS,UAAUC,GAAQC,GAAiB;AAC1C,KAAIC,OAAOC,GAAGH,GAAGC,EAAE,CAAE,QAAO;AAE5B,KAAIG,cAAcJ,EAAE,IAAII,cAAcH,EAAE,CAAE,QAAO;AAEjD,KACE,OAAOD,MAAM,YACbA,MAAM,QACN,OAAOC,MAAM,YACbA,MAAM,KAEN,QAAO;CAGT,MAAMI,QAAQH,OAAOI,KAAKN,EAAE;CAC5B,MAAMO,QAAQL,OAAOI,KAAKL,EAAE;AAE5B,KAAII,MAAMG,WAAWD,MAAMC,OAAQ,QAAO;AAE1C,MAAK,MAAMC,OAAOJ,OAAO;AACvB,MAAI,CAACH,OAAOQ,UAAUC,eAAeC,KAAKX,GAAGQ,IAAI,CAAE,QAAO;AAC1D,MAAI,CAACV,UAAUC,EAAES,MAAMR,EAAEQ,KAAK,CAAE,QAAO;;AAGzC,QAAO;;AAGT,SAASL,cAAcS,OAA+C;AACpE,QACE,CAAC,CAACA,UACD,OAAOA,UAAU,YAAY,OAAOA,UAAU,eAC/C,OAAQA,MAA+BE,SAAS;;AAcpD,SAAgBQ,eAIdC,MACoD;CACpD,MAAMC,gBAAgB/B,kBAAAA,UAAmB,EACvCgC,MAAMF,MAAMP,WAAWU,KAAAA,GACxB,CAAC;CACF,MAAMV,SAASO,MAAMP,UAAUQ;AAM/B,KADkBhC,+BAAAA,YAAYwB,OAAOxB,UACtB;EACb,MAAM2B,QAAQH,OAAOG;AAIrB,UAAA,GAAA,SAAA,kBAFEI,MAAML,SAASK,KAAKL,OAAOC,MAAM,GAAGA,MACrC;;CAIH,MAAMU,YAAYV,UAAe;AAC/B,MAAII,MAAML,OAAQ,QAAOK,KAAKL,OAAOC,MAAM;AAE3C,SAAOA;;CAQT,MAAM,CAACW,YAAYC,kBAAAA,GAAAA,SAAAA,cAA8Bf,OAAOgB,QAAQC,KAAK,CAAC;CAEtE,MAAMC,QAAQlB,OAAOgB,QAAQG,WAAWC,MAAM;AAC5CL,gBAAcK,EAAE;GAChB,CAACC;AAEH9C,EAAAA,GAAAA,SAAAA,iBAAgB;AACd2C,SAAO;GACP;AASF,SAAA,GAAA,SAAA,kBAJkCL,SAASC,YAAY,CAAC,EAAEJ,KAAAA,GAAW,EACnEY,SAASvC,GAAQC,MAAWF,UAAUC,GAAGC,EAAC,EAC3C,CAAC"}
@@ -1,15 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const useMatch = require("./useMatch.cjs");
1
+ const require_useMatch = require("./useMatch.cjs");
2
+ //#region src/useSearch.tsx
4
3
  function useSearch(opts) {
5
- return useMatch.useMatch({
6
- from: opts.from,
7
- strict: opts.strict,
8
- shouldThrow: opts.shouldThrow,
9
- select: (match) => {
10
- return opts.select ? opts.select(match.search) : match.search;
11
- }
12
- });
4
+ return require_useMatch.useMatch({
5
+ from: opts.from,
6
+ strict: opts.strict,
7
+ shouldThrow: opts.shouldThrow,
8
+ select: (match) => {
9
+ return opts.select ? opts.select(match.search) : match.search;
10
+ }
11
+ });
13
12
  }
13
+ //#endregion
14
14
  exports.useSearch = useSearch;
15
- //# sourceMappingURL=useSearch.cjs.map
15
+
16
+ //# sourceMappingURL=useSearch.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSearch.cjs","sources":["../../src/useSearch.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseSearch,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n UseSearchResult,\n} from '@tanstack/router-core'\n\nexport interface UseSearchBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (state: ResolveUseSearch<TRouter, TFrom, TStrict>) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseSearchOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseSearchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseSearchRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseSearchBaseOptions<\n TRouter,\n TFrom,\n /* TStrict */ true,\n /* TThrow */ true,\n TSelected\n >,\n) => Accessor<UseSearchResult<TRouter, TFrom, true, TSelected>>\n\nexport function useSearch<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseSearchOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Accessor<\n ThrowOrOptional<UseSearchResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n return useMatch({\n from: opts.from!,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n select: (match: any) => {\n return opts.select ? opts.select(match.search) : match.search\n },\n }) as any\n}\n"],"names":["useSearch","opts","useMatch","from","strict","shouldThrow","select","match","search"],"mappings":";;;AA6CO,SAASA,UAOdC,MASA;AACA,SAAOC,kBAAS;AAAA,IACdC,MAAMF,KAAKE;AAAAA,IACXC,QAAQH,KAAKG;AAAAA,IACbC,aAAaJ,KAAKI;AAAAA,IAClBC,QAAQA,CAACC,UAAe;AACtB,aAAON,KAAKK,SAASL,KAAKK,OAAOC,MAAMC,MAAM,IAAID,MAAMC;AAAAA,IACzD;AAAA,EAAA,CACD;AACH;;"}
1
+ {"version":3,"file":"useSearch.cjs","names":["useMatch","Accessor","AnyRouter","RegisteredRouter","ResolveUseSearch","StrictOrFrom","ThrowConstraint","ThrowOrOptional","UseSearchResult","UseSearchBaseOptions","select","state","TRouter","TFrom","TStrict","TSelected","shouldThrow","TThrow","UseSearchOptions","UseSearchRoute","opts","useSearch","from","strict","match","search"],"sources":["../../src/useSearch.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseSearch,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n UseSearchResult,\n} from '@tanstack/router-core'\n\nexport interface UseSearchBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (state: ResolveUseSearch<TRouter, TFrom, TStrict>) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseSearchOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseSearchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseSearchRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseSearchBaseOptions<\n TRouter,\n TFrom,\n /* TStrict */ true,\n /* TThrow */ true,\n TSelected\n >,\n) => Accessor<UseSearchResult<TRouter, TFrom, true, TSelected>>\n\nexport function useSearch<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseSearchOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Accessor<\n ThrowOrOptional<UseSearchResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n return useMatch({\n from: opts.from!,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n select: (match: any) => {\n return opts.select ? opts.select(match.search) : match.search\n },\n }) as any\n}\n"],"mappings":";;AA6CA,SAAgBqB,UAOdD,MASA;AACA,QAAOpB,iBAAAA,SAAS;EACdsB,MAAMF,KAAKE;EACXC,QAAQH,KAAKG;EACbP,aAAaI,KAAKJ;EAClBN,SAASc,UAAe;AACtB,UAAOJ,KAAKV,SAASU,KAAKV,OAAOc,MAAMC,OAAO,GAAGD,MAAMC;;EAE1D,CAAC"}
@@ -1,54 +1,62 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Solid = require("solid-js");
4
- function _interopNamespaceDefault(e) {
5
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
6
- if (e) {
7
- for (const k in e) {
8
- if (k !== "default") {
9
- const d = Object.getOwnPropertyDescriptor(e, k);
10
- Object.defineProperty(n, k, d.get ? d : {
11
- enumerable: true,
12
- get: () => e[k]
13
- });
14
- }
15
- }
16
- }
17
- n.default = e;
18
- return Object.freeze(n);
19
- }
20
- const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
21
- const usePrevious = (fn) => {
22
- return Solid__namespace.createMemo(
23
- (prev = {
24
- current: null,
25
- previous: null
26
- }) => {
27
- const current = fn();
28
- if (prev.current !== current) {
29
- return { previous: prev.current, current };
30
- }
31
- return prev;
32
- }
33
- );
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
2
+ let solid_js = require("solid-js");
3
+ solid_js = require_runtime.__toESM(solid_js);
4
+ typeof window !== "undefined" ? solid_js.createEffect : solid_js.createEffect;
5
+ var usePrevious = (fn) => {
6
+ return solid_js.createMemo((prev = {
7
+ current: null,
8
+ previous: null
9
+ }) => {
10
+ const current = fn();
11
+ if (prev.current !== current) return {
12
+ previous: prev.current,
13
+ current
14
+ };
15
+ return prev;
16
+ });
34
17
  };
18
+ /**
19
+ * React hook to wrap `IntersectionObserver`.
20
+ *
21
+ * This hook will create an `IntersectionObserver` and observe the ref passed to it.
22
+ *
23
+ * When the intersection changes, the callback will be called with the `IntersectionObserverEntry`.
24
+ *
25
+ * @param ref - The ref to observe
26
+ * @param intersectionObserverOptions - The options to pass to the IntersectionObserver
27
+ * @param options - The options to pass to the hook
28
+ * @param callback - The callback to call when the intersection changes
29
+ * @returns The IntersectionObserver instance
30
+ * @example
31
+ * ```tsx
32
+ * const MyComponent = () => {
33
+ * const ref = React.useRef<HTMLDivElement>(null)
34
+ * useIntersectionObserver(
35
+ * ref,
36
+ * (entry) => { doSomething(entry) },
37
+ * { rootMargin: '10px' },
38
+ * { disabled: false }
39
+ * )
40
+ * return <div ref={ref} />
41
+ * ```
42
+ */
35
43
  function useIntersectionObserver(ref, callback, intersectionObserverOptions = {}, options = {}) {
36
- const isIntersectionObserverAvailable = typeof IntersectionObserver === "function";
37
- let observerRef = null;
38
- Solid__namespace.createEffect(ref, (r) => {
39
- if (!r || !isIntersectionObserverAvailable || options.disabled) {
40
- return;
41
- }
42
- observerRef = new IntersectionObserver(([entry]) => {
43
- callback(entry);
44
- }, intersectionObserverOptions);
45
- observerRef.observe(r);
46
- Solid__namespace.onCleanup(() => {
47
- observerRef?.disconnect();
48
- });
49
- });
50
- return () => observerRef;
44
+ const isIntersectionObserverAvailable = typeof IntersectionObserver === "function";
45
+ let observerRef = null;
46
+ solid_js.createEffect(ref, (r) => {
47
+ if (!r || !isIntersectionObserverAvailable || options.disabled) return;
48
+ observerRef = new IntersectionObserver(([entry]) => {
49
+ callback(entry);
50
+ }, intersectionObserverOptions);
51
+ observerRef.observe(r);
52
+ solid_js.onCleanup(() => {
53
+ observerRef?.disconnect();
54
+ });
55
+ });
56
+ return () => observerRef;
51
57
  }
58
+ //#endregion
52
59
  exports.useIntersectionObserver = useIntersectionObserver;
53
60
  exports.usePrevious = usePrevious;
54
- //# sourceMappingURL=utils.cjs.map
61
+
62
+ //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","sources":["../../src/utils.ts"],"sourcesContent":["import * as Solid from 'solid-js'\n\nexport const useLayoutEffect =\n typeof window !== 'undefined' ? Solid.createEffect : Solid.createEffect\n\nexport const usePrevious = (fn: () => boolean) => {\n return Solid.createMemo(\n (\n prev: { current: boolean | null; previous: boolean | null } = {\n current: null,\n previous: null,\n },\n ) => {\n const current = fn()\n\n if (prev.current !== current) {\n return { previous: prev.current, current }\n }\n\n return prev\n },\n )\n}\n\n/**\n * React hook to wrap `IntersectionObserver`.\n *\n * This hook will create an `IntersectionObserver` and observe the ref passed to it.\n *\n * When the intersection changes, the callback will be called with the `IntersectionObserverEntry`.\n *\n * @param ref - The ref to observe\n * @param intersectionObserverOptions - The options to pass to the IntersectionObserver\n * @param options - The options to pass to the hook\n * @param callback - The callback to call when the intersection changes\n * @returns The IntersectionObserver instance\n * @example\n * ```tsx\n * const MyComponent = () => {\n * const ref = React.useRef<HTMLDivElement>(null)\n * useIntersectionObserver(\n * ref,\n * (entry) => { doSomething(entry) },\n * { rootMargin: '10px' },\n * { disabled: false }\n * )\n * return <div ref={ref} />\n * ```\n */\nexport function useIntersectionObserver<T extends Element>(\n ref: Solid.Accessor<T | null>,\n callback: (entry: IntersectionObserverEntry | undefined) => void,\n intersectionObserverOptions: IntersectionObserverInit = {},\n options: { disabled?: boolean } = {},\n): Solid.Accessor<IntersectionObserver | null> {\n const isIntersectionObserverAvailable =\n typeof IntersectionObserver === 'function'\n let observerRef: IntersectionObserver | null = null\n\n Solid.createEffect(ref, (r) => {\n if (!r || !isIntersectionObserverAvailable || options.disabled) {\n return\n }\n\n observerRef = new IntersectionObserver(([entry]) => {\n callback(entry)\n }, intersectionObserverOptions)\n\n observerRef.observe(r)\n\n Solid.onCleanup(() => {\n observerRef?.disconnect()\n })\n })\n\n return () => observerRef\n}\n"],"names":["Solid"],"mappings":";;;;;;;;;;;;;;;;;;;;AAKO,MAAM,cAAc,CAAC,OAAsB;AAChD,SAAOA,iBAAM;AAAA,IACX,CACE,OAA8D;AAAA,MAC5D,SAAS;AAAA,MACT,UAAU;AAAA,IAAA,MAET;AACH,YAAM,UAAU,GAAA;AAEhB,UAAI,KAAK,YAAY,SAAS;AAC5B,eAAO,EAAE,UAAU,KAAK,SAAS,QAAA;AAAA,MACnC;AAEA,aAAO;AAAA,IACT;AAAA,EAAA;AAEJ;AA2BO,SAAS,wBACd,KACA,UACA,8BAAwD,CAAA,GACxD,UAAkC,IACW;AAC7C,QAAM,kCACJ,OAAO,yBAAyB;AAClC,MAAI,cAA2C;AAE/CA,mBAAM,aAAa,KAAK,CAAC,MAAM;AAC7B,QAAI,CAAC,KAAK,CAAC,mCAAmC,QAAQ,UAAU;AAC9D;AAAA,IACF;AAEA,kBAAc,IAAI,qBAAqB,CAAC,CAAC,KAAK,MAAM;AAClD,eAAS,KAAK;AAAA,IAChB,GAAG,2BAA2B;AAE9B,gBAAY,QAAQ,CAAC;AAErBA,qBAAM,UAAU,MAAM;AACpB,mBAAa,WAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAC;AAED,SAAO,MAAM;AACf;;;"}
1
+ {"version":3,"file":"utils.cjs","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import * as Solid from 'solid-js'\n\nexport const useLayoutEffect =\n typeof window !== 'undefined' ? Solid.createEffect : Solid.createEffect\n\nexport const usePrevious = (fn: () => boolean) => {\n return Solid.createMemo(\n (\n prev: { current: boolean | null; previous: boolean | null } = {\n current: null,\n previous: null,\n },\n ) => {\n const current = fn()\n\n if (prev.current !== current) {\n return { previous: prev.current, current }\n }\n\n return prev\n },\n )\n}\n\n/**\n * React hook to wrap `IntersectionObserver`.\n *\n * This hook will create an `IntersectionObserver` and observe the ref passed to it.\n *\n * When the intersection changes, the callback will be called with the `IntersectionObserverEntry`.\n *\n * @param ref - The ref to observe\n * @param intersectionObserverOptions - The options to pass to the IntersectionObserver\n * @param options - The options to pass to the hook\n * @param callback - The callback to call when the intersection changes\n * @returns The IntersectionObserver instance\n * @example\n * ```tsx\n * const MyComponent = () => {\n * const ref = React.useRef<HTMLDivElement>(null)\n * useIntersectionObserver(\n * ref,\n * (entry) => { doSomething(entry) },\n * { rootMargin: '10px' },\n * { disabled: false }\n * )\n * return <div ref={ref} />\n * ```\n */\nexport function useIntersectionObserver<T extends Element>(\n ref: Solid.Accessor<T | null>,\n callback: (entry: IntersectionObserverEntry | undefined) => void,\n intersectionObserverOptions: IntersectionObserverInit = {},\n options: { disabled?: boolean } = {},\n): Solid.Accessor<IntersectionObserver | null> {\n const isIntersectionObserverAvailable =\n typeof IntersectionObserver === 'function'\n let observerRef: IntersectionObserver | null = null\n\n Solid.createEffect(ref, (r) => {\n if (!r || !isIntersectionObserverAvailable || options.disabled) {\n return\n }\n\n observerRef = new IntersectionObserver(([entry]) => {\n callback(entry)\n }, intersectionObserverOptions)\n\n observerRef.observe(r)\n\n Solid.onCleanup(() => {\n observerRef?.disconnect()\n })\n })\n\n return () => observerRef\n}\n"],"mappings":";;;AAGE,OAAO,WAAW,cAAc,SAAM,eAAe,SAAM;AAE7D,IAAa,eAAe,OAAsB;AAChD,QAAO,SAAM,YAET,OAA8D;EAC5D,SAAS;EACT,UAAU;EACX,KACE;EACH,MAAM,UAAU,IAAI;AAEpB,MAAI,KAAK,YAAY,QACnB,QAAO;GAAE,UAAU,KAAK;GAAS;GAAS;AAG5C,SAAO;GAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BH,SAAgB,wBACd,KACA,UACA,8BAAwD,EAAE,EAC1D,UAAkC,EAAE,EACS;CAC7C,MAAM,kCACJ,OAAO,yBAAyB;CAClC,IAAI,cAA2C;AAE/C,UAAM,aAAa,MAAM,MAAM;AAC7B,MAAI,CAAC,KAAK,CAAC,mCAAmC,QAAQ,SACpD;AAGF,gBAAc,IAAI,sBAAsB,CAAC,WAAW;AAClD,YAAS,MAAM;KACd,4BAA4B;AAE/B,cAAY,QAAQ,EAAE;AAEtB,WAAM,gBAAgB;AACpB,gBAAa,YAAY;IACzB;GACF;AAEF,cAAa"}