[{"data":1,"prerenderedAt":1378},["ShallowReactive",2],{"navigation":3,"\u002Feditors\u002Fcalendar":629,"\u002Feditors\u002Fcalendar-surround":1374},[4,27,60,265,595,625],{"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},"Editors","\u002Fgetting-started\u002Feditors","1.getting-started\u002F2.editors",{"title":19,"path":20,"stem":21},"Editor API","\u002Fgetting-started\u002Feditor-api","1.getting-started\u002F3.editor-api",{"title":23,"path":24,"stem":25},"Migration v1 → v2","\u002Fgetting-started\u002Fmigration-v1-to-v2","1.getting-started\u002F4.migration-v1-to-v2",false,{"title":15,"icon":28,"path":29,"stem":30,"children":31,"page":26},"i-lucide-layout-panel-left","\u002Feditors","2.editors",[32,36,40,44,48,52,56],{"title":33,"path":34,"stem":35},"JSON Editor","\u002Feditors\u002Fjson","2.editors\u002F1.json",{"title":37,"path":38,"stem":39},"Markdown Editor","\u002Feditors\u002Fmarkdown","2.editors\u002F2.markdown",{"title":41,"path":42,"stem":43},"Code Editor","\u002Feditors\u002Fcode","2.editors\u002F3.code",{"title":45,"path":46,"stem":47},"Forms Editor","\u002Feditors\u002Fforms","2.editors\u002F4.forms",{"title":49,"path":50,"stem":51},"Charts Editor","\u002Feditors\u002Fcharts","2.editors\u002F5.charts",{"title":53,"path":54,"stem":55},"Calendar Editor","\u002Feditors\u002Fcalendar","2.editors\u002F6.calendar",{"title":57,"path":58,"stem":59},"Tables Editor","\u002Feditors\u002Ftables","2.editors\u002F7.tables",{"title":61,"icon":62,"path":63,"stem":64,"children":65,"page":26},"Plugins","i-lucide-puzzle","\u002Fplugins","3.plugins",[66,70,108,154,180,210,235],{"title":67,"path":68,"stem":69},"Plugins overview","\u002Fplugins\u002Foverview","3.plugins\u002F1.overview",{"title":71,"icon":72,"path":73,"stem":74,"children":75,"page":26},"Formatting","i-lucide-type","\u002Fplugins\u002Fformatting","3.plugins\u002F2.formatting",[76,80,84,88,92,96,100,104],{"title":77,"path":78,"stem":79},"Default marks","\u002Fplugins\u002Fformatting\u002Ftoolbar","3.plugins\u002F2.formatting\u002F1.toolbar",{"title":81,"path":82,"stem":83},"Font","\u002Fplugins\u002Fformatting\u002Ffont","3.plugins\u002F2.formatting\u002F2.font",{"title":85,"path":86,"stem":87},"Typography","\u002Fplugins\u002Fformatting\u002Ftypography","3.plugins\u002F2.formatting\u002F3.typography",{"title":89,"path":90,"stem":91},"Color","\u002Fplugins\u002Fformatting\u002Fcolor","3.plugins\u002F2.formatting\u002F4.color",{"title":93,"path":94,"stem":95},"Clear Styles","\u002Fplugins\u002Fformatting\u002Fclear-styles","3.plugins\u002F2.formatting\u002F5.clear-styles",{"title":97,"path":98,"stem":99},"Alignment","\u002Fplugins\u002Fformatting\u002Falignment","3.plugins\u002F2.formatting\u002F6.alignment",{"title":101,"path":102,"stem":103},"Block Style","\u002Fplugins\u002Fformatting\u002Fblock-style","3.plugins\u002F2.formatting\u002F7.block-style",{"title":105,"path":106,"stem":107},"Link","\u002Fplugins\u002Fformatting\u002Flink","3.plugins\u002F2.formatting\u002F8.link",{"title":109,"icon":110,"path":111,"stem":112,"children":113,"page":26},"Blocks","i-lucide-blocks","\u002Fplugins\u002Fblocks","3.plugins\u002F3.blocks",[114,118,122,126,130,134,138,142,146,150],{"title":115,"path":116,"stem":117},"Block","\u002Fplugins\u002Fblocks\u002Fblock","3.plugins\u002F3.blocks\u002F01.block",{"title":119,"path":120,"stem":121},"Lists","\u002Fplugins\u002Fblocks\u002Flists","3.plugins\u002F3.blocks\u002F02.lists",{"title":123,"path":124,"stem":125},"Table","\u002Fplugins\u002Fblocks\u002Ftable","3.plugins\u002F3.blocks\u002F03.table",{"title":127,"path":128,"stem":129},"Templates","\u002Fplugins\u002Fblocks\u002Ftemplates","3.plugins\u002F3.blocks\u002F04.templates",{"title":131,"path":132,"stem":133},"Code Block","\u002Fplugins\u002Fblocks\u002Fcode-block","3.plugins\u002F3.blocks\u002F05.code-block",{"title":135,"path":136,"stem":137},"Math","\u002Fplugins\u002Fblocks\u002Fmath","3.plugins\u002F3.blocks\u002F06.math",{"title":139,"path":140,"stem":141},"HTML Viewer","\u002Fplugins\u002Fblocks\u002Fhtml-viewer","3.plugins\u002F3.blocks\u002F07.html-viewer",{"title":143,"path":144,"stem":145},"Footnotes","\u002Fplugins\u002Fblocks\u002Ffootnotes","3.plugins\u002F3.blocks\u002F08.footnotes",{"title":147,"path":148,"stem":149},"Anchor Link","\u002Fplugins\u002Fblocks\u002Fanchor-link","3.plugins\u002F3.blocks\u002F09.anchor-link",{"title":151,"path":152,"stem":153},"Footer","\u002Fplugins\u002Fblocks\u002Ffooter","3.plugins\u002F3.blocks\u002F10.footer",{"title":155,"icon":156,"path":157,"stem":158,"children":159,"page":26},"Media","i-lucide-image","\u002Fplugins\u002Fmedia","3.plugins\u002F4.media",[160,164,168,172,176],{"title":161,"path":162,"stem":163},"Image","\u002Fplugins\u002Fmedia\u002Fimage","3.plugins\u002F4.media\u002F1.image",{"title":165,"path":166,"stem":167},"Video","\u002Fplugins\u002Fmedia\u002Fvideo","3.plugins\u002F4.media\u002F2.video",{"title":169,"path":170,"stem":171},"YouTube Video","\u002Fplugins\u002Fmedia\u002Fyoutube-video","3.plugins\u002F4.media\u002F3.youtube-video",{"title":173,"path":174,"stem":175},"File Upload","\u002Fplugins\u002Fmedia\u002Ffile-upload","3.plugins\u002F4.media\u002F4.file-upload",{"title":177,"path":178,"stem":179},"PDF Embed","\u002Fplugins\u002Fmedia\u002Fpdf-embed","3.plugins\u002F4.media\u002F5.pdf-embed",{"title":181,"icon":182,"path":183,"stem":184,"children":185,"page":26},"Data & embeds","i-lucide-database","\u002Fplugins\u002Fdata","3.plugins\u002F5.data",[186,190,194,198,202,206],{"title":187,"path":188,"stem":189},"JSON","\u002Fplugins\u002Fdata\u002Fjson","3.plugins\u002F5.data\u002F1.json",{"title":191,"path":192,"stem":193},"Markdown","\u002Fplugins\u002Fdata\u002Fmarkdown","3.plugins\u002F5.data\u002F2.markdown",{"title":195,"path":196,"stem":197},"Charts","\u002Fplugins\u002Fdata\u002Fcharts","3.plugins\u002F5.data\u002F3.charts",{"title":199,"path":200,"stem":201},"Form Builder","\u002Fplugins\u002Fdata\u002Fform-builder","3.plugins\u002F5.data\u002F4.form-builder",{"title":203,"path":204,"stem":205},"Calendar","\u002Fplugins\u002Fdata\u002Fcalendar","3.plugins\u002F5.data\u002F5.calendar",{"title":207,"path":208,"stem":209},"Timer","\u002Fplugins\u002Fdata\u002Ftimer","3.plugins\u002F5.data\u002F6.timer",{"title":211,"icon":212,"path":213,"stem":214,"children":215,"page":26},"Collaboration","i-lucide-users","\u002Fplugins\u002Fcollaboration","3.plugins\u002F6.collaboration",[216,219,223,227,231],{"title":211,"path":217,"stem":218},"\u002Fplugins\u002Fcollaboration\u002Fcollaboration","3.plugins\u002F6.collaboration\u002F1.collaboration",{"title":220,"path":221,"stem":222},"Comments","\u002Fplugins\u002Fcollaboration\u002Fcomments","3.plugins\u002F6.collaboration\u002F2.comments",{"title":224,"path":225,"stem":226},"Mentions","\u002Fplugins\u002Fcollaboration\u002Fmentions","3.plugins\u002F6.collaboration\u002F3.mentions",{"title":228,"path":229,"stem":230},"Track Changes","\u002Fplugins\u002Fcollaboration\u002Ftrack-changes","3.plugins\u002F6.collaboration\u002F4.track-changes",{"title":232,"path":233,"stem":234},"History","\u002Fplugins\u002Fcollaboration\u002Fhistory","3.plugins\u002F6.collaboration\u002F5.history",{"title":236,"icon":237,"path":238,"stem":239,"children":240,"page":26},"Tools","i-lucide-wrench","\u002Fplugins\u002Ftools","3.plugins\u002F7.tools",[241,245,249,253,257,261],{"title":242,"path":243,"stem":244},"Export","\u002Fplugins\u002Ftools\u002Fexport","3.plugins\u002F7.tools\u002F1.export",{"title":246,"path":247,"stem":248},"Shortcuts","\u002Fplugins\u002Ftools\u002Fshortcuts","3.plugins\u002F7.tools\u002F2.shortcuts",{"title":250,"path":251,"stem":252},"Responsive","\u002Fplugins\u002Ftools\u002Fresponsive","3.plugins\u002F7.tools\u002F3.responsive",{"title":254,"path":255,"stem":256},"Language","\u002Fplugins\u002Ftools\u002Flanguage","3.plugins\u002F7.tools\u002F4.language",{"title":258,"path":259,"stem":260},"Spell Checker","\u002Fplugins\u002Ftools\u002Fspell-checker","3.plugins\u002F7.tools\u002F5.spell-checker",{"title":262,"path":263,"stem":264},"AI Assistant","\u002Fplugins\u002Ftools\u002Fai-assistant","3.plugins\u002F7.tools\u002F6.ai-assistant",{"title":266,"icon":267,"path":268,"stem":269,"children":270,"page":26},"Integrate","i-lucide-plug","\u002Fintegrate","4.integrate",[271,275,305,359,385,423,445,471,493,523,569],{"title":272,"path":273,"stem":274},"Integrate overview","\u002Fintegrate\u002Foverview","4.integrate\u002F01.overview",{"title":276,"icon":277,"path":278,"stem":279,"children":280,"page":26},"Basics","i-lucide-book-open","\u002Fintegrate\u002Fbasics","4.integrate\u002F02.basics",[281,285,289,293,297,301],{"title":282,"path":283,"stem":284},"Persistence","\u002Fintegrate\u002Fbasics\u002Fpersistence","4.integrate\u002F02.basics\u002F1.persistence",{"title":286,"path":287,"stem":288},"Host config","\u002Fintegrate\u002Fbasics\u002Fhost-config","4.integrate\u002F02.basics\u002F2.host-config",{"title":290,"path":291,"stem":292},"Server + Vite","\u002Fintegrate\u002Fbasics\u002Fserver-vite","4.integrate\u002F02.basics\u002F3.server-vite",{"title":294,"path":295,"stem":296},"Meta-frameworks (SSR \u002F CSR)","\u002Fintegrate\u002Fbasics\u002Fmeta-ssr","4.integrate\u002F02.basics\u002F4.meta-ssr",{"title":298,"path":299,"stem":300},"Native \u002F iframe bridge","\u002Fintegrate\u002Fbasics\u002Fnative-bridge","4.integrate\u002F02.basics\u002F5.native-bridge",{"title":302,"path":303,"stem":304},"Chrome & host","\u002Fintegrate\u002Fbasics\u002Fchrome-and-host","4.integrate\u002F02.basics\u002F6.chrome-and-host",{"title":306,"icon":307,"path":308,"stem":309,"children":310,"page":26},"Frontend","i-lucide-monitor","\u002Fintegrate\u002Ffrontend","4.integrate\u002F03.frontend",[311,315,319,323,327,331,335,339,343,347,351,355],{"title":312,"path":313,"stem":314},"React","\u002Fintegrate\u002Ffrontend\u002Freact","4.integrate\u002F03.frontend\u002F01.react",{"title":316,"path":317,"stem":318},"Vue 2","\u002Fintegrate\u002Ffrontend\u002Fvue2","4.integrate\u002F03.frontend\u002F02.vue2",{"title":320,"path":321,"stem":322},"Vue 3","\u002Fintegrate\u002Ffrontend\u002Fvue3","4.integrate\u002F03.frontend\u002F03.vue3",{"title":324,"path":325,"stem":326},"Angular","\u002Fintegrate\u002Ffrontend\u002Fangular","4.integrate\u002F03.frontend\u002F04.angular",{"title":328,"path":329,"stem":330},"Svelte","\u002Fintegrate\u002Ffrontend\u002Fsvelte","4.integrate\u002F03.frontend\u002F05.svelte",{"title":332,"path":333,"stem":334},"Solid.js","\u002Fintegrate\u002Ffrontend\u002Fsolid","4.integrate\u002F03.frontend\u002F06.solid",{"title":336,"path":337,"stem":338},"Preact","\u002Fintegrate\u002Ffrontend\u002Fpreact","4.integrate\u002F03.frontend\u002F07.preact",{"title":340,"path":341,"stem":342},"Lit","\u002Fintegrate\u002Ffrontend\u002Flit","4.integrate\u002F03.frontend\u002F08.lit",{"title":344,"path":345,"stem":346},"Qwik","\u002Fintegrate\u002Ffrontend\u002Fqwik","4.integrate\u002F03.frontend\u002F09.qwik",{"title":348,"path":349,"stem":350},"jQuery","\u002Fintegrate\u002Ffrontend\u002Fjquery","4.integrate\u002F03.frontend\u002F10.jquery",{"title":352,"path":353,"stem":354},"Alpine.js","\u002Fintegrate\u002Ffrontend\u002Falpine","4.integrate\u002F03.frontend\u002F11.alpine",{"title":356,"path":357,"stem":358},"Backbone.js","\u002Fintegrate\u002Ffrontend\u002Fbackbone","4.integrate\u002F03.frontend\u002F12.backbone",{"title":360,"icon":361,"path":362,"stem":363,"children":364,"page":26},"Meta-frameworks","i-lucide-layers","\u002Fintegrate\u002Fmeta-frameworks","4.integrate\u002F04.meta-frameworks",[365,369,373,377,381],{"title":366,"path":367,"stem":368},"Next.js","\u002Fintegrate\u002Fmeta-frameworks\u002Fnext","4.integrate\u002F04.meta-frameworks\u002F1.next",{"title":370,"path":371,"stem":372},"Nuxt 3 \u002F 4","\u002Fintegrate\u002Fmeta-frameworks\u002Fnuxt","4.integrate\u002F04.meta-frameworks\u002F2.nuxt",{"title":374,"path":375,"stem":376},"SvelteKit","\u002Fintegrate\u002Fmeta-frameworks\u002Fsveltekit","4.integrate\u002F04.meta-frameworks\u002F3.sveltekit",{"title":378,"path":379,"stem":380},"Remix","\u002Fintegrate\u002Fmeta-frameworks\u002Fremix","4.integrate\u002F04.meta-frameworks\u002F4.remix",{"title":382,"path":383,"stem":384},"Astro","\u002Fintegrate\u002Fmeta-frameworks\u002Fastro","4.integrate\u002F04.meta-frameworks\u002F5.astro",{"title":386,"icon":387,"path":388,"stem":389,"children":390,"page":26},"Node \u002F edge","i-simple-icons-nodedotjs","\u002Fintegrate\u002Fnode","4.integrate\u002F05.node",[391,395,399,403,407,411,415,419],{"title":392,"path":393,"stem":394},"Express.js","\u002Fintegrate\u002Fnode\u002Fexpress","4.integrate\u002F05.node\u002F1.express",{"title":396,"path":397,"stem":398},"NestJS","\u002Fintegrate\u002Fnode\u002Fnestjs","4.integrate\u002F05.node\u002F2.nestjs",{"title":400,"path":401,"stem":402},"Fastify","\u002Fintegrate\u002Fnode\u002Ffastify","4.integrate\u002F05.node\u002F3.fastify",{"title":404,"path":405,"stem":406},"Hono","\u002Fintegrate\u002Fnode\u002Fhono","4.integrate\u002F05.node\u002F4.hono",{"title":408,"path":409,"stem":410},"Koa","\u002Fintegrate\u002Fnode\u002Fkoa","4.integrate\u002F05.node\u002F5.koa",{"title":412,"path":413,"stem":414},"Bun","\u002Fintegrate\u002Fnode\u002Fbun","4.integrate\u002F05.node\u002F6.bun",{"title":416,"path":417,"stem":418},"Deno","\u002Fintegrate\u002Fnode\u002Fdeno","4.integrate\u002F05.node\u002F7.deno",{"title":420,"path":421,"stem":422},"AdonisJS","\u002Fintegrate\u002Fnode\u002Fadonis","4.integrate\u002F05.node\u002F8.adonis",{"title":424,"icon":425,"path":426,"stem":427,"children":428,"page":26},"Python","i-simple-icons-python","\u002Fintegrate\u002Fpython","4.integrate\u002F06.python",[429,433,437,441],{"title":430,"path":431,"stem":432},"FastAPI","\u002Fintegrate\u002Fpython\u002Ffastapi","4.integrate\u002F06.python\u002F1.fastapi",{"title":434,"path":435,"stem":436},"Django","\u002Fintegrate\u002Fpython\u002Fdjango","4.integrate\u002F06.python\u002F2.django",{"title":438,"path":439,"stem":440},"Python Flask","\u002Fintegrate\u002Fpython\u002Fpython-flask","4.integrate\u002F06.python\u002F3.python-flask",{"title":442,"path":443,"stem":444},"Litestar","\u002Fintegrate\u002Fpython\u002Flitestar","4.integrate\u002F06.python\u002F4.litestar",{"title":446,"icon":447,"path":448,"stem":449,"children":450,"page":26},"PHP","i-simple-icons-php","\u002Fintegrate\u002Fphp","4.integrate\u002F07.php",[451,455,459,463,467],{"title":452,"path":453,"stem":454},"Laravel","\u002Fintegrate\u002Fphp\u002Flaravel","4.integrate\u002F07.php\u002F1.laravel",{"title":456,"path":457,"stem":458},"Symfony","\u002Fintegrate\u002Fphp\u002Fsymfony","4.integrate\u002F07.php\u002F2.symfony",{"title":460,"path":461,"stem":462},"Slim","\u002Fintegrate\u002Fphp\u002Fslim","4.integrate\u002F07.php\u002F3.slim",{"title":464,"path":465,"stem":466},"CakePHP","\u002Fintegrate\u002Fphp\u002Fcakephp","4.integrate\u002F07.php\u002F4.cakephp",{"title":468,"path":469,"stem":470},"CodeIgniter","\u002Fintegrate\u002Fphp\u002Fcodeigniter","4.integrate\u002F07.php\u002F5.codeigniter",{"title":472,"icon":473,"path":474,"stem":475,"children":476,"page":26},"Go","i-simple-icons-go","\u002Fintegrate\u002Fgo","4.integrate\u002F08.go",[477,481,485,489],{"title":478,"path":479,"stem":480},"Go Gin","\u002Fintegrate\u002Fgo\u002Fgo-gin","4.integrate\u002F08.go\u002F1.go-gin",{"title":482,"path":483,"stem":484},"Go Echo","\u002Fintegrate\u002Fgo\u002Fgo-echo","4.integrate\u002F08.go\u002F2.go-echo",{"title":486,"path":487,"stem":488},"Go Fiber","\u002Fintegrate\u002Fgo\u002Fgo-fiber","4.integrate\u002F08.go\u002F3.go-fiber",{"title":490,"path":491,"stem":492},"Go Chi","\u002Fintegrate\u002Fgo\u002Fgo-chi","4.integrate\u002F08.go\u002F4.go-chi",{"title":494,"icon":495,"path":496,"stem":497,"children":498,"page":26},"Rust","i-simple-icons-rust","\u002Fintegrate\u002Frust","4.integrate\u002F09.rust",[499,503,507,511,515,519],{"title":500,"path":501,"stem":502},"Rust Axum","\u002Fintegrate\u002Frust\u002Frust-axum","4.integrate\u002F09.rust\u002F1.rust-axum",{"title":504,"path":505,"stem":506},"Rust Actix-web","\u002Fintegrate\u002Frust\u002Frust-actix","4.integrate\u002F09.rust\u002F2.rust-actix",{"title":508,"path":509,"stem":510},"Rust Rocket","\u002Fintegrate\u002Frust\u002Frust-rocket","4.integrate\u002F09.rust\u002F3.rust-rocket",{"title":512,"path":513,"stem":514},"Rust Warp","\u002Fintegrate\u002Frust\u002Frust-warp","4.integrate\u002F09.rust\u002F4.rust-warp",{"title":516,"path":517,"stem":518},"Rust Poem","\u002Fintegrate\u002Frust\u002Frust-poem","4.integrate\u002F09.rust\u002F5.rust-poem",{"title":520,"path":521,"stem":522},"Rust Loco","\u002Fintegrate\u002Frust\u002Frust-loco","4.integrate\u002F09.rust\u002F6.rust-loco",{"title":524,"icon":525,"path":526,"stem":527,"children":528,"page":26},"JVM \u002F .NET \u002F other","i-lucide-coffee","\u002Fintegrate\u002Fjvm-dotnet","4.integrate\u002F10.jvm-dotnet",[529,533,537,541,545,549,553,557,561,565],{"title":530,"path":531,"stem":532},"Spring Boot","\u002Fintegrate\u002Fjvm-dotnet\u002Fspring","4.integrate\u002F10.jvm-dotnet\u002F01.spring",{"title":534,"path":535,"stem":536},"Quarkus","\u002Fintegrate\u002Fjvm-dotnet\u002Fquarkus","4.integrate\u002F10.jvm-dotnet\u002F02.quarkus",{"title":538,"path":539,"stem":540},"Micronaut","\u002Fintegrate\u002Fjvm-dotnet\u002Fmicronaut","4.integrate\u002F10.jvm-dotnet\u002F03.micronaut",{"title":542,"path":543,"stem":544},"Kotlin Spring Boot","\u002Fintegrate\u002Fjvm-dotnet\u002Fkotlin-spring","4.integrate\u002F10.jvm-dotnet\u002F04.kotlin-spring",{"title":546,"path":547,"stem":548},"Ktor","\u002Fintegrate\u002Fjvm-dotnet\u002Fktor","4.integrate\u002F10.jvm-dotnet\u002F05.ktor",{"title":550,"path":551,"stem":552},"ASP.NET Core","\u002Fintegrate\u002Fjvm-dotnet\u002Faspnet-core","4.integrate\u002F10.jvm-dotnet\u002F06.aspnet-core",{"title":554,"path":555,"stem":556},"Blazor","\u002Fintegrate\u002Fjvm-dotnet\u002Fblazor","4.integrate\u002F10.jvm-dotnet\u002F07.blazor",{"title":558,"path":559,"stem":560},"Phoenix","\u002Fintegrate\u002Fjvm-dotnet\u002Fphoenix","4.integrate\u002F10.jvm-dotnet\u002F08.phoenix",{"title":562,"path":563,"stem":564},"Ruby on Rails","\u002Fintegrate\u002Fjvm-dotnet\u002Frails","4.integrate\u002F10.jvm-dotnet\u002F09.rails",{"title":566,"path":567,"stem":568},"HTMX host","\u002Fintegrate\u002Fjvm-dotnet\u002Fhtmx","4.integrate\u002F10.jvm-dotnet\u002F10.htmx",{"title":570,"icon":571,"path":572,"stem":573,"children":574,"page":26},"Desktop & mobile hosts","i-lucide-smartphone","\u002Fintegrate\u002Fhosts","4.integrate\u002F11.hosts",[575,579,583,587,591],{"title":576,"path":577,"stem":578},"Flutter","\u002Fintegrate\u002Fhosts\u002Fflutter","4.integrate\u002F11.hosts\u002F1.flutter",{"title":580,"path":581,"stem":582},"Electron","\u002Fintegrate\u002Fhosts\u002Felectron","4.integrate\u002F11.hosts\u002F2.electron",{"title":584,"path":585,"stem":586},"Tauri","\u002Fintegrate\u002Fhosts\u002Ftauri","4.integrate\u002F11.hosts\u002F3.tauri",{"title":588,"path":589,"stem":590},"Wails","\u002Fintegrate\u002Fhosts\u002Fwails","4.integrate\u002F11.hosts\u002F4.wails",{"title":592,"path":593,"stem":594},"Capacitor","\u002Fintegrate\u002Fhosts\u002Fcapacitor","4.integrate\u002F11.hosts\u002F5.capacitor",{"title":596,"icon":597,"path":598,"stem":599,"children":600,"page":26},"Architecture","i-lucide-cpu","\u002Farchitecture","5.architecture",[601,605,609,613,617,621],{"title":602,"path":603,"stem":604},"Document model","\u002Farchitecture\u002Fdocument-model","5.architecture\u002F1.document-model",{"title":606,"path":607,"stem":608},"SDK reference","\u002Farchitecture\u002Fsdk","5.architecture\u002F2.sdk",{"title":610,"path":611,"stem":612},"View runtime","\u002Farchitecture\u002Fview","5.architecture\u002F3.view",{"title":614,"path":615,"stem":616},"Authoring plugins","\u002Farchitecture\u002Fauthoring-plugins","5.architecture\u002F4.authoring-plugins",{"title":618,"path":619,"stem":620},"Mermaid","\u002Farchitecture\u002Fmermaid","5.architecture\u002F5.mermaid",{"title":622,"path":623,"stem":624},"Publishing packages","\u002Farchitecture\u002Fpublishing-packages","5.architecture\u002F6.publishing-packages",{"title":626,"path":627,"stem":628},"Changelog","\u002Fchangelog","9.changelog",{"id":630,"title":53,"body":631,"description":682,"extension":1369,"links":1370,"meta":1371,"navigation":753,"path":54,"seo":1372,"stem":55,"__hash__":1373},"docs\u002F2.editors\u002F6.calendar.md",{"type":632,"value":633,"toc":1358},"minimark",[634,668,671,676,704,984,997,1002,1093,1122,1126,1140,1144,1243,1247,1284,1288,1299,1303,1329,1333,1354],[635,636,637,638,645,646,651,652,655,656,659,660,663,664,667],"p",{},"Calendar studio published as ",[639,640,641],"strong",{},[642,643,644],"code",{},"on-codemerge\u002Fcalendar",". Thin app entry uses a shell ViewPort and ",[639,647,648],{},[642,649,650],{},"CalendarPlugin({ surface: 'workspace' })",", which mounts the shared calendar studio (layers \u002F canvas \u002F inspector) into ",[642,653,654],{},"contentTarget",". Interchange via ",[642,657,658],{},"getText"," \u002F ",[642,661,662],{},"setText"," (pretty ",[642,665,666],{},"CalendarDoc"," JSON). Thin ICS import\u002Fexport is available from the studio header — JSON remains the primary SoT.",[669,670],"calendar-editor-component",{},[672,673,675],"h2",{"id":674},"install","Install",[677,678,683],"pre",{"className":679,"code":680,"language":681,"meta":682,"style":682},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install --save on-codemerge\n","bash","",[642,684,685],{"__ignoreMap":682},[686,687,690,694,698,701],"span",{"class":688,"line":689},"line",1,[686,691,693],{"class":692},"sBMFI","npm",[686,695,697],{"class":696},"sfazB"," install",[686,699,700],{"class":696}," --save",[686,702,703],{"class":696}," on-codemerge\n",[677,705,709],{"className":706,"code":707,"language":708,"meta":682,"style":682},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { Editor, createDefaultPlugins } from 'on-codemerge\u002Fcalendar';\n\nconst host = document.getElementById('calendar-editor')!;\nconst editor = new Editor(host, {\n  chrome: 'bar',\n  plugins: createDefaultPlugins(), \u002F\u002F CalendarPlugin({ surface: 'workspace' })\n});\n\neditor.on('docChanged', () => {\n  console.log(editor.getText());\n});\n\neditor.setText(\n  '{\"title\":\"Cal\",\"tz\":\"UTC\",\"view\":\"month\",\"cursor\":\"2026-10-02\",\"calendars\":[{\"id\":\"main\",\"title\":\"Work\",\"color\":\"#3b82f6\",\"visible\":true}],\"events\":[]}'\n);\neditor.destroy();\n","ts",[642,710,711,748,755,794,817,837,856,866,871,901,925,934,939,951,963,970],{"__ignoreMap":682},[686,712,713,717,721,725,728,731,734,737,740,742,745],{"class":688,"line":689},[686,714,716],{"class":715},"s7zQu","import",[686,718,720],{"class":719},"sMK4o"," {",[686,722,724],{"class":723},"sTEyZ"," Editor",[686,726,727],{"class":719},",",[686,729,730],{"class":723}," createDefaultPlugins",[686,732,733],{"class":719}," }",[686,735,736],{"class":715}," from",[686,738,739],{"class":719}," '",[686,741,644],{"class":696},[686,743,744],{"class":719},"'",[686,746,747],{"class":719},";\n",[686,749,751],{"class":688,"line":750},2,[686,752,754],{"emptyLinePlaceholder":753},true,"\n",[686,756,758,762,765,768,771,774,778,781,783,786,788,791],{"class":688,"line":757},3,[686,759,761],{"class":760},"spNyl","const",[686,763,764],{"class":723}," host ",[686,766,767],{"class":719},"=",[686,769,770],{"class":723}," document",[686,772,773],{"class":719},".",[686,775,777],{"class":776},"s2Zo4","getElementById",[686,779,780],{"class":723},"(",[686,782,744],{"class":719},[686,784,785],{"class":696},"calendar-editor",[686,787,744],{"class":719},[686,789,790],{"class":723},")",[686,792,793],{"class":719},"!;\n",[686,795,797,799,802,804,807,809,812,814],{"class":688,"line":796},4,[686,798,761],{"class":760},[686,800,801],{"class":723}," editor ",[686,803,767],{"class":719},[686,805,806],{"class":719}," new",[686,808,724],{"class":776},[686,810,811],{"class":723},"(host",[686,813,727],{"class":719},[686,815,816],{"class":719}," {\n",[686,818,820,824,827,829,832,834],{"class":688,"line":819},5,[686,821,823],{"class":822},"swJcz","  chrome",[686,825,826],{"class":719},":",[686,828,739],{"class":719},[686,830,831],{"class":696},"bar",[686,833,744],{"class":719},[686,835,836],{"class":719},",\n",[686,838,840,843,845,847,850,852],{"class":688,"line":839},6,[686,841,842],{"class":822},"  plugins",[686,844,826],{"class":719},[686,846,730],{"class":776},[686,848,849],{"class":723},"()",[686,851,727],{"class":719},[686,853,855],{"class":854},"sHwdD"," \u002F\u002F CalendarPlugin({ surface: 'workspace' })\n",[686,857,859,862,864],{"class":688,"line":858},7,[686,860,861],{"class":719},"}",[686,863,790],{"class":723},[686,865,747],{"class":719},[686,867,869],{"class":688,"line":868},8,[686,870,754],{"emptyLinePlaceholder":753},[686,872,874,877,879,882,884,886,889,891,893,896,899],{"class":688,"line":873},9,[686,875,876],{"class":723},"editor",[686,878,773],{"class":719},[686,880,881],{"class":776},"on",[686,883,780],{"class":723},[686,885,744],{"class":719},[686,887,888],{"class":696},"docChanged",[686,890,744],{"class":719},[686,892,727],{"class":719},[686,894,895],{"class":719}," ()",[686,897,898],{"class":760}," =>",[686,900,816],{"class":719},[686,902,904,907,909,912,914,916,918,920,923],{"class":688,"line":903},10,[686,905,906],{"class":723},"  console",[686,908,773],{"class":719},[686,910,911],{"class":776},"log",[686,913,780],{"class":822},[686,915,876],{"class":723},[686,917,773],{"class":719},[686,919,658],{"class":776},[686,921,922],{"class":822},"())",[686,924,747],{"class":719},[686,926,928,930,932],{"class":688,"line":927},11,[686,929,861],{"class":719},[686,931,790],{"class":723},[686,933,747],{"class":719},[686,935,937],{"class":688,"line":936},12,[686,938,754],{"emptyLinePlaceholder":753},[686,940,942,944,946,948],{"class":688,"line":941},13,[686,943,876],{"class":723},[686,945,773],{"class":719},[686,947,662],{"class":776},[686,949,950],{"class":723},"(\n",[686,952,954,957,960],{"class":688,"line":953},14,[686,955,956],{"class":719},"  '",[686,958,959],{"class":696},"{\"title\":\"Cal\",\"tz\":\"UTC\",\"view\":\"month\",\"cursor\":\"2026-10-02\",\"calendars\":[{\"id\":\"main\",\"title\":\"Work\",\"color\":\"#3b82f6\",\"visible\":true}],\"events\":[]}",[686,961,962],{"class":719},"'\n",[686,964,966,968],{"class":688,"line":965},15,[686,967,790],{"class":723},[686,969,747],{"class":719},[686,971,973,975,977,980,982],{"class":688,"line":972},16,[686,974,876],{"class":723},[686,976,773],{"class":719},[686,978,979],{"class":776},"destroy",[686,981,849],{"class":723},[686,983,747],{"class":719},[635,985,986,989,990,993,994,773],{},[642,987,988],{},"createView"," defaults to ",[642,991,992],{},"createShellView",". Local SPA: ",[642,995,996],{},"pnpm dev:calendar",[998,999,1001],"h3",{"id":1000},"same-plugin-in-wysiwyg","Same plugin in WYSIWYG",[677,1003,1005],{"className":706,"code":1004,"language":708,"meta":682,"style":682},"import { Editor, createDefaultPlugins, CalendarPlugin } from 'on-codemerge';\n\nnew Editor(host, {\n  plugins: [\n    ...createDefaultPlugins(), \u002F\u002F includes CalendarPlugin({ surface: 'atom' })\n  ],\n});\n",[642,1006,1007,1037,1041,1054,1063,1078,1085],{"__ignoreMap":682},[686,1008,1009,1011,1013,1015,1017,1019,1021,1024,1026,1028,1030,1033,1035],{"class":688,"line":689},[686,1010,716],{"class":715},[686,1012,720],{"class":719},[686,1014,724],{"class":723},[686,1016,727],{"class":719},[686,1018,730],{"class":723},[686,1020,727],{"class":719},[686,1022,1023],{"class":723}," CalendarPlugin",[686,1025,733],{"class":719},[686,1027,736],{"class":715},[686,1029,739],{"class":719},[686,1031,1032],{"class":696},"on-codemerge",[686,1034,744],{"class":719},[686,1036,747],{"class":719},[686,1038,1039],{"class":688,"line":750},[686,1040,754],{"emptyLinePlaceholder":753},[686,1042,1043,1046,1048,1050,1052],{"class":688,"line":757},[686,1044,1045],{"class":719},"new",[686,1047,724],{"class":776},[686,1049,811],{"class":723},[686,1051,727],{"class":719},[686,1053,816],{"class":719},[686,1055,1056,1058,1060],{"class":688,"line":796},[686,1057,842],{"class":822},[686,1059,826],{"class":719},[686,1061,1062],{"class":723}," [\n",[686,1064,1065,1068,1071,1073,1075],{"class":688,"line":819},[686,1066,1067],{"class":719},"    ...",[686,1069,1070],{"class":776},"createDefaultPlugins",[686,1072,849],{"class":723},[686,1074,727],{"class":719},[686,1076,1077],{"class":854}," \u002F\u002F includes CalendarPlugin({ surface: 'atom' })\n",[686,1079,1080,1083],{"class":688,"line":839},[686,1081,1082],{"class":723},"  ]",[686,1084,836],{"class":719},[686,1086,1087,1089,1091],{"class":688,"line":858},[686,1088,861],{"class":719},[686,1090,790],{"class":723},[686,1092,747],{"class":719},[635,1094,1095,1098,1099,1102,1103,1106,1107,1110,1111,1114,1115,1119,1120,773],{},[642,1096,1097],{},"surface: 'atom'"," opens the same ",[642,1100,1101],{},"mountCalendarWorkspace"," UI in an ",[642,1104,1105],{},"lg"," popup (Save\u002FCancel). Payload is the SoT — edit loads from ",[642,1108,1109],{},"attrs.payload",". Hotkey ",[642,1112,1113],{},"Mod-Alt-l"," opens the studio. See ",[1116,1117,1118],"a",{"href":204},"Calendar Plugin"," and ",[1116,1121,15],{"href":16},[998,1123,1125],{"id":1124},"types","Types",[635,1127,1128,1129,1131,1132,1135,1136,1139],{},"Published types for ",[642,1130,644],{}," expect TypeScript ",[642,1133,1134],{},"moduleResolution: \"bundler\""," (or ",[642,1137,1138],{},"skipLibCheck: true",").",[672,1141,1143],{"id":1142},"document-api","Document API",[1145,1146,1147,1160],"table",{},[1148,1149,1150],"thead",{},[1151,1152,1153,1157],"tr",{},[1154,1155,1156],"th",{},"Method",[1154,1158,1159],{},"Role",[1161,1162,1163,1177,1191,1207,1223,1233],"tbody",{},[1151,1164,1165,1171],{},[1166,1167,1168],"td",{},[642,1169,1170],{},"getText()",[1166,1172,1173,1174,1176],{},"Pretty ",[642,1175,666],{}," JSON",[1151,1178,1179,1184],{},[1166,1180,1181],{},[642,1182,1183],{},"setText(text)",[1166,1185,1186,1187,1190],{},"Replace SoT; returns ",[642,1188,1189],{},"ParseError | null"," (SoT unchanged on error)",[1151,1192,1193,1201],{},[1166,1194,1195,659,1198],{},[642,1196,1197],{},"getJSON()",[642,1199,1200],{},"setJSON(doc)",[1166,1202,1203,1204,790],{},"Kernel document snapshot (",[642,1205,1206],{},"doc → calendar",[1151,1208,1209,1220],{},[1166,1210,1211,659,1214,659,1217],{},[642,1212,1213],{},"run",[642,1215,1216],{},"command",[642,1218,1219],{},"use",[1166,1221,1222],{},"Same as WYSIWYG",[1151,1224,1225,1230],{},[1166,1226,1227],{},[642,1228,1229],{},"on('docChanged', …)",[1166,1231,1232],{},"Subscriptions",[1151,1234,1235,1240],{},[1166,1236,1237],{},[642,1238,1239],{},"destroy()",[1166,1241,1242],{},"Tear down",[672,1244,1246],{"id":1245},"document-shape","Document shape",[635,1248,1249,1250,1253,1254,1257,1258,1260,1261,1263,1264,1267,1268,1271,1272,1271,1275,1271,1278,1271,1281,773],{},"SoT is ",[642,1251,1252],{},"doc"," → single ",[642,1255,1256],{},"calendar"," child. Events, layers, view, and cursor live in ",[642,1259,1109],{}," (",[642,1262,666],{},"). One document-level timezone (",[642,1265,1266],{},"tz","). Views: ",[642,1269,1270],{},"month",", ",[642,1273,1274],{},"week",[642,1276,1277],{},"day",[642,1279,1280],{},"year",[642,1282,1283],{},"agenda",[672,1285,1287],{"id":1286},"toolbar","Toolbar",[635,1289,1290,1293,1294,659,1296,773],{},[642,1291,1292],{},"createDefaultPlugins()"," Undo\u002Fredo toolbar is built into the editor. Studio chrome owns views, import\u002Fexport, and add event. Customize via ",[642,1295,1286],{},[642,1297,1298],{},"createDefaultPlugins({ toolbar })",[672,1300,1302],{"id":1301},"local-demo","Local demo",[677,1304,1306],{"className":679,"code":1305,"language":681,"meta":682,"style":682},"pnpm dev:calendar    # apps\u002Fcalendar SPA\npnpm build:calendar  # → dist-calendar\u002F\n",[642,1307,1308,1319],{"__ignoreMap":682},[686,1309,1310,1313,1316],{"class":688,"line":689},[686,1311,1312],{"class":692},"pnpm",[686,1314,1315],{"class":696}," dev:calendar",[686,1317,1318],{"class":854},"    # apps\u002Fcalendar SPA\n",[686,1320,1321,1323,1326],{"class":688,"line":750},[686,1322,1312],{"class":692},[686,1324,1325],{"class":696}," build:calendar",[686,1327,1328],{"class":854},"  # → dist-calendar\u002F\n",[672,1330,1332],{"id":1331},"see-also","See also",[1334,1335,1336,1342,1347],"ul",{},[1337,1338,1339,1341],"li",{},[1116,1340,15],{"href":16}," — product matrix",[1337,1343,1344,1346],{},[1116,1345,1118],{"href":204}," — atom + workspace options",[1337,1348,1349,1351,1352,790],{},[1116,1350,19],{"href":20}," — WYSIWYG entry (",[642,1353,1032],{},[1355,1356,1357],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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}",{"title":682,"searchDepth":750,"depth":757,"links":1359},[1360,1364,1365,1366,1367,1368],{"id":674,"depth":750,"text":675,"children":1361},[1362,1363],{"id":1000,"depth":757,"text":1001},{"id":1124,"depth":757,"text":1125},{"id":1142,"depth":750,"text":1143},{"id":1245,"depth":750,"text":1246},{"id":1286,"depth":750,"text":1287},{"id":1301,"depth":750,"text":1302},{"id":1331,"depth":750,"text":1332},"md",null,{},{"title":53,"description":682},"lhEPLOqjsHSIxps-P80DEQmoIunIJc1tE5DoBu6meJ4",[1375,1377],{"title":49,"path":50,"stem":51,"description":1376,"children":-1},"Chart studio product published as on-codemerge\u002Fcharts. Thin app entry uses a shell ViewPort and ChartsPlugin({ surface: 'workspace' }), which mounts the shared chart studio into contentTarget. Interchange via getText \u002F setText (chart attrs JSON).",{"title":57,"path":58,"stem":59,"description":682,"children":-1},1794129103880]