@moneko/react 1.7.0 → 1.7.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/lib/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  export * from 'react-router-dom';
3
3
  export { default as useNavigate } from './use-navgate.js';
4
4
  export { default as Link } from './link.js';
5
+ export { default as useQuery } from './use-query.js';
5
6
  export { useNavigate as useNavigateReactRouter, Link as LinkReactRouter } from 'react-router-dom';
6
7
  export { default as ErrorBoundary, type ErrorBoundaryProps, type ErrorBoundaryState } from './error-boundary.js';
7
8
  export type RenderAppProps = {
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- import*as r from"react";export*from"react-router-dom";export{default as useNavigate}from"./use-navgate.js";export{default as Link}from"./link.js";export{useNavigate as useNavigateReactRouter,Link as LinkReactRouter}from"react-router-dom";export{default as ErrorBoundary}from"./error-boundary.js";export default r;
1
+ import*as e from"react";export*from"react-router-dom";export{default as useNavigate}from"./use-navgate.js";export{default as Link}from"./link.js";export{default as useQuery}from"./use-query.js";export{useNavigate as useNavigateReactRouter,Link as LinkReactRouter}from"react-router-dom";export{default as ErrorBoundary}from"./error-boundary.js";export default e;
package/lib/link.d.tsx CHANGED
@@ -1,8 +1,9 @@
1
- import React, { type FC, useMemo } from 'react';
2
- import { Link as ReactRouterLink, type LinkProps as ReactRouterLinkProps, type To, useSearchParams } from 'react-router-dom';
1
+ import React from 'react';
2
+ import { Link as ReactRouterLink, type LinkProps as ReactRouterLinkProps } from 'react-router-dom';
3
+ import parseToByReservedWord, { type IPath } from './parse-reserved-word.js';
3
4
  export interface LinkProps extends Omit<ReactRouterLinkProps, 'to'> {
4
5
  reserved?: string | string[];
5
- to: To | -1;
6
+ to: string | IPath;
6
7
  }
7
- declare const Link: FC<LinkProps>;
8
+ declare const Link: React.FC<LinkProps>;
8
9
  export default Link;
package/lib/link.js CHANGED
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{useMemo as e}from"react";import{Link as t,useSearchParams as a}from"react-router-dom";export default(({reserved:i,to:n,children:o,...m})=>{let l=e(()=>["menuId","dynamicTitle",...Array.isArray(i)?i:[i]].filter(Boolean),[i]),[c]=a(),s=e(()=>{if(-1===n)return -1;let r={};c.forEach((e,t)=>{l.includes(t)&&(r[t]=e)});let e=n,t=e.indexOf("?");-1!==t&&(new URLSearchParams(e.slice(t)).forEach((e,t)=>{r[t]=e}),e=e.substring(0,t));let a=new URLSearchParams(r).toString();return a?.trim().length?[e,a].join("?"):e},[l,c,n]);return r(t,{...m,to:s,children:o})});
1
+ import{jsx as r}from"react/jsx-runtime";import"react";import{Link as e}from"react-router-dom";import o from"./parse-reserved-word.js";export default(({reserved:t,to:m,children:a,...i})=>r(e,{...i,to:o(m,t),children:a}));
@@ -0,0 +1,8 @@
1
+ import type { Path } from 'react-router-dom';
2
+ declare function parse(reserved?: string | string[]);
3
+ declare function parseReservedWord(reserved?: string | string[]): string[];
4
+ export interface IPath extends Partial<Omit<Path, 'search'>> {
5
+ search?: string | URLSearchParams | string[][] | Record<string, string>;
6
+ }
7
+ declare const parseToByReservedWord: (to: string | IPath, reserved?: string | string[]) => any;
8
+ export default parseToByReservedWord;
@@ -0,0 +1 @@
1
+ export default((e,a)=>{let r,t,s;if("string"==typeof e){let a=e.split("?");t=a[0],r=new URLSearchParams(a[1])}else t=e.pathname,r=new URLSearchParams(e.search),s=e.hash;let n=new URLSearchParams(location.search);return Array.from(new Set(["menuId","dynamicTitle",...(Array.isArray(a)?a:[a]).filter(Boolean)])).forEach(e=>{n.has(e)&&r.set(e,n.get(e))}),{pathname:t,search:r.toString(),hash:s}});
@@ -1,3 +1,8 @@
1
- import { type NavigateOptions, type To, useNavigate as useNavigateReactRouter, useSearchParams } from 'react-router-dom';
1
+ import { type NavigateOptions, type To, useNavigate as useNavigateReactRouter } from 'react-router-dom';
2
+ import parseToByReservedWord, { type IPath } from './parse-reserved-word.js';
3
+ interface NavigateFunction {
4
+ (to: string | IPath, options?: NavigateOptions) : void;
5
+ (delta: number) : void;
6
+ }
2
7
  declare const useNavigate: (reserved?: string | string[]) => any;
3
8
  export default useNavigate;
@@ -1 +1 @@
1
- import{useNavigate as e,useSearchParams as r}from"react-router-dom";export default(t=>{let a=Array.from(new Set(["menuId","dynamicTitle",...t||[]])).filter(Boolean),o=e(),[l]=r();return(e,r)=>{if(-1===e){o(-1);return}let t={},n=e.split("?"),i=new URLSearchParams(n[1]||"");for(let[e,r]of l)a.includes(e)&&(t[e]=r);for(let[e,r]of i)a.includes(e)&&(t[e]=r);let f=new URLSearchParams(t).toString();o(f?`${n[0]}?${f}`:n[0],r)}});
1
+ import{useNavigate as r}from"react-router-dom";import e from"./parse-reserved-word.js";export default(t=>{let o=r();return(r,a)=>"number"==typeof r?o(r):o(e(r,t),a)});
@@ -0,0 +1,4 @@
1
+ import { useMemo } from 'react';
2
+ import { useLocation } from 'react-router-dom';
3
+ declare const useQuery: <T>() => any;
4
+ export default useQuery;
@@ -0,0 +1 @@
1
+ import{useMemo as r}from"react";import{useLocation as e}from"react-router-dom";export default(()=>{let t=e();return r(()=>Object.fromEntries(new URLSearchParams(t.search)),[t.search])});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneko/react",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
4
4
  "description": "react",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -17,7 +17,7 @@
17
17
  "react-refresh-typescript": "2.0.10",
18
18
  "react-router": "6.27.0",
19
19
  "react-router-dom": "6.27.0",
20
- "shared-store-object": "1.1.4"
20
+ "shared-store-object": "1.2.1"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@moneko/convert": "1.0.0",