[{"data":1,"prerenderedAt":439},["ShallowReactive",2],{"navigation_docs":3,"-themes-styling-and-tailwind":217,"-themes-styling-and-tailwind-surround":434},[4,25,41,84,126,165,201],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":24},"Overview","i-lucide-house","\u002Fgetting-started","1.getting-started",[10,14,19],{"title":11,"path":12,"stem":13,"icon":6},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F2.introduction",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F3.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Project structure","\u002Fgetting-started\u002Fproject-structure","1.getting-started\u002F4.project-structure","i-lucide-folder-tree",false,{"title":26,"icon":27,"path":28,"stem":29,"children":30,"page":24},"Architecture","i-lucide-cpu","\u002Farchitecture","3.architecture",[31,36],{"title":32,"path":33,"stem":34,"icon":35},"Core, themes, and apps","\u002Farchitecture\u002Foverview","3.architecture\u002F1.overview","i-lucide-layers",{"title":37,"path":38,"stem":39,"icon":40},"Kits and extension modules","\u002Farchitecture\u002Fkits","3.architecture\u002F3.kits","i-lucide-puzzle",{"title":42,"icon":43,"path":44,"stem":45,"children":46,"page":24},"Apps","i-lucide-app-window","\u002Fapps","4.apps",[47,51,55,60,64,69,74,79],{"title":5,"path":48,"stem":49,"icon":50},"\u002Fapps\u002Foverview","4.apps\u002F1.overview","i-lucide-info",{"title":52,"path":53,"stem":54,"icon":23},"Package layout","\u002Fapps\u002Fpackage-layout","4.apps\u002F2.package-layout",{"title":56,"path":57,"stem":58,"icon":59},"Create from scratch","\u002Fapps\u002Fcreate-from-scratch","4.apps\u002F3.create-from-scratch","i-lucide-list-checks",{"title":61,"path":62,"stem":63,"icon":40},"Module and runtime","\u002Fapps\u002Fmodule-and-runtime","4.apps\u002F4.module-and-runtime",{"title":65,"path":66,"stem":67,"icon":68},"Plugins","\u002Fapps\u002Fplugins","4.apps\u002F5.plugins","i-lucide-plug",{"title":70,"path":71,"stem":72,"icon":73},"Windows and commands","\u002Fapps\u002Fwindows-and-commands","4.apps\u002F6.windows-and-commands","i-lucide-layout-panel-top",{"title":75,"path":76,"stem":77,"icon":78},"Playground","\u002Fapps\u002Fplayground","4.apps\u002F7.playground","i-lucide-flask-conical",{"title":80,"path":81,"stem":82,"icon":83},"Build and publish","\u002Fapps\u002Fbuild-and-publish","4.apps\u002F8.build-and-publish","i-lucide-package",{"title":85,"icon":86,"path":87,"stem":88,"children":89,"page":24},"Themes","i-lucide-palette","\u002Fthemes","5.themes",[90,93,98,102,106,111,116,121],{"title":5,"path":91,"stem":92,"icon":50},"\u002Fthemes\u002Foverview","5.themes\u002F1.overview",{"title":94,"path":95,"stem":96,"icon":97},"Theme anatomy","\u002Fthemes\u002Ftheme-anatomy","5.themes\u002F2.theme-anatomy","i-lucide-component",{"title":99,"path":100,"stem":101},"Create From Scratch","\u002Fthemes\u002Fcreate-from-scratch","5.themes\u002F3.create-from-scratch",{"title":103,"path":104,"stem":105,"icon":68},"Theme plugins","\u002Fthemes\u002Fplugins","5.themes\u002F4.plugins",{"title":107,"path":108,"stem":109,"icon":110},"Styling and Tailwind","\u002Fthemes\u002Fstyling-and-tailwind","5.themes\u002F5.styling-and-tailwind","i-lucide-brush",{"title":112,"path":113,"stem":114,"icon":115},"Pages and boot flow","\u002Fthemes\u002Fpages-and-boot-flow","5.themes\u002F6.pages-and-boot-flow","i-lucide-power",{"title":117,"path":118,"stem":119,"icon":120},"Theme and optional modules","\u002Fthemes\u002Ftheme-and-optional-modules","5.themes\u002F7.theme-and-optional-modules","i-lucide-link",{"title":122,"path":123,"stem":124,"icon":125},"Window chrome and nav buttons","\u002Fthemes\u002Fwindow-chrome-and-nav-buttons","5.themes\u002F8.window-chrome-and-nav-buttons","i-lucide-square-mouse-pointer",{"title":127,"icon":128,"path":129,"stem":130,"children":131,"page":24},"Client & CLI","i-lucide-terminal","\u002Fsetup","6.setup",[132,136,141,146,151,156,161],{"title":133,"path":134,"stem":135,"icon":128},"desktop CLI","\u002Fsetup\u002Fdesktop-cli","6.setup\u002F1.desktop-cli",{"title":137,"path":138,"stem":139,"icon":140},"Package linking","\u002Fsetup\u002Fpackage-linking","6.setup\u002F2.package-linking","i-lucide-link-2",{"title":142,"path":143,"stem":144,"icon":145},"Monorepo and workspace","\u002Fsetup\u002Fmonorepo-workspace","6.setup\u002F3.monorepo-workspace","i-lucide-blocks",{"title":147,"path":148,"stem":149,"icon":150},"desktop.config.ts","\u002Fsetup\u002Fdesktop-config","6.setup\u002F4.desktop-config","i-lucide-file-code",{"title":152,"path":153,"stem":154,"icon":155},"Migrate themes, apps, and modules (3.3.2)","\u002Fsetup\u002Fmigrate-packages-3.3.2","6.setup\u002F5.migrate-packages-3.3.2","i-lucide-arrow-right-left",{"title":157,"path":158,"stem":159,"icon":160},"Migrate themes, apps, and modules (3.4)","\u002Fsetup\u002Fmigrate-packages-3.4","6.setup\u002F6.migrate-packages-3.4","i-lucide-arrow-up-right",{"title":162,"path":163,"stem":164},"Troubleshooting","\u002Fsetup\u002Ftroubleshooting","6.setup\u002F7.troubleshooting",{"title":166,"icon":167,"path":168,"stem":169,"children":170,"page":24},"Internals","i-lucide-book-open","\u002Finternals","7.internals",[171,176,181,186,191,196],{"title":172,"path":173,"stem":174,"icon":175},"Boot sequence","\u002Finternals\u002Fboot-sequence","7.internals\u002F1.boot-sequence","i-lucide-list-ordered",{"title":177,"path":178,"stem":179,"icon":180},"Stores and composables","\u002Finternals\u002Fstores-and-composables","7.internals\u002F2.stores-and-composables","i-lucide-database",{"title":182,"path":183,"stem":184,"icon":185},"Core components","\u002Finternals\u002Fcore-components","7.internals\u002F3.core-components","i-lucide-layout-grid",{"title":187,"path":188,"stem":189,"icon":190},"Dialog provider","\u002Finternals\u002Fdialog-provider","7.internals\u002F4.dialog-provider","i-lucide-message-square",{"title":192,"path":193,"stem":194,"icon":195},"Kernel contract","\u002Finternals\u002Fkernel-contract","7.internals\u002F5.kernel-contract","i-lucide-shield-check",{"title":197,"path":198,"stem":199,"icon":200},"Shell identity","\u002Finternals\u002Fshell-identity","7.internals\u002F6.shell-identity","i-lucide-user",{"title":202,"icon":203,"path":204,"stem":205,"children":206,"page":24},"Reference","i-lucide-book-marked","\u002Freference","8.reference",[207,212],{"title":208,"path":209,"stem":210,"icon":211},"Glossary","\u002Freference\u002Fglossary","8.reference\u002F1.glossary","i-lucide-book-a",{"title":213,"path":214,"stem":215,"icon":216},"Ecosystem","\u002Freference\u002Fuseful-links","8.reference\u002F2.useful-links","i-lucide-external-link",{"id":218,"title":107,"body":219,"description":427,"extension":428,"links":429,"meta":430,"navigation":431,"path":108,"seo":432,"stem":109,"__hash__":433},"docs\u002F5.themes\u002F5.styling-and-tailwind.md",{"type":220,"value":221,"toc":418},"minimark",[222,227,255,287,291,306,352,359,363,375,379,382,401,404,408],[223,224,226],"h2",{"id":225},"tailwind","Tailwind",[228,229,230,231,238,239,244,245,248,249,254],"p",{},"The presentation kit ",[232,233,234],"strong",{},[235,236,237],"code",{},"@owdproject\u002Fkit-tailwind"," enables ",[232,240,241],{},[235,242,243],{},"@nuxtjs\u002Ftailwindcss"," and aggregates ",[232,246,247],{},"content paths"," from modules that call ",[232,250,251],{},[235,252,253],{},"registerTailwindPath",". In your theme:",[256,257,258,280],"ul",{},[259,260,261,262,267,268,273,274,279],"li",{},"register ",[232,263,264],{},[235,265,266],{},"runtime\u002Fcomponents",", ",[232,269,270],{},[235,271,272],{},"runtime\u002Fpages",", and any ",[232,275,276],{},[235,277,278],{},"runtime\u002Fassets"," paths if classes appear there;",[259,281,282,283,286],{},"avoid dynamic class strings the purge step cannot see (use ",[235,284,285],{},"safelist"," when unavoidable).",[223,288,290],{"id":289},"primevue","PrimeVue",[228,292,293,294,299,300,305],{},"The ",[232,295,296],{},[235,297,298],{},"@owdproject\u002Fkit-primevue"," kit registers ",[232,301,302],{},[235,303,304],{},"@primevue\u002Fnuxt-module",". Your theme can:",[256,307,308,329,336],{},[259,309,310,311,314,315,320,321,324,325,328],{},"set ",[232,312,313],{},"presets"," \u002F PrimeVue themes via ",[232,316,317],{},[235,318,319],{},"nuxt.config"," or ",[235,322,323],{},"nuxt.options.primevue"," in ",[235,326,327],{},"module.ts",";",[259,330,331,332,335],{},"ship ",[232,333,334],{},"SCSS partials"," (Win95-style) to tune Prime components to the OS look;",[259,337,338,339,342,343,347,348,351],{},"import PrimeVue components directly in theme ",[235,340,341],{},".vue"," files — then declare ",[232,344,345],{},[235,346,289],{}," as a peer and add it to playground deps (see ",[349,350,56],"a",{"href":100},").",[228,353,354,355,358],{},"Apps should prefer ",[232,356,357],{},"neutral"," components where possible; the theme harmonizes spacing, borders, and colours.",[223,360,362],{"id":361},"fonts-and-assets","Fonts and assets",[228,364,365,366,267,371,374],{},"Self-hosted fonts under ",[232,367,368],{},[235,369,370],{},"runtime\u002Fassets\u002Ffonts",[235,372,373],{},"@font-face"," in SCSS — same pattern as reference themes.",[223,376,378],{"id":377},"variants","Variants",[228,380,381],{},"For multi-variant themes (light\u002Fdark), prefer:",[256,383,384,387],{},[259,385,386],{},"CSS or SCSS variables for tokens;",[259,388,389,394,395,400],{},[232,390,391],{},[235,392,393],{},"defaults"," on the theme module exposed via ",[232,396,397],{},[235,398,399],{},"runtimeConfig.public.desktop",".",[228,402,403],{},"There is no single mandatory contract yet: document supported keys in your theme README.",[223,405,407],{"id":406},"related","Related",[256,409,410,414],{},[259,411,412],{},[349,413,94],{"href":95},[259,415,416],{},[349,417,56],{"href":100},{"title":419,"searchDepth":420,"depth":420,"links":421},"",2,[422,423,424,425,426],{"id":225,"depth":420,"text":226},{"id":289,"depth":420,"text":290},{"id":361,"depth":420,"text":362},{"id":377,"depth":420,"text":378},{"id":406,"depth":420,"text":407},"SCSS, Tailwind, PrimeVue, and consistency across theme and apps.","md",null,{},{"icon":110},{"title":107,"description":427},"lfh53pHmgNPnefcmE4YEC6sk6giMFt_kz9G_meAa1OY",[435,437],{"title":103,"path":104,"stem":105,"description":436,"icon":68,"children":-1},"Client Nuxt plugins in themes — dialogs, addPlugin, ordering, and what not to put in plugins.",{"title":112,"path":113,"stem":114,"description":438,"icon":115,"children":-1},"start\u002Fboot routes, desktop lifecycle, and system composables.",1782171656784]