@kimesh/router-runtime 0.2.6 → 0.2.7-nightly.20260124083945
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/index.d.mts +75 -75
- package/dist/index.mjs +3 -3
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -77,9 +77,9 @@ interface KimeshAppContext {
|
|
|
77
77
|
provide: <T>(name: string, value: T) => void;
|
|
78
78
|
runWithContext: <T extends () => unknown>(fn: T) => ReturnType<T>;
|
|
79
79
|
/**
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
* Centralized reactive state storage for useState composable
|
|
81
|
+
* CSR-optimized: state exists purely in-memory, no SSR hydration
|
|
82
|
+
*/
|
|
83
83
|
_state: Record<string, unknown>;
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
@@ -321,56 +321,56 @@ interface FileRouteOptions<TMeta = unknown, TParams = Record<string, string>, TS
|
|
|
321
321
|
/** Before load hook */
|
|
322
322
|
beforeLoad?: (ctx: BeforeLoadContext) => Promise<void> | void;
|
|
323
323
|
/**
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
324
|
+
* Route-level head configuration
|
|
325
|
+
*
|
|
326
|
+
* @example Static head
|
|
327
|
+
* ```ts
|
|
328
|
+
* head: {
|
|
329
|
+
* title: 'About Us',
|
|
330
|
+
* meta: [{ name: 'description', content: 'Learn about our company' }]
|
|
331
|
+
* }
|
|
332
|
+
* ```
|
|
333
|
+
*
|
|
334
|
+
* @example Dynamic head from loader
|
|
335
|
+
* ```ts
|
|
336
|
+
* head: ({ loaderData }) => ({
|
|
337
|
+
* title: loaderData.post.title,
|
|
338
|
+
* meta: [{ property: 'og:title', content: loaderData.post.title }]
|
|
339
|
+
* })
|
|
340
|
+
* ```
|
|
341
|
+
*/
|
|
342
342
|
head?: RouteHeadFn<TParams, TLoaderData> | RouteHeadConfig;
|
|
343
343
|
/**
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
344
|
+
* Page transition configuration
|
|
345
|
+
*
|
|
346
|
+
* @example
|
|
347
|
+
* ```ts
|
|
348
|
+
* transition: { name: 'slide', mode: 'out-in' }
|
|
349
|
+
* // or disable transition
|
|
350
|
+
* transition: false
|
|
351
|
+
* ```
|
|
352
|
+
*/
|
|
353
353
|
transition?: boolean | TransitionProps;
|
|
354
354
|
/**
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
355
|
+
* View Transition API (experimental)
|
|
356
|
+
* Uses native browser document.startViewTransition() API
|
|
357
|
+
*
|
|
358
|
+
* @example
|
|
359
|
+
* ```ts
|
|
360
|
+
* viewTransition: true // respect user's prefers-reduced-motion
|
|
361
|
+
* viewTransition: 'always' // always use view transitions
|
|
362
|
+
* ```
|
|
363
|
+
*/
|
|
364
364
|
viewTransition?: boolean | "always";
|
|
365
365
|
/**
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
366
|
+
* KeepAlive configuration for route component
|
|
367
|
+
*
|
|
368
|
+
* @example
|
|
369
|
+
* ```ts
|
|
370
|
+
* keepalive: true
|
|
371
|
+
* keepalive: { max: 10 }
|
|
372
|
+
* ```
|
|
373
|
+
*/
|
|
374
374
|
keepalive?: boolean | KeepAliveProps;
|
|
375
375
|
}
|
|
376
376
|
/**
|
|
@@ -596,32 +596,32 @@ declare const KmOutlet: vue13.DefineComponent<vue13.ExtractPropTypes<{
|
|
|
596
596
|
default: string;
|
|
597
597
|
};
|
|
598
598
|
/**
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
599
|
+
* Page transition configuration (Vue Transition)
|
|
600
|
+
* ⚠️ Avoid mode: 'out-in' with async pages
|
|
601
|
+
*/
|
|
602
602
|
transition: {
|
|
603
603
|
type: any;
|
|
604
604
|
default: undefined;
|
|
605
605
|
};
|
|
606
606
|
/**
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
607
|
+
* Enable View Transitions API (recommended for async pages)
|
|
608
|
+
* Works in Chrome 111+, Edge 111+, Opera 97+
|
|
609
|
+
* Falls back to instant transition on unsupported browsers
|
|
610
|
+
*/
|
|
611
611
|
viewTransition: {
|
|
612
612
|
type: BooleanConstructor;
|
|
613
613
|
default: boolean;
|
|
614
614
|
};
|
|
615
615
|
/**
|
|
616
|
-
|
|
617
|
-
|
|
616
|
+
* KeepAlive configuration
|
|
617
|
+
*/
|
|
618
618
|
keepalive: {
|
|
619
619
|
type: any;
|
|
620
620
|
default: undefined;
|
|
621
621
|
};
|
|
622
622
|
/**
|
|
623
|
-
|
|
624
|
-
|
|
623
|
+
* Custom page key function for route identification
|
|
624
|
+
*/
|
|
625
625
|
pageKey: {
|
|
626
626
|
type: any;
|
|
627
627
|
default: null;
|
|
@@ -632,32 +632,32 @@ declare const KmOutlet: vue13.DefineComponent<vue13.ExtractPropTypes<{
|
|
|
632
632
|
default: string;
|
|
633
633
|
};
|
|
634
634
|
/**
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
635
|
+
* Page transition configuration (Vue Transition)
|
|
636
|
+
* ⚠️ Avoid mode: 'out-in' with async pages
|
|
637
|
+
*/
|
|
638
638
|
transition: {
|
|
639
639
|
type: any;
|
|
640
640
|
default: undefined;
|
|
641
641
|
};
|
|
642
642
|
/**
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
643
|
+
* Enable View Transitions API (recommended for async pages)
|
|
644
|
+
* Works in Chrome 111+, Edge 111+, Opera 97+
|
|
645
|
+
* Falls back to instant transition on unsupported browsers
|
|
646
|
+
*/
|
|
647
647
|
viewTransition: {
|
|
648
648
|
type: BooleanConstructor;
|
|
649
649
|
default: boolean;
|
|
650
650
|
};
|
|
651
651
|
/**
|
|
652
|
-
|
|
653
|
-
|
|
652
|
+
* KeepAlive configuration
|
|
653
|
+
*/
|
|
654
654
|
keepalive: {
|
|
655
655
|
type: any;
|
|
656
656
|
default: undefined;
|
|
657
657
|
};
|
|
658
658
|
/**
|
|
659
|
-
|
|
660
|
-
|
|
659
|
+
* Custom page key function for route identification
|
|
660
|
+
*/
|
|
661
661
|
pageKey: {
|
|
662
662
|
type: any;
|
|
663
663
|
default: null;
|
|
@@ -797,18 +797,18 @@ declare const KmLink: vue13.DefineComponent<vue13.ExtractPropTypes<{
|
|
|
797
797
|
*/
|
|
798
798
|
declare const KmDeferred: vue13.DefineComponent<vue13.ExtractPropTypes<{
|
|
799
799
|
/**
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
800
|
+
* Delay in ms before showing fallback (default: 0)
|
|
801
|
+
* Helps avoid flashing loading states for fast loads
|
|
802
|
+
*/
|
|
803
803
|
timeout: {
|
|
804
804
|
type: PropType<number>;
|
|
805
805
|
default: number;
|
|
806
806
|
};
|
|
807
807
|
}>, () => VNode, {}, {}, {}, vue13.ComponentOptionsMixin, vue13.ComponentOptionsMixin, {}, string, vue13.PublicProps, Readonly<vue13.ExtractPropTypes<{
|
|
808
808
|
/**
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
809
|
+
* Delay in ms before showing fallback (default: 0)
|
|
810
|
+
* Helps avoid flashing loading states for fast loads
|
|
811
|
+
*/
|
|
812
812
|
timeout: {
|
|
813
813
|
type: PropType<number>;
|
|
814
814
|
default: number;
|
package/dist/index.mjs
CHANGED
|
@@ -751,13 +751,13 @@ const KmOutlet = defineComponent({
|
|
|
751
751
|
}
|
|
752
752
|
}, { default: () => componentNode }));
|
|
753
753
|
if (props.viewTransition) {
|
|
754
|
-
const pageVNode
|
|
754
|
+
const pageVNode = h("div", {
|
|
755
755
|
key: routeKey,
|
|
756
756
|
class: "km-outlet-page",
|
|
757
757
|
style: { viewTransitionName: "km-page" }
|
|
758
758
|
}, [wrappedNode]);
|
|
759
|
-
cachedVNode = pageVNode
|
|
760
|
-
return pageVNode
|
|
759
|
+
cachedVNode = pageVNode;
|
|
760
|
+
return pageVNode;
|
|
761
761
|
}
|
|
762
762
|
if (!hasVueTransition || !transitionProps) {
|
|
763
763
|
cachedVNode = wrappedNode;
|