[{"data":1,"prerenderedAt":8710},["ShallowReactive",2],{"bml-reference-design-library":3},{"data":4,"body":5},{},{"type":6,"children":7},"root",[8,17,39,44,56,68,77,91,103,114,119,128,198,205,212,302,308,327,361,379,390,396,3330,3382,3399,3418,3435,3480,3512,3530,3613,3645,3708,3717,3722,3755,3770,3775,3780,3798,3827,3855,3885,3909,3928,3950,3968,4003,4028,4112,4138,4147,4152,4163,4189,4195,4212,4245,4256,4305,4365,4382,4388,4397,4406,4453,4464,4475,4533,4539,4576,4585,4594,4625,4648,4725,4731,4740,4749,4832,4876,4905,4951,4957,4985,5008,5038,5055,5060,5072,5411,5438,5444,5455,5460,5469,5558,5624,5676,5742,5825,5849,5951,6017,6092,6098,6116,7278,7288,7326,7331,7342,7348,7461,7470,7588,7594,7642,7651,7694,7703,7709,7800,7806,7817,7826,7863,7906,7915,7925,7931,7940,7959,7970,7994,7999,8099,8105,8157,8166,8209,8253,8280,8331,8337,8458,8467,8518,8567,8615,8624,8655,8674],{"type":9,"tag":10,"props":11,"children":13},"element","h1",{"id":12},"bosca-design-library",[14],{"type":15,"value":16},"text","Bosca Design Library",{"type":9,"tag":18,"props":19,"children":20},"p",{},[21,23,30,32,37],{"type":15,"value":22},"Reusable BML controls, including components extracted from Git UI. The library owns presentation; applications own their\ndocuments, forms, state, actions, navigation, and CSS themes. Its Kotlin package is\n",{"type":9,"tag":24,"props":25,"children":27},"code",{"className":26},"",[28],{"type":15,"value":29},"bosca.design.generated",{"type":15,"value":31},", and its artifact coordinate is ",{"type":9,"tag":24,"props":33,"children":34},{"className":26},[35],{"type":15,"value":36},"io.bosca:bml-design",{"type":15,"value":38},".",{"type":9,"tag":18,"props":40,"children":41},{},[42],{"type":15,"value":43},"In a workspace application:",{"type":9,"tag":45,"props":46,"children":51},"pre",{"className":47,"code":49,"filename":-1,"highlights":-1,"language":50,"meta":26},[48],"language-kotlin","dependencies {\n    implementation(project(\":bml:bml-design\"))\n}\n","kotlin",[52],{"type":9,"tag":24,"props":53,"children":54},{"__ignoreMap":26},[55],{"type":15,"value":49},{"type":9,"tag":18,"props":57,"children":58},{},[59,61,66],{"type":15,"value":60},"For a published dependency, use the available release selected by your application with matching\nBML tooling. Here ",{"type":9,"tag":24,"props":62,"children":63},{"className":26},[64],{"type":15,"value":65},"boscaVersion",{"type":15,"value":67}," is that application-selected version:",{"type":9,"tag":45,"props":69,"children":72},{"className":70,"code":71,"filename":-1,"highlights":-1,"language":50,"meta":26},[48],"dependencies {\n    implementation(\"io.bosca:bml-design:$boscaVersion\")\n}\n",[73],{"type":9,"tag":24,"props":74,"children":75},{"__ignoreMap":26},[76],{"type":15,"value":71},{"type":9,"tag":18,"props":78,"children":79},{},[80,82,89],{"type":15,"value":81},"Use your configured Bosca artifact repository. See ",{"type":9,"tag":83,"props":84,"children":86},"a",{"href":85},"..\u002Fdocs\u002Flibraries.md#consume-a-library",[87],{"type":15,"value":88},"compiled library setup",{"type":15,"value":90},"\nfor dependency and import behavior. The import below is the same for workspace and published dependencies.",{"type":9,"tag":18,"props":92,"children":93},{},[94,96,101],{"type":15,"value":95},"Declare one ",{"type":9,"tag":24,"props":97,"children":98},{"className":26},[99],{"type":15,"value":100},"src\u002Fmain\u002Fbml\u002Fimports.bml",{"type":15,"value":102},":",{"type":9,"tag":45,"props":104,"children":109},{"className":105,"code":107,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"language-html","\u003Cimport library=\"io.bosca:bml-design\" \u002F>\n","html",[110],{"type":9,"tag":24,"props":111,"children":112},{"__ignoreMap":26},[113],{"type":15,"value":107},{"type":9,"tag":18,"props":115,"children":116},{},[117],{"type":15,"value":118},"Pages and local components, including nested source directories, can then use:",{"type":9,"tag":45,"props":120,"children":123},{"className":121,"code":122,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"\u003Ccard title=\"Preferences\">\n  \u003Cform @submit=\"preferences.save(form.displayName)\">\n    \u003Cfield label=\"Display name\" hint=\"Shown beside your activity\">\n      \u003Cinput name=\"displayName\" required autocomplete=\"name\" \u002F>\n    \u003C\u002Ffield>\n    \u003Cbutton type=\"submit\" primary icon=\"save\">Save\u003C\u002Fbutton>\n  \u003C\u002Fform>\n\u003C\u002Fcard>\n",[124],{"type":9,"tag":24,"props":125,"children":126},{"__ignoreMap":26},[127],{"type":15,"value":122},{"type":9,"tag":18,"props":129,"children":130},{},[131,133,139,141,147,149,155,157,162,164,169,171,176,178,183,185,190,192,197],{"type":15,"value":132},"The containing page or component declares the application's state and island as usual. The example\nconsumer in ",{"type":9,"tag":83,"props":134,"children":136},{"href":135},"..\u002Fexamples\u002Fdesign-library\u002FREADME.md",[137],{"type":15,"value":138},"examples\u002Fdesign-library",{"type":15,"value":140}," demonstrates this wiring.\nThe ",{"type":9,"tag":83,"props":142,"children":144},{"href":143},"..\u002Fbml-design-catalog\u002FREADME.md",[145],{"type":15,"value":146},"catalog application",{"type":15,"value":148}," provides references and rendered examples\nfor all 51 exports, with its own navigation, local actions and CSS palettes.\nSee ",{"type":9,"tag":83,"props":150,"children":152},{"href":151},"migration.md",[153],{"type":15,"value":154},"Migrating Git UI components",{"type":15,"value":156}," for the complete tag mapping, caller changes,\nand ownership of styles and browser behavior.\nUse ",{"type":9,"tag":24,"props":158,"children":159},{"className":26},[160],{"type":15,"value":161},"\u003Chtml:button>",{"type":15,"value":163},", ",{"type":9,"tag":24,"props":165,"children":166},{"className":26},[167],{"type":15,"value":168},"\u003Chtml:input>",{"type":15,"value":170}," and ",{"type":9,"tag":24,"props":172,"children":173},{"className":26},[174],{"type":15,"value":175},"\u003Chtml:section>",{"type":15,"value":177}," for native elements after importing their library counterparts.\nLocal component definitions take precedence throughout their module. An optional ",{"type":9,"tag":24,"props":179,"children":180},{"className":26},[181],{"type":15,"value":182},"as=\"design\"",{"type":15,"value":184},"\nimport provides ",{"type":9,"tag":24,"props":186,"children":187},{"className":26},[188],{"type":15,"value":189},"\u003Cdesign:button>",{"type":15,"value":191}," with the same runtime identity and assets as ",{"type":9,"tag":24,"props":193,"children":194},{"className":26},[195],{"type":15,"value":196},"\u003Cbutton>",{"type":15,"value":38},{"type":9,"tag":199,"props":200,"children":202},"h2",{"id":201},"release-notes",[203],{"type":15,"value":204},"Release notes",{"type":9,"tag":206,"props":207,"children":209},"h3",{"id":208},"initial-extraction",[210],{"type":15,"value":211},"Initial extraction",{"type":9,"tag":213,"props":214,"children":215},"ul",{},[216,222,235,240,257,262],{"type":9,"tag":217,"props":218,"children":219},"li",{},[220],{"type":15,"value":221},"The library contains 41 components from Git UI, including foundation controls, layout, selection,\nnavigation, overlays, clipboard actions, trees, feedback, timestamps and editors. One unaliased\nroot import makes their short names available throughout an application.",{"type":9,"tag":217,"props":223,"children":224},{},[225,227,233],{"type":15,"value":226},"Applications style colors, fonts, borders, control spacing and editor surfaces through the\n",{"type":9,"tag":83,"props":228,"children":230},{"href":229},"css-tokens.md",[231],{"type":15,"value":232},"public CSS variables",{"type":15,"value":234},". Independent palettes can coexist, and overlays inherit their\nowning palette. The original Geist fonts, Bosca mark, icons and dependency notices ship with the library.",{"type":9,"tag":217,"props":236,"children":237},{},[238],{"type":15,"value":239},"Shared interactions retain native form values, keyboard operation, declarative events and state\nthrough surrounding updates. Applications own their documents, routes, actions and transport.\nGit retains its editing, preview, draft and domain adapters.",{"type":9,"tag":217,"props":241,"children":242},{},[243,248,250,255],{"type":9,"tag":24,"props":244,"children":245},{"className":26},[246],{"type":15,"value":247},"source-view",{"type":15,"value":249}," supplies a read-only viewer with requested-line navigation and search. Finder controls\nwrap at narrow widths; compact snippets expand while search is open and restore their height on close.\n",{"type":9,"tag":24,"props":251,"children":252},{"className":26},[253],{"type":15,"value":254},"json-editor",{"type":15,"value":256}," supplies structured editing with a native form value; virtual tables retain logical row\npositions and complete header-column alignment.",{"type":9,"tag":217,"props":258,"children":259},{},[260],{"type":15,"value":261},"Toasts announce each new sequence without replaying retained messages after navigation. Quiet copy\nconfirmation preserves surrounding geometry, and local view tabs retain focus during pending updates.",{"type":9,"tag":217,"props":263,"children":264},{},[265,267,272,274,279,281,286,288,293,295,300],{"type":15,"value":266},"Migration replaces ",{"type":9,"tag":24,"props":268,"children":269},{"className":26},[270],{"type":15,"value":271},"ui-*",{"type":15,"value":273}," calls with short names, uses ",{"type":9,"tag":24,"props":275,"children":276},{"className":26},[277],{"type":15,"value":278},"page-shell",{"type":15,"value":280}," for the former ",{"type":9,"tag":24,"props":282,"children":283},{"className":26},[284],{"type":15,"value":285},"ui-page",{"type":15,"value":287},", moves\nnavigation values to ",{"type":9,"tag":24,"props":289,"children":290},{"className":26},[291],{"type":15,"value":292},"bosca.design.model.NavigationItem",{"type":15,"value":294},", and marks persistent async choices explicitly.\nThe ",{"type":9,"tag":83,"props":296,"children":297},{"href":151},[298],{"type":15,"value":299},"migration guide",{"type":15,"value":301}," lists every tag and caller adjustment.",{"type":9,"tag":199,"props":303,"children":305},{"id":304},"fonts-and-notices",[306],{"type":15,"value":307},"Fonts and notices",{"type":9,"tag":18,"props":309,"children":310},{},[311,313,318,320,325],{"type":15,"value":312},"The library packages the existing Geist v5 and Geist Mono v6 WOFF2 subsets formerly owned by\nGit UI. Font bytes, Unicode ranges, normal style, variable weights 400–700 and ",{"type":9,"tag":24,"props":314,"children":315},{"className":26},[316],{"type":15,"value":317},"font-display: swap",{"type":15,"value":319},"\nare preserved. Its global stylesheet declares the faces; BML bundles their relative URLs into\nsame-origin ",{"type":9,"tag":24,"props":321,"children":322},{"className":26},[323],{"type":15,"value":324},"\u002F_bml\u002Flibraries\u002F",{"type":15,"value":326}," assets. Consumers need no font copies, external font service or\nprivate Git asset route. Unversioned asset requests follow BML's revalidation cache policy.",{"type":9,"tag":18,"props":328,"children":329},{},[330,332,337,339,344,346,352,354,359],{"type":15,"value":331},"The original font files are in ",{"type":9,"tag":24,"props":333,"children":334},{"className":26},[335],{"type":15,"value":336},"src\u002Fmain\u002Fclient\u002Ffonts\u002F",{"type":15,"value":338}," and in the source archive under\n",{"type":9,"tag":24,"props":340,"children":341},{"className":26},[342],{"type":15,"value":343},"client\u002Ffonts\u002F",{"type":15,"value":345},". The binary and source archives retain the ",{"type":9,"tag":83,"props":347,"children":349},{"href":348},"src\u002Fmain\u002Fresources\u002FMETA-INF\u002Flicenses\u002Fbml-design\u002Fgeist.txt",[350],{"type":15,"value":351},"Geist OFL notice",{"type":15,"value":353},"\nand the existing Lucide, source viewer and JSON editor notices under ",{"type":9,"tag":24,"props":355,"children":356},{"className":26},[357],{"type":15,"value":358},"META-INF\u002Flicenses\u002Fbml-design\u002F",{"type":15,"value":360},".\nThe Bosca mark remains the library's SVG component, and Lucide glyphs remain compiled icons.",{"type":9,"tag":18,"props":362,"children":363},{},[364,366,371,372,377],{"type":15,"value":365},"Applications choose their document font and can override ",{"type":9,"tag":24,"props":367,"children":368},{"className":26},[369],{"type":15,"value":370},"--font-sans",{"type":15,"value":170},{"type":9,"tag":24,"props":373,"children":374},{"className":26},[375],{"type":15,"value":376},"--font-mono",{"type":15,"value":378}," in ordinary\nCSS, globally or on a themed container. Declaring the packaged faces does not force their use:",{"type":9,"tag":45,"props":380,"children":385},{"className":381,"code":383,"filename":-1,"highlights":-1,"language":384,"meta":26},[382],"language-css",".brand {\n  --font-sans: system-ui, sans-serif;\n  --font-mono: ui-monospace, monospace;\n  font-family: var(--font-sans);\n}\n","css",[386],{"type":9,"tag":24,"props":387,"children":388},{"__ignoreMap":26},[389],{"type":15,"value":383},{"type":9,"tag":199,"props":391,"children":393},{"id":392},"components",[394],{"type":15,"value":395},"Components",{"type":9,"tag":397,"props":398,"children":399},"table",{},[400,424],{"type":9,"tag":401,"props":402,"children":403},"thead",{},[404],{"type":9,"tag":405,"props":406,"children":407},"tr",{},[408,414,419],{"type":9,"tag":409,"props":410,"children":411},"th",{},[412],{"type":15,"value":413},"Export",{"type":9,"tag":409,"props":415,"children":416},{},[417],{"type":15,"value":418},"Props and defaults",{"type":9,"tag":409,"props":420,"children":421},{},[422],{"type":15,"value":423},"Native target and children",{"type":9,"tag":425,"props":426,"children":427},"tbody",{},[428,517,617,655,685,728,765,806,865,911,971,1041,1076,1117,1141,1176,1213,1233,1281,1334,1371,1400,1420,1440,1511,1540,1570,1637,1697,1760,1923,1981,2022,2066,2101,2184,2248,2300,2343,2393,2516,2570,2646,2706,2787,2870,2950,3011,3111,3146,3245],{"type":9,"tag":405,"props":429,"children":430},{},[431,440,505],{"type":9,"tag":432,"props":433,"children":434},"td",{},[435],{"type":9,"tag":24,"props":436,"children":437},{"className":26},[438],{"type":15,"value":439},"button",{"type":9,"tag":432,"props":441,"children":442},{},[443,448,450,455,456,461,462,467,469,474,476,481,482,487,488,493,494,499,500],{"type":9,"tag":24,"props":444,"children":445},{"className":26},[446],{"type":15,"value":447},"size: String = \"md\"",{"type":15,"value":449}," (",{"type":9,"tag":24,"props":451,"children":452},{"className":26},[453],{"type":15,"value":454},"md",{"type":15,"value":163},{"type":9,"tag":24,"props":457,"children":458},{"className":26},[459],{"type":15,"value":460},"sm",{"type":15,"value":163},{"type":9,"tag":24,"props":463,"children":464},{"className":26},[465],{"type":15,"value":466},"xs",{"type":15,"value":468},"); ",{"type":9,"tag":24,"props":470,"children":471},{"className":26},[472],{"type":15,"value":473},"loading: Boolean = false",{"type":15,"value":475},"; ",{"type":9,"tag":24,"props":477,"children":478},{"className":26},[479],{"type":15,"value":480},"type: String = \"button\"",{"type":15,"value":475},{"type":9,"tag":24,"props":483,"children":484},{"className":26},[485],{"type":15,"value":486},"ref: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":489,"children":490},{"className":26},[491],{"type":15,"value":492},"primary: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":495,"children":496},{"className":26},[497],{"type":15,"value":498},"icon: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":501,"children":502},{"className":26},[503],{"type":15,"value":504},"disabled: Boolean = false",{"type":9,"tag":432,"props":506,"children":507},{},[508,510,515],{"type":15,"value":509},"Native button receives additional attributes, merged ",{"type":9,"tag":24,"props":511,"children":512},{"className":26},[513],{"type":15,"value":514},"class",{"type":15,"value":516},", and declarative click events. Default children supply its accessible name. Loading disables it and overlays an aria-hidden spinner.",{"type":9,"tag":405,"props":518,"children":519},{},[520,528,574],{"type":9,"tag":432,"props":521,"children":522},{},[523],{"type":9,"tag":24,"props":524,"children":525},{"className":26},[526],{"type":15,"value":527},"input",{"type":9,"tag":432,"props":529,"children":530},{},[531,535,536,540,541,545,546,551,552,557,558,562,563,568,569],{"type":9,"tag":24,"props":532,"children":533},{"className":26},[534],{"type":15,"value":447},{"type":15,"value":449},{"type":9,"tag":24,"props":537,"children":538},{"className":26},[539],{"type":15,"value":454},{"type":15,"value":163},{"type":9,"tag":24,"props":542,"children":543},{"className":26},[544],{"type":15,"value":460},{"type":15,"value":468},{"type":9,"tag":24,"props":547,"children":548},{"className":26},[549],{"type":15,"value":550},"mono: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":553,"children":554},{"className":26},[555],{"type":15,"value":556},"type: String = \"text\"",{"type":15,"value":475},{"type":9,"tag":24,"props":559,"children":560},{"className":26},[561],{"type":15,"value":486},{"type":15,"value":475},{"type":9,"tag":24,"props":564,"children":565},{"className":26},[566],{"type":15,"value":567},"value: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":570,"children":571},{"className":26},[572],{"type":15,"value":573},"required: Boolean = false",{"type":9,"tag":432,"props":575,"children":576},{},[577,579,584,585,590,591,596,597,602,603,608,610,615],{"type":15,"value":578},"Native input receives additional attributes and events, including ",{"type":9,"tag":24,"props":580,"children":581},{"className":26},[582],{"type":15,"value":583},"name",{"type":15,"value":163},{"type":9,"tag":24,"props":586,"children":587},{"className":26},[588],{"type":15,"value":589},"disabled",{"type":15,"value":163},{"type":9,"tag":24,"props":592,"children":593},{"className":26},[594],{"type":15,"value":595},"readonly",{"type":15,"value":163},{"type":9,"tag":24,"props":598,"children":599},{"className":26},[600],{"type":15,"value":601},"autocomplete",{"type":15,"value":163},{"type":9,"tag":24,"props":604,"children":605},{"className":26},[606],{"type":15,"value":607},"aria-*",{"type":15,"value":609},", and ",{"type":9,"tag":24,"props":611,"children":612},{"className":26},[613],{"type":15,"value":614},"data-*",{"type":15,"value":616},". No child content.",{"type":9,"tag":405,"props":618,"children":619},{},[620,628,650],{"type":9,"tag":432,"props":621,"children":622},{},[623],{"type":9,"tag":24,"props":624,"children":625},{"className":26},[626],{"type":15,"value":627},"field",{"type":9,"tag":432,"props":629,"children":630},{},[631,633,638,639,644,645],{"type":15,"value":632},"Required ",{"type":9,"tag":24,"props":634,"children":635},{"className":26},[636],{"type":15,"value":637},"label: String",{"type":15,"value":475},{"type":9,"tag":24,"props":640,"children":641},{"className":26},[642],{"type":15,"value":643},"hint: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":646,"children":647},{"className":26},[648],{"type":15,"value":649},"hideLabel: Boolean = false",{"type":9,"tag":432,"props":651,"children":652},{},[653],{"type":15,"value":654},"A wrapping native label contains default children. The hidden-label option retains an accessible label. Only named props and children are consumed.",{"type":9,"tag":405,"props":656,"children":657},{},[658,666,680],{"type":9,"tag":432,"props":659,"children":660},{},[661],{"type":9,"tag":24,"props":662,"children":663},{"className":26},[664],{"type":15,"value":665},"card",{"type":9,"tag":432,"props":667,"children":668},{},[669,674,675],{"type":9,"tag":24,"props":670,"children":671},{"className":26},[672],{"type":15,"value":673},"title: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":676,"children":677},{"className":26},[678],{"type":15,"value":679},"padded: Boolean = true",{"type":9,"tag":432,"props":681,"children":682},{},[683],{"type":15,"value":684},"Native section with an optional heading and a default child body. Only named props and children are consumed.",{"type":9,"tag":405,"props":686,"children":687},{},[688,695,709],{"type":9,"tag":432,"props":689,"children":690},{},[691],{"type":9,"tag":24,"props":692,"children":693},{"className":26},[694],{"type":15,"value":278},{"type":9,"tag":432,"props":696,"children":697},{},[698,703,704],{"type":9,"tag":24,"props":699,"children":700},{"className":26},[701],{"type":15,"value":702},"fill: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":705,"children":706},{"className":26},[707],{"type":15,"value":708},"narrow: Boolean = false",{"type":9,"tag":432,"props":710,"children":711},{},[712,714,719,721,726],{"type":15,"value":713},"Native main with default children, merged classes, and additional attributes. ",{"type":9,"tag":24,"props":715,"children":716},{"className":26},[717],{"type":15,"value":718},"fill",{"type":15,"value":720}," allocates a flex column; ",{"type":9,"tag":24,"props":722,"children":723},{"className":26},[724],{"type":15,"value":725},"narrow",{"type":15,"value":727}," uses a centered 400px form surface.",{"type":9,"tag":405,"props":729,"children":730},{},[731,739,760],{"type":9,"tag":432,"props":732,"children":733},{},[734],{"type":9,"tag":24,"props":735,"children":736},{"className":26},[737],{"type":15,"value":738},"icon",{"type":9,"tag":432,"props":740,"children":741},{},[742,743,748,749,754,755],{"type":15,"value":632},{"type":9,"tag":24,"props":744,"children":745},{"className":26},[746],{"type":15,"value":747},"name: String",{"type":15,"value":475},{"type":9,"tag":24,"props":750,"children":751},{"className":26},[752],{"type":15,"value":753},"size: Int = 16",{"type":15,"value":475},{"type":9,"tag":24,"props":756,"children":757},{"className":26},[758],{"type":15,"value":759},"strokeWidth: Double = 2.0",{"type":9,"tag":432,"props":761,"children":762},{},[763],{"type":15,"value":764},"Decorative, aria-hidden Lucide SVG. No child content.",{"type":9,"tag":405,"props":766,"children":767},{},[768,776,801],{"type":9,"tag":432,"props":769,"children":770},{},[771],{"type":9,"tag":24,"props":772,"children":773},{"className":26},[774],{"type":15,"value":775},"spinner",{"type":9,"tag":432,"props":777,"children":778},{},[779,784,785,789,790,794,795,799],{"type":9,"tag":24,"props":780,"children":781},{"className":26},[782],{"type":15,"value":783},"size: String = \"sm\"",{"type":15,"value":449},{"type":9,"tag":24,"props":786,"children":787},{"className":26},[788],{"type":15,"value":466},{"type":15,"value":163},{"type":9,"tag":24,"props":791,"children":792},{"className":26},[793],{"type":15,"value":460},{"type":15,"value":163},{"type":9,"tag":24,"props":796,"children":797},{"className":26},[798],{"type":15,"value":454},{"type":15,"value":800},")",{"type":9,"tag":432,"props":802,"children":803},{},[804],{"type":15,"value":805},"Aria-hidden spinner, 12\u002F14\u002F20px respectively; stops animation for reduced motion. No child content.",{"type":9,"tag":405,"props":807,"children":808},{},[809,817,837],{"type":9,"tag":432,"props":810,"children":811},{},[812],{"type":9,"tag":24,"props":813,"children":814},{"className":26},[815],{"type":15,"value":816},"checkbox",{"type":9,"tag":432,"props":818,"children":819},{},[820,821,825,826,831,832],{"type":15,"value":632},{"type":9,"tag":24,"props":822,"children":823},{"className":26},[824],{"type":15,"value":637},{"type":15,"value":475},{"type":9,"tag":24,"props":827,"children":828},{"className":26},[829],{"type":15,"value":830},"description: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":833,"children":834},{"className":26},[835],{"type":15,"value":836},"checked: Boolean = false",{"type":9,"tag":432,"props":838,"children":839},{},[840,842,846,847,852,853,858,859,863],{"type":15,"value":841},"Wrapping label with a native 14px checkbox. Additional attributes and classes go to the input, including ",{"type":9,"tag":24,"props":843,"children":844},{"className":26},[845],{"type":15,"value":583},{"type":15,"value":163},{"type":9,"tag":24,"props":848,"children":849},{"className":26},[850],{"type":15,"value":851},"value",{"type":15,"value":163},{"type":9,"tag":24,"props":854,"children":855},{"className":26},[856],{"type":15,"value":857},"required",{"type":15,"value":170},{"type":9,"tag":24,"props":860,"children":861},{"className":26},[862],{"type":15,"value":589},{"type":15,"value":864},". Change events bubble to the label root. No child content.",{"type":9,"tag":405,"props":866,"children":867},{},[868,876,899],{"type":9,"tag":432,"props":869,"children":870},{},[871],{"type":9,"tag":24,"props":872,"children":873},{"className":26},[874],{"type":15,"value":875},"switch",{"type":9,"tag":432,"props":877,"children":878},{},[879,880,884,885,889,890,894,895],{"type":15,"value":632},{"type":9,"tag":24,"props":881,"children":882},{"className":26},[883],{"type":15,"value":637},{"type":15,"value":475},{"type":9,"tag":24,"props":886,"children":887},{"className":26},[888],{"type":15,"value":830},{"type":15,"value":475},{"type":9,"tag":24,"props":891,"children":892},{"className":26},[893],{"type":15,"value":836},{"type":15,"value":475},{"type":9,"tag":24,"props":896,"children":897},{"className":26},[898],{"type":15,"value":504},{"type":9,"tag":432,"props":900,"children":901},{},[902,904,909],{"type":15,"value":903},"Wrapping label with a native checkbox and ",{"type":9,"tag":24,"props":905,"children":906},{"className":26},[907],{"type":15,"value":908},"role=\"switch\"",{"type":15,"value":910},", presented as a 32×18px track. Additional attributes\u002Fclasses go to the input. Change events bubble to the label root. No child content.",{"type":9,"tag":405,"props":912,"children":913},{},[914,922,959],{"type":9,"tag":432,"props":915,"children":916},{},[917],{"type":9,"tag":24,"props":918,"children":919},{"className":26},[920],{"type":15,"value":921},"alert",{"type":9,"tag":432,"props":923,"children":924},{},[925,929,930,935,936,941,942,947,948,953,954],{"type":9,"tag":24,"props":926,"children":927},{"className":26},[928],{"type":15,"value":486},{"type":15,"value":475},{"type":9,"tag":24,"props":931,"children":932},{"className":26},[933],{"type":15,"value":934},"hidden: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":937,"children":938},{"className":26},[939],{"type":15,"value":940},"tone: String = \"error\"",{"type":15,"value":449},{"type":9,"tag":24,"props":943,"children":944},{"className":26},[945],{"type":15,"value":946},"error",{"type":15,"value":163},{"type":9,"tag":24,"props":949,"children":950},{"className":26},[951],{"type":15,"value":952},"success",{"type":15,"value":468},{"type":9,"tag":24,"props":955,"children":956},{"className":26},[957],{"type":15,"value":958},"compact: Boolean = false",{"type":9,"tag":432,"props":960,"children":961},{},[962,964,969],{"type":15,"value":963},"Native paragraph with ",{"type":9,"tag":24,"props":965,"children":966},{"className":26},[967],{"type":15,"value":968},"role=\"alert\"",{"type":15,"value":970},", forwarded attributes\u002Fclasses and default children. Compact text is 12px with an 18px line.",{"type":9,"tag":405,"props":972,"children":973},{},[974,982,1036],{"type":9,"tag":432,"props":975,"children":976},{},[977],{"type":9,"tag":24,"props":978,"children":979},{"className":26},[980],{"type":15,"value":981},"badge",{"type":9,"tag":432,"props":983,"children":984},{},[985,990,991,996,997,1002,1003,1008,1009,1013,1014,1019,1020,1024,1025,1030,1031],{"type":9,"tag":24,"props":986,"children":987},{"className":26},[988],{"type":15,"value":989},"tone: String = \"neutral\"",{"type":15,"value":449},{"type":9,"tag":24,"props":992,"children":993},{"className":26},[994],{"type":15,"value":995},"neutral",{"type":15,"value":163},{"type":9,"tag":24,"props":998,"children":999},{"className":26},[1000],{"type":15,"value":1001},"purple",{"type":15,"value":163},{"type":9,"tag":24,"props":1004,"children":1005},{"className":26},[1006],{"type":15,"value":1007},"info",{"type":15,"value":163},{"type":9,"tag":24,"props":1010,"children":1011},{"className":26},[1012],{"type":15,"value":952},{"type":15,"value":163},{"type":9,"tag":24,"props":1015,"children":1016},{"className":26},[1017],{"type":15,"value":1018},"warning",{"type":15,"value":163},{"type":9,"tag":24,"props":1021,"children":1022},{"className":26},[1023],{"type":15,"value":946},{"type":15,"value":163},{"type":9,"tag":24,"props":1026,"children":1027},{"className":26},[1028],{"type":15,"value":1029},"accent",{"type":15,"value":468},{"type":9,"tag":24,"props":1032,"children":1033},{"className":26},[1034],{"type":15,"value":1035},"color: String = \"\"",{"type":9,"tag":432,"props":1037,"children":1038},{},[1039],{"type":15,"value":1040},"Native span with forwarded attributes\u002Fclasses and default children. A supplied CSS color overrides the tone.",{"type":9,"tag":405,"props":1042,"children":1043},{},[1044,1052,1071],{"type":9,"tag":432,"props":1045,"children":1046},{},[1047],{"type":9,"tag":24,"props":1048,"children":1049},{"className":26},[1050],{"type":15,"value":1051},"empty-state",{"type":9,"tag":432,"props":1053,"children":1054},{},[1055,1060,1061,1065,1066],{"type":9,"tag":24,"props":1056,"children":1057},{"className":26},[1058],{"type":15,"value":1059},"message: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1062,"children":1063},{"className":26},[1064],{"type":15,"value":673},{"type":15,"value":475},{"type":9,"tag":24,"props":1067,"children":1068},{"className":26},[1069],{"type":15,"value":1070},"icon: String = \"folder\"",{"type":9,"tag":432,"props":1072,"children":1073},{},[1074],{"type":15,"value":1075},"Native div with forwarded attributes\u002Fclasses, decorative icon, optional title\u002Fmessage and default action children.",{"type":9,"tag":405,"props":1077,"children":1078},{},[1079,1087,1105],{"type":9,"tag":432,"props":1080,"children":1081},{},[1082],{"type":9,"tag":24,"props":1083,"children":1084},{"className":26},[1085],{"type":15,"value":1086},"loading-state",{"type":9,"tag":432,"props":1088,"children":1089},{},[1090,1095,1096,1100,1101],{"type":9,"tag":24,"props":1091,"children":1092},{"className":26},[1093],{"type":15,"value":1094},"label: String = \"Loading…\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1097,"children":1098},{"className":26},[1099],{"type":15,"value":958},{"type":15,"value":475},{"type":9,"tag":24,"props":1102,"children":1103},{"className":26},[1104],{"type":15,"value":486},{"type":9,"tag":432,"props":1106,"children":1107},{},[1108,1110,1115],{"type":15,"value":1109},"Native div with ",{"type":9,"tag":24,"props":1111,"children":1112},{"className":26},[1113],{"type":15,"value":1114},"role=\"status\"",{"type":15,"value":1116},", forwarded attributes\u002Fclasses, decorative spinner and visible label. No child content.",{"type":9,"tag":405,"props":1118,"children":1119},{},[1120,1128,1136],{"type":9,"tag":432,"props":1121,"children":1122},{},[1123],{"type":9,"tag":24,"props":1124,"children":1125},{"className":26},[1126],{"type":15,"value":1127},"table-scroll",{"type":9,"tag":432,"props":1129,"children":1130},{},[1131],{"type":9,"tag":24,"props":1132,"children":1133},{"className":26},[1134],{"type":15,"value":1135},"label: String = \"Scrollable table\"",{"type":9,"tag":432,"props":1137,"children":1138},{},[1139],{"type":15,"value":1140},"Focusable, labelled region with forwarded attributes\u002Fclasses and default table children. Horizontal overflow stays inside the region; keyboard focus uses the accent color.",{"type":9,"tag":405,"props":1142,"children":1143},{},[1144,1152,1157],{"type":9,"tag":432,"props":1145,"children":1146},{},[1147],{"type":9,"tag":24,"props":1148,"children":1149},{"className":26},[1150],{"type":15,"value":1151},"bosca-mark",{"type":9,"tag":432,"props":1153,"children":1154},{},[1155],{"type":15,"value":1156},"No named props",{"type":9,"tag":432,"props":1158,"children":1159},{},[1160,1162,1167,1169,1174],{"type":15,"value":1161},"The actual 22×22px Bosca SVG, labelled ",{"type":9,"tag":24,"props":1163,"children":1164},{"className":26},[1165],{"type":15,"value":1166},"Bosca",{"type":15,"value":1168},", with forwarded attributes\u002Fclasses. ",{"type":9,"tag":24,"props":1170,"children":1171},{"className":26},[1172],{"type":15,"value":1173},"aria-hidden",{"type":15,"value":1175}," can mark it decorative. No child content.",{"type":9,"tag":405,"props":1177,"children":1178},{},[1179,1187,1208],{"type":9,"tag":432,"props":1180,"children":1181},{},[1182],{"type":9,"tag":24,"props":1183,"children":1184},{"className":26},[1185],{"type":15,"value":1186},"app-header",{"type":9,"tag":432,"props":1188,"children":1189},{},[1190,1191,1196,1197,1202,1203],{"type":15,"value":632},{"type":9,"tag":24,"props":1192,"children":1193},{"className":26},[1194],{"type":15,"value":1195},"brand: String",{"type":15,"value":170},{"type":9,"tag":24,"props":1198,"children":1199},{"className":26},[1200],{"type":15,"value":1201},"href: String",{"type":15,"value":475},{"type":9,"tag":24,"props":1204,"children":1205},{"className":26},[1206],{"type":15,"value":1207},"product: String = \"\"",{"type":9,"tag":432,"props":1209,"children":1210},{},[1211],{"type":15,"value":1212},"Header with a brand link\u002Fmark and default navigation children. Extra attributes\u002Fclasses target the header. A 224px sidebar becomes a wrapping header at 700px. Scoped client code reveals the active item in overflowing navigation on mount, resize and updates within the header.",{"type":9,"tag":405,"props":1214,"children":1215},{},[1216,1224,1228],{"type":9,"tag":432,"props":1217,"children":1218},{},[1219],{"type":9,"tag":24,"props":1220,"children":1221},{"className":26},[1222],{"type":15,"value":1223},"app-shell",{"type":9,"tag":432,"props":1225,"children":1226},{},[1227],{"type":15,"value":1156},{"type":9,"tag":432,"props":1229,"children":1230},{},[1231],{"type":15,"value":1232},"Root div receives attributes\u002Fclasses and projected app-header\u002Fcontent. Supplies the responsive Git shell layout and ambient gradients. Public shell-* classes style projected regions.",{"type":9,"tag":405,"props":1234,"children":1235},{},[1236,1244,1276],{"type":9,"tag":432,"props":1237,"children":1238},{},[1239],{"type":9,"tag":24,"props":1240,"children":1241},{"className":26},[1242],{"type":15,"value":1243},"profile",{"type":9,"tag":432,"props":1245,"children":1246},{},[1247,1248,1252,1253,1258,1259,1264,1265,1270,1271],{"type":15,"value":632},{"type":9,"tag":24,"props":1249,"children":1250},{"className":26},[1251],{"type":15,"value":747},{"type":15,"value":475},{"type":9,"tag":24,"props":1254,"children":1255},{"className":26},[1256],{"type":15,"value":1257},"subtitle: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1260,"children":1261},{"className":26},[1262],{"type":15,"value":1263},"avatar: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1266,"children":1267},{"className":26},[1268],{"type":15,"value":1269},"initials: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1272,"children":1273},{"className":26},[1274],{"type":15,"value":1275},"showAvatar: Boolean = true",{"type":9,"tag":432,"props":1277,"children":1278},{},[1279],{"type":15,"value":1280},"Identity display with a decorative image, initials or user icon. Text truncates within its available width. Root receives attributes\u002Fclasses; no children.",{"type":9,"tag":405,"props":1282,"children":1283},{},[1284,1292,1329],{"type":9,"tag":432,"props":1285,"children":1286},{},[1287],{"type":9,"tag":24,"props":1288,"children":1289},{"className":26},[1290],{"type":15,"value":1291},"profile-menu",{"type":9,"tag":432,"props":1293,"children":1294},{},[1295,1300,1301,1306,1307,1311,1312,1317,1318,1323,1324],{"type":9,"tag":24,"props":1296,"children":1297},{"className":26},[1298],{"type":15,"value":1299},"label: String = \"Profile\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1302,"children":1303},{"className":26},[1304],{"type":15,"value":1305},"name: String = \"Profile\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1308,"children":1309},{"className":26},[1310],{"type":15,"value":1257},{"type":15,"value":475},{"type":9,"tag":24,"props":1313,"children":1314},{"className":26},[1315],{"type":15,"value":1316},"icon: String = \"users\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1319,"children":1320},{"className":26},[1321],{"type":15,"value":1322},"width: Int = 260",{"type":15,"value":475},{"type":9,"tag":24,"props":1325,"children":1326},{"className":26},[1327],{"type":15,"value":1328},"error: String = \"\"",{"type":9,"tag":432,"props":1330,"children":1331},{},[1332],{"type":15,"value":1333},"Root receives attributes\u002Fclasses. Projects native menu-item links\u002Fbuttons into the shared popover, with identity heading and optional error. Authentication, actions and persistence belong to the consumer.",{"type":9,"tag":405,"props":1335,"children":1336},{},[1337,1345,1359],{"type":9,"tag":432,"props":1338,"children":1339},{},[1340],{"type":9,"tag":24,"props":1341,"children":1342},{"className":26},[1343],{"type":15,"value":1344},"workspace",{"type":9,"tag":432,"props":1346,"children":1347},{},[1348,1349,1353,1354],{"type":15,"value":632},{"type":9,"tag":24,"props":1350,"children":1351},{"className":26},[1352],{"type":15,"value":637},{"type":15,"value":475},{"type":9,"tag":24,"props":1355,"children":1356},{"className":26},[1357],{"type":15,"value":1358},"framed: Boolean = false",{"type":9,"tag":432,"props":1360,"children":1361},{},[1362,1364,1369],{"type":15,"value":1363},"Labelled fill-height section with projected children and forwarded attributes\u002Fclasses. Add a descendant ",{"type":9,"tag":24,"props":1365,"children":1366},{"className":26},[1367],{"type":15,"value":1368},"fullscreen-button",{"type":15,"value":1370}," to expand it.",{"type":9,"tag":405,"props":1372,"children":1373},{},[1374,1381,1395],{"type":9,"tag":432,"props":1375,"children":1376},{},[1377],{"type":9,"tag":24,"props":1378,"children":1379},{"className":26},[1380],{"type":15,"value":1368},{"type":9,"tag":432,"props":1382,"children":1383},{},[1384,1389,1390],{"type":9,"tag":24,"props":1385,"children":1386},{"className":26},[1387],{"type":15,"value":1388},"label: String = \"Full screen\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1391,"children":1392},{"className":26},[1393],{"type":15,"value":1394},"exitLabel: String = \"Exit full screen\"",{"type":9,"tag":432,"props":1396,"children":1397},{},[1398],{"type":15,"value":1399},"Native icon button controls its nearest workspace, with forwarded attributes\u002Fclasses. Enter\u002Fexit icons have accessible labels and tooltips; the 30×30px footprint stays fixed. Hidden until enhanced.",{"type":9,"tag":405,"props":1401,"children":1402},{},[1403,1411,1415],{"type":9,"tag":432,"props":1404,"children":1405},{},[1406],{"type":9,"tag":24,"props":1407,"children":1408},{"className":26},[1409],{"type":15,"value":1410},"panel",{"type":9,"tag":432,"props":1412,"children":1413},{},[1414],{"type":15,"value":1156},{"type":9,"tag":432,"props":1416,"children":1417},{},[1418],{"type":15,"value":1419},"Native section with a surface, border, 20px padding and default children. Additional attributes\u002Fclasses target the section.",{"type":9,"tag":405,"props":1421,"children":1422},{},[1423,1431,1435],{"type":9,"tag":432,"props":1424,"children":1425},{},[1426],{"type":9,"tag":24,"props":1427,"children":1428},{"className":26},[1429],{"type":15,"value":1430},"section",{"type":9,"tag":432,"props":1432,"children":1433},{},[1434],{"type":15,"value":1156},{"type":9,"tag":432,"props":1436,"children":1437},{},[1438],{"type":15,"value":1439},"Native section with 16px vertical spacing, a bottom border and default children. Additional attributes\u002Fclasses target the section.",{"type":9,"tag":405,"props":1441,"children":1442},{},[1443,1451,1506],{"type":9,"tag":432,"props":1444,"children":1445},{},[1446],{"type":9,"tag":24,"props":1447,"children":1448},{"className":26},[1449],{"type":15,"value":1450},"page-heading",{"type":9,"tag":432,"props":1452,"children":1453},{},[1454,1455,1460,1461,1465,1466,1471,1472,1477,1478,1482,1483,1488,1489,1494,1495,1500,1501],{"type":15,"value":632},{"type":9,"tag":24,"props":1456,"children":1457},{"className":26},[1458],{"type":15,"value":1459},"title: String",{"type":15,"value":475},{"type":9,"tag":24,"props":1462,"children":1463},{"className":26},[1464],{"type":15,"value":1257},{"type":15,"value":475},{"type":9,"tag":24,"props":1467,"children":1468},{"className":26},[1469],{"type":15,"value":1470},"trail: List\u003CNavigationItem> = emptyList()",{"type":15,"value":475},{"type":9,"tag":24,"props":1473,"children":1474},{"className":26},[1475],{"type":15,"value":1476},"crumb: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1479,"children":1480},{"className":26},[1481],{"type":15,"value":498},{"type":15,"value":475},{"type":9,"tag":24,"props":1484,"children":1485},{"className":26},[1486],{"type":15,"value":1487},"iconColor: String = \"var(--accent)\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1490,"children":1491},{"className":26},[1492],{"type":15,"value":1493},"badge: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1496,"children":1497},{"className":26},[1498],{"type":15,"value":1499},"badgeTone: String = \"neutral\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1502,"children":1503},{"className":26},[1504],{"type":15,"value":1505},"badgeColor: String = \"\"",{"type":9,"tag":432,"props":1507,"children":1508},{},[1509],{"type":15,"value":1510},"Header with breadcrumbs, title\u002Ficon, optional badge\u002Fsubtitle and default action children. Additional attributes\u002Fclasses target the header. The current crumb defaults to the title.",{"type":9,"tag":405,"props":1512,"children":1513},{},[1514,1522,1535],{"type":9,"tag":432,"props":1515,"children":1516},{},[1517],{"type":9,"tag":24,"props":1518,"children":1519},{"className":26},[1520],{"type":15,"value":1521},"section-heading",{"type":9,"tag":432,"props":1523,"children":1524},{},[1525,1526,1530,1531],{"type":15,"value":632},{"type":9,"tag":24,"props":1527,"children":1528},{"className":26},[1529],{"type":15,"value":1459},{"type":15,"value":475},{"type":9,"tag":24,"props":1532,"children":1533},{"className":26},[1534],{"type":15,"value":1257},{"type":9,"tag":432,"props":1536,"children":1537},{},[1538],{"type":15,"value":1539},"Header with a title, subtitle and default action children. Additional attributes\u002Fclasses target the header.",{"type":9,"tag":405,"props":1541,"children":1542},{},[1543,1551,1558],{"type":9,"tag":432,"props":1544,"children":1545},{},[1546],{"type":9,"tag":24,"props":1547,"children":1548},{"className":26},[1549],{"type":15,"value":1550},"disclosure-heading",{"type":9,"tag":432,"props":1552,"children":1553},{},[1554],{"type":9,"tag":24,"props":1555,"children":1556},{"className":26},[1557],{"type":15,"value":1358},{"type":9,"tag":432,"props":1559,"children":1560},{},[1561,1563,1568],{"type":15,"value":1562},"Native summary inside caller-owned ",{"type":9,"tag":24,"props":1564,"children":1565},{"className":26},[1566],{"type":15,"value":1567},"details",{"type":15,"value":1569},", with default label children and a decorative chevron that follows the open state. Additional attributes\u002Fclasses target the summary.",{"type":9,"tag":405,"props":1571,"children":1572},{},[1573,1581,1626],{"type":9,"tag":432,"props":1574,"children":1575},{},[1576],{"type":9,"tag":24,"props":1577,"children":1578},{"className":26},[1579],{"type":15,"value":1580},"icon-button",{"type":9,"tag":432,"props":1582,"children":1583},{},[1584,1585,1590,1591,1595,1596,1600,1601,1605,1606,1610,1611,1615,1616,1620,1621,1625],{"type":15,"value":632},{"type":9,"tag":24,"props":1586,"children":1587},{"className":26},[1588],{"type":15,"value":1589},"icon: String",{"type":15,"value":170},{"type":9,"tag":24,"props":1592,"children":1593},{"className":26},[1594],{"type":15,"value":637},{"type":15,"value":475},{"type":9,"tag":24,"props":1597,"children":1598},{"className":26},[1599],{"type":15,"value":486},{"type":15,"value":475},{"type":9,"tag":24,"props":1602,"children":1603},{"className":26},[1604],{"type":15,"value":480},{"type":15,"value":475},{"type":9,"tag":24,"props":1607,"children":1608},{"className":26},[1609],{"type":15,"value":504},{"type":15,"value":475},{"type":9,"tag":24,"props":1612,"children":1613},{"className":26},[1614],{"type":15,"value":783},{"type":15,"value":449},{"type":9,"tag":24,"props":1617,"children":1618},{"className":26},[1619],{"type":15,"value":460},{"type":15,"value":163},{"type":9,"tag":24,"props":1622,"children":1623},{"className":26},[1624],{"type":15,"value":466},{"type":15,"value":800},{"type":9,"tag":432,"props":1627,"children":1628},{},[1629,1631,1635],{"type":15,"value":1630},"Native button with a decorative icon, required accessible name and tooltip. Additional attributes\u002Fclasses and actions reach the button. Default dimensions are 30×30px; ",{"type":9,"tag":24,"props":1632,"children":1633},{"className":26},[1634],{"type":15,"value":466},{"type":15,"value":1636}," is 24×24px. No child content.",{"type":9,"tag":405,"props":1638,"children":1639},{},[1640,1648,1666],{"type":9,"tag":432,"props":1641,"children":1642},{},[1643],{"type":9,"tag":24,"props":1644,"children":1645},{"className":26},[1646],{"type":15,"value":1647},"icon-link",{"type":9,"tag":432,"props":1649,"children":1650},{},[1651,1652,1656,1657,1661,1662],{"type":15,"value":632},{"type":9,"tag":24,"props":1653,"children":1654},{"className":26},[1655],{"type":15,"value":1589},{"type":15,"value":163},{"type":9,"tag":24,"props":1658,"children":1659},{"className":26},[1660],{"type":15,"value":637},{"type":15,"value":170},{"type":9,"tag":24,"props":1663,"children":1664},{"className":26},[1665],{"type":15,"value":1201},{"type":9,"tag":432,"props":1667,"children":1668},{},[1669,1671,1676,1677,1682,1683,1688,1690,1695],{"type":15,"value":1670},"Native 30×30px anchor with a decorative icon, accessible name and tooltip. Additional attributes\u002Fclasses target the anchor, including ",{"type":9,"tag":24,"props":1672,"children":1673},{"className":26},[1674],{"type":15,"value":1675},"target",{"type":15,"value":163},{"type":9,"tag":24,"props":1678,"children":1679},{"className":26},[1680],{"type":15,"value":1681},"rel",{"type":15,"value":170},{"type":9,"tag":24,"props":1684,"children":1685},{"className":26},[1686],{"type":15,"value":1687},"download",{"type":15,"value":1689},". Supports the ",{"type":9,"tag":24,"props":1691,"children":1692},{"className":26},[1693],{"type":15,"value":1694},"primary",{"type":15,"value":1696}," class modifier. No child content.",{"type":9,"tag":405,"props":1698,"children":1699},{},[1700,1708,1755],{"type":9,"tag":432,"props":1701,"children":1702},{},[1703],{"type":9,"tag":24,"props":1704,"children":1705},{"className":26},[1706],{"type":15,"value":1707},"tooltip",{"type":9,"tag":432,"props":1709,"children":1710},{},[1711,1712,1717,1718,1723,1724,1729,1730,1735,1736,1741,1742,1747,1748,1753],{"type":15,"value":632},{"type":9,"tag":24,"props":1713,"children":1714},{"className":26},[1715],{"type":15,"value":1716},"content: String",{"type":15,"value":475},{"type":9,"tag":24,"props":1719,"children":1720},{"className":26},[1721],{"type":15,"value":1722},"placement: String = \"top\"",{"type":15,"value":449},{"type":9,"tag":24,"props":1725,"children":1726},{"className":26},[1727],{"type":15,"value":1728},"top",{"type":15,"value":163},{"type":9,"tag":24,"props":1731,"children":1732},{"className":26},[1733],{"type":15,"value":1734},"bottom",{"type":15,"value":163},{"type":9,"tag":24,"props":1737,"children":1738},{"className":26},[1739],{"type":15,"value":1740},"left",{"type":15,"value":163},{"type":9,"tag":24,"props":1743,"children":1744},{"className":26},[1745],{"type":15,"value":1746},"right",{"type":15,"value":468},{"type":9,"tag":24,"props":1749,"children":1750},{"className":26},[1751],{"type":15,"value":1752},"delay: Int = 200",{"type":15,"value":1754}," (milliseconds)",{"type":9,"tag":432,"props":1756,"children":1757},{},[1758],{"type":15,"value":1759},"Inline span with default children. The first descendant button\u002Flink\u002Ftabbable element is its trigger, falling back to the root. Additional attributes\u002Fclasses target the span.",{"type":9,"tag":405,"props":1761,"children":1762},{},[1763,1771,1904],{"type":9,"tag":432,"props":1764,"children":1765},{},[1766],{"type":9,"tag":24,"props":1767,"children":1768},{"className":26},[1769],{"type":15,"value":1770},"dialog",{"type":9,"tag":432,"props":1772,"children":1773},{},[1774,1775,1779,1780,1785,1786,1790,1791,1795,1796,1800,1801,1805,1806,1811,1812,1817,1818,1822,1823,1827,1828,1833,1834,1839,1840,1845,1846,1851,1852,1856,1857,1862,1863,1868,1869,1874,1875,1880,1881,1886,1887,1892,1893,1898,1899],{"type":15,"value":632},{"type":9,"tag":24,"props":1776,"children":1777},{"className":26},[1778],{"type":15,"value":1459},{"type":15,"value":170},{"type":9,"tag":24,"props":1781,"children":1782},{"className":26},[1783],{"type":15,"value":1784},"triggerLabel: String",{"type":15,"value":475},{"type":9,"tag":24,"props":1787,"children":1788},{"className":26},[1789],{"type":15,"value":1257},{"type":15,"value":475},{"type":9,"tag":24,"props":1792,"children":1793},{"className":26},[1794],{"type":15,"value":447},{"type":15,"value":449},{"type":9,"tag":24,"props":1797,"children":1798},{"className":26},[1799],{"type":15,"value":460},{"type":15,"value":163},{"type":9,"tag":24,"props":1802,"children":1803},{"className":26},[1804],{"type":15,"value":454},{"type":15,"value":163},{"type":9,"tag":24,"props":1807,"children":1808},{"className":26},[1809],{"type":15,"value":1810},"lg",{"type":15,"value":468},{"type":9,"tag":24,"props":1813,"children":1814},{"className":26},[1815],{"type":15,"value":1816},"triggerIcon: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1819,"children":1820},{"className":26},[1821],{"type":15,"value":498},{"type":15,"value":475},{"type":9,"tag":24,"props":1824,"children":1825},{"className":26},[1826],{"type":15,"value":492},{"type":15,"value":475},{"type":9,"tag":24,"props":1829,"children":1830},{"className":26},[1831],{"type":15,"value":1832},"triggerIconOnly: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":1835,"children":1836},{"className":26},[1837],{"type":15,"value":1838},"triggerDisabled: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":1841,"children":1842},{"className":26},[1843],{"type":15,"value":1844},"showTrigger: Boolean = true",{"type":15,"value":475},{"type":9,"tag":24,"props":1847,"children":1848},{"className":26},[1849],{"type":15,"value":1850},"triggerStyle: String = \"button\"",{"type":15,"value":449},{"type":9,"tag":24,"props":1853,"children":1854},{"className":26},[1855],{"type":15,"value":439},{"type":15,"value":163},{"type":9,"tag":24,"props":1858,"children":1859},{"className":26},[1860],{"type":15,"value":1861},"block",{"type":15,"value":163},{"type":9,"tag":24,"props":1864,"children":1865},{"className":26},[1866],{"type":15,"value":1867},"plain",{"type":15,"value":163},{"type":9,"tag":24,"props":1870,"children":1871},{"className":26},[1872],{"type":15,"value":1873},"link",{"type":15,"value":163},{"type":9,"tag":24,"props":1876,"children":1877},{"className":26},[1878],{"type":15,"value":1879},"ghost",{"type":15,"value":468},{"type":9,"tag":24,"props":1882,"children":1883},{"className":26},[1884],{"type":15,"value":1885},"returnFocus: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1888,"children":1889},{"className":26},[1890],{"type":15,"value":1891},"forceOpen: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":1894,"children":1895},{"className":26},[1896],{"type":15,"value":1897},"openRequest: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1900,"children":1901},{"className":26},[1902],{"type":15,"value":1903},"completed: Boolean = false",{"type":9,"tag":432,"props":1905,"children":1906},{},[1907,1909,1914,1916,1921],{"type":15,"value":1908},"Wrapper div receives additional attributes\u002Fclasses and contains a native modal dialog. Default children supply the body\u002Fform\u002Ffooter. ",{"type":9,"tag":24,"props":1910,"children":1911},{"className":26},[1912],{"type":15,"value":1913},"ref=\"cancel\"",{"type":15,"value":1915}," or ",{"type":9,"tag":24,"props":1917,"children":1918},{"className":26},[1919],{"type":15,"value":1920},"data-dialog-close",{"type":15,"value":1922}," on a projected control closes it. Native panel widths are 400\u002F520\u002F760px, constrained to the viewport.",{"type":9,"tag":405,"props":1924,"children":1925},{},[1926,1934,1976],{"type":9,"tag":432,"props":1927,"children":1928},{},[1929],{"type":9,"tag":24,"props":1930,"children":1931},{"className":26},[1932],{"type":15,"value":1933},"confirm-dialog",{"type":9,"tag":432,"props":1935,"children":1936},{},[1937,1938,1942,1943,1948,1949,1954,1955,1960,1961,1965,1966,1971,1972],{"type":15,"value":632},{"type":9,"tag":24,"props":1939,"children":1940},{"className":26},[1941],{"type":15,"value":1459},{"type":15,"value":170},{"type":9,"tag":24,"props":1944,"children":1945},{"className":26},[1946],{"type":15,"value":1947},"description: String",{"type":15,"value":475},{"type":9,"tag":24,"props":1950,"children":1951},{"className":26},[1952],{"type":15,"value":1953},"triggerLabel: String = \"Remove\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1956,"children":1957},{"className":26},[1958],{"type":15,"value":1959},"icon: String = \"trash\"",{"type":15,"value":475},{"type":9,"tag":24,"props":1962,"children":1963},{"className":26},[1964],{"type":15,"value":1891},{"type":15,"value":475},{"type":9,"tag":24,"props":1967,"children":1968},{"className":26},[1969],{"type":15,"value":1970},"triggerIconOnly: Boolean = true",{"type":15,"value":475},{"type":9,"tag":24,"props":1973,"children":1974},{"className":26},[1975],{"type":15,"value":1850},{"type":9,"tag":432,"props":1977,"children":1978},{},[1979],{"type":15,"value":1980},"Small dialog with description and default action children. Additional attributes\u002Fclasses reach the dialog wrapper. The application owns confirmation actions and their outcomes.",{"type":9,"tag":405,"props":1982,"children":1983},{},[1984,1992,2017],{"type":9,"tag":432,"props":1985,"children":1986},{},[1987],{"type":9,"tag":24,"props":1988,"children":1989},{"className":26},[1990],{"type":15,"value":1991},"popover",{"type":9,"tag":432,"props":1993,"children":1994},{},[1995,1996,2000,2001,2005,2006,2011,2012],{"type":15,"value":632},{"type":9,"tag":24,"props":1997,"children":1998},{"className":26},[1999],{"type":15,"value":637},{"type":15,"value":475},{"type":9,"tag":24,"props":2002,"children":2003},{"className":26},[2004],{"type":15,"value":498},{"type":15,"value":475},{"type":9,"tag":24,"props":2007,"children":2008},{"className":26},[2009],{"type":15,"value":2010},"iconOnly: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":2013,"children":2014},{"className":26},[2015],{"type":15,"value":2016},"width: Int = 360",{"type":9,"tag":432,"props":2018,"children":2019},{},[2020],{"type":15,"value":2021},"Native details with a labelled summary and default children in a labelled region. Additional attributes\u002Fclasses target details. Scripts enhance its content into a viewport-fitted manual popover; without scripts it remains a native disclosure.",{"type":9,"tag":405,"props":2023,"children":2024},{},[2025,2033,2054],{"type":9,"tag":432,"props":2026,"children":2027},{},[2028],{"type":9,"tag":24,"props":2029,"children":2030},{"className":26},[2031],{"type":15,"value":2032},"copy",{"type":9,"tag":432,"props":2034,"children":2035},{},[2036,2037,2042,2043,2048,2049],{"type":15,"value":632},{"type":9,"tag":24,"props":2038,"children":2039},{"className":26},[2040],{"type":15,"value":2041},"value: String",{"type":15,"value":475},{"type":9,"tag":24,"props":2044,"children":2045},{"className":26},[2046],{"type":15,"value":2047},"label: String = \"Copy\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2050,"children":2051},{"className":26},[2052],{"type":15,"value":2053},"showStatus: Boolean = true",{"type":9,"tag":432,"props":2055,"children":2056},{},[2057,2059,2064],{"type":15,"value":2058},"Root div receives additional attributes\u002Fclasses. Its 30×30px native button copies the value, switches decorative icons and reports status. No child content. Visible status reserves 26ch so feedback does not move neighboring content; ",{"type":9,"tag":24,"props":2060,"children":2061},{"className":26},[2062],{"type":15,"value":2063},"showStatus=\"false\"",{"type":15,"value":2065}," keeps status accessible with no visible message space.",{"type":9,"tag":405,"props":2067,"children":2068},{},[2069,2077,2096],{"type":9,"tag":432,"props":2070,"children":2071},{},[2072],{"type":9,"tag":24,"props":2073,"children":2074},{"className":26},[2075],{"type":15,"value":2076},"copy-field",{"type":9,"tag":432,"props":2078,"children":2079},{},[2080,2081,2085,2086,2090,2091],{"type":15,"value":632},{"type":9,"tag":24,"props":2082,"children":2083},{"className":26},[2084],{"type":15,"value":2041},{"type":15,"value":170},{"type":9,"tag":24,"props":2087,"children":2088},{"className":26},[2089],{"type":15,"value":637},{"type":15,"value":475},{"type":9,"tag":24,"props":2092,"children":2093},{"className":26},[2094],{"type":15,"value":2095},"copyLabel: String = \"Copy value\"",{"type":9,"tag":432,"props":2097,"children":2098},{},[2099],{"type":15,"value":2100},"Root div receives additional attributes\u002Fclasses. A labelled readonly input and compact copy action display a single-line value. No child content. Focus selects the value; denied\u002Funavailable clipboard access selects it and exposes manual-copy guidance.",{"type":9,"tag":405,"props":2102,"children":2103},{},[2104,2112,2165],{"type":9,"tag":432,"props":2105,"children":2106},{},[2107],{"type":9,"tag":24,"props":2108,"children":2109},{"className":26},[2110],{"type":15,"value":2111},"toast",{"type":9,"tag":432,"props":2113,"children":2114},{},[2115,2116,2121,2122,2126,2127,2132,2133,2138,2139,2143,2144,2148,2149,2153,2154,2158,2159,2164],{"type":15,"value":632},{"type":9,"tag":24,"props":2117,"children":2118},{"className":26},[2119],{"type":15,"value":2120},"id: String",{"type":15,"value":475},{"type":9,"tag":24,"props":2123,"children":2124},{"className":26},[2125],{"type":15,"value":1059},{"type":15,"value":475},{"type":9,"tag":24,"props":2128,"children":2129},{"className":26},[2130],{"type":15,"value":2131},"sequence: Int = 0",{"type":15,"value":475},{"type":9,"tag":24,"props":2134,"children":2135},{"className":26},[2136],{"type":15,"value":2137},"tone: String = \"info\"",{"type":15,"value":449},{"type":9,"tag":24,"props":2140,"children":2141},{"className":26},[2142],{"type":15,"value":1007},{"type":15,"value":163},{"type":9,"tag":24,"props":2145,"children":2146},{"className":26},[2147],{"type":15,"value":952},{"type":15,"value":163},{"type":9,"tag":24,"props":2150,"children":2151},{"className":26},[2152],{"type":15,"value":1018},{"type":15,"value":163},{"type":9,"tag":24,"props":2155,"children":2156},{"className":26},[2157],{"type":15,"value":946},{"type":15,"value":468},{"type":9,"tag":24,"props":2160,"children":2161},{"className":26},[2162],{"type":15,"value":2163},"duration: Int = 4000",{"type":15,"value":1754},{"type":9,"tag":432,"props":2166,"children":2167},{},[2168,2170,2175,2177,2182],{"type":15,"value":2169},"Manual-popover root receives additional attributes\u002Fclasses. ",{"type":9,"tag":24,"props":2171,"children":2172},{"className":26},[2173],{"type":15,"value":2174},"id",{"type":15,"value":2176}," supplies its stable ",{"type":9,"tag":24,"props":2178,"children":2179},{"className":26},[2180],{"type":15,"value":2181},"data-bml-preserve",{"type":15,"value":2183}," key, rather than a native DOM ID. No child content. The caller issues each nonempty notice with a new positive sequence while mounted; initial state, ordinary updates and same\u002Folder sequences do not replay it.",{"type":9,"tag":405,"props":2185,"children":2186},{},[2187,2195,2237],{"type":9,"tag":432,"props":2188,"children":2189},{},[2190],{"type":9,"tag":24,"props":2191,"children":2192},{"className":26},[2193],{"type":15,"value":2194},"search-input",{"type":9,"tag":432,"props":2196,"children":2197},{},[2198,2202,2203,2208,2209,2214,2215,2220,2221,2226,2227,2231,2232],{"type":9,"tag":24,"props":2199,"children":2200},{"className":26},[2201],{"type":15,"value":567},{"type":15,"value":475},{"type":9,"tag":24,"props":2204,"children":2205},{"className":26},[2206],{"type":15,"value":2207},"name: String = \"q\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2210,"children":2211},{"className":26},[2212],{"type":15,"value":2213},"placeholder: String = \"Search…\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2216,"children":2217},{"className":26},[2218],{"type":15,"value":2219},"label: String = \"Search\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2222,"children":2223},{"className":26},[2224],{"type":15,"value":2225},"preserveKey: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2228,"children":2229},{"className":26},[2230],{"type":15,"value":504},{"type":15,"value":475},{"type":9,"tag":24,"props":2233,"children":2234},{"className":26},[2235],{"type":15,"value":2236},"autofocus: Boolean = true",{"type":9,"tag":432,"props":2238,"children":2239},{},[2240,2242,2246],{"type":15,"value":2241},"Search wrapper with decorative icon, clear action and default trailing action children. Additional attributes\u002Fclasses\u002Fevents target the native search input. The clear action emits one bubbling ",{"type":9,"tag":24,"props":2243,"children":2244},{"className":26},[2245],{"type":15,"value":527},{"type":15,"value":2247}," event and returns focus to the query.",{"type":9,"tag":405,"props":2249,"children":2250},{},[2251,2259,2288],{"type":9,"tag":432,"props":2252,"children":2253},{},[2254],{"type":9,"tag":24,"props":2255,"children":2256},{"className":26},[2257],{"type":15,"value":2258},"segmented-control",{"type":9,"tag":432,"props":2260,"children":2261},{},[2262,2263,2267,2268,2272,2273,2278,2279,2283,2284],{"type":15,"value":632},{"type":9,"tag":24,"props":2264,"children":2265},{"className":26},[2266],{"type":15,"value":637},{"type":15,"value":163},{"type":9,"tag":24,"props":2269,"children":2270},{"className":26},[2271],{"type":15,"value":747},{"type":15,"value":163},{"type":9,"tag":24,"props":2274,"children":2275},{"className":26},[2276],{"type":15,"value":2277},"options: List\u003CSegmentOption>",{"type":15,"value":170},{"type":9,"tag":24,"props":2280,"children":2281},{"className":26},[2282],{"type":15,"value":2041},{"type":15,"value":475},{"type":9,"tag":24,"props":2285,"children":2286},{"className":26},[2287],{"type":15,"value":2225},{"type":9,"tag":432,"props":2289,"children":2290},{},[2291,2293,2298],{"type":15,"value":2292},"Radiogroup receives additional attributes\u002Fclasses\u002Fevents. Each SegmentOption supplies its stable value, label, decorative icon and disabled state. A hidden native input supplies the selected form value. Emits bubbling ",{"type":9,"tag":24,"props":2294,"children":2295},{"className":26},[2296],{"type":15,"value":2297},"segmentchange",{"type":15,"value":2299}," after updating its native value. No child content.",{"type":9,"tag":405,"props":2301,"children":2302},{},[2303,2311,2331],{"type":9,"tag":432,"props":2304,"children":2305},{},[2306],{"type":9,"tag":24,"props":2307,"children":2308},{"className":26},[2309],{"type":15,"value":2310},"view-tabs",{"type":9,"tag":432,"props":2312,"children":2313},{},[2314,2315,2319,2320,2325,2326],{"type":15,"value":632},{"type":9,"tag":24,"props":2316,"children":2317},{"className":26},[2318],{"type":15,"value":637},{"type":15,"value":163},{"type":9,"tag":24,"props":2321,"children":2322},{"className":26},[2323],{"type":15,"value":2324},"tabs: List\u003CViewTab>",{"type":15,"value":170},{"type":9,"tag":24,"props":2327,"children":2328},{"className":26},[2329],{"type":15,"value":2330},"selected: String",{"type":9,"tag":432,"props":2332,"children":2333},{},[2334,2336,2341],{"type":15,"value":2335},"Tablist receives additional attributes\u002Fclasses\u002Fevents. Each ViewTab supplies a stable value, label and disabled state. Emits bubbling ",{"type":9,"tag":24,"props":2337,"children":2338},{"className":26},[2339],{"type":15,"value":2340},"viewchange",{"type":15,"value":2342}," with the selected value as its string detail. The application owns panels, IDs, accessible relationships and visibility. No child content.",{"type":9,"tag":405,"props":2344,"children":2345},{},[2346,2354,2374],{"type":9,"tag":432,"props":2347,"children":2348},{},[2349],{"type":9,"tag":24,"props":2350,"children":2351},{"className":26},[2352],{"type":15,"value":2353},"tabs",{"type":9,"tag":432,"props":2355,"children":2356},{},[2357,2358,2362,2363,2368,2369],{"type":15,"value":632},{"type":9,"tag":24,"props":2359,"children":2360},{"className":26},[2361],{"type":15,"value":637},{"type":15,"value":170},{"type":9,"tag":24,"props":2364,"children":2365},{"className":26},[2366],{"type":15,"value":2367},"items: List\u003CNavigationItem>",{"type":15,"value":475},{"type":9,"tag":24,"props":2370,"children":2371},{"className":26},[2372],{"type":15,"value":2373},"header: Boolean = false",{"type":9,"tag":432,"props":2375,"children":2376},{},[2377,2379,2384,2386,2391],{"type":15,"value":2378},"Native nav receives additional attributes\u002Fclasses and default trailing action children. Destinations remain native anchors with ",{"type":9,"tag":24,"props":2380,"children":2381},{"className":26},[2382],{"type":15,"value":2383},"aria-current=\"page\"",{"type":15,"value":2385}," on the current item. The scoped helper fits links around the current destination and a ",{"type":9,"tag":24,"props":2387,"children":2388},{"className":26},[2389],{"type":15,"value":2390},"More",{"type":15,"value":2392}," overflow disclosure.",{"type":9,"tag":405,"props":2394,"children":2395},{},[2396,2404,2511],{"type":9,"tag":432,"props":2397,"children":2398},{},[2399],{"type":9,"tag":24,"props":2400,"children":2401},{"className":26},[2402],{"type":15,"value":2403},"select",{"type":9,"tag":432,"props":2405,"children":2406},{},[2407,2412,2413,2418,2419,2424,2425,2430,2431,2435,2436,2441,2442,2447,2448,2453,2454,2459,2460,2464,2465,2470,2471,2475,2477,2482,2483,2487,2488,2493,2494,2499,2500,2505,2507],{"type":9,"tag":24,"props":2408,"children":2409},{"className":26},[2410],{"type":15,"value":2411},"name: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2414,"children":2415},{"className":26},[2416],{"type":15,"value":2417},"ref: String = \"native\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2420,"children":2421},{"className":26},[2422],{"type":15,"value":2423},"placeholder: String = \"Select…\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2426,"children":2427},{"className":26},[2428],{"type":15,"value":2429},"label: String = \"Selection\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2432,"children":2433},{"className":26},[2434],{"type":15,"value":498},{"type":15,"value":475},{"type":9,"tag":24,"props":2437,"children":2438},{"className":26},[2439],{"type":15,"value":2440},"searchable",{"type":15,"value":163},{"type":9,"tag":24,"props":2443,"children":2444},{"className":26},[2445],{"type":15,"value":2446},"async",{"type":15,"value":163},{"type":9,"tag":24,"props":2449,"children":2450},{"className":26},[2451],{"type":15,"value":2452},"multiple",{"type":15,"value":163},{"type":9,"tag":24,"props":2455,"children":2456},{"className":26},[2457],{"type":15,"value":2458},"allowCustom",{"type":15,"value":163},{"type":9,"tag":24,"props":2461,"children":2462},{"className":26},[2463],{"type":15,"value":589},{"type":15,"value":163},{"type":9,"tag":24,"props":2466,"children":2467},{"className":26},[2468],{"type":15,"value":2469},"loading",{"type":15,"value":163},{"type":9,"tag":24,"props":2472,"children":2473},{"className":26},[2474],{"type":15,"value":857},{"type":15,"value":2476},": ",{"type":9,"tag":24,"props":2478,"children":2479},{"className":26},[2480],{"type":15,"value":2481},"Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":2484,"children":2485},{"className":26},[2486],{"type":15,"value":447},{"type":15,"value":475},{"type":9,"tag":24,"props":2489,"children":2490},{"className":26},[2491],{"type":15,"value":2492},"maxTags: Int = 3",{"type":15,"value":475},{"type":9,"tag":24,"props":2495,"children":2496},{"className":26},[2497],{"type":15,"value":2498},"minQuery: Int = 0",{"type":15,"value":475},{"type":9,"tag":24,"props":2501,"children":2502},{"className":26},[2503],{"type":15,"value":2504},"debounce: Int = 250",{"type":15,"value":2506}," (milliseconds); ",{"type":9,"tag":24,"props":2508,"children":2509},{"className":26},[2510],{"type":15,"value":2225},{"type":9,"tag":432,"props":2512,"children":2513},{},[2514],{"type":15,"value":2515},"Additional attributes\u002Fclasses target the native select. Default children are caller-owned options\u002Foptgroups. The helper enhances it with a labelled combobox, listbox, optional search\u002Fpagination and selected tags; native values remain the form submission contract.",{"type":9,"tag":405,"props":2517,"children":2518},{},[2519,2527,2558],{"type":9,"tag":432,"props":2520,"children":2521},{},[2522],{"type":9,"tag":24,"props":2523,"children":2524},{"className":26},[2525],{"type":15,"value":2526},"tree",{"type":9,"tag":432,"props":2528,"children":2529},{},[2530,2531,2535,2536,2541,2542,2547,2548,2553,2554],{"type":15,"value":632},{"type":9,"tag":24,"props":2532,"children":2533},{"className":26},[2534],{"type":15,"value":637},{"type":15,"value":475},{"type":9,"tag":24,"props":2537,"children":2538},{"className":26},[2539],{"type":15,"value":2540},"heading: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2543,"children":2544},{"className":26},[2545],{"type":15,"value":2546},"local: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":2549,"children":2550},{"className":26},[2551],{"type":15,"value":2552},"embedded: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":2555,"children":2556},{"className":26},[2557],{"type":15,"value":2225},{"type":9,"tag":432,"props":2559,"children":2560},{},[2561,2563,2568],{"type":15,"value":2562},"Section receives additional attributes\u002Fclasses and contains a labelled tree with default item children. ",{"type":9,"tag":24,"props":2564,"children":2565},{"className":26},[2566],{"type":15,"value":2567},"local",{"type":15,"value":2569}," manages disclosure of already-rendered rows; otherwise caller actions own folder loading.",{"type":9,"tag":405,"props":2571,"children":2572},{},[2573,2581,2636],{"type":9,"tag":432,"props":2574,"children":2575},{},[2576],{"type":9,"tag":24,"props":2577,"children":2578},{"className":26},[2579],{"type":15,"value":2580},"tree-item",{"type":9,"tag":432,"props":2582,"children":2583},{},[2584,2585,2590,2591,2595,2596,2601,2602,2607,2608,2613,2614,2619,2620,2625,2626,2630,2631],{"type":15,"value":632},{"type":9,"tag":24,"props":2586,"children":2587},{"className":26},[2588],{"type":15,"value":2589},"path: String",{"type":15,"value":170},{"type":9,"tag":24,"props":2592,"children":2593},{"className":26},[2594],{"type":15,"value":637},{"type":15,"value":475},{"type":9,"tag":24,"props":2597,"children":2598},{"className":26},[2599],{"type":15,"value":2600},"href: String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2603,"children":2604},{"className":26},[2605],{"type":15,"value":2606},"directory",{"type":15,"value":163},{"type":9,"tag":24,"props":2609,"children":2610},{"className":26},[2611],{"type":15,"value":2612},"expanded",{"type":15,"value":163},{"type":9,"tag":24,"props":2615,"children":2616},{"className":26},[2617],{"type":15,"value":2618},"selected",{"type":15,"value":163},{"type":9,"tag":24,"props":2621,"children":2622},{"className":26},[2623],{"type":15,"value":2624},"wrap",{"type":15,"value":2476},{"type":9,"tag":24,"props":2627,"children":2628},{"className":26},[2629],{"type":15,"value":2481},{"type":15,"value":475},{"type":9,"tag":24,"props":2632,"children":2633},{"className":26},[2634],{"type":15,"value":2635},"depth: Int = 0",{"type":9,"tag":432,"props":2637,"children":2638},{},[2639,2641,2645],{"type":15,"value":2640},"Flat ARIA tree item. Additional attributes\u002Fclasses target its native directory button or native file anchor; declarative actions bind to the item row. Paths identify hierarchy, depth controls indentation\u002FARIA level, and selected file links use ",{"type":9,"tag":24,"props":2642,"children":2643},{"className":26},[2644],{"type":15,"value":2383},{"type":15,"value":616},{"type":9,"tag":405,"props":2647,"children":2648},{},[2649,2657,2694],{"type":9,"tag":432,"props":2650,"children":2651},{},[2652],{"type":9,"tag":24,"props":2653,"children":2654},{"className":26},[2655],{"type":15,"value":2656},"time",{"type":9,"tag":432,"props":2658,"children":2659},{},[2660,2661,2665,2666,2671,2672,2677,2678,2683,2684,2688,2689],{"type":15,"value":632},{"type":9,"tag":24,"props":2662,"children":2663},{"className":26},[2664],{"type":15,"value":2041},{"type":15,"value":475},{"type":9,"tag":24,"props":2667,"children":2668},{"className":26},[2669],{"type":15,"value":2670},"relative",{"type":15,"value":163},{"type":9,"tag":24,"props":2673,"children":2674},{"className":26},[2675],{"type":15,"value":2676},"ago",{"type":15,"value":163},{"type":9,"tag":24,"props":2679,"children":2680},{"className":26},[2681],{"type":15,"value":2682},"inheritTypography",{"type":15,"value":2476},{"type":9,"tag":24,"props":2685,"children":2686},{"className":26},[2687],{"type":15,"value":2481},{"type":15,"value":475},{"type":9,"tag":24,"props":2690,"children":2691},{"className":26},[2692],{"type":15,"value":2693},"format: String = \"\"",{"type":9,"tag":432,"props":2695,"children":2696},{},[2697,2699,2704],{"type":15,"value":2698},"Native time receives additional attributes\u002Fclasses, its original value as datetime\u002Ftitle and an English server-rendered label. No child content. Use ",{"type":9,"tag":24,"props":2700,"children":2701},{"className":26},[2702],{"type":15,"value":2703},"html:time",{"type":15,"value":2705}," for a native timestamp after importing this component.",{"type":9,"tag":405,"props":2707,"children":2708},{},[2709,2717,2782],{"type":9,"tag":432,"props":2710,"children":2711},{},[2712],{"type":9,"tag":24,"props":2713,"children":2714},{"className":26},[2715],{"type":15,"value":2716},"comment-editor",{"type":9,"tag":432,"props":2718,"children":2719},{},[2720,2721,2725,2726,2730,2731,2735,2736,2740,2741,2746,2747,2752,2753,2758,2759,2764,2765,2770,2771,2776,2777],{"type":15,"value":632},{"type":9,"tag":24,"props":2722,"children":2723},{"className":26},[2724],{"type":15,"value":2120},{"type":15,"value":170},{"type":9,"tag":24,"props":2727,"children":2728},{"className":26},[2729],{"type":15,"value":637},{"type":15,"value":475},{"type":9,"tag":24,"props":2732,"children":2733},{"className":26},[2734],{"type":15,"value":851},{"type":15,"value":163},{"type":9,"tag":24,"props":2737,"children":2738},{"className":26},[2739],{"type":15,"value":946},{"type":15,"value":163},{"type":9,"tag":24,"props":2742,"children":2743},{"className":26},[2744],{"type":15,"value":2745},"hint",{"type":15,"value":163},{"type":9,"tag":24,"props":2748,"children":2749},{"className":26},[2750],{"type":15,"value":2751},"describedBy",{"type":15,"value":2476},{"type":9,"tag":24,"props":2754,"children":2755},{"className":26},[2756],{"type":15,"value":2757},"String = \"\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2760,"children":2761},{"className":26},[2762],{"type":15,"value":2763},"submitDisabled: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":2766,"children":2767},{"className":26},[2768],{"type":15,"value":2769},"submitLabel: String = \"comment\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2772,"children":2773},{"className":26},[2774],{"type":15,"value":2775},"placeholder: String = \"Write a comment…\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2778,"children":2779},{"className":26},[2780],{"type":15,"value":2781},"name: String = \"body\"",{"type":9,"tag":432,"props":2783,"children":2784},{},[2785],{"type":15,"value":2786},"Native required textarea receives additional attributes\u002Fclasses, its ID and preservation key. Default children supply action controls. The caller owns its surrounding form, submission and error outcomes.",{"type":9,"tag":405,"props":2788,"children":2789},{},[2790,2797,2865],{"type":9,"tag":432,"props":2791,"children":2792},{},[2793],{"type":9,"tag":24,"props":2794,"children":2795},{"className":26},[2796],{"type":15,"value":254},{"type":9,"tag":432,"props":2798,"children":2799},{},[2800,2801,2805,2806,2811,2812,2817,2818,2823,2824,2829,2830,2834,2835,2839,2840,2844,2845,2850,2851,2855,2856,2860,2861],{"type":15,"value":632},{"type":9,"tag":24,"props":2802,"children":2803},{"className":26},[2804],{"type":15,"value":747},{"type":15,"value":475},{"type":9,"tag":24,"props":2807,"children":2808},{"className":26},[2809],{"type":15,"value":2810},"value: JsonElement = JsonObject(emptyMap())",{"type":15,"value":475},{"type":9,"tag":24,"props":2813,"children":2814},{"className":26},[2815],{"type":15,"value":2816},"text: String? = null",{"type":15,"value":475},{"type":9,"tag":24,"props":2819,"children":2820},{"className":26},[2821],{"type":15,"value":2822},"label: String = \"JSON editor\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2825,"children":2826},{"className":26},[2827],{"type":15,"value":2828},"mode: String = \"tree\"",{"type":15,"value":449},{"type":9,"tag":24,"props":2831,"children":2832},{"className":26},[2833],{"type":15,"value":2526},{"type":15,"value":163},{"type":9,"tag":24,"props":2836,"children":2837},{"className":26},[2838],{"type":15,"value":15},{"type":15,"value":163},{"type":9,"tag":24,"props":2841,"children":2842},{"className":26},[2843],{"type":15,"value":397},{"type":15,"value":468},{"type":9,"tag":24,"props":2846,"children":2847},{"className":26},[2848],{"type":15,"value":2849},"readOnly: Boolean = false",{"type":15,"value":475},{"type":9,"tag":24,"props":2852,"children":2853},{"className":26},[2854],{"type":15,"value":504},{"type":15,"value":475},{"type":9,"tag":24,"props":2857,"children":2858},{"className":26},[2859],{"type":15,"value":1328},{"type":15,"value":475},{"type":9,"tag":24,"props":2862,"children":2863},{"className":26},[2864],{"type":15,"value":2225},{"type":9,"tag":432,"props":2866,"children":2867},{},[2868],{"type":15,"value":2869},"Structured editor with a native textarea form value and escaped no-script fallback. Additional attributes\u002Fclasses target its labelled group. Syntax and caller feedback appear in a live status. No child content.",{"type":9,"tag":405,"props":2871,"children":2872},{},[2873,2881,2945],{"type":9,"tag":432,"props":2874,"children":2875},{},[2876],{"type":9,"tag":24,"props":2877,"children":2878},{"className":26},[2879],{"type":15,"value":2880},"flow-editor",{"type":9,"tag":432,"props":2882,"children":2883},{},[2884,2885,2889,2890,2895,2896,2901,2902,2907,2908,2913,2914,2919,2920,2924,2925,2929,2930,2934,2935,2940,2941],{"type":15,"value":632},{"type":9,"tag":24,"props":2886,"children":2887},{"className":26},[2888],{"type":15,"value":2174},{"type":15,"value":163},{"type":9,"tag":24,"props":2891,"children":2892},{"className":26},[2893],{"type":15,"value":2894},"label",{"type":15,"value":2476},{"type":9,"tag":24,"props":2897,"children":2898},{"className":26},[2899],{"type":15,"value":2900},"String",{"type":15,"value":475},{"type":9,"tag":24,"props":2903,"children":2904},{"className":26},[2905],{"type":15,"value":2906},"name: String = \"graph\"",{"type":15,"value":475},{"type":9,"tag":24,"props":2909,"children":2910},{"className":26},[2911],{"type":15,"value":2912},"value: FlowGraph = FlowGraph()",{"type":15,"value":475},{"type":9,"tag":24,"props":2915,"children":2916},{"className":26},[2917],{"type":15,"value":2918},"readOnly",{"type":15,"value":163},{"type":9,"tag":24,"props":2921,"children":2922},{"className":26},[2923],{"type":15,"value":589},{"type":15,"value":2476},{"type":9,"tag":24,"props":2926,"children":2927},{"className":26},[2928],{"type":15,"value":2481},{"type":15,"value":475},{"type":9,"tag":24,"props":2931,"children":2932},{"className":26},[2933],{"type":15,"value":946},{"type":15,"value":163},{"type":9,"tag":24,"props":2936,"children":2937},{"className":26},[2938],{"type":15,"value":2939},"preserveKey",{"type":15,"value":2476},{"type":9,"tag":24,"props":2942,"children":2943},{"className":26},[2944],{"type":15,"value":2757},{"type":9,"tag":432,"props":2946,"children":2947},{},[2948],{"type":15,"value":2949},"VueFlow canvas with native JSON form value, named ports, selection\u002Fconnection\u002Fchange events, view controls and text outline. Additional attributes\u002Fclasses reach the root; default children follow the outline.",{"type":9,"tag":405,"props":2951,"children":2952},{},[2953,2961,3006],{"type":9,"tag":432,"props":2954,"children":2955},{},[2956],{"type":9,"tag":24,"props":2957,"children":2958},{"className":26},[2959],{"type":15,"value":2960},"chart",{"type":9,"tag":432,"props":2962,"children":2963},{},[2964,2965,2969,2970,2974,2975,2979,2981,2986,2987,2991,2992,2996,2997,3001,3002],{"type":15,"value":632},{"type":9,"tag":24,"props":2966,"children":2967},{"className":26},[2968],{"type":15,"value":2174},{"type":15,"value":163},{"type":9,"tag":24,"props":2971,"children":2972},{"className":26},[2973],{"type":15,"value":2894},{"type":15,"value":2476},{"type":9,"tag":24,"props":2976,"children":2977},{"className":26},[2978],{"type":15,"value":2900},{"type":15,"value":2980},"; required ",{"type":9,"tag":24,"props":2982,"children":2983},{"className":26},[2984],{"type":15,"value":2985},"config: ChartConfiguration",{"type":15,"value":475},{"type":9,"tag":24,"props":2988,"children":2989},{"className":26},[2990],{"type":15,"value":473},{"type":15,"value":475},{"type":9,"tag":24,"props":2993,"children":2994},{"className":26},[2995],{"type":15,"value":946},{"type":15,"value":163},{"type":9,"tag":24,"props":2998,"children":2999},{"className":26},[3000],{"type":15,"value":2939},{"type":15,"value":2476},{"type":9,"tag":24,"props":3003,"children":3004},{"className":26},[3005],{"type":15,"value":2757},{"type":9,"tag":432,"props":3007,"children":3008},{},[3009],{"type":15,"value":3010},"Kotlin Chart.js configuration, CSS palette defaults, responsive named canvas and server-rendered data table. Additional attributes\u002Fclasses reach the root; default children follow the table.",{"type":9,"tag":405,"props":3012,"children":3013},{},[3014,3022,3106],{"type":9,"tag":432,"props":3015,"children":3016},{},[3017],{"type":9,"tag":24,"props":3018,"children":3019},{"className":26},[3020],{"type":15,"value":3021},"dashboard-grid",{"type":9,"tag":432,"props":3023,"children":3024},{},[3025,3026,3030,3031,3035,3036,3040,3041,3046,3047,3052,3053,3058,3059,3064,3065,3070,3071,3076,3077,3081,3082,3086,3087,3091,3092,3096,3097,3101,3102],{"type":15,"value":632},{"type":9,"tag":24,"props":3027,"children":3028},{"className":26},[3029],{"type":15,"value":2174},{"type":15,"value":163},{"type":9,"tag":24,"props":3032,"children":3033},{"className":26},[3034],{"type":15,"value":2894},{"type":15,"value":2476},{"type":9,"tag":24,"props":3037,"children":3038},{"className":26},[3039],{"type":15,"value":2900},{"type":15,"value":475},{"type":9,"tag":24,"props":3042,"children":3043},{"className":26},[3044],{"type":15,"value":3045},"name: String = \"layout\"",{"type":15,"value":475},{"type":9,"tag":24,"props":3048,"children":3049},{"className":26},[3050],{"type":15,"value":3051},"value: List\u003CDashboardLayoutItem> = emptyList()",{"type":15,"value":475},{"type":9,"tag":24,"props":3054,"children":3055},{"className":26},[3056],{"type":15,"value":3057},"lockedIds: Set\u003CString> = emptySet()",{"type":15,"value":475},{"type":9,"tag":24,"props":3060,"children":3061},{"className":26},[3062],{"type":15,"value":3063},"columns: Int = 12",{"type":15,"value":475},{"type":9,"tag":24,"props":3066,"children":3067},{"className":26},[3068],{"type":15,"value":3069},"cellHeight: Int = 60",{"type":15,"value":475},{"type":9,"tag":24,"props":3072,"children":3073},{"className":26},[3074],{"type":15,"value":3075},"stackBelow: Int = 480",{"type":15,"value":475},{"type":9,"tag":24,"props":3078,"children":3079},{"className":26},[3080],{"type":15,"value":2918},{"type":15,"value":163},{"type":9,"tag":24,"props":3083,"children":3084},{"className":26},[3085],{"type":15,"value":589},{"type":15,"value":2476},{"type":9,"tag":24,"props":3088,"children":3089},{"className":26},[3090],{"type":15,"value":2481},{"type":15,"value":475},{"type":9,"tag":24,"props":3093,"children":3094},{"className":26},[3095],{"type":15,"value":946},{"type":15,"value":163},{"type":9,"tag":24,"props":3098,"children":3099},{"className":26},[3100],{"type":15,"value":2939},{"type":15,"value":2476},{"type":9,"tag":24,"props":3103,"children":3104},{"className":26},[3105],{"type":15,"value":2757},{"type":9,"tag":432,"props":3107,"children":3108},{},[3109],{"type":15,"value":3110},"Studio-style dashboard geometry, native JSON form value, pointer\u002Fkeyboard movement and resizing, locked widgets and narrow-container stacking. Direct default children are dashboard items; extra attributes reach the root.",{"type":9,"tag":405,"props":3112,"children":3113},{},[3114,3122,3141],{"type":9,"tag":432,"props":3115,"children":3116},{},[3117],{"type":9,"tag":24,"props":3118,"children":3119},{"className":26},[3120],{"type":15,"value":3121},"dashboard-item",{"type":9,"tag":432,"props":3123,"children":3124},{},[3125,3126,3131,3132,3136,3137],{"type":15,"value":632},{"type":9,"tag":24,"props":3127,"children":3128},{"className":26},[3129],{"type":15,"value":3130},"itemId",{"type":15,"value":163},{"type":9,"tag":24,"props":3133,"children":3134},{"className":26},[3135],{"type":15,"value":2894},{"type":15,"value":2476},{"type":9,"tag":24,"props":3138,"children":3139},{"className":26},[3140],{"type":15,"value":2900},{"type":9,"tag":432,"props":3142,"children":3143},{},[3144],{"type":15,"value":3145},"Named widget and layout handles. Attributes reach the section; default children remain ordinary BML content in a scrolling body.",{"type":9,"tag":405,"props":3147,"children":3148},{},[3149,3157,3240],{"type":9,"tag":432,"props":3150,"children":3151},{},[3152],{"type":9,"tag":24,"props":3153,"children":3154},{"className":26},[3155],{"type":15,"value":3156},"document-editor",{"type":9,"tag":432,"props":3158,"children":3159},{},[3160,3161,3165,3166,3170,3171,3175,3176,3181,3182,3187,3189,3194,3195,3199,3200,3204,3205,3209,3210,3214,3215,3219,3220,3224,3225,3229,3230,3234,3235],{"type":15,"value":632},{"type":9,"tag":24,"props":3162,"children":3163},{"className":26},[3164],{"type":15,"value":2174},{"type":15,"value":163},{"type":9,"tag":24,"props":3167,"children":3168},{"className":26},[3169],{"type":15,"value":2894},{"type":15,"value":2476},{"type":9,"tag":24,"props":3172,"children":3173},{"className":26},[3174],{"type":15,"value":2900},{"type":15,"value":475},{"type":9,"tag":24,"props":3177,"children":3178},{"className":26},[3179],{"type":15,"value":3180},"name: String = \"document\"",{"type":15,"value":475},{"type":9,"tag":24,"props":3183,"children":3184},{"className":26},[3185],{"type":15,"value":3186},"value: JsonObject = emptyDocument()",{"type":15,"value":3188}," (ProseMirror content); ",{"type":9,"tag":24,"props":3190,"children":3191},{"className":26},[3192],{"type":15,"value":3193},"document: bosca.content.metadata.model.Document? = null",{"type":15,"value":475},{"type":9,"tag":24,"props":3196,"children":3197},{"className":26},[3198],{"type":15,"value":2918},{"type":15,"value":163},{"type":9,"tag":24,"props":3201,"children":3202},{"className":26},[3203],{"type":15,"value":589},{"type":15,"value":163},{"type":9,"tag":24,"props":3206,"children":3207},{"className":26},[3208],{"type":15,"value":857},{"type":15,"value":2476},{"type":9,"tag":24,"props":3211,"children":3212},{"className":26},[3213],{"type":15,"value":2481},{"type":15,"value":475},{"type":9,"tag":24,"props":3216,"children":3217},{"className":26},[3218],{"type":15,"value":946},{"type":15,"value":163},{"type":9,"tag":24,"props":3221,"children":3222},{"className":26},[3223],{"type":15,"value":2745},{"type":15,"value":163},{"type":9,"tag":24,"props":3226,"children":3227},{"className":26},[3228],{"type":15,"value":2939},{"type":15,"value":2476},{"type":9,"tag":24,"props":3231,"children":3232},{"className":26},[3233],{"type":15,"value":2757},{"type":15,"value":475},{"type":9,"tag":24,"props":3236,"children":3237},{"className":26},[3238],{"type":15,"value":3239},"placeholder: String = \"Start writing…\"",{"type":9,"tag":432,"props":3241,"children":3242},{},[3243],{"type":15,"value":3244},"TipTap rich text with a native JSON form value. Additional attributes\u002Fclasses reach the labelled root. The application owns forms, validation and persistence. No child content.",{"type":9,"tag":405,"props":3246,"children":3247},{},[3248,3255,3325],{"type":9,"tag":432,"props":3249,"children":3250},{},[3251],{"type":9,"tag":24,"props":3252,"children":3253},{"className":26},[3254],{"type":15,"value":247},{"type":9,"tag":432,"props":3256,"children":3257},{},[3258,3259,3263,3264,3269,3270,3275,3276,3280,3281,3285,3286,3291,3292,3297,3298,3303,3304,3309,3310,3314,3315,3320,3321],{"type":15,"value":632},{"type":9,"tag":24,"props":3260,"children":3261},{"className":26},[3262],{"type":15,"value":1716},{"type":15,"value":475},{"type":9,"tag":24,"props":3265,"children":3266},{"className":26},[3267],{"type":15,"value":3268},"path",{"type":15,"value":163},{"type":9,"tag":24,"props":3271,"children":3272},{"className":26},[3273],{"type":15,"value":3274},"language",{"type":15,"value":163},{"type":9,"tag":24,"props":3277,"children":3278},{"className":26},[3279],{"type":15,"value":2939},{"type":15,"value":2476},{"type":9,"tag":24,"props":3282,"children":3283},{"className":26},[3284],{"type":15,"value":2757},{"type":15,"value":475},{"type":9,"tag":24,"props":3287,"children":3288},{"className":26},[3289],{"type":15,"value":3290},"label: String = \"File source\"",{"type":15,"value":475},{"type":9,"tag":24,"props":3293,"children":3294},{"className":26},[3295],{"type":15,"value":3296},"line: Int = 0",{"type":15,"value":475},{"type":9,"tag":24,"props":3299,"children":3300},{"className":26},[3301],{"type":15,"value":3302},"compact",{"type":15,"value":163},{"type":9,"tag":24,"props":3305,"children":3306},{"className":26},[3307],{"type":15,"value":3308},"bare",{"type":15,"value":163},{"type":9,"tag":24,"props":3311,"children":3312},{"className":26},[3313],{"type":15,"value":718},{"type":15,"value":163},{"type":9,"tag":24,"props":3316,"children":3317},{"className":26},[3318],{"type":15,"value":3319},"wrapped",{"type":15,"value":2476},{"type":9,"tag":24,"props":3322,"children":3323},{"className":26},[3324],{"type":15,"value":2481},{"type":9,"tag":432,"props":3326,"children":3327},{},[3328],{"type":15,"value":3329},"Section receives additional attributes\u002Fclasses and default toolbar action children. CodeMirror enhances escaped, focusable source markup into a read-only viewer. The application owns the content, requested line and surrounding layout.",{"type":9,"tag":18,"props":3331,"children":3332},{},[3333,3335,3339,3340,3345,3346,3350,3351,3356,3358,3362,3363,3367,3369,3373,3375,3380],{"type":15,"value":3334},"Regular controls are 32px high, compact controls 30px, and extra-small buttons 24px. Field labels use\nan 18px line and a 6px control gap. Buttons support the ",{"type":9,"tag":24,"props":3336,"children":3337},{"className":26},[3338],{"type":15,"value":1879},{"type":15,"value":163},{"type":9,"tag":24,"props":3341,"children":3342},{"className":26},[3343],{"type":15,"value":3344},"danger",{"type":15,"value":163},{"type":9,"tag":24,"props":3347,"children":3348},{"className":26},[3349],{"type":15,"value":1861},{"type":15,"value":609},{"type":9,"tag":24,"props":3352,"children":3353},{"className":26},[3354],{"type":15,"value":3355},"icon-only",{"type":15,"value":3357},"\nclass modifiers. Choose one tone (",{"type":9,"tag":24,"props":3359,"children":3360},{"className":26},[3361],{"type":15,"value":1694},{"type":15,"value":163},{"type":9,"tag":24,"props":3364,"children":3365},{"className":26},[3366],{"type":15,"value":1879},{"type":15,"value":3368},", or ",{"type":9,"tag":24,"props":3370,"children":3371},{"className":26},[3372],{"type":15,"value":3344},{"type":15,"value":3374},"); icon-only buttons need an\n",{"type":9,"tag":24,"props":3376,"children":3377},{"className":26},[3378],{"type":15,"value":3379},"aria-label",{"type":15,"value":3381},". Other structural classes and generated scope markers are private styling hooks.\nCaller-owned submit forms receive BML's pending marker, which the button's scoped stylesheet uses\nto preserve its size and accessible name while displaying progress.",{"type":9,"tag":18,"props":3383,"children":3384},{},[3385,3387,3392,3394,3398],{"type":15,"value":3386},"The ",{"type":9,"tag":24,"props":3388,"children":3389},{"className":26},[3390],{"type":15,"value":3391},"page",{"type":15,"value":3393}," name remains BML document syntax; the visual layout component is ",{"type":9,"tag":24,"props":3395,"children":3396},{"className":26},[3397],{"type":15,"value":278},{"type":15,"value":38},{"type":9,"tag":18,"props":3400,"children":3401},{},[3402,3404,3409,3411,3417],{"type":15,"value":3403},"Controls forward additional attributes declaratively with BML's compiler-provided ",{"type":9,"tag":24,"props":3405,"children":3406},{"className":26},[3407],{"type":15,"value":3408},"{...attrs}",{"type":15,"value":3410},".\nThe compiler excludes declared props, combines caller and component classes, and preserves the\ncomponent's explicit attribute values. Components do not maintain exclusion lists or handle BML's\ninternal action-marker props. See ",{"type":9,"tag":83,"props":3412,"children":3414},{"href":3413},"..\u002Fdocs\u002Ftag-reference.md#forwarding-component-attributes",[3415],{"type":15,"value":3416},"attribute forwarding",{"type":15,"value":38},{"type":9,"tag":18,"props":3419,"children":3420},{},[3421,3423,3427,3429,3433],{"type":15,"value":3422},"A ",{"type":9,"tag":24,"props":3424,"children":3425},{"className":26},[3426],{"type":15,"value":1127},{"type":15,"value":3428}," region keeps its native horizontal and vertical scroll positions when a stable\n",{"type":9,"tag":24,"props":3430,"children":3431},{"className":26},[3432],{"type":15,"value":2181},{"type":15,"value":3434}," key retains the region or an enclosing subtree through a surrounding island\nupdate. Changing that key installs new table content. Without scripts, the labelled region remains\nfocusable and scrolls with the keyboard. Long section-heading titles and subtitles wrap within their\navailable width beside projected actions.",{"type":9,"tag":18,"props":3436,"children":3437},{},[3438,3440,3445,3447,3452,3454,3458,3460,3464,3466,3471,3473,3478],{"type":15,"value":3439},"Checkbox and switch state belongs to the caller. Use ",{"type":9,"tag":24,"props":3441,"children":3442},{"className":26},[3443],{"type":15,"value":3444},"checked",{"type":15,"value":3446}," with a declarative ",{"type":9,"tag":24,"props":3448,"children":3449},{"className":26},[3450],{"type":15,"value":3451},"@change",{"type":15,"value":3453}," action\nwhen server state controls the value; use native ",{"type":9,"tag":24,"props":3455,"children":3456},{"className":26},[3457],{"type":15,"value":583},{"type":15,"value":3459},"\u002F",{"type":9,"tag":24,"props":3461,"children":3462},{"className":26},[3463],{"type":15,"value":851},{"type":15,"value":3465}," attributes to include checked controls\nin form submission. Disabled and unchecked controls follow native form rules. The compiled\nconsumer's ",{"type":9,"tag":24,"props":3467,"children":3468},{"className":26},[3469],{"type":15,"value":3470},"\u002Ffoundation",{"type":15,"value":3472}," page demonstrates repeated instances, native form values and action patches.\nIn BML action arguments, ",{"type":9,"tag":24,"props":3474,"children":3475},{"className":26},[3476],{"type":15,"value":3477},"form.checkboxName",{"type":15,"value":3479}," resolves a checkbox's checked state to a Boolean.",{"type":9,"tag":18,"props":3481,"children":3482},{},[3483,3485,3490,3492,3497,3499,3504,3505,3510],{"type":15,"value":3484},"Breadcrumb links use ",{"type":9,"tag":24,"props":3486,"children":3487},{"className":26},[3488],{"type":15,"value":3489},"bosca.design.model.NavigationItem(label, href, selected)",{"type":15,"value":3491},". Applications own\ndestinations, selected-state calculation and every trail entry, including any product\u002Froot label.\nAn empty ",{"type":9,"tag":24,"props":3493,"children":3494},{"className":26},[3495],{"type":15,"value":3496},"href",{"type":15,"value":3498}," renders plain trail text. The final current crumb comes from ",{"type":9,"tag":24,"props":3500,"children":3501},{"className":26},[3502],{"type":15,"value":3503},"crumb",{"type":15,"value":1915},{"type":9,"tag":24,"props":3506,"children":3507},{"className":26},[3508],{"type":15,"value":3509},"title",{"type":15,"value":3511},";\nthere is no fixed product prefix. Git's existing presentation models use this same library type.",{"type":9,"tag":18,"props":3513,"children":3514},{},[3515,3517,3522,3524,3528],{"type":15,"value":3516},"Tooltips open on pointer hover or keyboard focus and dismiss on Escape, activation or departure.\nTheir text remains available while hovered. Placement can flip or clamp at viewport edges.\nEach visible tooltip adds its own ID to ",{"type":9,"tag":24,"props":3518,"children":3519},{"className":26},[3520],{"type":15,"value":3521},"aria-describedby",{"type":15,"value":3523},", preserving existing descriptions.\nAn open tooltip on a preserved root retains its description, focus and top-layer surface through\nsurrounding island updates. Changed root attributes supply its current description and placement;\na dismissed tooltip stays closed until the next hover or focus.\nThe helper follows a replaced trigger and removes timers, listeners and tooltip nodes when its\ncomponent unmounts. Clicking tooltip text does not activate its parent button or anchor.\nIcon actions retain native ",{"type":9,"tag":24,"props":3525,"children":3526},{"className":26},[3527],{"type":15,"value":3509},{"type":15,"value":3529}," labels when scripts are disabled.",{"type":9,"tag":18,"props":3531,"children":3532},{},[3533,3535,3540,3542,3547,3549,3554,3556,3561,3563,3568,3570,3574,3576,3580,3582,3587,3589,3593,3595,3600,3602,3606,3607,3611],{"type":15,"value":3534},"Dialog triggers open a native modal, focus the first available field, and contain Tab navigation.\nEscape, backdrop clicks, the close control and projected cancel controls dismiss it. Focus returns\nto the trigger, or to ",{"type":9,"tag":24,"props":3536,"children":3537},{"className":26},[3538],{"type":15,"value":3539},"returnFocus",{"type":15,"value":3541}," within the nearest island when supplied. A rising ",{"type":9,"tag":24,"props":3543,"children":3544},{"className":26},[3545],{"type":15,"value":3546},"forceOpen",{"type":15,"value":3548},"\nor a new nonempty ",{"type":9,"tag":24,"props":3550,"children":3551},{"className":26},[3552],{"type":15,"value":3553},"openRequest",{"type":15,"value":3555}," opens it; a rising ",{"type":9,"tag":24,"props":3557,"children":3558},{"className":26},[3559],{"type":15,"value":3560},"completed",{"type":15,"value":3562}," closes it once. A request remains\nconsumer state: issue a new request to reopen after dismissal. Forms and failed-submit drafts belong\nto the application. The ",{"type":9,"tag":24,"props":3564,"children":3565},{"className":26},[3566],{"type":15,"value":3567},"\u002Foverlays",{"type":15,"value":3569}," fixture shows an error response retaining submitted values and\nreopening through ",{"type":9,"tag":24,"props":3571,"children":3572},{"className":26},[3573],{"type":15,"value":3546},{"type":15,"value":3575},", plus a preserved dialog whose server-owned request\u002Fcompletion\nattributes update while its client-owned draft DOM stays intact through ",{"type":9,"tag":24,"props":3577,"children":3578},{"className":26},[3579],{"type":15,"value":2181},{"type":15,"value":3581},".\nDialogs reset inherited text wrapping and alignment, including when their trigger lives in a\nsingle-line table row. Confirmation descriptions have 18px padding on all sides. They grow with\nwrapped text up to the dialog's viewport limit, then scroll vertically while the heading and\nprojected action footer remain available.\nUse ",{"type":9,"tag":24,"props":3583,"children":3584},{"className":26},[3585],{"type":15,"value":3586},"\u003Chtml:dialog>",{"type":15,"value":3588}," when a native element is needed after importing the component.\n",{"type":9,"tag":24,"props":3590,"children":3591},{"className":26},[3592],{"type":15,"value":1879},{"type":15,"value":3594}," selects the extra-small icon trigger when ",{"type":9,"tag":24,"props":3596,"children":3597},{"className":26},[3598],{"type":15,"value":3599},"triggerIconOnly",{"type":15,"value":3601}," is true; ",{"type":9,"tag":24,"props":3603,"children":3604},{"className":26},[3605],{"type":15,"value":1861},{"type":15,"value":170},{"type":9,"tag":24,"props":3608,"children":3609},{"className":26},[3610],{"type":15,"value":1867},{"type":15,"value":3612},"\ncontrol the text trigger presentation.",{"type":9,"tag":18,"props":3614,"children":3615},{},[3616,3618,3623,3625,3629,3631,3636,3638,3643],{"type":15,"value":3617},"Popovers preserve their trigger\u002Fcontent relationship through unique IDs and ",{"type":9,"tag":24,"props":3619,"children":3620},{"className":26},[3621],{"type":15,"value":3622},"aria-expanded",{"type":15,"value":3624},".\nOpening focuses the first available input. Escape and a projected ",{"type":9,"tag":24,"props":3626,"children":3627},{"className":26},[3628],{"type":15,"value":1913},{"type":15,"value":3630}," return focus to\nthe summary; outside pointer presses dismiss without moving focus. Menu children with ",{"type":9,"tag":24,"props":3632,"children":3633},{"className":26},[3634],{"type":15,"value":3635},"role=\"menu\"",{"type":15,"value":3637},"\nand enabled ",{"type":9,"tag":24,"props":3639,"children":3640},{"className":26},[3641],{"type":15,"value":3642},"role=\"menuitem\"",{"type":15,"value":3644}," entries support arrows and Home\u002FEnd. Resize, scrolling, content-size\nchanges and nested island updates reposition the panel. Listeners and ResizeObservers are removed\nwhen the component unmounts. A nested popover consumes Escape and its projected cancel click before\nits containing modal.",{"type":9,"tag":18,"props":3646,"children":3647},{},[3648,3650,3654,3656,3660,3662,3666,3668,3672,3674,3679,3681,3686,3688,3693,3695,3699,3701,3706],{"type":15,"value":3649},"Popover menus use projected ",{"type":9,"tag":24,"props":3651,"children":3652},{"className":26},[3653],{"type":15,"value":3635},{"type":15,"value":3655}," containers and native buttons or links with\n",{"type":9,"tag":24,"props":3657,"children":3658},{"className":26},[3659],{"type":15,"value":3642},{"type":15,"value":3661},". The library supplies full-width rows, a 4px row gap, 16px icons and an 8px\nicon-to-label gap. Button ",{"type":9,"tag":24,"props":3663,"children":3664},{"className":26},[3665],{"type":15,"value":738},{"type":15,"value":3667}," props use that same menu sizing. For custom or changing icons,\nwrap each shared ",{"type":9,"tag":24,"props":3669,"children":3670},{"className":26},[3671],{"type":15,"value":738},{"type":15,"value":3673}," in ",{"type":9,"tag":24,"props":3675,"children":3676},{"className":26},[3677],{"type":15,"value":3678},"menu-icon",{"type":15,"value":3680},"; its ",{"type":9,"tag":24,"props":3682,"children":3683},{"className":26},[3684],{"type":15,"value":3685},"hidden",{"type":15,"value":3687}," attribute works without a consumer reset.\nAn optional ",{"type":9,"tag":24,"props":3689,"children":3690},{"className":26},[3691],{"type":15,"value":3692},"menu-heading",{"type":15,"value":3694}," before the menu supplies title\u002Fsubtitle spacing and a divider.\nThe ",{"type":9,"tag":24,"props":3696,"children":3697},{"className":26},[3698],{"type":15,"value":3344},{"type":15,"value":3700}," class uses the local ",{"type":9,"tag":24,"props":3702,"children":3703},{"className":26},[3704],{"type":15,"value":3705},"--err",{"type":15,"value":3707}," color. Triggers have no disclosure arrow. Applications\nkeep their own labels, destinations, state and actions, and choose colors through ordinary CSS.",{"type":9,"tag":45,"props":3709,"children":3712},{"className":3710,"code":3711,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"\u003Cpopover label=\"Account\" icon=\"users\" :width=\"260\">\n  \u003Cdiv class=\"menu-heading\">\u003Cstrong>Account\u003C\u002Fstrong>\u003Cspan>Appearance and session\u003C\u002Fspan>\u003C\u002Fdiv>\n  \u003Cdiv role=\"menu\" aria-label=\"Account actions\">\n    \u003Cbutton role=\"menuitem\" icon=\"sun\">Light mode\u003C\u002Fbutton>\n    \u003Cbutton role=\"menuitem\" icon=\"log-out\" class=\"danger\">Sign out\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\u003C\u002Fpopover>\n",[3713],{"type":9,"tag":24,"props":3714,"children":3715},{"__ignoreMap":26},[3716],{"type":15,"value":3711},{"type":9,"tag":18,"props":3718,"children":3719},{},[3720],{"type":15,"value":3721},"Preserve an enclosing container to keep a popover's native open state and child drafts through\nsurrounding server updates. Preserved root attributes remain server-owned, so a container keeps\nthe details element's open attribute in its browser-owned children. The helper restores its top-layer\nsurface after the container is reinserted. Change the preservation key when replacing those children.\nWithout scripts, the disclosure content fits its containing element.",{"type":9,"tag":18,"props":3723,"children":3724},{},[3725,3727,3732,3734,3739,3741,3746,3748,3753],{"type":15,"value":3726},"Copy feedback changes the accessible button label to ",{"type":9,"tag":24,"props":3728,"children":3729},{"className":26},[3730],{"type":15,"value":3731},"Copied",{"type":15,"value":3733},", announces ",{"type":9,"tag":24,"props":3735,"children":3736},{"className":26},[3737],{"type":15,"value":3738},"Copied.",{"type":15,"value":3740}," and resets after\ntwo seconds. A subsequent click restarts the timeout. A bubbling ",{"type":9,"tag":24,"props":3742,"children":3743},{"className":26},[3744],{"type":15,"value":3745},"copyresult",{"type":15,"value":3747}," event carries\n",{"type":9,"tag":24,"props":3749,"children":3750},{"className":26},[3751],{"type":15,"value":3752},"{ copied: boolean }",{"type":15,"value":3754},"; applications can observe it without supplying a transport. Denied or unavailable\nclipboard access reports failure and leaves the value available for manual copying. The copy field\nfocuses\u002Fselects its native input and hides the guidance after a successful retry. Inputs remain readonly\nand manually selectable with scripts disabled; icon buttons retain native title labels.",{"type":9,"tag":18,"props":3756,"children":3757},{},[3758,3762,3764,3768],{"type":9,"tag":24,"props":3759,"children":3760},{"className":26},[3761],{"type":15,"value":2032},{"type":15,"value":3763}," supports arbitrary strings, including newlines; ",{"type":9,"tag":24,"props":3765,"children":3766},{"className":26},[3767],{"type":15,"value":2076},{"type":15,"value":3769}," displays a native single-line input.\nThe helper follows changed value\u002Flabel props, including updates to a preserved component root.\nOlder overlapping results and results after unmount cannot overwrite current feedback or emit a stale\nevent. Timers and tooltip listeners are removed on disposal. Visible status reserves space; quiet status\npreserves an icon-only footprint and stays positioned within the control without expanding ancestor\nscroll areas. Icon visibility uses local hidden-state rules and needs no document reset.",{"type":9,"tag":18,"props":3771,"children":3772},{},[3773],{"type":15,"value":3774},"Toast state belongs to the application. Give each toast a stable key within its updating region,\nkeep it mounted while issuing notices, and increment its monotonic sequence for every notice,\nincluding repeated text. The initial sequence is a baseline: navigation, reload and remount do not\nannounce a message retained in server state. A subsequent sequence increase shows a new notice and\nrestarts its timeout; unrelated patches retain the active notice and remaining time.\nSuccess\u002Finfo\u002Fwarning use a polite status region; errors use an assertive alert. Notifications do\nnot take focus from the caller or move page content. Dismissal returns focus when the viewer had\nfocused the notification, using the remembered target or an available control in the owning island.",{"type":9,"tag":18,"props":3776,"children":3777},{},[3778],{"type":15,"value":3779},"Hover, keyboard focus and document visibility pause expiry. Focus and pointer interest survive a\npreserved root's temporary removal from the native top layer. Escape, the dismiss button or expiry\nclose it. Long text scrolls with a keyboard focus indicator while the close action stays visible.\nLeaving the page closes its current notice, including when Browser Back restores a cached document.\nThe surface fits the viewport, including short screens; reduced motion removes the entrance animation.\nUnmount removes timers, listeners and ResizeObservers. Each instance owns one notice; queues and\nprogress notifications are application concerns. Live notification behavior requires client scripts.",{"type":9,"tag":18,"props":3781,"children":3782},{},[3783,3785,3790,3792,3796],{"type":15,"value":3784},"Search input retains the source's autofocus default; pass ",{"type":9,"tag":24,"props":3786,"children":3787},{"className":26},[3788],{"type":15,"value":3789},":autofocus=\"false\"",{"type":15,"value":3791}," for embedded or repeated\ncontrols. ",{"type":9,"tag":24,"props":3793,"children":3794},{"className":26},[3795],{"type":15,"value":589},{"type":15,"value":3797}," applies to its input and clear action; readonly inputs cannot be cleared.\nThe empty clear action is hidden without a document reset. Native query fields and initial segmented\nform values remain available with scripts disabled; clear, segment choices and local view switching\nneed client scripts. Application controllers own debounce, search requests, URL state and failures.",{"type":9,"tag":18,"props":3799,"children":3800},{},[3801,3803,3807,3808,3812,3814,3819,3821,3826],{"type":15,"value":3802},"Segmented controls and local tabs use roving Tab entry, Left\u002FRight wrapping and Home\u002FEnd. If the\nselected value is absent, the first option remains keyboard reachable without inventing a selection.\nEmpty tab and segmented lists are hidden, including from the accessibility tree, with no focus\ntarget or control frame. An empty segmented list still supplies its native ",{"type":9,"tag":24,"props":3804,"children":3805},{"className":26},[3806],{"type":15,"value":583},{"type":15,"value":3459},{"type":9,"tag":24,"props":3809,"children":3810},{"className":26},[3811],{"type":15,"value":851},{"type":15,"value":3813}," form field.\nThis also works without scripts. Wide groups scroll within their available width; keyboard\nselection reveals the focused option. Segmented rows grow to accommodate a visible horizontal\nscrollbar without clipping their buttons. Search boundaries use ",{"type":9,"tag":24,"props":3815,"children":3816},{"className":26},[3817],{"type":15,"value":3818},"--control-border",{"type":15,"value":3820},", falling back to\nthe local ",{"type":9,"tag":24,"props":3822,"children":3823},{"className":26},[3824],{"type":15,"value":3825},"--line-2",{"type":15,"value":38},{"type":9,"tag":18,"props":3828,"children":3829},{},[3830,3832,3836,3838,3842,3844,3848,3849,3853],{"type":15,"value":3831},"Use a stable ",{"type":9,"tag":24,"props":3833,"children":3834},{"className":26},[3835],{"type":15,"value":2939},{"type":15,"value":3837}," on search\u002Fsegments, or ",{"type":9,"tag":24,"props":3839,"children":3840},{"className":26},[3841],{"type":15,"value":2181},{"type":15,"value":3843}," on view tabs, to retain the\nquery draft, selection\u002Fcaret, focused option and DOM through unrelated island updates. A changed\nserver ",{"type":9,"tag":24,"props":3845,"children":3846},{"className":26},[3847],{"type":15,"value":851},{"type":15,"value":3459},{"type":9,"tag":24,"props":3850,"children":3851},{"className":26},[3852],{"type":15,"value":2618},{"type":15,"value":3854}," updates retained state; unchanged server values leave local drafts alone.\nPreserved search also reconciles its name, label, placeholder and disabled state. Preserved group\nchildren remain client-owned: remove\u002Fchange the preservation key when changing the option\u002Ftab list,\nicons or projected actions. Without preservation, the next server render supplies the full child DOM.\nEvery helper uses component lifecycle listeners and removes them on unmount.",{"type":9,"tag":18,"props":3856,"children":3857},{},[3858,3859,3864,3866,3870,3872,3877,3878,3883],{"type":15,"value":3386},{"type":9,"tag":24,"props":3860,"children":3861},{"className":26},[3862],{"type":15,"value":3863},"\u002Fselection",{"type":15,"value":3865}," consumer uses declarative form and segment actions, a scoped caller handler for\n",{"type":9,"tag":24,"props":3867,"children":3868},{"className":26},[3869],{"type":15,"value":2340},{"type":15,"value":3871},", and caller-owned labelled panels with unique ",{"type":9,"tag":24,"props":3873,"children":3874},{"className":26},[3875],{"type":15,"value":3876},"aria-controls",{"type":15,"value":3459},{"type":9,"tag":24,"props":3879,"children":3880},{"className":26},[3881],{"type":15,"value":3882},"aria-labelledby",{"type":15,"value":3884}," links.\nIt demonstrates rejected search drafts, controlled changes, independent instances and consumer CSS.",{"type":9,"tag":18,"props":3886,"children":3887},{},[3888,3890,3895,3897,3901,3903,3907],{"type":15,"value":3889},"Give plain-text panels ",{"type":9,"tag":24,"props":3891,"children":3892},{"className":26},[3893],{"type":15,"value":3894},"tabindex=\"0\"",{"type":15,"value":3896}," so Tab can enter their content. Update panel visibility in the\n",{"type":9,"tag":24,"props":3898,"children":3899},{"className":26},[3900],{"type":15,"value":2340},{"type":15,"value":3902}," handler before waiting for a server response. Preserve unchanged panels with their own\n",{"type":9,"tag":24,"props":3904,"children":3905},{"className":26},[3906],{"type":15,"value":2181},{"type":15,"value":3908}," keys so a response keeps focus on the panel or a link inside it. Change the panel's\nkey when its server-rendered content changes, such as accepted search results. Preserving the tablist\nalone does not retain its sibling panels.",{"type":9,"tag":18,"props":3910,"children":3911},{},[3912,3914,3919,3921,3926],{"type":15,"value":3913},"Route tabs use the same ",{"type":9,"tag":24,"props":3915,"children":3916},{"className":26},[3917],{"type":15,"value":3918},"NavigationItem",{"type":15,"value":3920}," model as breadcrumbs. Applications supply every label,\ndestination and current-page flag; the library does not intercept link navigation or own URL state.\n",{"type":9,"tag":24,"props":3922,"children":3923},{"className":26},[3924],{"type":15,"value":3925},"header",{"type":15,"value":3927}," retains the full-width page-heading spacing (22px gutters, 16px below 600px).\nProjected actions sit beside the link row and receive their usual application action context.",{"type":9,"tag":18,"props":3929,"children":3930},{},[3931,3933,3937,3939,3943,3944,3948],{"type":15,"value":3932},"With scripts, the current destination remains in the row; an unusually long current label truncates\nvisually while preserving its full link name. Overflow destinations are native anchors in a labelled\nmanual popover under the owning nav. The popup inherits consumer CSS, escapes clipping, clamps to\nthe viewport, scrolls on short screens and follows resize\u002Fscroll. ",{"type":9,"tag":24,"props":3934,"children":3935},{"className":26},[3936],{"type":15,"value":2390},{"type":15,"value":3938}," exposes unique\n",{"type":9,"tag":24,"props":3940,"children":3941},{"className":26},[3942],{"type":15,"value":3876},{"type":15,"value":170},{"type":9,"tag":24,"props":3945,"children":3946},{"className":26},[3947],{"type":15,"value":3622},{"type":15,"value":3949}," values. Enter\u002Fclick opens it; Up\u002FDown, Home\u002FEnd navigate its\nlinks, Escape returns focus, and Tab can leave it. Outside pointer\u002Ffocus and link activation dismiss.\nIf a resize makes the focused destination fit in the row, focus follows that same destination.\nWithout scripts, every destination remains in a horizontally scrolling native link row.",{"type":9,"tag":18,"props":3951,"children":3952},{},[3953,3955,3959,3961,3966],{"type":15,"value":3954},"An unchanged tab list can use ",{"type":9,"tag":24,"props":3956,"children":3957},{"className":26},[3958],{"type":15,"value":2181},{"type":15,"value":3960}," to retain the open menu and focused link through\nunrelated updates, including updates to the nav's accessible label. Change\u002Fremove the preservation\nkey when changing ",{"type":9,"tag":24,"props":3962,"children":3963},{"className":26},[3964],{"type":15,"value":3965},"items",{"type":15,"value":3967}," or projected children, since those children remain client-owned.\nUnpreserved lists render their new links normally. Component lifecycle cleanup removes event\nlisteners and ResizeObservers and closes the native popover on unmount.",{"type":9,"tag":18,"props":3969,"children":3970},{},[3971,3973,3978,3980,3984,3985,3989,3991,3995,3997,4001],{"type":15,"value":3972},"Select children supply native option values, labels, selected\u002Fdisabled state and optgroups.\n",{"type":9,"tag":24,"props":3974,"children":3975},{"className":26},[3976],{"type":15,"value":3977},"\u003Chtml:select>",{"type":15,"value":3979}," keeps a plain native select available after importing the library. With scripts\ndisabled, the component remains a styled native select, including multiple values and required\nvalidation. With scripts, it keeps that native select for form submission and exposes a combobox.\nAdditional native ",{"type":9,"tag":24,"props":3981,"children":3982},{"className":26},[3983],{"type":15,"value":3521},{"type":15,"value":3459},{"type":9,"tag":24,"props":3986,"children":3987},{"className":26},[3988],{"type":15,"value":3882},{"type":15,"value":3990}," values reach the enhanced trigger. A wrapping\n",{"type":9,"tag":24,"props":3992,"children":3993},{"className":26},[3994],{"type":15,"value":627},{"type":15,"value":3996}," label supplies its visible name; provide a matching ",{"type":9,"tag":24,"props":3998,"children":3999},{"className":26},[4000],{"type":15,"value":2894},{"type":15,"value":4002}," for the native fallback.",{"type":9,"tag":18,"props":4004,"children":4005},{},[4006,4008,4013,4015,4020,4022,4026],{"type":15,"value":4007},"Keyboard arrows, Home\u002FEnd, Enter and non-searchable Space choose enabled options. Escape returns\nfocus and Tab leaves the popup, with access to page buttons when present. Native required validation\nfocuses the trigger and marks it invalid. Selection emits one bubbling native ",{"type":9,"tag":24,"props":4009,"children":4010},{"className":26},[4011],{"type":15,"value":4012},"change",{"type":15,"value":4014}," event.\nThe scrollable listbox also accepts direct keyboard focus and exposes its active option while open.\nMultiple choices retain repeated native form values, show up to ",{"type":9,"tag":24,"props":4016,"children":4017},{"className":26},[4018],{"type":15,"value":4019},"maxTags",{"type":15,"value":4021}," removable tags and a\nremaining count, and support Backspace removal when the query is empty. Disabled optgroups remain\ndisabled. ",{"type":9,"tag":24,"props":4023,"children":4024},{"className":26},[4025],{"type":15,"value":2469},{"type":15,"value":4027}," disables enhanced interaction while retaining native submission values.\nNative form resets refresh the displayed selection, including after a retained-root action patch.\nWithout scripts, multiple controls use a native listbox without a dropdown chevron. Long selected\ntag labels wrap inside their control while their removal buttons remain available.",{"type":9,"tag":18,"props":4029,"children":4030},{},[4031,4033,4037,4039,4044,4046,4051,4053,4058,4060,4065,4067,4072,4074,4079,4081,4085,4086,4090,4092,4096,4098,4103,4105,4110],{"type":15,"value":4032},"Local searchable choices filter their native labels\u002Fvalues. ",{"type":9,"tag":24,"props":4034,"children":4035},{"className":26},[4036],{"type":15,"value":2458},{"type":15,"value":4038}," adds a ",{"type":9,"tag":24,"props":4040,"children":4041},{"className":26},[4042],{"type":15,"value":4043},"Use “…”",{"type":15,"value":4045}," choice\nand stores its actual value as the native option and displayed selection. Changing allowCustom\nreconciles an open local or fetched list without changing its query or native selection; fetched\nresults do not request another search. Async controls emit\n",{"type":9,"tag":24,"props":4047,"children":4048},{"className":26},[4049],{"type":15,"value":4050},"selectsearch",{"type":15,"value":4052}," with ",{"type":9,"tag":24,"props":4054,"children":4055},{"className":26},[4056],{"type":15,"value":4057},"{ query, offset, resolve, reject }",{"type":15,"value":4059}," after ",{"type":9,"tag":24,"props":4061,"children":4062},{"className":26},[4063],{"type":15,"value":4064},"debounce",{"type":15,"value":4066},"; zero disables the delay.\nThe caller supplies the search transport through its existing BML server\u002Fproxy abstractions.\n",{"type":9,"tag":24,"props":4068,"children":4069},{"className":26},[4070],{"type":15,"value":4071},"resolve",{"type":15,"value":4073}," accepts an option array or ",{"type":9,"tag":24,"props":4075,"children":4076},{"className":26},[4077],{"type":15,"value":4078},"{ options, previousOffset?, nextOffset? }",{"type":15,"value":4080},"; options have\n",{"type":9,"tag":24,"props":4082,"children":4083},{"className":26},[4084],{"type":15,"value":851},{"type":15,"value":163},{"type":9,"tag":24,"props":4087,"children":4088},{"className":26},[4089],{"type":15,"value":2894},{"type":15,"value":4091},", optional ",{"type":9,"tag":24,"props":4093,"children":4094},{"className":26},[4095],{"type":15,"value":589},{"type":15,"value":4097}," and optional ",{"type":9,"tag":24,"props":4099,"children":4100},{"className":26},[4101],{"type":15,"value":4102},"custom",{"type":15,"value":4104},". Page offsets are supplied by the caller.\nThe helper retains selected native options and remembered labels while other pages are shown.\n",{"type":9,"tag":24,"props":4106,"children":4107},{"className":26},[4108],{"type":15,"value":4109},"minQuery",{"type":15,"value":4111}," suppresses requests below its threshold. Busy, empty and rejected requests have visible\nstatus feedback; newer queries, close\u002Freopen and disposal prevent stale results from changing it.",{"type":9,"tag":18,"props":4113,"children":4114},{},[4115,4117,4122,4124,4129,4131,4136],{"type":15,"value":4116},"Mark caller-owned ",{"type":9,"tag":24,"props":4118,"children":4119},{"className":26},[4120],{"type":15,"value":4121},"\u003Coption data-persistent>",{"type":15,"value":4123}," entries to keep them available below the query\nthreshold and across async pages, busy states and failures. Their explicit labels\u002Fvalues win over\nmatching returned values. The string ",{"type":9,"tag":24,"props":4125,"children":4126},{"className":26},[4127],{"type":15,"value":4128},"all",{"type":15,"value":4130}," has no special meaning. Persistent choices can also be\nused with local filtering. The library does not own an ",{"type":9,"tag":24,"props":4132,"children":4133},{"className":26},[4134],{"type":15,"value":4135},"All …",{"type":15,"value":4137}," convention or application filters.",{"type":9,"tag":18,"props":4139,"children":4140},{},[4141,4145],{"type":9,"tag":24,"props":4142,"children":4143},{"className":26},[4144],{"type":15,"value":2939},{"type":15,"value":4146}," retains the whole enhanced control, local native selection, query\u002Fcaret\u002Ffocus and open\npopup through unrelated island updates. Disabled\u002Floading\u002Frequired\u002Fname\u002Flabel\u002Fplaceholder settings\nreconcile through its server-owned root attributes. Change\u002Fremove the key when changing options,\nmultiple mode, icons or additional native attributes; those child nodes remain client-owned.\nThe popup stays under its owning root, inherits ordinary CSS, escapes clipping and fits narrow\u002Fshort\nviewports. Unmount closes it, cancels debounce work, ignores pending results and removes listeners\nand ResizeObservers. Each instance owns its options and requests.",{"type":9,"tag":18,"props":4148,"children":4149},{},[4150],{"type":15,"value":4151},"Import the producer-owned event types through their stable type-only module:",{"type":9,"tag":45,"props":4153,"children":4158},{"className":4154,"code":4156,"filename":-1,"highlights":-1,"language":4157,"meta":26},[4155],"language-ts","import type { SelectOption, SelectPage, SelectSearch } from \"@bosca\u002Fbml-design\u002Fselect\";\n\nctx.on\u003CCustomEvent\u003CSelectSearch>>(ctx.root, \"selectsearch\", event => {\n  const { query, offset, resolve, reject } = event.detail;\n  \u002F\u002F Call the application's search transport, then resolve options or a SelectPage.\n});\n","ts",[4159],{"type":9,"tag":24,"props":4160,"children":4161},{"__ignoreMap":26},[4162],{"type":15,"value":4156},{"type":9,"tag":18,"props":4164,"children":4165},{},[4166,4168,4173,4175,4180,4182,4187],{"type":15,"value":4167},"The compiled library JAR contains ",{"type":9,"tag":24,"props":4169,"children":4170},{"className":26},[4171],{"type":15,"value":4172},"client\u002Fcontracts\u002Fselect.d.ts",{"type":15,"value":4174},"; the existing library linker\nverifies and extracts it when linking the selected components. Run ",{"type":9,"tag":24,"props":4176,"children":4177},{"className":26},[4178],{"type":15,"value":4179},"bmlPrepareClient",{"type":15,"value":4181}," and include\n",{"type":9,"tag":24,"props":4183,"children":4184},{"className":26},[4185],{"type":15,"value":4186},"build\u002Fgenerated\u002Fbml\u002Fts\u002F**\u002F*.ts",{"type":15,"value":4188}," in the application's TypeScript configuration. This includes the\ndeclarations without a paths alias to the producer, a sources JAR or a separate npm package.\nType-only imports add no browser code. The independent consumer's adapter uses this import with\nBML's same-origin contract client. The library's own helper uses the same declaration.",{"type":9,"tag":199,"props":4190,"children":4192},{"id":4191},"trees-timestamps-and-comments",[4193],{"type":15,"value":4194},"Trees, timestamps and comments",{"type":9,"tag":18,"props":4196,"children":4197},{},[4198,4200,4204,4206,4210],{"type":15,"value":4199},"Use ",{"type":9,"tag":24,"props":4201,"children":4202},{"className":26},[4203],{"type":15,"value":2580},{"type":15,"value":4205}," as flat children of ",{"type":9,"tag":24,"props":4207,"children":4208},{"className":26},[4209],{"type":15,"value":2526},{"type":15,"value":4211},", with unique, stable slash-separated paths and explicit\ndepths. File destinations remain native links; directory controls remain separate native buttons.\nFile links use their visible label as their accessible name and retain the full path in their title.\nDown\u002FUp, Home\u002FEnd, Left to collapse\u002Freturn and type-ahead operate on visible\nitems with one roving tab stop, skipping disabled native directory buttons. Repeating a letter cycles\nmatching labels. Right opens a closed directory while keeping focus there; another Right enters\nits first child once it is open. Enter follows a file link\nor activates its directory button. The helper does not load data, persist expansion or change routes.",{"type":9,"tag":18,"props":4213,"children":4214},{},[4215,4219,4221,4225,4227,4231,4233,4237,4239,4243],{"type":9,"tag":24,"props":4216,"children":4217},{"className":26},[4218],{"type":15,"value":2567},{"type":15,"value":4220}," trees disclose descendants already in the child list and honor initial ",{"type":9,"tag":24,"props":4222,"children":4223},{"className":26},[4224],{"type":15,"value":2612},{"type":15,"value":4226}," props.\nUse a stable ",{"type":9,"tag":24,"props":4228,"children":4229},{"className":26},[4230],{"type":15,"value":2939},{"type":15,"value":4232}," to retain the whole local tree, disclosure state, scroll and focus through unrelated\nupdates. Its children remain client-owned; change\u002Fremove that key when replacing the item list or\nits props. For server-loaded trees, the application supplies directory actions, expanded state and\nnew rows. Preserve the native directory control with an additional ",{"type":9,"tag":24,"props":4234,"children":4235},{"className":26},[4236],{"type":15,"value":2181},{"type":15,"value":4238}," attribute so\nloading leaves focus on the directory after the update. A subsequent Right Arrow enters the first\nloaded child. The helper does not take focus back from another element.\nThe enhancement adds owned branch groups and explicit sibling positions\u002Fset sizes without moving\nserver-rendered rows or native controls. Tree item names remain their visible labels through disclosure.\nNonnegative depth sets the ARIA level; indentation is capped at twelve levels. ",{"type":9,"tag":24,"props":4240,"children":4241},{"className":26},[4242],{"type":15,"value":2624},{"type":15,"value":4244}," makes long labels wrap.\nWithout scripts, rendered file links retain their native Tab stops. The helper installs roving focus\nonly when scripts run.",{"type":9,"tag":18,"props":4246,"children":4247},{},[4248,4250,4254],{"type":15,"value":4249},"An empty tree body is hidden through component CSS, including without scripts. Its wrapper and any\nheading remain; put the application's ",{"type":9,"tag":24,"props":4251,"children":4252},{"className":26},[4253],{"type":15,"value":1051},{"type":15,"value":4255}," explanation beside the tree. The tree body\nbecomes visible when rendered item children return. Changing a preserved item list still requires\nchanging or removing its preservation key.",{"type":9,"tag":18,"props":4257,"children":4258},{},[4259,4263,4265,4270,4272,4277,4279,4284,4286,4291,4293,4297,4299,4303],{"type":9,"tag":24,"props":4260,"children":4261},{"className":26},[4262],{"type":15,"value":2656},{"type":15,"value":4264}," parses offset timestamps. Its default label converts to UTC and displays ",{"type":9,"tag":24,"props":4266,"children":4267},{"className":26},[4268],{"type":15,"value":4269},"MMM d, HH:mm UTC",{"type":15,"value":4271},".\nA custom Java date\u002Ftime pattern takes priority and retains the supplied offset. Relative labels use\n",{"type":9,"tag":24,"props":4273,"children":4274},{"className":26},[4275],{"type":15,"value":4276},"just now",{"type":15,"value":4278},", minutes, hours and days for ages below a week, then ",{"type":9,"tag":24,"props":4280,"children":4281},{"className":26},[4282],{"type":15,"value":4283},"MMM d",{"type":15,"value":4285},"; future labels use ",{"type":9,"tag":24,"props":4287,"children":4288},{"className":26},[4289],{"type":15,"value":4290},"in",{"type":15,"value":4292}," and\n",{"type":9,"tag":24,"props":4294,"children":4295},{"className":26},[4296],{"type":15,"value":2676},{"type":15,"value":4298}," optionally adds the past suffix. Labels use English and are computed at server render time,\nwith no browser refresh timer. Invalid timestamp text remains escaped literal text; invalid format\npatterns raise their normal error. ",{"type":9,"tag":24,"props":4300,"children":4301},{"className":26},[4302],{"type":15,"value":2682},{"type":15,"value":4304}," inherits the surrounding font and color.",{"type":9,"tag":18,"props":4306,"children":4307},{},[4308,4310,4314,4316,4320,4322,4327,4329,4333,4334,4338,4340,4345,4347,4351,4353,4357,4359,4363],{"type":15,"value":4309},"Give each ",{"type":9,"tag":24,"props":4311,"children":4312},{"className":26},[4313],{"type":15,"value":2716},{"type":15,"value":4315}," a unique ",{"type":9,"tag":24,"props":4317,"children":4318},{"className":26},[4319],{"type":15,"value":2174},{"type":15,"value":4321}," and place it in a caller-owned form, projecting its action\nbuttons into the default slot. The default form field name is ",{"type":9,"tag":24,"props":4323,"children":4324},{"className":26},[4325],{"type":15,"value":4326},"body",{"type":15,"value":4328},". The helper grows the textarea\nfrom 78px to 320px, blocks blank submissions, and supports Ctrl+Enter or Command+Enter. Native\n",{"type":9,"tag":24,"props":4330,"children":4331},{"className":26},[4332],{"type":15,"value":595},{"type":15,"value":170},{"type":9,"tag":24,"props":4335,"children":4336},{"className":26},[4337],{"type":15,"value":589},{"type":15,"value":4339}," attrs are respected. ",{"type":9,"tag":24,"props":4341,"children":4342},{"className":26},[4343],{"type":15,"value":4344},"submitDisabled",{"type":15,"value":4346}," blocks submission while retaining an\neditable draft; a custom ",{"type":9,"tag":24,"props":4348,"children":4349},{"className":26},[4350],{"type":15,"value":2745},{"type":15,"value":4352}," can explain that state. The default shortcut hint follows the platform\nand hides on touch-only devices. ",{"type":9,"tag":24,"props":4354,"children":4355},{"className":26},[4356],{"type":15,"value":2751},{"type":15,"value":4358}," adds application description IDs to the current\nhint\u002Ferror relationships. Form pending state makes the field readonly, blocks actions and temporarily\nhides the prior error. Completion restores the normal state; ",{"type":9,"tag":24,"props":4360,"children":4361},{"className":26},[4362],{"type":15,"value":946},{"type":15,"value":4364}," supplies the caller's alert.",{"type":9,"tag":18,"props":4366,"children":4367},{},[4368,4370,4374,4376,4380],{"type":15,"value":4369},"The textarea's preservation key retains its native value, focus and caret when its form is replaced.\nAn unchanged server ",{"type":9,"tag":24,"props":4371,"children":4372},{"className":26},[4373],{"type":15,"value":851},{"type":15,"value":4375}," retains a draft; a changed value replaces it and becomes its native reset\ndefault. Change ",{"type":9,"tag":24,"props":4377,"children":4378},{"className":26},[4379],{"type":15,"value":2174},{"type":15,"value":4381}," to reset after successful submission, including when the server value was already\nempty. The helper reconnects to the current form, and unmount removes its listeners and observer.\nIt supplies no storage, transport, permissions or rich-text formatting.",{"type":9,"tag":199,"props":4383,"children":4385},{"id":4384},"rich-text-documents",[4386],{"type":15,"value":4387},"Rich text documents",{"type":9,"tag":18,"props":4389,"children":4390},{},[4391,4395],{"type":9,"tag":24,"props":4392,"children":4393},{"className":26},[4394],{"type":15,"value":3156},{"type":15,"value":4396}," uses TipTap with the same ProseMirror JSON document format as Studio. It supplies\nheadings, bold\u002Fitalic\u002Funderline\u002Fstrike\u002Finline code, superscript\u002Fsubscript, block quotes, bullet\u002Fnumbered\nand nested task lists, links, images, tables, code blocks, text alignment and undo\u002Fredo. Images use a\nsupplied URL and description; storage and uploads belong to the consuming application.",{"type":9,"tag":45,"props":4398,"children":4401},{"className":4399,"code":4400,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"\u003Cform @submit=\"article.save(form.document)\">\n  \u003Cdocument-editor id=\"article-body\" label=\"Article body\" name=\"document\"\n                   :value=\"article.value\" :error=\"article.error\"\n                   preserveKey=\"article-draft\" required \u002F>\n  \u003Cbutton type=\"submit\" primary>Save article\u003C\u002Fbutton>\n\u003C\u002Fform>\n",[4402],{"type":9,"tag":24,"props":4403,"children":4404},{"__ignoreMap":26},[4405],{"type":15,"value":4400},{"type":9,"tag":18,"props":4407,"children":4408},{},[4409,4413,4415,4420,4422,4427,4429,4434,4436,4440,4441,4445,4447,4451],{"type":9,"tag":24,"props":4410,"children":4411},{"className":26},[4412],{"type":15,"value":851},{"type":15,"value":4414}," is a serialized ProseMirror ",{"type":9,"tag":24,"props":4416,"children":4417},{"className":26},[4418],{"type":15,"value":4419},"doc",{"type":15,"value":4421}," object. The native field contains the current JSON immediately\nwhen editing and participates in ordinary form serialization. ",{"type":9,"tag":24,"props":4423,"children":4424},{"className":26},[4425],{"type":15,"value":4426},"documentchange",{"type":15,"value":4428}," bubbles with\n",{"type":9,"tag":24,"props":4430,"children":4431},{"className":26},[4432],{"type":15,"value":4433},"detail.document",{"type":15,"value":4435},"; native ",{"type":9,"tag":24,"props":4437,"children":4438},{"className":26},[4439],{"type":15,"value":527},{"type":15,"value":170},{"type":9,"tag":24,"props":4442,"children":4443},{"className":26},[4444],{"type":15,"value":4012},{"type":15,"value":4446}," events also bubble from the field. The component makes\nno service calls. Stable preservation keys retain local edits, selection, scroll and focus through\nunrelated updates. A changed ",{"type":9,"tag":24,"props":4448,"children":4449},{"className":26},[4450],{"type":15,"value":851},{"type":15,"value":4452}," replaces the document and becomes the native reset default;\nchanging the key mounts a new editor. Reset restores the latest supplied value. Pending form actions\nlock editing. Read-only values remain in form data; disabled values are excluded.",{"type":9,"tag":18,"props":4454,"children":4455},{},[4456,4458,4462],{"type":15,"value":4457},"The toolbar has one Tab stop. Left and Right move between controls; Up and Down keep native select\nbehavior. Tab then reaches the editor. Standard TipTap editing shortcuts remain available.\nEscape then Tab leaves the editor, including from a table. Link\u002Fimage inputs preserve the source\nselection; Escape closes them. ",{"type":9,"tag":24,"props":4459,"children":4460},{"className":26},[4461],{"type":15,"value":857},{"type":15,"value":4463}," checks document\ncontent rather than the length of the serialized JSON. Errors are announced beside the editor.\nWithout scripts, the native textarea exposes the supplied JSON.",{"type":9,"tag":18,"props":4465,"children":4466},{},[4467,4469,4474],{"type":15,"value":4468},"The initial component covers the general rich text schema. Studio collaboration, authenticated\nmentions and metadata\u002Ftemplate-specific blocks need a consuming application's integration.\nUnsupported nodes, marks and attributes report an error and retain the original JSON instead of\nsilently discarding content. The built-in image node retains Studio's optional ",{"type":9,"tag":24,"props":4470,"children":4471},{"className":26},[4472],{"type":15,"value":4473},"metadataId",{"type":15,"value":38},{"type":9,"tag":18,"props":4476,"children":4477},{},[4478,4480,4485,4486,4491,4493,4498,4500,4505,4506,4511,4513,4518,4520,4525,4527,4532],{"type":15,"value":4479},"Colors inherit the application palette. ",{"type":9,"tag":24,"props":4481,"children":4482},{"className":26},[4483],{"type":15,"value":4484},"--document-bg",{"type":15,"value":170},{"type":9,"tag":24,"props":4487,"children":4488},{"className":26},[4489],{"type":15,"value":4490},"--document-fg",{"type":15,"value":4492}," override the surface and\ntext; ",{"type":9,"tag":24,"props":4494,"children":4495},{"className":26},[4496],{"type":15,"value":4497},"--document-height",{"type":15,"value":4499}," defaults to ",{"type":9,"tag":24,"props":4501,"children":4502},{"className":26},[4503],{"type":15,"value":4504},"320px",{"type":15,"value":170},{"type":9,"tag":24,"props":4507,"children":4508},{"className":26},[4509],{"type":15,"value":4510},"--document-max-height",{"type":15,"value":4512}," to ",{"type":9,"tag":24,"props":4514,"children":4515},{"className":26},[4516],{"type":15,"value":4517},"640px",{"type":15,"value":4519},".\n",{"type":9,"tag":24,"props":4521,"children":4522},{"className":26},[4523],{"type":15,"value":4524},"--document-selection",{"type":15,"value":4526}," controls table-cell selection. Shared font, border, radius and focus tokens\nalso apply. TipTap is bundled only on routes using this component; consumers need no npm dependency.\nDependency notices ship in ",{"type":9,"tag":24,"props":4528,"children":4529},{"className":26},[4530],{"type":15,"value":4531},"META-INF\u002Flicenses\u002Fbml-design\u002Fdocument-editor.txt",{"type":15,"value":38},{"type":9,"tag":199,"props":4534,"children":4536},{"id":4535},"fill-height-workspaces",[4537],{"type":15,"value":4538},"Fill-height workspaces",{"type":9,"tag":18,"props":4540,"children":4541},{},[4542,4546,4548,4553,4555,4560,4562,4567,4569,4574],{"type":9,"tag":24,"props":4543,"children":4544},{"className":26},[4545],{"type":15,"value":1344},{"type":15,"value":4547}," fills the remaining height of a bounded flex column. Use ",{"type":9,"tag":24,"props":4549,"children":4550},{"className":26},[4551],{"type":15,"value":4552},"page-shell fill",{"type":15,"value":4554}," for\nthat page column, ",{"type":9,"tag":24,"props":4556,"children":4557},{"className":26},[4558],{"type":15,"value":4559},"workspace-fixed",{"type":15,"value":4561}," for headers and footers, ",{"type":9,"tag":24,"props":4563,"children":4564},{"className":26},[4565],{"type":15,"value":4566},"workspace-content",{"type":15,"value":4568}," for nested\nflexible containers or forms, and ",{"type":9,"tag":24,"props":4570,"children":4571},{"className":26},[4572],{"type":15,"value":4573},"workspace-scroll",{"type":15,"value":4575}," for an internally scrolling preview.\nThe library automatically fills a direct BML island inside a workspace. Supply a viewport-height\napplication document or another explicitly sized parent; the components do not set the document height.",{"type":9,"tag":45,"props":4577,"children":4580},{"className":4578,"code":4579,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"\u003Cpage-shell fill>\n  \u003Cpage-heading title=\"README.md\" class=\"workspace-fixed\" \u002F>\n  \u003Cworkspace label=\"README.md\" framed>\n    \u003Cheader class=\"workspace-fixed document-toolbar\">\n      \u003Cstrong>Source\u003C\u002Fstrong>\n      \u003Cfullscreen-button \u002F>\n    \u003C\u002Fheader>\n    \u003Csource-view :content=\"document.source\" path=\"README.md\" bare fill \u002F>\n  \u003C\u002Fworkspace>\n\u003C\u002Fpage-shell>\n",[4581],{"type":9,"tag":24,"props":4582,"children":4583},{"__ignoreMap":26},[4584],{"type":15,"value":4579},{"type":9,"tag":45,"props":4586,"children":4589},{"className":4587,"code":4588,"filename":-1,"highlights":-1,"language":384,"meta":26},[382],".document-page { height: 100dvh; margin: 0; display: flex; flex-direction: column; }\n.document-toolbar { display: flex; align-items: center; gap: 12px; padding: 12px 16px; }\n.document-toolbar [data-bml-fullscreen-button] { margin-left: auto; }\n",[4590],{"type":9,"tag":24,"props":4591,"children":4592},{"__ignoreMap":26},[4593],{"type":15,"value":4588},{"type":9,"tag":18,"props":4595,"children":4596},{},[4597,4599,4604,4606,4610,4612,4617,4618,4623],{"type":15,"value":4598},"Apply ",{"type":9,"tag":24,"props":4600,"children":4601},{"className":26},[4602],{"type":15,"value":4603},"document-page",{"type":15,"value":4605}," to the application's body. The source viewer's ",{"type":9,"tag":24,"props":4607,"children":4608},{"className":26},[4609],{"type":15,"value":718},{"type":15,"value":4611}," variant removes its\nusual minimum, maximum and snippet heights while retaining an internal CodeMirror scroller;\nit also works without a workspace when its parent supplies the available height. Default source\nviewers retain their existing sizing. A preview can instead use a labelled, focusable native\n",{"type":9,"tag":24,"props":4613,"children":4614},{"className":26},[4615],{"type":15,"value":4616},"article",{"type":15,"value":4052},{"type":9,"tag":24,"props":4619,"children":4620},{"className":26},[4621],{"type":15,"value":4622},"class=\"workspace-scroll\"",{"type":15,"value":4624},". Applications own view switching and accessible tab\u002Fpanel\nrelationships, editing engines, forms, drafts and save actions.",{"type":9,"tag":18,"props":4626,"children":4627},{},[4628,4630,4634,4636,4640,4641,4646],{"type":15,"value":4629},"Add ",{"type":9,"tag":24,"props":4631,"children":4632},{"className":26},[4633],{"type":15,"value":1368},{"type":15,"value":4635}," anywhere inside a workspace. It controls the nearest workspace and supports\ncustom ",{"type":9,"tag":24,"props":4637,"children":4638},{"className":26},[4639],{"type":15,"value":2894},{"type":15,"value":170},{"type":9,"tag":24,"props":4642,"children":4643},{"className":26},[4644],{"type":15,"value":4645},"exitLabel",{"type":15,"value":4647}," text for its accessible name and tooltip. Its expand icon changes to a\ncontract icon while expanded, with the same 30×30px footprint. Native full screen is used when available; rejected or unsupported\nrequests retain expansion inside the viewport. Exit full screen or Escape restores layout and focus.\nProjected dialogs and popovers receive Escape first. The mounted content and scroll positions survive\nexpansion; background controls are inert until exit. Nested workspaces restore their outer workspace,\nand removal releases background state and listeners. Keep the workspace outside a changing action\nisland to retain expansion through form updates, as Git and the independent consumer do. Removing\nand recreating the workspace starts a new, collapsed instance.",{"type":9,"tag":18,"props":4649,"children":4650},{},[4651,4653,4658,4659,4664,4665,4670,4671,4676,4677,4682,4684,4689,4691,4695,4697,4702,4704,4709,4711,4716,4718,4723],{"type":15,"value":4652},"The button stays hidden without scripts; source text and native content remain readable. A framed\nworkspace inherits ",{"type":9,"tag":24,"props":4654,"children":4655},{"className":26},[4656],{"type":15,"value":4657},"--bg-1",{"type":15,"value":163},{"type":9,"tag":24,"props":4660,"children":4661},{"className":26},[4662],{"type":15,"value":4663},"--line",{"type":15,"value":170},{"type":9,"tag":24,"props":4666,"children":4667},{"className":26},[4668],{"type":15,"value":4669},"--r-sm",{"type":15,"value":475},{"type":9,"tag":24,"props":4672,"children":4673},{"className":26},[4674],{"type":15,"value":4675},"--workspace-bg",{"type":15,"value":170},{"type":9,"tag":24,"props":4678,"children":4679},{"className":26},[4680],{"type":15,"value":4681},"--workspace-radius",{"type":15,"value":4683}," override\nthe frame. ",{"type":9,"tag":24,"props":4685,"children":4686},{"className":26},[4687],{"type":15,"value":4688},"--workspace-fullscreen-bg",{"type":15,"value":4690}," overrides the expanded surface, which defaults to ",{"type":9,"tag":24,"props":4692,"children":4693},{"className":26},[4694],{"type":15,"value":4657},{"type":15,"value":4696},";\nchoose an opaque color when the application's normal surfaces are translucent. ",{"type":9,"tag":24,"props":4698,"children":4699},{"className":26},[4700],{"type":15,"value":4701},"--workspace-z-index",{"type":15,"value":4703},"\ndefaults to 80. The icon control uses ",{"type":9,"tag":24,"props":4705,"children":4706},{"className":26},[4707],{"type":15,"value":4708},"--control-height-sm",{"type":15,"value":4710}," for both dimensions.\nNo theme registry or product adapter is required. The catalog's ",{"type":9,"tag":24,"props":4712,"children":4713},{"className":26},[4714],{"type":15,"value":4715},"\u002Fworkspaces",{"type":15,"value":4717}," page and\n",{"type":9,"tag":24,"props":4719,"children":4720},{"className":26},[4721],{"type":15,"value":4722},"\u002Fcomponents\u002Flayout",{"type":15,"value":4724}," references show the unprefixed tags.",{"type":9,"tag":199,"props":4726,"children":4728},{"id":4727},"application-shell-and-profiles",[4729],{"type":15,"value":4730},"Application shell and profiles",{"type":9,"tag":18,"props":4732,"children":4733},{},[4734,4738],{"type":9,"tag":24,"props":4735,"children":4736},{"className":26},[4737],{"type":15,"value":1223},{"type":15,"value":4739}," supplies the responsive sidebar layout and ambient gradients used by Git. Applications\nown their document, routes, account data and CSS palette. Use the short tags from the normal import:",{"type":9,"tag":45,"props":4741,"children":4744},{"className":4742,"code":4743,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"\u003Capp-shell>\n  \u003Capp-header brand=\"Bosca\" product=\"Example\" href=\"\u002F\">\n    \u003Cnav class=\"shell-navigation\" aria-label=\"Example\">\n      \u003Cdiv class=\"shell-group\">\n        \u003Cspan class=\"shell-label\">Browse\u003C\u002Fspan>\n        \u003Ca href=\"\u002F\" aria-current=\"page\">\u003Cspan class=\"shell-icon\">\u003Cicon name=\"folder\" \u002F>\u003C\u002Fspan>Overview\u003C\u002Fa>\n      \u003C\u002Fdiv>\n    \u003C\u002Fnav>\n    \u003Cdiv class=\"shell-footer\">\n      \u003Cprofile-menu label=\"Account\" name=\"Alex Example\" subtitle=\"@alex\">\n        \u003Ca role=\"menuitem\" href=\"\u002Faccount\">\u003Cspan class=\"menu-icon\">\u003Cicon name=\"users\" \u002F>\u003C\u002Fspan>Profile\u003C\u002Fa>\n        \u003Cbutton role=\"menuitem\" icon=\"moon\" @click=\"account.changeAppearance\">Dark appearance\u003C\u002Fbutton>\n      \u003C\u002Fprofile-menu>\n    \u003C\u002Fdiv>\n  \u003C\u002Fapp-header>\n  \u003Cdiv class=\"shell-main\">\n    \u003Cpage-shell>\u003Cprofile name=\"Alex Example\" subtitle=\"@alex\" initials=\"AE\" \u002F>\u003C\u002Fpage-shell>\n  \u003C\u002Fdiv>\n\u003C\u002Fapp-shell>\n",[4745],{"type":9,"tag":24,"props":4746,"children":4747},{"__ignoreMap":26},[4748],{"type":15,"value":4743},{"type":9,"tag":18,"props":4750,"children":4751},{},[4752,4754,4759,4761,4766,4768,4773,4775,4780,4781,4786,4788,4793,4794,4799,4800,4805,4806,4811,4812,4817,4819,4824,4826,4830],{"type":15,"value":4753},"The shell fills the viewport. ",{"type":9,"tag":24,"props":4755,"children":4756},{"className":26},[4757],{"type":15,"value":4758},"shell-main",{"type":15,"value":4760}," gives its content a flexible scrolling region. At 700px\nand below, the shared header wraps and ",{"type":9,"tag":24,"props":4762,"children":4763},{"className":26},[4764],{"type":15,"value":4765},"shell-navigation",{"type":15,"value":4767}," scrolls horizontally. ",{"type":9,"tag":24,"props":4769,"children":4770},{"className":26},[4771],{"type":15,"value":4772},"shell-subsystem",{"type":15,"value":4774},",\n",{"type":9,"tag":24,"props":4776,"children":4777},{"className":26},[4778],{"type":15,"value":4779},"shell-subsystem-icon",{"type":15,"value":170},{"type":9,"tag":24,"props":4782,"children":4783},{"className":26},[4784],{"type":15,"value":4785},"shell-subsystem-text",{"type":15,"value":4787}," supply the optional sidebar introduction.\n",{"type":9,"tag":24,"props":4789,"children":4790},{"className":26},[4791],{"type":15,"value":4792},"shell-group",{"type":15,"value":163},{"type":9,"tag":24,"props":4795,"children":4796},{"className":26},[4797],{"type":15,"value":4798},"shell-label",{"type":15,"value":163},{"type":9,"tag":24,"props":4801,"children":4802},{"className":26},[4803],{"type":15,"value":4804},"shell-icon",{"type":15,"value":163},{"type":9,"tag":24,"props":4807,"children":4808},{"className":26},[4809],{"type":15,"value":4810},"shell-settings",{"type":15,"value":170},{"type":9,"tag":24,"props":4813,"children":4814},{"className":26},[4815],{"type":15,"value":4816},"shell-chevron",{"type":15,"value":4818}," style native links\nand disclosures; ",{"type":9,"tag":24,"props":4820,"children":4821},{"className":26},[4822],{"type":15,"value":4823},"shell-footer",{"type":15,"value":4825}," places profile controls at the sidebar bottom or header right.\nSet ",{"type":9,"tag":24,"props":4827,"children":4828},{"className":26},[4829],{"type":15,"value":2383},{"type":15,"value":4831}," on the current native destination. The application supplies its links.",{"type":9,"tag":18,"props":4833,"children":4834},{},[4835,4840,4842,4847,4849,4854,4856,4861,4862,4867,4869,4874],{"type":9,"tag":24,"props":4836,"children":4837},{"className":26},[4838],{"type":15,"value":4839},"--shell-background",{"type":15,"value":4841}," selects the ambient base color, falling back to ",{"type":9,"tag":24,"props":4843,"children":4844},{"className":26},[4845],{"type":15,"value":4846},"--bg-0",{"type":15,"value":4848},". ",{"type":9,"tag":24,"props":4850,"children":4851},{"className":26},[4852],{"type":15,"value":4853},"--shell-accent",{"type":15,"value":4855},"\ntints the neutral ambient layers and falls back to ",{"type":9,"tag":24,"props":4857,"children":4858},{"className":26},[4859],{"type":15,"value":4860},"--accent",{"type":15,"value":475},{"type":9,"tag":24,"props":4863,"children":4864},{"className":26},[4865],{"type":15,"value":4866},"--brand-accent",{"type":15,"value":4868}," tints the purple\nlayer. A light palette can use ",{"type":9,"tag":24,"props":4870,"children":4871},{"className":26},[4872],{"type":15,"value":4873},"--shell-accent: #cbd5e1",{"type":15,"value":4875}," to soften the background independently\nof control and focus colors. Palette variables remain ordinary consumer CSS. Opaque overlay and\neditor surfaces can use their own palette values inside the shell.",{"type":9,"tag":18,"props":4877,"children":4878},{},[4879,4883,4885,4890,4892,4897,4898,4903],{"type":9,"tag":24,"props":4880,"children":4881},{"className":26},[4882],{"type":15,"value":1243},{"type":15,"value":4884}," displays a name and optional subtitle, with an avatar image, initials or a decorative\nuser icon. ",{"type":9,"tag":24,"props":4886,"children":4887},{"className":26},[4888],{"type":15,"value":4889},"showAvatar=\"false\"",{"type":15,"value":4891}," supplies text-only identity. Additional attributes target its root;\n",{"type":9,"tag":24,"props":4893,"children":4894},{"className":26},[4895],{"type":15,"value":4896},"data-profile-name",{"type":15,"value":170},{"type":9,"tag":24,"props":4899,"children":4900},{"className":26},[4901],{"type":15,"value":4902},"data-profile-subtitle",{"type":15,"value":4904}," mark the text fields for consumer-owned lazy loading.",{"type":9,"tag":18,"props":4906,"children":4907},{},[4908,4912,4914,4918,4919,4923,4925,4929,4931,4936,4938,4943,4945,4950],{"type":9,"tag":24,"props":4909,"children":4910},{"className":26},[4911],{"type":15,"value":1291},{"type":15,"value":4913}," composes ",{"type":9,"tag":24,"props":4915,"children":4916},{"className":26},[4917],{"type":15,"value":1243},{"type":15,"value":170},{"type":9,"tag":24,"props":4920,"children":4921},{"className":26},[4922],{"type":15,"value":1991},{"type":15,"value":4924},". Project ",{"type":9,"tag":24,"props":4926,"children":4927},{"className":26},[4928],{"type":15,"value":3642},{"type":15,"value":4930}," links or buttons; their\nforms, events, loading states and permissions stay in the application. The menu supports normal\nactivation, right-click, ContextMenu, Shift+F10, arrows, Home\u002FEnd and Escape with focus restoration.\nWithout scripts it remains native details. It has no auth client, API dependency, theme store or\nbuilt-in account actions. ",{"type":9,"tag":24,"props":4932,"children":4933},{"className":26},[4934],{"type":15,"value":4935},"data-profile-heading",{"type":15,"value":4937}," scopes its identity display; ",{"type":9,"tag":24,"props":4939,"children":4940},{"className":26},[4941],{"type":15,"value":4942},"data-profile-error",{"type":15,"value":4944},"\nmarks its optional status paragraph. The normal popover preservation contract applies to updates.\nThe catalog and independent consumer demonstrate real actions at ",{"type":9,"tag":24,"props":4946,"children":4947},{"className":26},[4948],{"type":15,"value":4949},"\u002Fshell",{"type":15,"value":38},{"type":9,"tag":199,"props":4952,"children":4954},{"id":4953},"read-only-source",[4955],{"type":15,"value":4956},"Read-only source",{"type":9,"tag":18,"props":4958,"children":4959},{},[4960,4964,4966,4970,4972,4976,4978,4983],{"type":9,"tag":24,"props":4961,"children":4962},{"className":26},[4963],{"type":15,"value":247},{"type":15,"value":4965}," displays supplied text. ",{"type":9,"tag":24,"props":4967,"children":4968},{"className":26},[4969],{"type":15,"value":3268},{"type":15,"value":4971}," infers the language and adds context to the accessible\nlabel; an explicit ",{"type":9,"tag":24,"props":4973,"children":4974},{"className":26},[4975],{"type":15,"value":3274},{"type":15,"value":4977}," takes priority. Existing inference covers JavaScript\u002FTypeScript\u002FJSX\u002FTSX,\nKotlin, Python, Java, Rust, Go, JSON, Markdown, HTML\u002FVue markup, CSS\u002FSCSS, YAML and SQL. BML highlights markup, self-closing components, Kotlin\nserver scripts, TypeScript client scripts and CSS. Unknown languages use plain text. ",{"type":9,"tag":24,"props":4979,"children":4980},{"className":26},[4981],{"type":15,"value":4982},"line",{"type":15,"value":4984}," optionally selects and scrolls to a valid one-based line;\nzero, negative and out-of-range values do not move the selection. The viewer does not read URLs.",{"type":9,"tag":18,"props":4986,"children":4987},{},[4988,4990,4994,4996,5000,5002,5006],{"type":15,"value":4989},"The toolbar keeps its compact 24px wrap control on the right, beside the read-only label; projected\napplication content stays on the left. ",{"type":9,"tag":24,"props":4991,"children":4992},{"className":26},[4993],{"type":15,"value":3319},{"type":15,"value":4995}," controls initial\nwrapping and changed server values. ",{"type":9,"tag":24,"props":4997,"children":4998},{"className":26},[4999],{"type":15,"value":3302},{"type":15,"value":5001}," keeps the source's 110\u002F180\u002F240px snippet sizes for up\nto three, up to eight and longer source texts. ",{"type":9,"tag":24,"props":5003,"children":5004},{"className":26},[5005],{"type":15,"value":3308},{"type":15,"value":5007}," removes the toolbar and allows a 225–800px\nsource surface with a smaller phone viewport bound. When both are set, compact sizing applies and\nthe toolbar stays hidden. Normal viewers can use a caller class to size their surrounding surface.",{"type":9,"tag":18,"props":5009,"children":5010},{},[5011,5013,5017,5019,5024,5026,5030,5032,5036],{"type":15,"value":5012},"CodeMirror remains read-only, with selection, search, line numbers and its normal folding controls.\nThe source surface has no filled active-line highlight; focus uses a neutral control border.\nText selections and search matches retain their own colors. Finder fields and option labels use the\nshared small-control height; its buttons use the 24px extra-small height. Controls align right and wrap\nwith spacing on narrow screens, using the application UI font. Compact viewers grow to at least 240px while search is\nopen so controls and code fit together; closing search restores their configured snippet size.\nEscape then Tab restores native focus navigation, including for bare viewers.\nUse a stable ",{"type":9,"tag":24,"props":5014,"children":5015},{"className":26},[5016],{"type":15,"value":2939},{"type":15,"value":5018}," to retain CodeMirror state, scroll, focus and local wrapping through\nunrelated island patches. Its children stay client-owned; change\u002Fremove the key when changing\n",{"type":9,"tag":24,"props":5020,"children":5021},{"className":26},[5022],{"type":15,"value":5023},"content",{"type":15,"value":5025}," or toolbar children. Label, path\u002Flanguage, requested line and changed ",{"type":9,"tag":24,"props":5027,"children":5028},{"className":26},[5029],{"type":15,"value":3319},{"type":15,"value":5031}," props\nreconcile on a preserved root. Unmount destroys that instance's CodeMirror view and listeners.\nWithout scripts, escaped source remains in a focusable, scrollable ",{"type":9,"tag":24,"props":5033,"children":5034},{"className":26},[5035],{"type":15,"value":45},{"type":15,"value":5037}," with the supplied wrapping.",{"type":9,"tag":18,"props":5039,"children":5040},{},[5041,5043,5047,5049,5054],{"type":15,"value":5042},"CodeMirror and its styles ship inside the ordinary compiled library dependency. Consuming apps\nneed no CodeMirror npm installation. Its helper and CSS are reached through ",{"type":9,"tag":24,"props":5044,"children":5045},{"className":26},[5046],{"type":15,"value":247},{"type":15,"value":5048},", so pages\nusing only ordinary controls do not load viewer JS\u002FCSS. Grammar modules load when their language is\nselected and remain cached across viewers. BML loads its HTML, Kotlin and TypeScript grammar dependencies.\nPending grammar loads cannot update a removed viewer or override a newer language selection. The producer's private npm\nmanifest and lockfile pin its dependencies, and bundled dependency notices are packaged at\n",{"type":9,"tag":24,"props":5050,"children":5051},{"className":26},[5052],{"type":15,"value":5053},"META-INF\u002Flicenses\u002Fbml-design\u002Fsource-view.txt",{"type":15,"value":38},{"type":9,"tag":18,"props":5056,"children":5057},{},[5058],{"type":15,"value":5059},"Git retains repository\u002Fref preview, editing, commits, dirty-navigation confirmation and post-save\nrouting. Its read-only file surfaces use the shared viewer and pass requested lines explicitly. The shared\nviewer provides none of those editing behaviors.",{"type":9,"tag":18,"props":5061,"children":5062},{},[5063,5065,5070],{"type":15,"value":5064},"Viewer colors inherit ordinary design variables. Optional ",{"type":9,"tag":24,"props":5066,"children":5067},{"className":26},[5068],{"type":15,"value":5069},"--source-*",{"type":15,"value":5071}," overrides control its\nbackground\u002Fforeground, gutter, active line, selection, panels, search match and syntax groups:",{"type":9,"tag":397,"props":5073,"children":5074},{},[5075,5091],{"type":9,"tag":401,"props":5076,"children":5077},{},[5078],{"type":9,"tag":405,"props":5079,"children":5080},{},[5081,5086],{"type":9,"tag":409,"props":5082,"children":5083},{},[5084],{"type":15,"value":5085},"Variable",{"type":9,"tag":409,"props":5087,"children":5088},{},[5089],{"type":15,"value":5090},"Default",{"type":9,"tag":425,"props":5092,"children":5093},{},[5094,5136,5161,5177,5193,5217,5248,5300,5352,5382],{"type":9,"tag":405,"props":5095,"children":5096},{},[5097,5117],{"type":9,"tag":432,"props":5098,"children":5099},{},[5100,5105,5106,5111,5112],{"type":9,"tag":24,"props":5101,"children":5102},{"className":26},[5103],{"type":15,"value":5104},"--source-bg",{"type":15,"value":163},{"type":9,"tag":24,"props":5107,"children":5108},{"className":26},[5109],{"type":15,"value":5110},"--source-fg",{"type":15,"value":163},{"type":9,"tag":24,"props":5113,"children":5114},{"className":26},[5115],{"type":15,"value":5116},"--source-gutter",{"type":9,"tag":432,"props":5118,"children":5119},{},[5120,5124,5125,5130,5131],{"type":9,"tag":24,"props":5121,"children":5122},{"className":26},[5123],{"type":15,"value":4657},{"type":15,"value":163},{"type":9,"tag":24,"props":5126,"children":5127},{"className":26},[5128],{"type":15,"value":5129},"--fg-1",{"type":15,"value":163},{"type":9,"tag":24,"props":5132,"children":5133},{"className":26},[5134],{"type":15,"value":5135},"--fg-3",{"type":9,"tag":405,"props":5137,"children":5138},{},[5139,5153],{"type":9,"tag":432,"props":5140,"children":5141},{},[5142,5147,5148],{"type":9,"tag":24,"props":5143,"children":5144},{"className":26},[5145],{"type":15,"value":5146},"--source-active-line",{"type":15,"value":163},{"type":9,"tag":24,"props":5149,"children":5150},{"className":26},[5151],{"type":15,"value":5152},"--source-panel-bg",{"type":9,"tag":432,"props":5154,"children":5155},{},[5156],{"type":9,"tag":24,"props":5157,"children":5158},{"className":26},[5159],{"type":15,"value":5160},"--bg-2",{"type":9,"tag":405,"props":5162,"children":5163},{},[5164,5172],{"type":9,"tag":432,"props":5165,"children":5166},{},[5167],{"type":9,"tag":24,"props":5168,"children":5169},{"className":26},[5170],{"type":15,"value":5171},"--source-selection",{"type":9,"tag":432,"props":5173,"children":5174},{},[5175],{"type":15,"value":5176},"25% accent mixed with transparent",{"type":9,"tag":405,"props":5178,"children":5179},{},[5180,5188],{"type":9,"tag":432,"props":5181,"children":5182},{},[5183],{"type":9,"tag":24,"props":5184,"children":5185},{"className":26},[5186],{"type":15,"value":5187},"--source-search-match",{"type":9,"tag":432,"props":5189,"children":5190},{},[5191],{"type":15,"value":5192},"30% warning mixed with transparent",{"type":9,"tag":405,"props":5194,"children":5195},{},[5196,5204],{"type":9,"tag":432,"props":5197,"children":5198},{},[5199],{"type":9,"tag":24,"props":5200,"children":5201},{"className":26},[5202],{"type":15,"value":5203},"--source-search-fg",{"type":9,"tag":432,"props":5205,"children":5206},{},[5207,5211,5213],{"type":9,"tag":24,"props":5208,"children":5209},{"className":26},[5210],{"type":15,"value":5110},{"type":15,"value":5212},", falling back to ",{"type":9,"tag":24,"props":5214,"children":5215},{"className":26},[5216],{"type":15,"value":5129},{"type":9,"tag":405,"props":5218,"children":5219},{},[5220,5234],{"type":9,"tag":432,"props":5221,"children":5222},{},[5223,5228,5229],{"type":9,"tag":24,"props":5224,"children":5225},{"className":26},[5226],{"type":15,"value":5227},"--source-tag",{"type":15,"value":163},{"type":9,"tag":24,"props":5230,"children":5231},{"className":26},[5232],{"type":15,"value":5233},"--source-attribute",{"type":9,"tag":432,"props":5235,"children":5236},{},[5237,5242,5243],{"type":9,"tag":24,"props":5238,"children":5239},{"className":26},[5240],{"type":15,"value":5241},"--info",{"type":15,"value":163},{"type":9,"tag":24,"props":5244,"children":5245},{"className":26},[5246],{"type":15,"value":5247},"--warn",{"type":9,"tag":405,"props":5249,"children":5250},{},[5251,5277],{"type":9,"tag":432,"props":5252,"children":5253},{},[5254,5259,5260,5265,5266,5271,5272],{"type":9,"tag":24,"props":5255,"children":5256},{"className":26},[5257],{"type":15,"value":5258},"--source-keyword",{"type":15,"value":163},{"type":9,"tag":24,"props":5261,"children":5262},{"className":26},[5263],{"type":15,"value":5264},"--source-function",{"type":15,"value":163},{"type":9,"tag":24,"props":5267,"children":5268},{"className":26},[5269],{"type":15,"value":5270},"--source-operator",{"type":15,"value":163},{"type":9,"tag":24,"props":5273,"children":5274},{"className":26},[5275],{"type":15,"value":5276},"--source-heading",{"type":9,"tag":432,"props":5278,"children":5279},{},[5280,5285,5286,5290,5291,5295,5296],{"type":9,"tag":24,"props":5281,"children":5282},{"className":26},[5283],{"type":15,"value":5284},"--purple",{"type":15,"value":163},{"type":9,"tag":24,"props":5287,"children":5288},{"className":26},[5289],{"type":15,"value":5241},{"type":15,"value":163},{"type":9,"tag":24,"props":5292,"children":5293},{"className":26},[5294],{"type":15,"value":5241},{"type":15,"value":163},{"type":9,"tag":24,"props":5297,"children":5298},{"className":26},[5299],{"type":15,"value":5241},{"type":9,"tag":405,"props":5301,"children":5302},{},[5303,5329],{"type":9,"tag":432,"props":5304,"children":5305},{},[5306,5311,5312,5317,5318,5323,5324],{"type":9,"tag":24,"props":5307,"children":5308},{"className":26},[5309],{"type":15,"value":5310},"--source-name",{"type":15,"value":163},{"type":9,"tag":24,"props":5313,"children":5314},{"className":26},[5315],{"type":15,"value":5316},"--source-definition",{"type":15,"value":163},{"type":9,"tag":24,"props":5319,"children":5320},{"className":26},[5321],{"type":15,"value":5322},"--source-constant",{"type":15,"value":163},{"type":9,"tag":24,"props":5325,"children":5326},{"className":26},[5327],{"type":15,"value":5328},"--source-type",{"type":9,"tag":432,"props":5330,"children":5331},{},[5332,5336,5337,5342,5343,5347,5348],{"type":9,"tag":24,"props":5333,"children":5334},{"className":26},[5335],{"type":15,"value":5129},{"type":15,"value":163},{"type":9,"tag":24,"props":5338,"children":5339},{"className":26},[5340],{"type":15,"value":5341},"--fg-0",{"type":15,"value":163},{"type":9,"tag":24,"props":5344,"children":5345},{"className":26},[5346],{"type":15,"value":5247},{"type":15,"value":163},{"type":9,"tag":24,"props":5349,"children":5350},{"className":26},[5351],{"type":15,"value":5247},{"type":9,"tag":405,"props":5353,"children":5354},{},[5355,5369],{"type":9,"tag":432,"props":5356,"children":5357},{},[5358,5363,5364],{"type":9,"tag":24,"props":5359,"children":5360},{"className":26},[5361],{"type":15,"value":5362},"--source-string",{"type":15,"value":163},{"type":9,"tag":24,"props":5365,"children":5366},{"className":26},[5367],{"type":15,"value":5368},"--source-comment",{"type":9,"tag":432,"props":5370,"children":5371},{},[5372,5377,5378],{"type":9,"tag":24,"props":5373,"children":5374},{"className":26},[5375],{"type":15,"value":5376},"--ok",{"type":15,"value":163},{"type":9,"tag":24,"props":5379,"children":5380},{"className":26},[5381],{"type":15,"value":5135},{"type":9,"tag":405,"props":5383,"children":5384},{},[5385,5399],{"type":9,"tag":432,"props":5386,"children":5387},{},[5388,5393,5394],{"type":9,"tag":24,"props":5389,"children":5390},{"className":26},[5391],{"type":15,"value":5392},"--source-link",{"type":15,"value":163},{"type":9,"tag":24,"props":5395,"children":5396},{"className":26},[5397],{"type":15,"value":5398},"--source-invalid",{"type":9,"tag":432,"props":5400,"children":5401},{},[5402,5406,5407],{"type":9,"tag":24,"props":5403,"children":5404},{"className":26},[5405],{"type":15,"value":5241},{"type":15,"value":163},{"type":9,"tag":24,"props":5408,"children":5409},{"className":26},[5410],{"type":15,"value":3705},{"type":9,"tag":18,"props":5412,"children":5413},{},[5414,5416,5420,5422,5426,5427,5431,5432,5436],{"type":15,"value":5415},"Literal booleans and atoms use the constant color; markup markers use the string color.\nLinks retain an underline. Focus, cursor and matching-bracket outlines use ",{"type":9,"tag":24,"props":5417,"children":5418},{"className":26},[5419],{"type":15,"value":4860},{"type":15,"value":5421},". These rules\nlive in real CSS under the viewer root, including CodeMirror-created descendants and search panels.\nSwitching an ancestor's theme updates existing viewers without remounting or a theme runtime.\nSearch matches use the viewer foreground across nested syntax spans so text remains readable over\nthe highlight. Set ",{"type":9,"tag":24,"props":5423,"children":5424},{"className":26},[5425],{"type":15,"value":5203},{"type":15,"value":4052},{"type":9,"tag":24,"props":5428,"children":5429},{"className":26},[5430],{"type":15,"value":5187},{"type":15,"value":170},{"type":9,"tag":24,"props":5433,"children":5434},{"className":26},[5435],{"type":15,"value":5171},{"type":15,"value":5437}," when\ncustomizing both normal and current match colors. Syntax colors outside matches remain independent.",{"type":9,"tag":199,"props":5439,"children":5441},{"id":5440},"consumer-css",[5442],{"type":15,"value":5443},"Consumer CSS",{"type":9,"tag":18,"props":5445,"children":5446},{},[5447,5448,5453],{"type":15,"value":3386},{"type":9,"tag":83,"props":5449,"children":5450},{"href":229},[5451],{"type":15,"value":5452},"CSS token reference",{"type":15,"value":5454}," lists public defaults, optional component\u002Feditor hooks,\nshared control dimensions and spacing, focus values, and application-owned branding.",{"type":9,"tag":18,"props":5456,"children":5457},{},[5458],{"type":15,"value":5459},"Library defaults load before application CSS. Override ordinary custom properties on the root or a\nthemed container. For example:",{"type":9,"tag":45,"props":5461,"children":5464},{"className":5462,"code":5463,"filename":-1,"highlights":-1,"language":384,"meta":26},[382],".light {\n  --bg-1: #fff;\n  --bg-3: #e2e8f0;\n  --control-bg: #f8fafc;\n  --control-border: #64748b;\n  --line: #cbd5e1;\n  --line-2: #94a3b8;\n  --fg-0: #0f172a;\n  --fg-1: #1e293b;\n  --fg-2: #475569;\n  --fg-3: #64748b;\n  --accent: #15803d;\n  color-scheme: light;\n}\n",[5465],{"type":9,"tag":24,"props":5466,"children":5467},{"__ignoreMap":26},[5468],{"type":15,"value":5463},{"type":9,"tag":18,"props":5470,"children":5471},{},[5472,5474,5478,5480,5484,5485,5490,5491,5496,5498,5502,5504,5508,5510,5514,5515,5519,5521,5525,5527,5531,5533,5537,5539,5544,5546,5550,5552,5556],{"type":15,"value":5473},"Search and segmented controls add ",{"type":9,"tag":24,"props":5475,"children":5476},{"className":26},[5477],{"type":15,"value":4846},{"type":15,"value":5479}," for their base surface. The initial controls use surface tokens ",{"type":9,"tag":24,"props":5481,"children":5482},{"className":26},[5483],{"type":15,"value":4657},{"type":15,"value":163},{"type":9,"tag":24,"props":5486,"children":5487},{"className":26},[5488],{"type":15,"value":5489},"--bg-3",{"type":15,"value":609},{"type":9,"tag":24,"props":5492,"children":5493},{"className":26},[5494],{"type":15,"value":5495},"--control-bg",{"type":15,"value":5497},"; foreground tokens\n",{"type":9,"tag":24,"props":5499,"children":5500},{"className":26},[5501],{"type":15,"value":5341},{"type":15,"value":5503}," through ",{"type":9,"tag":24,"props":5505,"children":5506},{"className":26},[5507],{"type":15,"value":5135},{"type":15,"value":5509},"; borders ",{"type":9,"tag":24,"props":5511,"children":5512},{"className":26},[5513],{"type":15,"value":4663},{"type":15,"value":170},{"type":9,"tag":24,"props":5516,"children":5517},{"className":26},[5518],{"type":15,"value":3825},{"type":15,"value":5520},"; optional ",{"type":9,"tag":24,"props":5522,"children":5523},{"className":26},[5524],{"type":15,"value":3818},{"type":15,"value":5526}," for neutral\ncontrol boundaries independently of surface frames and dividers; ",{"type":9,"tag":24,"props":5528,"children":5529},{"className":26},[5530],{"type":15,"value":4860},{"type":15,"value":5532}," for focus\u002Fprimary actions;\n",{"type":9,"tag":24,"props":5534,"children":5535},{"className":26},[5536],{"type":15,"value":3705},{"type":15,"value":5538}," for danger actions; ",{"type":9,"tag":24,"props":5540,"children":5541},{"className":26},[5542],{"type":15,"value":5543},"--control-radius",{"type":15,"value":5545},"; and ",{"type":9,"tag":24,"props":5547,"children":5548},{"className":26},[5549],{"type":15,"value":376},{"type":15,"value":5551}," for monospaced inputs.\n",{"type":9,"tag":24,"props":5553,"children":5554},{"className":26},[5555],{"type":15,"value":370},{"type":15,"value":5557}," supplies a font stack applications can apply to their document. Defaults do not set\ndocument margins, backgrounds, font sizes, or a color scheme. Component states derive colors where\nthey are used, so two themed containers can coexist in one document.",{"type":9,"tag":18,"props":5559,"children":5560},{},[5561,5563,5567,5568,5572,5573,5577,5578,5582,5583,5587,5589,5594,5596,5600,5602,5606,5607,5611,5613,5617,5618,5622],{"type":15,"value":5562},"Feedback uses ",{"type":9,"tag":24,"props":5564,"children":5565},{"className":26},[5566],{"type":15,"value":5376},{"type":15,"value":163},{"type":9,"tag":24,"props":5569,"children":5570},{"className":26},[5571],{"type":15,"value":5247},{"type":15,"value":163},{"type":9,"tag":24,"props":5574,"children":5575},{"className":26},[5576],{"type":15,"value":5241},{"type":15,"value":163},{"type":9,"tag":24,"props":5579,"children":5580},{"className":26},[5581],{"type":15,"value":3705},{"type":15,"value":170},{"type":9,"tag":24,"props":5584,"children":5585},{"className":26},[5586],{"type":15,"value":5284},{"type":15,"value":5588},"; alerts can override ",{"type":9,"tag":24,"props":5590,"children":5591},{"className":26},[5592],{"type":15,"value":5593},"--error-fg",{"type":15,"value":5595},"\nwithin a theme and otherwise use ",{"type":9,"tag":24,"props":5597,"children":5598},{"className":26},[5599],{"type":15,"value":3705},{"type":15,"value":5601},". Table cells use the same foreground\u002Fborder tokens.\n",{"type":9,"tag":24,"props":5603,"children":5604},{"className":26},[5605],{"type":15,"value":5495},{"type":15,"value":170},{"type":9,"tag":24,"props":5608,"children":5609},{"className":26},[5610],{"type":15,"value":5543},{"type":15,"value":5612}," fall back at use to the local ",{"type":9,"tag":24,"props":5614,"children":5615},{"className":26},[5616],{"type":15,"value":5160},{"type":15,"value":170},{"type":9,"tag":24,"props":5619,"children":5620},{"className":26},[5621],{"type":15,"value":4669},{"type":15,"value":5623},";\nthey do not mask a subtree's base-token changes. The library's table stylesheet targets only its\nscrolling wrapper, including caller-owned table\nchildren; unrelated tables keep their own styles.",{"type":9,"tag":18,"props":5625,"children":5626},{},[5627,5629,5634,5636,5641,5643,5648,5650,5655,5656,5661,5662,5667,5669,5674],{"type":15,"value":5628},"Layout adds ",{"type":9,"tag":24,"props":5630,"children":5631},{"className":26},[5632],{"type":15,"value":5633},"--r-md",{"type":15,"value":5635}," for panel radius, ",{"type":9,"tag":24,"props":5637,"children":5638},{"className":26},[5639],{"type":15,"value":5640},"--fg-4",{"type":15,"value":5642}," for breadcrumb separators and ",{"type":9,"tag":24,"props":5644,"children":5645},{"className":26},[5646],{"type":15,"value":5647},"--on-accent",{"type":15,"value":5649}," for the\npage-heading icon's foreground. The mark uses ",{"type":9,"tag":24,"props":5651,"children":5652},{"className":26},[5653],{"type":15,"value":5654},"--mark-top",{"type":15,"value":163},{"type":9,"tag":24,"props":5657,"children":5658},{"className":26},[5659],{"type":15,"value":5660},"--mark-right",{"type":15,"value":170},{"type":9,"tag":24,"props":5663,"children":5664},{"className":26},[5665],{"type":15,"value":5666},"--mark-left",{"type":15,"value":5668},".\nApplications own the document's flex\u002Fgrid arrangement and navigation-link styling; the ",{"type":9,"tag":24,"props":5670,"children":5671},{"className":26},[5672],{"type":15,"value":5673},"\u002Flayout",{"type":15,"value":5675},"\nconsumer page demonstrates a sidebar, responsive header and CSS-customized mark\u002Fpanel colors.",{"type":9,"tag":18,"props":5677,"children":5678},{},[5679,5681,5686,5688,5692,5693,5697,5698,5702,5703,5708,5709,5714,5715,5720,5721,5726,5728,5733,5735,5740],{"type":15,"value":5680},"Tooltip nodes stay inside their owning component and use native manual popovers to escape clipping.\nCSS custom properties inherit normally, including live theme-class changes. The library-owned\n",{"type":9,"tag":24,"props":5682,"children":5683},{"className":26},[5684],{"type":15,"value":5685},".bosca-tooltip",{"type":15,"value":5687}," surface uses ",{"type":9,"tag":24,"props":5689,"children":5690},{"className":26},[5691],{"type":15,"value":5489},{"type":15,"value":163},{"type":9,"tag":24,"props":5694,"children":5695},{"className":26},[5696],{"type":15,"value":5341},{"type":15,"value":170},{"type":9,"tag":24,"props":5699,"children":5700},{"className":26},[5701],{"type":15,"value":3825},{"type":15,"value":5520},{"type":9,"tag":24,"props":5704,"children":5705},{"className":26},[5706],{"type":15,"value":5707},"--tooltip-bg",{"type":15,"value":163},{"type":9,"tag":24,"props":5710,"children":5711},{"className":26},[5712],{"type":15,"value":5713},"--tooltip-fg",{"type":15,"value":4774},{"type":9,"tag":24,"props":5716,"children":5717},{"className":26},[5718],{"type":15,"value":5719},"--tooltip-border",{"type":15,"value":170},{"type":9,"tag":24,"props":5722,"children":5723},{"className":26},[5724],{"type":15,"value":5725},"--tooltip-shadow",{"type":15,"value":5727}," overrides provide specific tooltip styling. Default shadow\nis ",{"type":9,"tag":24,"props":5729,"children":5730},{"className":26},[5731],{"type":15,"value":5732},"0 4px 12px",{"type":15,"value":5734}," using ",{"type":9,"tag":24,"props":5736,"children":5737},{"className":26},[5738],{"type":15,"value":5739},"--shadow-color",{"type":15,"value":5741}," at one-third opacity. This surface rule lives in the real\nlibrary stylesheet because the node is\ncreated at runtime. Consumers do not copy colors into JavaScript or configure a theme service.",{"type":9,"tag":18,"props":5743,"children":5744},{},[5745,5747,5751,5752,5756,5758,5762,5763,5768,5769,5774,5776,5780,5781,5785,5786,5791,5793,5797,5799,5804,5806,5811,5812,5817,5818,5823],{"type":15,"value":5746},"Dialogs and popovers retain their owning DOM subtree in the top layer, so they use consumer colors\nwithout a copied palette. Their surfaces use ",{"type":9,"tag":24,"props":5748,"children":5749},{"className":26},[5750],{"type":15,"value":4657},{"type":15,"value":163},{"type":9,"tag":24,"props":5753,"children":5754},{"className":26},[5755],{"type":15,"value":5129},{"type":15,"value":5757}," and the shared accent.\nModal and popover frames use the softer ",{"type":9,"tag":24,"props":5759,"children":5760},{"className":26},[5761],{"type":15,"value":4663},{"type":15,"value":4848},{"type":9,"tag":24,"props":5764,"children":5765},{"className":26},[5766],{"type":15,"value":5767},"--dialog-border",{"type":15,"value":170},{"type":9,"tag":24,"props":5770,"children":5771},{"className":26},[5772],{"type":15,"value":5773},"--popover-border",{"type":15,"value":5775}," can\noverride their respective frames without changing control borders. Modal footers use ",{"type":9,"tag":24,"props":5777,"children":5778},{"className":26},[5779],{"type":15,"value":5160},{"type":15,"value":4848},{"type":9,"tag":24,"props":5782,"children":5783},{"className":26},[5784],{"type":15,"value":4669},{"type":15,"value":170},{"type":9,"tag":24,"props":5787,"children":5788},{"className":26},[5789],{"type":15,"value":5790},"--r-lg",{"type":15,"value":5792}," default to 9px and 16px. Shared ",{"type":9,"tag":24,"props":5794,"children":5795},{"className":26},[5796],{"type":15,"value":5739},{"type":15,"value":5798},"\nand ",{"type":9,"tag":24,"props":5800,"children":5801},{"className":26},[5802],{"type":15,"value":5803},"--backdrop-color",{"type":15,"value":5805}," let local CSS change default elevation and dimming colors. Optional ",{"type":9,"tag":24,"props":5807,"children":5808},{"className":26},[5809],{"type":15,"value":5810},"--dialog-shadow",{"type":15,"value":4774},{"type":9,"tag":24,"props":5813,"children":5814},{"className":26},[5815],{"type":15,"value":5816},"--dialog-backdrop",{"type":15,"value":170},{"type":9,"tag":24,"props":5819,"children":5820},{"className":26},[5821],{"type":15,"value":5822},"--popover-shadow",{"type":15,"value":5824}," override the default shadows and backdrop color.",{"type":9,"tag":18,"props":5826,"children":5827},{},[5828,5830,5835,5836,5841,5842,5847],{"type":15,"value":5829},"Projected modal forms use the documented ",{"type":9,"tag":24,"props":5831,"children":5832},{"className":26},[5833],{"type":15,"value":5834},"modal-form",{"type":15,"value":163},{"type":9,"tag":24,"props":5837,"children":5838},{"className":26},[5839],{"type":15,"value":5840},"modal-fields",{"type":15,"value":170},{"type":9,"tag":24,"props":5843,"children":5844},{"className":26},[5845],{"type":15,"value":5846},"modal-footer",{"type":15,"value":5848}," classes.\nThe library stylesheet scopes these rules to its native dialog panel, allowing the body to scroll\nindependently of the footer. These classes do not style unrelated forms elsewhere in the document.",{"type":9,"tag":18,"props":5850,"children":5851},{},[5852,5854,5858,5859,5863,5865,5869,5870,5874,5875,5879,5880,5884,5886,5890,5892,5896,5898,5903,5905,5910,5911,5916,5918,5923,5924,5929,5931,5936,5937,5942,5944,5949],{"type":15,"value":5853},"Toasts use ",{"type":9,"tag":24,"props":5855,"children":5856},{"className":26},[5857],{"type":15,"value":4657},{"type":15,"value":170},{"type":9,"tag":24,"props":5860,"children":5861},{"className":26},[5862],{"type":15,"value":5129},{"type":15,"value":5864}," for the solid surface\u002Ftext, ",{"type":9,"tag":24,"props":5866,"children":5867},{"className":26},[5868],{"type":15,"value":5241},{"type":15,"value":163},{"type":9,"tag":24,"props":5871,"children":5872},{"className":26},[5873],{"type":15,"value":5376},{"type":15,"value":163},{"type":9,"tag":24,"props":5876,"children":5877},{"className":26},[5878],{"type":15,"value":5247},{"type":15,"value":1915},{"type":9,"tag":24,"props":5881,"children":5882},{"className":26},[5883],{"type":15,"value":3705},{"type":15,"value":5885},"\nfor the tone and derived border, ",{"type":9,"tag":24,"props":5887,"children":5888},{"className":26},[5889],{"type":15,"value":5633},{"type":15,"value":5891}," for radius, and ",{"type":9,"tag":24,"props":5893,"children":5894},{"className":26},[5895],{"type":15,"value":4860},{"type":15,"value":5897}," for keyboard focus. The optional\n",{"type":9,"tag":24,"props":5899,"children":5900},{"className":26},[5901],{"type":15,"value":5902},"--toast-shadow",{"type":15,"value":5904}," overrides the default shadow. ",{"type":9,"tag":24,"props":5906,"children":5907},{"className":26},[5908],{"type":15,"value":5909},"--toast-message-max-height",{"type":15,"value":4499},{"type":9,"tag":24,"props":5912,"children":5913},{"className":26},[5914],{"type":15,"value":5915},"240px",{"type":15,"value":5917},"\nand is constrained further by the viewport. ",{"type":9,"tag":24,"props":5919,"children":5920},{"className":26},[5921],{"type":15,"value":5922},"--toast-left",{"type":15,"value":170},{"type":9,"tag":24,"props":5925,"children":5926},{"className":26},[5927],{"type":15,"value":5928},"--toast-top",{"type":15,"value":5930}," default to ",{"type":9,"tag":24,"props":5932,"children":5933},{"className":26},[5934],{"type":15,"value":5935},"50%",{"type":15,"value":4292},{"type":9,"tag":24,"props":5938,"children":5939},{"className":26},[5940],{"type":15,"value":5941},"75dvh",{"type":15,"value":5943},"; consumer CSS can position separate themed instances, as in ",{"type":9,"tag":24,"props":5945,"children":5946},{"className":26},[5947],{"type":15,"value":5948},"\u002Fnotifications",{"type":15,"value":5950},". Short screens\nuse a 16px bottom inset, and the helper shifts a tall surface upward to retain viewport margins.\nColor changes on an already-open notification follow ordinary CSS inheritance.",{"type":9,"tag":18,"props":5952,"children":5953},{},[5954,5956,5960,5961,5965,5966,5970,5971,5975,5976,5980,5982,5986,5987,5991,5992,5996,5997,6001,6003,6008,6010,6015],{"type":15,"value":5955},"Route tabs use ",{"type":9,"tag":24,"props":5957,"children":5958},{"className":26},[5959],{"type":15,"value":5135},{"type":15,"value":163},{"type":9,"tag":24,"props":5962,"children":5963},{"className":26},[5964],{"type":15,"value":5129},{"type":15,"value":163},{"type":9,"tag":24,"props":5967,"children":5968},{"className":26},[5969],{"type":15,"value":5341},{"type":15,"value":163},{"type":9,"tag":24,"props":5972,"children":5973},{"className":26},[5974],{"type":15,"value":4663},{"type":15,"value":170},{"type":9,"tag":24,"props":5977,"children":5978},{"className":26},[5979],{"type":15,"value":4860},{"type":15,"value":5981}," for normal\u002Fcurrent\u002Ffocused links.\nTheir overflow surface inherits ",{"type":9,"tag":24,"props":5983,"children":5984},{"className":26},[5985],{"type":15,"value":5160},{"type":15,"value":163},{"type":9,"tag":24,"props":5988,"children":5989},{"className":26},[5990],{"type":15,"value":5129},{"type":15,"value":163},{"type":9,"tag":24,"props":5993,"children":5994},{"className":26},[5995],{"type":15,"value":5489},{"type":15,"value":170},{"type":9,"tag":24,"props":5998,"children":5999},{"className":26},[6000],{"type":15,"value":3825},{"type":15,"value":6002},";\n",{"type":9,"tag":24,"props":6004,"children":6005},{"className":26},[6006],{"type":15,"value":6007},"--tabs-menu-shadow",{"type":15,"value":6009}," overrides the default ",{"type":9,"tag":24,"props":6011,"children":6012},{"className":26},[6013],{"type":15,"value":6014},"0 14px 40px #0006",{"type":15,"value":6016}," shadow.",{"type":9,"tag":18,"props":6018,"children":6019},{},[6020,6022,6026,6027,6031,6032,6036,6037,6041,6042,6046,6047,6051,6052,6056,6057,6061,6062,6066,6067,6071,6072,6077,6079,6084,6086,6090],{"type":15,"value":6021},"Select surfaces use ",{"type":9,"tag":24,"props":6023,"children":6024},{"className":26},[6025],{"type":15,"value":5495},{"type":15,"value":163},{"type":9,"tag":24,"props":6028,"children":6029},{"className":26},[6030],{"type":15,"value":5160},{"type":15,"value":163},{"type":9,"tag":24,"props":6033,"children":6034},{"className":26},[6035],{"type":15,"value":5489},{"type":15,"value":163},{"type":9,"tag":24,"props":6038,"children":6039},{"className":26},[6040],{"type":15,"value":5341},{"type":15,"value":5503},{"type":9,"tag":24,"props":6043,"children":6044},{"className":26},[6045],{"type":15,"value":5640},{"type":15,"value":163},{"type":9,"tag":24,"props":6048,"children":6049},{"className":26},[6050],{"type":15,"value":4663},{"type":15,"value":4774},{"type":9,"tag":24,"props":6053,"children":6054},{"className":26},[6055],{"type":15,"value":3825},{"type":15,"value":163},{"type":9,"tag":24,"props":6058,"children":6059},{"className":26},[6060],{"type":15,"value":4860},{"type":15,"value":163},{"type":9,"tag":24,"props":6063,"children":6064},{"className":26},[6065],{"type":15,"value":3705},{"type":15,"value":170},{"type":9,"tag":24,"props":6068,"children":6069},{"className":26},[6070],{"type":15,"value":4669},{"type":15,"value":4848},{"type":9,"tag":24,"props":6073,"children":6074},{"className":26},[6075],{"type":15,"value":6076},"--select-shadow",{"type":15,"value":6078}," overrides the popup shadow;\n",{"type":9,"tag":24,"props":6080,"children":6081},{"className":26},[6082],{"type":15,"value":6083},"--select-active-border",{"type":15,"value":6085}," overrides the expanded trigger border (default ",{"type":9,"tag":24,"props":6087,"children":6088},{"className":26},[6089],{"type":15,"value":4860},{"type":15,"value":6091},").\nDynamic option\u002Ftag rules live in the real library stylesheet under its owning select marker.",{"type":9,"tag":199,"props":6093,"children":6095},{"id":6094},"source-ownership",[6096],{"type":15,"value":6097},"Source ownership",{"type":9,"tag":18,"props":6099,"children":6100},{},[6101,6103,6108,6110,6114],{"type":15,"value":6102},"The Git UI paths below refer to extraction baseline\n",{"type":9,"tag":24,"props":6104,"children":6105},{"className":26},[6106],{"type":15,"value":6107},"9e9e4f6124be93f6fd506cb03cb43cb7fa54dbed",{"type":15,"value":6109},". The ",{"type":9,"tag":83,"props":6111,"children":6112},{"href":151},[6113],{"type":15,"value":299},{"type":15,"value":6115},"\nmaps all 41 original components to their current exports and records caller adjustments.",{"type":9,"tag":397,"props":6117,"children":6118},{},[6119,6135],{"type":9,"tag":401,"props":6120,"children":6121},{},[6122],{"type":9,"tag":405,"props":6123,"children":6124},{},[6125,6130],{"type":9,"tag":409,"props":6126,"children":6127},{},[6128],{"type":15,"value":6129},"Library source",{"type":9,"tag":409,"props":6131,"children":6132},{},[6133],{"type":15,"value":6134},"Extracted source in Git UI",{"type":9,"tag":425,"props":6136,"children":6137},{},[6138,6157,6176,6195,6214,6233,6252,6271,6290,6309,6328,6347,6366,6385,6404,6423,6442,6461,6480,6499,6518,6537,6556,6575,6594,6613,6632,6651,6670,6689,6708,6727,6746,6765,6784,6803,6822,6841,6860,6879,6898,6919,6938,6959,6979,7002,7021,7040,7059,7078,7097,7117,7136,7155,7174,7193,7212,7238,7257],{"type":9,"tag":405,"props":6139,"children":6140},{},[6141,6149],{"type":9,"tag":432,"props":6142,"children":6143},{},[6144],{"type":9,"tag":24,"props":6145,"children":6146},{"className":26},[6147],{"type":15,"value":6148},"components\u002Fbutton.bml",{"type":9,"tag":432,"props":6150,"children":6151},{},[6152],{"type":9,"tag":24,"props":6153,"children":6154},{"className":26},[6155],{"type":15,"value":6156},"components\u002Fui\u002Fbutton.bml",{"type":9,"tag":405,"props":6158,"children":6159},{},[6160,6168],{"type":9,"tag":432,"props":6161,"children":6162},{},[6163],{"type":9,"tag":24,"props":6164,"children":6165},{"className":26},[6166],{"type":15,"value":6167},"components\u002Fcard.bml",{"type":9,"tag":432,"props":6169,"children":6170},{},[6171],{"type":9,"tag":24,"props":6172,"children":6173},{"className":26},[6174],{"type":15,"value":6175},"components\u002Fui\u002Fcard.bml",{"type":9,"tag":405,"props":6177,"children":6178},{},[6179,6187],{"type":9,"tag":432,"props":6180,"children":6181},{},[6182],{"type":9,"tag":24,"props":6183,"children":6184},{"className":26},[6185],{"type":15,"value":6186},"components\u002Ffield.bml",{"type":9,"tag":432,"props":6188,"children":6189},{},[6190],{"type":9,"tag":24,"props":6191,"children":6192},{"className":26},[6193],{"type":15,"value":6194},"components\u002Fui\u002Ffield.bml",{"type":9,"tag":405,"props":6196,"children":6197},{},[6198,6206],{"type":9,"tag":432,"props":6199,"children":6200},{},[6201],{"type":9,"tag":24,"props":6202,"children":6203},{"className":26},[6204],{"type":15,"value":6205},"components\u002Finput.bml",{"type":9,"tag":432,"props":6207,"children":6208},{},[6209],{"type":9,"tag":24,"props":6210,"children":6211},{"className":26},[6212],{"type":15,"value":6213},"components\u002Fui\u002Finput.bml",{"type":9,"tag":405,"props":6215,"children":6216},{},[6217,6225],{"type":9,"tag":432,"props":6218,"children":6219},{},[6220],{"type":9,"tag":24,"props":6221,"children":6222},{"className":26},[6223],{"type":15,"value":6224},"components\u002Fpage-shell.bml",{"type":9,"tag":432,"props":6226,"children":6227},{},[6228],{"type":9,"tag":24,"props":6229,"children":6230},{"className":26},[6231],{"type":15,"value":6232},"components\u002Fui\u002Fpage.bml",{"type":9,"tag":405,"props":6234,"children":6235},{},[6236,6244],{"type":9,"tag":432,"props":6237,"children":6238},{},[6239],{"type":9,"tag":24,"props":6240,"children":6241},{"className":26},[6242],{"type":15,"value":6243},"components\u002Ficon.bml",{"type":9,"tag":432,"props":6245,"children":6246},{},[6247],{"type":9,"tag":24,"props":6248,"children":6249},{"className":26},[6250],{"type":15,"value":6251},"components\u002Fui\u002Ficon.bml",{"type":9,"tag":405,"props":6253,"children":6254},{},[6255,6263],{"type":9,"tag":432,"props":6256,"children":6257},{},[6258],{"type":9,"tag":24,"props":6259,"children":6260},{"className":26},[6261],{"type":15,"value":6262},"components\u002Fspinner.bml",{"type":9,"tag":432,"props":6264,"children":6265},{},[6266],{"type":9,"tag":24,"props":6267,"children":6268},{"className":26},[6269],{"type":15,"value":6270},"components\u002Fui\u002Fspinner.bml",{"type":9,"tag":405,"props":6272,"children":6273},{},[6274,6282],{"type":9,"tag":432,"props":6275,"children":6276},{},[6277],{"type":9,"tag":24,"props":6278,"children":6279},{"className":26},[6280],{"type":15,"value":6281},"components\u002Fcheckbox.bml",{"type":9,"tag":432,"props":6283,"children":6284},{},[6285],{"type":9,"tag":24,"props":6286,"children":6287},{"className":26},[6288],{"type":15,"value":6289},"components\u002Fui\u002Fcheckbox.bml",{"type":9,"tag":405,"props":6291,"children":6292},{},[6293,6301],{"type":9,"tag":432,"props":6294,"children":6295},{},[6296],{"type":9,"tag":24,"props":6297,"children":6298},{"className":26},[6299],{"type":15,"value":6300},"components\u002Fswitch.bml",{"type":9,"tag":432,"props":6302,"children":6303},{},[6304],{"type":9,"tag":24,"props":6305,"children":6306},{"className":26},[6307],{"type":15,"value":6308},"components\u002Fui\u002Fswitch.bml",{"type":9,"tag":405,"props":6310,"children":6311},{},[6312,6320],{"type":9,"tag":432,"props":6313,"children":6314},{},[6315],{"type":9,"tag":24,"props":6316,"children":6317},{"className":26},[6318],{"type":15,"value":6319},"components\u002Falert.bml",{"type":9,"tag":432,"props":6321,"children":6322},{},[6323],{"type":9,"tag":24,"props":6324,"children":6325},{"className":26},[6326],{"type":15,"value":6327},"components\u002Fui\u002Falert.bml",{"type":9,"tag":405,"props":6329,"children":6330},{},[6331,6339],{"type":9,"tag":432,"props":6332,"children":6333},{},[6334],{"type":9,"tag":24,"props":6335,"children":6336},{"className":26},[6337],{"type":15,"value":6338},"components\u002Fbadge.bml",{"type":9,"tag":432,"props":6340,"children":6341},{},[6342],{"type":9,"tag":24,"props":6343,"children":6344},{"className":26},[6345],{"type":15,"value":6346},"components\u002Fui\u002Fbadge.bml",{"type":9,"tag":405,"props":6348,"children":6349},{},[6350,6358],{"type":9,"tag":432,"props":6351,"children":6352},{},[6353],{"type":9,"tag":24,"props":6354,"children":6355},{"className":26},[6356],{"type":15,"value":6357},"components\u002Fempty-state.bml",{"type":9,"tag":432,"props":6359,"children":6360},{},[6361],{"type":9,"tag":24,"props":6362,"children":6363},{"className":26},[6364],{"type":15,"value":6365},"components\u002Fui\u002Fempty-state.bml",{"type":9,"tag":405,"props":6367,"children":6368},{},[6369,6377],{"type":9,"tag":432,"props":6370,"children":6371},{},[6372],{"type":9,"tag":24,"props":6373,"children":6374},{"className":26},[6375],{"type":15,"value":6376},"components\u002Floading-state.bml",{"type":9,"tag":432,"props":6378,"children":6379},{},[6380],{"type":9,"tag":24,"props":6381,"children":6382},{"className":26},[6383],{"type":15,"value":6384},"components\u002Fui\u002Floading-state.bml",{"type":9,"tag":405,"props":6386,"children":6387},{},[6388,6396],{"type":9,"tag":432,"props":6389,"children":6390},{},[6391],{"type":9,"tag":24,"props":6392,"children":6393},{"className":26},[6394],{"type":15,"value":6395},"components\u002Ftable-scroll.bml",{"type":9,"tag":432,"props":6397,"children":6398},{},[6399],{"type":9,"tag":24,"props":6400,"children":6401},{"className":26},[6402],{"type":15,"value":6403},"components\u002Fui\u002Ftable-scroll.bml",{"type":9,"tag":405,"props":6405,"children":6406},{},[6407,6415],{"type":9,"tag":432,"props":6408,"children":6409},{},[6410],{"type":9,"tag":24,"props":6411,"children":6412},{"className":26},[6413],{"type":15,"value":6414},"components\u002Fbosca-mark.bml",{"type":9,"tag":432,"props":6416,"children":6417},{},[6418],{"type":9,"tag":24,"props":6419,"children":6420},{"className":26},[6421],{"type":15,"value":6422},"components\u002Fui\u002Fbosca-mark.bml",{"type":9,"tag":405,"props":6424,"children":6425},{},[6426,6434],{"type":9,"tag":432,"props":6427,"children":6428},{},[6429],{"type":9,"tag":24,"props":6430,"children":6431},{"className":26},[6432],{"type":15,"value":6433},"components\u002Fapp-header.bml",{"type":9,"tag":432,"props":6435,"children":6436},{},[6437],{"type":9,"tag":24,"props":6438,"children":6439},{"className":26},[6440],{"type":15,"value":6441},"components\u002Fui\u002Fapp-header.bml",{"type":9,"tag":405,"props":6443,"children":6444},{},[6445,6453],{"type":9,"tag":432,"props":6446,"children":6447},{},[6448],{"type":9,"tag":24,"props":6449,"children":6450},{"className":26},[6451],{"type":15,"value":6452},"components\u002Fpanel.bml",{"type":9,"tag":432,"props":6454,"children":6455},{},[6456],{"type":9,"tag":24,"props":6457,"children":6458},{"className":26},[6459],{"type":15,"value":6460},"components\u002Fui\u002Fpanel.bml",{"type":9,"tag":405,"props":6462,"children":6463},{},[6464,6472],{"type":9,"tag":432,"props":6465,"children":6466},{},[6467],{"type":9,"tag":24,"props":6468,"children":6469},{"className":26},[6470],{"type":15,"value":6471},"components\u002Fsection.bml",{"type":9,"tag":432,"props":6473,"children":6474},{},[6475],{"type":9,"tag":24,"props":6476,"children":6477},{"className":26},[6478],{"type":15,"value":6479},"components\u002Fui\u002Fsection.bml",{"type":9,"tag":405,"props":6481,"children":6482},{},[6483,6491],{"type":9,"tag":432,"props":6484,"children":6485},{},[6486],{"type":9,"tag":24,"props":6487,"children":6488},{"className":26},[6489],{"type":15,"value":6490},"components\u002Fpage-heading.bml",{"type":9,"tag":432,"props":6492,"children":6493},{},[6494],{"type":9,"tag":24,"props":6495,"children":6496},{"className":26},[6497],{"type":15,"value":6498},"components\u002Fui\u002Fpage-heading.bml",{"type":9,"tag":405,"props":6500,"children":6501},{},[6502,6510],{"type":9,"tag":432,"props":6503,"children":6504},{},[6505],{"type":9,"tag":24,"props":6506,"children":6507},{"className":26},[6508],{"type":15,"value":6509},"components\u002Fsection-heading.bml",{"type":9,"tag":432,"props":6511,"children":6512},{},[6513],{"type":9,"tag":24,"props":6514,"children":6515},{"className":26},[6516],{"type":15,"value":6517},"components\u002Fui\u002Fsection-heading.bml",{"type":9,"tag":405,"props":6519,"children":6520},{},[6521,6529],{"type":9,"tag":432,"props":6522,"children":6523},{},[6524],{"type":9,"tag":24,"props":6525,"children":6526},{"className":26},[6527],{"type":15,"value":6528},"components\u002Fdisclosure-heading.bml",{"type":9,"tag":432,"props":6530,"children":6531},{},[6532],{"type":9,"tag":24,"props":6533,"children":6534},{"className":26},[6535],{"type":15,"value":6536},"components\u002Fui\u002Fdisclosure-heading.bml",{"type":9,"tag":405,"props":6538,"children":6539},{},[6540,6548],{"type":9,"tag":432,"props":6541,"children":6542},{},[6543],{"type":9,"tag":24,"props":6544,"children":6545},{"className":26},[6546],{"type":15,"value":6547},"components\u002Ficon-button.bml",{"type":9,"tag":432,"props":6549,"children":6550},{},[6551],{"type":9,"tag":24,"props":6552,"children":6553},{"className":26},[6554],{"type":15,"value":6555},"components\u002Fui\u002Ficon-button.bml",{"type":9,"tag":405,"props":6557,"children":6558},{},[6559,6567],{"type":9,"tag":432,"props":6560,"children":6561},{},[6562],{"type":9,"tag":24,"props":6563,"children":6564},{"className":26},[6565],{"type":15,"value":6566},"components\u002Ficon-link.bml",{"type":9,"tag":432,"props":6568,"children":6569},{},[6570],{"type":9,"tag":24,"props":6571,"children":6572},{"className":26},[6573],{"type":15,"value":6574},"components\u002Fui\u002Ficon-link.bml",{"type":9,"tag":405,"props":6576,"children":6577},{},[6578,6586],{"type":9,"tag":432,"props":6579,"children":6580},{},[6581],{"type":9,"tag":24,"props":6582,"children":6583},{"className":26},[6584],{"type":15,"value":6585},"components\u002Ftooltip.bml",{"type":9,"tag":432,"props":6587,"children":6588},{},[6589],{"type":9,"tag":24,"props":6590,"children":6591},{"className":26},[6592],{"type":15,"value":6593},"components\u002Fui\u002Ftooltip.bml",{"type":9,"tag":405,"props":6595,"children":6596},{},[6597,6605],{"type":9,"tag":432,"props":6598,"children":6599},{},[6600],{"type":9,"tag":24,"props":6601,"children":6602},{"className":26},[6603],{"type":15,"value":6604},"components\u002Fdialog.bml",{"type":9,"tag":432,"props":6606,"children":6607},{},[6608],{"type":9,"tag":24,"props":6609,"children":6610},{"className":26},[6611],{"type":15,"value":6612},"components\u002Fui\u002Fdialog.bml",{"type":9,"tag":405,"props":6614,"children":6615},{},[6616,6624],{"type":9,"tag":432,"props":6617,"children":6618},{},[6619],{"type":9,"tag":24,"props":6620,"children":6621},{"className":26},[6622],{"type":15,"value":6623},"components\u002Fconfirm-dialog.bml",{"type":9,"tag":432,"props":6625,"children":6626},{},[6627],{"type":9,"tag":24,"props":6628,"children":6629},{"className":26},[6630],{"type":15,"value":6631},"components\u002Fui\u002Fconfirm-dialog.bml",{"type":9,"tag":405,"props":6633,"children":6634},{},[6635,6643],{"type":9,"tag":432,"props":6636,"children":6637},{},[6638],{"type":9,"tag":24,"props":6639,"children":6640},{"className":26},[6641],{"type":15,"value":6642},"components\u002Fpopover.bml",{"type":9,"tag":432,"props":6644,"children":6645},{},[6646],{"type":9,"tag":24,"props":6647,"children":6648},{"className":26},[6649],{"type":15,"value":6650},"components\u002Fui\u002Fpopover.bml",{"type":9,"tag":405,"props":6652,"children":6653},{},[6654,6662],{"type":9,"tag":432,"props":6655,"children":6656},{},[6657],{"type":9,"tag":24,"props":6658,"children":6659},{"className":26},[6660],{"type":15,"value":6661},"components\u002Fcopy.bml",{"type":9,"tag":432,"props":6663,"children":6664},{},[6665],{"type":9,"tag":24,"props":6666,"children":6667},{"className":26},[6668],{"type":15,"value":6669},"components\u002Fui\u002Fcopy.bml",{"type":9,"tag":405,"props":6671,"children":6672},{},[6673,6681],{"type":9,"tag":432,"props":6674,"children":6675},{},[6676],{"type":9,"tag":24,"props":6677,"children":6678},{"className":26},[6679],{"type":15,"value":6680},"components\u002Fcopy-field.bml",{"type":9,"tag":432,"props":6682,"children":6683},{},[6684],{"type":9,"tag":24,"props":6685,"children":6686},{"className":26},[6687],{"type":15,"value":6688},"components\u002Fui\u002Fcopy-field.bml",{"type":9,"tag":405,"props":6690,"children":6691},{},[6692,6700],{"type":9,"tag":432,"props":6693,"children":6694},{},[6695],{"type":9,"tag":24,"props":6696,"children":6697},{"className":26},[6698],{"type":15,"value":6699},"components\u002Ftoast.bml",{"type":9,"tag":432,"props":6701,"children":6702},{},[6703],{"type":9,"tag":24,"props":6704,"children":6705},{"className":26},[6706],{"type":15,"value":6707},"components\u002Fui\u002Ftoast.bml",{"type":9,"tag":405,"props":6709,"children":6710},{},[6711,6719],{"type":9,"tag":432,"props":6712,"children":6713},{},[6714],{"type":9,"tag":24,"props":6715,"children":6716},{"className":26},[6717],{"type":15,"value":6718},"components\u002Fsearch-input.bml",{"type":9,"tag":432,"props":6720,"children":6721},{},[6722],{"type":9,"tag":24,"props":6723,"children":6724},{"className":26},[6725],{"type":15,"value":6726},"components\u002Fui\u002Fsearch-input.bml",{"type":9,"tag":405,"props":6728,"children":6729},{},[6730,6738],{"type":9,"tag":432,"props":6731,"children":6732},{},[6733],{"type":9,"tag":24,"props":6734,"children":6735},{"className":26},[6736],{"type":15,"value":6737},"components\u002Fsegmented-control.bml",{"type":9,"tag":432,"props":6739,"children":6740},{},[6741],{"type":9,"tag":24,"props":6742,"children":6743},{"className":26},[6744],{"type":15,"value":6745},"components\u002Fui\u002Fsegmented-control.bml",{"type":9,"tag":405,"props":6747,"children":6748},{},[6749,6757],{"type":9,"tag":432,"props":6750,"children":6751},{},[6752],{"type":9,"tag":24,"props":6753,"children":6754},{"className":26},[6755],{"type":15,"value":6756},"components\u002Fview-tabs.bml",{"type":9,"tag":432,"props":6758,"children":6759},{},[6760],{"type":9,"tag":24,"props":6761,"children":6762},{"className":26},[6763],{"type":15,"value":6764},"components\u002Fui\u002Fview-tabs.bml",{"type":9,"tag":405,"props":6766,"children":6767},{},[6768,6776],{"type":9,"tag":432,"props":6769,"children":6770},{},[6771],{"type":9,"tag":24,"props":6772,"children":6773},{"className":26},[6774],{"type":15,"value":6775},"components\u002Ftabs.bml",{"type":9,"tag":432,"props":6777,"children":6778},{},[6779],{"type":9,"tag":24,"props":6780,"children":6781},{"className":26},[6782],{"type":15,"value":6783},"components\u002Fui\u002Ftabs.bml",{"type":9,"tag":405,"props":6785,"children":6786},{},[6787,6795],{"type":9,"tag":432,"props":6788,"children":6789},{},[6790],{"type":9,"tag":24,"props":6791,"children":6792},{"className":26},[6793],{"type":15,"value":6794},"components\u002Fselect.bml",{"type":9,"tag":432,"props":6796,"children":6797},{},[6798],{"type":9,"tag":24,"props":6799,"children":6800},{"className":26},[6801],{"type":15,"value":6802},"components\u002Fui\u002Fselect.bml",{"type":9,"tag":405,"props":6804,"children":6805},{},[6806,6814],{"type":9,"tag":432,"props":6807,"children":6808},{},[6809],{"type":9,"tag":24,"props":6810,"children":6811},{"className":26},[6812],{"type":15,"value":6813},"components\u002Ftree.bml",{"type":9,"tag":432,"props":6815,"children":6816},{},[6817],{"type":9,"tag":24,"props":6818,"children":6819},{"className":26},[6820],{"type":15,"value":6821},"components\u002Fui\u002Ftree.bml",{"type":9,"tag":405,"props":6823,"children":6824},{},[6825,6833],{"type":9,"tag":432,"props":6826,"children":6827},{},[6828],{"type":9,"tag":24,"props":6829,"children":6830},{"className":26},[6831],{"type":15,"value":6832},"components\u002Ftree-item.bml",{"type":9,"tag":432,"props":6834,"children":6835},{},[6836],{"type":9,"tag":24,"props":6837,"children":6838},{"className":26},[6839],{"type":15,"value":6840},"components\u002Fui\u002Ftree-item.bml",{"type":9,"tag":405,"props":6842,"children":6843},{},[6844,6852],{"type":9,"tag":432,"props":6845,"children":6846},{},[6847],{"type":9,"tag":24,"props":6848,"children":6849},{"className":26},[6850],{"type":15,"value":6851},"components\u002Ftime.bml",{"type":9,"tag":432,"props":6853,"children":6854},{},[6855],{"type":9,"tag":24,"props":6856,"children":6857},{"className":26},[6858],{"type":15,"value":6859},"components\u002Fui\u002Ftime.bml",{"type":9,"tag":405,"props":6861,"children":6862},{},[6863,6871],{"type":9,"tag":432,"props":6864,"children":6865},{},[6866],{"type":9,"tag":24,"props":6867,"children":6868},{"className":26},[6869],{"type":15,"value":6870},"components\u002Fcomment-editor.bml",{"type":9,"tag":432,"props":6872,"children":6873},{},[6874],{"type":9,"tag":24,"props":6875,"children":6876},{"className":26},[6877],{"type":15,"value":6878},"components\u002Fui\u002Fcomment-editor.bml",{"type":9,"tag":405,"props":6880,"children":6881},{},[6882,6890],{"type":9,"tag":432,"props":6883,"children":6884},{},[6885],{"type":9,"tag":24,"props":6886,"children":6887},{"className":26},[6888],{"type":15,"value":6889},"components\u002Fjson-editor.bml",{"type":9,"tag":432,"props":6891,"children":6892},{},[6893],{"type":9,"tag":24,"props":6894,"children":6895},{"className":26},[6896],{"type":15,"value":6897},"components\u002Fui\u002Fjson-editor.bml",{"type":9,"tag":405,"props":6899,"children":6900},{},[6901,6909],{"type":9,"tag":432,"props":6902,"children":6903},{},[6904],{"type":9,"tag":24,"props":6905,"children":6906},{"className":26},[6907],{"type":15,"value":6908},"client\u002Fhelpers\u002Fjson-editor.ts",{"type":9,"tag":432,"props":6910,"children":6911},{},[6912,6917],{"type":9,"tag":24,"props":6913,"children":6914},{"className":26},[6915],{"type":15,"value":6916},"src\u002Fmain\u002Fclient\u002Fjson-editor.ts",{"type":15,"value":6918},", with form state and engine lifecycle owned by the library",{"type":9,"tag":405,"props":6920,"children":6921},{},[6922,6930],{"type":9,"tag":432,"props":6923,"children":6924},{},[6925],{"type":9,"tag":24,"props":6926,"children":6927},{"className":26},[6928],{"type":15,"value":6929},"components\u002Fsource-view.bml",{"type":9,"tag":432,"props":6931,"children":6932},{},[6933],{"type":9,"tag":24,"props":6934,"children":6935},{"className":26},[6936],{"type":15,"value":6937},"components\u002Fui\u002Fsource-view.bml",{"type":9,"tag":405,"props":6939,"children":6940},{},[6941,6949],{"type":9,"tag":432,"props":6942,"children":6943},{},[6944],{"type":9,"tag":24,"props":6945,"children":6946},{"className":26},[6947],{"type":15,"value":6948},"client\u002Fhelpers\u002Fsource-view.ts",{"type":9,"tag":432,"props":6950,"children":6951},{},[6952,6954],{"type":15,"value":6953},"Read-only setup, wrapping and cleanup from ",{"type":9,"tag":24,"props":6955,"children":6956},{"className":26},[6957],{"type":15,"value":6958},"src\u002Fmain\u002Fclient\u002Feditor.ts",{"type":9,"tag":405,"props":6960,"children":6961},{},[6962,6970],{"type":9,"tag":432,"props":6963,"children":6964},{},[6965],{"type":9,"tag":24,"props":6966,"children":6967},{"className":26},[6968],{"type":15,"value":6969},"client\u002Fhelpers\u002Fsource-language.ts",{"type":9,"tag":432,"props":6971,"children":6972},{},[6973,6975],{"type":15,"value":6974},"Existing language inference from ",{"type":9,"tag":24,"props":6976,"children":6977},{"className":26},[6978],{"type":15,"value":6958},{"type":9,"tag":405,"props":6980,"children":6981},{},[6982,6990],{"type":9,"tag":432,"props":6983,"children":6984},{},[6985],{"type":9,"tag":24,"props":6986,"children":6987},{"className":26},[6988],{"type":15,"value":6989},"client\u002Fhelpers\u002Fsource-view.css",{"type":9,"tag":432,"props":6991,"children":6992},{},[6993,6995,7000],{"type":15,"value":6994},"Viewer layout from ",{"type":9,"tag":24,"props":6996,"children":6997},{"className":26},[6998],{"type":15,"value":6999},"git-ui.css",{"type":15,"value":7001},", with CodeMirror colors mapped to consumer variables",{"type":9,"tag":405,"props":7003,"children":7004},{},[7005,7013],{"type":9,"tag":432,"props":7006,"children":7007},{},[7008],{"type":9,"tag":24,"props":7009,"children":7010},{"className":26},[7011],{"type":15,"value":7012},"client\u002Fhelpers\u002Ftree.ts",{"type":9,"tag":432,"props":7014,"children":7015},{},[7016],{"type":9,"tag":24,"props":7017,"children":7018},{"className":26},[7019],{"type":15,"value":7020},"src\u002Fmain\u002Fclient\u002Ftree.ts",{"type":9,"tag":405,"props":7022,"children":7023},{},[7024,7032],{"type":9,"tag":432,"props":7025,"children":7026},{},[7027],{"type":9,"tag":24,"props":7028,"children":7029},{"className":26},[7030],{"type":15,"value":7031},"client\u002Fhelpers\u002Fcomment-editor.ts",{"type":9,"tag":432,"props":7033,"children":7034},{},[7035],{"type":9,"tag":24,"props":7036,"children":7037},{"className":26},[7038],{"type":15,"value":7039},"src\u002Fmain\u002Fclient\u002Fcomment-editor.ts",{"type":9,"tag":405,"props":7041,"children":7042},{},[7043,7051],{"type":9,"tag":432,"props":7044,"children":7045},{},[7046],{"type":9,"tag":24,"props":7047,"children":7048},{"className":26},[7049],{"type":15,"value":7050},"client\u002Fhelpers\u002Fselect.ts",{"type":9,"tag":432,"props":7052,"children":7053},{},[7054],{"type":9,"tag":24,"props":7055,"children":7056},{"className":26},[7057],{"type":15,"value":7058},"src\u002Fmain\u002Fclient\u002Fselect.ts",{"type":9,"tag":405,"props":7060,"children":7061},{},[7062,7069],{"type":9,"tag":432,"props":7063,"children":7064},{},[7065],{"type":9,"tag":24,"props":7066,"children":7067},{"className":26},[7068],{"type":15,"value":4172},{"type":9,"tag":432,"props":7070,"children":7071},{},[7072,7074],{"type":15,"value":7073},"Public event interfaces from ",{"type":9,"tag":24,"props":7075,"children":7076},{"className":26},[7077],{"type":15,"value":7058},{"type":9,"tag":405,"props":7079,"children":7080},{},[7081,7089],{"type":9,"tag":432,"props":7082,"children":7083},{},[7084],{"type":9,"tag":24,"props":7085,"children":7086},{"className":26},[7087],{"type":15,"value":7088},"client\u002Fhelpers\u002Ftabs.ts",{"type":9,"tag":432,"props":7090,"children":7091},{},[7092],{"type":9,"tag":24,"props":7093,"children":7094},{"className":26},[7095],{"type":15,"value":7096},"src\u002Fmain\u002Fclient\u002Ftabs.ts",{"type":9,"tag":405,"props":7098,"children":7099},{},[7100,7108],{"type":9,"tag":432,"props":7101,"children":7102},{},[7103],{"type":9,"tag":24,"props":7104,"children":7105},{"className":26},[7106],{"type":15,"value":7107},"client\u002Fhelpers\u002Fsearch-input.ts",{"type":9,"tag":432,"props":7109,"children":7110},{},[7111,7113],{"type":15,"value":7112},"Scoped client script in ",{"type":9,"tag":24,"props":7114,"children":7115},{"className":26},[7116],{"type":15,"value":6726},{"type":9,"tag":405,"props":7118,"children":7119},{},[7120,7128],{"type":9,"tag":432,"props":7121,"children":7122},{},[7123],{"type":9,"tag":24,"props":7124,"children":7125},{"className":26},[7126],{"type":15,"value":7127},"client\u002Fhelpers\u002Fsegmented-control.ts",{"type":9,"tag":432,"props":7129,"children":7130},{},[7131,7132],{"type":15,"value":7112},{"type":9,"tag":24,"props":7133,"children":7134},{"className":26},[7135],{"type":15,"value":6745},{"type":9,"tag":405,"props":7137,"children":7138},{},[7139,7147],{"type":9,"tag":432,"props":7140,"children":7141},{},[7142],{"type":9,"tag":24,"props":7143,"children":7144},{"className":26},[7145],{"type":15,"value":7146},"client\u002Fhelpers\u002Fview-tabs.ts",{"type":9,"tag":432,"props":7148,"children":7149},{},[7150,7151],{"type":15,"value":7112},{"type":9,"tag":24,"props":7152,"children":7153},{"className":26},[7154],{"type":15,"value":6764},{"type":9,"tag":405,"props":7156,"children":7157},{},[7158,7166],{"type":9,"tag":432,"props":7159,"children":7160},{},[7161],{"type":9,"tag":24,"props":7162,"children":7163},{"className":26},[7164],{"type":15,"value":7165},"client\u002Fhelpers\u002Ftoast.ts",{"type":9,"tag":432,"props":7167,"children":7168},{},[7169],{"type":9,"tag":24,"props":7170,"children":7171},{"className":26},[7172],{"type":15,"value":7173},"src\u002Fmain\u002Fclient\u002Ftoast.ts",{"type":9,"tag":405,"props":7175,"children":7176},{},[7177,7185],{"type":9,"tag":432,"props":7178,"children":7179},{},[7180],{"type":9,"tag":24,"props":7181,"children":7182},{"className":26},[7183],{"type":15,"value":7184},"client\u002Fhelpers\u002Fcopy.ts",{"type":9,"tag":432,"props":7186,"children":7187},{},[7188],{"type":9,"tag":24,"props":7189,"children":7190},{"className":26},[7191],{"type":15,"value":7192},"src\u002Fmain\u002Fclient\u002Fcopy.ts",{"type":9,"tag":405,"props":7194,"children":7195},{},[7196,7204],{"type":9,"tag":432,"props":7197,"children":7198},{},[7199],{"type":9,"tag":24,"props":7200,"children":7201},{"className":26},[7202],{"type":15,"value":7203},"client\u002Fhelpers\u002Fdialog.ts",{"type":9,"tag":432,"props":7205,"children":7206},{},[7207],{"type":9,"tag":24,"props":7208,"children":7209},{"className":26},[7210],{"type":15,"value":7211},"src\u002Fmain\u002Fclient\u002Fdialog.ts",{"type":9,"tag":405,"props":7213,"children":7214},{},[7215,7223],{"type":9,"tag":432,"props":7216,"children":7217},{},[7218],{"type":9,"tag":24,"props":7219,"children":7220},{"className":26},[7221],{"type":15,"value":7222},"client\u002Fhelpers\u002Fpopover.ts",{"type":9,"tag":432,"props":7224,"children":7225},{},[7226,7231,7233],{"type":9,"tag":24,"props":7227,"children":7228},{"className":26},[7229],{"type":15,"value":7230},"src\u002Fmain\u002Fclient\u002Fpopover.ts",{"type":15,"value":7232}," and its component's disclosure behavior from ",{"type":9,"tag":24,"props":7234,"children":7235},{"className":26},[7236],{"type":15,"value":7237},"src\u002Fmain\u002Fclient\u002Fdisclosure.ts",{"type":9,"tag":405,"props":7239,"children":7240},{},[7241,7249],{"type":9,"tag":432,"props":7242,"children":7243},{},[7244],{"type":9,"tag":24,"props":7245,"children":7246},{"className":26},[7247],{"type":15,"value":7248},"client\u002Fhelpers\u002Ftooltip.ts",{"type":9,"tag":432,"props":7250,"children":7251},{},[7252],{"type":9,"tag":24,"props":7253,"children":7254},{"className":26},[7255],{"type":15,"value":7256},"src\u002Fmain\u002Fclient\u002Ftooltip.ts",{"type":9,"tag":405,"props":7258,"children":7259},{},[7260,7268],{"type":9,"tag":432,"props":7261,"children":7262},{},[7263],{"type":9,"tag":24,"props":7264,"children":7265},{"className":26},[7266],{"type":15,"value":7267},"client\u002Fdesign.css",{"type":9,"tag":432,"props":7269,"children":7270},{},[7271,7273],{"type":15,"value":7272},"Shared control token defaults from ",{"type":9,"tag":24,"props":7274,"children":7275},{"className":26},[7276],{"type":15,"value":7277},"src\u002Fmain\u002Fclient\u002Fgit-ui.css",{"type":9,"tag":18,"props":7279,"children":7280},{},[7281,7286],{"type":9,"tag":24,"props":7282,"children":7283},{"className":26},[7284],{"type":15,"value":7285},"src\u002Fmain\u002Fkotlin\u002Fbosca\u002Fdesign\u002Fmodel\u002FNavigationItem.kt",{"type":15,"value":7287}," owns the shared navigation model formerly\ndefined in Git UI. Git's generic visual components consume the compiled library through one unaliased import.",{"type":9,"tag":18,"props":7289,"children":7290},{},[7291,7293,7298,7299,7303,7305,7310,7312,7318,7320,7324],{"type":15,"value":7292},"Component paths are relative to each module's ",{"type":9,"tag":24,"props":7294,"children":7295},{"className":26},[7296],{"type":15,"value":7297},"src\u002Fmain\u002Fbml",{"type":15,"value":475},{"type":9,"tag":24,"props":7300,"children":7301},{"className":26},[7302],{"type":15,"value":7267},{"type":15,"value":7304}," is under ",{"type":9,"tag":24,"props":7306,"children":7307},{"className":26},[7308],{"type":15,"value":7309},"src\u002Fmain",{"type":15,"value":7311},".\nLucide glyphs retain their ",{"type":9,"tag":83,"props":7313,"children":7315},{"href":7314},"src\u002Fmain\u002Fresources\u002FMETA-INF\u002Flicenses\u002Fbml-design\u002Flucide.txt",[7316],{"type":15,"value":7317},"ISC notice",{"type":15,"value":7319},",\npackaged under ",{"type":9,"tag":24,"props":7321,"children":7322},{"className":26},[7323],{"type":15,"value":358},{"type":15,"value":7325},". The library has no Git dependency.",{"type":9,"tag":18,"props":7327,"children":7328},{},[7329],{"type":15,"value":7330},"Build and validate the binary and original source archive from the workspace root:",{"type":9,"tag":45,"props":7332,"children":7337},{"className":7333,"code":7335,"filename":-1,"highlights":-1,"language":7336,"meta":26},[7334],"language-sh",".\u002Fgradlew :bml:bml-design:bmlValidateLibrary :bml:examples:design-library:test\n","sh",[7338],{"type":9,"tag":24,"props":7339,"children":7340},{"__ignoreMap":26},[7341],{"type":15,"value":7335},{"type":9,"tag":199,"props":7343,"children":7345},{"id":7344},"structured-component-inputs",[7346],{"type":15,"value":7347},"Structured component inputs",{"type":9,"tag":18,"props":7349,"children":7350},{},[7351,7353,7358,7360,7365,7366,7371,7372,7377,7378,7383,7384,7389,7390,7395,7396,7401,7402,7407,7408,7413,7415,7420,7421,7426,7428,7433,7435,7439,7441,7446,7448,7453,7454,7459],{"type":15,"value":7352},"Complex inputs are Kotlin objects. Presentation models live in ",{"type":9,"tag":24,"props":7354,"children":7355},{"className":26},[7356],{"type":15,"value":7357},"bosca.design.model",{"type":15,"value":7359},":\n",{"type":9,"tag":24,"props":7361,"children":7362},{"className":26},[7363],{"type":15,"value":7364},"FlowGraph",{"type":15,"value":163},{"type":9,"tag":24,"props":7367,"children":7368},{"className":26},[7369],{"type":15,"value":7370},"FlowNode",{"type":15,"value":163},{"type":9,"tag":24,"props":7373,"children":7374},{"className":26},[7375],{"type":15,"value":7376},"FlowEdge",{"type":15,"value":163},{"type":9,"tag":24,"props":7379,"children":7380},{"className":26},[7381],{"type":15,"value":7382},"FlowPosition",{"type":15,"value":163},{"type":9,"tag":24,"props":7385,"children":7386},{"className":26},[7387],{"type":15,"value":7388},"FlowViewport",{"type":15,"value":163},{"type":9,"tag":24,"props":7391,"children":7392},{"className":26},[7393],{"type":15,"value":7394},"DashboardLayoutItem",{"type":15,"value":163},{"type":9,"tag":24,"props":7397,"children":7398},{"className":26},[7399],{"type":15,"value":7400},"ChartConfiguration",{"type":15,"value":163},{"type":9,"tag":24,"props":7403,"children":7404},{"className":26},[7405],{"type":15,"value":7406},"ChartData",{"type":15,"value":170},{"type":9,"tag":24,"props":7409,"children":7410},{"className":26},[7411],{"type":15,"value":7412},"ChartDataset",{"type":15,"value":7414},".\nRich documents accept a ",{"type":9,"tag":24,"props":7416,"children":7417},{"className":26},[7418],{"type":15,"value":7419},"bosca.content.metadata.model.Document",{"type":15,"value":5503},{"type":9,"tag":24,"props":7422,"children":7423},{"className":26},[7424],{"type":15,"value":7425},"document",{"type":15,"value":7427},", or a Kotlin\n",{"type":9,"tag":24,"props":7429,"children":7430},{"className":26},[7431],{"type":15,"value":7432},"JsonObject",{"type":15,"value":7434}," with the ProseMirror shape through ",{"type":9,"tag":24,"props":7436,"children":7437},{"className":26},[7438],{"type":15,"value":851},{"type":15,"value":7440},"; arbitrary JSON values use\n",{"type":9,"tag":24,"props":7442,"children":7443},{"className":26},[7444],{"type":15,"value":7445},"JsonElement",{"type":15,"value":7447},". These open trees preserve application-specific nodes, attributes and values.\nThe component serializes its input at the HTML\u002Fbrowser boundary. Native form fields still submit\nJSON text; decode submissions with Kotlin serialization, for example\n",{"type":9,"tag":24,"props":7449,"children":7450},{"className":26},[7451],{"type":15,"value":7452},"Json.decodeFromString(FlowGraph.serializer(), form.graph)",{"type":15,"value":4292},{"type":9,"tag":24,"props":7455,"children":7456},{"className":26},[7457],{"type":15,"value":7458},"Json.decodeFromString(ListSerializer(DashboardLayoutItem.serializer()), form.layout)",{"type":15,"value":7460},".\nOrdinary models use generated Kotlin serializers, including when nested in application state.\nOnly chart-point and flow-marker unions need custom serialization for their native JSON shapes.\nApplications retain form validation and persistence.",{"type":9,"tag":45,"props":7462,"children":7465},{"className":7463,"code":7464,"filename":-1,"highlights":-1,"language":50,"meta":26},[48],"val chartConfig = ChartConfiguration(\n    type = ChartType.BAR,\n    data = ChartData(\n        labels = listOf(\"Mon\", \"Tue\"),\n        datasets = listOf(ChartDataset(\"Visits\", listOf(12, 18))),\n    ),\n    options = ChartOptions(\n        plugins = ChartPlugins(legend = ChartLegend(position = ChartLegendPosition.BOTTOM)),\n        scales = mapOf(\"y\" to ChartScale(beginAtZero = true, title = ChartTitle(\"Visits\"))),\n    ),\n)\n",[7466],{"type":9,"tag":24,"props":7467,"children":7468},{"__ignoreMap":26},[7469],{"type":15,"value":7464},{"type":9,"tag":18,"props":7471,"children":7472},{},[7473,7475,7480,7482,7487,7488,7493,7494,7499,7500,7505,7506,7511,7513,7518,7520,7525,7526,7531,7532,7537,7538,7543,7544,7549,7550,7555,7556,7561,7562,7567,7569,7574,7576,7580,7582,7586],{"type":15,"value":7474},"Chart labels can use ",{"type":9,"tag":24,"props":7476,"children":7477},{"className":26},[7478],{"type":15,"value":7479},"JsonArray",{"type":15,"value":7481}," for numeric or multiline labels. Dataset data uses ",{"type":9,"tag":24,"props":7483,"children":7484},{"className":26},[7485],{"type":15,"value":7486},"List\u003CChartValue>",{"type":15,"value":7359},{"type":9,"tag":24,"props":7489,"children":7490},{"className":26},[7491],{"type":15,"value":7492},"ChartValue.Number",{"type":15,"value":163},{"type":9,"tag":24,"props":7495,"children":7496},{"className":26},[7497],{"type":15,"value":7498},"Scatter",{"type":15,"value":163},{"type":9,"tag":24,"props":7501,"children":7502},{"className":26},[7503],{"type":15,"value":7504},"Bubble",{"type":15,"value":170},{"type":9,"tag":24,"props":7507,"children":7508},{"className":26},[7509],{"type":15,"value":7510},"Gap",{"type":15,"value":7512}," represent ordinary points, x\u002Fy points, x\u002Fy\u002Fr points\nand missing values. Numeric collections have a convenience constructor. ",{"type":9,"tag":24,"props":7514,"children":7515},{"className":26},[7516],{"type":15,"value":7517},"ChartValue.Custom",{"type":15,"value":7519}," keeps\napplication data for custom parsing keys and ranges. Common dataset styling is typed, including\ncolors, borders, point radius, stack and axis IDs. ",{"type":9,"tag":24,"props":7521,"children":7522},{"className":26},[7523],{"type":15,"value":7524},"ChartOptions",{"type":15,"value":163},{"type":9,"tag":24,"props":7527,"children":7528},{"className":26},[7529],{"type":15,"value":7530},"ChartPlugins",{"type":15,"value":163},{"type":9,"tag":24,"props":7533,"children":7534},{"className":26},[7535],{"type":15,"value":7536},"ChartLegend",{"type":15,"value":4774},{"type":9,"tag":24,"props":7539,"children":7540},{"className":26},[7541],{"type":15,"value":7542},"ChartTooltip",{"type":15,"value":163},{"type":9,"tag":24,"props":7545,"children":7546},{"className":26},[7547],{"type":15,"value":7548},"ChartScale",{"type":15,"value":163},{"type":9,"tag":24,"props":7551,"children":7552},{"className":26},[7553],{"type":15,"value":7554},"ChartTitle",{"type":15,"value":163},{"type":9,"tag":24,"props":7557,"children":7558},{"className":26},[7559],{"type":15,"value":7560},"ChartTicks",{"type":15,"value":170},{"type":9,"tag":24,"props":7563,"children":7564},{"className":26},[7565],{"type":15,"value":7566},"ChartGrid",{"type":15,"value":7568}," cover common nested settings.\nSupported engine settings are ordinary model properties. Application node values belong in the\nexplicit ",{"type":9,"tag":24,"props":7570,"children":7571},{"className":26},[7572],{"type":15,"value":7573},"FlowNodeData.payload",{"type":15,"value":7575}," JSON object. Dashboard values are ordinary lists of geometry objects;\nwidget data stays in the application. JSON editor ",{"type":9,"tag":24,"props":7577,"children":7578},{"className":26},[7579],{"type":15,"value":851},{"type":15,"value":7581}," is structured;\nits optional ",{"type":9,"tag":24,"props":7583,"children":7584},{"className":26},[7585],{"type":15,"value":15},{"type":15,"value":7587}," accepts a raw editable draft, including malformed or empty text, and takes\npriority when non-null. Return invalid submitted text there rather than encoding it as a JSON string.",{"type":9,"tag":206,"props":7589,"children":7591},{"id":7590},"choices-and-local-views",[7592],{"type":15,"value":7593},"Choices and local views",{"type":9,"tag":18,"props":7595,"children":7596},{},[7597,7598,7603,7605,7610,7612,7616,7618,7622,7624,7628,7630,7634,7636,7640],{"type":15,"value":4199},{"type":9,"tag":24,"props":7599,"children":7600},{"className":26},[7601],{"type":15,"value":7602},"List\u003CSegmentOption>",{"type":15,"value":7604}," for segmented controls and ",{"type":9,"tag":24,"props":7606,"children":7607},{"className":26},[7608],{"type":15,"value":7609},"List\u003CViewTab>",{"type":15,"value":7611}," for local tabs. Each item has\nan explicit stable ",{"type":9,"tag":24,"props":7613,"children":7614},{"className":26},[7615],{"type":15,"value":851},{"type":15,"value":7617}," and display ",{"type":9,"tag":24,"props":7619,"children":7620},{"className":26},[7621],{"type":15,"value":2894},{"type":15,"value":7623},"; segmented options also have an optional ",{"type":9,"tag":24,"props":7625,"children":7626},{"className":26},[7627],{"type":15,"value":738},{"type":15,"value":7629},".\nBoth support ",{"type":9,"tag":24,"props":7631,"children":7632},{"className":26},[7633],{"type":15,"value":589},{"type":15,"value":7635},". Keyboard navigation skips disabled items. Labels can change or repeat;\nnative form submissions and ",{"type":9,"tag":24,"props":7637,"children":7638},{"className":26},[7639],{"type":15,"value":2340},{"type":15,"value":7641}," continue to carry the stable value. Retained groups update\nlabels and disabled states. Change the preservation key when changing group membership or icons.",{"type":9,"tag":45,"props":7643,"children":7646},{"className":7644,"code":7645,"filename":-1,"highlights":-1,"language":50,"meta":26},[48],"val categories = listOf(SegmentOption(\"all\", \"All\", \"list\"), SegmentOption(\"active\", \"Active\"))\nval views = listOf(ViewTab(\"preview\", \"Preview\"), ViewTab(\"source\", \"Source\"))\n",[7647],{"type":9,"tag":24,"props":7648,"children":7649},{"__ignoreMap":26},[7650],{"type":15,"value":7645},{"type":9,"tag":18,"props":7652,"children":7653},{},[7654,7656,7661,7662,7667,7668,7673,7674,7679,7680,7685,7687,7692],{"type":15,"value":7655},"Simple presentation choices use strings: ",{"type":9,"tag":24,"props":7657,"children":7658},{"className":26},[7659],{"type":15,"value":7660},"size=\"sm\"",{"type":15,"value":163},{"type":9,"tag":24,"props":7663,"children":7664},{"className":26},[7665],{"type":15,"value":7666},"tone=\"success\"",{"type":15,"value":163},{"type":9,"tag":24,"props":7669,"children":7670},{"className":26},[7671],{"type":15,"value":7672},"placement=\"bottom\"",{"type":15,"value":4774},{"type":9,"tag":24,"props":7675,"children":7676},{"className":26},[7677],{"type":15,"value":7678},"mode=\"tree\"",{"type":15,"value":170},{"type":9,"tag":24,"props":7681,"children":7682},{"className":26},[7683],{"type":15,"value":7684},"triggerStyle=\"ghost\"",{"type":15,"value":7686},". Bind a caller-owned string when the value is dynamic,\nfor example ",{"type":9,"tag":24,"props":7688,"children":7689},{"className":26},[7690],{"type":15,"value":7691},":tone=\"notice.tone\"",{"type":15,"value":7693},". Structured inputs such as charts, flows and option lists use\nKotlin objects. Colors and other CSS values remain application-owned text.",{"type":9,"tag":45,"props":7695,"children":7698},{"className":7696,"code":7697,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"\u003Cicon-button icon=\"copy\" label=\"Copy\" size=\"sm\" \u002F>\n",[7699],{"type":9,"tag":24,"props":7700,"children":7701},{"__ignoreMap":26},[7702],{"type":15,"value":7697},{"type":9,"tag":206,"props":7704,"children":7706},{"id":7705},"flow-data",[7707],{"type":15,"value":7708},"Flow data",{"type":9,"tag":18,"props":7710,"children":7711},{},[7712,7717,7719,7723,7724,7729,7730,7735,7736,7741,7742,7747,7748,7753,7755,7760,7762,7767,7769,7774,7775,7779,7780,7785,7786,7791,7793,7798],{"type":9,"tag":24,"props":7713,"children":7714},{"className":26},[7715],{"type":15,"value":7716},"FlowNodeData",{"type":15,"value":7718}," supplies typed ",{"type":9,"tag":24,"props":7720,"children":7721},{"className":26},[7722],{"type":15,"value":2894},{"type":15,"value":163},{"type":9,"tag":24,"props":7725,"children":7726},{"className":26},[7727],{"type":15,"value":7728},"description",{"type":15,"value":163},{"type":9,"tag":24,"props":7731,"children":7732},{"className":26},[7733],{"type":15,"value":7734},"status",{"type":15,"value":163},{"type":9,"tag":24,"props":7737,"children":7738},{"className":26},[7739],{"type":15,"value":7740},"tone",{"type":15,"value":163},{"type":9,"tag":24,"props":7743,"children":7744},{"className":26},[7745],{"type":15,"value":7746},"inputs",{"type":15,"value":170},{"type":9,"tag":24,"props":7749,"children":7750},{"className":26},[7751],{"type":15,"value":7752},"outputs",{"type":15,"value":7754},".\nPorts use ",{"type":9,"tag":24,"props":7756,"children":7757},{"className":26},[7758],{"type":15,"value":7759},"FlowPort(id, label)",{"type":15,"value":7761},". A null port list uses the default handle; an empty list removes\nthat side's handles. ",{"type":9,"tag":24,"props":7763,"children":7764},{"className":26},[7765],{"type":15,"value":7766},"FlowSide",{"type":15,"value":7768}," chooses the connection side. Nodes have typed interaction flags;\nedges have typed ",{"type":9,"tag":24,"props":7770,"children":7771},{"className":26},[7772],{"type":15,"value":7773},"animated",{"type":15,"value":163},{"type":9,"tag":24,"props":7776,"children":7777},{"className":26},[7778],{"type":15,"value":2894},{"type":15,"value":163},{"type":9,"tag":24,"props":7781,"children":7782},{"className":26},[7783],{"type":15,"value":7784},"FlowEdgeStyle",{"type":15,"value":170},{"type":9,"tag":24,"props":7787,"children":7788},{"className":26},[7789],{"type":15,"value":7790},"FlowMarker",{"type":15,"value":7792}," values. Marker objects and\napplication SVG marker references both round trip. Node\u002Fedge type names retain the native engine\nspelling. Application values belong in ",{"type":9,"tag":24,"props":7794,"children":7795},{"className":26},[7796],{"type":15,"value":7797},"data.payload",{"type":15,"value":7799},"; generated node and edge deserialization\nignores transient VueFlow fields such as selection and measured dimensions.",{"type":9,"tag":206,"props":7801,"children":7803},{"id":7802},"shared-document-authoring",[7804],{"type":15,"value":7805},"Shared document authoring",{"type":9,"tag":18,"props":7807,"children":7808},{},[7809,7811,7815],{"type":15,"value":7810},"Pass a loaded ",{"type":9,"tag":24,"props":7812,"children":7813},{"className":26},[7814],{"type":15,"value":7419},{"type":15,"value":7816}," directly:",{"type":9,"tag":45,"props":7818,"children":7821},{"className":7819,"code":7820,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"\u003Cdocument-editor id=\"article\" label=\"Article body\" :document=\"article.document\"\n                 name=\"document\" preserveKey=\"article-draft\" \u002F>\n",[7822],{"type":9,"tag":24,"props":7823,"children":7824},{"__ignoreMap":26},[7825],{"type":15,"value":7820},{"type":9,"tag":18,"props":7827,"children":7828},{},[7829,7831,7836,7838,7842,7844,7848,7850,7854,7856,7861],{"type":15,"value":7830},"The editor reads ",{"type":9,"tag":24,"props":7832,"children":7833},{"className":26},[7834],{"type":15,"value":7835},"content.document",{"type":15,"value":7837}," and encodes only that body for TipTap and its native form\nfield. Its metadata ID, title, version and template references are not part of the editor value.\nA supplied record with null content or an empty document opens with an editable paragraph.\n",{"type":9,"tag":24,"props":7839,"children":7840},{"className":26},[7841],{"type":15,"value":7425},{"type":15,"value":7843}," takes precedence when supplied; when it is null, ",{"type":9,"tag":24,"props":7845,"children":7846},{"className":26},[7847],{"type":15,"value":851},{"type":15,"value":7849}," supplies the content. Use\n",{"type":9,"tag":24,"props":7851,"children":7852},{"className":26},[7853],{"type":15,"value":851},{"type":15,"value":7855}," for arbitrary ProseMirror JSON, including application-specific nodes and attributes.\nThe component exposes the ",{"type":9,"tag":24,"props":7857,"children":7858},{"className":26},[7859],{"type":15,"value":7860},"core-content",{"type":15,"value":7862}," document contract through its library dependency.",{"type":9,"tag":18,"props":7864,"children":7865},{},[7866,7868,7873,7874,7879,7880,7885,7886,7891,7893,7898,7900,7904],{"type":15,"value":7867},"Reuse ",{"type":9,"tag":24,"props":7869,"children":7870},{"className":26},[7871],{"type":15,"value":7872},"bosca.documents.Document",{"type":15,"value":163},{"type":9,"tag":24,"props":7875,"children":7876},{"className":26},[7877],{"type":15,"value":7878},"ParagraphNode",{"type":15,"value":163},{"type":9,"tag":24,"props":7881,"children":7882},{"className":26},[7883],{"type":15,"value":7884},"HeadingNode",{"type":15,"value":163},{"type":9,"tag":24,"props":7887,"children":7888},{"className":26},[7889],{"type":15,"value":7890},"TextNode",{"type":15,"value":7892}," and the shared mark\nclasses. ",{"type":9,"tag":24,"props":7894,"children":7895},{"className":26},[7896],{"type":15,"value":7897},"documentValue(document)",{"type":15,"value":7899}," produces the editor's ",{"type":9,"tag":24,"props":7901,"children":7902},{"className":26},[7903],{"type":15,"value":7432},{"type":15,"value":7905}," from those existing models:",{"type":9,"tag":45,"props":7907,"children":7910},{"className":7908,"code":7909,"filename":-1,"highlights":-1,"language":50,"meta":26},[48],"val content = documentValue(Document(content = listOf(\n    ParagraphNode(content = listOf(TextNode(text = \"A document\", marks = listOf(Bold())))),\n)))\n",[7911],{"type":9,"tag":24,"props":7912,"children":7913},{"__ignoreMap":26},[7914],{"type":15,"value":7909},{"type":9,"tag":18,"props":7916,"children":7917},{},[7918,7920,7924],{"type":15,"value":7919},"The library exposes the shared document dependency. Submitted content and custom TipTap documents\nremain JSON trees: the shared sealed schema cannot represent every application extension. Retain\nthose trees through saves instead of decoding them through a schema that could lose custom\nattributes or reject unknown nodes. The JSON editor continues to accept arbitrary ",{"type":9,"tag":24,"props":7921,"children":7922},{"className":26},[7923],{"type":15,"value":7445},{"type":15,"value":38},{"type":9,"tag":199,"props":7926,"children":7928},{"id":7927},"structured-json",[7929],{"type":15,"value":7930},"Structured JSON",{"type":9,"tag":45,"props":7932,"children":7935},{"className":7933,"code":7934,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"\u003Cform @submit=\"settings.save(form.configuration)\">\n  \u003Cjson-editor name=\"configuration\" :value=\"settings.value\" :text=\"settings.text\" label=\"Configuration\"\n               :error=\"settings.error\" preserveKey=\"configuration-editor\" \u002F>\n  \u003Cbutton type=\"submit\">Save\u003C\u002Fbutton>\n\u003C\u002Fform>\n",[7936],{"type":9,"tag":24,"props":7937,"children":7938},{"__ignoreMap":26},[7939],{"type":15,"value":7934},{"type":9,"tag":18,"props":7941,"children":7942},{},[7943,7945,7950,7952,7957],{"type":15,"value":7944},"This BML adapter uses the same ",{"type":9,"tag":24,"props":7946,"children":7947},{"className":26},[7948],{"type":15,"value":7949},"vanilla-jsoneditor",{"type":15,"value":7951}," structured engine that Studio uses through\n",{"type":9,"tag":24,"props":7953,"children":7954},{"className":26},[7955],{"type":15,"value":7956},"json-editor-vue",{"type":15,"value":7958},". BML supplies its own scoped mounting, updates and disposal. Consumers need no\nVue application or editor npm dependency; the engine and its notices travel in the compiled library.\nGit's agent settings consume this compiled adapter and keep configuration validation and actions in the application.",{"type":9,"tag":18,"props":7960,"children":7961},{},[7962,7964,7968],{"type":15,"value":7963},"The form field retains exact malformed and empty text. Tree mode can show the engine's repair\npreview; the form value changes only when the user edits or accepts a repair. The caller owns\nvalidation policy and submission, and can return the same draft with an ",{"type":9,"tag":24,"props":7965,"children":7966},{"className":26},[7967],{"type":15,"value":946},{"type":15,"value":7969}," message. Syntax\nfeedback does not block submission or replace the draft. Text edits are flushed before declarative\nform submission, mode changes, and controlled replacements or reset.",{"type":9,"tag":18,"props":7971,"children":7972},{},[7973,7975,7979,7981,7985,7987,7992],{"type":15,"value":7974},"Supply a unique ",{"type":9,"tag":24,"props":7976,"children":7977},{"className":26},[7978],{"type":15,"value":2939},{"type":15,"value":7980}," for each editor that should survive unrelated island updates. Its\nengine DOM, selection, focus and draft remain mounted while the root attributes reconcile. A\nchanged ",{"type":9,"tag":24,"props":7982,"children":7983},{"className":26},[7984],{"type":15,"value":851},{"type":15,"value":7986}," replaces the draft; unchanged server values leave local edits alone. Name, label,\nmode, readonly, disabled and error props reconcile on retained roots. Local engine mode choices\nsurvive unrelated updates; a changed ",{"type":9,"tag":24,"props":7988,"children":7989},{"className":26},[7990],{"type":15,"value":7991},"mode",{"type":15,"value":7993}," prop selects that mode. Use a new key to replace the\nwhole editor. Native reset restores the latest server value. Pending BML forms make editing read-only;\ndisabled editors are inert and excluded from form data. The caller supplies surrounding labels and\nactions and owns transport and navigation.",{"type":9,"tag":18,"props":7995,"children":7996},{},[7997],{"type":15,"value":7998},"Tree mode exposes a labelled tree with grouped child items and expanded state. Table mode keeps\nthe native table, labelled from the editor, with column and row headers and a screen-reader row-column\nlabel. Virtualized rows retain their logical positions, with spacer rows spanning the complete column\ngrid and excluded from the accessibility table. Property-navigation buttons have accessible names. These semantics follow engine mode changes\nand retained-root label updates; their observer is disconnected with the editor.",{"type":9,"tag":18,"props":8000,"children":8001},{},[8002,8004,8009,8011,8016,8017,8022,8023,8028,8029,8034,8035,8040,8041,8046,8047,8052,8053,8058,8059,8064,8066,8071,8072,8077,8078,8083,8085,8090,8092,8097],{"type":15,"value":8003},"The editor viewport defaults to 320px high with a 240px minimum. Set ",{"type":9,"tag":24,"props":8005,"children":8006},{"className":26},[8007],{"type":15,"value":8008},"--json-height",{"type":15,"value":8010}," in consumer CSS\nto resize it. The component owns its editor frame, toolbar, scrollable body and feedback geometry.\nOrdinary shared design colors style surfaces, text, controls, menus, errors, selection and syntax.\nOptional inherited overrides are ",{"type":9,"tag":24,"props":8012,"children":8013},{"className":26},[8014],{"type":15,"value":8015},"--json-bg",{"type":15,"value":163},{"type":9,"tag":24,"props":8018,"children":8019},{"className":26},[8020],{"type":15,"value":8021},"--json-fg",{"type":15,"value":163},{"type":9,"tag":24,"props":8024,"children":8025},{"className":26},[8026],{"type":15,"value":8027},"--json-panel-bg",{"type":15,"value":163},{"type":9,"tag":24,"props":8030,"children":8031},{"className":26},[8032],{"type":15,"value":8033},"--json-accent",{"type":15,"value":4774},{"type":9,"tag":24,"props":8036,"children":8037},{"className":26},[8038],{"type":15,"value":8039},"--json-key",{"type":15,"value":163},{"type":9,"tag":24,"props":8042,"children":8043},{"className":26},[8044],{"type":15,"value":8045},"--json-string",{"type":15,"value":163},{"type":9,"tag":24,"props":8048,"children":8049},{"className":26},[8050],{"type":15,"value":8051},"--json-number",{"type":15,"value":163},{"type":9,"tag":24,"props":8054,"children":8055},{"className":26},[8056],{"type":15,"value":8057},"--json-boolean",{"type":15,"value":163},{"type":9,"tag":24,"props":8060,"children":8061},{"className":26},[8062],{"type":15,"value":8063},"--json-selection",{"type":15,"value":8065},", and\n",{"type":9,"tag":24,"props":8067,"children":8068},{"className":26},[8069],{"type":15,"value":8070},"--json-scheme",{"type":15,"value":449},{"type":9,"tag":24,"props":8073,"children":8074},{"className":26},[8075],{"type":15,"value":8076},"light",{"type":15,"value":1915},{"type":9,"tag":24,"props":8079,"children":8080},{"className":26},[8081],{"type":15,"value":8082},"dark",{"type":15,"value":8084},"). More specific changes can set the engine's ",{"type":9,"tag":24,"props":8086,"children":8087},{"className":26},[8088],{"type":15,"value":8089},"--jse-*",{"type":15,"value":8091}," variables\non the component root. These variables update live through CSS; no theme registration is needed.\nEditor JS and its CSS mappings are component-reachable, so ordinary button\u002Fcard and source-only\npages exclude JSON editor assets. The ",{"type":9,"tag":24,"props":8093,"children":8094},{"className":26},[8095],{"type":15,"value":8096},"\u002Fjson",{"type":15,"value":8098}," consumer fixture checks both palettes, live overrides,\nstructured tree editing, text syntax, invalid submissions, reset, keyboard exit, readonly\u002Fdisabled and\npending states, repeated disposal, fallback forms and desktop\u002Fphone geometry.",{"type":9,"tag":199,"props":8100,"children":8102},{"id":8101},"dashboard-layouts",[8103],{"type":15,"value":8104},"Dashboard layouts",{"type":9,"tag":18,"props":8106,"children":8107},{},[8108,8112,8114,8119,8121,8125,8126,8131,8132,8137,8138,8143,8144,8149,8151,8155],{"type":9,"tag":24,"props":8109,"children":8110},{"className":26},[8111],{"type":15,"value":3021},{"type":15,"value":8113}," takes a ",{"type":9,"tag":24,"props":8115,"children":8116},{"className":26},[8117],{"type":15,"value":8118},"List\u003CDashboardLayoutItem>",{"type":15,"value":8120}," using Studio's ",{"type":9,"tag":24,"props":8122,"children":8123},{"className":26},[8124],{"type":15,"value":2174},{"type":15,"value":163},{"type":9,"tag":24,"props":8127,"children":8128},{"className":26},[8129],{"type":15,"value":8130},"x",{"type":15,"value":163},{"type":9,"tag":24,"props":8133,"children":8134},{"className":26},[8135],{"type":15,"value":8136},"y",{"type":15,"value":163},{"type":9,"tag":24,"props":8139,"children":8140},{"className":26},[8141],{"type":15,"value":8142},"w",{"type":15,"value":163},{"type":9,"tag":24,"props":8145,"children":8146},{"className":26},[8147],{"type":15,"value":8148},"h",{"type":15,"value":8150}," geometry with ordinary BML\nwidgets. Coordinates are whole cells in a 12-column grid by default; row height defaults to\n60px. Every layout ID must match one direct ",{"type":9,"tag":24,"props":8152,"children":8153},{"className":26},[8154],{"type":15,"value":3121},{"type":15,"value":8156}," child, and widgets cannot overlap.\nThe application owns widget content, data, adding\u002Fremoving\nwidgets and saving. No extra npm dependency is needed by a consuming application.",{"type":9,"tag":45,"props":8158,"children":8161},{"className":8159,"code":8160,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"\u003Cdashboard-grid id=\"overview\" label=\"Overview\" :value=\"dashboard.layout\"\n                :lockedIds=\"dashboard.lockedIds\" preserveKey=\"overview\">\n  \u003Cdashboard-item itemId=\"visits\" label=\"Visits\">\n    \u003Cchart id=\"visits-chart\" label=\"Daily visits\" :config=\"dashboard.chartConfig\" \u002F>\n  \u003C\u002Fdashboard-item>\n  \u003Cdashboard-item itemId=\"summary\" label=\"Summary\">\n    \u003Cp>{ dashboard.summary }\u003C\u002Fp>\n  \u003C\u002Fdashboard-item>\n\u003C\u002Fdashboard-grid>\n",[8162],{"type":9,"tag":24,"props":8163,"children":8164},{"__ignoreMap":26},[8165],{"type":15,"value":8160},{"type":9,"tag":18,"props":8167,"children":8168},{},[8169,8171,8176,8177,8182,8183,8188,8189,8194,8196,8200,8202,8207],{"type":15,"value":8170},"Build the value with ",{"type":9,"tag":24,"props":8172,"children":8173},{"className":26},[8174],{"type":15,"value":8175},"listOf(DashboardLayoutItem(\"visits\", 0, 0, 8, 6), DashboardLayoutItem(\"summary\", 8, 0, 4, 6))",{"type":15,"value":4848},{"type":9,"tag":24,"props":8178,"children":8179},{"className":26},[8180],{"type":15,"value":8181},"columns",{"type":15,"value":163},{"type":9,"tag":24,"props":8184,"children":8185},{"className":26},[8186],{"type":15,"value":8187},"cellHeight",{"type":15,"value":170},{"type":9,"tag":24,"props":8190,"children":8191},{"className":26},[8192],{"type":15,"value":8193},"stackBelow",{"type":15,"value":8195},"\nconfigure geometry. Containers narrower than ",{"type":9,"tag":24,"props":8197,"children":8198},{"className":26},[8199],{"type":15,"value":8193},{"type":15,"value":8201}," (480px) stack widgets without changing\nthe stored layout; ",{"type":9,"tag":24,"props":8203,"children":8204},{"className":26},[8205],{"type":15,"value":8206},"stackBelow=0",{"type":15,"value":8208}," keeps the grid at any width. The saved array order is the reading\nand stacked order; moves change geometry without reordering the widget DOM.",{"type":9,"tag":18,"props":8210,"children":8211},{},[8212,8214,8219,8221,8226,8228,8233,8234,8239,8241,8246,8247,8252],{"type":15,"value":8213},"Compact Move and Resize buttons support pointer gestures and one-cell arrow-key changes. Escape\nand pointer cancellation discard an unfinished gesture. Unlocked collisions push widgets down;\nmoves into ",{"type":9,"tag":24,"props":8215,"children":8216},{"className":26},[8217],{"type":15,"value":8218},"lockedIds",{"type":15,"value":8220}," are rejected. Locked, readonly, disabled and pending widgets retain their\ncontent. The grid locks layout handles; nested form controls keep their own availability rules.\n",{"type":9,"tag":24,"props":8222,"children":8223},{"className":26},[8224],{"type":15,"value":8225},"layoutchange",{"type":15,"value":8227}," supplies ",{"type":9,"tag":24,"props":8229,"children":8230},{"className":26},[8231],{"type":15,"value":8232},"{layout,itemId,kind}",{"type":15,"value":4052},{"type":9,"tag":24,"props":8235,"children":8236},{"className":26},[8237],{"type":15,"value":8238},"kind",{"type":15,"value":8240}," equal to ",{"type":9,"tag":24,"props":8242,"children":8243},{"className":26},[8244],{"type":15,"value":8245},"move",{"type":15,"value":1915},{"type":9,"tag":24,"props":8248,"children":8249},{"className":26},[8250],{"type":15,"value":8251},"resize",{"type":15,"value":38},{"type":9,"tag":18,"props":8254,"children":8255},{},[8256,8260,8261,8266,8268,8272,8274,8278],{"type":9,"tag":24,"props":8257,"children":8258},{"className":26},[8259],{"type":15,"value":583},{"type":15,"value":4499},{"type":9,"tag":24,"props":8262,"children":8263},{"className":26},[8264],{"type":15,"value":8265},"layout",{"type":15,"value":8267},"; the native textarea carries current JSON. Readonly values submit,\ndisabled values are excluded, and native reset restores the latest supplied value. Changed ",{"type":9,"tag":24,"props":8269,"children":8270},{"className":26},[8271],{"type":15,"value":851},{"type":15,"value":8273},"\ninstalls new geometry without remounting widgets. Keep ",{"type":9,"tag":24,"props":8275,"children":8276},{"className":26},[8277],{"type":15,"value":2939},{"type":15,"value":8279}," stable across surrounding\nupdates to retain layout, chart canvases, editors and unsaved input; change that key when changing\nthe widget composition. Invalid coordinates, IDs, collisions or options reveal the JSON and error\ninstead of submitting stale geometry. Without scripts, the JSON field and stacked BML content remain\nvisible. The server still validates submitted layouts according to the application's own rules.",{"type":9,"tag":18,"props":8281,"children":8282},{},[8283,8285,8290,8292,8297,8299,8304,8305,8309,8310,8315,8317,8322,8324,8329],{"type":15,"value":8284},"Colors use ordinary CSS. ",{"type":9,"tag":24,"props":8286,"children":8287},{"className":26},[8288],{"type":15,"value":8289},"--dashboard-gap",{"type":15,"value":8291}," defaults to 16px, ",{"type":9,"tag":24,"props":8293,"children":8294},{"className":26},[8295],{"type":15,"value":8296},"--dashboard-item-padding",{"type":15,"value":8298}," to 16px,\n",{"type":9,"tag":24,"props":8300,"children":8301},{"className":26},[8302],{"type":15,"value":8303},"--dashboard-item-bg",{"type":15,"value":4512},{"type":9,"tag":24,"props":8306,"children":8307},{"className":26},[8308],{"type":15,"value":4657},{"type":15,"value":609},{"type":9,"tag":24,"props":8311,"children":8312},{"className":26},[8313],{"type":15,"value":8314},"--dashboard-chart-height",{"type":15,"value":8316}," to 260px for charts placed directly\nin a widget. Widget bodies scroll within their assigned height. ",{"type":9,"tag":24,"props":8318,"children":8319},{"className":26},[8320],{"type":15,"value":8321},"\u002Fdashboards",{"type":15,"value":8323}," demonstrates independent\ndark\u002Flight dashboards, retained note input, a real Chart.js widget, locked content and local save\nrejection; ",{"type":9,"tag":24,"props":8325,"children":8326},{"className":26},[8327],{"type":15,"value":8328},"\u002Fcomponents\u002Fvisualization",{"type":15,"value":8330}," documents both tags.",{"type":9,"tag":199,"props":8332,"children":8334},{"id":8333},"flows-and-charts",[8335],{"type":15,"value":8336},"Flows and charts",{"type":9,"tag":18,"props":8338,"children":8339},{},[8340,8344,8346,8350,8352,8356,8357,8361,8363,8368,8370,8374,8376,8381,8382,8386,8387,8391,8392,8396,8397,8401,8402,8406,8408,8413,8415,8420,8421,8426,8428,8433,8434,8438,8439,8444,8445,8450,8452,8456],{"type":9,"tag":24,"props":8341,"children":8342},{"className":26},[8343],{"type":15,"value":2880},{"type":15,"value":8345}," uses the same VueFlow core version as Studio. Supply ordinary VueFlow nodes and edges\nas a Kotlin ",{"type":9,"tag":24,"props":8347,"children":8348},{"className":26},[8349],{"type":15,"value":7364},{"type":15,"value":8351}," containing ",{"type":9,"tag":24,"props":8353,"children":8354},{"className":26},[8355],{"type":15,"value":7370},{"type":15,"value":170},{"type":9,"tag":24,"props":8358,"children":8359},{"className":26},[8360],{"type":15,"value":7376},{"type":15,"value":8362}," objects. Nodes need unique IDs and finite ",{"type":9,"tag":24,"props":8364,"children":8365},{"className":26},[8366],{"type":15,"value":8367},"{x,y}",{"type":15,"value":8369}," positions; edges reference existing nodes.\nThe built-in ",{"type":9,"tag":24,"props":8371,"children":8372},{"className":26},[8373],{"type":15,"value":665},{"type":15,"value":8375}," node reads ",{"type":9,"tag":24,"props":8377,"children":8378},{"className":26},[8379],{"type":15,"value":8380},"data.label",{"type":15,"value":163},{"type":9,"tag":24,"props":8383,"children":8384},{"className":26},[8385],{"type":15,"value":7728},{"type":15,"value":163},{"type":9,"tag":24,"props":8388,"children":8389},{"className":26},[8390],{"type":15,"value":7734},{"type":15,"value":163},{"type":9,"tag":24,"props":8393,"children":8394},{"className":26},[8395],{"type":15,"value":7740},{"type":15,"value":4097},{"type":9,"tag":24,"props":8398,"children":8399},{"className":26},[8400],{"type":15,"value":7746},{"type":15,"value":3459},{"type":9,"tag":24,"props":8403,"children":8404},{"className":26},[8405],{"type":15,"value":7752},{"type":15,"value":8407},"\narrays of ",{"type":9,"tag":24,"props":8409,"children":8410},{"className":26},[8411],{"type":15,"value":8412},"{id,label}",{"type":15,"value":8414}," ports. Omit a port array for an anonymous handle; an empty array removes that\nside's handles. VueFlow ",{"type":9,"tag":24,"props":8416,"children":8417},{"className":26},[8418],{"type":15,"value":8419},"sourcePosition",{"type":15,"value":170},{"type":9,"tag":24,"props":8422,"children":8423},{"className":26},[8424],{"type":15,"value":8425},"targetPosition",{"type":15,"value":8427}," choose the handle sides. Standard ",{"type":9,"tag":24,"props":8429,"children":8430},{"className":26},[8431],{"type":15,"value":8432},"default",{"type":15,"value":163},{"type":9,"tag":24,"props":8435,"children":8436},{"className":26},[8437],{"type":15,"value":527},{"type":15,"value":163},{"type":9,"tag":24,"props":8440,"children":8441},{"className":26},[8442],{"type":15,"value":8443},"output",{"type":15,"value":170},{"type":9,"tag":24,"props":8446,"children":8447},{"className":26},[8448],{"type":15,"value":8449},"group",{"type":15,"value":8451}," nodes and VueFlow edge configuration\nare also available. Application data in ",{"type":9,"tag":24,"props":8453,"children":8454},{"className":26},[8455],{"type":15,"value":7797},{"type":15,"value":8457}," is retained.",{"type":9,"tag":45,"props":8459,"children":8462},{"className":8460,"code":8461,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"\u003Cform @submit=\"pipeline.save(form.graph)\">\n  \u003Cflow-editor id=\"pipeline-graph\" label=\"Pipeline graph\" name=\"graph\"\n               :value=\"pipeline.graph\" preserveKey=\"pipeline-graph\" \u002F>\n  \u003Cbutton type=\"submit\">Save\u003C\u002Fbutton>\n\u003C\u002Fform>\n",[8463],{"type":9,"tag":24,"props":8464,"children":8465},{"__ignoreMap":26},[8466],{"type":15,"value":8461},{"type":9,"tag":18,"props":8468,"children":8469},{},[8470,8472,8477,8479,8484,8485,8490,8491,8496,8497,8502,8504,8509,8511,8516],{"type":15,"value":8471},"The native textarea receives JSON immediately after graph edits. ",{"type":9,"tag":24,"props":8473,"children":8474},{"className":26},[8475],{"type":15,"value":8476},"flowchange",{"type":15,"value":8478}," bubbles ",{"type":9,"tag":24,"props":8480,"children":8481},{"className":26},[8482],{"type":15,"value":8483},"{graph}",{"type":15,"value":6002},{"type":9,"tag":24,"props":8486,"children":8487},{"className":26},[8488],{"type":15,"value":8489},"flowselect",{"type":15,"value":8478},{"type":9,"tag":24,"props":8492,"children":8493},{"className":26},[8494],{"type":15,"value":8495},"{kind,id,data}",{"type":15,"value":4848},{"type":9,"tag":24,"props":8498,"children":8499},{"className":26},[8500],{"type":15,"value":8501},"flowconnect",{"type":15,"value":8503}," is cancelable and supplies ",{"type":9,"tag":24,"props":8505,"children":8506},{"className":26},[8507],{"type":15,"value":8508},"{connection}",{"type":15,"value":8510}," with\nVueFlow source\u002Ftarget and optional sourceHandle\u002FtargetHandle IDs. A consuming client handler calls\n",{"type":9,"tag":24,"props":8512,"children":8513},{"className":26},[8514],{"type":15,"value":8515},"event.preventDefault()",{"type":15,"value":8517}," synchronously when its domain rules reject the connection. The component\nadds accepted connections and suppresses duplicates. The application owns node creation, settings,\nvalidation, inspectors, automatic layout, persistence and pipeline execution.",{"type":9,"tag":18,"props":8519,"children":8520},{},[8521,8523,8528,8529,8534,8536,8540,8542,8546,8548,8552,8554,8558,8560,8565],{"type":15,"value":8522},"Fit and zoom use compact controls. The expandable node\u002Fconnection list provides native selection and\nFrom\u002FTo controls for keyboard connections. The list honors per-node ",{"type":9,"tag":24,"props":8524,"children":8525},{"className":26},[8526],{"type":15,"value":8527},"selectable",{"type":15,"value":170},{"type":9,"tag":24,"props":8530,"children":8531},{"className":26},[8532],{"type":15,"value":8533},"connectable",{"type":15,"value":8535},"\nflags, including when handling a choice that became unavailable. Canvas arrow keys move selected editable nodes; Remove\nselected performs explicit deletion, including edges attached to deleted nodes. Tab leaves the canvas.\n",{"type":9,"tag":24,"props":8537,"children":8538},{"className":26},[8539],{"type":15,"value":2918},{"type":15,"value":8541}," prevents editing while allowing selection and pan\u002Fzoom. ",{"type":9,"tag":24,"props":8543,"children":8544},{"className":26},[8545],{"type":15,"value":589},{"type":15,"value":8547}," disables interaction and\nexcludes the native form value; pending forms lock graph edits. Surrounding updates with the same\n",{"type":9,"tag":24,"props":8549,"children":8550},{"className":26},[8551],{"type":15,"value":2939},{"type":15,"value":8553}," retain draft positions, selection and viewport. Changed ",{"type":9,"tag":24,"props":8555,"children":8556},{"className":26},[8557],{"type":15,"value":851},{"type":15,"value":8559}," replaces the graph on the\nexisting canvas; native reset restores the latest supplied value. Optional ",{"type":9,"tag":24,"props":8561,"children":8562},{"className":26},[8563],{"type":15,"value":8564},"viewport:{x,y,zoom}",{"type":15,"value":8566}," is\nrestored, and edits include the current viewport. Removing the component disposes its Vue app and\nVueFlow store. Without scripts its labelled JSON textarea remains available.\nInvalid graph structure reveals that field and blocks native form submission; supplying a valid\nreplacement restores the canvas and form validation immediately.",{"type":9,"tag":18,"props":8568,"children":8569},{},[8570,8574,8576,8584,8586,8590,8591,8596,8597,8601,8602,8606,8608,8613],{"type":9,"tag":24,"props":8571,"children":8572},{"className":26},[8573],{"type":15,"value":2960},{"type":15,"value":8575}," uses ",{"type":9,"tag":83,"props":8577,"children":8581},{"href":8578,"rel":8579},"https:\u002F\u002Fwww.chartjs.org\u002F",[8580],"nofollow",[8582],{"type":15,"value":8583},"Chart.js",{"type":15,"value":8585}," directly. Supply a Kotlin ",{"type":9,"tag":24,"props":8587,"children":8588},{"className":26},[8589],{"type":15,"value":7400},{"type":15,"value":4052},{"type":9,"tag":24,"props":8592,"children":8593},{"className":26},[8594],{"type":15,"value":8595},"type",{"type":15,"value":4774},{"type":9,"tag":24,"props":8598,"children":8599},{"className":26},[8600],{"type":15,"value":7406},{"type":15,"value":163},{"type":9,"tag":24,"props":8603,"children":8604},{"className":26},[8605],{"type":15,"value":7412},{"type":15,"value":8607}," values and optional structured Chart.js ",{"type":9,"tag":24,"props":8609,"children":8610},{"className":26},[8611],{"type":15,"value":8612},"options",{"type":15,"value":8614},". Bar, line, scatter, bubble, pie,\ndoughnut, radar and polarArea charts are supported, including mixed dataset types, stacking and\ncustom axes. Numeric and object points retain their values. Category and linear axes use the\nbuilt-in scales. The component does not bundle a date adapter for time axes.",{"type":9,"tag":45,"props":8616,"children":8619},{"className":8617,"code":8618,"filename":-1,"highlights":-1,"language":108,"meta":26},[106],"\u003Cchart id=\"daily-visits\" label=\"Daily visits\" :config=\"analytics.chartConfig\"\n       :loading=\"analytics.loading\" :error=\"analytics.error\" preserveKey=\"daily-visits\" \u002F>\n",[8620],{"type":9,"tag":24,"props":8621,"children":8622},{"__ignoreMap":26},[8623],{"type":15,"value":8618},{"type":9,"tag":18,"props":8625,"children":8626},{},[8627,8629,8634,8635,8640,8642,8647,8649,8653],{"type":15,"value":8628},"The component resolves CSS colors, including ",{"type":9,"tag":24,"props":8630,"children":8631},{"className":26},[8632],{"type":15,"value":8633},"oklch()",{"type":15,"value":170},{"type":9,"tag":24,"props":8636,"children":8637},{"className":26},[8638],{"type":15,"value":8639},"color-mix()",{"type":15,"value":8641},", and typography into instance-local Chart.js options; explicit\ndataset colors and axis\u002Flegend options take priority. Container resizing and appearance changes\nrefresh the canvas without changing the application data. ",{"type":9,"tag":24,"props":8643,"children":8644},{"className":26},[8645],{"type":15,"value":8646},"--chart-height",{"type":15,"value":8648}," controls the dedicated\nresponsive container. Reduced-motion preferences disable animation. Chart options are Kotlin ",{"type":9,"tag":24,"props":8650,"children":8651},{"className":26},[8652],{"type":15,"value":7524},{"type":15,"value":8654}," objects with typed settings; callbacks or plugins supplied as executable strings are not evaluated.",{"type":9,"tag":18,"props":8656,"children":8657},{},[8658,8660,8665,8667,8672],{"type":15,"value":8659},"A named canvas is accompanied by View data, a server-rendered table that remains readable without\nscripts. Point actions provide keyboard access to the same ",{"type":9,"tag":24,"props":8661,"children":8662},{"className":26},[8663],{"type":15,"value":8664},"chartselect",{"type":15,"value":8666}," event as canvas clicks:\n",{"type":9,"tag":24,"props":8668,"children":8669},{"className":26},[8670],{"type":15,"value":8671},"{datasetIndex,index,label,value}",{"type":15,"value":8673},". Applications can use that event for drill-down or toast feedback.\nLoading, empty data and errors retain the chart footprint. Changed data updates the retained chart;\nchanged type replaces the Chart.js instance on the same canvas. Unmount destroys the instance and\nits listeners. Queries, result mapping, pagination and data transport belong to the consuming app.",{"type":9,"tag":18,"props":8675,"children":8676},{},[8677,8679,8684,8685,8690,8692,8697,8698,8703,8704,8708],{"type":15,"value":8678},"Dependency notices ship in ",{"type":9,"tag":24,"props":8680,"children":8681},{"className":26},[8682],{"type":15,"value":8683},"META-INF\u002Flicenses\u002Fbml-design\u002Fflow-editor.txt",{"type":15,"value":170},{"type":9,"tag":24,"props":8686,"children":8687},{"className":26},[8688],{"type":15,"value":8689},"chart.txt",{"type":15,"value":8691},". These engines\nare reached only by pages using their components; a consuming application needs no VueFlow, Vue\nor Chart.js npm installation. ",{"type":9,"tag":24,"props":8693,"children":8694},{"className":26},[8695],{"type":15,"value":8696},"\u002Fflows",{"type":15,"value":163},{"type":9,"tag":24,"props":8699,"children":8700},{"className":26},[8701],{"type":15,"value":8702},"\u002Fcharts",{"type":15,"value":170},{"type":9,"tag":24,"props":8705,"children":8706},{"className":26},[8707],{"type":15,"value":8328},{"type":15,"value":8709}," in the catalog show\nboth palettes, states and public authoring.",1793227349726]