[{"data":1,"prerenderedAt":635},["ShallowReactive",2],{"navigation_docs":3,"-guide-shell-state":83,"-guide-shell-state-surround-resolved":628,"daily-note-surround--guide-shell-state":85},[4,9,53,73,78],{"title":5,"path":6,"stem":5,"icon":7,"order":8},"Home","/home","i-lucide-home",0,{"title":10,"icon":11,"order":12,"path":13,"stem":14,"children":15,"page":52},"Guide","i-lucide-book-open",1,"/guide","1.guide",[16,22,28,34,40,46],{"title":17,"path":18,"stem":19,"icon":20,"order":21},"Installation","/guide/installation","1.guide/1.installation","i-lucide-download",10,{"title":23,"path":24,"stem":25,"icon":26,"order":27},"Shell State","/guide/shell-state","1.guide/2.shell-state","i-lucide-sliders-horizontal",20,{"title":29,"path":30,"stem":31,"icon":32,"order":33},"Defining Panels","/guide/panels","1.guide/3.panels","i-lucide-puzzle",30,{"title":35,"path":36,"stem":37,"icon":38,"order":39},"Appearance","/guide/appearance","1.guide/4.appearance","i-lucide-sparkles",40,{"title":41,"path":42,"stem":43,"icon":44,"order":45},"Keyboard Shortcuts","/guide/keybindings","1.guide/5.keybindings","i-lucide-keyboard",50,{"title":47,"path":48,"stem":49,"icon":50,"order":51},"Demo App","/guide/demo","1.guide/6.demo","i-lucide-monitor",60,false,{"title":54,"icon":55,"order":56,"path":57,"stem":58,"children":59,"page":52},"API Reference","i-lucide-code",2,"/api","2.api",[60,65,69],{"title":61,"path":62,"stem":63,"icon":64,"order":21},"KelyphosShellView","/api/kelyphos-shell-view","2.api/1.kelyphos-shell-view","i-lucide-layout-panel-left",{"title":66,"path":67,"stem":68,"icon":26,"order":27},"KelyphosShellState","/api/kelyphos-shell-state","2.api/2.kelyphos-shell-state",{"title":70,"path":71,"stem":72,"icon":32,"order":33},"KelyphosPanel","/api/kelyphos-panel","2.api/3.kelyphos-panel",{"title":74,"path":75,"stem":74,"icon":76,"order":77},"Changelog","/changelog","i-lucide-history",98,{"title":79,"path":80,"stem":79,"icon":81,"order":82},"About","/about","i-lucide-info",99,{"id":84,"title":23,"aliases":85,"body":86,"concluded":85,"date":85,"description":622,"documentation":85,"extension":623,"isBase":52,"links":85,"meta":624,"mtime":85,"navigation":625,"order":27,"outcome":85,"path":24,"project":85,"repository":85,"seo":626,"started":85,"status":85,"stem":25,"tags":85,"team":85,"type":85,"__hash__":627},"docs/1.guide/2.shell-state.md",null,{"type":87,"value":88,"toc":613},"minimark",[89,100,105,166,172,176,210,213,217,288,292,323,326,374,378,447,451,522,525,609],[90,91,92,95,96,99],"p",{},[93,94,66],"code",{}," is the single source of truth for the entire shell. It's an ",[93,97,98],{},"@Observable"," class — pass it around freely and the shell will update automatically.",[101,102,104],"h2",{"id":103},"creating-state","Creating State",[106,107,112],"pre",{"className":108,"code":109,"language":110,"meta":111,"style":111},"language-swift shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","@State private var shellState = KelyphosShellState(persistencePrefix: \"myapp\")\n","swift","",[93,113,114],{"__ignoreMap":111},[115,116,118,122,126,130,133,137,140,144,147,150,153,156,160,163],"span",{"class":117,"line":12},"line",[115,119,121],{"class":120},"sMK4o","@",[115,123,125],{"class":124},"spNyl","State",[115,127,129],{"class":128},"sbssI"," private",[115,131,132],{"class":128}," var",[115,134,136],{"class":135},"sTEyZ"," shellState ",[115,138,139],{"class":120},"=",[115,141,143],{"class":142},"s2Zo4"," KelyphosShellState",[115,145,146],{"class":120},"(",[115,148,149],{"class":142},"persistencePrefix",[115,151,152],{"class":120},":",[115,154,155],{"class":120}," \"",[115,157,159],{"class":158},"sfazB","myapp",[115,161,162],{"class":120},"\"",[115,164,165],{"class":120},")\n",[90,167,168,169,171],{},"The ",[93,170,149],{}," is used to namespace UserDefaults keys for automatic state persistence.",[101,173,175],{"id":174},"title-and-subtitle","Title and Subtitle",[106,177,179],{"className":108,"code":178,"language":110,"meta":111,"style":111},"shellState.title = \"Project Name\"\nshellState.subtitle = \"3 files modified\"\n",[93,180,181,196],{"__ignoreMap":111},[115,182,183,186,188,190,193],{"class":117,"line":12},[115,184,185],{"class":135},"shellState.title ",[115,187,139],{"class":120},[115,189,155],{"class":120},[115,191,192],{"class":158},"Project Name",[115,194,195],{"class":120},"\"\n",[115,197,198,201,203,205,208],{"class":117,"line":56},[115,199,200],{"class":135},"shellState.subtitle ",[115,202,139],{"class":120},[115,204,155],{"class":120},[115,206,207],{"class":158},"3 files modified",[115,209,195],{"class":120},[90,211,212],{},"On macOS these appear in the window toolbar. On iPadOS the title appears in the navigation bar.",[101,214,216],{"id":215},"panel-visibility","Panel Visibility",[106,218,220],{"className":108,"code":219,"language":110,"meta":111,"style":111},"shellState.navigatorVisible.toggle()\nshellState.inspectorVisible.toggle()\nshellState.utilityAreaVisible.toggle()\n\n// Disable panels entirely\nshellState.inspectorEnabled = false\nshellState.utilityEnabled = false\n",[93,221,222,233,242,252,259,266,278],{"__ignoreMap":111},[115,223,224,227,230],{"class":117,"line":12},[115,225,226],{"class":135},"shellState.navigatorVisible.",[115,228,229],{"class":142},"toggle",[115,231,232],{"class":120},"()\n",[115,234,235,238,240],{"class":117,"line":56},[115,236,237],{"class":135},"shellState.inspectorVisible.",[115,239,229],{"class":142},[115,241,232],{"class":120},[115,243,245,248,250],{"class":117,"line":244},3,[115,246,247],{"class":135},"shellState.utilityAreaVisible.",[115,249,229],{"class":142},[115,251,232],{"class":120},[115,253,255],{"class":117,"line":254},4,[115,256,258],{"emptyLinePlaceholder":257},true,"\n",[115,260,262],{"class":117,"line":261},5,[115,263,265],{"class":264},"sHwdD","// Disable panels entirely\n",[115,267,269,272,274],{"class":117,"line":268},6,[115,270,271],{"class":135},"shellState.inspectorEnabled ",[115,273,139],{"class":120},[115,275,277],{"class":276},"sfNiH"," false\n",[115,279,281,284,286],{"class":117,"line":280},7,[115,282,283],{"class":135},"shellState.utilityEnabled ",[115,285,139],{"class":120},[115,287,277],{"class":276},[101,289,291],{"id":290},"tab-selection","Tab Selection",[106,293,295],{"className":108,"code":294,"language":110,"meta":111,"style":111},"shellState.selectedNavigatorIndex = 1   // Second navigator tab\nshellState.selectedInspectorIndex = 0   // First inspector tab\n",[93,296,297,310],{"__ignoreMap":111},[115,298,299,302,304,307],{"class":117,"line":12},[115,300,301],{"class":135},"shellState.selectedNavigatorIndex ",[115,303,139],{"class":120},[115,305,306],{"class":128}," 1",[115,308,309],{"class":264},"   // Second navigator tab\n",[115,311,312,315,317,320],{"class":117,"line":56},[115,313,314],{"class":135},"shellState.selectedInspectorIndex ",[115,316,139],{"class":120},[115,318,319],{"class":128}," 0",[115,321,322],{"class":264},"   // First inspector tab\n",[101,324,35],{"id":325},"appearance",[106,327,329],{"className":108,"code":328,"language":110,"meta":111,"style":111},"shellState.vibrancyMaterial = .ultraThin  // .none, .ultraThin, .thin, .regular, .thick, .ultraThick\nshellState.backgroundAlpha = 0.3          // 0.0 (transparent) to 1.0 (opaque)\nshellState.windowAppearance = \"dark\"      // \"auto\", \"light\", \"dark\"\n",[93,330,331,344,357],{"__ignoreMap":111},[115,332,333,336,338,341],{"class":117,"line":12},[115,334,335],{"class":135},"shellState.vibrancyMaterial ",[115,337,139],{"class":120},[115,339,340],{"class":135}," .ultraThin  ",[115,342,343],{"class":264},"// .none, .ultraThin, .thin, .regular, .thick, .ultraThick\n",[115,345,346,349,351,354],{"class":117,"line":56},[115,347,348],{"class":135},"shellState.backgroundAlpha ",[115,350,139],{"class":120},[115,352,353],{"class":128}," 0.3",[115,355,356],{"class":264},"          // 0.0 (transparent) to 1.0 (opaque)\n",[115,358,359,362,364,366,369,371],{"class":117,"line":244},[115,360,361],{"class":135},"shellState.windowAppearance ",[115,363,139],{"class":120},[115,365,155],{"class":120},[115,367,368],{"class":158},"dark",[115,370,162],{"class":120},[115,372,373],{"class":264},"      // \"auto\", \"light\", \"dark\"\n",[101,375,377],{"id":376},"appearance-presets","Appearance Presets",[106,379,381],{"className":108,"code":380,"language":110,"meta":111,"style":111},"AppearancePreset.clear.apply(to: shellState)     // Fully transparent + ultraThin\nAppearancePreset.balanced.apply(to: shellState)  // 50% opacity + thin\nAppearancePreset.solid.apply(to: shellState)     // Fully opaque, no material\n",[93,382,383,407,427],{"__ignoreMap":111},[115,384,385,388,391,393,396,398,401,404],{"class":117,"line":12},[115,386,387],{"class":135},"AppearancePreset.clear.",[115,389,390],{"class":142},"apply",[115,392,146],{"class":120},[115,394,395],{"class":142},"to",[115,397,152],{"class":120},[115,399,400],{"class":135}," shellState",[115,402,403],{"class":120},")",[115,405,406],{"class":264},"     // Fully transparent + ultraThin\n",[115,408,409,412,414,416,418,420,422,424],{"class":117,"line":56},[115,410,411],{"class":135},"AppearancePreset.balanced.",[115,413,390],{"class":142},[115,415,146],{"class":120},[115,417,395],{"class":142},[115,419,152],{"class":120},[115,421,400],{"class":135},[115,423,403],{"class":120},[115,425,426],{"class":264},"  // 50% opacity + thin\n",[115,428,429,432,434,436,438,440,442,444],{"class":117,"line":244},[115,430,431],{"class":135},"AppearancePreset.solid.",[115,433,390],{"class":142},[115,435,146],{"class":120},[115,437,395],{"class":142},[115,439,152],{"class":120},[115,441,400],{"class":135},[115,443,403],{"class":120},[115,445,446],{"class":264},"     // Fully opaque, no material\n",[101,448,450],{"id":449},"color-theme","Color Theme",[106,452,454],{"className":108,"code":453,"language":110,"meta":111,"style":111},"@Environment(\\.kelyphosShellState) var shellState\n\nText(\"Hello\")\n    .foregroundStyle(shellState?.colorTheme.accent ?? .accentColor)\n",[93,455,456,475,479,495],{"__ignoreMap":111},[115,457,458,460,463,465,468,470,472],{"class":117,"line":12},[115,459,121],{"class":120},[115,461,462],{"class":124},"Environment",[115,464,146],{"class":120},[115,466,467],{"class":135},"\\.kelyphosShellState",[115,469,403],{"class":120},[115,471,132],{"class":128},[115,473,474],{"class":135}," shellState\n",[115,476,477],{"class":117,"line":56},[115,478,258],{"emptyLinePlaceholder":257},[115,480,481,484,486,488,491,493],{"class":117,"line":244},[115,482,483],{"class":142},"Text",[115,485,146],{"class":120},[115,487,162],{"class":120},[115,489,490],{"class":158},"Hello",[115,492,162],{"class":120},[115,494,165],{"class":120},[115,496,497,500,503,505,508,511,514,517,520],{"class":117,"line":254},[115,498,499],{"class":135},"    .",[115,501,502],{"class":142},"foregroundStyle",[115,504,146],{"class":120},[115,506,507],{"class":135},"shellState",[115,509,510],{"class":120},"?",[115,512,513],{"class":135},".colorTheme.accent ",[115,515,516],{"class":120},"??",[115,518,519],{"class":135}," .accentColor",[115,521,165],{"class":120},[90,523,524],{},"Customize with hex values:",[106,526,528],{"className":108,"code":527,"language":110,"meta":111,"style":111},"shellState.colorTheme.update(variant: \"dark\", from: [\n    \"accent\": \"#8B5CF6\",\n    \"background\": \"#18181B\"\n])\n",[93,529,530,562,584,602],{"__ignoreMap":111},[115,531,532,535,538,540,543,545,547,549,551,554,557,559],{"class":117,"line":12},[115,533,534],{"class":135},"shellState.colorTheme.",[115,536,537],{"class":142},"update",[115,539,146],{"class":120},[115,541,542],{"class":142},"variant",[115,544,152],{"class":120},[115,546,155],{"class":120},[115,548,368],{"class":158},[115,550,162],{"class":120},[115,552,553],{"class":135},", ",[115,555,556],{"class":142},"from",[115,558,152],{"class":120},[115,560,561],{"class":135}," [\n",[115,563,564,567,570,572,574,576,579,581],{"class":117,"line":56},[115,565,566],{"class":120},"    \"",[115,568,569],{"class":158},"accent",[115,571,162],{"class":120},[115,573,152],{"class":120},[115,575,155],{"class":120},[115,577,578],{"class":158},"#8B5CF6",[115,580,162],{"class":120},[115,582,583],{"class":135},",\n",[115,585,586,588,591,593,595,597,600],{"class":117,"line":244},[115,587,566],{"class":120},[115,589,590],{"class":158},"background",[115,592,162],{"class":120},[115,594,152],{"class":120},[115,596,155],{"class":120},[115,598,599],{"class":158},"#18181B",[115,601,195],{"class":120},[115,603,604,607],{"class":117,"line":254},[115,605,606],{"class":135},"]",[115,608,165],{"class":120},[610,611,612],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":111,"searchDepth":244,"depth":244,"links":614},[615,616,617,618,619,620,621],{"id":103,"depth":56,"text":104},{"id":174,"depth":56,"text":175},{"id":215,"depth":56,"text":216},{"id":290,"depth":56,"text":291},{"id":325,"depth":56,"text":35},{"id":376,"depth":56,"text":377},{"id":449,"depth":56,"text":450},"Using KelyphosShellState to drive the shell","md",{"icon":26},{"title":23,"icon":26,"order":27},{"title":23,"description":622},"8wIOB21kv1C70Zq_G1Cd1xTyaXvLxIIH9NnMs-BF8to",[629,632],{"title":17,"description":630,"path":18,"navigation":631},"Adding KelyphosKit to your Swift package or Xcode project",{"title":17,"icon":20,"order":21},{"title":29,"description":633,"path":30,"navigation":634},"Creating navigator, inspector, and utility tabs with KelyphosPanel",{"title":29,"icon":32,"order":33},1775743018090]