gemi 0.9.2 → 0.10.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/app/index.js +2 -2
- package/dist/app/index.js.map +1 -1
- package/dist/bin/gemi.js +35394 -0
- package/dist/bin/gemi.js.map +94 -0
- package/dist/broadcasting/index.js +1 -1
- package/dist/chunk-0gr0rj7r.js +4 -0
- package/dist/{chunk-b8d5htph.js.map → chunk-0gr0rj7r.js.map} +2 -2
- package/dist/chunk-18anmejw.js +13 -0
- package/dist/{chunk-t6h32cqw.js.map → chunk-18anmejw.js.map} +4 -4
- package/dist/chunk-35zcs0pk.js +4 -0
- package/dist/{chunk-d1jvc299.js.map → chunk-35zcs0pk.js.map} +5 -5
- package/dist/chunk-3hb4j4tb.js +11 -0
- package/dist/{chunk-t0br3jky.js.map → chunk-3hb4j4tb.js.map} +2 -2
- package/dist/chunk-3vm1nb1w.js +11 -0
- package/dist/{chunk-avqfpn5v.js.map → chunk-3vm1nb1w.js.map} +5 -5
- package/dist/{chunk-vvdgy5ba.js → chunk-5f0rzak7.js} +3 -3
- package/dist/{chunk-vvdgy5ba.js.map → chunk-5f0rzak7.js.map} +1 -1
- package/dist/{chunk-wrtx683g.js → chunk-63hxfm31.js} +3 -3
- package/dist/{chunk-wrtx683g.js.map → chunk-63hxfm31.js.map} +1 -1
- package/dist/chunk-767yrc2c.js +4 -0
- package/dist/{chunk-vqpqea57.js.map → chunk-767yrc2c.js.map} +2 -2
- package/dist/chunk-as0ze3hk.js +5 -0
- package/dist/{chunk-6g1mntab.js.map → chunk-as0ze3hk.js.map} +6 -6
- package/dist/chunk-cn143fca.js +6 -0
- package/dist/{chunk-x46drz7r.js.map → chunk-cn143fca.js.map} +2 -2
- package/dist/chunk-e077ya3j.js +22 -0
- package/dist/{chunk-vress81a.js.map → chunk-e077ya3j.js.map} +2 -2
- package/dist/chunk-e21gmk4a.js +4 -0
- package/dist/{chunk-5yex263y.js.map → chunk-e21gmk4a.js.map} +2 -2
- package/dist/{chunk-2myc2s6w.js → chunk-gkzrn1xy.js} +3 -3
- package/dist/{chunk-2myc2s6w.js.map → chunk-gkzrn1xy.js.map} +1 -1
- package/dist/chunk-gzc58n6z.js +4 -0
- package/dist/{chunk-hwaaf04e.js.map → chunk-gzc58n6z.js.map} +2 -2
- package/dist/chunk-hcxp20gw.js +4 -0
- package/dist/{chunk-641dtrzq.js.map → chunk-hcxp20gw.js.map} +2 -2
- package/dist/{chunk-k9katf2f.js → chunk-j61ayndh.js} +2 -2
- package/dist/{chunk-k9katf2f.js.map → chunk-j61ayndh.js.map} +1 -1
- package/dist/chunk-jbnkc3n4.js +4 -0
- package/dist/{chunk-qbvhdtxt.js.map → chunk-jbnkc3n4.js.map} +2 -2
- package/dist/chunk-myntqyk8.js +4 -0
- package/dist/chunk-myntqyk8.js.map +14 -0
- package/dist/chunk-ng7ryvkk.js +4 -0
- package/dist/{chunk-w8eezrzs.js.map → chunk-ng7ryvkk.js.map} +2 -2
- package/dist/chunk-njsvs0gx.js +41 -0
- package/dist/{chunk-8arqqbhx.js.map → chunk-njsvs0gx.js.map} +13 -11
- package/dist/chunk-nshcr6nw.js +4 -0
- package/dist/{chunk-wv5423nm.js.map → chunk-nshcr6nw.js.map} +2 -2
- package/dist/chunk-nyn5gztt.js +4 -0
- package/dist/{chunk-ameyxxdy.js.map → chunk-nyn5gztt.js.map} +5 -5
- package/dist/chunk-rsj6ke1v.js +8 -0
- package/dist/{chunk-36mj8mav.js.map → chunk-rsj6ke1v.js.map} +2 -2
- package/dist/chunk-v0mpng4p.js +4 -0
- package/dist/{chunk-0wqf4729.js.map → chunk-v0mpng4p.js.map} +2 -2
- package/dist/chunk-x02snmef.js +3 -0
- package/dist/chunk-x02snmef.js.map +15 -0
- package/dist/chunk-xd3556sw.js +4 -0
- package/dist/{chunk-9qk0pjxc.js.map → chunk-xd3556sw.js.map} +2 -2
- package/dist/chunk-y2fy75zm.js +4 -0
- package/dist/{chunk-crahc1t6.js.map → chunk-y2fy75zm.js.map} +2 -2
- package/dist/chunk-zjy4ngej.js +5 -0
- package/dist/{chunk-zp1h0k9v.js.map → chunk-zjy4ngej.js.map} +5 -5
- package/dist/client/ClientRouter.d.ts.map +1 -1
- package/dist/client/ClientRouterContext.d.ts +4 -1
- package/dist/client/ClientRouterContext.d.ts.map +1 -1
- package/dist/client/ServerDataProvider.d.ts +4 -0
- package/dist/client/ServerDataProvider.d.ts.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +35 -5
- package/dist/client/index.js.map +1 -1
- package/dist/client/useBreadcrumbs.d.ts +6 -0
- package/dist/client/useBreadcrumbs.d.ts.map +1 -0
- package/dist/client/useNavigate.d.ts.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/index.js +5 -2
- package/dist/facades/index.js.map +2 -2
- package/dist/http/ViewRouter.d.ts +14 -4
- package/dist/http/ViewRouter.d.ts.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +3 -3
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +2 -2
- package/dist/server/index.js +6 -6
- package/dist/server/index.js.map +2 -2
- package/dist/services/index.js +63 -3
- package/dist/services/index.js.map +2 -2
- package/dist/services/router/ViewRouterServiceContainer.d.ts +1 -0
- package/dist/services/router/ViewRouterServiceContainer.d.ts.map +1 -1
- package/dist/services/router/createFlatViewRoutes.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/bin/index.js +0 -35238
- package/dist/chunk-0wqf4729.js +0 -4
- package/dist/chunk-36mj8mav.js +0 -8
- package/dist/chunk-5yex263y.js +0 -4
- package/dist/chunk-641dtrzq.js +0 -4
- package/dist/chunk-6g1mntab.js +0 -4
- package/dist/chunk-8arqqbhx.js +0 -20
- package/dist/chunk-9qk0pjxc.js +0 -4
- package/dist/chunk-ameyxxdy.js +0 -4
- package/dist/chunk-avqfpn5v.js +0 -11
- package/dist/chunk-b8d5htph.js +0 -4
- package/dist/chunk-crahc1t6.js +0 -4
- package/dist/chunk-d1jvc299.js +0 -4
- package/dist/chunk-ek6n8gyv.js +0 -4
- package/dist/chunk-ek6n8gyv.js.map +0 -10
- package/dist/chunk-hwaaf04e.js +0 -4
- package/dist/chunk-hzfj9k0z.js +0 -4
- package/dist/chunk-hzfj9k0z.js.map +0 -14
- package/dist/chunk-qbvhdtxt.js +0 -4
- package/dist/chunk-t0br3jky.js +0 -4
- package/dist/chunk-t6h32cqw.js +0 -5
- package/dist/chunk-vqpqea57.js +0 -4
- package/dist/chunk-vress81a.js +0 -22
- package/dist/chunk-w8eezrzs.js +0 -4
- package/dist/chunk-wv5423nm.js +0 -4
- package/dist/chunk-x46drz7r.js +0 -4
- package/dist/chunk-zp1h0k9v.js +0 -4
package/dist/client/index.js
CHANGED
|
@@ -1416,6 +1416,7 @@ function useNavigate() {
|
|
|
1416
1416
|
const {
|
|
1417
1417
|
data,
|
|
1418
1418
|
prefetchedData,
|
|
1419
|
+
breadcrumbs,
|
|
1419
1420
|
directive = {},
|
|
1420
1421
|
is404 = false
|
|
1421
1422
|
} = await res.json();
|
|
@@ -1426,7 +1427,7 @@ function useNavigate() {
|
|
|
1426
1427
|
}
|
|
1427
1428
|
return;
|
|
1428
1429
|
}
|
|
1429
|
-
updatePageData(data);
|
|
1430
|
+
updatePageData(data, breadcrumbs);
|
|
1430
1431
|
updatePrefecthedData(prefetchedData);
|
|
1431
1432
|
history == null ? void 0 : history[pushOrReplace](
|
|
1432
1433
|
navigationPath,
|
|
@@ -1590,7 +1591,8 @@ const ClientRouterProvider = (props) => {
|
|
|
1590
1591
|
cssManifest,
|
|
1591
1592
|
pageData,
|
|
1592
1593
|
params,
|
|
1593
|
-
searchParams
|
|
1594
|
+
searchParams,
|
|
1595
|
+
breadcrumbs
|
|
1594
1596
|
} = props;
|
|
1595
1597
|
const [parameters, setParameters] = useState(params);
|
|
1596
1598
|
const navigationAbortControllerRef = useRef(new AbortController());
|
|
@@ -1601,6 +1603,9 @@ const ClientRouterProvider = (props) => {
|
|
|
1601
1603
|
const [progressManager] = useState(new ProgressManager(isNavigatingSubject));
|
|
1602
1604
|
const pageDataRef = useRef(structuredClone(pageData));
|
|
1603
1605
|
const scrollHistoryRef = useRef(/* @__PURE__ */ new Map());
|
|
1606
|
+
const breadcrumbsCache = useRef(
|
|
1607
|
+
new Map(Object.entries(breadcrumbs))
|
|
1608
|
+
);
|
|
1604
1609
|
const initalViewEntries = is404 ? ["404"] : routeManifest[pathname] ?? ["404"];
|
|
1605
1610
|
const viewEntriesSubject = useRef(new Subject(initalViewEntries));
|
|
1606
1611
|
const [locationSubject] = useState(
|
|
@@ -1673,12 +1678,15 @@ const ClientRouterProvider = (props) => {
|
|
|
1673
1678
|
window.removeEventListener("scroll", handleScroll);
|
|
1674
1679
|
};
|
|
1675
1680
|
}, []);
|
|
1676
|
-
const updatePageData = (newPageData) => {
|
|
1681
|
+
const updatePageData = (newPageData, breadcrumbs2) => {
|
|
1677
1682
|
var _a2;
|
|
1678
1683
|
const [key, value] = Object.entries(newPageData)[0];
|
|
1679
1684
|
if (!((_a2 = pageDataRef.current) == null ? void 0 : _a2[key])) {
|
|
1680
1685
|
pageDataRef.current[key] = {};
|
|
1681
1686
|
}
|
|
1687
|
+
for (const b2 in breadcrumbs2) {
|
|
1688
|
+
breadcrumbsCache.current.set(b2, breadcrumbs2[b2]);
|
|
1689
|
+
}
|
|
1682
1690
|
pageDataRef.current[key] = value;
|
|
1683
1691
|
};
|
|
1684
1692
|
const getPageData = (key) => {
|
|
@@ -1731,7 +1739,8 @@ const ClientRouterProvider = (props) => {
|
|
|
1731
1739
|
getRoutePathnameFromHref,
|
|
1732
1740
|
setNavigationAbortController,
|
|
1733
1741
|
progressManager,
|
|
1734
|
-
fetchRouteCSS
|
|
1742
|
+
fetchRouteCSS,
|
|
1743
|
+
breadcrumbsCache: breadcrumbsCache.current
|
|
1735
1744
|
},
|
|
1736
1745
|
children: [
|
|
1737
1746
|
children,
|
|
@@ -2124,6 +2133,18 @@ function useNavigationProgress() {
|
|
|
2124
2133
|
}, []);
|
|
2125
2134
|
return progress;
|
|
2126
2135
|
}
|
|
2136
|
+
function useBreadcrumbs() {
|
|
2137
|
+
const { pathname } = useRoute();
|
|
2138
|
+
const { getViewPathsFromPathname, breadcrumbsCache } = useContext(ClientRouterContext);
|
|
2139
|
+
let breadcrumbs = [];
|
|
2140
|
+
const viewPaths = getViewPathsFromPathname(pathname);
|
|
2141
|
+
for (const viewPath of viewPaths) {
|
|
2142
|
+
if (breadcrumbsCache.has(`${viewPath}:${pathname}`)) {
|
|
2143
|
+
breadcrumbs.push(breadcrumbsCache.get(`${viewPath}:${pathname}`));
|
|
2144
|
+
}
|
|
2145
|
+
}
|
|
2146
|
+
return breadcrumbs.filter((breadcrumb) => (breadcrumb == null ? void 0 : breadcrumb.label.length) > 0);
|
|
2147
|
+
}
|
|
2127
2148
|
function normalizeSearch(search) {
|
|
2128
2149
|
return Object.fromEntries(
|
|
2129
2150
|
Object.entries(search).filter(([_k, v2]) => v2 !== void 0 && v2 !== null).map(([k2, v2]) => [k2, String(v2)])
|
|
@@ -31398,7 +31419,14 @@ const Routes = (props) => {
|
|
|
31398
31419
|
};
|
|
31399
31420
|
const ClientRouter = (props) => {
|
|
31400
31421
|
const { RootLayout } = props;
|
|
31401
|
-
const {
|
|
31422
|
+
const {
|
|
31423
|
+
routeManifest,
|
|
31424
|
+
router,
|
|
31425
|
+
componentTree,
|
|
31426
|
+
pageData,
|
|
31427
|
+
cssManifest,
|
|
31428
|
+
breadcrumbs
|
|
31429
|
+
} = useContext(ServerDataContext);
|
|
31402
31430
|
return /* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(WebSocketContextProvider, { children: /* @__PURE__ */ jsx(QueryManagerProvider, { children: /* @__PURE__ */ jsx(ComponentsProvider, { viewImportMap: props.viewImportMap, children: /* @__PURE__ */ jsx(
|
|
31403
31431
|
ClientRouterProvider,
|
|
31404
31432
|
{
|
|
@@ -31410,6 +31438,7 @@ const ClientRouter = (props) => {
|
|
|
31410
31438
|
pathname: router.pathname,
|
|
31411
31439
|
currentPath: router.currentPath,
|
|
31412
31440
|
routeManifest,
|
|
31441
|
+
breadcrumbs,
|
|
31413
31442
|
children: /* @__PURE__ */ jsx(StrictMode, { children: /* @__PURE__ */ jsx(RootLayout, { children: /* @__PURE__ */ jsx(Routes, { componentTree }) }) })
|
|
31414
31443
|
}
|
|
31415
31444
|
) }) }) }) });
|
|
@@ -31675,6 +31704,7 @@ export {
|
|
|
31675
31704
|
create,
|
|
31676
31705
|
createRoot,
|
|
31677
31706
|
init,
|
|
31707
|
+
useBreadcrumbs,
|
|
31678
31708
|
useBroadcast,
|
|
31679
31709
|
useDelete,
|
|
31680
31710
|
useForgotPassword,
|