[{"data":1,"prerenderedAt":1206},["ShallowReactive",2],{"navigation_docs":3,"-integrations-svelte":101,"-integrations-svelte-surround":1201},[4,55,73,91],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":54},"Guides","i-lucide-book-open","\u002Fguides","1.guides",[10,14,18,22,26,30,34,38,42,46,50],{"title":11,"path":12,"stem":13},"Introduction","\u002Fguides\u002Fintroduction","1.guides\u002F0.introduction",{"title":15,"path":16,"stem":17},"Data","\u002Fguides\u002Fdata","1.guides\u002F1.data",{"title":19,"path":20,"stem":21},"Forms","\u002Fguides\u002Fform","1.guides\u002F2.form",{"title":23,"path":24,"stem":25},"List","\u002Fguides\u002Flist","1.guides\u002F3.list",{"title":27,"path":28,"stem":29},"Authentication","\u002Fguides\u002Fauthentication","1.guides\u002F4.authentication",{"title":31,"path":32,"stem":33},"Authorization","\u002Fguides\u002Fauthorization","1.guides\u002F5.authorization",{"title":35,"path":36,"stem":37},"Notifications","\u002Fguides\u002Fnotifications","1.guides\u002F6.notifications",{"title":39,"path":40,"stem":41},"Realtime","\u002Fguides\u002Frealtime","1.guides\u002F7.realtime",{"title":43,"path":44,"stem":45},"Router","\u002Fguides\u002Frouter","1.guides\u002F8.router",{"title":47,"path":48,"stem":49},"I18n","\u002Fguides\u002Fi18n","1.guides\u002F9.i18n",{"title":51,"path":52,"stem":53},"Resources","\u002Fguides\u002Fresources","1.guides\u002F99.resources",false,{"title":56,"icon":57,"path":58,"stem":59,"children":60,"page":54},"Integrations","i-lucide-blocks","\u002Fintegrations","2.integrations",[61,65,69],{"title":62,"path":63,"stem":64},"Vue","\u002Fintegrations\u002Fvue","2.integrations\u002F0.vue",{"title":66,"path":67,"stem":68},"Nuxt","\u002Fintegrations\u002Fnuxt","2.integrations\u002F1.nuxt",{"title":70,"path":71,"stem":72},"Svelte","\u002Fintegrations\u002Fsvelte","2.integrations\u002F2.svelte",{"title":74,"icon":75,"path":76,"stem":77,"children":78,"page":54},"Backend","i-lucide-server","\u002Fbackend","3.backend",[79,83,87],{"title":80,"path":81,"stem":82},"Directus","\u002Fbackend\u002Fdirectus","3.backend\u002F0.directus",{"title":84,"path":85,"stem":86},"Supabase","\u002Fbackend\u002Fsupabase","3.backend\u002F1.supabase",{"title":88,"path":89,"stem":90},"RESTful API","\u002Fbackend\u002Frest-api","3.backend\u002F9.rest-api",{"title":92,"icon":93,"path":94,"stem":95,"children":96,"page":54},"AI","i-lucide-sparkles","\u002Fai","4.ai",[97],{"title":98,"path":99,"stem":100},"Agent Skills","\u002Fai\u002Fskills","4.ai\u002F0.skills",{"id":102,"title":70,"body":103,"description":1195,"extension":1196,"links":1197,"meta":1198,"navigation":352,"path":71,"seo":1199,"stem":72,"__hash__":1200},"docs\u002F2.integrations\u002F2.svelte.md",{"type":104,"value":105,"toc":1188},"minimark",[106,114,125,128,133,143,146,227,231,234,250,253,661,664,668,677,684,831,834,837,841,846,867,887,1015,1029,1157,1161,1167,1184],[107,108,109,113],"p",{},[110,111,112],"code",{},"@ginjou\u002Fsvelte"," is the base Svelte adapter for Ginjou.",[107,115,116,117,120,121,124],{},"It exposes Ginjou's core contracts through Svelte's ",[110,118,119],{},"setContext","\u002F",[110,122,123],{},"getContext",", adds TanStack Query-backed data hooks, and includes the controller layer for resource-oriented pages.",[107,126,127],{},"The package targets Svelte 5 and uses runes throughout.",[129,130,132],"h2",{"id":131},"installation","Installation",[107,134,135,136,138,139,142],{},"Install ",[110,137,112],{}," together with ",[110,140,141],{},"@tanstack\u002Fsvelte-query",".",[107,144,145],{},"Ginjou uses TanStack Query for query and mutation state in Svelte, so both packages are part of the base setup.",[147,148,150,178,194,211],"code-group",{"sync":149},"package-manager",[151,152,158],"pre",{"className":153,"code":154,"filename":155,"language":156,"meta":157,"style":157},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark monokai","pnpm add @ginjou\u002Fsvelte @tanstack\u002Fsvelte-query\n","pnpm","bash","",[110,159,160],{"__ignoreMap":157},[161,162,165,168,172,175],"span",{"class":163,"line":164},"line",1,[161,166,155],{"class":167},"sR7ES",[161,169,171],{"class":170},"sLACW"," add",[161,173,174],{"class":170}," @ginjou\u002Fsvelte",[161,176,177],{"class":170}," @tanstack\u002Fsvelte-query\n",[151,179,182],{"className":153,"code":180,"filename":181,"language":156,"meta":157,"style":157},"yarn add @ginjou\u002Fsvelte @tanstack\u002Fsvelte-query\n","yarn",[110,183,184],{"__ignoreMap":157},[161,185,186,188,190,192],{"class":163,"line":164},[161,187,181],{"class":167},[161,189,171],{"class":170},[161,191,174],{"class":170},[161,193,177],{"class":170},[151,195,198],{"className":153,"code":196,"filename":197,"language":156,"meta":157,"style":157},"npm install @ginjou\u002Fsvelte @tanstack\u002Fsvelte-query\n","npm",[110,199,200],{"__ignoreMap":157},[161,201,202,204,207,209],{"class":163,"line":164},[161,203,197],{"class":167},[161,205,206],{"class":170}," install",[161,208,174],{"class":170},[161,210,177],{"class":170},[151,212,215],{"className":153,"code":213,"filename":214,"language":156,"meta":157,"style":157},"bun add @ginjou\u002Fsvelte @tanstack\u002Fsvelte-query\n","bun",[110,216,217],{"__ignoreMap":157},[161,218,219,221,223,225],{"class":163,"line":164},[161,220,214],{"class":167},[161,222,171],{"class":170},[161,224,174],{"class":170},[161,226,177],{"class":170},[129,228,230],{"id":229},"setup","Setup",[107,232,233],{},"The smallest useful Svelte setup starts with two contexts:",[235,236,237,244],"ol",{},[238,239,240,243],"li",{},[110,241,242],{},"defineQueryClientContext()"," for TanStack Query state.",[238,245,246,249],{},[110,247,248],{},"defineFetchersContext()"," for data access.",[107,251,252],{},"Register them once near the app root so every Ginjou composable reads the same shared contexts.",[147,254,255],{},[151,256,261],{"className":257,"code":258,"filename":259,"language":260,"meta":157,"style":157},"language-svelte shiki shiki-themes material-theme-lighter github-light github-dark monokai","\u003Cscript lang=\"ts\">\nimport { defineFetcher } from '@ginjou\u002Fcore'\nimport { defineFetchersContext, defineQueryClientContext } from '@ginjou\u002Fsvelte'\n\nconst { children } = $props()\n\ndefineQueryClientContext({\n    defaultOptions: {\n        queries: {\n            staleTime: 5 * 60 * 1000,\n        },\n    },\n})\n\ndefineFetchersContext({\n    default: defineFetcher({\n        async getList() {\n            return {\n                data: [],\n                total: 0,\n            }\n        },\n        async getOne({ id }) {\n            return {\n                data: { id },\n            }\n        },\n    }),\n})\n\u003C\u002Fscript>\n\n{@render children()}\n","App.svelte","svelte",[110,262,263,292,321,347,354,383,388,400,413,423,449,455,461,470,475,485,499,515,523,536,549,555,560,580,587,601,606,611,622,629,639,644],{"__ignoreMap":157},[161,264,265,269,273,277,280,284,287,289],{"class":163,"line":164},[161,266,268],{"class":267},"swvn1","\u003C",[161,270,272],{"class":271},"sHsBP","script",[161,274,276],{"class":275},"s_lYk"," lang",[161,278,279],{"class":267},"=",[161,281,283],{"class":282},"siCPE","\"",[161,285,286],{"class":170},"ts",[161,288,283],{"class":282},[161,290,291],{"class":267},">\n",[161,293,295,299,302,306,309,312,315,318],{"class":163,"line":294},2,[161,296,298],{"class":297},"sRxSC","import",[161,300,301],{"class":267}," {",[161,303,305],{"class":304},"ss--_"," defineFetcher",[161,307,308],{"class":267}," }",[161,310,311],{"class":297}," from",[161,313,314],{"class":282}," '",[161,316,317],{"class":170},"@ginjou\u002Fcore",[161,319,320],{"class":282},"'\n",[161,322,324,326,328,331,334,337,339,341,343,345],{"class":163,"line":323},3,[161,325,298],{"class":297},[161,327,301],{"class":267},[161,329,330],{"class":304}," defineFetchersContext",[161,332,333],{"class":267},",",[161,335,336],{"class":304}," defineQueryClientContext",[161,338,308],{"class":267},[161,340,311],{"class":297},[161,342,314],{"class":282},[161,344,112],{"class":170},[161,346,320],{"class":282},[161,348,350],{"class":163,"line":349},4,[161,351,353],{"emptyLinePlaceholder":352},true,"\n",[161,355,357,361,363,367,369,373,376,380],{"class":163,"line":356},5,[161,358,360],{"class":359},"srJo8","const",[161,362,301],{"class":267},[161,364,366],{"class":365},"s91G_"," children",[161,368,308],{"class":267},[161,370,372],{"class":371},"sGXK2"," =",[161,374,375],{"class":267}," $",[161,377,379],{"class":378},"sD0ED","props",[161,381,382],{"class":304},"()\n",[161,384,386],{"class":163,"line":385},6,[161,387,353],{"emptyLinePlaceholder":352},[161,389,391,394,397],{"class":163,"line":390},7,[161,392,393],{"class":378},"defineQueryClientContext",[161,395,396],{"class":304},"(",[161,398,399],{"class":267},"{\n",[161,401,403,407,410],{"class":163,"line":402},8,[161,404,406],{"class":405},"squCx","    defaultOptions",[161,408,409],{"class":267},":",[161,411,412],{"class":267}," {\n",[161,414,416,419,421],{"class":163,"line":415},9,[161,417,418],{"class":405},"        queries",[161,420,409],{"class":267},[161,422,412],{"class":267},[161,424,426,429,431,435,438,441,443,446],{"class":163,"line":425},10,[161,427,428],{"class":405},"            staleTime",[161,430,409],{"class":267},[161,432,434],{"class":433},"sYThS"," 5",[161,436,437],{"class":371}," *",[161,439,440],{"class":433}," 60",[161,442,437],{"class":371},[161,444,445],{"class":433}," 1000",[161,447,448],{"class":267},",\n",[161,450,452],{"class":163,"line":451},11,[161,453,454],{"class":267},"        },\n",[161,456,458],{"class":163,"line":457},12,[161,459,460],{"class":267},"    },\n",[161,462,464,467],{"class":163,"line":463},13,[161,465,466],{"class":267},"}",[161,468,469],{"class":304},")\n",[161,471,473],{"class":163,"line":472},14,[161,474,353],{"emptyLinePlaceholder":352},[161,476,478,481,483],{"class":163,"line":477},15,[161,479,480],{"class":378},"defineFetchersContext",[161,482,396],{"class":304},[161,484,399],{"class":267},[161,486,488,491,493,495,497],{"class":163,"line":487},16,[161,489,490],{"class":405},"    default",[161,492,409],{"class":267},[161,494,305],{"class":378},[161,496,396],{"class":304},[161,498,399],{"class":267},[161,500,502,506,510,513],{"class":163,"line":501},17,[161,503,505],{"class":504},"sTNss","        async",[161,507,509],{"class":508},"sY_X6"," getList",[161,511,512],{"class":267},"()",[161,514,412],{"class":267},[161,516,518,521],{"class":163,"line":517},18,[161,519,520],{"class":297},"            return",[161,522,412],{"class":267},[161,524,526,529,531,534],{"class":163,"line":525},19,[161,527,528],{"class":405},"                data",[161,530,409],{"class":267},[161,532,533],{"class":405}," []",[161,535,448],{"class":267},[161,537,539,542,544,547],{"class":163,"line":538},20,[161,540,541],{"class":405},"                total",[161,543,409],{"class":267},[161,545,546],{"class":433}," 0",[161,548,448],{"class":267},[161,550,552],{"class":163,"line":551},21,[161,553,554],{"class":267},"            }\n",[161,556,558],{"class":163,"line":557},22,[161,559,454],{"class":267},[161,561,563,565,568,571,575,578],{"class":163,"line":562},23,[161,564,505],{"class":504},[161,566,567],{"class":508}," getOne",[161,569,570],{"class":267},"({",[161,572,574],{"class":573},"sQgqH"," id",[161,576,577],{"class":267}," })",[161,579,412],{"class":267},[161,581,583,585],{"class":163,"line":582},24,[161,584,520],{"class":297},[161,586,412],{"class":267},[161,588,590,592,594,596,598],{"class":163,"line":589},25,[161,591,528],{"class":405},[161,593,409],{"class":267},[161,595,301],{"class":267},[161,597,574],{"class":304},[161,599,600],{"class":267}," },\n",[161,602,604],{"class":163,"line":603},26,[161,605,554],{"class":267},[161,607,609],{"class":163,"line":608},27,[161,610,454],{"class":267},[161,612,614,617,620],{"class":163,"line":613},28,[161,615,616],{"class":267},"    }",[161,618,619],{"class":304},")",[161,621,448],{"class":267},[161,623,625,627],{"class":163,"line":624},29,[161,626,466],{"class":267},[161,628,469],{"class":304},[161,630,632,635,637],{"class":163,"line":631},30,[161,633,634],{"class":267},"\u003C\u002F",[161,636,272],{"class":271},[161,638,291],{"class":267},[161,640,642],{"class":163,"line":641},31,[161,643,353],{"emptyLinePlaceholder":352},[161,645,647,650,654,656,658],{"class":163,"line":646},32,[161,648,649],{"class":267},"{@",[161,651,653],{"class":652},"shWJe","render",[161,655,366],{"class":378},[161,657,512],{"class":304},[161,659,660],{"class":267},"}\n",[107,662,663],{},"From there, add router, auth, authz, notifications, i18n, realtime, and resources only when the app needs them.",[129,665,667],{"id":666},"contexts","Contexts",[107,669,670,672,673,120,675,142],{},[110,671,112],{}," keeps all shared contexts explicit through Svelte's ",[110,674,119],{},[110,676,123],{},[107,678,679,680,683],{},"Each ",[110,681,682],{},"defineXContext()"," call registers one app-level implementation of a Ginjou contract. Composables, controllers, and lower-level helpers read from those contexts later.",[685,686,687,703],"table",{},[688,689,690],"thead",{},[691,692,693,697,700],"tr",{},[694,695,696],"th",{},"Provider",[694,698,699],{},"When to add it",[694,701,702],{},"Guide",[704,705,706,721,733,747,761,775,789,803,817],"tbody",{},[691,707,708,713,716],{},[709,710,711],"td",{},[110,712,393],{},[709,714,715],{},"Always for the data layer",[709,717,718],{},[719,720,15],"a",{"href":16},[691,722,723,727,729],{},[709,724,725],{},[110,726,480],{},[709,728,715],{},[709,730,731],{},[719,732,15],{"href":16},[691,734,735,740,743],{},[709,736,737],{},[110,738,739],{},"defineAuthContext",[709,741,742],{},"When the app supports login, logout, or identity",[709,744,745],{},[719,746,27],{"href":28},[691,748,749,754,757],{},[709,750,751],{},[110,752,753],{},"defineAuthzContext",[709,755,756],{},"When the app checks permissions or access rules",[709,758,759],{},[719,760,31],{"href":32},[691,762,763,768,771],{},[709,764,765],{},[110,766,767],{},"defineRouterContext",[709,769,770],{},"When navigation, current location, or controller route sync matter",[709,772,773],{},[719,774,43],{"href":44},[691,776,777,782,785],{},[709,778,779],{},[110,780,781],{},"defineI18nContext",[709,783,784],{},"When the app translates text or switches locale",[709,786,787],{},[719,788,47],{"href":48},[691,790,791,796,799],{},[709,792,793],{},[110,794,795],{},"defineNotificationContext",[709,797,798],{},"When the app shows toast-like feedback",[709,800,801],{},[719,802,35],{"href":36},[691,804,805,810,813],{},[709,806,807],{},[110,808,809],{},"defineRealtimeContext",[709,811,812],{},"When queries subscribe or mutations publish realtime events",[709,814,815],{},[719,816,39],{"href":40},[691,818,819,824,827],{},[709,820,821],{},[110,822,823],{},"defineResourceContext",[709,825,826],{},"When the app defines shared resource metadata",[709,828,829],{},[719,830,51],{"href":52},[107,832,833],{},"Most Svelte apps start with query client and fetchers, then add the other contexts only when they become necessary.",[107,835,836],{},"This page only covers the integration shape. Use the linked guides for the full contract and behavior of each context.",[129,838,840],{"id":839},"runes","Runes",[107,842,843,845],{},[110,844,112],{}," is built for Svelte 5 and uses runes throughout.",[107,847,848,849,851,852,855,856,855,859,862,863,866],{},"Query and mutation results from ",[110,850,141],{}," are reactive by default through Svelte 5 signals. Accessing ",[110,853,854],{},".data",", ",[110,857,858],{},".isLoading",[110,860,861],{},".isPending",", and other result fields in reactive contexts such as ",[110,864,865],{},"$derived"," or templates works without any extra wrapping.",[107,868,869,870,855,873,855,876,855,879,882,883,886],{},"Controller state fields like ",[110,871,872],{},"currentPage",[110,874,875],{},"perPage",[110,877,878],{},"filters",[110,880,881],{},"sorters",", and ",[110,884,885],{},"search"," are exposed as plain reactive properties that can be read and assigned directly.",[151,888,891],{"className":257,"code":889,"filename":890,"language":260,"meta":157,"style":157},"\u003Cscript lang=\"ts\">\nimport { useList } from '@ginjou\u002Fsvelte'\n\nconst listPage = useList({\n    resource: 'posts',\n})\n\nfunction nextPage() {\n    listPage.currentPage += 1\n}\n\u003C\u002Fscript>\n","posts.svelte",[110,892,893,911,930,934,949,966,972,976,988,1003,1007],{"__ignoreMap":157},[161,894,895,897,899,901,903,905,907,909],{"class":163,"line":164},[161,896,268],{"class":267},[161,898,272],{"class":271},[161,900,276],{"class":275},[161,902,279],{"class":267},[161,904,283],{"class":282},[161,906,286],{"class":170},[161,908,283],{"class":282},[161,910,291],{"class":267},[161,912,913,915,917,920,922,924,926,928],{"class":163,"line":294},[161,914,298],{"class":297},[161,916,301],{"class":267},[161,918,919],{"class":304}," useList",[161,921,308],{"class":267},[161,923,311],{"class":297},[161,925,314],{"class":282},[161,927,112],{"class":170},[161,929,320],{"class":282},[161,931,932],{"class":163,"line":323},[161,933,353],{"emptyLinePlaceholder":352},[161,935,936,938,941,943,945,947],{"class":163,"line":349},[161,937,360],{"class":359},[161,939,940],{"class":365}," listPage",[161,942,372],{"class":371},[161,944,919],{"class":378},[161,946,396],{"class":304},[161,948,399],{"class":267},[161,950,951,954,956,958,961,964],{"class":163,"line":356},[161,952,953],{"class":405},"    resource",[161,955,409],{"class":267},[161,957,314],{"class":282},[161,959,960],{"class":170},"posts",[161,962,963],{"class":282},"'",[161,965,448],{"class":267},[161,967,968,970],{"class":163,"line":385},[161,969,466],{"class":267},[161,971,469],{"class":304},[161,973,974],{"class":163,"line":390},[161,975,353],{"emptyLinePlaceholder":352},[161,977,978,981,984,986],{"class":163,"line":402},[161,979,980],{"class":359},"function",[161,982,983],{"class":378}," nextPage",[161,985,512],{"class":267},[161,987,412],{"class":267},[161,989,990,993,995,997,1000],{"class":163,"line":415},[161,991,992],{"class":304},"    listPage",[161,994,142],{"class":267},[161,996,872],{"class":304},[161,998,999],{"class":371}," +=",[161,1001,1002],{"class":433}," 1\n",[161,1004,1005],{"class":163,"line":425},[161,1006,660],{"class":267},[161,1008,1009,1011,1013],{"class":163,"line":451},[161,1010,634],{"class":267},[161,1012,272],{"class":271},[161,1014,291],{"class":267},[107,1016,1017,1020,1021,1024,1025,1028],{},[110,1018,1019],{},"MaybeAccessor\u003CT>"," means the prop accepts either a plain value (",[110,1022,1023],{},"T",") or an accessor function (",[110,1026,1027],{},"() => T","). Use the function form when the prop value depends on reactive state.",[151,1030,1033],{"className":257,"code":1031,"filename":1032,"language":260,"meta":157,"style":157},"\u003Cscript lang=\"ts\">\nimport { useGetOne } from '@ginjou\u002Fsvelte'\n\nconst { id } = $props()\n\nconst postQuery = useGetOne(() => ({\n    resource: 'posts',\n    id,\n}))\n\u003C\u002Fscript>\n","post.svelte",[110,1034,1035,1053,1072,1076,1094,1098,1121,1135,1142,1149],{"__ignoreMap":157},[161,1036,1037,1039,1041,1043,1045,1047,1049,1051],{"class":163,"line":164},[161,1038,268],{"class":267},[161,1040,272],{"class":271},[161,1042,276],{"class":275},[161,1044,279],{"class":267},[161,1046,283],{"class":282},[161,1048,286],{"class":170},[161,1050,283],{"class":282},[161,1052,291],{"class":267},[161,1054,1055,1057,1059,1062,1064,1066,1068,1070],{"class":163,"line":294},[161,1056,298],{"class":297},[161,1058,301],{"class":267},[161,1060,1061],{"class":304}," useGetOne",[161,1063,308],{"class":267},[161,1065,311],{"class":297},[161,1067,314],{"class":282},[161,1069,112],{"class":170},[161,1071,320],{"class":282},[161,1073,1074],{"class":163,"line":323},[161,1075,353],{"emptyLinePlaceholder":352},[161,1077,1078,1080,1082,1084,1086,1088,1090,1092],{"class":163,"line":349},[161,1079,360],{"class":359},[161,1081,301],{"class":267},[161,1083,574],{"class":365},[161,1085,308],{"class":267},[161,1087,372],{"class":371},[161,1089,375],{"class":267},[161,1091,379],{"class":378},[161,1093,382],{"class":304},[161,1095,1096],{"class":163,"line":356},[161,1097,353],{"emptyLinePlaceholder":352},[161,1099,1100,1102,1105,1107,1109,1111,1113,1116,1119],{"class":163,"line":385},[161,1101,360],{"class":359},[161,1103,1104],{"class":365}," postQuery",[161,1106,372],{"class":371},[161,1108,1061],{"class":378},[161,1110,396],{"class":304},[161,1112,512],{"class":267},[161,1114,1115],{"class":359}," =>",[161,1117,1118],{"class":304}," (",[161,1120,399],{"class":267},[161,1122,1123,1125,1127,1129,1131,1133],{"class":163,"line":390},[161,1124,953],{"class":405},[161,1126,409],{"class":267},[161,1128,314],{"class":282},[161,1130,960],{"class":170},[161,1132,963],{"class":282},[161,1134,448],{"class":267},[161,1136,1137,1140],{"class":163,"line":402},[161,1138,1139],{"class":304},"    id",[161,1141,448],{"class":267},[161,1143,1144,1146],{"class":163,"line":415},[161,1145,466],{"class":267},[161,1147,1148],{"class":304},"))\n",[161,1150,1151,1153,1155],{"class":163,"line":425},[161,1152,634],{"class":267},[161,1154,272],{"class":271},[161,1156,291],{"class":267},[129,1158,1160],{"id":1159},"ecosystem","Ecosystem",[107,1162,1163,1164,1166],{},"These packages extend ",[110,1165,112],{}," with third-party library integrations.",[1168,1169,1170],"card-group",{},[1171,1172,1177,1180,1181,1183],"card",{"icon":1173,"target":1174,"title":1175,"to":1176},"i-logos-svelte-icon","_blank","svelte-spa-router","https:\u002F\u002Fgithub.com\u002FItalyPaleAle\u002Fsvelte-spa-router",[110,1178,1179],{},"@ginjou\u002Fwith-svelte-spa-router"," connects ",[110,1182,1175],{}," to Ginjou's router contract.",[1185,1186,1187],"style",{},"html pre.shiki code .sR7ES, html code.shiki .sR7ES{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .sLACW, html code.shiki .sLACW{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html pre.shiki code .swvn1, html code.shiki .swvn1{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sHsBP, html code.shiki .sHsBP{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D;--shiki-sepia:#F92672}html pre.shiki code .s_lYk, html code.shiki .s_lYk{--shiki-light:#9C3EDA;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .siCPE, html code.shiki .siCPE{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .sRxSC, html code.shiki .sRxSC{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#F92672;--shiki-sepia-font-style:inherit}html pre.shiki code .ss--_, html code.shiki .ss--_{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .srJo8, html code.shiki .srJo8{--shiki-light:#9C3EDA;--shiki-light-font-style:inherit;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .s91G_, html code.shiki .s91G_{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#F8F8F2}html pre.shiki code .sGXK2, html code.shiki .sGXK2{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sD0ED, html code.shiki .sD0ED{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .squCx, html code.shiki .squCx{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sYThS, html code.shiki .sYThS{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .sTNss, html code.shiki .sTNss{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sY_X6, html code.shiki .sY_X6{--shiki-light:#E53935;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .sQgqH, html code.shiki .sQgqH{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit;--shiki-sepia:#FD971F;--shiki-sepia-font-style:italic}html pre.shiki code .shWJe, html code.shiki .shWJe{--shiki-light:#F76D47;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}",{"title":157,"searchDepth":294,"depth":294,"links":1189},[1190,1191,1192,1193,1194],{"id":131,"depth":294,"text":132},{"id":229,"depth":294,"text":230},{"id":666,"depth":294,"text":667},{"id":839,"depth":294,"text":840},{"id":1159,"depth":294,"text":1160},"Explain the minimal setup, provider registration, and Svelte-specific patterns in @ginjou\u002Fsvelte.","md",null,{},{"title":70,"description":1195},"-FsJkok319SA1GT6tz9umNnetr_0Y0qM43QE6sQ-Iwg",[1202,1204],{"title":66,"path":67,"stem":68,"description":1203,"children":-1},"Explain the installation, module setup, async composables, and auto imports in @ginjou\u002Fnuxt.",{"title":80,"path":81,"stem":82,"description":1205,"children":-1},"Explain the fetcher mapping and auth integration in @ginjou\u002Fwith-directus.",1778513968870]