@dotvoid/stacked-router 1.0.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.
Files changed (62) hide show
  1. package/README.md +594 -0
  2. package/dist/components/DefaultLayout.d.ts +4 -0
  3. package/dist/components/DefaultLayout.d.ts.map +1 -0
  4. package/dist/components/ErrorBoundary.d.ts +22 -0
  5. package/dist/components/ErrorBoundary.d.ts.map +1 -0
  6. package/dist/components/ErrorResolver.d.ts +9 -0
  7. package/dist/components/ErrorResolver.d.ts.map +1 -0
  8. package/dist/components/Link.d.ts +29 -0
  9. package/dist/components/Link.d.ts.map +1 -0
  10. package/dist/components/Slots.d.ts +14 -0
  11. package/dist/components/Slots.d.ts.map +1 -0
  12. package/dist/components/StackedView.d.ts +6 -0
  13. package/dist/components/StackedView.d.ts.map +1 -0
  14. package/dist/components/StackedViewGroup.d.ts +6 -0
  15. package/dist/components/StackedViewGroup.d.ts.map +1 -0
  16. package/dist/components/VoidViews.d.ts +6 -0
  17. package/dist/components/VoidViews.d.ts.map +1 -0
  18. package/dist/contexts/RouterContext.d.ts +27 -0
  19. package/dist/contexts/RouterContext.d.ts.map +1 -0
  20. package/dist/contexts/RouterProvider.d.ts +11 -0
  21. package/dist/contexts/RouterProvider.d.ts.map +1 -0
  22. package/dist/contexts/SlotContext.d.ts +6 -0
  23. package/dist/contexts/SlotContext.d.ts.map +1 -0
  24. package/dist/contexts/SlotProvider.d.ts +4 -0
  25. package/dist/contexts/SlotProvider.d.ts.map +1 -0
  26. package/dist/contexts/ViewContext.d.ts +17 -0
  27. package/dist/contexts/ViewContext.d.ts.map +1 -0
  28. package/dist/contexts/ViewProvider.d.ts +10 -0
  29. package/dist/contexts/ViewProvider.d.ts.map +1 -0
  30. package/dist/hooks/useHref.d.ts +14 -0
  31. package/dist/hooks/useHref.d.ts.map +1 -0
  32. package/dist/hooks/useNavigate.d.ts +19 -0
  33. package/dist/hooks/useNavigate.d.ts.map +1 -0
  34. package/dist/hooks/useOpenViews.d.ts +25 -0
  35. package/dist/hooks/useOpenViews.d.ts.map +1 -0
  36. package/dist/hooks/usePrevious.d.ts +2 -0
  37. package/dist/hooks/usePrevious.d.ts.map +1 -0
  38. package/dist/hooks/useRouter.d.ts +2 -0
  39. package/dist/hooks/useRouter.d.ts.map +1 -0
  40. package/dist/hooks/useView.d.ts +2 -0
  41. package/dist/hooks/useView.d.ts.map +1 -0
  42. package/dist/hooks/useViewStack.d.ts +18 -0
  43. package/dist/hooks/useViewStack.d.ts.map +1 -0
  44. package/dist/index.es.js +1112 -0
  45. package/dist/index.umd.js +22 -0
  46. package/dist/lib/RouterRegistry.d.ts +57 -0
  47. package/dist/lib/RouterRegistry.d.ts.map +1 -0
  48. package/dist/lib/allocation.d.ts +23 -0
  49. package/dist/lib/allocation.d.ts.map +1 -0
  50. package/dist/lib/events.d.ts +4 -0
  51. package/dist/lib/events.d.ts.map +1 -0
  52. package/dist/lib/history.d.ts +34 -0
  53. package/dist/lib/history.d.ts.map +1 -0
  54. package/dist/lib/href.d.ts +23 -0
  55. package/dist/lib/href.d.ts.map +1 -0
  56. package/dist/lib/mapRoutes.d.ts +6 -0
  57. package/dist/lib/mapRoutes.d.ts.map +1 -0
  58. package/dist/lib/viewsAreEqual.d.ts +8 -0
  59. package/dist/lib/viewsAreEqual.d.ts.map +1 -0
  60. package/dist/main.d.ts +13 -0
  61. package/dist/main.d.ts.map +1 -0
  62. package/package.json +63 -0
