[{"data":1,"prerenderedAt":1028},["ShallowReactive",2],{"navigation":3,"\u002Fguides\u002Fviews-and-components":193,"\u002Fguides\u002Fviews-and-components-surround":1023},[4,27,49,99,149,169,183],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting Started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":23,"path":24,"stem":25},"Existing Application","\u002Fgetting-started\u002Fexisting-application","1.getting-started\u002F4.existing-application",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Concepts","i-lucide-layers","\u002Fconcepts","2.concepts",[33,37,41,45],{"title":34,"path":35,"stem":36},"Layers","\u002Fconcepts\u002Flayers","2.concepts\u002F1.layers",{"title":38,"path":39,"stem":40},"Buckets","\u002Fconcepts\u002Fbuckets","2.concepts\u002F2.buckets",{"title":42,"path":43,"stem":44},"Boundaries","\u002Fconcepts\u002Fboundaries","2.concepts\u002F3.boundaries",{"title":46,"path":47,"stem":48},"Service Providers","\u002Fconcepts\u002Fservice-providers","2.concepts\u002F4.service-providers",{"title":50,"icon":51,"path":52,"stem":53,"children":54,"page":26},"Guides","i-lucide-book-marked","\u002Fguides","3.guides",[55,59,63,67,71,75,79,83,87,91,95],{"title":56,"path":57,"stem":58},"Add a Domain","\u002Fguides\u002Fadd-a-domain","3.guides\u002F01.add-a-domain",{"title":60,"path":61,"stem":62},"Share Code Between Layers","\u002Fguides\u002Fshare-code-between-layers","3.guides\u002F02.share-code-between-layers",{"title":64,"path":65,"stem":66},"Routes","\u002Fguides\u002Froutes","3.guides\u002F03.routes",{"title":68,"path":69,"stem":70},"Views and Components","\u002Fguides\u002Fviews-and-components","3.guides\u002F04.views-and-components",{"title":72,"path":73,"stem":74},"Seeders","\u002Fguides\u002Fseeders","3.guides\u002F05.seeders",{"title":76,"path":77,"stem":78},"Configuration","\u002Fguides\u002Fconfiguration","3.guides\u002F06.configuration",{"title":80,"path":81,"stem":82},"Events","\u002Fguides\u002Fevents","3.guides\u002F07.events",{"title":84,"path":85,"stem":86},"Tests and CI","\u002Fguides\u002Ftesting-and-ci","3.guides\u002F08.testing-and-ci",{"title":88,"path":89,"stem":90},"Production","\u002Fguides\u002Fproduction","3.guides\u002F09.production",{"title":92,"path":93,"stem":94},"Remove a Layer","\u002Fguides\u002Fremoving-a-layer","3.guides\u002F10.removing-a-layer",{"title":96,"path":97,"stem":98},"Multi-tenancy","\u002Fguides\u002Fmulti-tenancy","3.guides\u002F11.multi-tenancy",{"title":100,"icon":101,"path":102,"stem":103,"children":104,"page":26},"Commands","i-lucide-terminal","\u002Fcommands","4.commands",[105,109,113,117,121,125,129,133,137,141,145],{"title":106,"path":107,"stem":108},"Overview","\u002Fcommands\u002Foverview","4.commands\u002F01.overview",{"title":110,"path":111,"stem":112},"osdd:start","\u002Fcommands\u002Fosdd-start","4.commands\u002F02.osdd-start",{"title":114,"path":115,"stem":116},"osdd:layer","\u002Fcommands\u002Fosdd-layer","4.commands\u002F03.osdd-layer",{"title":118,"path":119,"stem":120},"osdd:list","\u002Fcommands\u002Fosdd-list","4.commands\u002F04.osdd-list",{"title":122,"path":123,"stem":124},"osdd:check","\u002Fcommands\u002Fosdd-check","4.commands\u002F05.osdd-check",{"title":126,"path":127,"stem":128},"osdd:graph","\u002Fcommands\u002Fosdd-graph","4.commands\u002F06.osdd-graph",{"title":130,"path":131,"stem":132},"osdd:seed","\u002Fcommands\u002Fosdd-seed","4.commands\u002F07.osdd-seed",{"title":134,"path":135,"stem":136},"osdd:phpunit","\u002Fcommands\u002Fosdd-phpunit","4.commands\u002F08.osdd-phpunit",{"title":138,"path":139,"stem":140},"osdd:remove","\u002Fcommands\u002Fosdd-remove","4.commands\u002F09.osdd-remove",{"title":142,"path":143,"stem":144},"osdd:cache","\u002Fcommands\u002Fosdd-cache","4.commands\u002F10.osdd-cache",{"title":146,"path":147,"stem":148},"Generators","\u002Fcommands\u002Fmake-commands","4.commands\u002F11.make-commands",{"title":150,"icon":151,"path":152,"stem":153,"children":154,"page":26},"API Reference","i-lucide-book-open","\u002Fapi-reference","5.api-reference",[155,159,162,166],{"title":156,"path":157,"stem":158},"LayerServiceProvider","\u002Fapi-reference\u002Flayer-service-provider","5.api-reference\u002F1.layer-service-provider",{"title":34,"path":160,"stem":161},"\u002Fapi-reference\u002Flayers","5.api-reference\u002F2.layers",{"title":163,"path":164,"stem":165},"SeederRegistry","\u002Fapi-reference\u002Fseeder-registry","5.api-reference\u002F3.seeder-registry",{"title":76,"path":167,"stem":168},"\u002Fapi-reference\u002Fconfiguration","5.api-reference\u002F4.configuration",{"title":170,"icon":171,"path":172,"stem":173,"children":174,"page":26},"Integrations","i-lucide-puzzle","\u002Fintegrations","6.integrations",[175,179],{"title":176,"path":177,"stem":178},"Laravel Boost","\u002Fintegrations\u002Flaravel-boost","6.integrations\u002F1.laravel-boost",{"title":180,"path":181,"stem":182},"Tinker and IDE Helper","\u002Fintegrations\u002Ftinker-and-ide-helper","6.integrations\u002F2.tinker-and-ide-helper",{"title":184,"icon":185,"path":186,"stem":187,"children":188,"page":26},"Upgrade","i-lucide-arrow-up-circle","\u002Fupgrade","7.upgrade",[189],{"title":190,"path":191,"stem":192},"Upgrade from 2.x","\u002Fupgrade\u002Ffrom-2x","7.upgrade\u002F1.from-2x",{"id":194,"title":68,"body":195,"description":1015,"extension":1016,"links":1017,"meta":1018,"navigation":1019,"path":69,"seo":1020,"sitemap":1021,"stem":70,"__hash__":1022},"docs\u002F3.guides\u002F04.views-and-components.md",{"type":196,"value":197,"toc":1007},"minimark",[198,218,350,415,433,438,462,472,497,506,510,513,521,562,592,602,606,625,628,651,660,677,743,747,762,765,872,882,887,902,961,980,986,1003],[199,200,201,202,206,207,210,211,214,215,217],"p",{},"A layer keeps its Blade views in ",[203,204,205],"code",{},"resources\u002Fviews",", its translations in ",[203,208,209],{},"lang"," and its Blade components in ",[203,212,213],{},"src\u002FView\u002FComponents",". Three methods of ",[203,216,156],{}," register them under the layer's package name, so two layers never collide:",[219,220,226],"pre",{"className":221,"code":222,"filename":223,"language":224,"meta":225,"style":225},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","public function boot(): void\n{\n    $this->withViews(__DIR__ . '\u002F..\u002F..\u002Fresources\u002Fviews');\n    $this->withTranslations(__DIR__ . '\u002F..\u002F..\u002Flang');\n    $this->withComponents('Functional\\\\Orders\\\\View\\\\Components');\n}\n","functional\u002Forders\u002Fsrc\u002FProviders\u002FOrdersServiceProvider.php","php","",[203,227,228,252,258,286,307,344],{"__ignoreMap":225},[229,230,233,237,240,244,248],"span",{"class":231,"line":232},"line",1,[229,234,236],{"class":235},"spNyl","public",[229,238,239],{"class":235}," function",[229,241,243],{"class":242},"s2Zo4"," boot",[229,245,247],{"class":246},"sMK4o","():",[229,249,251],{"class":250},"sbssI"," void\n",[229,253,255],{"class":231,"line":254},2,[229,256,257],{"class":246},"{\n",[229,259,261,264,267,270,273,276,280,283],{"class":231,"line":260},3,[229,262,263],{"class":246},"    $this->",[229,265,266],{"class":242},"withViews",[229,268,269],{"class":246},"(__DIR__",[229,271,272],{"class":246}," .",[229,274,275],{"class":246}," '",[229,277,279],{"class":278},"sfazB","\u002F..\u002F..\u002Fresources\u002Fviews",[229,281,282],{"class":246},"'",[229,284,285],{"class":246},");\n",[229,287,289,291,294,296,298,300,303,305],{"class":231,"line":288},4,[229,290,263],{"class":246},[229,292,293],{"class":242},"withTranslations",[229,295,269],{"class":246},[229,297,272],{"class":246},[229,299,275],{"class":246},[229,301,302],{"class":278},"\u002F..\u002F..\u002Flang",[229,304,282],{"class":246},[229,306,285],{"class":246},[229,308,310,312,315,318,320,323,327,330,332,335,337,340,342],{"class":231,"line":309},5,[229,311,263],{"class":246},[229,313,314],{"class":242},"withComponents",[229,316,317],{"class":246},"(",[229,319,282],{"class":246},[229,321,322],{"class":278},"Functional",[229,324,326],{"class":325},"sTEyZ","\\\\",[229,328,329],{"class":278},"Orders",[229,331,326],{"class":325},[229,333,334],{"class":278},"View",[229,336,326],{"class":325},[229,338,339],{"class":278},"Components",[229,341,282],{"class":246},[229,343,285],{"class":246},[229,345,347],{"class":231,"line":346},6,[229,348,349],{"class":246},"}\n",[351,352,353,366],"table",{},[354,355,356],"thead",{},[357,358,359,363],"tr",{},[360,361,362],"th",{},"Call",[360,364,365],{},"Use it as",[367,368,369,386,403],"tbody",{},[357,370,371,377],{},[372,373,374],"td",{},[203,375,376],{},"withViews()",[372,378,379,382,383],{},[203,380,381],{},"view('orders::index')",", ",[203,384,385],{},"@include('orders::partials.total')",[357,387,388,393],{},[372,389,390],{},[203,391,392],{},"withTranslations()",[372,394,395,398,399,402],{},[203,396,397],{},"__('orders::messages.welcome')",", plus the ",[203,400,401],{},"lang\u002F*.json"," files",[357,404,405,410],{},[372,406,407],{},[203,408,409],{},"withComponents()",[372,411,412],{},[203,413,414],{},"\u003Cx-orders::alert \u002F>",[199,416,417,418,420,421,423,424,426,427,429,430,432],{},"The provider generated by ",[203,419,114],{}," already calls ",[203,422,376],{}," and ",[203,425,392],{},". A missing ",[203,428,205],{}," or ",[203,431,209],{}," folder is skipped, so both calls are safe before you add any view.",[434,435,437],"h2",{"id":436},"views","Views",[219,439,443],{"className":440,"code":441,"language":442,"meta":225,"style":225},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","php artisan osdd:view orders.index --layer=functional\u002Forders\n","bash",[203,444,445],{"__ignoreMap":225},[229,446,447,450,453,456,459],{"class":231,"line":232},[229,448,224],{"class":449},"sBMFI",[229,451,452],{"class":278}," artisan",[229,454,455],{"class":278}," osdd:view",[229,457,458],{"class":278}," orders.index",[229,460,461],{"class":278}," --layer=functional\u002Forders\n",[199,463,464,465,468,469,471],{},"The command creates ",[203,466,467],{},"functional\u002Forders\u002Fresources\u002Fviews\u002Forders\u002Findex.blade.php"," and adds ",[203,470,376],{}," to the layer provider when it does not call it yet. Render the view with the layer prefix:",[219,473,475],{"className":221,"code":474,"language":224,"meta":225,"style":225},"return view('orders::orders.index');\n",[203,476,477],{"__ignoreMap":225},[229,478,479,483,486,488,490,493,495],{"class":231,"line":232},[229,480,482],{"class":481},"s7zQu","return",[229,484,485],{"class":242}," view",[229,487,317],{"class":246},[229,489,282],{"class":246},[229,491,492],{"class":278},"orders::orders.index",[229,494,282],{"class":246},[229,496,285],{"class":246},[199,498,499,502,503,505],{},[203,500,501],{},"view('orders.index')",", without the prefix, looks in the root ",[203,504,205],{}," folder and does not find the layer's view.",[434,507,509],{"id":508},"translations","Translations",[199,511,512],{},"Create the files by hand:",[219,514,519],{"className":515,"code":517,"language":518},[516],"language-text","functional\u002Forders\u002Flang\u002F\n├── en\u002Fmessages.php\n└── fr.json\n","text",[203,520,517],{"__ignoreMap":225},[219,522,525],{"className":221,"code":523,"filename":524,"language":224,"meta":225,"style":225},"return [\n    'welcome' => 'Welcome to your orders.',\n];\n","functional\u002Forders\u002Flang\u002Fen\u002Fmessages.php",[203,526,527,534,557],{"__ignoreMap":225},[229,528,529,531],{"class":231,"line":232},[229,530,482],{"class":481},[229,532,533],{"class":246}," [\n",[229,535,536,539,542,544,547,549,552,554],{"class":231,"line":254},[229,537,538],{"class":246},"    '",[229,540,541],{"class":278},"welcome",[229,543,282],{"class":246},[229,545,546],{"class":246}," =>",[229,548,275],{"class":246},[229,550,551],{"class":278},"Welcome to your orders.",[229,553,282],{"class":246},[229,555,556],{"class":246},",\n",[229,558,559],{"class":231,"line":260},[229,560,561],{"class":246},"];\n",[219,563,567],{"className":564,"code":565,"language":566,"meta":225,"style":225},"language-blade shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{{ __('orders::messages.welcome') }}\n","blade",[203,568,569],{"__ignoreMap":225},[229,570,571,574,577,579,581,584,586,589],{"class":231,"line":232},[229,572,573],{"class":242},"{{",[229,575,576],{"class":242}," __",[229,578,317],{"class":246},[229,580,282],{"class":246},[229,582,583],{"class":278},"orders::messages.welcome",[229,585,282],{"class":246},[229,587,588],{"class":246},")",[229,590,591],{"class":242}," }}\n",[199,593,594,595,597,598,601],{},"The JSON files are loaded without a prefix, like the application's ",[203,596,401],{},": ",[203,599,600],{},"__('Place order')",".",[434,603,605],{"id":604},"blade-components","Blade components",[219,607,609],{"className":440,"code":608,"language":442,"meta":225,"style":225},"php artisan osdd:component Alert --layer=functional\u002Forders\n",[203,610,611],{"__ignoreMap":225},[229,612,613,615,617,620,623],{"class":231,"line":232},[229,614,224],{"class":449},[229,616,452],{"class":278},[229,618,619],{"class":278}," osdd:component",[229,621,622],{"class":278}," Alert",[229,624,461],{"class":278},[199,626,627],{},"The command creates:",[629,630,631,646],"ul",{},[632,633,634,637,638,641,642,645],"li",{},[203,635,636],{},"src\u002FView\u002FComponents\u002FAlert.php",", whose ",[203,639,640],{},"render()"," returns ",[203,643,644],{},"view('orders::components.alert')",";",[632,647,648,645],{},[203,649,650],{},"resources\u002Fviews\u002Fcomponents\u002Falert.blade.php",[199,652,653,654,423,656,659],{},"and adds ",[203,655,376],{},[203,657,658],{},"withComponents('Functional\\\\Orders\\\\View\\\\Components')"," to the layer provider when it does not call them yet. Use the component with the layer prefix:",[219,661,663],{"className":564,"code":662,"language":566,"meta":225,"style":225},"\u003Cx-orders::alert \u002F>\n",[203,664,665],{"__ignoreMap":225},[229,666,667,670,674],{"class":231,"line":232},[229,668,669],{"class":246},"\u003C",[229,671,673],{"class":672},"swJcz","x-orders::alert",[229,675,676],{"class":246}," \u002F>\n",[351,678,679,689],{},[354,680,681],{},[357,682,683,686],{},[360,684,685],{},"Option",[360,687,688],{},"Effect",[367,690,691,703,715,728],{},[357,692,693,698],{},[372,694,695],{},[203,696,697],{},"--inline",[372,699,700,701],{},"The class renders its view inline: no view file, and no ",[203,702,376],{},[357,704,705,710],{},[372,706,707],{},[203,708,709],{},"--view",[372,711,712,713],{},"An anonymous component: only the view, and no ",[203,714,409],{},[357,716,717,722],{},[372,718,719],{},[203,720,721],{},"--path",[372,723,724,725],{},"Another folder for the view, as with ",[203,726,727],{},"make:component",[357,729,730,738],{},[372,731,732,382,735],{},[203,733,734],{},"--force",[203,736,737],{},"--test",[372,739,740,741],{},"As with ",[203,742,727],{},[434,744,746],{"id":745},"the-namespace","The namespace",[199,748,749,750,753,754,757,758,761],{},"Without a second argument, the three methods use the package name of the layer that owns the provider: ",[203,751,752],{},"orders"," for ",[203,755,756],{},"functional\u002Forders",". OSDD finds that layer through the ",[203,759,760],{},"autoload.psr-4"," prefixes of the discovered layers: the layer whose prefix covers the provider class owns it.",[199,763,764],{},"Pass the second argument to pick another one:",[219,766,768],{"className":221,"code":767,"language":224,"meta":225,"style":225},"$this->withViews(__DIR__ . '\u002F..\u002F..\u002Fresources\u002Fviews', 'shop');          \u002F\u002F view('shop::index')\n$this->withTranslations(__DIR__ . '\u002F..\u002F..\u002Flang', 'shop');              \u002F\u002F __('shop::messages.welcome')\n$this->withComponents('Functional\\\\Orders\\\\View\\\\Components', 'shop'); \u002F\u002F \u003Cx-shop::alert \u002F>\n",[203,769,770,804,833],{"__ignoreMap":225},[229,771,772,775,777,779,781,783,785,787,790,792,795,797,800],{"class":231,"line":232},[229,773,774],{"class":246},"$this->",[229,776,266],{"class":242},[229,778,269],{"class":246},[229,780,272],{"class":246},[229,782,275],{"class":246},[229,784,279],{"class":278},[229,786,282],{"class":246},[229,788,789],{"class":246},",",[229,791,275],{"class":246},[229,793,794],{"class":278},"shop",[229,796,282],{"class":246},[229,798,799],{"class":246},");",[229,801,803],{"class":802},"sHwdD","          \u002F\u002F view('shop::index')\n",[229,805,806,808,810,812,814,816,818,820,822,824,826,828,830],{"class":231,"line":254},[229,807,774],{"class":246},[229,809,293],{"class":242},[229,811,269],{"class":246},[229,813,272],{"class":246},[229,815,275],{"class":246},[229,817,302],{"class":278},[229,819,282],{"class":246},[229,821,789],{"class":246},[229,823,275],{"class":246},[229,825,794],{"class":278},[229,827,282],{"class":246},[229,829,799],{"class":246},[229,831,832],{"class":802},"              \u002F\u002F __('shop::messages.welcome')\n",[229,834,835,837,839,841,843,845,847,849,851,853,855,857,859,861,863,865,867,869],{"class":231,"line":260},[229,836,774],{"class":246},[229,838,314],{"class":242},[229,840,317],{"class":246},[229,842,282],{"class":246},[229,844,322],{"class":278},[229,846,326],{"class":325},[229,848,329],{"class":278},[229,850,326],{"class":325},[229,852,334],{"class":278},[229,854,326],{"class":325},[229,856,339],{"class":278},[229,858,282],{"class":246},[229,860,789],{"class":246},[229,862,275],{"class":246},[229,864,794],{"class":278},[229,866,282],{"class":246},[229,868,799],{"class":246},[229,870,871],{"class":802}," \u002F\u002F \u003Cx-shop::alert \u002F>\n",[199,873,874,875,877,878,881],{},"A provider that belongs to no discovered layer, or whose layer has no ",[203,876,760],{}," entry for its namespace, has no default: the call throws ",[203,879,880],{},"Lomkit\\Osdd\\Layers\\ProviderLayerNotFoundException"," at boot. Pass the namespace explicitly.",[883,884,886],"h3",{"id":885},"two-layers-with-the-same-package-name","Two layers with the same package name",[199,888,889,423,891,894,895,897,898,901],{},[203,890,756],{},[203,892,893],{},"technical\u002Forders"," would both claim ",[203,896,752],{},". The second provider to claim it throws ",[203,899,900],{},"Lomkit\\Osdd\\Resources\\ResourceNamespaceCollisionException"," at boot, naming both providers. Give one of them another namespace:",[219,903,906],{"className":221,"code":904,"filename":905,"language":224,"meta":225,"style":225},"$this->withViews(__DIR__ . '\u002F..\u002F..\u002Fresources\u002Fviews', 'technical-orders');\n$this->withTranslations(__DIR__ . '\u002F..\u002F..\u002Flang', 'technical-orders');\n","technical\u002Forders\u002Fsrc\u002FProviders\u002FOrdersServiceProvider.php",[203,907,908,935],{"__ignoreMap":225},[229,909,910,912,914,916,918,920,922,924,926,928,931,933],{"class":231,"line":232},[229,911,774],{"class":246},[229,913,266],{"class":242},[229,915,269],{"class":246},[229,917,272],{"class":246},[229,919,275],{"class":246},[229,921,279],{"class":278},[229,923,282],{"class":246},[229,925,789],{"class":246},[229,927,275],{"class":246},[229,929,930],{"class":278},"technical-orders",[229,932,282],{"class":246},[229,934,285],{"class":246},[229,936,937,939,941,943,945,947,949,951,953,955,957,959],{"class":231,"line":254},[229,938,774],{"class":246},[229,940,293],{"class":242},[229,942,269],{"class":246},[229,944,272],{"class":246},[229,946,275],{"class":246},[229,948,302],{"class":278},[229,950,282],{"class":246},[229,952,789],{"class":246},[229,954,275],{"class":246},[229,956,930],{"class":278},[229,958,282],{"class":246},[229,960,285],{"class":246},[199,962,963,964,382,966,423,969,972,973,975,976,979],{},"The generators do it for you: when another layer has the same package name, ",[203,965,114],{},[203,967,968],{},"osdd:view",[203,970,971],{},"osdd:component"," write ",[203,974,930],{}," (the full name with ",[203,977,978],{},"-",") and warn.",[199,981,982,983,985],{},"The prefix written in a generated ",[203,984,640],{}," follows this order:",[987,988,989,994,1000],"ol",{},[632,990,991,992,645],{},"the namespace the application already uses for the layer's ",[203,993,205],{},[632,995,996,999],{},[203,997,998],{},"vendor-package"," when another layer shares the package name;",[632,1001,1002],{},"the package name.",[1004,1005,1006],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":225,"searchDepth":232,"depth":254,"links":1008},[1009,1010,1011,1012],{"id":436,"depth":254,"text":437},{"id":508,"depth":254,"text":509},{"id":604,"depth":254,"text":605},{"id":745,"depth":254,"text":746,"children":1013},[1014],{"id":885,"depth":260,"text":886},"Render Blade views, translations and components from a layer, under the layer name.","md",null,{},true,{"title":68,"description":1015},{"loc":69},"-6o3FSzq83iecwLeoDU4QxX0n_qeGpVfzSh5QILCnAE",[1024,1026],{"title":64,"path":65,"stem":66,"description":1025,"children":-1},"Give a layer its own web, API, console and broadcast routes.",{"title":72,"path":73,"stem":74,"description":1027,"children":-1},"Give each layer its own seeders, order them across layers, and run them from osdd:seed, db:seed or your tests.",1794437209293]