@pojo-router/react-browser-pathname
Advanced tools
Comparing version 0.4.1 to 0.4.2
@@ -6,2 +6,10 @@ # Change Log | ||
## <small>0.4.2 (2020-10-27)</small> | ||
* fix: Child types ([8580779](https://github.com/notwillk/pojo-router/commit/8580779)) | ||
## <small>0.4.1 (2020-10-27)</small> | ||
@@ -8,0 +16,0 @@ |
@@ -39,3 +39,3 @@ 'use strict'; | ||
}, [to, replace, setCurrentBrowserPathname, onClick, rest.target]); | ||
return /*#__PURE__*/React__default.createElement(Component, Object.assign({ | ||
return __jsx(Component, Object.assign({ | ||
onClick: handleClick | ||
@@ -42,0 +42,0 @@ }, rest)); |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@babel/runtime/helpers/esm/jsx"),require("react"),require("@babel/runtime/helpers/esm/objectWithoutPropertiesLoose")):"function"==typeof define&&define.amd?define(["exports","@babel/runtime/helpers/esm/jsx","react","@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"],t):t((e=e||self)["pojo-router"]={},e._jsx,e.React,e._objectWithoutPropertiesLoose)}(this,(function(e,t,o,a){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var r="default"in o?o.default:o;a=a&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a;const n=r.createContext(""),s=r.createContext(e=>{});function l(e){let{to:t,replace:n,component:l,onClick:u}=e,c=a(e,["to","replace","component","onClick"]);const i=o.useContext(s),p=o.useCallback(e=>{null==e||e.preventDefault(),null==u||u(e),c.target&&"_self"!==c.target||i({url:t,data:{},type:n?"REPLACE":"PUSH"})},[t,n,i,u,c.target]);return r.createElement(l,Object.assign({onClick:p},c))}l.defaultProps={component:"a",replace:!1};e.Link=l,e.UpdateContext=s,e.default=({children:e,initialPath:a,onChange:r})=>{const[l,u]=o.useState(a),c=o.useCallback(e=>{r?r(e,()=>u(e)):u(e)},[r,u]),i=o.useCallback(({data:e,url:t,type:o})=>{switch(o){case"REPLACE":window.history.replaceState(e,"",t);break;case"PUSH":window.history.pushState(e,"",t)}t&&c(t)},[c]);return o.useEffect(()=>{const e=()=>c(""+window.location.pathname);return window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[c]),t(s.Provider,{value:i},void 0,t(n.Provider,{value:l},void 0,e))},e.useBrowserPathname=()=>o.useContext(n),e.usePushPath=()=>{const e=o.useContext(s);return o.useCallback(t=>{e({url:t,data:{},type:"PUSH"})},[e])},e.useReplacePath=()=>{const e=o.useContext(s);return o.useCallback(t=>{e({url:t,data:{},type:"REPLACE"})},[e])},Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@babel/runtime/helpers/esm/jsx"),require("react"),require("@babel/runtime/helpers/esm/objectWithoutPropertiesLoose")):"function"==typeof define&&define.amd?define(["exports","@babel/runtime/helpers/esm/jsx","react","@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"],t):t((e=e||self)["pojo-router"]={},e._jsx,e.React,e._objectWithoutPropertiesLoose)}(this,(function(e,t,o,a){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var r="default"in o?o.default:o;a=a&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a;const n=r.createContext(""),s=r.createContext(e=>{});function l(e){let{to:t,replace:r,component:n,onClick:l}=e,u=a(e,["to","replace","component","onClick"]);const i=o.useContext(s),c=o.useCallback(e=>{null==e||e.preventDefault(),null==l||l(e),u.target&&"_self"!==u.target||i({url:t,data:{},type:r?"REPLACE":"PUSH"})},[t,r,i,l,u.target]);return __jsx(n,Object.assign({onClick:c},u))}l.defaultProps={component:"a",replace:!1};e.Link=l,e.UpdateContext=s,e.default=({children:e,initialPath:a,onChange:r})=>{const[l,u]=o.useState(a),i=o.useCallback(e=>{r?r(e,()=>u(e)):u(e)},[r,u]),c=o.useCallback(({data:e,url:t,type:o})=>{switch(o){case"REPLACE":window.history.replaceState(e,"",t);break;case"PUSH":window.history.pushState(e,"",t)}t&&i(t)},[i]);return o.useEffect(()=>{const e=()=>i(""+window.location.pathname);return window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[i]),t(s.Provider,{value:c},void 0,t(n.Provider,{value:l},void 0,e))},e.useBrowserPathname=()=>o.useContext(n),e.usePushPath=()=>{const e=o.useContext(s);return o.useCallback(t=>{e({url:t,data:{},type:"PUSH"})},[e])},e.useReplacePath=()=>{const e=o.useContext(s);return o.useCallback(t=>{e({url:t,data:{},type:"REPLACE"})},[e])},Object.defineProperty(e,"__esModule",{value:!0})})); |
@@ -10,3 +10,3 @@ import React from 'react'; | ||
component: string; | ||
children: React.ReactChild; | ||
children: React.ReactNode; | ||
} & React.AnchorHTMLAttributes<HTMLAnchorElement>)); | ||
@@ -13,0 +13,0 @@ export declare function Link<P extends Pick<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'onClick' | 'target'> = React.AnchorHTMLAttributes<HTMLAnchorElement>>({ to, replace, component: Component, onClick, ...rest }: LinkProps<P>): JSX.Element; |
@@ -26,3 +26,3 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; | ||
}, [to, replace, setCurrentBrowserPathname, onClick, rest.target]); | ||
return /*#__PURE__*/React.createElement(Component, Object.assign({ | ||
return __jsx(Component, Object.assign({ | ||
onClick: handleClick | ||
@@ -35,2 +35,2 @@ }, rest)); | ||
}; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW5rLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlQ29udGV4dCIsIlVwZGF0ZUNvbnRleHQiLCJMaW5rIiwidG8iLCJyZXBsYWNlIiwiY29tcG9uZW50IiwiQ29tcG9uZW50Iiwib25DbGljayIsInJlc3QiLCJzZXRDdXJyZW50QnJvd3NlclBhdGhuYW1lIiwiaGFuZGxlQ2xpY2siLCJlIiwicHJldmVudERlZmF1bHQiLCJ0YXJnZXQiLCJ1cmwiLCJkYXRhIiwidHlwZSIsImRlZmF1bHRQcm9wcyJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLFdBQWhCLEVBQTZCQyxVQUE3QixRQUErQyxPQUEvQztBQUVBLFNBQVNDLGFBQVQsUUFBOEIsV0FBOUI7QUFtQkEsT0FBTyxTQUFTQyxJQUFULE9BS2tFO0FBQUEsTUFBdkU7QUFBRUMsSUFBQUEsRUFBRjtBQUFNQyxJQUFBQSxPQUFOO0FBQWVDLElBQUFBLFNBQVMsRUFBRUMsU0FBMUI7QUFBcUNDLElBQUFBO0FBQXJDLEdBQXVFO0FBQUEsTUFBdEJDLElBQXNCOztBQUN2RSxRQUFNQyx5QkFBeUIsR0FBR1QsVUFBVSxDQUFDQyxhQUFELENBQTVDO0FBRUEsUUFBTVMsV0FBVyxHQUFHWCxXQUFXLENBQzVCWSxDQUFELElBQU87QUFDTEEsSUFBQUEsQ0FBQyxTQUFELElBQUFBLENBQUMsV0FBRCxZQUFBQSxDQUFDLENBQUVDLGNBQUg7QUFDQUwsSUFBQUEsT0FBTyxTQUFQLElBQUFBLE9BQU8sV0FBUCxZQUFBQSxPQUFPLENBQUdJLENBQUgsQ0FBUCxDQUZLLENBSUw7O0FBQ0EsUUFBSSxDQUFDSCxJQUFJLENBQUNLLE1BQU4sSUFBZ0JMLElBQUksQ0FBQ0ssTUFBTCxLQUFnQixPQUFwQyxFQUE2QztBQUMzQ0osTUFBQUEseUJBQXlCLENBQUM7QUFDeEJLLFFBQUFBLEdBQUcsRUFBRVgsRUFEbUI7QUFFeEJZLFFBQUFBLElBQUksRUFBRSxFQUZrQjtBQUd4QkMsUUFBQUEsSUFBSSxFQUFFWixPQUFPLEdBQUcsU0FBSCxHQUFlO0FBSEosT0FBRCxDQUF6QjtBQUtEO0FBQ0YsR0FiNEIsRUFjN0IsQ0FBQ0QsRUFBRCxFQUFLQyxPQUFMLEVBQWNLLHlCQUFkLEVBQXlDRixPQUF6QyxFQUFrREMsSUFBSSxDQUFDSyxNQUF2RCxDQWQ2QixDQUEvQjtBQWlCQSxzQkFBTyxvQkFBQyxTQUFEO0FBQVcsSUFBQSxPQUFPLEVBQUVIO0FBQXBCLEtBQXNDRixJQUF0QyxFQUFQO0FBQ0Q7QUFDRE4sSUFBSSxDQUFDZSxZQUFMLEdBQW9CO0FBQ2xCWixFQUFBQSxTQUFTLEVBQUUsR0FETztBQUVsQkQsRUFBQUEsT0FBTyxFQUFFO0FBRlMsQ0FBcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IFVwZGF0ZUNvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuXG5leHBvcnQgdHlwZSBMaW5rUHJvcHM8XG4gIFAgZXh0ZW5kcyBQaWNrPFxuICAgIFJlYWN0LkFuY2hvckhUTUxBdHRyaWJ1dGVzPEhUTUxBbmNob3JFbGVtZW50PixcbiAgICAnb25DbGljaycgfCAndGFyZ2V0J1xuICA+XG4+ID0ge1xuICB0bzogc3RyaW5nO1xuICByZXBsYWNlOiBib29sZWFuO1xuICBvbkNsaWNrPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+O1xufSAmIChcbiAgfCAoeyBjb21wb25lbnQ6IFJlYWN0LkNvbXBvbmVudFR5cGU8UD4gfSAmIFApXG4gIHwgKHtcbiAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Q2hpbGQ7XG4gICAgfSAmIFJlYWN0LkFuY2hvckhUTUxBdHRyaWJ1dGVzPEhUTUxBbmNob3JFbGVtZW50PikgLy8gZm9yIGJ1aWx0aW5zIHVzZSBhbmNob3IgdGFnIHByb3BzXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gTGluazxcbiAgUCBleHRlbmRzIFBpY2s8XG4gICAgUmVhY3QuQW5jaG9ySFRNTEF0dHJpYnV0ZXM8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgICdvbkNsaWNrJyB8ICd0YXJnZXQnXG4gID4gPSBSZWFjdC5BbmNob3JIVE1MQXR0cmlidXRlczxIVE1MQW5jaG9yRWxlbWVudD5cbj4oeyB0bywgcmVwbGFjZSwgY29tcG9uZW50OiBDb21wb25lbnQsIG9uQ2xpY2ssIC4uLnJlc3QgfTogTGlua1Byb3BzPFA+KSB7XG4gIGNvbnN0IHNldEN1cnJlbnRCcm93c2VyUGF0aG5hbWUgPSB1c2VDb250ZXh0KFVwZGF0ZUNvbnRleHQpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgKGUpID0+IHtcbiAgICAgIGU/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBvbkNsaWNrPy4oZSk7XG5cbiAgICAgIC8vIGxldCBicm93c2VyIGhhbmRsZSBcInRhcmdldD1fYmxhbmtcIiBldGMuXG4gICAgICBpZiAoIXJlc3QudGFyZ2V0IHx8IHJlc3QudGFyZ2V0ID09PSAnX3NlbGYnKSB7XG4gICAgICAgIHNldEN1cnJlbnRCcm93c2VyUGF0aG5hbWUoe1xuICAgICAgICAgIHVybDogdG8sXG4gICAgICAgICAgZGF0YToge30sXG4gICAgICAgICAgdHlwZTogcmVwbGFjZSA/ICdSRVBMQUNFJyA6ICdQVVNIJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbdG8sIHJlcGxhY2UsIHNldEN1cnJlbnRCcm93c2VyUGF0aG5hbWUsIG9uQ2xpY2ssIHJlc3QudGFyZ2V0XSxcbiAgKTtcblxuICByZXR1cm4gPENvbXBvbmVudCBvbkNsaWNrPXtoYW5kbGVDbGlja30gey4uLihyZXN0IGFzIGFueSl9IC8+O1xufVxuTGluay5kZWZhdWx0UHJvcHMgPSB7XG4gIGNvbXBvbmVudDogJ2EnLFxuICByZXBsYWNlOiBmYWxzZSxcbn07XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW5rLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlQ29udGV4dCIsIlVwZGF0ZUNvbnRleHQiLCJMaW5rIiwidG8iLCJyZXBsYWNlIiwiY29tcG9uZW50IiwiQ29tcG9uZW50Iiwib25DbGljayIsInJlc3QiLCJzZXRDdXJyZW50QnJvd3NlclBhdGhuYW1lIiwiaGFuZGxlQ2xpY2siLCJlIiwicHJldmVudERlZmF1bHQiLCJ0YXJnZXQiLCJ1cmwiLCJkYXRhIiwidHlwZSIsImRlZmF1bHRQcm9wcyJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLFdBQWhCLEVBQTZCQyxVQUE3QixRQUErQyxPQUEvQztBQUVBLFNBQVNDLGFBQVQsUUFBOEIsV0FBOUI7QUFtQkEsT0FBTyxTQUFTQyxJQUFULE9BS2tFO0FBQUEsTUFBdkU7QUFBRUMsSUFBQUEsRUFBRjtBQUFNQyxJQUFBQSxPQUFOO0FBQWVDLElBQUFBLFNBQVMsRUFBRUMsU0FBMUI7QUFBcUNDLElBQUFBO0FBQXJDLEdBQXVFO0FBQUEsTUFBdEJDLElBQXNCOztBQUN2RSxRQUFNQyx5QkFBeUIsR0FBR1QsVUFBVSxDQUFDQyxhQUFELENBQTVDO0FBRUEsUUFBTVMsV0FBVyxHQUFHWCxXQUFXLENBQzVCWSxDQUFELElBQU87QUFDTEEsSUFBQUEsQ0FBQyxTQUFELElBQUFBLENBQUMsV0FBRCxZQUFBQSxDQUFDLENBQUVDLGNBQUg7QUFDQUwsSUFBQUEsT0FBTyxTQUFQLElBQUFBLE9BQU8sV0FBUCxZQUFBQSxPQUFPLENBQUdJLENBQUgsQ0FBUCxDQUZLLENBSUw7O0FBQ0EsUUFBSSxDQUFDSCxJQUFJLENBQUNLLE1BQU4sSUFBZ0JMLElBQUksQ0FBQ0ssTUFBTCxLQUFnQixPQUFwQyxFQUE2QztBQUMzQ0osTUFBQUEseUJBQXlCLENBQUM7QUFDeEJLLFFBQUFBLEdBQUcsRUFBRVgsRUFEbUI7QUFFeEJZLFFBQUFBLElBQUksRUFBRSxFQUZrQjtBQUd4QkMsUUFBQUEsSUFBSSxFQUFFWixPQUFPLEdBQUcsU0FBSCxHQUFlO0FBSEosT0FBRCxDQUF6QjtBQUtEO0FBQ0YsR0FiNEIsRUFjN0IsQ0FBQ0QsRUFBRCxFQUFLQyxPQUFMLEVBQWNLLHlCQUFkLEVBQXlDRixPQUF6QyxFQUFrREMsSUFBSSxDQUFDSyxNQUF2RCxDQWQ2QixDQUEvQjtBQWlCQSxTQUFPLE1BQUMsU0FBRDtBQUFXLElBQUEsT0FBTyxFQUFFSDtBQUFwQixLQUFzQ0YsSUFBdEMsRUFBUDtBQUNEO0FBQ0ROLElBQUksQ0FBQ2UsWUFBTCxHQUFvQjtBQUNsQlosRUFBQUEsU0FBUyxFQUFFLEdBRE87QUFFbEJELEVBQUFBLE9BQU8sRUFBRTtBQUZTLENBQXBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBVcGRhdGVDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcblxuZXhwb3J0IHR5cGUgTGlua1Byb3BzPFxuICBQIGV4dGVuZHMgUGljazxcbiAgICBSZWFjdC5BbmNob3JIVE1MQXR0cmlidXRlczxIVE1MQW5jaG9yRWxlbWVudD4sXG4gICAgJ29uQ2xpY2snIHwgJ3RhcmdldCdcbiAgPlxuPiA9IHtcbiAgdG86IHN0cmluZztcbiAgcmVwbGFjZTogYm9vbGVhbjtcbiAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxBbmNob3JFbGVtZW50Pjtcbn0gJiAoXG4gIHwgKHsgY29tcG9uZW50OiBSZWFjdC5Db21wb25lbnRUeXBlPFA+IH0gJiBQKVxuICB8ICh7XG4gICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgfSAmIFJlYWN0LkFuY2hvckhUTUxBdHRyaWJ1dGVzPEhUTUxBbmNob3JFbGVtZW50PikgLy8gZm9yIGJ1aWx0aW5zIHVzZSBhbmNob3IgdGFnIHByb3BzXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gTGluazxcbiAgUCBleHRlbmRzIFBpY2s8XG4gICAgUmVhY3QuQW5jaG9ySFRNTEF0dHJpYnV0ZXM8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgICdvbkNsaWNrJyB8ICd0YXJnZXQnXG4gID4gPSBSZWFjdC5BbmNob3JIVE1MQXR0cmlidXRlczxIVE1MQW5jaG9yRWxlbWVudD5cbj4oeyB0bywgcmVwbGFjZSwgY29tcG9uZW50OiBDb21wb25lbnQsIG9uQ2xpY2ssIC4uLnJlc3QgfTogTGlua1Byb3BzPFA+KSB7XG4gIGNvbnN0IHNldEN1cnJlbnRCcm93c2VyUGF0aG5hbWUgPSB1c2VDb250ZXh0KFVwZGF0ZUNvbnRleHQpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgKGUpID0+IHtcbiAgICAgIGU/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBvbkNsaWNrPy4oZSk7XG5cbiAgICAgIC8vIGxldCBicm93c2VyIGhhbmRsZSBcInRhcmdldD1fYmxhbmtcIiBldGMuXG4gICAgICBpZiAoIXJlc3QudGFyZ2V0IHx8IHJlc3QudGFyZ2V0ID09PSAnX3NlbGYnKSB7XG4gICAgICAgIHNldEN1cnJlbnRCcm93c2VyUGF0aG5hbWUoe1xuICAgICAgICAgIHVybDogdG8sXG4gICAgICAgICAgZGF0YToge30sXG4gICAgICAgICAgdHlwZTogcmVwbGFjZSA/ICdSRVBMQUNFJyA6ICdQVVNIJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbdG8sIHJlcGxhY2UsIHNldEN1cnJlbnRCcm93c2VyUGF0aG5hbWUsIG9uQ2xpY2ssIHJlc3QudGFyZ2V0XSxcbiAgKTtcblxuICByZXR1cm4gPENvbXBvbmVudCBvbkNsaWNrPXtoYW5kbGVDbGlja30gey4uLihyZXN0IGFzIGFueSl9IC8+O1xufVxuTGluay5kZWZhdWx0UHJvcHMgPSB7XG4gIGNvbXBvbmVudDogJ2EnLFxuICByZXBsYWNlOiBmYWxzZSxcbn07XG4iXX0= |
{ | ||
"name": "@pojo-router/react-browser-pathname", | ||
"version": "0.4.1", | ||
"version": "0.4.2", | ||
"description": "A react hooks wrapper around the browser's pathname", | ||
@@ -66,3 +66,3 @@ "scripts": { | ||
}, | ||
"gitHead": "5b2f773749441ab734dfbed68d2b64a5e83eea3b" | ||
"gitHead": "8441ce100e44f767ec1746b30b67c2c5dca42deb" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
33302