@real-router/preact 0.1.1 → 0.1.2

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.
package/dist/cjs/index.js CHANGED
@@ -1 +1 @@
1
- var e=require("@real-router/core"),t=require("@real-router/route-utils"),r=require("preact"),o=require("preact/compat"),u=require("preact/jsx-runtime"),n=require("@real-router/sources"),s=require("preact/hooks"),i=require("dom-utils"),a=require("@real-router/core/api");function c(e){return null}function l(e){return null}function d(e,r,o){return o?e===r:t.startsWithSegment(e,r)}function p(e,t){for(const o of r.toChildArray(e))r.isValidElement(o)&&(o.type===c||o.type===l?t.push(o):p(o.props.children,t))}function m(e,t,r){const[o,u]=s.useState(t);return s.useEffect(()=>(u(t()),e(()=>{u(t())})),[e,t]),o}c.displayName="RouteView.Match",l.displayName="RouteView.NotFound";var v=r.createContext(null),f=r.createContext(null),g=r.createContext(null),h=()=>{const e=s.useContext(f);if(!e)throw new Error("useRouter must be used within a RouterProvider");return e};function N(t){const r=h(),o=s.useMemo(()=>n.createRouteNodeSource(r,t),[r,t]),{route:u,previousRoute:i}=m(o.subscribe,o.getSnapshot),a=s.useMemo(()=>e.getNavigator(r),[r]);return s.useMemo(()=>({navigator:a,route:u,previousRoute:i}),[a,u,i])}function x({nodeName:t,children:n}){const{route:s}=N(t);if(!s)return null;const i=[];p(n,i);const{rendered:a}=function(t,n,s){let i=null,a=!1;const c=[];for(const e of t){if(e.type===l){i=e.props.children;continue}const{segment:t,exact:p=!1,fallback:m}=e.props,v=s?`${s}.${t}`:t;if(!a&&d(n,v,p)){a=!0;const t=e.props.children;c.push(u.jsx(r.Fragment,{children:void 0===m?t:u.jsx(o.Suspense,{fallback:m,children:t})},v))}}return a||n!==e.UNKNOWN_ROUTE||null===i||c.push(u.jsx(r.Fragment,{children:i},"__route-view-not-found__")),{rendered:c,activeMatchFound:a}}(i,s.name,t);return a.length>0?u.jsx(u.Fragment,{children:a}):null}x.displayName="RouteView";var R=Object.assign(x,{Match:c,NotFound:l}),b=Object.freeze({}),y=Object.freeze({});function C(e){const t=JSON.stringify(e);return s.useMemo(()=>e,[t])}var S=o.memo(({routeName:e,routeParams:t=b,routeOptions:r=y,className:o,activeClassName:a="active",activeStrict:c=!1,ignoreQueryParams:l=!0,onClick:d,target:p,children:v,...f})=>{const g=h(),N=C(t),x=C(r),R=function(e,t,r=!1,o=!0){const u=h(),i=C(t),a=s.useMemo(()=>n.createActiveRouteSource(u,e,i,{strict:r,ignoreQueryParams:o}),[u,e,i,r,o]);return m(a.subscribe,a.getSnapshot)}(e,N,c,l),S=s.useMemo(()=>i.buildHref(g,e,N),[g,e,N]),P=s.useCallback(t=>{d&&(d(t),t.defaultPrevented)||i.shouldNavigate(t)&&"_blank"!==p&&(t.preventDefault(),g.navigate(e,N,x).catch(()=>{}))},[d,p,g,e,N,x]),w=s.useMemo(()=>i.buildActiveClassName(R,a,o),[R,a,o]);return u.jsx("a",{...f,href:S,className:w,onClick:P,children:v})},function(e,t){return e.routeName===t.routeName&&e.className===t.className&&e.activeClassName===t.activeClassName&&e.activeStrict===t.activeStrict&&e.ignoreQueryParams===t.ignoreQueryParams&&e.onClick===t.onClick&&e.target===t.target&&e.style===t.style&&e.children===t.children&&JSON.stringify(e.routeParams)===JSON.stringify(t.routeParams)&&JSON.stringify(e.routeOptions)===JSON.stringify(t.routeOptions)});S.displayName="Link",exports.Link=S,exports.NavigatorContext=g,exports.RouteContext=v,exports.RouteView=R,exports.RouterContext=f,exports.RouterProvider=({router:t,children:r,announceNavigation:o})=>{s.useEffect(()=>{if(!o)return;const e=i.createRouteAnnouncer(t);return()=>{e.destroy()}},[o,t]);const a=s.useMemo(()=>e.getNavigator(t),[t]),c=s.useMemo(()=>n.createRouteSource(t),[t]),{route:l,previousRoute:d}=m(c.subscribe,c.getSnapshot),p=s.useMemo(()=>({navigator:a,route:l,previousRoute:d}),[a,l,d]);return u.jsx(f.Provider,{value:t,children:u.jsx(g.Provider,{value:a,children:u.jsx(v.Provider,{value:p,children:r})})})},exports.useNavigator=()=>{const e=s.useContext(g);if(!e)throw new Error("useNavigator must be used within a RouterProvider");return e},exports.useRoute=()=>{const e=s.useContext(v);if(!e)throw new Error("useRoute must be used within a RouteProvider");return e},exports.useRouteNode=N,exports.useRouteUtils=()=>{const e=h();return t.getRouteUtils(a.getPluginApi(e).getTree())},exports.useRouter=h,exports.useRouterTransition=function(){const e=h(),t=s.useMemo(()=>n.createTransitionSource(e),[e]);return m(t.subscribe,t.getSnapshot)};//# sourceMappingURL=index.js.map
1
+ "use strict";var e=require("@real-router/core"),t=require("@real-router/route-utils"),r=require("preact"),o=require("preact/compat"),u=require("preact/jsx-runtime"),n=require("@real-router/sources"),s=require("preact/hooks"),i=require("dom-utils"),a=require("@real-router/core/api");function c(e){return null}function l(e){return null}function d(e,r,o){return o?e===r:t.startsWithSegment(e,r)}function p(e,t){for(const o of r.toChildArray(e))r.isValidElement(o)&&(o.type===c||o.type===l?t.push(o):p(o.props.children,t))}function m(e,t,r){const[o,u]=s.useState(t);return s.useEffect(()=>(u(t()),e(()=>{u(t())})),[e,t]),o}c.displayName="RouteView.Match",l.displayName="RouteView.NotFound";var v=r.createContext(null),f=r.createContext(null),g=r.createContext(null),h=()=>{const e=s.useContext(f);if(!e)throw new Error("useRouter must be used within a RouterProvider");return e};function N(t){const r=h(),o=s.useMemo(()=>n.createRouteNodeSource(r,t),[r,t]),{route:u,previousRoute:i}=m(o.subscribe,o.getSnapshot),a=s.useMemo(()=>e.getNavigator(r),[r]);return s.useMemo(()=>({navigator:a,route:u,previousRoute:i}),[a,u,i])}function x({nodeName:t,children:n}){const{route:s}=N(t);if(!s)return null;const i=[];p(n,i);const{rendered:a}=function(t,n,s){let i=null,a=!1;const c=[];for(const e of t){if(e.type===l){i=e.props.children;continue}const{segment:t,exact:p=!1,fallback:m}=e.props,v=s?`${s}.${t}`:t;if(!a&&d(n,v,p)){a=!0;const t=e.props.children;c.push(u.jsx(r.Fragment,{children:void 0===m?t:u.jsx(o.Suspense,{fallback:m,children:t})},v))}}return a||n!==e.UNKNOWN_ROUTE||null===i||c.push(u.jsx(r.Fragment,{children:i},"__route-view-not-found__")),{rendered:c,activeMatchFound:a}}(i,s.name,t);return a.length>0?u.jsx(u.Fragment,{children:a}):null}x.displayName="RouteView";var R=Object.assign(x,{Match:c,NotFound:l}),b=Object.freeze({}),y=Object.freeze({});function C(e){const t=JSON.stringify(e);return s.useMemo(()=>e,[t])}var S=o.memo(({routeName:e,routeParams:t=b,routeOptions:r=y,className:o,activeClassName:a="active",activeStrict:c=!1,ignoreQueryParams:l=!0,onClick:d,target:p,children:v,...f})=>{const g=h(),N=C(t),x=C(r),R=function(e,t,r=!1,o=!0){const u=h(),i=C(t),a=s.useMemo(()=>n.createActiveRouteSource(u,e,i,{strict:r,ignoreQueryParams:o}),[u,e,i,r,o]);return m(a.subscribe,a.getSnapshot)}(e,N,c,l),S=s.useMemo(()=>i.buildHref(g,e,N),[g,e,N]),P=s.useCallback(t=>{d&&(d(t),t.defaultPrevented)||i.shouldNavigate(t)&&"_blank"!==p&&(t.preventDefault(),g.navigate(e,N,x).catch(()=>{}))},[d,p,g,e,N,x]),w=s.useMemo(()=>i.buildActiveClassName(R,a,o),[R,a,o]);return u.jsx("a",{...f,href:S,className:w,onClick:P,children:v})},function(e,t){return e.routeName===t.routeName&&e.className===t.className&&e.activeClassName===t.activeClassName&&e.activeStrict===t.activeStrict&&e.ignoreQueryParams===t.ignoreQueryParams&&e.onClick===t.onClick&&e.target===t.target&&e.style===t.style&&e.children===t.children&&JSON.stringify(e.routeParams)===JSON.stringify(t.routeParams)&&JSON.stringify(e.routeOptions)===JSON.stringify(t.routeOptions)});S.displayName="Link",exports.Link=S,exports.NavigatorContext=g,exports.RouteContext=v,exports.RouteView=R,exports.RouterContext=f,exports.RouterProvider=({router:t,children:r,announceNavigation:o})=>{s.useEffect(()=>{if(!o)return;const e=i.createRouteAnnouncer(t);return()=>{e.destroy()}},[o,t]);const a=s.useMemo(()=>e.getNavigator(t),[t]),c=s.useMemo(()=>n.createRouteSource(t),[t]),{route:l,previousRoute:d}=m(c.subscribe,c.getSnapshot),p=s.useMemo(()=>({navigator:a,route:l,previousRoute:d}),[a,l,d]);return u.jsx(f.Provider,{value:t,children:u.jsx(g.Provider,{value:a,children:u.jsx(v.Provider,{value:p,children:r})})})},exports.useNavigator=()=>{const e=s.useContext(g);if(!e)throw new Error("useNavigator must be used within a RouterProvider");return e},exports.useRoute=()=>{const e=s.useContext(v);if(!e)throw new Error("useRoute must be used within a RouteProvider");return e},exports.useRouteNode=N,exports.useRouteUtils=()=>{const e=h();return t.getRouteUtils(a.getPluginApi(e).getTree())},exports.useRouter=h,exports.useRouterTransition=function(){const e=h(),t=s.useMemo(()=>n.createTransitionSource(e),[e]);return m(t.subscribe,t.getSnapshot)};//# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@real-router/preact",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "type": "commonjs",
5
5
  "description": "Preact integration for Real-Router",
6
6
  "main": "./dist/cjs/index.js",
@@ -48,10 +48,10 @@
48
48
  "license": "MIT",
49
49
  "sideEffects": false,
50
50
  "dependencies": {
51
- "@real-router/core": "^0.39.0",
51
+ "@real-router/core": "^0.40.0",
52
52
  "@real-router/route-utils": "^0.1.6",
53
- "@real-router/sources": "^0.2.6",
54
- "dom-utils": "^0.2.1"
53
+ "@real-router/sources": "^0.2.7",
54
+ "dom-utils": "^0.2.2"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@testing-library/dom": "10.4.1",
@@ -59,7 +59,7 @@
59
59
  "@testing-library/preact": "3.2.4",
60
60
  "@testing-library/user-event": "14.6.1",
61
61
  "preact": "10.25.4",
62
- "@real-router/browser-plugin": "^0.10.4"
62
+ "@real-router/browser-plugin": "^0.10.5"
63
63
  },
64
64
  "peerDependencies": {
65
65
  "preact": ">=10.0.0"