@flemo/react 1.11.0 → 1.12.0

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/Router.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { CSSProperties, PropsWithChildren } from 'react';
2
2
  import { HistoryDriver, PartTransition, Decorator, Transition, TransitionName } from '@flemo/core';
3
3
  interface RouterProps {
4
+ name?: string;
5
+ strictRoutes?: boolean;
4
6
  initPath?: string;
5
7
  defaultTransitionName?: TransitionName;
6
8
  transitions?: Transition[];
@@ -11,5 +13,5 @@ interface RouterProps {
11
13
  className?: string;
12
14
  style?: CSSProperties;
13
15
  }
14
- declare function Router({ children, initPath, defaultTransitionName, transitions, decorators, partTransitions, history, createDriver, className, style }: PropsWithChildren<RouterProps>): import("react").JSX.Element;
16
+ declare function Router({ children, name, strictRoutes, initPath, defaultTransitionName, transitions, decorators, partTransitions, history, createDriver, className, style }: PropsWithChildren<RouterProps>): import("react").JSX.Element;
15
17
  export default Router;
@@ -0,0 +1,12 @@
1
+ import { FlemoStores } from '@flemo/core';
2
+ import { Path } from 'path-to-regexp';
3
+ export interface RouterScopeNode {
4
+ name?: string;
5
+ stores: FlemoStores;
6
+ routePaths: Path[];
7
+ strictRoutes: boolean;
8
+ parent: RouterScopeNode | null;
9
+ depth: number;
10
+ }
11
+ declare const RouterScopeContext: import('react').Context<RouterScopeNode | null>;
12
+ export default RouterScopeContext;
@@ -0,0 +1,24 @@
1
+ import { RouterScopeNode } from './RouterScopeContext';
2
+ export interface RegisterRouter {
3
+ }
4
+ export type RouterScopeKeyword = "current" | "parent" | "root" | "nearest-owner";
5
+ export type RouterName = keyof RegisterRouter extends never ? string & {} : keyof RegisterRouter;
6
+ export type RouterTarget = RouterScopeKeyword | RouterName | {
7
+ name: RouterName;
8
+ } | {
9
+ scope: RouterScopeKeyword;
10
+ };
11
+ export interface ResolveRouterTargetInput {
12
+ from: RouterScopeNode;
13
+ target?: RouterTarget;
14
+ path?: string;
15
+ pathname?: string;
16
+ }
17
+ export interface RouterTargetResolution {
18
+ node: RouterScopeNode | null;
19
+ message: string | null;
20
+ }
21
+ export declare function ownsRoute(node: RouterScopeNode, path: string, pathname?: string): boolean;
22
+ export declare function describeAncestry(from: RouterScopeNode): string;
23
+ export default function resolveRouterTarget({ from, target, path, pathname }: ResolveRouterTargetInput): RouterTargetResolution;
24
+ export declare function findDuplicateNamedAncestor(node: RouterScopeNode): RouterScopeNode | null;
@@ -0,0 +1,9 @@
1
+ declare module "../RouterTarget" {
2
+ interface RegisterRouter {
3
+ app: true;
4
+ region: true;
5
+ sidebar: true;
6
+ parent: true;
7
+ }
8
+ }
9
+ export {};
package/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  export { default as Router } from './Router';
2
2
  export { default as Route, type RegisterRoute } from './Route';
3
3
  export { default as Slot, type SlotProps } from './Slot';
4
- export { default as useNavigate } from './navigate/useNavigate';
4
+ export { default as useNavigate, type UseNavigateOptions } from './navigate/useNavigate';
5
+ export { type RegisterRouter, type RouterName, type RouterScopeKeyword, type RouterTarget } from './RouterTarget';
6
+ export { type RouterScopeNode } from './RouterScopeContext';
5
7
  export { default as usePathname } from './navigate/usePathname';
6
8
  export { default as useStep } from './navigate/useStep';
7
9
  export { default as useScreen } from './screen/useScreen';