@@ -0,0 +1,6 @@
1
+ import { CSSProperties, PropsWithChildren } from 'react';
2
+ export declare function StackedView({ children, style, className }: PropsWithChildren & {
3
+ className?: string;
4
+ style?: CSSProperties;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=StackedView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackedView.d.ts","sourceRoot":"","sources":["../../lib/components/StackedView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAqB,MAAM,OAAO,CAAA;AAKrF,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAU,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,2CAwBA"}
@@ -0,0 +1,6 @@
1
+ import { CSSProperties } from 'react';
2
+ export declare function StackedViewGroup({ className, style }: {
3
+ className?: string;
4
+ style?: CSSProperties;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=StackedViewGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackedViewGroup.d.ts","sourceRoot":"","sources":["../../lib/components/StackedViewGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAgC,MAAM,OAAO,CAAA;AAUxE,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,KAAU,EACX,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,2CA6CA"}
@@ -0,0 +1,6 @@
1
+ import { CSSProperties } from 'react';
2
+ export declare function VoidViews({ className, style }: {
3
+ className?: string;
4
+ style?: CSSProperties;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=VoidViews.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VoidViews.d.ts","sourceRoot":"","sources":["../../lib/components/VoidViews.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAA;AAS1C,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,KAAU,EAAE,EAAE;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,2CASA"}
@@ -0,0 +1,27 @@
1
+ import { ViewState } from '../lib/history';
2
+ import { RouterRegistry } from '../lib/RouterRegistry';
3
+ export type Trigger = 'init' | 'load' | 'popstate' | 'pushstate' | 'replacestate';
4
+ export interface RouterState {
5
+ clientRouter?: RouterRegistry;
6
+ trigger: Trigger;
7
+ state: ViewState;
8
+ length?: number;
9
+ hash?: string;
10
+ host?: string;
11
+ hostname?: string;
12
+ href?: string;
13
+ origin?: string;
14
+ pathname?: string;
15
+ port?: string;
16
+ protocol?: string;
17
+ search?: string;
18
+ navigate: (viewId: string | null, url: string, queryParams: Record<string, string | number | boolean>, options: {
19
+ append: boolean;
20
+ target?: '_self' | '_top' | '_blank' | '_void';
21
+ props?: Record<string, string | number | boolean>;
22
+ layout?: string;
23
+ }) => void;
24
+ close: (viewId: string) => void;
25
+ }
26
+ export declare const RouterContext: import('react').Context<RouterState>;
27
+ //# sourceMappingURL=RouterContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterContext.d.ts","sourceRoot":"","sources":["../../lib/contexts/RouterContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAA;AAEjF,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,CACR,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EACtD,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAA;QACf,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;QAC9C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;QACjD,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,KACE,IAAI,CAAC;IACV,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAChC;AAED,eAAO,MAAM,aAAa,sCAQxB,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { RouterConfig } from '../lib/RouterRegistry';
2
+ export interface ExternalRoute {
3
+ url: string;
4
+ }
5
+ export declare function RouterProvider({ basePath, config, external, children }: {
6
+ basePath?: string;
7
+ config: RouterConfig;
8
+ external?: ExternalRoute[];
9
+ children?: React.ReactNode;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=RouterProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterProvider.d.ts","sourceRoot":"","sources":["../../lib/contexts/RouterProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAkB,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAa,EAAE,QAAQ,EAAE,EAAE;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,2CAqDA"}
@@ -0,0 +1,6 @@
1
+ export interface SlotContextType {
2
+ setSlot: (viewId: string, name: string, content?: React.ReactNode) => void;
3
+ getSlots: (viewId: string) => Record<string, React.ReactNode>;
4
+ }
5
+ export declare const SlotContext: import('react').Context<SlotContextType>;
6
+ //# sourceMappingURL=SlotContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlotContext.d.ts","sourceRoot":"","sources":["../../lib/contexts/SlotContext.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAA;IAC1E,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;CAC9D;AAED,eAAO,MAAM,WAAW,0CAGtB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare function SlotProvider({ children }: {
2
+ children: React.ReactNode;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=SlotProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlotProvider.d.ts","sourceRoot":"","sources":["../../lib/contexts/SlotProvider.tsx"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,2CAuBA"}
@@ -0,0 +1,17 @@
1
+ import { ViewState } from '../lib/history';
2
+ export interface ViewContextType {
3
+ viewId: string;
4
+ isActive: boolean;
5
+ width: number;
6
+ layout?: string;
7
+ params?: Record<string, string>;
8
+ queryParams?: Record<string, string | number | boolean>;
9
+ setQueryParams: (queryParams: Record<string, string | number | boolean | undefined>, replaceAll?: boolean) => void;
10
+ queryParam: (key: string) => string | number | boolean | undefined;
11
+ props?: Record<string, string | number | boolean>;
12
+ setProps: (queryParams: Record<string, string | number | boolean | undefined>, replaceAll?: boolean) => void;
13
+ close: () => void;
14
+ state: ViewState;
15
+ }
16
+ export declare const ViewContext: import('react').Context<ViewContextType>;
17
+ //# sourceMappingURL=ViewContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewContext.d.ts","sourceRoot":"","sources":["../../lib/contexts/ViewContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IACvD,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAClH,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IACjD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5G,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,eAAO,MAAM,WAAW,0CAUtB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function ViewProvider({ id: viewId, width, layout, children, params, queryParams, props }: PropsWithChildren & {
3
+ id: string;
4
+ width: number;
5
+ layout?: string;
6
+ params?: Record<string, string>;
7
+ queryParams?: Record<string, string | number | boolean>;
8
+ props?: Record<string, string | number | boolean>;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=ViewProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewProvider.d.ts","sourceRoot":"","sources":["../../lib/contexts/ViewProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAA;AAK9D,wBAAgB,YAAY,CAAC,EAC3B,EAAE,EAAE,MAAM,EACV,KAAK,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,KAAK,EACN,EAAE,iBAAiB,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;CAClD,2CAiEA"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Hook to provide a useHref function that can be used with UI libraries.
3
+ * Converts router hrefs to native HTML hrefs.
4
+ *
5
+ * @example
6
+ * import { useHref, useNavigate } from '@/router/hooks'
7
+ * const navigate = useNavigate()
8
+ *
9
+ * <HeroUIProvider useHref={useHref} navigate={navigate}>
10
+ * ...
11
+ * <HeroUIProvider>
12
+ */
13
+ export declare function useHref(to: string): string;
14
+ //# sourceMappingURL=useHref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHref.d.ts","sourceRoot":"","sources":["../../lib/hooks/useHref.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG1C"}
@@ -0,0 +1,19 @@
1
+ interface NavigateOptions {
2
+ target?: '_self' | '_top' | '_blank' | '_void';
3
+ props?: Record<string, string | number | boolean>;
4
+ layout?: string;
5
+ }
6
+ /**
7
+ * Hook to provide a navigate function that can be used to integrate with UI libraries.
8
+ *
9
+ * @example
10
+ * import { useHref, useNavigate } from '@/router/hooks'
11
+ * const navigate = useNavigate()
12
+ *
13
+ * <HeroUIProvider useHref={useHref} navigate={navigate}>
14
+ * ...
15
+ * <HeroUIProvider>
16
+ */
17
+ export declare function useNavigate(): (href: string, options?: NavigateOptions) => void;
18
+ export {};
19
+ //# sourceMappingURL=useNavigate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNavigate.d.ts","sourceRoot":"","sources":["../../lib/hooks/useNavigate.tsx"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,KAGjB,MAAM,MAAM,EAAE,UAAU,eAAe,UAWhD"}
@@ -0,0 +1,25 @@
1
+ import { ViewDef } from '../lib/history';
2
+ export type OpenView = Exclude<ViewDef, 'meta'> & {
3
+ isActive: boolean;
4
+ };
5
+ /**
6
+ * Hook to find open views that match specific criteria
7
+ *
8
+ * @param type - The view type to match against view.meta.type
9
+ * @param params - Optional params to match. Only the specified params need to match (partial match)
10
+ * @returns Array of matching views with their state
11
+ *
12
+ * @example
13
+ * // Find all article views
14
+ * const articleViews = useOpenViews('article')
15
+ *
16
+ * @example
17
+ * // Find all article views for a specific article
18
+ * const views = useOpenViews('article', { id: '123' })
19
+ *
20
+ * @example
21
+ * // Find all section views for a specific section
22
+ * const sectionViews = useOpenViews('section', { sectionId: 'sports' })
23
+ */
24
+ export declare function useOpenViews(type: string, params?: Record<string, string>): OpenView[];
25
+ //# sourceMappingURL=useOpenViews.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOpenViews.d.ts","sourceRoot":"","sources":["../../lib/hooks/useOpenViews.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG;IAChD,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,QAAQ,EAAE,CA2CZ"}
@@ -0,0 +1,2 @@
1
+ export declare function usePrevious<T>(value: T): T | null;
2
+ //# sourceMappingURL=usePrevious.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrevious.d.ts","sourceRoot":"","sources":["../../lib/hooks/usePrevious.tsx"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAQjD"}
@@ -0,0 +1,2 @@
1
+ export declare function useRouter(): import('../contexts/RouterContext').RouterState;
2
+ //# sourceMappingURL=useRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRouter.d.ts","sourceRoot":"","sources":["../../lib/hooks/useRouter.tsx"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,oDAQxB"}
@@ -0,0 +1,2 @@
1
+ export declare function useView(): import('../contexts/ViewContext').ViewContextType;
2
+ //# sourceMappingURL=useView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useView.d.ts","sourceRoot":"","sources":["../../lib/hooks/useView.tsx"],"names":[],"mappings":"AAGC,wBAAgB,OAAO,sDAQvB"}
@@ -0,0 +1,18 @@
1
+ import { ViewDef } from '../lib/history';
2
+ import { ParsedRouteLayout, ViewMetadata } from '../lib/RouterRegistry';
3
+ export interface StackedView {
4
+ view: ViewDef;
5
+ meta: ViewMetadata | undefined;
6
+ Component?: React.ComponentType<unknown>;
7
+ Layouts?: ParsedRouteLayout[];
8
+ params?: Record<string, string>;
9
+ props?: Record<string, string | number | boolean>;
10
+ }
11
+ /**
12
+ * Expose navigate function and current view stack
13
+ */
14
+ export declare function useViewStack(): {
15
+ viewStack: StackedView[];
16
+ voidViews: StackedView[];
17
+ };
18
+ //# sourceMappingURL=useViewStack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useViewStack.d.ts","sourceRoot":"","sources":["../../lib/hooks/useViewStack.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAG5E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,YAAY,GAAG,SAAS,CAAA;IAC9B,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACxC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;CAClD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI;IAC9B,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,SAAS,EAAE,WAAW,EAAE,CAAA;CACzB,CA6CA"}